HobbyProject/doc/LowLevel/UserManagement/UserManagementCreateAccount.svg
Im_Alpha 5887f4d06d Updated All diagrams for User Management
added factory within the designs for final inspections from group
2021-12-08 02:50:49 -08:00

1 line
132 KiB
XML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1797" height="3032"><desc>title%20Create%20User%20Record%0Aactor%20User%0Aparticipant%20Controller.cs%20%2390EE90%0Aparticipant%20RDSFactory%20%2326abff%0Aparticipant%20UserAccount%20%23CBC3E3%0Aparticipant%20SystemAccountManager%20%23ffffe0%0Aparticipant%20AccountService%20%23ff8b3d%0Aparticipant%20SqlDAO%20%23D3D3D3%0A%2F%2FSqlDAO%0Adatabase%20SqlServer(MariaDB)%20%2300FFFF%0A%0A%2F%2Factivate%20User%20%0Aactivate%20Controller.cs%20%2390EE90%0AUser-%3EController.cs%3A%20%2B%2BCreate%20new%20User%2B%2B%0A%0A%2F%2FRelatDSFactory%0AController.cs-%3ERDSFactory%3A%2B%2Bfactory%20%3D%20new%20RDSFactory()%2B%2B%0Aactivate%20RDSFactory%20%2326abff%0ARDSFactory-%3ERDSFactory%3A%2B%2BConstructor()%2B%2B%0AController.cs%3C--RDSFactory%3A%2B%2Breturn%20RDSFactory%2B%2B%0Adeactivate%20RDSFactory%0AController.cs-%3ESqlDAO%3A%2B%2BIDataSource%20factory.GetDataSource(string%20DbName%2C%20string%20connInfo)%2B%2B%0Aactivate%20SqlDAO%20%23D3D3D3%0ASqlDAO-%3ESqlDAO%3A%2B%2BConstructor(string%20connInfo)%2B%2B%0Agroup%20%23red%20Data%20Store%20Timed%20Out%20%23white%0ASqlDAO-%3ESqlDAO%3A%20%2B%2BCatch%20SqlException%2B%2B%0AController.cs%3C--SqlDAO%3A%2B%2Breturn%20%22Data%20Source%20Timed%20Out%22%2B%2B%0Aend%0Agroup%20%23blue%20Data%20Store%20Online%20%23white%0AController.cs%3C--SqlDAO%3A%20%2B%2Breturn%20SqlDAO%2B%2B%0Adeactivate%20SqlDAO%0A%0A%0A%2F%2F%20Create%20new%20Admin%0AController.cs-%3ESystemAccountManager%3A%2B%2B%20manager%20%3D%20new%20SystemAccountManager(IDataSource%20conn)%2B%2B%0Aactivate%20SystemAccountManager%20%23ffffe0%0ASystemAccountManager-%3ESystemAccountManager%3A%2B%2BConstructor(IDataSource%20conn)%2B%2B%0AController.cs%3C--SystemAccountManager%3A%2B%2B%20New%20SystemAccountManager%2B%2B%0Adeactivate%20SystemAccountManager%0A%0A%2F%2F%0Aactivate%20UserAccount%20%23CBC3E3%0AController.cs-%3EUserAccount%3A%2B%2B%20new%20UserAccount(string%20username%2C%5Cn%20string%20password%2C%5Cn%20string%20email%2C%5Cn%20DateTime%20RegistrationTimeStamp)%2B%2B%0AUserAccount-%3EUserAccount%3A%20%2B%2BConstructor(string%20username%2C%5Cn%20string%20password%2C%5Cn%20string%20email%2C%5Cn%20DateTime%20RegistrationTimeStamp)%2B%2B%0AController.cs%3C--UserAccount%3A%2B%2BNew%20UserAccount%2B%2B%0Adeactivate%20UserAccount%0A%2F%2F%0AController.cs-%3ESystemAccountManager%3A%2B%2Bmanager.CreateUserRecord(user%3AUserAccount)%2B%2B%0A%0A%2F%2Fcheck%20if%20there%20is%20an%20admin%20user%0Aactivate%20SystemAccountManager%20%23ffffe0%0ASystemAccountManager-%3ESqlDAO%3A%2B%2Bbool%20isAdmin(user%3AUserAccount)%2B%2B%0Aactivate%20SqlDAO%20%23D3D3D3%0ASqlDAO-%3ESqlServer(MariaDB)%3A%2B%2BSqlRead%20confirmAdmin()%2B%2B%0Aactivate%20SqlServer(MariaDB)%2300FFFF%0A%2F%2Fauthorized%0ASqlServer(MariaDB)-%3ESqlServer(MariaDB)%3A%2B%2BSelect%20*%20from%20Admins%5Cn%20where%20Username%20%3D%20%40UserName%20%5Cnand%20Password%20%3D%20%40Pwd%2B%2B%0A%2F%2FUnauthorized%20role%20section%0Agroup%20%23red%20Unauthorized%20User%20%23white%0ASqlDAO%3C--SqlServer(MariaDB)%3A%2B%2BSqlException%2B%2B%0ASqlDAO-%3ESqlDAO%3A%20%20%20%20%20%20%2B%2BCatch%5CnSqlException%2B%2B%0ASystemAccountManager%3C--SqlDAO%3A%2B%2Breturn%20false%2B%2B%0AController.cs%3C--SystemAccountManager%3A%2B%2B%20return%20%22Access%20Denied%3A%20%5CnUnauthorized%22%2B%2B%0AUser%3C--Controller.cs%3A%2B%2Breturn%20%22Access%20Denied%3A%20%5CnUnauthorized%22%2B%2B%0Aend%0A%2F%2FUnauthorized%20role%20section%0Agroup%20%23red%20Unauthorized%20User%20%23white%0ASqlDAO%3C--SqlServer(MariaDB)%3A%2B%2Breturn%20false%2B%2B%0ASystemAccountManager%3C--SqlDAO%3A%2B%2Breturn%20false%2B%2B%0AController.cs%3C--SystemAccountManager%3A%2B%2B%20return%20%22Access%20Denied%3A%20%5CnUnauthorized%22%2B%2B%0AUser%3C--Controller.cs%3A%2B%2Breturn%20%22Access%20Denied%3A%20%5CnUnauthorized%22%2B%2B%0Aend%0A%0A%0A%2F%2FAuthorized%20role%20section%0Agroup%20%23blue%20Authorized%20User%20%23white%0ASqlDAO%3C--SqlServer(MariaDB)%3A%2B%2Breturn%20true%2B%2B%0Adeactivate%20SqlServer(MariaDB)%0ASystemAccountManager%3C--SqlDAO%3A%2B%2Breturn%20true%2B%2B%0Adeactivate%20SqlDAO%0Adeactivate%20SystemAccountManager%0Aactivate%20SystemAccountManager%20%23ffffe0%0ASystemAccountManager-%3ESystemAccountManager%3A%2B%2BisInputValid(user%3A%20UserAccount)%2B%2B%0A%0Agroup%20%23red%20Invalid%20Information%20%23white%0AController.cs%3C--SystemAccountManager%3A%2B%2Breturn%20%22Invalid%20input%22%2B%2B%0AUser%3C--Controller.cs%3A%2B%2B%20return%20%22Invalid%20input%22%2B%2B%0Adeactivate%20SystemAccountManager%0Aend%0Agroup%20%23green%20Valid%20Information%20%23white%0Aactivate%20SystemAccountManager%20%23ffffe0%0ASystemAccountManager-%3EAccountService%3A%2B%2BAccountService%5Cn.CreateUserRecord(user%3AUserAccount)%2B%2B%0Aactivate%20AccountService%20%09%23ff8b3d%0AAccountService-%3ESqlDAO%3A%2B%2BSqlDAO%5Cn.CreateUserRecord(user%3AUserAccount)%2B%2B%0Aactivate%20SqlDAO%20%23D3D3D3%0ASqlDAO-%3ESqlServer(MariaDB)%3A%2B%2BSqlRead%20%5CnisUser(user%3AUserAccount)%2B%2B%0Aactivate%20SqlServer(MariaDB)%20%2300FFFF%0ASqlServer(MariaDB)-%3ESqlServer(MariaDB)%3A%2B%2B%20Select%20*%5CnFrom%20Users%5Cnwhere%20Username%5Cn%3D%20%40UserName%20OR%5Cnemail%20%3D%20%40Email%2B%2B%0Agroup%20%23red%20data%20store%20timed%20out%20%23white%0ASqlDAO%3C--SqlServer(MariaDB)%3A%2B%2BSqlException%2B%2B%0Adeactivate%20SqlServer(MariaDB)%0ASqlDAO-%3ESqlDAO%3A%20%20%20%20%20%20%2B%2BCatch%5CnSqlException%2B%2B%0AAccountService%3C--SqlDAO%3A%2B%2Breturn%20%22Database%20timed%20out%22%2B%2B%0A%0ASystemAccountManager%3C--AccountService%3A%2B%2B%20return%20%22Database%20timed%20out%22%2B%2B%0AController.cs%3C--SystemAccountManager%3A%2B%2B%20return%20%22Database%20timed%20out%22%2B%2B%0AUser%3C--Controller.cs%3A%2B%2B%20return%20%22Database%20timed%20out%22%2B%2B%0Aend%0Agroup%20%23blue%20data%20store%20is%20online%20%23white%0A%2F%2F%20User%20exists%0Agroup%20%23green%20User%20does%20exist%20%23white%0Aactivate%20SqlServer(MariaDB)%20%2300FFFF%0ASqlDAO%3C--SqlServer(MariaDB)%3A%2B%2B%20return%20True%2B%2B%0AAccountService%3C--SqlDAO%3A%2B%2Breturn%20%22User%20is%20already%20registered%22%2B%2B%0ASystemAccountManager%3C--AccountService%3A%2B%2Breturn%20%22User%20is%20already%20registered%22%2B%2B%0AController.cs%3C--SystemAccountManager%3A%2B%2Breturn%20%22User%20is%20already%20registered%22%2B%2B%0AUser%3C--Controller.cs%3A%2B%2B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20%5Cn%22User%20is%20already%20registered%22%2B%2B%0Adeactivate%20SqlServer(MariaDB)%0Aend%20%0A%2F%2F%20User%20doesn't%20exist%0Agroup%20%23green%20User%20does%20not%20exist%20%23white%0Aactivate%20SqlServer(MariaDB)%20%2300FFFF%0ASqlDAO%3C--SqlServer(MariaDB)%3A%2B%2B%20return%20False%2B%2B%0ASqlDAO-%3ESqlServer(MariaDB)%3A%2B%2B%20SQL%20insert%5Cnuser%20credentials%2B%2B%0ASqlDAO%3C--SqlServer(MariaDB)%3A%2B%2B%20return%201%2B%2B%0AAccountService%3C--SqlDAO%3A%2B%2Breturn%20%22User%20is%20now%20registered%22%2B%2B%0ASystemAccountManager%3C--AccountService%3A%2B%2Breturn%20%22User%20is%20now%20registered%22%2B%2B%0AController.cs%3C--SystemAccountManager%3A%2B%2Breturn%20%22User%20is%20now%20registered%22%2B%2B%0AUser%3C--Controller.cs%3A%2B%2B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20%5Cn%22User%20is%20now%20registered%22%2B%2B%0Adeactivate%20AccountService%0Adeactivate%20SqlDAO%0Adeactivate%20SqlServer(MariaDB)%0Adeactivate%20SystemAccountManager%0Adeactivate%20Controller.cs%0Aend%0A%2F%2Fdeactivate%20User%0Aend%0Aend%0Aend%0Aend%0Aend</desc><defs/><g><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g><rect fill="white" stroke="none" x="0" y="0" width="1797" height="3032"/></g><g><text fill="black" stroke="none" font-family="sans-serif" font-size="12pt" font-style="normal" font-weight="normal" text-decoration="normal" x="827.7560274220704" y="16.96348035" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Create User Record</text></g><g><rect fill="rgb(255,204,204)" stroke="none" x="247.3395772603516" y="348.882245865" width="1266.8325153085937" height="114.44694742799999"/><rect fill="rgb(204,204,255)" stroke="none" x="11.308986900000008" y="480.292673643" width="1775.1675185441406" height="2513.0830689180007"/><rect fill="rgb(255,204,204)" stroke="none" x="56.544934500000025" y="1044.1587604770002" width="1549.8005598925781" height="258.97580000999983"/><rect fill="rgb(255,204,204)" stroke="none" x="56.544934500000025" y="1320.098040837" width="1549.8005598925781" height="196.09783284599985"/><rect fill="rgb(204,204,255)" stroke="none" x="22.617973800000016" y="1533.159354033" width="1689.792594838086" height="1443.2529081780008"/><rect fill="rgb(255,204,204)" stroke="none" x="56.544934500000025" y="1682.211801375" width="835.145149903711" height="99.74526445800007"/><rect fill="rgb(204,230,204)" stroke="none" x="33.92696070000002" y="1798.9205461830002" width="1667.174621038086" height="1160.5282356780008"/><rect fill="rgb(255,204,204)" stroke="none" x="56.544934500000025" y="2077.573983399" width="1549.8005598925781" height="266.43973136400064"/><rect fill="rgb(204,204,255)" stroke="none" x="45.235947600000024" y="2360.9771951130006" width="1572.4185336925782" height="581.5081063980006"/><rect fill="rgb(204,230,204)" stroke="none" x="56.544934500000025" y="2391.5114597430006" width="1549.8005598925781" height="217.13254848000042"/><rect fill="rgb(204,230,204)" stroke="none" x="56.544934500000025" y="2625.607488573001" width="1549.8005598925781" height="299.91433258800043"/></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 96.12638865000002 89.227906641 L 96.12638865000002 3032.9571967110005" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray="8.699220692307692,3.7696623000000002"/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 292.5755248603516 89.227906641 L 292.5755248603516 3032.9571967110005" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray="8.699220692307692,3.7696623000000002"/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 492.30415452070315 89.227906641 L 492.30415452070315 3032.9571967110005" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray="8.699220692307692,3.7696623000000002"/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 620.422946016211 89.227906641 L 620.422946016211 3032.9571967110005" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray="8.699220692307692,3.7696623000000002"/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 852.108630253711 89.227906641 L 852.108630253711 3032.9571967110005" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray="8.699220692307692,3.7696623000000002"/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1114.093470241211 89.227906641 L 1114.093470241211 3032.9571967110005" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray="8.699220692307692,3.7696623000000002"/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1376.078310228711 89.227906641 L 1376.078310228711 3032.9571967110005" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray="8.699220692307692,3.7696623000000002"/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1566.7640402425782 89.227906641 L 1566.7640402425782 3032.9571967110005" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray="8.699220692307692,3.7696623000000002"/></g><g><g><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 102.57251118300002 41.390892054 A 6.446122533 6.446122533 0 1 1 102.57250795993903 41.38444593254135 M 96.12638865000002 47.837014587 L 96.12638865000002 61.633978604999996 M 87.98391808200003 52.812968823 L 104.26885921800002 52.812968823 M 96.12638865000002 61.633978604999996 L 87.98391808200003 74.526223671 M 96.12638865000002 61.633978604999996 L 104.26885921800002 74.526223671" stroke-miterlimit="10" stroke-width="1.9225277730000003" stroke-dasharray=""/></g><g><g/><text fill="black" stroke="none" font-family="sans-serif" font-size="8pt" font-style="normal" font-weight="normal" text-decoration="normal" x="84.87303171640627" y="85.835210571" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">User</text></g><path fill="none" stroke="none"/><g><path fill="#90EE90" stroke="black" paint-order="fill stroke markers" d=" M 250.68324190832425 58.693642011 L 334.46780781237896 58.693642011 L 334.46780781237896 89.227906641 L 250.68324190832425 89.227906641 L 250.68324190832425 58.693642011 Z" stroke-miterlimit="10" stroke-width="1.8094379040000002" stroke-dasharray=""/></g><g><g/><text fill="black" stroke="none" font-family="sans-serif" font-size="8pt" font-style="normal" font-weight="normal" text-decoration="normal" x="262.95349269482426" y="77.918919741" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Controller.cs</text></g><path fill="none" stroke="none"/><g><path fill="#26abff" stroke="black" paint-order="fill stroke markers" d=" M 451.010435716625 58.693642011 L 533.5978733247813 58.693642011 L 533.5978733247813 89.227906641 L 451.010435716625 89.227906641 L 451.010435716625 58.693642011 Z" stroke-miterlimit="10" stroke-width="1.8094379040000002" stroke-dasharray=""/></g><g><g/><text fill="black" stroke="none" font-family="sans-serif" font-size="8pt" font-style="normal" font-weight="normal" text-decoration="normal" x="463.280686503125" y="77.918919741" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">RDSFactory</text></g><path fill="none" stroke="none"/><g><path fill="#CBC3E3" stroke="black" paint-order="fill stroke markers" d=" M 577.6405873805899 58.693642011 L 663.2053046518321 58.693642011 L 663.2053046518321 89.227906641 L 577.6405873805899 89.227906641 L 577.6405873805899 58.693642011 Z" stroke-miterlimit="10" stroke-width="1.8094379040000002" stroke-dasharray=""/></g><g><g/><text fill="black" stroke="none" font-family="sans-serif" font-size="8pt" font-style="normal" font-weight="normal" text-decoration="normal" x="589.9108381670899" y="77.918919741" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">UserAccount</text></g><path fill="none" stroke="none"/><g><path fill="#ffffe0" stroke="black" paint-order="fill stroke markers" d=" M 781.7732396967032 58.693642011 L 922.4440208107188 58.693642011 L 922.4440208107188 89.227906641 L 781.7732396967032 89.227906641 L 781.7732396967032 58.693642011 Z" stroke-miterlimit="10" stroke-width="1.8094379040000002" stroke-dasharray=""/></g><g><g/><text fill="black" stroke="none" font-family="sans-serif" font-size="8pt" font-style="normal" font-weight="normal" text-decoration="normal" x="794.0434904832032" y="77.918919741" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">SystemAccountManager</text></g><path fill="none" stroke="none"/><g><path fill="#ff8b3d" stroke="black" paint-order="fill stroke markers" d=" M 1064.7917710904533 58.693642011 L 1163.395169391969 58.693642011 L 1163.395169391969 89.227906641 L 1064.7917710904533 89.227906641 L 1064.7917710904533 58.693642011 Z" stroke-miterlimit="10" stroke-width="1.8094379040000002" stroke-dasharray=""/></g><g><g/><text fill="black" stroke="none" font-family="sans-serif" font-size="8pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1077.0620218769532" y="77.918919741" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">AccountService</text></g><path fill="none" stroke="none"/><g><path fill="#D3D3D3" stroke="black" paint-order="fill stroke markers" d=" M 1344.5545041443595 58.693642011 L 1407.6021163130627 58.693642011 L 1407.6021163130627 89.227906641 L 1344.5545041443595 89.227906641 L 1344.5545041443595 58.693642011 Z" stroke-miterlimit="10" stroke-width="1.8094379040000002" stroke-dasharray=""/></g><g><g/><text fill="black" stroke="none" font-family="sans-serif" font-size="8pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1356.8247549308594" y="77.918919741" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">SqlDAO</text></g><g><path fill="#00FFFF" stroke="black" paint-order="fill stroke markers" d=" M 1550.2529193685782 67.062292317 L 1550.2529193685782 43.313419827 L 1583.2751611165781 43.313419827 L 1583.2751611165781 67.062292317" stroke-miterlimit="10" stroke-width="1.9225277730000003" stroke-dasharray=""/><path fill="#00FFFF" stroke="black" paint-order="fill stroke markers" d=" M 1583.2751611165781 42.4878637833 L 1583.274335567414 42.56250185285766 L 1583.271859002476 42.637132458670564 L 1583.2677316694185 42.71174813774032 L 1583.2619539809714 42.7863414285612 L 1583.2545265148985 42.86090487186629 L 1583.2454500139404 42.93543101137339 L 1583.2347253857397 43.009912394530645 L 1583.22235370275 43.084341573261824 L 1583.2083362021299 43.15871110471107 L 1583.1926742856172 43.233013551987206 L 1583.1753695193906 43.307241484907436 L 1583.1564236339125 43.381387480740315 L 1583.1358385237554 43.455444124948045 L 1583.1136162474133 43.52940401192793 L 1583.0897590270954 43.6032597457529 L 1583.0642692485037 43.67700394091112 L 1583.037149460595 43.75062922304453 L 1583.0084023753254 43.82412822968625 L 1582.9780308673794 43.8974936109969 L 1582.9460379738825 43.970718030499455 L 1582.9124268940973 44.043794165813004 L 1582.877200989104 44.1167147093849 L 1582.8403637814638 44.18947236922157 L 1582.8019189548663 44.26205986961764 L 1582.7618703537628 44.33446995188357 L 1582.7202219829794 44.40669537507148 L 1582.6769780073187 44.47872891669923 L 1582.6321427511423 44.55056337347269 L 1582.5857206979385 44.62219156200605 L 1582.537716489874 44.69360631954013 L 1582.4881349273292 44.76480050465871 L 1582.4369809684192 44.83576699800258 L 1582.3842597284977 44.90649870298157 L 1582.329976479644 44.976988546484115 L 1582.2741366501386 45.0472294795846 L 1582.2167458239173 45.11721447824826 L 1582.157809740015 45.186936544033536 L 1582.097334291991 45.25638870479196 L 1582.0353255273399 45.32556401536533 L 1581.9717896468865 45.39445555828024 L 1581.9067330041655 45.46305644443981 L 1581.8401621047872 45.53135981381257 L 1581.7720836057863 45.599358836118526 L 1581.7025043149556 45.66704671151211 L 1581.6314311901663 45.73441667126217 L 1581.5588713386717 45.80146197842889 L 1581.4848320163965 45.86817592853742 L 1581.4093206272112 45.93455185024835 L 1581.332344722192 46.000583106024806 L 1581.2539119988646 46.06626309279625 L 1581.1740303004367 46.13158524261873 L 1581.0927076150115 46.196543023331714 L 1581.0099520747892 46.26112993921124 L 1580.9257719552554 46.325339531619555 L 1580.8401756743517 46.389165379650926 L 1580.753171791635 46.452601100773734 L 1580.6647690074208 46.51564035146873 L 1580.5749761619143 46.578276827863384 L 1580.4838022343247 46.64050426636224 L 1580.391256341969 46.702316444273315 L 1580.2973477393593 46.76370718043033 L 1580.2020858172777 46.824670335810815 L 1580.1054801018372 46.88519981415005 L 1580.0075402535283 46.94528956255063 L 1579.9082760662548 47.00493357208779 L 1579.8076974663522 47.064125878410294 L 1579.7058145115968 47.12286056233682 L 1579.6026373901996 47.181131750447925 L 1579.4981764197862 47.23893361567336 L 1579.3924420463668 47.29626037787477 L 1579.2854448432909 47.353106304423704 L 1579.1771955101892 47.40946571077489 L 1579.067704871905 47.46533296103464 L 1578.956983877411 47.5207024685245 L 1578.8450435987143 47.57556869633985 L 1578.7318952297492 47.62992615790364 L 1578.6175500852587 47.683769417515 L 1578.502019599662 47.737093090892856 L 1578.3853153259108 47.78989184571429 L 1578.267448934336 47.842160402147826 L 1578.148432211478 47.89389353338137 L 1578.0282770589101 47.945086066144924 L 1577.9069954920474 47.995732881227866 L 1577.7845996389456 48.04582891399088 L 1577.6611017390878 48.09536915487246 L 1577.5365141421614 48.14434864988978 L 1577.410849306822 48.19276250113416 L 1577.2841197994483 48.240605867260825 L 1577.1563382928857 48.287873963973034 L 1577.0275175651784 48.3345620645005 L 1576.8976704982917 48.38066550007208 L 1576.766810076824 48.42617966038263 L 1576.6349493867085 48.47109999405406 L 1576.5021016139044 48.515422009090415 L 1576.3682800430781 48.55914127332715 L 1576.2334980562753 48.602253414874255 L 1576.0977691315823 48.644754122553515 L 1575.9611068417785 48.686639146329576 L 1575.823524852979 48.72790429773496 L 1575.685036923268 48.76854545028892 L 1575.545656901323 48.80855853991007 L 1575.4053987250302 48.847939565322775 L 1575.2642764200903 48.88668458845733 L 1575.122304098616 48.9247897348437 L 1574.9794959577214 48.962251193999 L 1574.8358662781013 48.99906521980854 L 1574.6914294226044 49.03522813090041 L 1574.5461998347955 49.07073631101364 L 1574.4001920375124 49.10558620935981 L 1574.2534206314135 49.139774340978114 L 1574.1059002935167 49.1732972870839 L 1573.957645775733 49.20615169541048 L 1573.8086719033906 49.23833428054441 L 1573.6589935737527 49.26984182425398 L 1573.5086257545274 49.30067117581109 L 1573.3575834823714 49.33081925230627 L 1573.205881861386 49.360283038956986 L 1573.053536061607 49.389059589409136 L 1572.9005613174872 49.41714602603166 L 1572.7469729263737 49.44453954020428 L 1572.5927862469775 49.47123739259843 L 1572.4380166978383 49.49723691345111 L 1572.2826797557818 49.52253550283189 L 1572.1267909543728 49.547130630902934 L 1571.9703658823616 49.57101983817192 L 1571.8134201821251 49.59420073573802 L 1571.6559695481023 49.61667100553081 L 1571.4980297252257 49.63842840054203 L 1571.3396165073457 49.659470745050314 L 1571.1807457356522 49.67979593483874 L 1571.02143329709 49.69940193740526 L 1570.86169512277 49.71828679216597 L 1570.701547186377 49.73644861065113 L 1570.5410055025704 49.75388557669402 L 1570.3800861253856 49.770595946612566 L 1570.218805146626 49.78657804938371 L 1570.0571786942546 49.80183028681048 L 1569.8952229307824 49.81635113368185 L 1569.732954051651 49.83013913792524 L 1569.5703882836124 49.843192920751704 L 1569.4075418831085 49.85551117679385 L 1569.2444311346435 49.867092674236325 L 1569.081072349156 49.877936254939044 L 1568.917481862389 49.88804083455298 L 1568.7536760332546 49.89740540262858 L 1568.5896712421988 49.906029022716844 L 1568.4254838895647 49.91391083246295 L 1568.2611303939502 49.92105004369249 L 1568.0966271905684 49.927445942490294 L 1567.9319907296021 49.933097889271814 L 1567.7672374745605 49.938005318847075 L 1567.6023839006316 49.94216774047721 L 1567.4374464930356 49.945584737923525 L 1567.2724417453755 49.948255969489125 L 1567.1073861579891 49.950181168053085 L 1566.9422962362971 49.95136014109714 L 1566.7771884891542 49.95179277072498 L 1566.6120794271978 49.951479013673996 L 1566.4469855611962 49.95041890131963 L 1566.2819234003985 49.94861253967224 L 1566.1169094508832 49.946060109366485 L 1565.951960213908 49.94276186564326 L 1565.7870921842589 49.9387181383242 L 1565.6223218486014 49.93392933177866 L 1565.457665683832 49.928395924883304 L 1565.2931401554297 49.92211847097422 L 1565.1287617158102 49.91509759779155 L 1564.9645468026808 49.90733400741678 L 1564.800511837396 49.89882847620247 L 1564.6366732233153 49.88958185469465 L 1564.473047344164 49.87959506754777 L 1564.309650562393 49.86886911343221 L 1564.1464992175447 49.85740506493447 L 1563.9836096246179 49.84520406844982 L 1563.8209980724357 49.83226734406775 L 1563.658680822018 49.81859618544993 L 1563.4966741049545 49.80419195970081 L 1563.334994121782 49.78905610723098 L 1563.1736570403643 49.77319014161305 L 1563.0126789942747 49.75659564943038 L 1562.8520760811837 49.73927429011835 L 1562.691864361249 49.72122779579846 L 1562.5320598555088 49.70245797110511 L 1562.3726785442807 49.68296669300511 L 1562.2137363655631 49.66275591061005 L 1562.0552492134414 49.64182764498131 L 1561.8972329364983 49.62018398892803 L 1561.7397033362304 49.59782710679775 L 1561.5826761654662 49.57475923426008 L 1561.4261671267918 49.55098267808304 L 1561.2701918709809 49.52649981590243 L 1561.1147659954288 49.501313095984074 L 1560.9599050425936 49.47542503697897 L 1560.8056244984418 49.448838227671445 L 1560.6519397908992 49.42155532672028 L 1560.4988662883084 49.39357906239283 L 1560.3464192978918 49.36491223229221 L 1560.194614064222 49.33555770307755 L 1560.0434657676951 49.3055184101773 L 1559.8929895230156 49.27479735749572 L 1559.7432003776821 49.243397617112485 L 1559.5941133104843 49.21132232897546 L 1559.4457432300048 49.178574700586736 L 1559.2981049731281 49.145158006681854 L 1559.1512133035567 49.11107558890235 L 1559.0050829103352 49.07633085546163 L 1558.8597284063812 49.04092728080405 L 1558.715164327024 49.0048684052576 L 1558.5714051285509 48.96815783467976 L 1558.428465186762 48.930799240097016 L 1558.2863587955324 48.89279635733769 L 1558.1451001653827 48.85415298665838 L 1558.0047034220584 48.81487299236396 L 1557.8651826051166 48.77496030242112 L 1557.726551666523 48.7344189080656 L 1557.5888244692558 48.69325286340305 L 1557.4520147859198 48.651466285003636 L 1557.3161362973697 48.60906335149036 L 1557.1812025913407 48.56604830312125 L 1557.047227161091 48.5224254413653 L 1556.9142234040526 48.478199128472326 L 1556.7822046204894 48.43337378703676 L 1556.6511840121707 48.3879538995554 L 1556.5211746810473 48.34194400797914 L 1556.3921896279446 48.29534871325879 L 1556.2642417512602 48.248172674885005 L 1556.1373438456749 48.2004206104223 L 1556.0115086008739 48.15209729503733 L 1555.8867486002766 48.103207561021364 L 1555.7630763197792 48.05375629730707 L 1555.6405041265066 48.0037484489796 L 1555.519044277576 47.95318901678212 L 1555.3987089188713 47.90208305661571 L 1555.2795100838277 47.8504356790338 L 1555.1614596922298 47.79825204873112 L 1555.0445695490178 47.7455373840272 L 1554.928851343109 47.69229695634459 L 1554.8143166462278 47.638536089681686 L 1554.700976911748 47.58426016008036 L 1554.5888434735489 47.52947459508834 L 1554.4779275448805 47.474184873216466 L 1554.3682402172435 47.418396523390854 L 1554.2597924592794 47.3621151244 L 1554.1525951156734 47.305346304336894 L 1554.0466589060707 47.24809574003624 L 1553.9419944240035 47.19036915650676 L 1553.8386121358335 47.132172326358706 L 1553.7365223797028 47.07351106922658 L 1553.6357353645024 47.014391251187234 L 1553.5362611688495 46.954818784173185 L 1553.4381097400808 46.894799625381495 L 1553.3412908932576 46.83433977667804 L 1553.2458143101835 46.77344528399729 L 1553.1516895384375 46.712122236737784 L 1553.0589259904184 46.65037676715313 L 1552.9675329424037 46.58821504973885 L 1552.877519533622 46.52564330061487 L 1552.7888947653391 46.46266777690396 L 1552.701667499958 46.39929477610602 L 1552.6158464601324 46.33553063546831 L 1552.531440227895 46.27138173135177 L 1552.4484572437987 46.206854478593336 L 1552.3669058060725 46.14195532986452 L 1552.2867940697927 46.07669077502612 L 1552.2081300460657 46.01106734047923 L 1552.1309216012282 45.94509158851261 L 1552.055176456061 45.87877011664648 L 1551.9809021850149 45.812109556972764 L 1551.9081062154553 45.74511657549188 L 1551.8367958269184 45.67779787144614 L 1551.766978150384 45.610160176649856 L 1551.6986601675612 45.54221025481614 L 1551.6318487101914 45.47395490088056 L 1551.5665504593649 45.40540094032161 L 1551.502771944852 45.33655522847825 L 1551.4405195444513 45.26742464986426 L 1551.3797994833508 45.19801611747991 L 1551.320617833506 45.12833657212059 L 1551.2629805130327 45.05839298168278 L 1551.2068932856148 44.98819234046723 L 1551.1523617599285 44.917741668479565 L 1551.0993913890807 44.84704801072827 L 1551.0479874700643 44.776118436520214 L 1550.9981551432286 44.70496003875371 L 1550.9498993917646 44.633579933209234 L 1550.9032250412074 44.56198525783786 L 1550.858136758953 44.49018317204746 L 1550.8146390537918 44.418180855986776 L 1550.7727362754586 44.34598550982742 L 1550.7324326141961 44.273604353043844 L 1550.6937321003368 44.201044623691395 L 1550.6566386038999 44.12831357768256 L 1550.6211558342038 44.05541848806132 L 1550.5872873394965 43.9823666442759 L 1550.5550365065988 43.90916535144979 L 1550.524406560567 43.83582192965129 L 1550.4954005643708 43.76234371316144 L 1550.468021418585 43.68873804974067 L 1550.4422718611017 43.61501229989398 L 1550.4181544668552 43.541173836134924 L 1550.3956716475648 43.46723004224833 L 1550.3748256514934 43.393188312551985 L 1550.3556185632237 43.31905605115715 L 1550.3380523034482 43.24484067122818 L 1550.3221286287783 43.17054959424124 L 1550.3078491315682 43.0961902492421 L 1550.2952152397559 43.0217700721033 L 1550.2842282167198 42.947296504780546 L 1550.2748891611534 42.872776994568504 L 1550.267199006954 42.798218993356095 L 1550.2611585231307 42.723629956881304 L 1550.2567683137272 42.649017343985626 L 1550.2540288177606 42.57438861586818 L 1550.252940309178 42.49975123533958 L 1550.2535028968298 42.42511266607568 L 1550.2557165244573 42.35048037187121 L 1550.2595809706995 42.27586181589339 L 1550.2650958491156 42.20126445993566 L 1550.2722606082218 42.12669576367142 L 1550.2810745315483 42.05216318390817 L 1550.2915367377102 41.977674173841784 L 1550.3036461804954 41.90323618231118 L 1550.31740164897 41.8288566530535 L 1550.3328017675985 41.75454302395966 L 1550.3498449963818 41.680302726330666 L 1550.3685296310111 41.606143184134396 L 1550.388853803039 41.53207181326328 L 1550.4108154800647 41.45809602079268 L 1550.434412465939 41.384223204240186 L 1550.459642400983 41.31046075082591 L 1550.4865027622243 41.23681603673371 L 1550.514990863649 41.163296426373634 L 1550.5451038564709 41.08990927164544 L 1550.5768387294156 41.016661911203464 L 1550.6101923090223 40.94356166972269 L 1550.6451612599608 40.87061585716637 L 1550.6817420853652 40.797831768054955 L 1550.7199311271836 40.72521668073671 L 1550.7597245665434 40.65277785665985 L 1550.8011184241338 40.580522539646424 L 1550.844108560604 40.50845795516792 L 1550.8886906769753 40.43659130962273 L 1550.9348603150743 40.364929789615516 L 1550.9826128579748 40.29348056123857 L 1551.0319435304625 40.22225076935518 L 1551.0828473995116 40.15124753688518 L 1551.1353193747773 40.080477964092644 L 1551.189354209106 40.009949127875885 L 1551.244946499059 39.93966808105974 L 1551.302090685454 39.86964185169034 L 1551.3607810539197 39.79987744233225 L 1551.4210117354683 39.73038182936828 L 1551.482776707082 39.661161962301804 L 1551.5460697923145 39.59222476306186 L 1551.6108846619106 39.5235771253109 L 1551.6772148344373 39.45522591375552 L 1551.7450536769322 39.387177963459905 L 1551.8143944055682 39.31944007916237 L 1551.8852300863298 39.25201903459491 L 1551.957553635708 39.18492157180579 L 1552.0313578214082 39.11815440048538 L 1552.1066352630735 39.051724197295165 L 1552.183378433022 38.98563760520011 L 1552.2615796570012 38.919901232804364 L 1552.3412311149534 38.85452165369036 L 1552.4223248417995 38.78950540576155 L 1552.5048527282343 38.72485899058854 L 1552.588806521538 38.66058887275897 L 1552.6741778264009 38.59670147923107 L 1552.760958105764 38.533203198690956 L 1552.8491386816718 38.47010038091376 L 1552.9387107361397 38.40739933612868 L 1553.0296653120374 38.345106334387935 L 1553.1219933139828 38.2832276049398 L 1553.2156855092526 38.22176933560565 L 1553.3107325287056 38.160737672161204 L 1553.407124867719 38.10013871772194 L 1553.504852887139 38.039978532132814 L 1553.6039068142452 37.98026313136224 L 1553.7042767437276 37.920998486900544 L 1553.805952638677 37.86219052516278 L 1553.908924331588 37.80384512689611 L 1554.0131815253778 37.74596812659175 L 1554.1187137944137 37.688565311901485 L 1554.2255105855565 37.63164242305896 L 1554.3335612192163 37.57520515230563 L 1554.4428548904198 37.51925914332153 L 1554.5533806698909 37.46380999066093 L 1554.6651275051438 37.4088632391929 L 1554.778084221588 37.35442438354679 L 1554.892239523646 37.30049886756281 L 1555.0075819958827 37.24709208374762 L 1555.1241001041471 37.194209372735074 L 1555.2417821967254 37.14185602275223 L 1555.3606165055064 37.090037269090445 L 1555.4805911471585 37.038758293581914 L 1555.6016941243172 36.98802422408144 L 1555.7239133267858 36.93784013395371 L 1555.8472365327457 36.88821104156591 L 1555.9716514099796 36.839141909785916 L 1556.097145517103 36.79063764548602 L 1556.2237063048099 36.74270309905224 L 1556.3513211171269 36.695343063899266 L 1556.4799771926794 36.64856227599115 L 1556.6096616659665 36.602365413367686 L 1556.7403615686496 36.55675709567666 L 1556.872063830847 36.511741883711814 L 1557.0047552824424 36.46732427895685 L 1557.138422654401 36.423508723135214 L 1557.273052580097 36.38029959776599 L 1557.4086315966504 36.337701223725695 L 1557.545146146272 36.29571786081624 L 1557.682582577621 36.25435370733893 L 1557.8209271471685 36.21361289967464 L 1557.9601660205728 36.17349951187019 L 1558.100285274063 36.134017555230926 L 1558.2412708958304 36.095170977919615 L 1558.38310878743 36.05696366456162 L 1558.525784765191 36.01939943585643 L 1558.6692845616346 35.982482048195614 L 1558.8135938269008 35.94621519328718 L 1558.9586981301832 35.910602497786385 L 1559.1045829611724 35.875647522933114 L 1559.2512337315068 35.841353764195716 L 1559.3986357762317 35.80772465092149 L 1559.5467743552654 35.774763545993736 L 1559.6956346548734 35.74247374549548 L 1559.8452017891498 35.71085847837987 L 1559.995460801506 35.67992090614726 L 1560.1463966661659 35.6496641225291 L 1560.2979942896686 35.62009115317854 L 1560.4502385123783 35.591204955367864 L 1560.6031141099995 35.563008417692785 L 1560.7566057951 35.53550435978357 L 1560.910698218639 35.508695532023104 L 1561.0653759715026 35.482584615271804 L 1561.2206235860444 35.45717422059959 L 1561.3764255376325 35.43246688902477 L 1561.5327662462014 35.408465091259885 L 1561.6896300778103 35.38517122746473 L 1561.8470013462072 35.36258762700627 L 1562.0048643143964 35.34071654822573 L 1562.1632031962122 35.319560178212754 L 1562.3220021578986 35.29912063258673 L 1562.4812453196919 35.27939995528517 L 1562.6409167574086 35.26040011835938 L 1562.8010005040378 35.24212302177722 L 1562.9614805513381 35.22457049323312 L 1563.122340851439 35.20774428796529 L 1563.2835653184443 35.191646088580256 L 1563.4451378300416 35.176277504884524 L 1563.6070422291143 35.161640073723675 L 1563.7692623253577 35.14773525882862 L 1563.9317818968968 35.134564450669245 L 1564.0945846919105 35.122128966315415 L 1564.257654430255 35.11043004930519 L 1564.4209748050916 35.09946886952052 L 1564.5845294845196 35.08924652307026 L 1564.7483021132073 35.07976403218052 L 1564.912276314028 35.0710223450925 L 1565.0764356896984 35.063022335967624 L 1565.2407638244179 35.05576480480013 L 1565.4052442855098 35.04925047733709 L 1565.569860625065 35.04348000500582 L 1565.734596381587 35.03845396484875 L 1565.899435081637 35.034172859465706 L 1566.0643602414825 35.03063711696365 L 1566.2293553687452 35.0278470909139 L 1566.3944039640498 35.02580306031673 L 1566.559489522674 35.02450522957349 L 1566.7245955362 35.02395372846618 L 1566.8897054941638 35.02414861214445 L 1567.054802885707 35.025089861120094 L 1567.219871201228 35.026777381269 L 1567.3848939340332 35.02921100384056 L 1567.5498545819867 35.03239048547453 L 1567.714736649161 35.03631550822542 L 1567.8795236474868 35.04098567959421 L 1568.0441990984018 35.04640053256766 L 1568.208746534498 35.05255952566498 L 1568.3731495011689 35.05946204299201 L 1568.537391558255 35.067107394302745 L 1568.7014562816871 35.07549481506844 L 1568.86532726513 35.08462346655401 L 1569.0289881216215 35.0944924359019 L 1569.1924224852128 35.10510073622341 L 1569.3556140126032 35.116447306697346 L 1569.5185463847763 35.12853101267612 L 1569.6812033086308 35.14135064579919 L 1569.8435685186096 35.15490492411394 L 1570.005625778327 35.169192492203834 L 1570.167358882192 35.184211921323964 L 1570.3287516570292 35.199961709543935 L 1570.4897879636956 35.21644028189805 L 1570.6504516986947 35.233645990542804 L 1570.8107267957869 35.25157711492167 L 1570.9705972275958 35.27023186193716 L 1571.1300470072117 35.28960836613011 L 1571.2890601897896 35.30970468986625 L 1571.4476208741435 35.330518823529964 L 1571.6057132043372 35.35204868572521 L 1571.7633213712695 35.37429212348373 L 1571.920429614255 35.39724691248026 L 1572.0770222226004 35.42091075725506 L 1572.2330835371752 35.445281291443344 L 1572.388597951978 35.47035607801202 L 1572.543549915697 35.49613260950332 L 1572.6979239332647 35.52260830828558 L 1572.8517045674087 35.54978052681098 L 1573.004876440193 35.577646547880306 L 1573.157424234558 35.60620358491468 L 1573.309332695852 35.63544878223421 L 1573.4605866333548 35.6653792153435 L 1573.6111709217992 35.69599189122421 L 1573.7610705028812 35.72728374863425 L 1573.9102703867684 35.75925165841396 L 1574.058755653596 35.791892423799005 L 1574.2065114549619 35.825202780740035 L 1574.3535230154082 35.85917939822913 L 1574.499775633902 35.89381887863284 L 1574.645254685303 35.929117758032 L 1574.7899456218272 35.965072506568085 L 1574.9338339745018 36.001679528796195 L 1575.0769053546114 36.03893516404463 L 1575.2191454551373 36.076835686780896 L 1575.3605400521876 36.11537730698431 L 1575.5010750064207 36.15455617052496 L 1575.6407362644584 36.19436835954916 L 1575.779509860291 36.23480989287117 L 1575.917381916675 36.27587672637136 L 1576.054338646519 36.3175647534006 L 1576.1903663542646 36.35986980519094 L 1576.3254514372543 36.40278765127244 L 1576.4595803870923 36.44631399989626 L 1576.5927397909954 36.490444498463816 L 1576.7249163331344 36.53517473396202 L 1576.856096795965 36.580500233404614 L 1576.9862680615502 36.6264164642794 L 1577.115417112872 36.67291883500156 L 1577.2435310351327 36.720002695372784 L 1577.3705970170472 36.76766333704627 L 1577.496602352123 36.81589599399756 L 1577.6215344399318 36.86469584300116 L 1577.7453807873687 36.914058004112825 L 1577.868129009902 36.96397754115759 L 1577.9897668328122 37.01444946222334 L 1578.110282092418 37.06546872016004 L 1578.229662737294 37.117030213084405 L 1578.347896829475 37.16912878489011 L 1578.4649725456507 37.2217592257634 L 1578.5808781783467 37.27491627270403 L 1578.6956021370966 37.32859461005161 L 1578.8091329495999 37.382788870017144 L 1578.92145926287 37.43749363321979 L 1579.0325698443692 37.49270342922881 L 1579.142453583132 37.548412737110624 L 1579.2510994908762 37.604615985980864 L 1579.3584967031013 37.66130755556147 L 1579.4646344801756 37.718481776742735 L 1579.56950220841 37.77613293215018 L 1579.6730894011191 37.83425525671632 L 1579.7753856996699 37.89284293825712 L 1579.8763808745175 37.95189011805325 L 1579.976064826229 38.01139089143594 L 1580.074427586492 38.07133930837743 L 1580.1714593191127 38.131729374086 L 1580.2671503209986 38.19255504960538 L 1580.361491023129 38.253810252418724 L 1580.4544719915127 38.315488857056785 L 1580.54608392813 38.37758469571051 L 1580.6363176718637 38.44009155884777 L 1580.7251641994148 38.50300319583434 L 1580.8126146262045 38.56631331555895 L 1580.898660207263 38.63001558706239 L 1580.9832923381036 38.69410364017059 L 1581.066502555584 38.758571066131644 L 1581.148282538752 38.82341141825668 L 1581.2286241096772 38.88861821256452 L 1581.3075192342692 38.95418492843008 L 1581.3849600230817 39.0201050092364 L 1581.4609387321002 39.08637186303034 L 1581.5354477635171 39.15297886318174 L 1581.6084796664916 39.21991934904608 L 1581.6800271378938 39.28718662663057 L 1581.7500830230365 39.35477396926351 L 1581.8186403163895 39.42267461826696 L 1581.8856921622805 39.49088178363259 L 1581.9512318555808 39.55938864470071 L 1582.015252842376 39.6281883508423 L 1582.0777487206203 39.697274022144086 L 1582.1387132407783 39.766638750096504 L 1582.1981403064485 39.83627559828456 L 1582.2560239749741 39.90617760308147 L 1582.3123584580364 39.976337774345 L 1582.367138122234 40.04674909611649 L 1582.4203574896464 40.117404527322456 L 1582.472011238381 40.188297002478635 L 1582.5220942031056 40.2594194323966 L 1582.570601375566 40.33076470489262 L 1582.6175279050851 40.40232568549891 L 1582.6628690990494 40.474095218177034 L 1582.7066204233768 40.54606612603354 L 1582.7487775029717 40.61823121203761 L 1582.7893361221609 40.69058325974078 L 1582.8282922251167 40.76311503399858 L 1582.8656419162612 40.83581928169402 L 1582.901381460656 40.90868873246293 L 1582.9355072843769 40.98171609942094 L 1582.9680159748698 41.05489407989223 L 1582.9989042812927 41.12821535613972 L 1583.0281691148407 41.201672596096884 L 1583.0558075490549 41.27525845410095 L 1583.081816820115 41.34896557162743 L 1583.1061943271152 41.422786578026006 L 1583.1289376323255 41.496714091257545 L 1583.1500444614342 41.57074071863234 L 1583.169512703776 41.64485905754932 L 1583.1873404125429 41.71906169623638 L 1583.2035258049787 41.793341214491484 L 1583.2180672625577 41.867690184424696 L 1583.2309633311465 41.94210117120099 L 1583.242212721149 42.01656673378369 L 1583.2518143076352 42.0910794256786 L 1583.2597671304547 42.16563179567862 L 1583.2660703943318 42.24021638860887 L 1583.2707234689453 42.31482574607222 L 1583.2737258889917 42.3894524071951 L 1583.2750773542316 42.46408890937357 M 1583.2751611165781 66.2367362733 L 1583.274335567414 66.31137434285766 L 1583.271859002476 66.38600494867056 L 1583.2677316694185 66.46062062774031 L 1583.2619539809714 66.5352139185612 L 1583.2545265148985 66.60977736186629 L 1583.2454500139404 66.68430350137338 L 1583.2347253857397 66.75878488453064 L 1583.22235370275 66.83321406326182 L 1583.2083362021299 66.90758359471106 L 1583.1926742856172 66.98188604198721 L 1583.1753695193906 67.05611397490743 L 1583.1564236339125 67.13025997074031 L 1583.1358385237554 67.20431661494804 L 1583.1136162474133 67.27827650192793 L 1583.0897590270954 67.3521322357529 L 1583.0642692485037 67.42587643091112 L 1583.037149460595 67.49950171304452 L 1583.0084023753254 67.57300071968625 L 1582.9780308673794 67.64636610099689 L 1582.9460379738825 67.71959052049945 L 1582.9124268940973 67.792666655813 L 1582.877200989104 67.8655871993849 L 1582.8403637814638 67.93834485922156 L 1582.8019189548663 68.01093235961764 L 1582.7618703537628 68.08334244188357 L 1582.7202219829794 68.15556786507148 L 1582.6769780073187 68.22760140669924 L 1582.6321427511423 68.2994358634727 L 1582.5857206979385 68.37106405200605 L 1582.537716489874 68.44247880954013 L 1582.4881349273292 68.5136729946587 L 1582.4369809684192 68.58463948800258 L 1582.3842597284977 68.65537119298156 L 1582.329976479644 68.7258610364841 L 1582.2741366501386 68.7961019695846 L 1582.2167458239173 68.86608696824825 L 1582.157809740015 68.93580903403353 L 1582.097334291991 69.00526119479196 L 1582.0353255273399 69.07443650536533 L 1581.9717896468865 69.14332804828024 L 1581.9067330041655 69.2119289344398 L 1581.8401621047872 69.28023230381257 L 1581.7720836057863 69.34823132611852 L 1581.7025043149556 69.4159192015121 L 1581.6314311901663 69.48328916126216 L 1581.5588713386717 69.55033446842889 L 1581.4848320163965 69.61704841853742 L 1581.4093206272112 69.68342434024834 L 1581.332344722192 69.7494555960248 L 1581.2539119988646 69.81513558279624 L 1581.1740303004367 69.88045773261874 L 1581.0927076150115 69.94541551333171 L 1581.0099520747892 70.01000242921124 L 1580.9257719552554 70.07421202161954 L 1580.8401756743517 70.13803786965092 L 1580.753171791635 70.20147359077373 L 1580.6647690074208 70.26451284146873 L 1580.5749761619143 70.32714931786337 L 1580.4838022343247 70.38937675636224 L 1580.391256341969 70.45118893427332 L 1580.2973477393593 70.51257967043033 L 1580.2020858172777 70.57354282581082 L 1580.1054801018372 70.63407230415004 L 1580.0075402535283 70.69416205255062 L 1579.9082760662548 70.75380606208779 L 1579.8076974663522 70.81299836841029 L 1579.7058145115968 70.87173305233681 L 1579.6026373901996 70.93000424044791 L 1579.4981764197862 70.98780610567336 L 1579.3924420463668 71.04513286787477 L 1579.2854448432909 71.1019787944237 L 1579.1771955101892 71.15833820077488 L 1579.067704871905 71.21420545103463 L 1578.956983877411 71.26957495852449 L 1578.8450435987143 71.32444118633984 L 1578.7318952297492 71.37879864790364 L 1578.6175500852587 71.432641907515 L 1578.502019599662 71.48596558089285 L 1578.3853153259108 71.53876433571429 L 1578.267448934336 71.59103289214782 L 1578.148432211478 71.64276602338137 L 1578.0282770589101 71.69395855614492 L 1577.9069954920474 71.74460537122786 L 1577.7845996389456 71.79470140399089 L 1577.6611017390878 71.84424164487245 L 1577.5365141421614 71.89322113988977 L 1577.410849306822 71.94163499113415 L 1577.2841197994483 71.98947835726082 L 1577.1563382928857 72.03674645397304 L 1577.0275175651784 72.0834345545005 L 1576.8976704982917 72.12953799007208 L 1576.766810076824 72.17505215038263 L 1576.6349493867085 72.21997248405405 L 1576.5021016139044 72.26429449909041 L 1576.3682800430781 72.30801376332714 L 1576.2334980562753 72.35112590487425 L 1576.0977691315823 72.39362661255352 L 1575.9611068417785 72.43551163632958 L 1575.823524852979 72.47677678773496 L 1575.685036923268 72.51741794028892 L 1575.545656901323 72.55743102991006 L 1575.4053987250302 72.59681205532277 L 1575.2642764200903 72.63555707845732 L 1575.122304098616 72.6736622248437 L 1574.9794959577214 72.71112368399899 L 1574.8358662781013 72.74793770980854 L 1574.6914294226044 72.7841006209004 L 1574.5461998347955 72.81960880101363 L 1574.4001920375124 72.85445869935981 L 1574.2534206314135 72.88864683097812 L 1574.1059002935167 72.9221697770839 L 1573.957645775733 72.95502418541048 L 1573.8086719033906 72.9872067705444 L 1573.6589935737527 73.01871431425398 L 1573.5086257545274 73.04954366581109 L 1573.3575834823714 73.07969174230627 L 1573.205881861386 73.10915552895699 L 1573.053536061607 73.13793207940914 L 1572.9005613174872 73.16601851603166 L 1572.7469729263737 73.19341203020429 L 1572.5927862469775 73.22010988259842 L 1572.4380166978383 73.2461094034511 L 1572.2826797557818 73.2714079928319 L 1572.1267909543728 73.29600312090294 L 1571.9703658823616 73.31989232817192 L 1571.8134201821251 73.34307322573802 L 1571.6559695481023 73.36554349553082 L 1571.4980297252257 73.38730089054204 L 1571.3396165073457 73.40834323505031 L 1571.1807457356522 73.42866842483873 L 1571.02143329709 73.44827442740525 L 1570.86169512277 73.46715928216597 L 1570.701547186377 73.48532110065112 L 1570.5410055025704 73.50275806669401 L 1570.3800861253856 73.51946843661256 L 1570.218805146626 73.5354505393837 L 1570.0571786942546 73.55070277681047 L 1569.8952229307824 73.56522362368185 L 1569.732954051651 73.57901162792524 L 1569.5703882836124 73.5920654107517 L 1569.4075418831085 73.60438366679384 L 1569.2444311346435 73.61596516423633 L 1569.081072349156 73.62680874493904 L 1568.917481862389 73.63691332455298 L 1568.7536760332546 73.64627789262858 L 1568.5896712421988 73.65490151271683 L 1568.4254838895647 73.66278332246294 L 1568.2611303939502 73.66992253369249 L 1568.0966271905684 73.67631843249029 L 1567.9319907296021 73.6819703792718 L 1567.7672374745605 73.68687780884707 L 1567.6023839006316 73.6910402304772 L 1567.4374464930356 73.69445722792352 L 1567.2724417453755 73.69712845948912 L 1567.1073861579891 73.69905365805307 L 1566.9422962362971 73.70023263109714 L 1566.7771884891542 73.70066526072497 L 1566.6120794271978 73.70035150367399 L 1566.4469855611962 73.69929139131963 L 1566.2819234003985 73.69748502967224 L 1566.1169094508832 73.69493259936648 L 1565.951960213908 73.69163435564326 L 1565.7870921842589 73.6875906283242 L 1565.6223218486014 73.68280182177865 L 1565.457665683832 73.6772684148833 L 1565.2931401554297 73.67099096097421 L 1565.1287617158102 73.66397008779155 L 1564.9645468026808 73.65620649741678 L 1564.800511837396 73.64770096620246 L 1564.6366732233153 73.63845434469464 L 1564.473047344164 73.62846755754776 L 1564.309650562393 73.61774160343221 L 1564.1464992175447 73.60627755493447 L 1563.9836096246179 73.59407655844981 L 1563.8209980724357 73.58113983406776 L 1563.658680822018 73.56746867544993 L 1563.4966741049545 73.55306444970081 L 1563.334994121782 73.53792859723097 L 1563.1736570403643 73.52206263161304 L 1563.0126789942747 73.50546813943038 L 1562.8520760811837 73.48814678011834 L 1562.691864361249 73.47010028579847 L 1562.5320598555088 73.4513304611051 L 1562.3726785442807 73.43183918300511 L 1562.2137363655631 73.41162840061006 L 1562.0552492134414 73.39070013498132 L 1561.8972329364983 73.36905647892802 L 1561.7397033362304 73.34669959679775 L 1561.5826761654662 73.32363172426008 L 1561.4261671267918 73.29985516808304 L 1561.2701918709809 73.27537230590242 L 1561.1147659954288 73.25018558598407 L 1560.9599050425936 73.22429752697897 L 1560.8056244984418 73.19771071767144 L 1560.6519397908992 73.17042781672028 L 1560.4988662883084 73.14245155239283 L 1560.3464192978918 73.11378472229221 L 1560.194614064222 73.08443019307754 L 1560.0434657676951 73.0543909001773 L 1559.8929895230156 73.02366984749573 L 1559.7432003776821 72.99227010711249 L 1559.5941133104843 72.96019481897545 L 1559.4457432300048 72.92744719058673 L 1559.2981049731281 72.89403049668185 L 1559.1512133035567 72.85994807890235 L 1559.0050829103352 72.82520334546162 L 1558.8597284063812 72.78979977080405 L 1558.715164327024 72.7537408952576 L 1558.5714051285509 72.71703032467975 L 1558.428465186762 72.67967173009701 L 1558.2863587955324 72.64166884733768 L 1558.1451001653827 72.60302547665837 L 1558.0047034220584 72.56374548236396 L 1557.8651826051166 72.52383279242112 L 1557.726551666523 72.4832913980656 L 1557.5888244692558 72.44212535340304 L 1557.4520147859198 72.40033877500363 L 1557.3161362973697 72.35793584149036 L 1557.1812025913407 72.31492079312125 L 1557.047227161091 72.2712979313653 L 1556.9142234040526 72.22707161847232 L 1556.7822046204894 72.18224627703675 L 1556.6511840121707 72.1368263895554 L 1556.5211746810473 72.09081649797913 L 1556.3921896279446 72.04422120325879 L 1556.2642417512602 71.997045164885 L 1556.1373438456749 71.9492931004223 L 1556.0115086008739 71.90096978503733 L 1555.8867486002766 71.85208005102136 L 1555.7630763197792 71.80262878730707 L 1555.6405041265066 71.75262093897959 L 1555.519044277576 71.70206150678212 L 1555.3987089188713 71.6509555466157 L 1555.2795100838277 71.5993081690338 L 1555.1614596922298 71.54712453873111 L 1555.0445695490178 71.4944098740272 L 1554.928851343109 71.44116944634459 L 1554.8143166462278 71.38740857968169 L 1554.700976911748 71.33313265008036 L 1554.5888434735489 71.27834708508834 L 1554.4779275448805 71.22305736321645 L 1554.3682402172435 71.16726901339085 L 1554.2597924592794 71.11098761439999 L 1554.1525951156734 71.05421879433689 L 1554.0466589060707 70.99696823003623 L 1553.9419944240035 70.93924164650676 L 1553.8386121358335 70.8810448163587 L 1553.7365223797028 70.82238355922658 L 1553.6357353645024 70.76326374118723 L 1553.5362611688495 70.70369127417318 L 1553.4381097400808 70.64367211538149 L 1553.3412908932576 70.58321226667803 L 1553.2458143101835 70.52231777399729 L 1553.1516895384375 70.46099472673778 L 1553.0589259904184 70.39924925715313 L 1552.9675329424037 70.33708753973885 L 1552.877519533622 70.27451579061487 L 1552.7888947653391 70.21154026690395 L 1552.701667499958 70.14816726610601 L 1552.6158464601324 70.08440312546831 L 1552.531440227895 70.02025422135176 L 1552.4484572437987 69.95572696859332 L 1552.3669058060725 69.89082781986453 L 1552.2867940697927 69.82556326502612 L 1552.2081300460657 69.75993983047923 L 1552.1309216012282 69.69396407851261 L 1552.055176456061 69.62764260664648 L 1551.9809021850149 69.56098204697277 L 1551.9081062154553 69.49398906549187 L 1551.8367958269184 69.42667036144614 L 1551.766978150384 69.35903266664985 L 1551.6986601675612 69.29108274481614 L 1551.6318487101914 69.22282739088055 L 1551.5665504593649 69.15427343032161 L 1551.502771944852 69.08542771847824 L 1551.4405195444513 69.01629713986425 L 1551.3797994833508 68.9468886074799 L 1551.320617833506 68.87720906212058 L 1551.2629805130327 68.80726547168277 L 1551.2068932856148 68.73706483046723 L 1551.1523617599285 68.66661415847956 L 1551.0993913890807 68.59592050072827 L 1551.0479874700643 68.52499092652022 L 1550.9981551432286 68.45383252875371 L 1550.9498993917646 68.38245242320923 L 1550.9032250412074 68.31085774783786 L 1550.858136758953 68.23905566204746 L 1550.8146390537918 68.16705334598677 L 1550.7727362754586 68.09485799982741 L 1550.7324326141961 68.02247684304383 L 1550.6937321003368 67.9499171136914 L 1550.6566386038999 67.87718606768256 L 1550.6211558342038 67.80429097806132 L 1550.5872873394965 67.7312391342759 L 1550.5550365065988 67.6580378414498 L 1550.524406560567 67.58469441965129 L 1550.4954005643708 67.51121620316144 L 1550.468021418585 67.43761053974067 L 1550.4422718611017 67.36388478989399 L 1550.4181544668552 67.29004632613491 L 1550.3956716475648 67.21610253224833 L 1550.3748256514934 67.14206080255198 L 1550.3556185632237 67.06792854115714 L 1550.3380523034482 66.99371316122819 L 1550.3221286287783 66.91942208424123 L 1550.3078491315682 66.8450627392421 L 1550.2952152397559 66.7706425621033 L 1550.2842282167198 66.69616899478055 L 1550.2748891611534 66.6216494845685 L 1550.267199006954 66.54709148335608 L 1550.2611585231307 66.47250244688131 L 1550.2567683137272 66.39788983398563 L 1550.2540288177606 66.32326110586817 L 1550.252940309178 66.24862372533957" stroke-miterlimit="10" stroke-width="1.9225277730000003" stroke-dasharray=""/></g><g><g/><text fill="black" stroke="none" font-family="sans-serif" font-size="8pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1519.0804236043946" y="85.835210571" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">SqlServer(MariaDB)</text></g></g><g><path fill="#90EE90" stroke="black" paint-order="fill stroke markers" d=" M 286.9210314103516 94.88240009100001 L 298.2300183103516 94.88240009100001 L 298.2300183103516 2908.5583408110015 L 286.9210314103516 2908.5583408110015 L 286.9210314103516 94.88240009100001" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray=""/><path fill="#26abff" stroke="black" paint-order="fill stroke markers" d=" M 486.64966107070313 164.09339991900003 L 497.95864797070317 164.09339991900003 L 497.95864797070317 248.00608271700003 L 486.64966107070313 248.00608271700003 L 486.64966107070313 164.09339991900003" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray=""/><path fill="#D3D3D3" stroke="black" paint-order="fill stroke markers" d=" M 1370.423816778711 282.61158263100003 L 1381.732803678711 282.61158263100003 L 1381.732803678711 528.4689578370001 L 1370.423816778711 528.4689578370001 L 1370.423816778711 282.61158263100003" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray=""/><path fill="#ffffe0" stroke="black" paint-order="fill stroke markers" d=" M 846.454136803711 563.0744577510001 L 857.763123703711 563.0744577510001 L 857.763123703711 646.9871405490001 L 846.454136803711 646.9871405490001 L 846.454136803711 563.0744577510001" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray=""/><path fill="#CBC3E3" stroke="black" paint-order="fill stroke markers" d=" M 614.768452566211 646.9871405490001 L 626.077439466211 646.9871405490001 L 626.077439466211 846.930028941 L 614.768452566211 846.930028941 L 614.768452566211 646.9871405490001" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray=""/><path fill="#ffffe0" stroke="black" paint-order="fill stroke markers" d=" M 846.454136803711 881.535528855 L 857.763123703711 881.535528855 L 857.763123703711 1615.941138141 L 846.454136803711 1615.941138141 L 846.454136803711 881.535528855" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray=""/><path fill="#D3D3D3" stroke="black" paint-order="fill stroke markers" d=" M 1370.423816778711 916.1410287690001 L 1381.732803678711 916.1410287690001 L 1381.732803678711 1615.941138141 L 1370.423816778711 1615.941138141 L 1370.423816778711 916.1410287690001" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray=""/><path fill="#00FFFF" stroke="black" paint-order="fill stroke markers" d=" M 1561.1095467925782 950.7465286830001 L 1572.4185336925782 950.7465286830001 L 1572.4185336925782 1581.335638227 L 1561.1095467925782 1581.335638227 L 1561.1095467925782 950.7465286830001" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray=""/><path fill="#ffffe0" stroke="black" paint-order="fill stroke markers" d=" M 846.454136803711 1615.941138141 L 857.763123703711 1615.941138141 L 857.763123703711 1764.993585483 L 846.454136803711 1764.993585483 L 846.454136803711 1615.941138141" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray=""/><path fill="#ffffe0" stroke="black" paint-order="fill stroke markers" d=" M 846.454136803711 1812.4913304630002 L 857.763123703711 1812.4913304630002 L 857.763123703711 2908.5583408110015 L 846.454136803711 2908.5583408110015 L 846.454136803711 1812.4913304630002" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray=""/><path fill="#ff8b3d" stroke="black" paint-order="fill stroke markers" d=" M 1108.438976791211 1860.6676146570003 L 1119.747963691211 1860.6676146570003 L 1119.747963691211 2908.5583408110015 L 1108.438976791211 2908.5583408110015 L 1108.438976791211 1860.6676146570003" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray=""/><path fill="#D3D3D3" stroke="black" paint-order="fill stroke markers" d=" M 1370.423816778711 1908.8438988510002 L 1381.732803678711 1908.8438988510002 L 1381.732803678711 2908.5583408110015 L 1370.423816778711 2908.5583408110015 L 1370.423816778711 1908.8438988510002" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray=""/><path fill="#00FFFF" stroke="black" paint-order="fill stroke markers" d=" M 1561.1095467925782 1957.020183045 L 1572.4185336925782 1957.020183045 L 1572.4185336925782 2125.7502675930004 L 1561.1095467925782 2125.7502675930004 L 1561.1095467925782 1957.020183045" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray=""/><path fill="#00FFFF" stroke="black" paint-order="fill stroke markers" d=" M 1561.1095467925782 2405.082244023001 L 1572.4185336925782 2405.082244023001 L 1572.4185336925782 2591.680527873001 L 1561.1095467925782 2591.680527873001 L 1561.1095467925782 2405.082244023001" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray=""/><path fill="#00FFFF" stroke="black" paint-order="fill stroke markers" d=" M 1561.1095467925782 2639.178272853001 L 1572.4185336925782 2639.178272853001 L 1572.4185336925782 2908.5583408110015 L 1561.1095467925782 2908.5583408110015 L 1561.1095467925782 2639.178272853001" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray=""/><g><g><rect fill="white" stroke="none" x="141.80865471978518" y="111.84588044100002" width="99.43011062078125" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="143.50500275478518" y="124.05958629300002" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Create new User</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 96.12638865000002 129.48790000500003 L 277.6099655293516 129.48790000500003" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray=""/><g transform="translate(286.9210314103516,129.48790000500003) translate(-286.9210314103516,-129.48790000500003)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 277.4968756603516 124.77582213000002 L 286.9210314103516 129.48790000500003 L 277.4968756603516 134.19997788000003 Z"/></g></g><g><g><rect fill="white" stroke="none" x="311.61231947535157" y="146.45138035500003" width="161.65504043035156" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="313.3086675103516" y="158.66508620700003" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">factory = new RDSFactory()</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 298.2300183103516 164.09339991900003 L 477.33859518970314 164.09339991900003" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray=""/><g transform="translate(486.64966107070313,164.09339991900003) translate(-486.64966107070313,-164.09339991900003)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 477.2255053207031 159.38132204400003 L 486.64966107070313 164.09339991900003 L 477.2255053207031 168.80547779400004 Z"/></g></g><g><g><rect fill="white" stroke="none" x="511.3409491357031" y="181.05688026900003" width="78.07387893132812" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="513.0372971707031" y="193.27058612100004" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Constructor()</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 497.95864797070317 198.698899833 L 543.1945955707032 198.698899833 L 543.1945955707032 213.40058280300002 L 507.26971385170316 213.40058280300002" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray=""/><g transform="translate(497.95864797070317,213.40058280300002) translate(-497.95864797070317,-213.40058280300002)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 507.3828037207032 208.68850492800001 L 497.95864797070317 213.40058280300002 L 507.3828037207032 218.11266067800003 Z"/></g></g><g><g><rect fill="white" stroke="none" x="337.39666700953126" y="230.36406315300002" width="110.08634536199219" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="339.0930150445313" y="242.57776900500002" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">return RDSFactory</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 486.64966107070313 248.00608271700003 L 307.5410841913516 248.00608271700003" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray="4.52359476"/><g transform="translate(298.2300183103516,248.00608271700003) translate(-298.2300183103516,-248.00608271700003)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 307.65417406035164 243.29400484200002 L 298.2300183103516 248.00608271700003 L 307.65417406035164 252.71816059200003 Z"/></g></g><g><g><rect fill="white" stroke="none" x="638.1745148220313" y="264.969563067" width="392.304805445" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="639.8708628570313" y="277.183268919" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">IDataSource factory.GetDataSource(string DbName, string connInfo)</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 298.2300183103516 282.61158263100003 L 1361.1127508977108 282.61158263100003" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray=""/><g transform="translate(1370.423816778711,282.61158263100003) translate(-1370.423816778711,-282.61158263100003)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1360.999661028711 277.89950475600006 L 1370.423816778711 282.61158263100003 L 1360.999661028711 287.323660506 Z"/></g></g><g><g><rect fill="white" stroke="none" x="1395.115104843711" y="299.57506298100003" width="162.0362965338672" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1396.811452878711" y="311.788768833" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Constructor(string connInfo)</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1381.732803678711 317.21708254500004 L 1426.968751278711 317.21708254500004 L 1426.968751278711 331.918765515 L 1391.043869559711 331.918765515" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray=""/><g transform="translate(1381.732803678711,331.918765515) translate(-1381.732803678711,-331.918765515)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1391.156959428711 327.20668764000004 L 1381.732803678711 331.918765515 L 1391.156959428711 336.63084339 Z"/></g></g><g><g><rect fill="rgb(255,204,204)" stroke="none" x="1395.115104843711" y="379.416510495" width="115.09884231023437" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1396.811452878711" y="391.630216347" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Catch SqlException</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1381.732803678711 397.058530059 L 1426.968751278711 397.058530059 L 1426.968751278711 411.760213029 L 1391.043869559711 411.760213029" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray=""/><g transform="translate(1381.732803678711,411.760213029) translate(-1381.732803678711,-411.760213029)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1391.156959428711 407.048135154 L 1381.732803678711 411.760213029 L 1391.156959428711 416.472290904 Z"/></g></g><g><g><rect fill="rgb(255,204,204)" stroke="none" x="742.5994110622656" y="428.723693379" width="183.45501296453125" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="744.2957590972657" y="440.937399231" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">return "Data Source Timed Out"</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1370.423816778711 446.365712943 L 307.5410841913516 446.365712943" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray="4.52359476"/><g transform="translate(298.2300183103516,446.365712943) translate(-298.2300183103516,-446.365712943)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 307.65417406035164 441.653635068 L 298.2300183103516 446.365712943 L 307.65417406035164 451.077790818 Z"/></g></g><g><g><rect fill="rgb(204,204,255)" stroke="none" x="791.0149841823828" y="510.82693827300005" width="86.62386672429687" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="792.7113322173828" y="523.0406441250001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">return SqlDAO</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1370.423816778711 528.4689578370001 L 307.5410841913516 528.4689578370001" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray="4.52359476"/><g transform="translate(298.2300183103516,528.4689578370001) translate(-298.2300183103516,-528.4689578370001)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 307.65417406035164 523.7568799620001 L 298.2300183103516 528.4689578370001 L 307.65417406035164 533.181035712 Z"/></g></g><g><g><rect fill="rgb(204,204,255)" stroke="none" x="397.58026931695315" y="545.4324381870001" width="349.52361648015625" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="399.2766173519532" y="557.6461440390001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"> manager = new SystemAccountManager(IDataSource conn)</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 298.2300183103516 563.0744577510001 L 837.143070922711 563.0744577510001" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray=""/><g transform="translate(846.454136803711,563.0744577510001) translate(-846.454136803711,-563.0744577510001)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 837.029981053711 558.3623798760001 L 846.454136803711 563.0744577510001 L 837.029981053711 567.786535626 Z"/></g></g><g><g><rect fill="rgb(204,204,255)" stroke="none" x="871.145424868711" y="580.037938101" width="180.53628127507812" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="872.841772903711" y="592.251643953" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Constructor(IDataSource conn)</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 857.763123703711 597.6799576650001 L 902.999071303711 597.6799576650001 L 902.999071303711 612.381640635 L 867.074189584711 612.381640635" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray=""/><g transform="translate(857.763123703711,612.381640635) translate(-857.763123703711,-612.381640635)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 867.187279453711 607.6695627600001 L 857.763123703711 612.381640635 L 867.187279453711 617.09371851 Z"/></g></g><g><g><rect fill="rgb(204,204,255)" stroke="none" x="484.5645603936133" y="629.3451209850001" width="175.55503432683594" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="486.26090842861333" y="641.5588268370001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"> New SystemAccountManager</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 846.454136803711 646.9871405490001 L 307.5410841913516 646.9871405490001" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray="4.52359476"/><g transform="translate(298.2300183103516,646.9871405490001) translate(-298.2300183103516,-646.9871405490001)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 307.65417406035164 642.2750626740001 L 298.2300183103516 646.9871405490001 L 307.65417406035164 651.699218424 Z"/></g></g><g><g><rect fill="rgb(204,204,255)" stroke="none" x="353.07173200777345" y="663.9506208990001" width="206.85500686101562" height="17.642019564"/></g><g><rect fill="rgb(204,204,255)" stroke="none" x="353.07173200777345" y="677.5214051790001" width="100.14260451726562" height="17.642019564"/></g><g><rect fill="rgb(204,204,255)" stroke="none" x="353.07173200777345" y="691.0921894590001" width="75.94887893132812" height="17.642019564"/></g><g><rect fill="rgb(204,204,255)" stroke="none" x="353.07173200777345" y="704.6629737390001" width="203.0362507575" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="354.7680800427735" y="676.1643267510001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"> new UserAccount(string username,</text><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="354.7680800427735" y="689.7351110310001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"> string password,</text><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="354.7680800427735" y="703.3058953110001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"> string email,</text><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="354.7680800427735" y="716.8766795910001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"> DateTime RegistrationTimeStamp)</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 298.2300183103516 722.3049933030001 L 605.457386685211 722.3049933030001" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray=""/><g transform="translate(614.768452566211,722.3049933030001) translate(-614.768452566211,-722.3049933030001)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 605.344296816211 717.5929154280001 L 614.768452566211 722.3049933030001 L 605.344296816211 727.017071178 Z"/></g></g><g><g><rect fill="rgb(204,204,255)" stroke="none" x="639.4597406312109" y="739.268473653" width="169.14254348210937" height="17.642019564"/></g><g><rect fill="rgb(204,204,255)" stroke="none" x="639.4597406312109" y="752.839257933" width="100.14260451726562" height="17.642019564"/></g><g><rect fill="rgb(204,204,255)" stroke="none" x="639.4597406312109" y="766.410042213" width="75.94887893132812" height="17.642019564"/></g><g><rect fill="rgb(204,204,255)" stroke="none" x="639.4597406312109" y="779.980826493" width="203.0362507575" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="641.156088666211" y="751.482179505" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Constructor(string username,</text><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="641.156088666211" y="765.052963785" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"> string password,</text><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="641.156088666211" y="778.623748065" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"> string email,</text><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="641.156088666211" y="792.194532345" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"> DateTime RegistrationTimeStamp)</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 626.077439466211 797.6228460570001 L 671.313387066211 797.6228460570001 L 671.313387066211 812.324529027 L 635.388505347211 812.324529027" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray=""/><g transform="translate(626.077439466211,812.324529027) translate(-626.077439466211,-812.324529027)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 635.501595216211 807.6124511520001 L 626.077439466211 812.324529027 L 635.501595216211 817.036606902 Z"/></g></g><g><g><rect fill="rgb(204,204,255)" stroke="none" x="403.58418317964845" y="829.2880093770001" width="105.83010451726562" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="405.2805312146485" y="841.5017152290001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">New UserAccount</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 614.768452566211 846.930028941 L 307.5410841913516 846.930028941" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray="4.52359476"/><g transform="translate(298.2300183103516,846.930028941) translate(-298.2300183103516,-846.930028941)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 307.65417406035164 842.2179510660001 L 298.2300183103516 846.930028941 L 307.65417406035164 851.642106816 Z"/></g></g><g><g><rect fill="rgb(204,204,255)" stroke="none" x="435.4802326958594" y="863.8935092910001" width="273.72368972234375" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="437.1765807308594" y="876.1072151430001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">manager.CreateUserRecord(user:UserAccount)</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 298.2300183103516 881.535528855 L 837.143070922711 881.535528855" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray=""/><g transform="translate(846.454136803711,881.535528855) translate(-846.454136803711,-881.535528855)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 837.029981053711 876.8234509800001 L 846.454136803711 881.535528855 L 837.029981053711 886.24760673 Z"/></g></g><g><g><rect fill="rgb(204,204,255)" stroke="none" x="1020.628453077793" y="898.4990092050001" width="186.93003432683594" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1022.324801112793" y="910.7127150570001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">bool isAdmin(user:UserAccount)</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 857.763123703711 916.1410287690001 L 1361.1127508977108 916.1410287690001" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray=""/><g transform="translate(1370.423816778711,916.1410287690001) translate(-1370.423816778711,-916.1410287690001)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1360.999661028711 911.4289508940001 L 1370.423816778711 916.1410287690001 L 1360.999661028711 920.853106644 Z"/></g></g><g><g><rect fill="rgb(204,204,255)" stroke="none" x="1400.0123867099219" y="933.1045091190001" width="142.8175770514453" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1401.708734744922" y="945.3182149710001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">SqlRead confirmAdmin()</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1381.732803678711 950.7465286830001 L 1551.798480911578 950.7465286830001" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray=""/><g transform="translate(1561.1095467925782,950.7465286830001) translate(-1561.1095467925782,-950.7465286830001)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1551.6853910425782 946.0344508080001 L 1561.1095467925782 950.7465286830001 L 1551.6853910425782 955.458606558 Z"/></g></g><g><g><rect fill="rgb(204,204,255)" stroke="none" x="1585.8008348575781" y="967.7100090330001" width="122.89883010320312" height="17.642019564"/></g><g><rect fill="rgb(204,204,255)" stroke="none" x="1585.8008348575781" y="981.2807933130001" width="196.7175251715625" height="17.642019564"/></g><g><rect fill="rgb(204,204,255)" stroke="none" x="1585.8008348575781" y="994.8515775930001" width="136.9863239996875" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1587.4971828925782" y="979.9237148850001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Select * from Admins</text><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1587.4971828925782" y="993.4944991650001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"> where Username = @UserName </text><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1587.4971828925782" y="1007.0652834450001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">and Password = @Pwd</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1572.4185336925782 1012.4935971570002 L 1617.654481292578 1012.4935971570002 L 1617.654481292578 1027.1952801270002 L 1581.7295995735783 1027.1952801270002" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray=""/><g transform="translate(1572.4185336925782,1027.1952801270002) translate(-1572.4185336925782,-1027.1952801270002)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1581.8426894425781 1022.4832022520002 L 1572.4185336925782 1027.1952801270002 L 1581.8426894425781 1031.9073580020001 Z"/></g></g><g><g><rect fill="rgb(255,204,204)" stroke="none" x="1432.3686107699805" y="1074.693025107" width="78.10512893132812" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1434.0649588049805" y="1086.906730959" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">SqlException</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1561.1095467925782 1092.335044671 L 1391.043869559711 1092.335044671" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray="4.52359476"/><g transform="translate(1381.732803678711,1092.335044671) translate(-1381.732803678711,-1092.335044671)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1391.156959428711 1087.6229667960001 L 1381.732803678711 1092.335044671 L 1391.156959428711 1097.047122546 Z"/></g></g><g><g><rect fill="rgb(255,204,204)" stroke="none" x="1395.115104843711" y="1109.2985250210002" width="51.63859145574219" height="17.642019564"/></g><g><rect fill="rgb(255,204,204)" stroke="none" x="1395.115104843711" y="1122.8693093010002" width="78.10512893132812" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="8pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1396.811452878711" y="1121.5122308730001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">     </text><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1411.6198787820313" y="1121.5122308730001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Catch</text><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1396.811452878711" y="1135.0830151530001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">SqlException</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1381.732803678711 1140.511328865 L 1426.968751278711 1140.511328865 L 1426.968751278711 1155.213011835 L 1391.043869559711 1155.213011835" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray=""/><g transform="translate(1381.732803678711,1155.213011835) translate(-1381.732803678711,-1155.213011835)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1391.156959428711 1150.50093396 L 1381.732803678711 1155.213011835 L 1391.156959428711 1159.92508971 Z"/></g></g><g><g><rect fill="rgb(255,204,204)" stroke="none" x="1080.381527723789" y="1172.1764921850001" width="67.42388503484375" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1082.077875758789" y="1184.3901980370001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">return false</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1370.423816778711 1189.8185117490002 L 867.074189584711 1189.8185117490002" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray="4.52359476"/><g transform="translate(857.763123703711,1189.8185117490002) translate(-857.763123703711,-1189.8185117490002)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 867.187279453711 1185.1064338740002 L 857.763123703711 1189.8185117490002 L 867.187279453711 1194.5305896240002 Z"/></g></g><g><g><rect fill="rgb(255,204,204)" stroke="none" x="501.85517166070315" y="1206.781992099" width="140.97381179265625" height="17.642019564"/></g><g><rect fill="rgb(255,204,204)" stroke="none" x="501.85517166070315" y="1220.352776379" width="84.07387893132812" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="503.5515196957032" y="1218.995697951" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"> return "Access Denied: </text><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="503.5515196957032" y="1232.566482231" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Unauthorized"</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 846.454136803711 1237.994795943 L 307.5410841913516 1237.994795943" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray="4.52359476"/><g transform="translate(298.2300183103516,1237.994795943) translate(-298.2300183103516,-1237.994795943)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 307.65417406035164 1233.2827180680001 L 298.2300183103516 1237.994795943 L 307.65417406035164 1242.706873818 Z"/></g></g><g><g><rect fill="rgb(255,204,204)" stroke="none" x="122.81492608208987" y="1254.958276293" width="137.41756789617187" height="17.642019564"/></g><g><rect fill="rgb(255,204,204)" stroke="none" x="122.81492608208987" y="1268.529060573" width="84.07387893132812" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="124.51127411708987" y="1267.171982145" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">return "Access Denied: </text><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="124.51127411708987" y="1280.742766425" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Unauthorized"</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 286.9210314103516 1286.171080137 L 105.43745453100003 1286.171080137" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray="4.52359476"/><g transform="translate(96.12638865000002,1286.171080137) translate(-96.12638865000002,-1286.171080137)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 105.55054440000002 1281.459002262 L 96.12638865000002 1286.171080137 L 105.55054440000002 1290.883158012 Z"/></g></g><g><g><rect fill="rgb(255,204,204)" stroke="none" x="1437.7092327182227" y="1350.632305467" width="67.42388503484375" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1439.4055807532227" y="1362.846011319" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">return false</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1561.1095467925782 1368.274325031 L 1391.043869559711 1368.274325031" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray="4.52359476"/><g transform="translate(1381.732803678711,1368.274325031) translate(-1381.732803678711,-1368.274325031)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1391.156959428711 1363.562247156 L 1381.732803678711 1368.274325031 L 1391.156959428711 1372.986402906 Z"/></g></g><g><g><rect fill="rgb(255,204,204)" stroke="none" x="1080.381527723789" y="1385.237805381" width="67.42388503484375" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1082.077875758789" y="1397.451511233" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">return false</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1370.423816778711 1402.879824945 L 867.074189584711 1402.879824945" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray="4.52359476"/><g transform="translate(857.763123703711,1402.879824945) translate(-857.763123703711,-1402.879824945)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 867.187279453711 1398.1677470700001 L 857.763123703711 1402.879824945 L 867.187279453711 1407.59190282 Z"/></g></g><g><g><rect fill="rgb(255,204,204)" stroke="none" x="501.85517166070315" y="1419.843305295" width="140.97381179265625" height="17.642019564"/></g><g><rect fill="rgb(255,204,204)" stroke="none" x="501.85517166070315" y="1433.414089575" width="84.07387893132812" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="503.5515196957032" y="1432.057011147" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"> return "Access Denied: </text><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="503.5515196957032" y="1445.627795427" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Unauthorized"</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 846.454136803711 1451.056109139 L 307.5410841913516 1451.056109139" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray="4.52359476"/><g transform="translate(298.2300183103516,1451.056109139) translate(-298.2300183103516,-1451.056109139)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 307.65417406035164 1446.344031264 L 298.2300183103516 1451.056109139 L 307.65417406035164 1455.768187014 Z"/></g></g><g><g><rect fill="rgb(255,204,204)" stroke="none" x="122.81492608208987" y="1468.0195894889998" width="137.41756789617187" height="17.642019564"/></g><g><rect fill="rgb(255,204,204)" stroke="none" x="122.81492608208987" y="1481.5903737689998" width="84.07387893132812" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="124.51127411708987" y="1480.2332953409998" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">return "Access Denied: </text><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="124.51127411708987" y="1493.8040796209998" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Unauthorized"</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 286.9210314103516 1499.232393333 L 105.43745453100003 1499.232393333" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray="4.52359476"/><g transform="translate(96.12638865000002,1499.232393333) translate(-96.12638865000002,-1499.232393333)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 105.55054440000002 1494.520315458 L 96.12638865000002 1499.232393333 L 105.55054440000002 1503.9444712079999 Z"/></g></g><g><g><rect fill="rgb(204,204,255)" stroke="none" x="1440.1998561923438" y="1563.6936186629998" width="62.44263808660156" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1441.8962042273438" y="1575.9073245149998" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">return true</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1561.1095467925782 1581.335638227 L 1391.043869559711 1581.335638227" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray="4.52359476"/><g transform="translate(1381.732803678711,1581.335638227) translate(-1381.732803678711,-1581.335638227)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1391.156959428711 1576.623560352 L 1381.732803678711 1581.335638227 L 1391.156959428711 1586.0477161019999 Z"/></g></g><g><g><rect fill="rgb(204,204,255)" stroke="none" x="1082.8721511979102" y="1598.299118577" width="62.44263808660156" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1084.5684992329102" y="1610.512824429" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">return true</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1370.423816778711 1615.941138141 L 867.074189584711 1615.941138141" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray="4.52359476"/><g transform="translate(857.763123703711,1615.941138141) translate(-857.763123703711,-1615.941138141)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 867.187279453711 1611.229060266 L 857.763123703711 1615.941138141 L 867.187279453711 1620.653216016 Z"/></g></g><g><g><rect fill="rgb(204,204,255)" stroke="none" x="871.145424868711" y="1632.904618491" width="182.43001906804687" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="872.841772903711" y="1645.118324343" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">isInputValid(user: UserAccount)</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 857.763123703711 1650.546638055 L 902.999071303711 1650.546638055 L 902.999071303711 1665.248321025 L 867.074189584711 1665.248321025" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray=""/><g transform="translate(857.763123703711,1665.248321025) translate(-857.763123703711,-1665.248321025)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 867.187279453711 1660.53624315 L 857.763123703711 1665.248321025 L 867.187279453711 1669.9603989 Z"/></g></g><g><g><rect fill="rgb(255,204,204)" stroke="none" x="513.4489064019141" y="1712.7460660049999" width="117.78634231023437" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="515.1452544369141" y="1724.9597718569999" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">return "Invalid input"</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 846.454136803711 1730.388085569 L 307.5410841913516 1730.388085569" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray="4.52359476"/><g transform="translate(298.2300183103516,1730.388085569) translate(-298.2300183103516,-1730.388085569)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 307.65417406035164 1725.676007694 L 298.2300183103516 1730.388085569 L 307.65417406035164 1735.100163444 Z"/></g></g><g><g><rect fill="rgb(255,204,204)" stroke="none" x="130.85241692681643" y="1747.351565919" width="121.34258620671875" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="132.54876496181643" y="1759.565271771" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"> return "Invalid input"</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 286.9210314103516 1764.993585483 L 105.43745453100003 1764.993585483" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray="4.52359476"/><g transform="translate(96.12638865000002,1764.993585483) translate(-96.12638865000002,-1764.993585483)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 105.55054440000002 1760.281507608 L 96.12638865000002 1764.993585483 L 105.55054440000002 1769.705663358 Z"/></g></g><g><g><rect fill="rgb(204,230,204)" stroke="none" x="871.145424868711" y="1829.4548108130002" width="92.32386367253906" height="17.642019564"/></g><g><rect fill="rgb(204,230,204)" stroke="none" x="871.145424868711" y="1843.0255950930002" width="223.9112507575" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="872.841772903711" y="1841.6685166650002" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">AccountService</text><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="872.841772903711" y="1855.2393009450002" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">.CreateUserRecord(user:UserAccount)</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 857.763123703711 1860.6676146570003 L 1099.1279109102109 1860.6676146570003" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray=""/><g transform="translate(1108.438976791211,1860.6676146570003) translate(-1108.438976791211,-1860.6676146570003)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1099.014821041211 1855.9555367820003 L 1108.438976791211 1860.6676146570003 L 1099.014821041211 1865.3796925320003 Z"/></g></g><g><g><rect fill="rgb(204,230,204)" stroke="none" x="1133.130264856211" y="1877.631095007" width="49.630153345390625" height="17.642019564"/></g><g><rect fill="rgb(204,230,204)" stroke="none" x="1133.130264856211" y="1891.201879287" width="223.9112507575" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1134.826612891211" y="1889.844800859" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">SqlDAO</text><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1134.826612891211" y="1903.415585139" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">.CreateUserRecord(user:UserAccount)</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1119.747963691211 1908.8438988510002 L 1361.1127508977108 1908.8438988510002" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray=""/><g transform="translate(1370.423816778711,1908.8438988510002) translate(-1370.423816778711,-1908.8438988510002)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1360.999661028711 1904.1318209760002 L 1370.423816778711 1908.8438988510002 L 1360.999661028711 1913.5559767260002 Z"/></g></g><g><g><rect fill="rgb(204,230,204)" stroke="none" x="1396.4623912875586" y="1925.807379201" width="56.04890029363281" height="17.642019564"/></g><g><rect fill="rgb(204,230,204)" stroke="none" x="1396.4623912875586" y="1939.378163481" width="149.91756789617187" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1398.1587393225586" y="1938.021085053" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">SqlRead </text><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1398.1587393225586" y="1951.591869333" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">isUser(user:UserAccount)</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1381.732803678711 1957.020183045 L 1551.798480911578 1957.020183045" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray=""/><g transform="translate(1561.1095467925782,1957.020183045) translate(-1561.1095467925782,-1957.020183045)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1551.6853910425782 1952.30810517 L 1561.1095467925782 1957.020183045 L 1551.6853910425782 1961.73226092 Z"/></g></g><g><g><rect fill="rgb(204,230,204)" stroke="none" x="1585.8008348575781" y="1973.9836633950003" width="51.061397241875" height="17.642019564"/></g><g><rect fill="rgb(204,230,204)" stroke="none" x="1585.8008348575781" y="1987.5544476750003" width="70.23638503484375" height="17.642019564"/></g><g><rect fill="rgb(204,230,204)" stroke="none" x="1585.8008348575781" y="2001.1252319550003" width="100.85511367253906" height="17.642019564"/></g><g><rect fill="rgb(204,230,204)" stroke="none" x="1585.8008348575781" y="2014.6960162350003" width="111.34260146550781" height="17.642019564"/></g><g><rect fill="rgb(204,230,204)" stroke="none" x="1585.8008348575781" y="2028.2668005150003" width="93.5676228278125" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1587.4971828925782" y="1986.1973692470003" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"> Select *</text><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1587.4971828925782" y="1999.7681535270003" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">From Users</text><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1587.4971828925782" y="2013.3389378070003" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">where Username</text><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1587.4971828925782" y="2026.9097220870003" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">= @UserName OR</text><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1587.4971828925782" y="2040.4805063670003" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">email = @Email</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1572.4185336925782 2045.9088200790002 L 1617.654481292578 2045.9088200790002 L 1617.654481292578 2060.6105030490003 L 1581.7295995735783 2060.6105030490003" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray=""/><g transform="translate(1572.4185336925782,2060.6105030490003) translate(-1572.4185336925782,-2060.6105030490003)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1581.8426894425781 2055.8984251740003 L 1572.4185336925782 2060.6105030490003 L 1581.8426894425781 2065.3225809240002 Z"/></g></g><g><g><rect fill="rgb(255,204,204)" stroke="none" x="1432.3686107699805" y="2108.1082480290006" width="78.10512893132812" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1434.0649588049805" y="2120.321953881001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">SqlException</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1561.1095467925782 2125.7502675930004 L 1391.043869559711 2125.7502675930004" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray="4.52359476"/><g transform="translate(1381.732803678711,2125.7502675930004) translate(-1381.732803678711,-2125.7502675930004)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1391.156959428711 2121.0381897180005 L 1381.732803678711 2125.7502675930004 L 1391.156959428711 2130.4623454680004 Z"/></g></g><g><g><rect fill="rgb(255,204,204)" stroke="none" x="1395.115104843711" y="2142.7137479430003" width="51.63859145574219" height="17.642019564"/></g><g><rect fill="rgb(255,204,204)" stroke="none" x="1395.115104843711" y="2156.2845322230005" width="78.10512893132812" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="8pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1396.811452878711" y="2154.9274537950005" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">     </text><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1411.6198787820313" y="2154.9274537950005" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Catch</text><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1396.811452878711" y="2168.4982380750007" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">SqlException</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1381.732803678711 2173.9265517870003 L 1426.968751278711 2173.9265517870003 L 1426.968751278711 2188.6282347570004 L 1391.043869559711 2188.6282347570004" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray=""/><g transform="translate(1381.732803678711,2188.6282347570004) translate(-1381.732803678711,-2188.6282347570004)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1391.156959428711 2183.9161568820005 L 1381.732803678711 2188.6282347570004 L 1391.156959428711 2193.3403126320004 Z"/></g></g><g><g><rect fill="rgb(255,204,204)" stroke="none" x="1164.8489919680273" y="2205.5917151070007" width="160.4737965338672" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1166.5453400030274" y="2217.805420959001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">return "Database timed out"</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1370.423816778711 2223.2337346710005 L 1129.059029572211 2223.2337346710005" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray="4.52359476"/><g transform="translate(1119.747963691211,2223.2337346710005) translate(-1119.747963691211,-2223.2337346710005)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1129.172119441211 2218.5216567960006 L 1119.747963691211 2223.2337346710005 L 1129.172119441211 2227.9458125460005 Z"/></g></g><g><g><rect fill="rgb(255,204,204)" stroke="none" x="901.0860300322852" y="2240.197215021001" width="164.03004043035156" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="902.7823780672852" y="2252.410920873001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"> return "Database timed out"</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1108.438976791211 2257.8392345850007 L 867.074189584711 2257.8392345850007" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray="4.52359476"/><g transform="translate(857.763123703711,2257.8392345850007) translate(-857.763123703711,-2257.8392345850007)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 867.187279453711 2253.1271567100007 L 857.763123703711 2257.8392345850007 L 867.187279453711 2262.5513124600006 Z"/></g></g><g><g><rect fill="rgb(255,204,204)" stroke="none" x="490.3270573418555" y="2274.802714935001" width="164.03004043035156" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="492.0234053768555" y="2287.016420787001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"> return "Database timed out"</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 846.454136803711 2292.444734499001 L 307.5410841913516 2292.444734499001" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray="4.52359476"/><g transform="translate(298.2300183103516,2292.444734499001) translate(-298.2300183103516,-2292.444734499001)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 307.65417406035164 2287.732656624001 L 298.2300183103516 2292.444734499001 L 307.65417406035164 2297.1568123740008 Z"/></g></g><g><g><rect fill="rgb(255,204,204)" stroke="none" x="109.50868981500003" y="2309.408214849001" width="164.03004043035156" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="111.20503785000002" y="2321.6219207010013" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"> return "Database timed out"</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 286.9210314103516 2327.050234413001 L 105.43745453100003 2327.050234413001" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray="4.52359476"/><g transform="translate(96.12638865000002,2327.050234413001) translate(-96.12638865000002,-2327.050234413001)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 105.55054440000002 2322.338156538001 L 96.12638865000002 2327.050234413001 L 105.55054440000002 2331.762312288001 Z"/></g></g><g><g><rect fill="rgb(204,230,204)" stroke="none" x="1436.5279888217383" y="2422.045724373001" width="69.7863728278125" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1438.2243368567383" y="2434.2594302250013" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"> return True</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1561.1095467925782 2439.687743937001 L 1391.043869559711 2439.687743937001" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray="4.52359476"/><g transform="translate(1381.732803678711,2439.687743937001) translate(-1381.732803678711,-2439.687743937001)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1391.156959428711 2434.975666062001 L 1381.732803678711 2439.687743937001 L 1391.156959428711 2444.399821812001 Z"/></g></g><g><g><rect fill="rgb(204,230,204)" stroke="none" x="1147.4302526491797" y="2456.6512242870012" width="195.3112751715625" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1149.1266006841797" y="2468.8649301390014" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">return "User is already registered"</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1370.423816778711 2474.293243851001 L 1129.059029572211 2474.293243851001" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray="4.52359476"/><g transform="translate(1119.747963691211,2474.293243851001) translate(-1119.747963691211,-2474.293243851001)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1129.172119441211 2469.581165976001 L 1119.747963691211 2474.293243851001 L 1129.172119441211 2479.005321726001 Z"/></g></g><g><g><rect fill="rgb(204,230,204)" stroke="none" x="885.4454126616797" y="2491.2567242010014" width="195.3112751715625" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="887.1417606966797" y="2503.4704300530016" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">return "User is already registered"</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1108.438976791211 2508.898743765001 L 867.074189584711 2508.898743765001" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray="4.52359476"/><g transform="translate(857.763123703711,2508.898743765001) translate(-857.763123703711,-2508.898743765001)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 867.187279453711 2504.186665890001 L 857.763123703711 2508.898743765001 L 867.187279453711 2513.610821640001 Z"/></g></g><g><g><rect fill="rgb(204,230,204)" stroke="none" x="474.68643997125" y="2525.8622241150015" width="195.3112751715625" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="476.38278800625005" y="2538.0759299670017" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">return "User is already registered"</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 846.454136803711 2543.5042436790013 L 307.5410841913516 2543.5042436790013" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray="4.52359476"/><g transform="translate(298.2300183103516,2543.5042436790013) translate(-298.2300183103516,-2543.5042436790013)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 307.65417406035164 2538.7921658040013 L 298.2300183103516 2543.5042436790013 L 307.65417406035164 2548.2163215540013 Z"/></g></g><g><g><rect fill="rgb(204,230,204)" stroke="none" x="112.36492913384768" y="2560.467724029001" width="93.73006789617187" height="17.642019564"/></g><g><rect fill="rgb(204,230,204)" stroke="none" x="112.36492913384768" y="2574.0385083090014" width="158.31756179265625" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="114.06127716884768" y="2572.6814298810013" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">               return </text><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="114.06127716884768" y="2586.2522141610016" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">"User is already registered"</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 286.9210314103516 2591.680527873001 L 105.43745453100003 2591.680527873001" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray="4.52359476"/><g transform="translate(96.12638865000002,2591.680527873001) translate(-96.12638865000002,-2591.680527873001)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 105.55054440000002 2586.9684499980012 L 96.12638865000002 2591.680527873001 L 105.55054440000002 2596.392605748001 Z"/></g></g><g><g><rect fill="rgb(204,230,204)" stroke="none" x="1433.7998622958594" y="2656.1417532030014" width="75.24262587957031" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1435.4962103308594" y="2668.3554590550016" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"> return False</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1561.1095467925782 2673.783772767001 L 1391.043869559711 2673.783772767001" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray="4.52359476"/><g transform="translate(1381.732803678711,2673.783772767001) translate(-1381.732803678711,-2673.783772767001)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1391.156959428711 2669.0716948920012 L 1381.732803678711 2673.783772767001 L 1391.156959428711 2678.495850642001 Z"/></g></g><g><g><rect fill="rgb(204,230,204)" stroke="none" x="1424.546741873496" y="2690.747253117001" width="67.41762893132812" height="17.642019564"/></g><g><rect fill="rgb(204,230,204)" stroke="none" x="1424.546741873496" y="2704.3180373970013" width="93.74886672429687" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1426.2430899084961" y="2702.9609589690012" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"> SQL insert</text><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1426.2430899084961" y="2716.5317432490015" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">user credentials</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1381.732803678711 2721.960056961001 L 1551.798480911578 2721.960056961001" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray=""/><g transform="translate(1561.1095467925782,2721.960056961001) translate(-1561.1095467925782,-2721.960056961001)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1551.6853910425782 2717.247979086001 L 1561.1095467925782 2721.960056961001 L 1551.6853910425782 2726.672134836001 Z"/></g></g><g><g><rect fill="rgb(204,230,204)" stroke="none" x="1445.890476614707" y="2738.9235373110014" width="51.061397241875" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1447.586824649707" y="2751.1372431630016" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"> return 1</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1561.1095467925782 2756.565556875001 L 1391.043869559711 2756.565556875001" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray="4.52359476"/><g transform="translate(1381.732803678711,2756.565556875001) translate(-1381.732803678711,-2756.565556875001)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1391.156959428711 2751.8534790000012 L 1381.732803678711 2756.565556875001 L 1391.156959428711 2761.277634750001 Z"/></g></g><g><g><rect fill="rgb(204,230,204)" stroke="none" x="1156.6802450197852" y="2773.5290372250015" width="176.81129043035156" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1158.3765930547852" y="2785.7427430770017" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">return "User is now registered"</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1370.423816778711 2791.1710567890013 L 1129.059029572211 2791.1710567890013" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray="4.52359476"/><g transform="translate(1119.747963691211,2791.1710567890013) translate(-1119.747963691211,-2791.1710567890013)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1129.172119441211 2786.4589789140014 L 1119.747963691211 2791.1710567890013 L 1129.172119441211 2795.8831346640013 Z"/></g></g><g><g><rect fill="rgb(204,230,204)" stroke="none" x="894.6954050322852" y="2808.1345371390016" width="176.81129043035156" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="896.3917530672852" y="2820.348242991002" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">return "User is now registered"</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1108.438976791211 2825.7765567030015 L 867.074189584711 2825.7765567030015" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray="4.52359476"/><g transform="translate(857.763123703711,2825.7765567030015) translate(-857.763123703711,-2825.7765567030015)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 867.187279453711 2821.0644788280015 L 857.763123703711 2825.7765567030015 L 867.187279453711 2830.4886345780014 Z"/></g></g><g><g><rect fill="rgb(204,230,204)" stroke="none" x="483.9364323418555" y="2842.7400370530017" width="176.81129043035156" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="485.6327803768555" y="2854.953742905002" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">return "User is now registered"</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 846.454136803711 2860.3820566170016 L 307.5410841913516 2860.3820566170016" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray="4.52359476"/><g transform="translate(298.2300183103516,2860.3820566170016) translate(-298.2300183103516,-2860.3820566170016)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 307.65417406035164 2855.6699787420016 L 298.2300183103516 2860.3820566170016 L 307.65417406035164 2865.0941344920016 Z"/></g></g><g><g><rect fill="rgb(204,230,204)" stroke="none" x="121.61492150445315" y="2877.3455369670014" width="93.73006789617187" height="17.642019564"/></g><g><rect fill="rgb(204,230,204)" stroke="none" x="121.61492150445315" y="2890.9163212470016" width="139.8175770514453" height="17.642019564"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="123.31126953945315" y="2889.5592428190016" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">               return </text><text fill="black" stroke="none" font-family="sans-serif" font-size="9.6pt" font-style="normal" font-weight="normal" text-decoration="normal" x="123.31126953945315" y="2903.130027099002" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">"User is now registered"</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 286.9210314103516 2908.5583408110015 L 105.43745453100003 2908.5583408110015" stroke-miterlimit="10" stroke-width="0.9424155750000001" stroke-dasharray="4.52359476"/><g transform="translate(96.12638865000002,2908.5583408110015) translate(-96.12638865000002,-2908.5583408110015)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 105.55054440000002 2903.8462629360015 L 96.12638865000002 2908.5583408110015 L 105.55054440000002 2913.2704186860014 Z"/></g></g><g><g/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 247.3395772603516 348.882245865 L 1514.1720925689453 348.882245865 L 1514.1720925689453 463.329193293 L 247.3395772603516 463.329193293 L 247.3395772603516 348.882245865 Z" stroke-miterlimit="10" stroke-width="1.6155695571428572" stroke-dasharray=""/><path fill="red" stroke="black" paint-order="fill stroke markers" d=" M 247.3395772603516 348.882245865 L 247.3395772603516 362.453030145 L 357.01086526933597 362.453030145 L 363.79625740933596 355.667638005 L 363.79625740933596 348.882245865 L 247.3395772603516 348.882245865" stroke-miterlimit="10" stroke-width="1.6155695571428572" stroke-dasharray=""/><text fill="white" stroke="none" font-family="sans-serif" font-size="6.4pt" font-style="normal" font-weight="bold" text-decoration="normal" x="258.6485641603516" y="357.92943538500003" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Data Store Timed Out</text></g><g><g/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 11.308986900000008 480.292673643 L 1786.4765054441407 480.292673643 L 1786.4765054441407 2993.3757425610006 L 11.308986900000008 2993.3757425610006 L 11.308986900000008 480.292673643 Z" stroke-miterlimit="10" stroke-width="1.6155695571428572" stroke-dasharray=""/><path fill="blue" stroke="black" paint-order="fill stroke markers" d=" M 11.308986900000008 480.292673643 L 11.308986900000008 493.863457923 L 105.49886011406251 493.863457923 L 112.28425225406251 487.078065783 L 112.28425225406251 480.292673643 L 11.308986900000008 480.292673643" stroke-miterlimit="10" stroke-width="1.6155695571428572" stroke-dasharray=""/><text fill="white" stroke="none" font-family="sans-serif" font-size="6.4pt" font-style="normal" font-weight="bold" text-decoration="normal" x="22.61797380000001" y="489.339863163" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Data Store Online</text></g><g><g/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 56.544934500000025 1044.1587604770002 L 1606.345494392578 1044.1587604770002 L 1606.345494392578 1303.134560487 L 56.544934500000025 1303.134560487 L 56.544934500000025 1044.1587604770002 Z" stroke-miterlimit="10" stroke-width="1.6155695571428572" stroke-dasharray=""/><path fill="red" stroke="black" paint-order="fill stroke markers" d=" M 56.544934500000025 1044.1587604770002 L 56.544934500000025 1057.7295447570002 L 154.99562619550784 1057.7295447570002 L 161.78101833550784 1050.9441526170003 L 161.78101833550784 1044.1587604770002 L 56.544934500000025 1044.1587604770002" stroke-miterlimit="10" stroke-width="1.6155695571428572" stroke-dasharray=""/><text fill="white" stroke="none" font-family="sans-serif" font-size="6.4pt" font-style="normal" font-weight="bold" text-decoration="normal" x="67.85392140000002" y="1053.2059499970003" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Unauthorized User</text></g><g><g/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 56.544934500000025 1320.098040837 L 1606.345494392578 1320.098040837 L 1606.345494392578 1516.195873683 L 56.544934500000025 1516.195873683 L 56.544934500000025 1320.098040837 Z" stroke-miterlimit="10" stroke-width="1.6155695571428572" stroke-dasharray=""/><path fill="red" stroke="black" paint-order="fill stroke markers" d=" M 56.544934500000025 1320.098040837 L 56.544934500000025 1333.668825117 L 154.99562619550784 1333.668825117 L 161.78101833550784 1326.8834329770002 L 161.78101833550784 1320.098040837 L 56.544934500000025 1320.098040837" stroke-miterlimit="10" stroke-width="1.6155695571428572" stroke-dasharray=""/><text fill="white" stroke="none" font-family="sans-serif" font-size="6.4pt" font-style="normal" font-weight="bold" text-decoration="normal" x="67.85392140000002" y="1329.1452303570002" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Unauthorized User</text></g><g><g/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 22.617973800000016 1533.159354033 L 1712.410568638086 1533.159354033 L 1712.410568638086 2976.412262211001 L 22.617973800000016 2976.412262211001 L 22.617973800000016 1533.159354033 Z" stroke-miterlimit="10" stroke-width="1.6155695571428572" stroke-dasharray=""/><path fill="blue" stroke="black" paint-order="fill stroke markers" d=" M 22.617973800000016 1533.159354033 L 22.617973800000016 1546.730138313 L 111.11424349843752 1546.730138313 L 117.89963563843752 1539.944746173 L 117.89963563843752 1533.159354033 L 22.617973800000016 1533.159354033" stroke-miterlimit="10" stroke-width="1.6155695571428572" stroke-dasharray=""/><text fill="white" stroke="none" font-family="sans-serif" font-size="6.4pt" font-style="normal" font-weight="bold" text-decoration="normal" x="33.926960700000016" y="1542.206543553" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Authorized User</text></g><g><g/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 56.544934500000025 1682.211801375 L 891.690084403711 1682.211801375 L 891.690084403711 1781.9570658330001 L 56.544934500000025 1781.9570658330001 L 56.544934500000025 1682.211801375 Z" stroke-miterlimit="10" stroke-width="1.6155695571428572" stroke-dasharray=""/><path fill="red" stroke="black" paint-order="fill stroke markers" d=" M 56.544934500000025 1682.211801375 L 56.544934500000025 1695.782585655 L 155.46210263593753 1695.782585655 L 162.24749477593753 1688.9971935150002 L 162.24749477593753 1682.211801375 L 56.544934500000025 1682.211801375" stroke-miterlimit="10" stroke-width="1.6155695571428572" stroke-dasharray=""/><text fill="white" stroke="none" font-family="sans-serif" font-size="6.4pt" font-style="normal" font-weight="bold" text-decoration="normal" x="67.85392140000002" y="1691.2589908950001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Invalid Information</text></g><g><g/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 33.92696070000002 1798.9205461830002 L 1701.101581738086 1798.9205461830002 L 1701.101581738086 2959.448781861001 L 33.92696070000002 2959.448781861001 L 33.92696070000002 1798.9205461830002 Z" stroke-miterlimit="10" stroke-width="1.6155695571428572" stroke-dasharray=""/><path fill="green" stroke="black" paint-order="fill stroke markers" d=" M 33.92696070000002 1798.9205461830002 L 33.92696070000002 1812.4913304630002 L 125.73858379199221 1812.4913304630002 L 132.52397593199223 1805.7059383230003 L 132.52397593199223 1798.9205461830002 L 33.92696070000002 1798.9205461830002" stroke-miterlimit="10" stroke-width="1.6155695571428572" stroke-dasharray=""/><text fill="white" stroke="none" font-family="sans-serif" font-size="6.4pt" font-style="normal" font-weight="bold" text-decoration="normal" x="45.235947600000024" y="1807.9677357030002" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Valid Information</text></g><g><g/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 56.544934500000025 2077.573983399 L 1606.345494392578 2077.573983399 L 1606.345494392578 2344.0137147630007 L 56.544934500000025 2344.0137147630007 L 56.544934500000025 2077.573983399 Z" stroke-miterlimit="10" stroke-width="1.6155695571428572" stroke-dasharray=""/><path fill="red" stroke="black" paint-order="fill stroke markers" d=" M 56.544934500000025 2077.573983399 L 56.544934500000025 2091.1447676790003 L 160.68088315351565 2091.1447676790003 L 167.46627529351565 2084.359375539 L 167.46627529351565 2077.573983399 L 56.544934500000025 2077.573983399" stroke-miterlimit="10" stroke-width="1.6155695571428572" stroke-dasharray=""/><text fill="white" stroke="none" font-family="sans-serif" font-size="6.4pt" font-style="normal" font-weight="bold" text-decoration="normal" x="67.85392140000002" y="2086.6211729190004" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">data store timed out</text></g><g><g/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 45.235947600000024 2360.9771951130006 L 1617.654481292578 2360.9771951130006 L 1617.654481292578 2942.485301511001 L 45.235947600000024 2942.485301511001 L 45.235947600000024 2360.9771951130006 Z" stroke-miterlimit="10" stroke-width="1.6155695571428572" stroke-dasharray=""/><path fill="blue" stroke="black" paint-order="fill stroke markers" d=" M 45.235947600000024 2360.9771951130006 L 45.235947600000024 2374.547979393001 L 145.5900511607422 2374.547979393001 L 152.3754433007422 2367.7625872530007 L 152.3754433007422 2360.9771951130006 L 45.235947600000024 2360.9771951130006" stroke-miterlimit="10" stroke-width="1.6155695571428572" stroke-dasharray=""/><text fill="white" stroke="none" font-family="sans-serif" font-size="6.4pt" font-style="normal" font-weight="bold" text-decoration="normal" x="56.544934500000025" y="2370.024384633001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">data store is online</text></g><g><g/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 56.544934500000025 2391.5114597430006 L 1606.345494392578 2391.5114597430006 L 1606.345494392578 2608.644008223001 L 56.544934500000025 2608.644008223001 L 56.544934500000025 2391.5114597430006 Z" stroke-miterlimit="10" stroke-width="1.6155695571428572" stroke-dasharray=""/><path fill="green" stroke="black" paint-order="fill stroke markers" d=" M 56.544934500000025 2391.5114597430006 L 56.544934500000025 2405.082244023001 L 142.22148679121096 2405.082244023001 L 149.00687893121096 2398.2968518830007 L 149.00687893121096 2391.5114597430006 L 56.544934500000025 2391.5114597430006" stroke-miterlimit="10" stroke-width="1.6155695571428572" stroke-dasharray=""/><text fill="white" stroke="none" font-family="sans-serif" font-size="6.4pt" font-style="normal" font-weight="bold" text-decoration="normal" x="67.85392140000002" y="2400.558649263001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">User does exist</text></g><g><g/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 56.544934500000025 2625.607488573001 L 1606.345494392578 2625.607488573001 L 1606.345494392578 2925.5218211610013 L 56.544934500000025 2925.5218211610013 L 56.544934500000025 2625.607488573001 Z" stroke-miterlimit="10" stroke-width="1.6155695571428572" stroke-dasharray=""/><path fill="green" stroke="black" paint-order="fill stroke markers" d=" M 56.544934500000025 2625.607488573001 L 56.544934500000025 2639.178272853001 L 157.85283444746096 2639.178272853001 L 164.63822658746096 2632.392880713001 L 164.63822658746096 2625.607488573001 L 56.544934500000025 2625.607488573001" stroke-miterlimit="10" stroke-width="1.6155695571428572" stroke-dasharray=""/><text fill="white" stroke="none" font-family="sans-serif" font-size="6.4pt" font-style="normal" font-weight="bold" text-decoration="normal" x="67.85392140000002" y="2634.654678093001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">User does not exist</text></g></g><g/><g/><g/><g/><g/><g/><g/><g/></g></svg>