diff --git a/docs/development/backend.md b/docs/development/backend.md index 351ace6a9..16c16c7e7 100644 --- a/docs/development/backend.md +++ b/docs/development/backend.md @@ -121,6 +121,12 @@ Objects and models may contain information specific to the manufacturer, for exa ![Transaction abstractions](images/transactions.excalidraw.svg) +### Transaction processing + +Transaction processing is complicated. trying to make some sense here + +![Transaction processing](images/transaction_processing.excalidraw.svg) + ## API docs diff --git a/docs/development/images/transaction_processing.excalidraw.svg b/docs/development/images/transaction_processing.excalidraw.svg new file mode 100644 index 000000000..535d6c455 --- /dev/null +++ b/docs/development/images/transaction_processing.excalidraw.svg @@ -0,0 +1,2 @@ +eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1dZ3PjyrH9fn+Fav3Fr8qCJ/QkV7lcXJKosMo5Pb9SUSQlUWJcdTAwMTKDksv//XVjd0mQXHUwMDE4gKBcYlG6W+S1byC54Fx1MDAwMNPd53RPh//8sbDwrfvaqnz7x8K3ykupWKuW28Xnb3+j958q7U612cCPRPjfnWavXVxuv3nX7bY6//j73+vF9kOl26pcdTAwMTVLleCp2ulcdTAwMTVrnW6vXFxtXHUwMDA2pWb979Vupd75XHUwMDE3/X23WK/8s9Wsl7vtYPAji5Vytdts//itSq1SrzS6XHUwMDFkvPr/4n8vLPwn/Dt+Ui2Hv7h6ur249GjPX/ma7p40WEl/P1x1MDAwYv9o+KVft1Bst5vPg7df8D1cdTAwMDMscIwzp1x1MDAwNXBcdTAwMDVO9T99xU+50CawlilpjVx1MDAwNGe463/8XFwtd+/oK1x1MDAwMb5cdTAwMGZgXHUwMDFkN4pxYY3pf+WuUr296+J3pDCBXHUwMDA2yzVXXG5/UNj+V4qN21x1MDAxYS2N9d/pdNvNh8pKs4b3jkv+XHUwMDBir9Bfg0VfXHUwMDE3S1x1MDAwZrftZq9RXHUwMDFlfOfmplJybvCdm2qtdtR9XHKvjPuCXHUwMDBm9NvI9c9+rl6MvJ/0p/BcdTAwMDdv71x1MDAxYZVcdTAwMGXtXHUwMDAw77/bbFx1MDAxNUvVbvig2OBcdTAwMGVoda3v5XCz/m+wpjZu83farUavVuu/XW2UK7RcdTAwMGbfLt+Gfq1R/vlrQ9/uVCp0XHUwMDA1rjU+bTVYyEBcdTAwMTaNXHUwMDFifXO32VxixVI44ZxmfLDD1U5cdTAwMDFcdTAwMDWrXHUwMDFiXvJcdTAwMDaFszJ4yLSA1YjQXHLuo9cqXHUwMDE3f/xcdTAwMTFuXGaXQlnQXGZcdTAwMDZLqVVcdTAwMWJcdTAwMGajy641S1x1MDAwZp5faTWrUZmm1+DfXHUwMDE2XHUwMDA2Mlx1MDAxMf5H/9//72/ebyfLIb1iXHUwMDEyOLjcXHUwMDFmI5f9Vit2uivNer3axfvcpzXGtqFbbHeXceuqjVv87D/9i/1S1HCfv11cXPX2XHUwMDE3a8eyUz+xnc2n7cM9vSS/XHKW9e2mWerR/bNcdTAwMDBcdTAwMTRwwVx1MDAwNVNcdTAwMDIkMFxcbeRbt8VcdTAwMTbpUMDBSvyQa2W0+Pnxf/trqjTK41e0vGvWikvWbjfu2Mlt9aS8tnJa8K1okVx1MDAwNWhcZpi0uMGK9lfz2IpcXGBcdTAwMDSAxFx1MDAxNaNtsE7I2JrC57RERueuUoyJPq44+tmodarUrpvPXHUwMDAzqfkjculcdTAwMTHrt7G022n35Nb6bt1sn1x1MDAxN3Xjeqe8XHUwMDE2t37tSqn7w95cZllAXHUwMDAxNkBJVkwox1x1MDAxZFx1MDAxM05cdTAwMGaZQNyVXHUwMDAwXHUwMDFmglx1MDAxM1x1MDAxNlx1MDAxZoPjUlx1MDAwZUzGL1x1MDAxMyi1XHUwMDBipNFcdTAwMDZ3XHUwMDA2UCu5z1x1MDAwMjJcdTAwMTmAwP1ccoVcdTAwMGb/QL5cdTAwMTaw2y42Oq1iXHUwMDFiNzpXK1gudu4qMzWDReY3g1x1MDAxMYn+uZ9cdTAwMWVx+2FcdTAwMWRBO6tcdTAwMTVjg21cdTAwMTiYR9yfJPtcYtY6K3BcdTAwMWJzto9cdTAwMWHQRlx1MDAwZS463j6mSPrh1lvr9Kp5bVx1MDAxYVvNxsVx8cDeNPayS7rWgdCKM4R6i1x1MDAwMs9gSNJBuIChXHUwMDFhgDJcYlx1MDAxNcx6XHUwMDA0XcpcdTAwMDD1w1x1MDAxYXA/Xlx1MDAxMJd0JFxmSlx1MDAwYpWvfP/lWtyI6+s/N8JcdTAwMTf51KItLFx1MDAxN7h/0iPZStlEyVx1MDAxNlxiiUa+XHUwMDBi+PtrXHUwMDFirDJcImjdyks3XHUwMDAyXHUwMDFmfTlt93bKb5tn31x1MDAwZu3Fy9vOZf3oSG20vvW/99+/+S/741x1MDAwZm8/i4tcdTAwMGKxdLVZY1x1MDAwN3uqdNR+fbyrXGb/yjChzXhd3TLX1afmSu1cXFx1MDAxZt/srPHrjYo+z+O6SzdrevdhXHUwMDEx7OnB91W42z9/OtzLdt1cdTAwMTj3+FDr4d+VmPVcdTAwMTja1Fx1MDAxZobD6oBcdKlRr521PML2QruhWCAlR98hyW5cYidcdTAwMTFinVGgpdVRL6JvNvK2XHUwMDE4XHUwMDFmhYifYDVOsztcdTAwMDaCMYc7xKTPQoDRo+/+slx1MDAxMFx1MDAxY9BmW2Q/gz/3SeA3kEaSQrz/Y9rIYqmLq90vvtJv7rebJXxcdTAwMDQ/feNcdTAwMWZcdTAwMGax2ehcdTAwMWVV30I3h1xyvbtWrFdrtFx1MDAxM2royku16i09k28lvGAlciV8MN0q+uD9L9Sr5XJcdTAwMTRIS3jRYrVRaX/PgsjNdvW22ijWjie5m2Kv2zysdH7cT7fdq0SfX2Xjl8rwQKhcdTAwMTRtX63q8+bh0uXe4u5V15ijcmVHvWXmXG6LyO41XCK94o6osYm49fQ0XHUwMDE3TcA0c0ibLVx1MDAxOIv0f1x1MDAwMD79wFx1MDAwMFx1MDAxMmdtiC1cZlx1MDAxZf2AXHUwMDBmz1x0gkfV5dRcdTAwMDTBOMW1lcqv/zD6bl//lTFMclx1MDAxYrHsXHUwMDFmzlx1MDAxMW6LL43Nl7vG3frKzcr6xcXSZXGtOFx0NkpH9iUnbPSvJlx1MDAwMzailFx1MDAxYi1cdTAwMTnjilx1MDAxYkBW7eywoohcdTAwMTFFiSjSL01Byqy5c+jbW4G7IDz6MofHJJ2BXHTQkVx1MDAwMlx1MDAxYSxBOZhIUlx1MDAwZVx1MDAwMFx1MDAxMCDFu1QjT+mNQeNRpf1ULVW+XHUwMDAyXGaOXHUwMDAxm1FcdTAwMTiMrTxcdTAwMWbIa73q+pl4fCp37vcuW5c3r99cdTAwMGYrp9khz1x1MDAwNrjTXHUwMDFhd1x1MDAwNXyQXHUwMDA3MrBcYmao4VxcXHSuI9HXz0G8oirbm5s/ufaqqVx1MDAxMY8rhSqtUZ88Wq0gput9yDNcZlx1MDAxZFx1MDAxN1x1MDAxMVxyxX045K09XHUwMDE0dlx1MDAwZVaKZ5WTl9Lh01x1MDAwNj/plb5cdTAwMTc+XHLy/KvJXHUwMDAweZJcdTAwMDVaoVx1MDAxN2eYXHUwMDAxLvAlh1x1MDAxNcWOU1x1MDAxNFx0XHUwMDAxXHUwMDE4dFRcdTAwMTj4dWWOdkn6orOjndJaKs69p0RgXHUwMDEy9Vx1MDAwMvmH05LLnMOgOcDdZvP6K0DdXHUwMDE4kFx1MDAxOYW6oVXnXHUwMDAzczubpydH1dXt08d2p1nZ1cu8cl6dIFxuzFx1MDAwM1xyUlwiqVx1MDAxMdZcIsxcckeB0VwiXHUwMDA2wuBnkjNtkM5cdTAwMGVcdTAwMWXjIFxmLFx1MDAwMmudM0JcdTAwMWGpmFx1MDAxYuhHX4NcdTAwMTXaXHUwMDAwY1x1MDAxOcdfQcplI0I4XHUwMDA3v74ym+nBT1x1MDAxYW1xm4RPyfHxJ4KfRlx1MDAwYlx1MDAxZNqH2YFfRZf2tvabb9VcdTAwMGXnz5ePb1x1MDAxNy+VldNcdTAwMTnEhMeCaq4xVv9dZlx1MDAwMVVwXHUwMDAx6qN0IISVRlxyY6pQMlx1MDAxMJyDcJbjxoGHfCpcdTAwMTMoxFREVINcdTAwMDRcdTAwMTaYjmvlXHUwMDFjV5NU0U6SfOHQSUD7XHUwMDE5O0n8Ruk0sVPHXzqHW6qd0i7v/IvpQ6w/Q5A/XHUwMDAzkl9cdTAwMDFjxyDcKMYm3UA+cJtue9KSq+hEXHUwMDE1sVQzZtHdYG5cdTAwMDRpnVxypFVcdTAwMDBOWGWjYZ9Bblx1MDAxNXNcdTAwMTaURMlBnJVgXHUwMDA3RqGv01xc2ECAdk7gryB4R45f5lDb12+XXHUwMDE1auOJNVx1MDAwMzqNXHUwMDBlo5K+rII0N9MyJlx1MDAwNO7OXGaRtla+ftzeqixcdTAwMTd2i+dHK6/H243bLTcpXCI6/S6bknNOV5L8h5/GJH9wvdgt5pbUlW6aXHUwMDE2hlKoXHUwMDE4U2icwSnHXHUwMDEwlI3WKvK9X2ldQlK+mlFKUNxJx7lepsyu9HOokWVxKVxy5TOhf24taJCxZYlcdTAwMDA48ne0TVx1MDAxNm2TVdrE9WI2yV1+Yc5CqJRcdTAwMGXwXHUwMDFlLD1aXHUwMDAzLJr4+PqTbzEkwVxuXHUwMDE0t2DjhFxueFx1MDAwMIoyJp2cRYziI+zsJ6RvLU1cdTAwMTCOp6xjXHUwMDBi0ue78GTXhXRcdTAwMWRZMM/5qFpcdTAwMWE0L3xAmt/Bo5Dg1DpfgT6NYSyj9Glk3fmwprea4CtcdTAwMWKN+5v71VLhqbp7f2bXPSnpSbF4XHUwMDAzgUbIXHUwMDE1gCbUgNbDSZmG80BcdTAwMGJcdTAwMDZcdTAwMDZccplRhsVPn+cxinz0eXnqXHUwMDE4heNcdTAwMGW3K3q0XHUwMDFjUXPGXHUwMDEzmVx1MDAxM7pYlHksZ0icVvdcdTAwMWWeXHUwMDE2a9Wdh9fl+/bePt5qtV387PSyQufJrb29te4ubo9Oylx1MDAwN2+l9Td1klfog1MsYVx1MDAxMqOXovH+p5dcdTAwMDGpXHUwMDE3QVx1MDAwN1x1MDAwZbmP0MZcIlCbyJFMqOzI85RygEzaOjBxN0lcdTAwMThDUG2MsXJ+gD6phq9MXHUwMDEw+rBOUumJ9ukyMvVEzEYjzTnYvGNcdTAwMWbSXG5mXCJcdFx1MDAxN+/A7FVcdTAwMDTN29doWtZXyi5cdTAwMWJcdTAwMDOio0Ce5WbyQffeRXlv9b657rbuW9fPXHUwMDE3O65Vif7IXHUwMDE4dNeSXHUwMDA3nKNHJ1HfteIj+s5cXGCYMExZdJpcdTAwMWOPJ8zMwT1cdTAwMWbVL0xcdTAwMGbu6LRcbmu8UVx1MDAxMc5FskVgUqBcdTAwMTS885jxfehefyuI+uXxljrb6FxctXrV1v661jNI8k69rr162TksXa5XXHUwMDBmi63VW1dcXFu/eFx1MDAxNblcdTAwMWRsSFx1MDAwMJnTwYb/6WVAd1xyiM6oiUopgc62XHUwMDFjXHUwMDBlglx1MDAxYaFcdTAwMDOkIFx1MDAwNkHbalx1MDAxZKm96us6Y1x1MDAwMUdwXHUwMDE3jjHpmJ6D+yRcdTAwMWG+Ook7zq2WTvvyaDhP5ulcdTAwMDK5mbJcdTAwMTbelUeTp/DGsH2p1apVi7jKr1xu72NQdFx1MDAxNN4z3k8+XGKf7s6knXpIw6hiklx1MDAxMV3XiFx1MDAwMcPoXHUwMDBlzlx1MDAwNnSMicafOyGZh85bXHUwMDFiMGU4s+jaXHUwMDFi54TvJFx1MDAxMzmCXHUwMDEzXG7tXHUwMDAxfs1K/SdcYsbNXvnXssJ74qFcdTAwMDdHXaTTZOM76+Qusdaco5Ng0Z6Id1x1MDAwNeneXHUwMDA376+98sq6uZbd50OzeXaz03yu2NbH5lx1MDAwMfTfzvXUYzFZXHUwMDAx6Fx1MDAxNVx1MDAxM/3B9WK3mNupR+bjXHUwMDA1XHUwMDE2MFxyYFx1MDAxOC1cdTAwMWX3XHUwMDFmOXjkSz/OXHUwMDE2TIBuOjiGpsFyXHUwMDA3jMekL9OJR7pvtDB04iG0MHTMylx1MDAwNUVcdTAwMTk0i1x1MDAxZnhwXHUwMDE5IIppOlx1MDAxNzFKXHUwMDE4riCuXHUwMDEzsznw8MtxXHUwMDA2osUlUimOXHUwMDE2VUhhnVXDIVNlILDaMVBcdTAwMGV3Rvo6eUhcYlx1MDAxNIpcdTAwMWJH3ytcZqR4vKqBTZrb2YGdnaBCj1ONiDWC+yxqsr/ktEI7gNuaL8lC/1x1MDAxYv85+NV3kKxyhTL5r0gsXHUwMDE3/vnvxk5liFx1MDAxMX1cdTAwMWW3XHUwMDFhw19GuVX6beREqVJ9yDRKpSRcdTAwMGJcZjNUZoTcSdmRhGtKJKFcdTAwMWU+TCkpuY6rNlX+WyZcdTAwMTGSgbKQgHlcbvdcdFdC62FcdTAwMTlcdTAwMDNcdTAwMDBt5okkXHUwMDFlXV+fPpGE2iNYj0NcdTAwMTXuXHUwMDEzXHUwMDFifXdAqWiHyUObXHUwMDFkpXrqclx1MDAwYrfrjaf65ulio8vZZcF2/oyUKln+w09jkv+lKFx1MDAxNfFcdTAwMTeFqo1cdTAwMDSGXHUwMDFhmyjFXCJ8sM+pqG2QpG8hf8E7fVx1MDAxZqdKd0iHaFx1MDAxZUdcdTAwMTeOUXaIYZpFojpcdTAwMDNGhV4gINuQXGaYcVx1MDAxY335z2JUfjHOwKhcdTAwMTTdg9RgXHUwMDA0oLtcbjBcXNqpjFxytJNKKmfwMcCcUeVmZTeyXHUwMDEzKmdcdTAwMDVjXHUwMDEylDdcdTAwMDKdXHUwMDFjf0bptVx1MDAwMjct7yxcdTAwMTKk3aCmOpFcdTAwMWFhXCJHXHUwMDFiR39fXVxcrj58iTrPMVx1MDAxNGZcZqvy3Us+1Oq22Xvcq3SdbIir5abYYfqEPWbPNlGo5saC0Fx1MDAxNl1qXHUwMDA2bjhk5VTAXGZVhlJ01GlPtslsKz9/h3aHxe9Tnz1cdTAwMTlcdTAwMDXGgfZqPsJOoupbIyllVM4wNtWUsnvUbnG1xuHobfVhZfW4ufFphZ/+1WTAQyFcdTAwMDIlXHUwMDA048JcdTAwMTnmXHUwMDEw8IZcdTAwMGKkUSjG6YnSgUNH1mjuNDqz81x1MDAxYZVJNGZzgihcdTAwMDNSXFwqOVx1MDAxML4og1x1MDAxMok1KtSg0ODe2bxcdTAwMTM1pq/+XFx9+lwitSljoCaWk/H0XHUwMDAxJSn12+v172dHO40je1xcXFzcb1+3XHUwMDE37+8yw1x1MDAxZJd0XHUwMDA0XHUwMDAzICn/VnLJXHUwMDA3Qv6j6S/jgVx1MDAwMsEpXFzINJ8nV36URm9NjYFoRzVcdTAwMTdSxNv+0odcdTAwMWFcdTAwMTI7flmOXlx1MDAxOdPvXHUwMDBiKL5cdTAwMGZcdTAwMDT5/f7xgT2WZfN0XHUwMDA1vUJRrm6sPWbNk7i92LyoPl8/3ayuP7ev39ZcdTAwMWaPy7eXOeRfbGh9ud3db9uDRtlUXHUwMDFii8eNQncth+uuXHUwMDFm7m3cwM7ysbKq9b3aLrTl23q2644lXHUwMDAzXG7/5lwidV5TkVx1MDAwMf+uZCBcdTAwMDPcilx1MDAwMKkyqn9IXGKMXHUwMDFkPm/gaD9cdTAwMDKwnDuJXHUwMDEyirTB01x1MDAxNlx1MDAxMFSgKZdcdTAwMWa5XHUwMDAwcOM8fXPnbCDJdmxPwFx1MDAwNpRcdTAwMDUr8Un7jUS8c8ogS1x1MDAwYjfFRlNu8kntmFh+Y2zgXHUwMDE4XHUwMDFm/iD3YeGvPzJcdTAwMWb/5yvwgzHYXHUwMDFj61xiOO5O8mFcZurw4mDpqHOhtlxubFfsdlxu22L9MjNjWJRcdTAwMDGj81qqYCZIdyOMXHUwMDAxTGBBS1xyjHK4PC2yZ+og/z5KvjM9QUAyx1x1MDAxOVx1MDAxZDp6dF+7xKZn3HBcdTAwMTCWs1lcdTAwMTKEldW786XG5tJ9xdzvXHUwMDFjLdZXXG66WZ1cdTAwMDRcdTAwMThcdTAwMDGpkI2cbE9cdTAwMDWM/tVkXHUwMDAwRlx1MDAxMVJfTbFAq4zWMFxceMiVXHUwMDE4oyxgXHUwMDAzx51Todtk7LyeYVwindmdXHUwMDAwXHUwMDE4XHUwMDE5XHUwMDA17zWPV1x1MDAxYpJyyMSzOCqCXHUwMDAwq3OOXHUwMDFko/RqoaeqQNxu3lZLX1x1MDAwMVx1MDAwNMfAzShcYo6sO6dugPJKfe+1z7eOQJ2W3q4vNou72WtcdTAwMTRcdTAwMTa1XHJwO0BcdTAwMGLiQMap4cNcdTAwMWZcdTAwMTRUXHUwMDE5oH6j+2vRiTaR4pdcdLxknfPpz++jxUfTI5+hZ4701nfQziVLOVx1MDAxYmIghOLvXHUwMDBigr1cdTAwMGb65Jnd3mnubm7drTfXXHUwMDBieuvatZr2s33jw52to5aC773axc7SYnWvt1R4VTlcXPf18GX79fji/uR0bXll7UhcdTAwMWN2T3YyVjSmXvf0vnXtLi73r0s3T1x1MDAwN/uvsnblnli2646lXHUwMDE2XG5cdTAwMDDZ7yRcdTAwMDd7KZbJv9tcdTAwMTmoxVwi11x1MDAwMeKVtPiXXHTncIxcdTAwMTBxJnjAUq2SXHUwMDEwjqopLVx1MDAwN1DzUsnJjNLxXHUwMDA01MJcdTAwMTgjgVtvXHUwMDA0nktcdTAwMTl7u299pJPMaC7yrqeQ1EllXHUwMDEyblx1MDAxY2NcdTAwMTf7xdeFMDFuYalE7urCIf7CV2BcdTAwMWJjkD7WLir9PnI6kU41ymnJfohNgdJGXHRA/DKGmVHmoXXAhUVsc45cdTAwMDJnnr5RwGhcdTAwMWFcdTAwMWHDXHUwMDFkXHUwMDBmS658XHUwMDE1XHUwMDE0KIOBZVx1MDAwZZlcdDpcdTAwMTmWiUi7n7nWXHUwMDBmaf1ZViqSXFxGIdHq0oBcct9RtUzuPM4t5Vx1MDAwZaFcdTAwMTjMsEpy73G/cbBSu1xcqyw/b+mz0t61aZ1OXHUwMDFlnZZRpfmc5lGJSlx1MDAxMH5cdTAwMWFcdTAwMTP/wfVit5hbzl+6oVpcdTAwMTgqo2DacSXRXHUwMDBlXHUwMDAwWMPcXHUwMDAwMVx1MDAxNvpcdTAwMTl2aILoM1x1MDAwMS5cdTAwMWPEZ945XHUwMDE1MD1iXHUwMDE5WVXY0lxu6Vx1MDAwN/Ws4+iuUkVmfC6gXHS0dVpcdTAwMDGRXHUwMDEwLsHFc1x1MDAxMWeU9+dcdTAwMTflXGY0i4NcZjSl9pnwXHUwMDAwlMtcdTAwMTGWhXeOnzNFabyWXHUwMDE5Xyd4XGKEQ+Xl4Fx1MDAxY1x1MDAxM1x1MDAxMnz51vO0IJ+xnWjaXHUwMDEx18JRJ3FcdTAwMWbHSilOk8JcdTAwMWFcXGvOXGZcdTAwMGKomaObKslhpU1TfztcdTAwMGK1ys3XyHVIJzGjxMq//Hz4VGH5avfk1j1cdTAwMTVcdTAwMGWvXHUwMDBm6nXZrNrWydVcdTAwMDTRXHUwMDFjXHUwMDE1KMEpauOIXHUwMDA2s1x1MDAxMU5cdTAwMDVcZlx1MDAwMof2yqHlQpPl4kHZL5Dz8Fso+HlWNpVcdTAwMTjYQVx1MDAwN4k7pb1kimuVPORcZs2xUXQgMjs29bzW3VsuX1x1MDAxY4iz5dfNvWtRPLgqv352bsJcdTAwMTRxnbHsXHUwMDBmaFx1MDAxMO5EXHTQKTrvf3pcdTAwMTlcdTAwMDB8kZrYI7WjkYRcdTAwMGVRWo7kJoDgoTIz8rOASU9cdTAwMTG6gVx1MDAwMMXMaMktXmgmLSB/XHUwMDFml+liXHUwMDAyXHUwMDEwl4yGdnuHMnFtXHUwMDEyU1x1MDAxNbmRaIppXCJz3ihcdTAwMGVoWqaKk0TaM1x1MDAxY/XCXGLDTa/2ZfJcdTAwMTfHXHUwMDAwacrEwsSbyVx1MDAwN+HTzV1qx1x0yjxcdTAwMGW7uKJmg7ZsuD6SztXC6m5raJihU55UJGT0Jlx1MDAxY8LGQePXlYewk0NcdTAwMTlyR4fuXHUwMDBm0E/N8T2u+pdZ8T0xWuIklWBEPMtof/3kWImgfsZcdTAwMTR8yNdcdTAwMWV8lXDGYrKI0isunINcdTAwMGLGQDu3eMYkkVx1MDAwM8HRPzJGU96xjVx1MDAxNCkvRMJcdTAwMTlSXHQmXHUwMDExcrXU3HJcdTAwMTeTkEzhjHRcdTAwMDM3vCgpJaArKKmMz2hcdTAwMWTvXHUwMDBiYVx1MDAwM01ZcCBMXHUwMDE47FBxoZ1NLCOds6VcdTAwMTlHXHUwMDFigNNIg5zAx87VcPstztAxctpRh2zLXGaLXGJ6dFxigcBccrOgjKKwsyeYLKVcblx1MDAwNFx1MDAxM4DaXCItuj/z0IbHMlx1MDAxNqe2jFbQYFx1MDAxN+dNV4nubIwqaau0VmaGXHUwMDA32ku8UrtXq3uidL5+UEJcdTAwMDJevN3dmSiMTOdVMHjonzmDwC/+9IpcdP4srO5cdTAwMDRRZKp21zSUXHUwMDFkja9cdTAwMTBcdTAwMDOXeSFSpY0uM1x1MDAxM8qRgCCovHP+wCRGV1x1MDAwMcKAdcZpju64p0NcdTAwMTBX1O3CibA/mGHaxZFgRmbXL8ZZPFBjXHUwMDAyJtBtNJy4jFx1MDAxZPVAcTNcdTAwMDKNXHUwMDBmQSp8+jRpO253XHUwMDAxXHUwMDAykHRcdTAwMDBkrdWGR0Zsz2PIqYb22m9ovdXjXHUwMDFhcVx1MDAxZLHPXHUwMDFiS0r0PTWNvlx1MDAxY4pA5Vx1MDAxNUAmqjGN67nbXFwofbFcdTAwMTjyXHUwMDE45jLqbybeQU7H8ufLj7vPjTPdW345k6390/utgokrdFLlnEJzyTnqXCJcYipsXHUwMDExI1x1MDAwN0NWysBcdTAwMDBqK9JKxC9cdTAwMWVnU/Mwcj46XspKplJcdTAwMDZcdTAwMDfjXHUwMDE2gvVcdTAwMGZcdTAwMGVGypRcdTAwMWNHRsvMrdEzPJRXXHUwMDE33afllybf3T867zyIh3p5qbCcNdy7dmxva1x1MDAxYzbXVlx1MDAxZatH3fVtcXu31Vx1MDAxOf6V94d70WJcdTAwMTmTUyma/y4zgK1AXHUwMDE2g9gsNDmPlP424uRYUltLozJcdTAwMTnNXHUwMDAyUvGO4uicXHUwMDA2loqSLDhOg2lmcGD7+4R7y1x1MDAxM1x1MDAwMK6Tlto/elx1MDAwMdfGcXhweGNcdTAwMDRSIW5yxlxc5ahcdTAwMDJgqoYtP8dcdTAwMGX+jI5+mTjvXHUwMDE4pPMkxSXfRT7Ym15cdTAwMTObXHUwMDFl4LU03JRJ45RiiplYgFx1MDAxN900YFQvQ9PKIN5GnFE+hlx1MDAxMlTwrsMzQO7TcCMoo8ZJ6dDLjo5cdTAwMTWaI29f2StZkTcxjEGhNJ5QdVx1MDAwMzoxM1x1MDAxNv1sVFck63lnxn6RXGJviojSKyacg+vFYPpTXHUwMDAyvLg9gqnwaFx1MDAxZTWV21x1MDAwMbddiEw7pCmIjCNvoFiWjolItta/j1x1MDAwN+x4u3n/eFx0NyuF29X6huk2k9LoXHUwMDEwa7g2imumKdEvtib+aZ1+029jrC9cdTAwMDJcIkAvXHUwMDE0dYmhwUN1XHUwMDFh8UVcdTAwMTS1XHUwMDAzZohvgkpcclx1MDAxZJtcdTAwMTco5WpcdTAwMDZvpnZAXHUwMDAwtV1cdTAwMWFcdTAwMGbnXHR3zyVWXHUwMDFmqrBcdTAwMTcwvK/80O8ojPM/XHUwMDFljvaXnlx1MDAxZkv3tc7r08FmYe1683yzO4NWXHUwMDE4v4df4396WfxcdTAwMWGBmMDQabGC05GeXHUwMDE4yVpTwMeoOPqxYYtcci2oSydoX1x1MDAxMDHvXHUwMDE2lL+Pjt9m92s4wTZcdTAwMDA4b71PNL7rabkltMl9LjwhbLQ33jvnmf5joXRXbN9WXG5hJ8eFfzf+ulNs9G6KpW6vXWl/iYZcdTAwMWJjYNQ37TTzXeXj+KRbqlTHhyPpo7RcdTAwMTaJe0pcdTAwMTksw1x1MDAwNkAzg1x1MDAxZithUPlccoCNt6Bcclx1MDAxM9V1OINcdTAwMWFcdTAwMTTltvry2LhFXsaRkCHnRFx1MDAwNpp75+/fwu+5m9rv4VxmeFhT4M11i1dcbv4yXHUwMDEx4Fx1MDAxOONaqlx1MDAxOVx1MDAwMv6pWqtcdTAwMWTVO4VzuWueNlx1MDAxN6HGNu56k1x1MDAwMSiFSVVUXT7JqUqSf3rFJX9wvdgt5uZUZXZfQqeKU92m4JIrmsTuP8E16Fx1MDAxNVpcdTAwMDVcdTAwMTJNXHUwMDA0iHc6VenxotFVXHUwMDAxLswhpTBWXHUwMDFhyiyJLctcdTAwMDacqu952GhcdTAwMTC99viqZuRl+UU5XHUwMDBi+zIsMPjYaX6xRiy1I1Flw2RAt06lUHT0XHUwMDFmL1x1MDAwM7IyMFx1MDAxNLZcdTAwMTJOkYSpXHUwMDE5tDv9PWxtNTvxQslcdTAwMTLSJYytS56moHBjXHUwMDA1NabPm3VxdFx1MDAxY6bq4dL5XHUwMDExgf3XV6BWY4jLKLWKLz1cdTAwMWb+tFKute+WmoW1zlwir1x1MDAxZWyclY9XXHUwMDE2PVx1MDAwN0Nps+QttbGzgtq52GFcdTAwMTKFdjNAbGBcdTAwMTJJuJXO049pXHUwMDFlJ1l4vyrfT39Qa6jWUvuPjCDZs0K7LVxyQv8sh9CpVa2Wqivm7PamdXRbadTtfvVsXHUwMDA2k95Tr/th/Vb2WW3rfP1KPT/s7lx1MDAxY76c3lxcd8xLTlx1MDAwMVx1MDAxOFx1MDAxYSrKI3PGpztY9u5KXHUwMDA2XG6wXGI2sJLqnVGKQlx1MDAxOFx1MDAxZjZcdTAwMWRGXHUwMDA0kGo60HdcdTAwMGK4cZY5ZeaT6Sc0XHUwMDFkXHUwMDBmXHUwMDEzhF8kU/h/5y1cdTAwMWHg0YSAePhcdTAwMDWZP51cdTAwMGbkS1x1MDAwNCaX31x1MDAxOFx1MDAxMaA2JbjMRfzn+t7C91x1MDAwNvLlWu3HT39cdTAwMDFqMFx1MDAwNpN9PVfG3UxOhcKpVjQt2OKQXGIwa5BcImhk9WqkilxitzUw1PZPocRo5Vx1MDAxOUvPXHUwMDAyZUiWXHUwMDE4/k8xwC/Gtd2KQKFF4WEusY624p/T/77i16ZcdTAwMGa1WKmQq1nmc1x1MDAwYuLN0vtd0Vx1MDAxOXXbjFx1MDAxZcl8tjHIOVx1MDAxOJIkoPSKiebgcjG4zi9cdTAwMTYywVx1MDAxNFfG8WEyKbRcdTAwMDZcbj/EXHUwMDFiouiAUVx1MDAxNY+wXHUwMDAyfXdq4Fx1MDAxMVx1MDAxM49MkZB007YwdLwspKbmMfiDXG59UOupIJKBVChSaDlcdTAwMDSgbXGfVkKUTlx1MDAwM1NccqNcdICG5oE0jlx1MDAwMntcdTAwMDNJXHUwMDBlxyNxXHUwMDEzUFJcdTAwMTfXIFx1MDAxOD5cdTAwMDZPP6pcdTAwMDAtppBSW+WYoKnFXHUwMDFlw0hcclx1MDAxYWhaoKaMd1x1MDAxNZmmNjeMfcNYn9owOq0tqr/2OVOQ6EpJy1x1MDAxOGfS5l1b+UXs4mKygNIrJpqzMIyZjVx1MDAxMFx1MDAxOUapnXCM5ipZfFx1MDAxOc94a1x1MDAxNlD+K2eAXHUwMDE0RlNcZuN9pjFz6VForrmUXHUwMDBlt1hTMZc2Nt4qSlx1MDAwNmFcIpDiZF5cdTAwMTCSxKfNiLza6+7t3SxcdTAwMWSstlx1MDAxNo+7S5cttbFx6en2ndheRohAUitcdTAwMDPD8GVHXHUwMDEykK3SXHUwMDE0yEf4olx1MDAxYUsxL1x1MDAwYvgwXHUwMDAz2Zg+2lx1MDAwNMIySa1BPFx1MDAxNlJcdTAwMDAkepJcbqgt2vvadvaXN1GwqbC6ptZb5bPr3TXX235o1qV9OP9cdTAwMTLBXHUwMDFi0Fxc65z68PvvMqaZnuBcclx1MDAxYZ7AOPxLMWWdhGF/joI3TiOnRFWy1Gg/ppTzooDw3XeqYtOvit7oXHL1V8fnbLwzscEkh3jpuMVcdJ73XHUwMDE4V0XDXHUwMDE37LTNcr9iVcBcdTAwMTic+4SqgHRDlOaWLFpcdTAwMWVcdTAwMTDaamfQa1x1MDAwNcWG/Vx1MDAxMotcdTAwMWaT11wiqFx1MDAwMFeB8bQ2cC5cdTAwMTCUUY6aTqVgzFx1MDAwM7u4ekGjk7jVQIOu5ue1XHUwMDFlXe9k13VkglxirjqhL3YsfDuIzFx1MDAwMKp67llyX8dcdTAwMDNJXHUwMDE0RXrFhPBLeSBUfIdcXFx1MDAxZlVcdTAwMTFcdTAwMThcdTAwMDU4huJK/dBcZrJ8RrOIXHUwMDEwj6lcdTAwMTHT+/yPdPM16lx1MDAxNTl05MBcdTAwMTiwYVqMjq/KXHUwMDA1XHUwMDEyaZu2YYqs9GTOzMj72DwuvVx1MDAxZW9tbay97ew/mnah8PT8oifwPrhcdTAwMGUs/lxyLN6OlXqk11x1MDAwMGMuIFx1MDAwM4jE1oFm8TyVufeRj1x1MDAxOexO7X0gU0W2yr3HWEIld1xuXHUwMDBmW1x1MDAxZFxupmfY4aX3clnYvy4tnfCt+51ccjh7Xnbi+GuM6qBmJjnNyvbfZSbvQ0HA0Vx1MDAxNlrUKUOIN6KUXHUwMDAyddbhZ2Bx25iKs1x1MDAxM8FMXHUwMDAwxlmQXGJcdKjbs2hcIv37uFx1MDAxZr1cdChcdDX5Zv6YqFAyuVx1MDAxMYBcdTAwMTHoQOrcW1BcIichZc7N+/g6vSfH4FxcqvfxMU0n01xyUar3YVx1MDAxNHJcdTAwMWFnOTWHQ1x1MDAwNVx1MDAxZa2/Y1x1MDAxMsKRl1x1MDAxMvXY0qhtj/tBXHUwMDA3zsxQq38lXHUwMDE4XHUwMDFhg7iCs0Ci6tORM/o3XHUwMDA2dLSV/Fx1MDAxY3n72v6UXds1MiArwJ9OxpJcdTAwMDdmK0NNwPLu+TM5WH2YXHUwMDAzkiSM4cdcdTAwMWU5nIVcdTAwMGYy0XlcdTAwMDNoYzR6XHUwMDE5XG5Xx1x1MDAxNUSqp/tOiKNxXHUwMDE5mnLljbTo/b3PXHUwMDBiSTdjw6tCWWOKelBcdTAwMGJOM0h0bFGfV3/ce7oqdo6/XHUwMDFmPPVO1+5k+7Wxc/d8lNnrQJ8p4FxcUOkhMDbac1x1MDAxN0UlQGxcdTAwMDSUXHUwMDEzgXIu59XHudq756k9XHKOvpzG/zl/XHUwMDFifZuYOq9cclx1MDAxZJRcdTAwMWE9w4NcdTAwMGV1VlnSjW3xfemtelxmsHJ0tX9zmtXVsFcvO4ely/XqYbG1euuKa+tcdTAwMTevXCKH7NdcdTAwMDN2y+9qh3Vmu+pgrd4468Dia1x1MDAwZdd92TOV84f15cZ1/XH57LLwUOzeXFxlu27MXHUwMDBlx1tdKCUgp4NcdTAwMTn/rmRwjbTVgVZG0oEvXGKnXHUwMDA26/lxLiNcdTAwMDOeajnQYFx1MDAwNMY5S92CXHUwMDExjCz3mI65Y5RkOl6yUyUuXHUwMDEx71x1MDAxOXVe8tlcYlx1MDAwM4lcdTAwMTWLiHno9JrcZ1x1MDAxOFx1MDAxMu2QU9U0U1x1MDAxZerXTKhcdTAwMWSDxr6E2o9PpmUrrniqi7LwoDdKj7Yqtl5cdTAwMGVkZorAuUFapjVHus2QJ5jhwCS1ZTNOcWpfQrWNcVx1MDAwZmlcdTAwMWWYzEfnX6emXHUwMDBi6MIqZj1zS+lGdXJGLVfcXHUwMDAyXHUwMDFiOn37cLqgb3T3oH5/2ts/2zoubcFRXHUwMDExnt9mXHUwMDAw6+Ph19Fh5CRccl5TVNN/l1x1MDAxOeCXhyOAXHUwMDFklT2gOTVu5LjAakRXdKBozDBcdTAwMWJKaJnnReShi2/Z8ZfqjjjVp/iULjrpYlTpKM3POmbzxl9cdTAwMDdKuPxcdTAwMDKTXyctYlxmzn1CWkS625I68IGaJVwiXHUwMDEwaq0sR/RcdTAwMWPOikBWho4544ZcdTAwMGWUmYddU5FcdTAwMDBcYq2EXHUwMDE0XHUwMDE070Fkjmu3sYHghsaMc5rqweZJXHUwMDExcUW/Ziy7ptNmmbAvokfVpUpOgKKcQ2TaPO/yNYSG6PT4z6xY8Vx1MDAwYiO9YmI4uFxcXGaLc1x1MDAwYkn2Lsp7q/fNdbd137p+vthxrUozMSSpXHUwMDAxuVx1MDAxMa5NkumUXHUwMDEwb5NcdTAwMDFcdTAwMDHj9JFcdTAwMDRcdTAwMDZSXHUwMDFh9c7mXHUwMDFk6c7DwsJwyVxuXHUwMDA3XFxcdTAwMGVcdTAwMThcdTAwMDaCXHUwMDBizyBcdTAwMWVcYoy11JTKaMOpj3mcXHUwMDE0ziZAmc7FUitWLFx1MDAwYpzRXHUwMDBlnVxup+hcdTAwMTRmmOKg4Fx1MDAxOMDNXHUwMDAxxVx1MDAxZFx1MDAxM9zXN81cdTAwMDWWI1x0XHUwMDEySmjty1x1MDAwYmNcdTAwMDE6XHUwMDFjXFw4h1x1MDAxY4nmXHUwMDA3sYhzMzeCXHUwMDAzI8izXHUwMDFiQaSbgIbH21x1MDAxZUna5PZI0nJJ85tyJztcdTAwMTOS9Y8xgUmiXHUwMDE4/uG4XHUwMDEwzsRcdTAwMDRmtTY09lx1MDAwYshEW1x1MDAwNVx1MDAwMl1cdTAwMDZlRLxcYsRcdTAwMDXcKTSONE/b0fSv95nAdFxuN2JcdTAwMDJcdTAwMDVcdTAwMTMqnFx1MDAxOGdcdTAwMDT6O1x1MDAxMO+q5Fx1MDAwMnCUNsrp6NZy9WlcdTAwMTNoLq56+4u1Y9mpn9jO5tP24Z5eylx1MDAxZYHRXHUwMDEwpn6h+20kl0pcdTAwMGZzQS6YXG5wazi6cVxiQjaeXHUwMDAy/1x1MDAwNVx1MDAwMjBFVbY3N392Myj8ZnCSXHUwMDAzXHUwMDFi9Nu1lVZ4u8e5+Fx1MDAxOIt+i1x1MDAwM/RcItFwwCwrU15cdTAwMGWWxVx1MDAxNWva7YulnYemu1bHp2szOFx1MDAwMEm97t3q6fbi0qM9f+VrunvSYCX9/SyH615cdTAwMWQuqsZtXHUwMDBisWt1ed1U306udKec7boxXHUwMDEzXHUwMDFkXHUwMDAzIdSnyVKBUkyJf1dipiRcdTAwMWUxMmQmjFNoXHUwMDBmdThcIn3EilxiqrORXHUwMDFjSVx1MDAxN3Iq56FTNO2K0nGRczmLiDA/sJnEdshcdPxIKlA1MqFZkkvug0Ijsan7/PsySNNOXHUwMDFjKcFlqj4ox/j4XHUwMDFi++0mhVqa7YW/dqv1ypdoPDtcdTAwMDaaY5OU0+8jn7BRuvFMXHJcdTAwMWJxmplOXHUwMDE0kppDKFx1MDAxOO6S5lx1MDAwNJpcdTAwMDDNqNVcdTAwMTGKXHUwMDE390zYQFxyp1x1MDAxOapMgpNKWL+SU82dodm+SPioJnjuMnn0XHUwMDFkJnCZOOeaJo351D1uXHUwMDA0+tqu0Vx1MDAwZSt4JyfIM7/gg3ymRFmkV0xcblx1MDAwN5eLXHUwMDAx8qf4TIxGIFx1MDAwYie4NeHsVs+ETHSsXHUwMDE0tVx1MDAxZZGggXLL3lx1MDAxOTdKN2HDTlx1MDAxM9NIRVx1MDAxNLmiTKBL5CmnMVx1MDAwMeNhj1x1MDAxM01cdTAwMWWfkZ/mNC3vmrXikrXbjTt2cls9Ka+tnFx1MDAxNrI7TdrQ+Vx1MDAxOHNATUJVJEPqZ9NtRVx1MDAwZlx1MDAxZsXdXGJyjObH1lx1MDAxZmZcdJXfXHUwMDEyTuA1XHUwMDEx32SoRt5cZlx1MDAxNmeTLaRUyHeVneW59Xr96r7U2y+8Xe2IlXr3jZWXNndm4N1k8EKAu4nyblJ003+XXHUwMDE5vFx1MDAxMO00NTHBXUPdpKDSiFqiXHUwMDE3Qi2npVx1MDAwM1xulsVcdTAwMDfqXG5cdTAwMDNcdTAwMDE6KVx1MDAwNo0rxeOl8Vx1MDAxY2zNvZBEXdTZWYlcdKd0eed7XHSWMuOPcSrkli7vwywrTXSu2Ht8XHUwMDEw2sdiqYur/Xnoe9P7OmU1Y+Au5ohkuJl8vJEuq75eX/HO20bvwIj1XHUwMDE3vnFaWs2Ow8pcdTAwMDWUJsosXHUwMDAzy9iIR8KBmcA6anfEXHUwMDEwpiNcdTAwMDdZc1x1MDAxY85b983UOIz4Qc06rDeVhcVL71x1MDAwNjZcdTAwMDHxm85FZ1x1MDAxOL3cMefHnZuD9iPbejprXHUwMDE3O6WbwtPWb1x1MDAxN1xy9N9lXHUwMDA2XHUwMDFjRjJcdTAwMTUwR6PKXHSJlXQjaikgQINrXHUwMDExXHUwMDA0KEcpkpw9z1x1MDAxZstFXHUwMDE5bXYg1syg1Vx1MDAwM6/ScZbSOZ1cdCOpK0LOQOyoSfZUXHUwMDAz7r9o/thcdTAwMTig+4T8sXQ7lFx1MDAxYVxiNFx1MDAxYS9NoKi0XHUwMDAxOUKzhdZcdTAwMDF1KJDgkJArXHUwMDE57yZBXHUwMDBic0ZZjcovNWPM0+2TS1x1MDAxM3AhldTKWimjwcI57lx1MDAwZVTdTaDqmlxuanxhf1x1MDAxYuPhgzCgQD/qXHUwMDAzwoBcdTAwMTPjVP/tnMOASZJcdTAwMTh+XHUwMDFhk8HB9WJQnFtcdTAwMWMwc8SNSm6R/VxuxS3TVlx1MDAxYsHjXHUwMDA1rTww1PwqTGZQXHUwMDA2XHUwMDEwemP8K1NcdTAwMTgw3XwtRMOAkjolgFx1MDAwMaeYNcLTalx1MDAxNFx1MDAwMnxcdTAwMTdcdTAwMThcdTAwMDeFtJuqO+KUMPcg4Fx1MDAxZj+36lux1Trqoiz271x1MDAxNVWvWlx1MDAxZcGEXHUwMDFm73UrrVx1MDAwMVx1MDAxZYRv7TTLldVG8bo2KpffnqqV52WvlaFcdTAwMTdRuPDuyMpUQmL83z/++/8vpoLYIn0=TransactionPaymentProcessorServiceJobProcessPaymentcallsEnergyTransactionProcessorApplianceTransactionProcessordevice_type =Meterdevice_type =SHS/E-BikeEventTokenProcessor (Energy)LogicPay Meter Access RateCredits leftTransactionSuccessfulEventNo credits leftPaymentSuccessEventcall: chargeDevice (Manufacturer)success?Pay Non-PayGO InstallmentsPaymentSuccessEventPaymentSucceslEventPay PayGO InstallmentsPaymentSuccessEventTokenProcessor (time)TransactionSuccessfulEventPaymentSuccessEvent \ No newline at end of file