From 9dde8b63e799d08f9952631aea963683b3644d9d Mon Sep 17 00:00:00 2001 From: gittiver Date: Tue, 27 Dec 2022 23:44:43 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20OpenCoin?= =?UTF-8?q?/oc-mint-cpp@87386e1b6533489060ad3c73d03f38b1964f7656=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- annotated.html | 55 +-- big__int_8hpp_source.html | 107 +++++ classDefaultModel-members.html | 2 +- classDefaultModel.html | 6 +- classModel-members.html | 4 +- classModel.html | 12 +- classes.html | 2 +- files.html | 3 +- functions.html | 6 +- functions_vars.html | 6 +- hierarchy.html | 55 +-- inherit_graph_0.map | 2 +- inherit_graph_0.md5 | 2 +- inherit_graph_0.png | Bin 660 -> 878 bytes inherit_graph_1.map | 2 +- inherit_graph_1.md5 | 2 +- inherit_graph_1.png | Bin 1543 -> 660 bytes inherit_graph_10.map | 3 +- inherit_graph_10.md5 | 2 +- inherit_graph_10.png | Bin 1247 -> 1953 bytes inherit_graph_11.map | 2 +- inherit_graph_11.md5 | 2 +- inherit_graph_11.png | Bin 1358 -> 1247 bytes inherit_graph_12.map | 2 +- inherit_graph_12.md5 | 2 +- inherit_graph_12.png | Bin 1736 -> 1358 bytes inherit_graph_13.map | 2 +- inherit_graph_13.md5 | 2 +- inherit_graph_13.png | Bin 1412 -> 1736 bytes inherit_graph_14.map | 2 +- inherit_graph_14.md5 | 2 +- inherit_graph_14.png | Bin 1501 -> 1412 bytes inherit_graph_15.map | 2 +- inherit_graph_15.md5 | 2 +- inherit_graph_15.png | Bin 1264 -> 1501 bytes inherit_graph_16.map | 2 +- inherit_graph_16.md5 | 2 +- inherit_graph_16.png | Bin 1389 -> 1264 bytes inherit_graph_17.map | 2 +- inherit_graph_17.md5 | 2 +- inherit_graph_17.png | Bin 1355 -> 1389 bytes inherit_graph_18.map | 8 +- inherit_graph_18.md5 | 2 +- inherit_graph_18.png | Bin 18956 -> 1355 bytes inherit_graph_19.map | 8 +- inherit_graph_19.md5 | 2 +- inherit_graph_19.png | Bin 1425 -> 18956 bytes inherit_graph_2.map | 2 +- inherit_graph_2.md5 | 2 +- inherit_graph_2.png | Bin 619 -> 1543 bytes inherit_graph_20.map | 3 + inherit_graph_20.md5 | 1 + inherit_graph_20.png | Bin 0 -> 1425 bytes inherit_graph_3.map | 2 +- inherit_graph_3.md5 | 2 +- inherit_graph_3.png | Bin 691 -> 619 bytes inherit_graph_4.map | 2 +- inherit_graph_4.md5 | 2 +- inherit_graph_4.png | Bin 706 -> 691 bytes inherit_graph_5.map | 2 +- inherit_graph_5.md5 | 2 +- inherit_graph_5.png | Bin 1363 -> 706 bytes inherit_graph_6.map | 2 +- inherit_graph_6.md5 | 2 +- inherit_graph_6.png | Bin 1358 -> 1363 bytes inherit_graph_7.map | 2 +- inherit_graph_7.md5 | 2 +- inherit_graph_7.png | Bin 1073 -> 1358 bytes inherit_graph_8.map | 2 +- inherit_graph_8.md5 | 2 +- inherit_graph_8.png | Bin 1357 -> 1073 bytes inherit_graph_9.map | 3 +- inherit_graph_9.md5 | 2 +- inherit_graph_9.png | Bin 1953 -> 1357 bytes inherits.html | 45 +- model_8hpp_source.html | 544 +++++++++++++------------ search/all_0.js | 5 +- search/all_1.js | 8 +- search/all_2.js | 2 +- search/all_3.js | 2 +- search/all_4.js | 10 +- search/all_5.js | 4 +- search/all_6.js | 28 +- search/all_7.js | 2 +- search/all_8.js | 2 +- search/classes_0.js | 5 +- search/classes_1.js | 8 +- search/classes_2.js | 2 +- search/classes_3.js | 6 +- search/classes_4.js | 4 +- search/classes_5.js | 28 +- search/classes_6.js | 2 +- search/functions_0.js | 2 +- search/variables_0.js | 4 +- search/variables_1.js | 2 +- structBigInt-members.html | 85 ++++ structBigInt.html | 113 +++++ structBlind.html | 21 +- structBlindSignature.html | 15 +- structBlindSignature__coll__graph.map | 4 + structBlindSignature__coll__graph.md5 | 1 + structBlindSignature__coll__graph.png | Bin 0 -> 4412 bytes structBlind__coll__graph.map | 4 + structBlind__coll__graph.md5 | 1 + structBlind__coll__graph.png | Bin 0 -> 3929 bytes structCDD.html | 11 +- structCDDC.html | 7 +- structCDDC__coll__graph.map | 7 +- structCDDC__coll__graph.md5 | 2 +- structCDDC__coll__graph.png | Bin 5924 -> 11654 bytes structCDD__coll__graph.map | 5 +- structCDD__coll__graph.md5 | 2 +- structCDD__coll__graph.png | Bin 4321 -> 10024 bytes structCoin.html | 5 +- structCoin_1_1Payload.html | 27 +- structCoin_1_1Payload__coll__graph.map | 4 + structCoin_1_1Payload__coll__graph.md5 | 1 + structCoin_1_1Payload__coll__graph.png | Bin 0 -> 4337 bytes structCoin__coll__graph.map | 5 +- structCoin__coll__graph.md5 | 2 +- structCoin__coll__graph.png | Bin 3244 -> 5502 bytes structMintKey.html | 17 +- structMintKeyCert.html | 7 +- structMintKeyCert__coll__graph.map | 7 +- structMintKeyCert__coll__graph.md5 | 2 +- structMintKeyCert__coll__graph.png | Bin 6039 -> 13849 bytes structMintKey__coll__graph.map | 5 +- structMintKey__coll__graph.md5 | 2 +- structMintKey__coll__graph.png | Bin 3819 -> 9250 bytes structPublicKey.html | 21 +- structPublicKey__coll__graph.map | 4 + structPublicKey__coll__graph.md5 | 1 + structPublicKey__coll__graph.png | Bin 0 -> 4148 bytes structRequestMKCs-members.html | 2 +- structRequestMKCs.html | 10 +- structRequestMint-members.html | 2 +- structRequestMint.html | 19 +- structRequestMint__coll__graph.map | 4 + structRequestMint__coll__graph.md5 | 1 + structRequestMint__coll__graph.png | Bin 0 -> 4240 bytes structRequestResume-members.html | 2 +- structRequestResume.html | 19 +- structRequestResume__coll__graph.map | 4 + structRequestResume__coll__graph.md5 | 1 + structRequestResume__coll__graph.png | Bin 0 -> 4185 bytes structResponseCDDC.html | 11 +- structResponseCDDC__coll__graph.map | 11 +- structResponseCDDC__coll__graph.md5 | 2 +- structResponseCDDC__coll__graph.png | Bin 10107 -> 15442 bytes 149 files changed, 982 insertions(+), 565 deletions(-) create mode 100644 big__int_8hpp_source.html create mode 100644 inherit_graph_20.map create mode 100644 inherit_graph_20.md5 create mode 100644 inherit_graph_20.png create mode 100644 structBigInt-members.html create mode 100644 structBigInt.html create mode 100644 structBlindSignature__coll__graph.map create mode 100644 structBlindSignature__coll__graph.md5 create mode 100644 structBlindSignature__coll__graph.png create mode 100644 structBlind__coll__graph.map create mode 100644 structBlind__coll__graph.md5 create mode 100644 structBlind__coll__graph.png create mode 100644 structCoin_1_1Payload__coll__graph.map create mode 100644 structCoin_1_1Payload__coll__graph.md5 create mode 100644 structCoin_1_1Payload__coll__graph.png create mode 100644 structPublicKey__coll__graph.map create mode 100644 structPublicKey__coll__graph.md5 create mode 100644 structPublicKey__coll__graph.png create mode 100644 structRequestMint__coll__graph.map create mode 100644 structRequestMint__coll__graph.md5 create mode 100644 structRequestMint__coll__graph.png create mode 100644 structRequestResume__coll__graph.map create mode 100644 structRequestResume__coll__graph.md5 create mode 100644 structRequestResume__coll__graph.png diff --git a/annotated.html b/annotated.html index 82ab6b3..aa3491c 100644 --- a/annotated.html +++ b/annotated.html @@ -68,33 +68,34 @@ $(function() {
Here are the classes, structs, unions and interfaces with brief descriptions:
diff --git a/big__int_8hpp_source.html b/big__int_8hpp_source.html new file mode 100644 index 0000000..f6aebe4 --- /dev/null +++ b/big__int_8hpp_source.html @@ -0,0 +1,107 @@ + + + + + + + +oc-mint: src/big_int.hpp Source File + + + + + + + + + +
+
+ + + + + + +
+
oc-mint +  0.0.1 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
big_int.hpp
+
+
+
1 #ifndef BIG_INT_HPP
+
2 #define BIG_INT_HPP
+
3 
+
4 #include <string>
+
5 #include <array>
+
6 
+
7 #include "tl/expected.hpp"
+
8 
+
9 struct BigInt {
+
10 
+
11  BigInt() : data() {}
+
12  virtual ~BigInt() {}
+
13 
+
14  enum class eError : uint8_t { PARSE_ERROR };
+
15  static tl::expected<BigInt, eError> from_string(const std::string &str);
+
16 
+
17  static BigInt from_int(uint64_t value);
+
18  std::string to_string() const;
+
19 
+
20  friend bool operator == (const BigInt& rhs, const BigInt& lhs);
+
21 private:
+
22  std::array<uint8_t,256> data;
+
23 };
+
24 
+
25 bool operator==(const BigInt &rhs, const BigInt &lhs);
+
26 
+
27 #endif // #ifndef #ifndef BIG_INT_HPP
+
Definition: big_int.hpp:9
+
+ + + + diff --git a/classDefaultModel-members.html b/classDefaultModel-members.html index cc3ecff..6215ddb 100644 --- a/classDefaultModel-members.html +++ b/classDefaultModel-members.html @@ -72,7 +72,7 @@ $(function() { DefaultModel() (defined in DefaultModel)DefaultModelinline getCDDC(unsigned int cdd_serial) override (defined in DefaultModel)DefaultModelinlinevirtual getCurrentCDDC() override (defined in DefaultModel)DefaultModelinlinevirtual - getMKCs(const std::vector< unsigned int > &denominations, const std::vector< unsigned int > &mint_key_ids) override (defined in DefaultModel)DefaultModelinlinevirtual + getMKCs(const std::vector< unsigned int > &denominations, const std::vector< BigInt > &mint_key_ids) override (defined in DefaultModel)DefaultModelinlinevirtual getModel(const std::string &backend_name) (defined in Model)Modelstatic mint(const std::string &transaction_reference, const std::vector< Blind > &blinds) override (defined in DefaultModel)DefaultModelinlinevirtual redeem(const std::vector< Coin > &coins) override (defined in DefaultModel)DefaultModelinlinevirtual diff --git a/classDefaultModel.html b/classDefaultModel.html index 7baee76..f78d710 100644 --- a/classDefaultModel.html +++ b/classDefaultModel.html @@ -99,9 +99,9 @@ tl::expected< CDDC *, bool >  std::vector< BlindSignaturemint (const std::string &transaction_reference, const std::vector< Blind > &blinds) override   - -const std::vector< MintKeyCertgetMKCs (const std::vector< unsigned int > &denominations, const std::vector< unsigned int > &mint_key_ids) override -  + +const std::vector< MintKeyCertgetMKCs (const std::vector< unsigned int > &denominations, const std::vector< BigInt > &mint_key_ids) override +  bool redeem (const std::vector< Coin > &coins) override   diff --git a/classModel-members.html b/classModel-members.html index 6f53804..1f72b28 100644 --- a/classModel-members.html +++ b/classModel-members.html @@ -71,9 +71,9 @@ $(function() { - + - +
getCDDC(unsigned int cdd_serial)=0 (defined in Model)Modelpure virtual
getCurrentCDDC()=0 (defined in Model)Modelpure virtual
getMKCs(const std::vector< unsigned int > &denominations, const std::vector< unsigned int > &mint_key_ids)=0 (defined in Model)Modelpure virtual
getMKCs(const std::vector< unsigned int > &denominations, const std::vector< BigInt > &mint_key_ids)=0 (defined in Model)Modelpure virtual
getModel(const std::string &backend_name) (defined in Model)Modelstatic
mint(const std::string &transaction_reference, const std::vector< Blind > &blinds)=0 (defined in Model)Modelpure virtual
mint(std::string const &transaction_reference, const std::vector< Blind > &blinds)=0 (defined in Model)Modelpure virtual
redeem(const std::vector< Coin > &coins)=0 (defined in Model)Modelpure virtual
~Model() (defined in Model)Modelinlinevirtual
diff --git a/classModel.html b/classModel.html index 3532a51..9696c78 100644 --- a/classModel.html +++ b/classModel.html @@ -88,12 +88,12 @@ virtual tl::expected< CDDC *, bool & virtual tl::expected< CDDC *, bool > getCurrentCDDC ()=0   - -virtual const std::vector< MintKeyCertgetMKCs (const std::vector< unsigned int > &denominations, const std::vector< unsigned int > &mint_key_ids)=0 -  - -virtual std::vector< BlindSignaturemint (const std::string &transaction_reference, const std::vector< Blind > &blinds)=0 -  + +virtual const std::vector< MintKeyCertgetMKCs (const std::vector< unsigned int > &denominations, const std::vector< BigInt > &mint_key_ids)=0 +  + +virtual std::vector< BlindSignaturemint (std::string const &transaction_reference, const std::vector< Blind > &blinds)=0 +  virtual bool redeem (const std::vector< Coin > &coins)=0   diff --git a/classes.html b/classes.html index fde7309..c0f17f2 100644 --- a/classes.html +++ b/classes.html @@ -70,7 +70,7 @@ $(function() {
B
-
Blind
BlindSignature
+
BigInt
Blind
BlindSignature
C
CDD
CDDC
Coin
CoinStack
diff --git a/files.html b/files.html index e8a90cc..8281e48 100644 --- a/files.html +++ b/files.html @@ -69,7 +69,8 @@ $(function() {
Here is a list of all documented files with brief descriptions:
[detail level 12]
- + +
  src
 model.hpp
 big_int.hpp
 model.hpp
diff --git a/functions.html b/functions.html index 59637a2..fabc974 100644 --- a/functions.html +++ b/functions.html @@ -72,12 +72,12 @@ $(function() { : RequestCDDC
  • mint_key_ids -: RequestMKCs +: RequestMKCs
  • transaction_reference -: RequestMint +: RequestMint , RequestRenew -, RequestResume +, RequestResume
  • diff --git a/functions_vars.html b/functions_vars.html index 512a2f2..84942e0 100644 --- a/functions_vars.html +++ b/functions_vars.html @@ -67,12 +67,12 @@ $(function() { : RequestCDDC
  • mint_key_ids -: RequestMKCs +: RequestMKCs
  • transaction_reference -: RequestMint +: RequestMint , RequestRenew -, RequestResume +, RequestResume
  • diff --git a/hierarchy.html b/hierarchy.html index c2cb3fe..fdd0bc6 100644 --- a/hierarchy.html +++ b/hierarchy.html @@ -70,33 +70,34 @@ $(function() {

    Go to the graphical class hierarchy

    This inheritance list is sorted roughly, but not completely, alphabetically:
    [detail level 12]
    - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + +
     CBlind
     CBlindSignature
     CCDD
     CCDDC
     CCoin
     CCoinStack
     CMintKey
     CMintKeyCert
     CModel
     CDefaultModel
     CCoin::Payload
     CPublicKey
     CRequestCDDC
     CRequestCDDSerial
     CRequestMint
     CRequestMKCs
     CRequestRedeem
     CRequestRenew
     CRequestResume
     CResponse
     CResponseCDDC
     CResponseCDDSerial
     CResponseDelay
     CResponseMKCs
     CResponseMint
     CResponseRedeem
     CWeightedUrl
     CBigInt
     CBlind
     CBlindSignature
     CCDD
     CCDDC
     CCoin
     CCoinStack
     CMintKey
     CMintKeyCert
     CModel
     CDefaultModel
     CCoin::Payload
     CPublicKey
     CRequestCDDC
     CRequestCDDSerial
     CRequestMint
     CRequestMKCs
     CRequestRedeem
     CRequestRenew
     CRequestResume
     CResponse
     CResponseCDDC
     CResponseCDDSerial
     CResponseDelay
     CResponseMKCs
     CResponseMint
     CResponseRedeem
     CWeightedUrl
    diff --git a/inherit_graph_0.map b/inherit_graph_0.map index 2c853e3..e3918ac 100644 --- a/inherit_graph_0.map +++ b/inherit_graph_0.map @@ -1,3 +1,3 @@ - + diff --git a/inherit_graph_0.md5 b/inherit_graph_0.md5 index 28e361a..fd8e4ba 100644 --- a/inherit_graph_0.md5 +++ b/inherit_graph_0.md5 @@ -1 +1 @@ -08cf86e31fd1681d7ed96fd0fc93a216 \ No newline at end of file +23c5b04bb5e9a7bb0bf67f1e500cb985 \ No newline at end of file diff --git a/inherit_graph_0.png b/inherit_graph_0.png index 6173d8bf979366f3be67fe2b6eab91d8c120ea0c..4161f562df48692000d3847ecac2c600e7ef6e80 100644 GIT binary patch delta 873 zcmV-v1D5=h1?~nRiBL{Q4GJ0x0000DNk~Le0000-0000b2nGNE01%AyPLUxLe*+^) zL_t(&f$f@4C~Q$2$G>M>YNU}cC5x#`DI1E$OtP6IF$){bSWsl8G*)CWYc>?KC6cE5 zN7<0F*W8kgEX_@gk+85(EQa$|Z+g$%dxkg1TzTiSy8Z62-=A;i{BHN$ODLrj0xNWv z(-nMYgg6X@I1Ge145aslR4Rqlf7MkdYH<`@*9&X~D<_l5U~g})ECqcBuCK3c`z=^G zzp+yCC!%Q@B9VyYJu!0_2yqw)aTo}37?e$%Kp=pPjg4}p;{q3P1_uX02mv7kk|e?B z^C2FO4;v#Q0q<(^K^I_1XGG zA`#Tq)*_uw|l9$8Mn8$n3$Nr`1m*|rBD4lp(YinyDgrKsr62V{);cyruBO{i+mzS3~IXOWhkw9Z(BV<{|($Z4V9I;poe!m~p z)zz4pnZe!N9d2%Jc(qUf_nGth`igWqjZ7wksi`ST-)uIEnwlCke>61YZL%yE&EfTW z^Ve>-8vyY9{9Iz?_Hf@;E|&|kEMshJ4Ey{0mOjnR&3Jlx`fI+Jrde`c-f)jdDaF;* z6%<85M@NUHPit!{g25nWXJ>JLe-G0%vADQcQr@PfCY+z2BbUpS6z5O4&zy>i3iR~! z!0YuQnM~UHtE!5}f5%6(w6tJ&co?IjqX2-as;Ym=KR-W@qoX6Z-EMAAE6{hSs!A=) zU(Vs-A+4*cD|=o>znblN&R3(VDkMq5z`y`Z)5OBU0;18VQ{`CV*o$X>e?N3xhtKCj zI2=YO6vE2Nic{rS;@HZmudj!qC{CsS5aP&!fe?p*5Ql*fKZk+sK-M&^oOL)xDwVRm zXDg1~x19e8LaF#a#|H6#4hta;10fCrAr6CI4>$aE9Q<$I00000NkvXXu0mjfde)&a delta 653 zcmV;80&@NC29yOMiBL{Q4GJ0x0000DNk~Le0000%0000b2m$~A0Fv+%UXdXbe*#HK zL_t(oh3%OwsPa%8#yvXWs<5~u2rdW~O@1I2lVQOy5rYOXi7>Dk)|UhgCIvBwpBQXb zg9EG44MEW{jfw_!ZxAkfuNSu5RFE^ zDDQ9{v<&Lt$r*e;U!_uk>lFk60I=O|A8q`H>!2jhL%?JRhr<8>004p@Hk*y6>C5GE zJB(%7bULlr;e8<2fubl$l8(n?qtPgpO4Vxhxwalc(OyCjBoGLAJf7)ve|mdYzL(r? zH%-%_PzXg)hr=-(4zK!py(S0(MNy~I+3WS-Y$(cbI-OXSolGXdVDRqXdcDptj35Zf zWHOORT;E$_vDnAQ$80tm3NRl+4&zsGr%jJS- z$8kIm2xPO_&1S>%d_JFtv!Uob7z_rl*Nb6TqtSqyr`2lhb~_x$V+n#tCX;ZJ=p-4f zR_lwRLP(M%Nm8z8&wT1Y%b*Ul4C>$=GJNxGrrmD8-p9{bE|*rTRjz!KAr_0h$`2$Y nNy - + diff --git a/inherit_graph_1.md5 b/inherit_graph_1.md5 index 3a4ec3d..28e361a 100644 --- a/inherit_graph_1.md5 +++ b/inherit_graph_1.md5 @@ -1 +1 @@ -5f54dbfb87c04d1d86a00567efa58454 \ No newline at end of file +08cf86e31fd1681d7ed96fd0fc93a216 \ No newline at end of file diff --git a/inherit_graph_1.png b/inherit_graph_1.png index 8abb39608ebd9cca1a2153970f10b37563224395..6173d8bf979366f3be67fe2b6eab91d8c120ea0c 100644 GIT binary patch delta 653 zcmV;80&@L_43q^SiBL{Q4GJ0x0000DNk~Le0000%0000b2m$~A0Fv+%UXdXbe*#HK zL_t(oh3%OwsPa%8#yvXWs<5~u2rdW~O@1I2lVQOy5rYOXi7>Dk)|UhgCIvBwpBQXb zg9EG44MEW{jfw_!ZxAkfuNSu5RFE^ zDDQ9{v<&Lt$r*e;U!_uk>lFk60I=O|A8q`H>!2jhL%?JRhr<8>004p@Hk*y6>C5GE zJB(%7bULlr;e8<2fubl$l8(n?qtPgpO4Vxhxwalc(OyCjBoGLAJf7)ve|mdYzL(r? zH%-%_PzXg)hr=-(4zK!py(S0(MNy~I+3WS-Y$(cbI-OXSolGXdVDRqXdcDptj35Zf zWHOORT;E$_vDnAQ$80tm3NRl+4&zsGr%jJS- z$8kIm2xPO_&1S>%d_JFtv!Uob7z_rl*Nb6TqtSqyr`2lhb~_x$V+n#tCX;ZJ=p-4f zR_lwRLP(M%Nm8z8&wT1Y%b*Ul4C>$=GJNxGrrmD8-p9{bE|*rTRjz!KAr_0h$`2$Y nNy8cJ`J3g-|Z#Qtd4V1aBy z945X9R0azY5rZH?1rw_`VYQO5t!ceT2`WJd@q*|J@s)FHx;u0_a>e|Iy8C-^;BtT4 zOuO^v&7b%4>YV4C=Q+>0-<@;r&KP7_7D$MPOzZ>>JCXn*BMBffk^mwj=T}BXMjkzS zBvvYi1gq7m)9JYCzgB?H=j-k5-S?CZ5xu>=KA(?ok;is&I-UEK&!GcC7-f;p0FjXd z5E)4Tk=bJb^7HebKYuRFcYb~zLKqAN_co=!od0kIBqGLs#uOJJ0$jUx4MGSZl*{EB zji$M|ITDG)cB5&!rlv+%T2oU~dc7XU@zm7Rl9G~d-@YXtb2~0xy!h(XtG$i6djzfk zi^amS?AqE|PfyR|$B$pUc(J!>m6nz&mCEt)@!8o~tJT`l(z3Vl{~i+Bg5+{}K|w)Y zUf$&7WNa&cyU5MWZEkKZDk{P-EGsMP^XJdVJ~uZ+3_tKp^0DyYJk& zqf)7olanuBzC1865F69)_m`HIBHt%Zo^a>Kc4JW#1tFBlWM|HtdGO!?x`#I!jbmeD zw{G2n5a#FS0{~Pi)z`0Ikqg5x5W-L>gu*s8HC?)NDLFaWZnuZSVT;A0(P&PdJV{a1 z%*>3iXPA%xo12?7O^=R_78Vxn*txsAyQQUNetzC;Hdj_wqWK#PhU3SNPft&O{P>aE z2XGued-m-8`}b*@URzt+E}+3+NJ&X?yWRc${cqm9*>SA?{(hEaH#RojzkmPw_3O89 z-vR*acKd}37i=~g%d#|0|9%QDU%q_!@L?zvG8&C$v)Scx4Gj&=&dz3MXY2L)xcl(V zusj?NN0cQlSFc{>N2sW%*x1-WON#EBD}og_)FGeHnfpFVZDT)|+lqN1X_ynJYAh#$@G z_bZjk)2C0PYDPxJ@5cfFIGxV(=g%vZN(iCFVqqBOPiL)Gt5MH+=65>Sw=>N$z=NQ;e!Bol}fd|yu7fmfT|vkC$FMdi!^3<# zK@j0^nETQY*OyNq5HOic_wL=Bo12S7A{`wao12^5EciVY3I!4j0Knyj;BIm>8jVaQ z3kHMy&vIE=*=}YXMM46wEbH}p?RI-kPL2R~k|YZX3hL_W78e&i9#3OqBeMJb{<5;N z!NI|$rKO)ge?EKm%n28kMiA))z#HVB$ASnl9ZH0({x8i2iKIA zmNqdl!Re8kn`^V#LZQ&i%uGW=L)>U;wfe@58&y?RQ&UqbD=VX;qk6r5eSKZPLl7uH zXJ;o`dRna($MK$?9$|4D4o5f~CP|W_D6`p&j08d4zJ0s3wUs1EwOZZP)n&8Uii?Y5 zeM6xTNs`yEUoS5&2LL1`C2coQdU|?WTbs#b!Z6HgwcfmWlWV$r_wJ`ppA-rOdJAf8 zZ4Cy41VK;~#qSnHcXxMoc6Lcg36A6S_4QR%RmYAU6Y>c7i)fdJ@L$Nlz(8ths@PfV z42U^|ZD?_EvD4|)XfzZ>6%`e=x3`O( zkq{2>3OIG@l-+I@JBvg)z$@VYfh2&)NCJqAB!I}oIfUQ6d$<3299rTCU@#c=KaWET tWTpQHh>COuh>RqF$VdW+j3j`_`~ymPnMx;g=$HTi002ovPDHLkV1gIP={5iW diff --git a/inherit_graph_10.map b/inherit_graph_10.map index 3ad8a13..1e7832c 100644 --- a/inherit_graph_10.map +++ b/inherit_graph_10.map @@ -1,3 +1,4 @@ - + + diff --git a/inherit_graph_10.md5 b/inherit_graph_10.md5 index d2f3207..49a2669 100644 --- a/inherit_graph_10.md5 +++ b/inherit_graph_10.md5 @@ -1 +1 @@ -fd9e8702e04cbad4da7c624c5b37d5c8 \ No newline at end of file +852e02c69c7c49dfca7a12fc3b330ccb \ No newline at end of file diff --git a/inherit_graph_10.png b/inherit_graph_10.png index 456ceef8be20d02b45ecc26ae9d45fcce4c3b2ab..ce24a63d277da11f327d054cb8b31721aaf6c2a6 100644 GIT binary patch literal 1953 zcmV;S2VVGzP)ZhfVFFa z5h|bsb7M)wO44LCZ2WRvA_5l-t_m6qT02)D{yp<@P9cut0D+(yG=B>~Ajp7>i=ZUPxClyu zjEkTobk7~FR$E(J>n|zGM<^636bgT<_>J1yTCG;=ZxtU73WY)_6uNg8jJO7aL8H;E zxulgrr_%+LQM6jEPN(y?iVp;hMq@A-JR|f!7HVs2TPr;)Nls3Vza=atH8qu@$qY0g zgo`5R85coGkZ}=|1Q{1WN&IQt$;n9wq1kNylQOBPsf~?|YbJ>**zNYh!otwd(8R<< z64lortE=6)US7@+flo(AM{jSh(P(6|+5XnzAIOZjnVFdoLeJmI;NT#HkjZ4OoUqkm zaL{=AbVpTHx4(t_29Zn%A%nq)jg38c@L*qG-(S}1@9*EabLWbR;#tNv@|+8dc%edVzGF1bd+q1 z7BDqsX>5G_#TVy9qKdk@`=g`N0Dz#N#UBL&f#BfaEnBu!S654=Qn_4CEI0L<7O_}- z;lhQ>moGyIPn|kNL?DDT8Z9O!ro6n|y;POQ<2`urfY>$~jS#}OZ{K=e^uU1wPoF+L zeE2YgFf}!m2vVYRNg9_%qse5lOP4MI0B+p4ArgtAqM|$ta`6cQ~A+Pq>y86cmh)k3W0%47?{Tot>Q}B_+kh#W;?amzM(oIy*aY z9Jkx;w{G3Ke*Jn&ON)=!QmItQ$;nMkO*oFb=lKG>a|y`5oEedbLUQee*SVa1YqYbg1m7t49m*OlF4Lqb8{IP8C_jn?n4HH zfljCM`Fvt`^XAP&&}Or(U%wv1Fd`lo7e{Q2jEn#PxLmI1`Cq+y<$K#^XMcJ5a)ZgV zUaM_{5dMCze6MA@y8f$D{l~|XlY`CvTVmoH5*3L_`LM7s-_z38)>ctb@%;Joxw$z2 zKw4TFNzuO(P@U_QWql4idh}>|dU|zr^`fcd$jC^C!!b5CM%-eChlh#a{QUgf+?>f| zBATby>xuHw(a|&-&15od+O&zBlF-nQm>3J2{VSjU`42z*>~y*ygihys??<10%FoZ= zN$y%c^6j_(CRee!xtYh~#mC1p7z|(1GBq`omzSr}Xm;(|#bh$;>grS~6>*5cVAyOn zV%uagd96;Pd4F6CoX+*ivWzPdiM;-0EjBhbJw3goq~yw#D-MU_`0?XeSy>zo2LObkeUa!mHa0Uhj91aJa zzQ7Ct)wzFUwPwy*TU(h-ra&M_PEO`>xk{zd9k*JoadB~Cu~;gVy2~q-%7lc3tgI{y z!{l;#QBe`;hOt;7IXRy-H_HYFPFGay|KyV>2qB#wxRcv;b#)NJ(9qD#%*@xXUu(76 z?CfmfkS}TB^Z8X(Re5=NEEY?lQ0&{c&wZ$}veIlebGclxSnL`1+-QC>`2E+YT z;VJ{H+MFTt2R~3R|~EY~31B zR<_4vn)SC9#IpD(M%+a}2*bnCpi6B&M&lwr0FZGJlmrhmdNYP{lK3v?dd5Xi n5@cKiB|*kTP!eQZ1SR<&F`3k0)s#J-00000NkvXXu0mjfBNfVs delta 1245 zcmV<31S0#P58nwPiBL{Q4GJ0x0000DNk~Le0001B0000b2m$~A05WfTu#q7Ye*~0C zL_t(&f$f@KD0^=l$IqFe$xcJarp><#l>ECGleDCvS&a)fqqRg$Om0jrxj@ofsI3WU z(rlub8^kUci3^Fc*z8Z_PyURV3!dM_skPt64&%4)e&5dP>Uln&&v~BD^FGh>Ip?gw z000Q*a|nMrflvn*2m@Ro3~+%ke;|5x3?|%Wc6a}^gREAoR;vwq zN+E<+tF>CKo))5SkVc~kRz4vI48vX)yar)_3xokK5C*{zC@(KhrBeCYi;9ZI#>Rq> zz)uL39Tc)+1tL&oWhD&5FbtE)WEP91*Xw_t$M*JiQ&W@wNjo|^(6-a*f8=tx`T6-5 z7Z*RD+CKsAAc;f*0I=Kbg@uJY9`EYv>UY!f!_CbNo6UB)Tzb7eDJki{p6*9S3_*~A zfdPlZVK5jV2ue;)UR_;9T{fEyhT;4Bd$fCWbW~beiXccqLBZzcrteUmN9^(OQ6iC~ zrl!Wk#I&@uJU>6X!%QX zg(&PtE;cCul)o!G&Jn*@9T6rlgU(ASh&8v zj@l0o4~vV7c|4v8uP*hY@ zFc^$LQU@NW)oL%xhj2I?^oTt?JhZpBlgZ@E%S!+NjYeBpSwUma7xufmI{-j#Zf0RUh!nM$P+HM-mAeKs16zLO#dLMD?B4-ef&bQZhaj&|SP-Vg*iI5+?R zw6?Yi1Ofnn%jJrTe~X)&o5Nfe`rDyet@gA8xPwMUMqn7GQmH#TI|~a7iHV8+kPFGS=!eB561j5zTRa{)0S8#TAHj~Mm zoSdAWpBD;+;o;%mT_ehG)}Xw+yorg4`}_Oz^YgB*E>D+SF4ybz4u@lCXvk)>@%jAE z2BFjGTrO86e-a%ZA3r=iD3!{kr6tdRzP>)GRLbFS*4EbObUKg66AFbVCnrv)b9Z-_ z&*#6szM_$0v3PKBaBFMJ{|khFep8@`11Ol7Q_T7x%z_TEIu}J@4aJgKuv9U8VGhe?1`mG`z`Tzh%M@LB{ zQe9o$PsRzbNQXXAQBf2MWqf=*;PQ;}*9zo*p8k-(_K5u!xIh@-0%3p)guw?zdUkd; z_<4jZGam?4Utb^mJVF*2;QtTu3todTzy-np7YGAfAPoKii - + diff --git a/inherit_graph_11.md5 b/inherit_graph_11.md5 index 358858a..d2f3207 100644 --- a/inherit_graph_11.md5 +++ b/inherit_graph_11.md5 @@ -1 +1 @@ -a1e4bd3b4348168b6512d1e865b8c6f4 \ No newline at end of file +fd9e8702e04cbad4da7c624c5b37d5c8 \ No newline at end of file diff --git a/inherit_graph_11.png b/inherit_graph_11.png index f9d2ab330573ddb3023c1d5750cadb2bf44de8f9..456ceef8be20d02b45ecc26ae9d45fcce4c3b2ab 100644 GIT binary patch delta 1245 zcmV<31S0#+3f~DKiBL{Q4GJ0x0000DNk~Le0001B0000b2m$~A05WfTu#q7Ye*~0C zL_t(&f$f@KD0^=l$IqFe$xcJarp><#l>ECGleDCvS&a)fqqRg$Om0jrxj@ofsI3WU z(rlub8^kUci3^Fc*z8Z_PyURV3!dM_skPt64&%4)e&5dP>Uln&&v~BD^FGh>Ip?gw z000Q*a|nMrflvn*2m@Ro3~+%ke;|5x3?|%Wc6a}^gREAoR;vwq zN+E<+tF>CKo))5SkVc~kRz4vI48vX)yar)_3xokK5C*{zC@(KhrBeCYi;9ZI#>Rq> zz)uL39Tc)+1tL&oWhD&5FbtE)WEP91*Xw_t$M*JiQ&W@wNjo|^(6-a*f8=tx`T6-5 z7Z*RD+CKsAAc;f*0I=Kbg@uJY9`EYv>UY!f!_CbNo6UB)Tzb7eDJki{p6*9S3_*~A zfdPlZVK5jV2ue;)UR_;9T{fEyhT;4Bd$fCWbW~beiXccqLBZzcrteUmN9^(OQ6iC~ zrl!Wk#I&@uJU>6X!%QX zg(&PtE;cCul)o!G&Jn*@9T6rlgU(ASh&8v zj@l0o4~vV7c|4v8uP*hY@ zFc^$LQU@NW)oL%xhj2I?^oTt?JhZpBlgZ@E%S!+NjYeBpSwUma7xufmI{-j#Zf0RUh!nM$P+HM-mAeKs16zLO#dLMD?B4-ef&bQZhaj&|SP-Vg*iI5+?R zw6?Yi1Ofnn%jJrTe~X)&o5Nfe`rDyet@gA8xPwMUMqn7GQmH#TI|~a7iHV8+kPFGS=!eB561j5zTRa{)0S8#TAHj~Mm zoSdAWpBD;+;o;%mT_ehG)}Xw+yorg4`}_Oz^YgB*E>D+SF4ybz4u@lCXvk)>@%jAE z2BFjGTrO86e-a%ZA3r=iD3!{kr6tdRzP>)GRLbFS*4EbObUKg66AFbVCnrv)b9Z-_ z&*#6szM_$0v3PKBaBFMJ{|khFep8@`11Ol7Q_T7x%z_TEIu}J@4aJgKuv9U8VGhe?1`mG`z`Tzh%M@LB{ zQe9o$PsRzbNQXXAQBf2MWqf=*;PQ;}*9zo*p8k-(_K5u!xIh@-0%3p)guw?zdUkd; z_<4jZGam?4Utb^mJVF*2;QtTu3todTzy-np7YGAfAPoKii3iBL{Q4GJ0x0000DNk~Le0001d0000b2m$~A01y2d){!9;e+2_c zL_t(&f$f@0NHS{}$KSE&Q@e*rWf#i|gKm&u(Pa@qMOd_IVMquqf+z^PuUZ6I5E$JS zMG@T#3|bVl35xD5iXuugD=qRuH=5|8?^z7T<4K#NcD@F_=C_;YnfK50{CRoiona6N zAt3o)C`1?V6Cq6}0Mc{GSh5u&SI!f1^c3MU|G8 z?(FPXR^exHWSzyuonBpC4Iwlb4CUqJB9Z9e;J`JV-@)SIVpdjGOiaw$+M2;&7#|z&TvKA+cFY6r8im9oo4-vcM=H_C>K?qGIlbf5{ z`1m+>`S|!)RaF%p9`5Vwe_K#cpjNA~_|?@_K|z7Hw|87zTz7Xj06?$TLkL+c*3!}v zb`SOjaeI47#5I668~ ztJNZr$iWtbLZMcxJw86h&pIoMkDWJCN07;6GMNkj;NjshH#Zj(69WLyXf$%UT&vZF zgoFS9+S}Xx{rwLQe-G(&`pU}6&CLyy$z(E_ZEbBiIXO7upXqpcd3ktv`1trxsnpce z)YQ~e+qHVV9ss~%u^en9EG!HFU^E)>v+wWkPRZi)rJ1hN=>!5nOG}H%WC8%3otH@Am}2en$Q(P%t9J()}kFe_PAr@x)^B-rk<=+Q7g- z0DxAjb+8d^rZE@{{H(LG_KU0stZ+A}AD!!C?Ch+pEEGin02InUUBt!3vDxg= z(NPCm7#kZ4e+>s2aMV`HObd2({{(9qD`-QD^5d3}977W_>vzrDR3 zA0OA%)s2jdbai!o_$FnWbx_t(tap_O^9j zI9VK7e1OgA#TC=P$o2KL#q^(mt?A@v00JOQCjb}E>0cozCR)Ii!7@Mh P00000NkvXXu0mjfED?zb diff --git a/inherit_graph_12.map b/inherit_graph_12.map index 86383fc..8a3f715 100644 --- a/inherit_graph_12.map +++ b/inherit_graph_12.map @@ -1,3 +1,3 @@ - + diff --git a/inherit_graph_12.md5 b/inherit_graph_12.md5 index 65713ff..358858a 100644 --- a/inherit_graph_12.md5 +++ b/inherit_graph_12.md5 @@ -1 +1 @@ -a07159cdc3551ec3b004be5c7d60d522 \ No newline at end of file +a1e4bd3b4348168b6512d1e865b8c6f4 \ No newline at end of file diff --git a/inherit_graph_12.png b/inherit_graph_12.png index 3bfe7f8d0ab820f2081e59a07aa598395130638c..f9d2ab330573ddb3023c1d5750cadb2bf44de8f9 100644 GIT binary patch delta 1357 zcmV-T1+x0c4bBQ7iBL{Q4GJ0x0000DNk~Le0001d0000b2m$~A01y2d){!9;e+2_c zL_t(&f$f@0NHS{}$KSE&Q@e*rWf#i|gKm&u(Pa@qMOd_IVMquqf+z^PuUZ6I5E$JS zMG@T#3|bVl35xD5iXuugD=qRuH=5|8?^z7T<4K#NcD@F_=C_;YnfK50{CRoiona6N zAt3o)C`1?V6Cq6}0Mc{GSh5u&SI!f1^c3MU|G8 z?(FPXR^exHWSzyuonBpC4Iwlb4CUqJB9Z9e;J`JV-@)SIVpdjGOiaw$+M2;&7#|z&TvKA+cFY6r8im9oo4-vcM=H_C>K?qGIlbf5{ z`1m+>`S|!)RaF%p9`5Vwe_K#cpjNA~_|?@_K|z7Hw|87zTz7Xj06?$TLkL+c*3!}v zb`SOjaeI47#5I668~ ztJNZr$iWtbLZMcxJw86h&pIoMkDWJCN07;6GMNkj;NjshH#Zj(69WLyXf$%UT&vZF zgoFS9+S}Xx{rwLQe-G(&`pU}6&CLyy$z(E_ZEbBiIXO7upXqpcd3ktv`1trxsnpce z)YQ~e+qHVV9ss~%u^en9EG!HFU^E)>v+wWkPRZi)rJ1hN=>!5nOG}H%WC8%3otH@Am}2en$Q(P%t9J()}kFe_PAr@x)^B-rk<=+Q7g- z0DxAjb+8d^rZE@{{H(LG_KU0stZ+A}AD!!C?Ch+pEEGin02InUUBt!3vDxg= z(NPCm7#kZ4e+>s2aMV`HObd2({{(9qD`-QD^5d3}977W_>vzrDR3 zA0OA%)s2jdbai!o_$FnWbx_t(tap_O^9j zI9VK7e1OgA#TC=P$o2KL#q^(mt?A@v00JOQCjb}E>0cozCR)Ii!7@Mh P00000NkvXXu0mjf$47|v literal 1736 zcmV;(1~>VMP) zZqxbH)8&5tyXSX)Kfk~G-Pt+!It)SxSpIzCezyRY*?~2ZA+Sa=1lCA~kU+h7`t<3! zbLW1S6qadGTwJVFDnpn5T9JKyea+3yzg!Z_v}tZ`?(6HLjwDQ-)YR1UtMstU5Ddd6 zjj($pLtu?$2&|C|fi?1fL~d?wRaMo@a#-qENp)C5S)oN9% z)nc(YDJdyGKmXCAN7E8%Hkl4 zQaPPYH2(49N0mx7fByXJ?Ci?QN&vvn&=7=BB9U}-bf7ut33qsSn5IreMFo!IJRWcD z+O;oUynqmDG@4K^3WXvV4B|MxZ{NP3Dn}F)6i6hJU@%A@{q*S*0N~ZDS5s?7k}8wQ zN=i!BuU{_^2#iLfLZP^N^(qRfR4M=fhG964pFDXI{dEW-bq+lMfX2o~>PSp`BuSDN zE?mGcOfHwB5uHwFv)N20lgs7G%F0r!)xls80HD!m=FOXDx7%A=TPJ-Dh9ztrtJSL4 z>+9<3K7amPR#s*-8UX;eZr#es$*HNSfe@O_=6CPjIh{_OP8VehTCLXO@$~fc&_~5$ zab{*_X=$n1Z2tQ7>rbVk(6wvV&YU?jGBUDb#|~;rTU#51(C_!(y?eK|wiY!KD^ypb zUy-474u^we!5>S?-ymRLcP0J8MnM`)- z)TvOZNUN=)qC%t5(9f9)n5`9w8Xg=RBnYCkv@{S1007>DSoQ&>ll#L)KL?Y2o zqY{avva-@L-ODh}6{7FJHb44i2I$hrcD0DvHf_V)I!uC5ImHss~ykt7KKh>QEDi|p)d9LMYG>Y{9+zP>&+HFeptWzk24 zLSbQHA&%pZA3vs%3c|e+1po{T4D8&w^Tdf0{r&yHV6eQr{QLLsQL3dO*5}9t3l`}0 z`qQURfBW`LDwS^Cx^?&N-BzoWB+2gXZnauHF)@*zp1x+yn*ICt4-E}D9FAkhj)l@! zty)!6Q!_F$^5MgWBS(&)!ANyFIyy>9O6+#K-|r6u0^{T3Xg5kpNwHWg=yqTjcInck z>gwvFM~~WUHj*UYzI}WA`0?AfZ&PLa{r;Ywp2LR^-?(w({Q2{f?)cQG$KxRg;^D)G z!^6WqpYO_*D^90Vp-@DUN^{4M?8L-G4u@klo6F0~W3=FJs2`;noLV7-V`F0?k?8W} z%MilR(NVo#pO%)!=kpZ`#l3s?&>Xkhou8jS_0-zi+q-VvIv$U=eEIT=7cYVzr`E7_ zCMG5f217m1$FfJx#K;)w@9z&8$ucvh8p*z*V+gE~3?a-f1paFlFJ27U zUq#P0?22RvtdR_XHIgB)Mlysjhn-0;L0J9>!Wc>Y4(ZGFavgvWC*O041qP0 eA+Sa=gueh7O0xj%QmtqJ0000 - + diff --git a/inherit_graph_13.md5 b/inherit_graph_13.md5 index 95dd9cb..65713ff 100644 --- a/inherit_graph_13.md5 +++ b/inherit_graph_13.md5 @@ -1 +1 @@ -1df40b4b6eab24a99ebf19f3541704fc \ No newline at end of file +a07159cdc3551ec3b004be5c7d60d522 \ No newline at end of file diff --git a/inherit_graph_13.png b/inherit_graph_13.png index b0980b807e7f123c92260d9c9e7befa101de0520..3bfe7f8d0ab820f2081e59a07aa598395130638c 100644 GIT binary patch literal 1736 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 R%&7nX002ovPDHLkV1n*7v&aAd diff --git a/inherit_graph_14.map b/inherit_graph_14.map index f5508b7..2b22310 100644 --- a/inherit_graph_14.map +++ b/inherit_graph_14.map @@ -1,3 +1,3 @@ - + diff --git a/inherit_graph_14.md5 b/inherit_graph_14.md5 index 82b2baf..95dd9cb 100644 --- a/inherit_graph_14.md5 +++ b/inherit_graph_14.md5 @@ -1 +1 @@ -acee1414e6406da4f3bd1c7e4d13da6f \ No newline at end of file +1df40b4b6eab24a99ebf19f3541704fc \ No newline at end of file diff --git a/inherit_graph_14.png b/inherit_graph_14.png index dcbf7c69c6a15901c47deb292f09ed7ca568bf27..b0980b807e7f123c92260d9c9e7befa101de0520 100644 GIT binary patch delta 1410 zcmV-|1%3M63xo?HiBL{Q4GJ0x0000DNk~Le0001U0000b2nGNE0CAMo43Qxfe>q7+ zK~#90?VDdnQ*9i_KWDvEbFtP%qnIeNi=>MsI7o;Ucw?h2up7H+Sd>L6-mIdci!Op9 zDhSGpj75J~&bl%%(u?jCqoCQ9t))3J^;i-*>CbxJi{1`R-5>MhUJlO(&c%MuIp5#! zdA>YK1I1d!~VqW*P`-rh$-V8VG5o zPE=J@(c0Qt&>D0xbLY;TD2jrjC=?YH;c~gSfB(K7(#wL|?dJCF+i9_1e|?&3P=9|v zilVS)&6>1$Z*MOL4<1}n&ZVN;%xrFMMhJnbsvJ6Wh(I8~>({UKk}n7@my4E`mb6$) zOA9WSt3VZHNB3p6sHliz$Bv;W3jO{4T6}tXn&#$aN=r+z*=+cHK8A*dwD!@_QG7lh zR;!iGn>Ta)`gIgVK~+@%e~OEX>F(~EglF2c=P5B&z?Qw{rmTnf0vh2TU*PIA3p%7 ztE*%6>ea+zF*-Ur7QF;z(;pZZAQ%jC@7_HoCnvdd=@Q{^7=Q;49#C0XNhlOT2tjXe zucm1-nP_Ne;Kq#`0NlNM7mvq7Nl8gwHQl*$hYJ@j@ZrM;0)YVg_U%Imku~R%5OZj2 zYZD8EvrMUW);>HuEC4YwGNQ#&sg$r zcMCvFOiTzNgm5?IY4>m4x>ek~c~kqmWy=@Ap$&T+GbO4CCYD znoc|(Pt!G<&1nPi`@OmJ0sMYHPo6xXudk2l>T0%c-%c`_{5c4w?89*M=usX$dc=_< zM^F@HX#?~hxpMxIrtXS>&1NGQ408VbdA@%AN=Zoxf4g_@roO(Ofq?;%$t2I8Kc}{~ zmM>qv;B-3Kwrv}Yjg3r9Oc0O9Id$q(nr1~s1))%gsi`T3hK4wK@}$<5OTVkDi_@o1 z6N|<8_U#*~REpWzS#7`GxN#%VXq4~Yzc1JykH>=$f?zPH+Zg4_`6v9f9}SwCnn)&- zghCUul`uciSty%>@TU#5`)6+PePJBKefj}Tl@8ZRasH%#? z;lStfv1iYowDxTJJ9g~AX0ze-dRez_9apbjB@&5f-xW`sI6-G;CuXx*x07Wq{z}e8 zY_QA9=;&zL0Z8(bWjO#z3Xe3?KxBN=pwMjCSg-*h-_KqYa%LI`X{LdYW*P`-rh&+K z0E$E+%UOpcPkMTKGPY$jGt;}7lK(G?kmrA+Apf6fB&3-JLYiqHq?rcdUoMRoZ95dq QsQ>@~07*qoM6N<$f;la-)&Kwi delta 1500 zcmV<21ta=|3*8GLiBL{Q4GJ0x0000DNk~Le0001a0000b2m$~A0O{1xl93@5f09W= zK~!jg?V3wSTTK+l&y6A`@r9@;N*b$zf=yc*5V5h?F05!QLPT&8M5tIPt(25%vl4U> zgwo<8E(|F&)%rqd1O+Q7s8NfH#uPzgOf^>2h*t4xTH}0+fy@2!;#2co!QS60b24-0 zKmVM}OdbS62v`__bJ+s^B3Q4Pe}na!IasfmBaq%O7z}UTytynXSC7oh%oi_SP|bhU z_1fB6Z*MQ-lCCDx)6)infgTBT@6^-N!<3$@OmT6sON8C8nS=G3IasfmgY}v@Sg)Dm zJYGM1_>dq7f*^Q2o=7D6`0=CPWt|DJSp5F|d#Z`$wYRrZk@@*~f*?Xde?sVes;jH< zW0E8b3JPxDzP+)r0RXeJvyUDh2hW~869@$1;o_oyeY$h!j#jHh z2u)8<w006u*9AdyG}0)fjECX*>MGqbR;P^Z%c1qA`X!oq^pYL(07 z?s_~{3v+#a9XFj$XINO6(P%WA%>b~uxryUnzI*|nb?q&W z#bV*}`9`DBMGxgQB~PhTZf%^p`oEBlZgtBjg0}o z>guZdlD$ps1HaWZ-b1#wwxm*NU0t2i=>&k4l@$PpkB`SEXFx!}{{FtzYPH#Hd_F%W zCI*j9N=ovb+*_W+#Kg|d&X+G=ipApc^73!rzWGQJ6BCn{mse3yad>!0FAj>bva<5> z@_YC0&CSi>e@Jw6Gytrxue*0X)70L$&>j*U9o^pEzP!Aw(P#kR+O=yO4##e{(_c)f zRGN^GaCmsQwY7yuSu7SR1DDICPI;<>w>$tKl}d+)hi7MJ@87?lot;gRBmi(Yo>x&- zRn^zmS6Nv}5QO`)1VOxg`?j*O^1*`#larGGkd~Gve-sLJI-SRC9;ZGN7rkFcL_{bQ ziiU=U-@ktg1cJiC!m_fm#l=OEB)@+BT2xfza5$2ZlCrY0o<4oLy}fO*SZZr)so}S7 z-O_5cdwY97e*Ad#>J<)p%QG@E^7{2_v)TOT&mX7Ld31Dy4}-Y4IHS>ca&qFLO(KyX zgcJ&ee-Hij_4PG1HMzODqobn)L8#SgjYd;bQ?s`xV z4?zeW92`VNMYXlHA%yn#_Z14o_3PL9e11ko#=yV;?qjpr^78WB?;*>}%Myu%$K$1^ zr{kjx-$Oj+aX1_*l`1(onakzgym_;~zaJ-`f0&p^O-&6945aQMN~O|8v-^HcUqVw; z6PL^V{P{CNXl7-(~)9Vq;^`U-<_hwyv3j^_n?YubG4OnmIh2josbd% - + diff --git a/inherit_graph_15.md5 b/inherit_graph_15.md5 index 7b55822..82b2baf 100644 --- a/inherit_graph_15.md5 +++ b/inherit_graph_15.md5 @@ -1 +1 @@ -749533ca4634c97e5a00b5c5f820583d \ No newline at end of file +acee1414e6406da4f3bd1c7e4d13da6f \ No newline at end of file diff --git a/inherit_graph_15.png b/inherit_graph_15.png index 2359f4c893d8ba652cb76961ca59585da12e8767..dcbf7c69c6a15901c47deb292f09ed7ca568bf27 100644 GIT binary patch literal 1501 zcmV<31tR*1P)D1AZ00006VoOIv0RI60 z0RN!9r;`8x1(HcbK~!jg?V3wSTTK+l&y6A`@r9@;N*b$zf=yc*5V5h?F05!QLPT&8 zM5tIPt(25%vl4U>gwo<8E(|F&)%rqd1O+Q7s8NfH#uPzgOf^>2h*t4xTH}0+fy@2! z;#2co!QS60b24-0KmVM}OdbS62v`__bJ+s^B3Q4PgY}v@Sg)BQklrvD3~%1NxhyGH zkIc->7cX8=&41PP+S*!gZ!hDLt|rsd(*}cq9tm{s)YH?$l%A_hadELrgx#;1gY}v@ zSg)Cb^_n?YubJaKUO#;JkRS+xAb32UNF@6B@uS~moe8m6{QmuWs)^;bx3^P~`T2Q* zAVNYy=zXfItMOx!Bnt`(Zr{GWv9SRFv$M009zBYRio&Z?sZ>WtM}E2M5odJrf87 z;o;%=`T16>6~}-6{F$Gh9~v5(mX_As+zbHQ+uI1C`1tsdkrCWyZEXzzc6WDuRA83{Djh5z*4p!sqi{mSC}1Qc_Y% zOG_ON2SVud^i(JmK6&!Q_oy zeY$h!j#jHh2u)8<nhlb4rQQBiStct|e} zin6k@^78U~_wLQj&EZINbTk00udlmzKGW3RxX>OF9Ua}?-oCuNtkGxy;M%oo91h2B zx6@xtsZ^SfkZ^c-xV5!~M_DWuDg&3xrA~ROgSR{YAeBmohlgipXYb#?pPijek|Y3d zIG$HgRaMp3*H>9tNf3nlvjjoBefzeuvhu-$2a}VN0FaiJCKL*FI-SRC9;ZGN7rkFc zL_{bQiiU=U-@ktg1cJiC!m_fm#l=OEB)@+BT2xfza5$2ZlCrY0o<4oLy}fO*SZZr) zso}S7-O_5cdwY97e*Ad#>J<)p%QG@E^7{2_v)TOT&mX7Ld31Dy4}-Y4IHS>ca&qFL zO(KyXgcJ&e5B>G^^))p$xw*NcqoV{tsMTtXMpIK$v$V8ClH~XA-<3*bcXzk9sm}(z zcFu7RK?ofj97IJ$wY9Y&g!cFM6$-`m>(}{wenv*dz`y|RW3$=v^77p8AMqW6@vv2OzetnS=G3IasfmgY}v@Je-Z)-QCRVxO&)ZwuFQPdc=d* z^lyY&E`m%Zqc@4a^ZIouu=_Q0uwF9<>os$*UNgr(p*$+p!X3mO00000NkvXXu0mjf Dkqh!a delta 1262 zcmV2z>GdLs`fJ0&dI3yMjf9N^T>2%%Q-QQ&eL(|aEkd>814}ZIp&d$y>8qJqm z!u*Ctqd7Y}^Hc)g7R}7ee3c)J7a)YM6nrMJ02~qvz#*{!9MWqpE-oO1*VotIZRCG& zNG#wZA?4@iLkJ;+1VN;yr;m@1f4Z%AA(2Q%Mn>r2PqXJgAH0+5>+30sf4aWDuCA^w zD=XXE+xuKwe)7ZZy%)c>JAxo;Yil8dySuwcvDs|(_4V=b@jM={u(0st0uz zFf1%AH8r)rzn|XpV`F2NmX=VB*=&Xo-re2#=+oQVn~;z|lB7%~+uq&=0F;!JY;A2- zR8&9+rBbQ?_GV{i=?+Zwe@wbqEN*CMkjZ2rAt9-$sq5?OU0q$Vv9aOd;WafiZnyhm z>+DxZcDo&|xI`jBN?BRi!NI}G%F5~KX>xM1LZLv;ii?YbgM*DmX@Tu7zT z+}zy#{e8V&zqz@&u(046|NEdkP^;Ci6tCpv<?3JVL< z>-9#X5dd&`d5Ls%>s(!3Q4}Q*2(((Q=k(j#Tc$oHlZhlry*lGSRJ%jIotZ7!D!0C044 z1ON~S1nArj2ne{pzdt@cHk-{PNk&CQp}9h#(06mDJ_!j4larH;jg1nCq_VPdXJ_Z1 z+GDC`($OqFpN}qrgM$fzAW4!QIvkGot~0{RySu-K&*u*fe+>zR!r|fJnwpyU_;?P7 zW3^f%A|gD?4i66>A0Mq&D_RJX$wYs|<#K83R;v|VF!ccd$mMdmT<&(eCnhFxa&jyd z3qcSZj`y#cpZ1vQPft&o?ENGB{hh?)@svtsdwcuS(^FhrTv1U`d3m|PV6fZm8yg!6 zg~I7{3WdV#f9&kKy1J{YE0f98($Ydt7mLLzmFn*9?&Rd8si_HxOntOkZEI_*(P(^r zes;NB4u=Ds1Tir&dcFST<>hnjG1W8aey*f1Jomo8KaVOJ92}%5>i+&- zsZ=H=CXytXnVC61KaXn6W^+M7L1<`bN=iy!Umy7Ie@r?&Je0{~1VN;wr40-W003@p zZ<+cyoz9Mqj-;d{E|)73iRR|!Q1jK*)#T*lz`(%F%*@ZV$5hXxi$tQ)(NT1*)9FZ( zq-|7HRe8Gd0eEvJeIz75u~;nhDq!C7HYEI7hy~z~Sb$$ocON4 - + diff --git a/inherit_graph_16.md5 b/inherit_graph_16.md5 index 27084fa..7b55822 100644 --- a/inherit_graph_16.md5 +++ b/inherit_graph_16.md5 @@ -1 +1 @@ -3ed465c69fb501b7c3155efe60865c7b \ No newline at end of file +749533ca4634c97e5a00b5c5f820583d \ No newline at end of file diff --git a/inherit_graph_16.png b/inherit_graph_16.png index 74465f2ceec49f43029f46ade7ed5a9ff2fd988c..2359f4c893d8ba652cb76961ca59585da12e8767 100644 GIT binary patch delta 1262 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 - + diff --git a/inherit_graph_17.md5 b/inherit_graph_17.md5 index 6fd603f..27084fa 100644 --- a/inherit_graph_17.md5 +++ b/inherit_graph_17.md5 @@ -1 +1 @@ -787137a9b1881efa85874df81192a2dc \ No newline at end of file +3ed465c69fb501b7c3155efe60865c7b \ No newline at end of file diff --git a/inherit_graph_17.png b/inherit_graph_17.png index 7152e856e8c12d332c49d0269f0c8e15220495c4..74465f2ceec49f43029f46ade7ed5a9ff2fd988c 100644 GIT binary patch delta 1387 zcmV-x1(f>B3hfFZiBL{Q4GJ0x0000DNk~Le0001i0000b2m$~A0P0U2|B)dTeM(5GDrU(4cM#1~L%^FS-Z{ zDPpL2(O7Jy_K$+D<1UsLr^FBQ9 z!}q-3^S;kHYy?6GSQw>3ru(b2Ij!uA8^VLf0T)&u5YJzyTz z1Ln!agEME&5ClOG1WA&|j~{>d@Zqk@`XeZcx_|$Ea`?B&+mRgifljAGe+UHvfypFZubtUUS4fQ1o83XM;r-KF`$nwlCOkEc*5-oJkj02eM? zSXfx->FFT|;>3v)xyh@qf3F`J8ftBA<@5Pcsr1d8H(BzZJ$ojVN^!!_&=5foE|&`c z=I7_j%F2HI`t_&Fn3o5UNCYn^MNv4S)oPcPmS$#VJRVP7U0r*7dm@nlfX>d&l9Cdq z)A{n{%hYot6KU%#E-vcz`UejleEaroczAenauNWhrluMi8cZe=e?n+(ZZ0=@0AMzo zZ{EE5<;xeXR@>Fpg@0B_o8Q{n>U26i9uEN6Y_=muj^M}0X0x@lv~W0SK6`fnrSRy{ zqivD2oIZUzIep*0eXm}sK7dir3cG5JFz(P-3YGzg)VmKKA-u;c1!G#Z?rB(Hwp_xsgq_4Vu5AsQbne`_w{PEu!(qGKu2d>>Sj<1)I4SJkzyIF7dlHGnXf$5A za;3Vux~Qng@Ap?!RHUXYFE9W2@x$-;4`GMVgm zDsLm-?*oBApx5hf+_>@c=g&ij4xK-LzPr17ad9yciM)IFuD!iI7K=$FlIG^-YuB!= zt*yCSu7QDpsD=TEtkuc%jM6XKgY#qXJ_l`>Np%uV`F1(^5k;4#bUwNcwa6pEoI3^ z2(`7f35CK$B7qQk{rWWkn9b%Lmky=t2f28VCqADq=|KUqYdx7|7hyeMp1j_Razi8% zA@+}DDX{y1c~}pahxLGYSPz&dO;3LO`0?KBK`0z(ny#v(=;p=3x^LM=I-6QW`y1pPN$Q>!NIh#KfR`ne_+~~rK_t8 zAq4SwoYSXIPb3m_b#+lzR))=H z!{u@@Gc%*lN25_(E*C{bMO0Q+a`Wa*G)*HOj{{IzTFT_)r2hO!B!Z@CEG{le#lLam z2Ib}DSgls->gss;@+APre~%yM#ful5Jb4mL)2OMbF|DRdYs%D9RaM2gbLXh5tD~^6 zkjlzRo<4obwQJWXEiGm5-o12mbg;6rBAw5AncghPWKw^jold7d?(ukd_wF5!A3x^P zr%zN=RM67Wq8HoN)<%AQKA}*Ev9YmLmjxr);!jUc)7{<8ojZ4!f1jVHudffE&j-N$ z`}e7?uEy*2B81?{lP9Lslx=N~Yf1ID6kHuoaYPF_~EiW%i=IYg}{P^*MLx&F0+}uoidppz9(A!u z=Gc@CuCnu~W>KV>em7*60|yQu)c4=E6?JA&q^V|6q^V|6q^V|6q-EUT1_FW2%tP5G zrlzJc&Sh+tOy3<*{=YP#?oSmt>i@GS@>H`ZAJSB_DAH83DAN80LxW+%A diff --git a/inherit_graph_18.map b/inherit_graph_18.map index b1a23b1..b722d4e 100644 --- a/inherit_graph_18.map +++ b/inherit_graph_18.map @@ -1,9 +1,3 @@ - - - - - - - + diff --git a/inherit_graph_18.md5 b/inherit_graph_18.md5 index b2a9153..6fd603f 100644 --- a/inherit_graph_18.md5 +++ b/inherit_graph_18.md5 @@ -1 +1 @@ -bc7ac9be50a72ca79f0d891fef91c929 \ No newline at end of file +787137a9b1881efa85874df81192a2dc \ No newline at end of file diff --git a/inherit_graph_18.png b/inherit_graph_18.png index 037929ab281461a2131fe61381a24ecc8ed34eae..7152e856e8c12d332c49d0269f0c8e15220495c4 100644 GIT binary patch literal 1355 zcmV-R1+@B!P)K0X}o^@S|3j& z5_ENSQC3!l&1S>paxpVAqt8d9QCuz;MMXtaR#tNJ=1nwBBOZ?fP+D5bgqdR_f~Nc=_@r0LPCX=f#T`oIH6FP1C5UsWGjlOl!*2Q&m;P zxpU{JtE;21u#n2iN}fJ_%C&3PC@n2z@7}$1bab$?vLc<&dYRrV$z)Q0p`A{rKJM{& zc=zrdj~_qg)2B~VR8-K?(xMmJ*49RTem=A3b^`G))tUL_!}sapHuyc=4iCKC-gB{sGhX zEU{P&x7*E?D_2ORQUHAT@Bsk3-L7vMckSB6($W$iKYk<9vjG zmzS60^Z7V`{ya{nlT)Wo@#@v94Xr8HHUF)+xLALjpP!G#V!>*)rj0ExFH7ZPhK!#L z<*K;2m|M4Q;cz&(efu^Y9UYXFm64a1M=Ta&|Ni}}e&_xB_k8>IjaV$EH%vGjPJ2#4 zL4kf?0AjJ2{@5r!fZOfH?RK-WvckQ4_o%P0CmM}nu~^8<%l=W~(O`GWo36 zhP=;Wv)SnG?&j*%tNi%!gF}Z7(cIijdwV<6)6*oANuE7>MoUWz-@kvy;c!q}Tg%zA zXPKLuBODHM>C&aNm{nC(c)ea07Z;hCnW3krN1ro_KQS@E<;#}|g+l!N`IA&C#q#p9 zel0(E@F2lpkYB%knO2k0n%U~fg;73c*swR{Iy*Z_CX;x*UI2!MhN!5hpsA^el9CcS zJ3DD_Z)eY*JplOqeiDfU4u=Dm%Z10|NsHIp+e*pv;fvh%5CQKXrEH)NIr2M!?A_usY^b!Jhdsb*26sb*26sb*26W!&Hf0)frU zL)j*#rlvB^Wo(vA-yKo@zciulPZc@p|FbCaRI@13RI@13RI@13{su#XVZ$NM-rE2G N002ovPDHLkV1lX%rUU>0 literal 18956 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 ECtTcmL;wH) diff --git a/inherit_graph_19.map b/inherit_graph_19.map index 3b55e6a..b1a23b1 100644 --- a/inherit_graph_19.map +++ b/inherit_graph_19.map @@ -1,3 +1,9 @@ - + + + + + + + diff --git a/inherit_graph_19.md5 b/inherit_graph_19.md5 index ed4cb7b..b2a9153 100644 --- a/inherit_graph_19.md5 +++ b/inherit_graph_19.md5 @@ -1 +1 @@ -c2416909fdc638a520dfad63ed335b9f \ No newline at end of file +bc7ac9be50a72ca79f0d891fef91c929 \ No newline at end of file diff --git a/inherit_graph_19.png b/inherit_graph_19.png index ef9167b4275e5675ae7493b75bd8a00d8f1e07b4..037929ab281461a2131fe61381a24ecc8ed34eae 100644 GIT binary patch literal 18956 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 ECtTcmL;wH) literal 1425 zcmV;C1#bF@P)00006VoOIv0RI60 z0RN!9r;`8x1x86kK~!jg?V3wS8(kE~@8qF|+NdZRv6_;^Dh5$(X(G~AC!w?&6d^WQ z)DY2yiXymBNBfMMT}8#ZFiqW5ZJ=#LK}kT|xDb3KYLnnZgJuzxR^#pBeoW`{ zZJhdIeyg05d(S!de`n6k48b6TfPq$6S6#p@gwd3K7)|Mi(Ug8TRKseu8VrW3D&^*q zot<4@Ur(C=jYF#FTJFjjm>7WTCG$M=kOqt$#hxu+y+WYN)C9Keo8-#ru4&T zN0C4~Q{m#x#sz)FY{EH1f zx28&^(r&k}tgIk&baYfIm0BzoWKK>_?(gqEdGdtL8gCls)>JB$#>dAa5d(q1`1p8p zb2F)_#bS}m<>BGse!su2u1+WvMn*=eR4Q^0sQ13x?at57=kxh#X=xoD9n{7*H#djl zIG@i?NlE$k?Hd3e_(6sh3WXgV z9n^)y#l@jwP||nr-jQFCb)Je^tyZhmRL>F5rl+D%Cot+&W9j&aa1OVjalq{^mNj6yWQd8;W05W$P|f0)WNZ_vFHPj#{&TD?Ccz< zVQFdU$P|1&|IVE|N+m%MIFA1pg~fXM^eI6QN~IEc`uh4(Q&V5Qd>I=XTU%SJ*Xu(=Lk|Qo8jU`m zPb?M}6cnJhJJdVzFbxe2X0w^c91bB>g?=nYHEs$ zi<8M@91iE}*RNbIH#h}Og4$fqct-sTMn*=WqN1)O^#!5ljG_yp(a7O&o$~YNn$i!W zDg7{-($5iR)Td9MF29bOi_7J@ckdq6bA+ZEjpnlIxh1I8YO0Ar=KrU3!}L@7VKk*5 fMpOD>G^L+EkQWV@#_#1W00000NkvXXu0mjf!%eza diff --git a/inherit_graph_2.map b/inherit_graph_2.map index d852a7f..26fe4ee 100644 --- a/inherit_graph_2.map +++ b/inherit_graph_2.map @@ -1,3 +1,3 @@ - + diff --git a/inherit_graph_2.md5 b/inherit_graph_2.md5 index c3482bd..3a4ec3d 100644 --- a/inherit_graph_2.md5 +++ b/inherit_graph_2.md5 @@ -1 +1 @@ -6d8097bd2a3097465b49200829cf52f0 \ No newline at end of file +5f54dbfb87c04d1d86a00567efa58454 \ No newline at end of file diff --git a/inherit_graph_2.png b/inherit_graph_2.png index 7b444f69bb852a1c3e2fb5e18cbb9b0f02d77d2b..8abb39608ebd9cca1a2153970f10b37563224395 100644 GIT binary patch literal 1543 zcmV+i2Kf1jP)8cJ`J3g-|Z#Qtd4V1aBy z945X9R0azY5rZH?1rw_`VYQO5t!ceT2`WJd@q*|J@s)FHx;u0_a>e|Iy8C-^;BtT4 zOuO^v&7b%4>YV4C=Q+>0-<@;r&KP7_7D$MPOzZ>>JCXn*BMBffk^mwj=T}BXMjkzS zBvvYi1gq7m)9JYCzgB?H=j-k5-S?CZ5xu>=KA(?ok;is&I-UEK&!GcC7-f;p0FjXd z5E)4Tk=bJb^7HebKYuRFcYb~zLKqAN_co=!od0kIBqGLs#uOJJ0$jUx4MGSZl*{EB zji$M|ITDG)cB5&!rlv+%T2oU~dc7XU@zm7Rl9G~d-@YXtb2~0xy!h(XtG$i6djzfk zi^amS?AqE|PfyR|$B$pUc(J!>m6nz&mCEt)@!8o~tJT`l(z3Vl{~i+Bg5+{}K|w)Y zUf$&7WNa&cyU5MWZEkKZDk{P-EGsMP^XJdVJ~uZ+3_tKp^0DyYJk& zqf)7olanuBzC1865F69)_m`HIBHt%Zo^a>Kc4JW#1tFBlWM|HtdGO!?x`#I!jbmeD zw{G2n5a#FS0{~Pi)z`0Ikqg5x5W-L>gu*s8HC?)NDLFaWZnuZSVT;A0(P&PdJV{a1 z%*>3iXPA%xo12?7O^=R_78Vxn*txsAyQQUNetzC;Hdj_wqWK#PhU3SNPft&O{P>aE z2XGued-m-8`}b*@URzt+E}+3+NJ&X?yWRc${cqm9*>SA?{(hEaH#RojzkmPw_3O89 z-vR*acKd}37i=~g%d#|0|9%QDU%q_!@L?zvG8&C$v)Scx4Gj&=&dz3MXY2L)xcl(V zusj?NN0cQlSFc{>N2sW%*x1-WON#EBD}og_)FGeHnfpFVZDT)|+lqN1X_ynJYAh#$@G z_bZjk)2C0PYDPxJ@5cfFIGxV(=g%vZN(iCFVqqBOPiL)Gt5MH+=65>Sw=>N$z=NQ;e!Bol}fd|yu7fmfT|vkC$FMdi!^3<# zK@j0^nETQY*OyNq5HOic_wL=Bo12S7A{`wao12^5EciVY3I!4j0Knyj;BIm>8jVaQ z3kHMy&vIE=*=}YXMM46wEbH}p?RI-kPL2R~k|YZX3hL_W78e&i9#3OqBeMJb{<5;N z!NI|$rKO)ge?EKm%n28kMiA))z#HVB$ASnl9ZH0({x8i2iKIA zmNqdl!Re8kn`^V#LZQ&i%uGW=L)>U;wfe@58&y?RQ&UqbD=VX;qk6r5eSKZPLl7uH zXJ;o`dRna($MK$?9$|4D4o5f~CP|W_D6`p&j08d4zJ0s3wUs1EwOZZP)n&8Uii?Y5 zeM6xTNs`yEUoS5&2LL1`C2coQdU|?WTbs#b!Z6HgwcfmWlWV$r_wJ`ppA-rOdJAf8 zZ4Cy41VK;~#qSnHcXxMoc6Lcg36A6S_4QR%RmYAU6Y>c7i)fdJ@L$Nlz(8ths@PfV z42U^|ZD?_EvD4|)XfzZ>6%`e=x3`O( zkq{2>3OIG@l-+I@JBvg)z$@VYfh2&)NCJqAB!I}oIfUQ6d$<3299rTCU@#c=KaWET tWTpQHh>COuh>RqF$VdW+j3j`_`~ymPnMx;g=$HTi002ovPDHLkV1gIP={5iW delta 612 zcmV-q0-ODZ4C@3TiBL{Q4GJ0x0000DNk~Le0000z0000b2m$~A0DgsbNRc5Fe*z#$ zL_t(oh3%L>%d$`yhtGL=AdIH4AvBPnprP6Vm)2S$0;|DjsHrLFTeP$`wL}S75Y&*L zAp5sRO9kds4J|bU`3yn$KE-)dc#U|ywsZgPbGSIjtq2uG0UyYpcMBNA@-~-G_5M;X zL{Y5OYVT4(L(_DnQh6-@x^GF6e|o*1=}NydnM_1cR9C*9o4VbuSw31xr_(^ zLNprn`F!K?_;5II9CtdMhQr}KEtkuRqMS~r(P-p$yJ?#4_xq2%=u`)ae~M10^P}?2 z?RKLms#GeyOk=Uw-Rwc3P#_56cDwzWB48MXVHkBq_kAyy%k6fX&*wGvvn(si@@lm* zkRs6Sz2ENv00cp3?Du#)0D$B1Xdp$P+uP-G0RUuK*4Qse5&!_laRVs=-QIyffTE~Y ztEI8O-ENa4>G%5$qzGPoe^;S_5Z3GUR4V0gIEuw0K@gkGhU2(!IGo939&Oj_b-i9U z8jWVN$@4sfP<;qG)r8)8a%Vc7CK3s!(}`hNFc_>>tLO9iJ~8gc+H5w8qF9!l&*$oC zgGhDF6W#ZHClZMa27~9iAP9(E=u{W~*?a!&Sl;Ghd7I0pdcT<8Iy}#t?}28w+mR%x yuDtNhX0vAb=zw7u^%5%9|8Fy~yv^lPy}tp(=*hfWT^tJl0000 + + diff --git a/inherit_graph_20.md5 b/inherit_graph_20.md5 new file mode 100644 index 0000000..ed4cb7b --- /dev/null +++ b/inherit_graph_20.md5 @@ -0,0 +1 @@ +c2416909fdc638a520dfad63ed335b9f \ No newline at end of file diff --git a/inherit_graph_20.png b/inherit_graph_20.png new file mode 100644 index 0000000000000000000000000000000000000000..ef9167b4275e5675ae7493b75bd8a00d8f1e07b4 GIT binary patch literal 1425 zcmV;C1#bF@P)00006VoOIv0RI60 z0RN!9r;`8x1x86kK~!jg?V3wS8(kE~@8qF|+NdZRv6_;^Dh5$(X(G~AC!w?&6d^WQ z)DY2yiXymBNBfMMT}8#ZFiqW5ZJ=#LK}kT|xDb3KYLnnZgJuzxR^#pBeoW`{ zZJhdIeyg05d(S!de`n6k48b6TfPq$6S6#p@gwd3K7)|Mi(Ug8TRKseu8VrW3D&^*q zot<4@Ur(C=jYF#FTJFjjm>7WTCG$M=kOqt$#hxu+y+WYN)C9Keo8-#ru4&T zN0C4~Q{m#x#sz)FY{EH1f zx28&^(r&k}tgIk&baYfIm0BzoWKK>_?(gqEdGdtL8gCls)>JB$#>dAa5d(q1`1p8p zb2F)_#bS}m<>BGse!su2u1+WvMn*=eR4Q^0sQ13x?at57=kxh#X=xoD9n{7*H#djl zIG@i?NlE$k?Hd3e_(6sh3WXgV z9n^)y#l@jwP||nr-jQFCb)Je^tyZhmRL>F5rl+D%Cot+&W9j&aa1OVjalq{^mNj6yWQd8;W05W$P|f0)WNZ_vFHPj#{&TD?Ccz< zVQFdU$P|1&|IVE|N+m%MIFA1pg~fXM^eI6QN~IEc`uh4(Q&V5Qd>I=XTU%SJ*Xu(=Lk|Qo8jU`m zPb?M}6cnJhJJdVzFbxe2X0w^c91bB>g?=nYHEs$ zi<8M@91iE}*RNbIH#h}Og4$fqct-sTMn*=WqN1)O^#!5ljG_yp(a7O&o$~YNn$i!W zDg7{-($5iR)Td9MF29bOi_7J@ckdq6bA+ZEjpnlIxh1I8YO0Ar=KrU3!}L@7VKk*5 fMpOD>G^L+EkQWV@#_#1W00000NkvXXu0mjf!%eza literal 0 HcmV?d00001 diff --git a/inherit_graph_3.map b/inherit_graph_3.map index bc0eda2..d852a7f 100644 --- a/inherit_graph_3.map +++ b/inherit_graph_3.map @@ -1,3 +1,3 @@ - + diff --git a/inherit_graph_3.md5 b/inherit_graph_3.md5 index bf05613..c3482bd 100644 --- a/inherit_graph_3.md5 +++ b/inherit_graph_3.md5 @@ -1 +1 @@ -333c40bd2ce50399838c0a20c46a8d32 \ No newline at end of file +6d8097bd2a3097465b49200829cf52f0 \ No newline at end of file diff --git a/inherit_graph_3.png b/inherit_graph_3.png index 4d51076f5e2c3db09071f123cec7b1b370c61704..7b444f69bb852a1c3e2fb5e18cbb9b0f02d77d2b 100644 GIT binary patch delta 611 zcmV-p0-XJ`1?vPMiBL{Q4GJ0x0000DNk~Le0000z0000b2m$~A0DgsbNRc5Ge;`Rj zK~z|U?U+ByvQQX@&v|(ujHa+5G?1X6q1pnM)>K3Ykq(?2So`g~j7 z=3;r9i$U+%Y?e$WaU8eX?V(VpTCH9#7XUy!9)}P@2r&%vdcC<^Zn0QAcA?XM?kxyH zG#d5!eB<%>a5!)rcRHPh!{I$Gm&=NxoKC0FXykUgX`1f$`;WcoR0oQRe@>_Kqw>t{ zcB3e&R4TnpW3kxX>_MSWAPC}iyZxFXU>JsB7Sb5{V23gXg*+2#8(iR2To*d;aZM-sWO?o6DzqznI@VInSH#fo8YcktC_E xyztIuvu63|fMFQ*5-QgJZ!@vH&E-?QzX8PP$-G-#918#d002ovPDHLkV1mK5C+GkG delta 684 zcmV;d0#p6#1hWMpiBL{Q4GJ0x0000DNk~Le0000-0000b2nGNE01%AyPLUxMe`rZW zK~!jg?V2%xg56JEdU@Ije;=-#u&_I zGdvy-o}QlY`uch_k7!P$r%|pVr_<>m91i3D{vO?K7t7@m)oK;%^%|{Kf9p>!o6UlV zuwJjxZnxodIuQzm&}=r3<`c<@_A~^&qgJcYnPFWHhXbjqN|{WCn~Ovul+9*O#?$FE zDT+de!$CMF+EWD1{c47H&Tu%ybUH;UmAa@tnM`6npJOx{3FnOV6h-$9S(L?M0RT`G z<)V7G+YJC%tyaRh{eEw#f2SyhcaFp1007MA^NZ?dvl#%uZnq2PjP?}8upFPy2US&3 zE|)K=uT&~)P$=N>@ex+570=JlP!t7|$pqDE6~SN-@p$~G zX1Cj6JRYN1ETU8@LDMua#!lwu - + diff --git a/inherit_graph_4.md5 b/inherit_graph_4.md5 index 41fb33f..bf05613 100644 --- a/inherit_graph_4.md5 +++ b/inherit_graph_4.md5 @@ -1 +1 @@ -8549cb37020bda69f74c68c89d569639 \ No newline at end of file +333c40bd2ce50399838c0a20c46a8d32 \ No newline at end of file diff --git a/inherit_graph_4.png b/inherit_graph_4.png index 6d97bc175b1351b971f61c467d76833a1ae2e92a..4d51076f5e2c3db09071f123cec7b1b370c61704 100644 GIT binary patch delta 684 zcmV;d0#p6M1+xVqiBL{Q4GJ0x0000DNk~Le0000-0000b2nGNE01%AyPLUxMe`rZW zK~!jg?V2%xg56JEdU@Ije;=-#u&_I zGdvy-o}QlY`uch_k7!P$r%|pVr_<>m91i3D{vO?K7t7@m)oK;%^%|{Kf9p>!o6UlV zuwJjxZnxodIuQzm&}=r3<`c<@_A~^&qgJcYnPFWHhXbjqN|{WCn~Ovul+9*O#?$FE zDT+de!$CMF+EWD1{c47H&Tu%ybUH;UmAa@tnM`6npJOx{3FnOV6h-$9S(L?M0RT`G z<)V7G+YJC%tyaRh{eEw#f2SyhcaFp1007MA^NZ?dvl#%uZnq2PjP?}8upFPy2US&3 zE|)K=uT&~)P$=N>@ex+570=JlP!t7|$pqDE6~SN-@p$~G zX1Cj6JRYN1ETU8@LDMua#!lwuQESmj~AB)i%SyF7|39SE;l|HB4ZVQ5-Ozi5RX0vIQ z&sT}Z;~$cB{d`;A=3;s4LXza!+1UzjXwbXU>BM3&7=|GT^85Y8V)6a`U1z@CZl}{} zV{2(*#JkmMQ53bcwRLlI^ZNSAvg~X&yS%(yq1NX}3OJ7Ykf>QK76d_Le=-@(?sPg$ zCX)z)peV{P%-h?WoQFc8)6-M=IuHn)oSf|L?rv^w`h33Y>udcLB}t-bnx<)Gvh;or z27}RP#4wCzH<3upX0u+e*X?#iQB0*$nq&2Py-+ATJv}iDlS-uwyaO!l{qphx0KhOz z-MYKG<9WVPskq&49LLM$fAZDU)nqbJPv&yDU@!NH!K>s_f$DvBq)kHe?C60)oSzkJe$o% zqfwX3^&Q?u&cR3|!t;E;-zP~DhT&u~>2x~x_Vxe(9LG5v4!_^Ov$KO?SiN3fweTO7 zJqLe;6`X_r36{6HSl;Ghd7F#I?`5OWFyBL;`}=#3$D>R%yblfz%<@?Rnx>VdO|t&~ hHWSO+T-Me5HyZuz5rnd%PzeA4002ovPDHLkV1hKrT}uD} diff --git a/inherit_graph_5.map b/inherit_graph_5.map index d0c71fd..8d1a7ef 100644 --- a/inherit_graph_5.map +++ b/inherit_graph_5.map @@ -1,3 +1,3 @@ - + diff --git a/inherit_graph_5.md5 b/inherit_graph_5.md5 index a799e7c..41fb33f 100644 --- a/inherit_graph_5.md5 +++ b/inherit_graph_5.md5 @@ -1 +1 @@ -bc6e99dcf7dbbd75d21e48fbc2746f77 \ No newline at end of file +8549cb37020bda69f74c68c89d569639 \ No newline at end of file diff --git a/inherit_graph_5.png b/inherit_graph_5.png index 96eb92091c648b90c35257dccd0297b52d7a0b95..6d97bc175b1351b971f61c467d76833a1ae2e92a 100644 GIT binary patch delta 700 zcmV;t0z>`N3c>{;iBL{Q4GJ0x0000DNk~Le0000z0000b2m$~A0DgsbNRc5Fe*$+& zL_t(oh3%NVYwA!KhmRMR28&A)&=|;Ig)TZ2G%kT|Iut2Hi-TF}Vhak+{R4Dy5Ja$@ zqy(bf3dN3D8W9I4T}lfb@=ktHdfA(7x#fysz)0IA_-EIqlpiJ!Qp=Psb zmd{s-$KxN8b^Ux>-sWO?>q3&`+1c3&Z)niF)9J)wF&Ks+2=e>=#bWXO{at6i-EODT zX=7_?V#K@EYEcxmwY7C~bMyN8%ChWiHoLsMT%p$IND4TP`;e$vEEWVoe`GQl&F*wM zO(v5Ff}kkMFwEQAo1BM2q0`e-`8p5?oSdBO?(S}GZu)$_>+5U%6(vccX_}^KWwP{s z4+ewLXv8p#W;c;Y%x1G*uh;E%MNv$pQkrA+dc9C6JUu-z43kQw47>v@?fvrd0sz1; zOx?P>yW@GjQmMGzZXCzUf93Mk)zxG&QBUS_xnM8|LD13B(ev~3y<=Iu=V!9S+Cg;UR`$!{Lx+*+3wWNF*qVe>y%suGMPu`8=D= zMx#-e%k>@JM$W-VB*OE2zuzZG5{BVqGU;?W_xAPx0363T91g$Vzq7N0VOYIhU$yWb zmOTf5gcY2F{|T12xme!jVtJd3#_wgL(J677VtqfiL|0000YBbwMZ>m1W_%Ty_PnDG$otB5UgHPhHGcdpUZ7@m*bAYPH%#zEmo$udlc6e_nZcc?g0a z2;%1EmY$xzwY6nk9h+l~*K2EQnVFdp5fNgs_~GGUc6L^!Qmw44e7iUuO-)S@!t3kn zyBO@skN^ERwXJ==5c{u>!?(VLlqQckL z*U!(drl#iU=?S|^e+@}Ye@tv^Ys=2grc$XsVYM5QK+^8@6>&sno8nuIJ}x ziA2I+Fc1VGkw~GTp&cC^*qhk9$qAWEzPh^lROc&^Mr#596bc1{!Jty9 zF)=ZVi;I>zro&>dkB^TpFE6XBtBsD9mzS$ls{Q@_y}dmYMXRc+e~hM0PfrU30;N(} zU0q#ORb|CH^wrf>2;uwt`_j_V)YR16+#CR)va(VplWlKrV>u%uBRM%aAt51ViZogi z0Kj6goSd9aPfu4?RwgGWEtUE&P!FL{_$gw@=H?~=Mn39q*Iy#EQe-jcCdV71ZHa4f^a=D2+=H}*NYlupv;_-NHZf;7YQa@o}V1UJ9 zVQns#TUl8NA=GFzUS3{{i;GxXC%}YAqcu-YPXPe8x3^e)V`BpVaDRVq+9e1flgVT< znfein=e3WI4*=l$`r2>^MNu-DOrz1TF184uC~BDL>+6d(f1I720RX1=RRF-izyN|E z0RaI!J3GtE%YJ@-B9SO5DaqB<6+w`urY5;uj%9K2m!NFFG(}B(FmzNi* zRGOWgeS3S$e`d4W+uIci#mC1-e}BJLtHm;7Vq#KKQYI%Shlhu2Yik`G9LyB?Rn4HF zpx4(|-EMq-es1+sSnM@|AVWh#6OnVFefE?1#Y zpeV}Y@$&QY{r&yTto+NpQHNTs{`mNCcXxMmbd*Y^fBpUa`lB2Ur@OmbEEXF*Wqu{{ ztD1B=JtHHdv9a;~{{H;@yrreZ%*QdrnloQsUf$N$*3r>XYHF&tw>O*3c6WEjzO6!` z(ACv7K0ZD-E20SN~QAo{F0Iq{n6s$ViJjzm6i3?r)5;6 ziJC&8fAHnyg-)k47>utD1!keYc$>2~{(LkVji;yQ+}xaPWqiZl_``t^4h{}FJ3E(_ zmfBj&XN>$-@JBWhi z9)BJ7hg>cX3JTJX81b6LV&SF7&S5f{`dtJPDF4643u3*-55jBwAiTy8!fX8a2fA%> U`T2`y - + diff --git a/inherit_graph_6.md5 b/inherit_graph_6.md5 index 5dda409..a799e7c 100644 --- a/inherit_graph_6.md5 +++ b/inherit_graph_6.md5 @@ -1 +1 @@ -329c2fc4f2793bcf1cede6b077e85f76 \ No newline at end of file +bc6e99dcf7dbbd75d21e48fbc2746f77 \ No newline at end of file diff --git a/inherit_graph_6.png b/inherit_graph_6.png index b4e275e1b305458000bad204b2d2e8267521129c..96eb92091c648b90c35257dccd0297b52d7a0b95 100644 GIT binary patch delta 1361 zcmV-X1+Mze3eyT9iBL{Q4GJ0x0000DNk~Le0001a0000b2m$~A0O{1xl93@5e+WrL zK~!jg?V3qQa$Ok5&lQWZvS_4sxJ&wcLy{ym;^xQajs z0Rb+MY%Sm~g76wY2(R&j@ESkJfBGGXMAFySXDcc8M_O7MpU>BI|1+;q6kS+Yz+IAk zB9%%d5{Z63Tkjg9^PI!dJyL6C=s z2P>|{$?NZW)IS<4z24p3Eh;MV_V%VwDDm;}U0q#jwc13!R4T2nuea`Ae|dR%2!bF8 z;^yX-o}Rw7wPjr$n`4dFYinznnVAt05n{3U;o)I+c2=cQt*oqkyEq+9O-&HO>+9>} z-*>Oyhs9n)2pbw2>gwuxdU_%wBPkS0Y;0_2XJ>hNIRN19?yjPu!q?Z= z&(E)>rsnDC3A;*v4M|K)e{5@O%g)ZGQmIi|wgolS4wslac)UK|s=jUgM zM8aS&5CkESNTH#j9UUFmo8jT%;kdXsUH-|*37Jg3y1M#Q=PQv$YXSfi3I&6~pi-$Z zF)@paiQl04^>ru;e-aXUdwa1qHmBrrxrsaG=H_B+h)Sj6@px`-Zc3$6KVe{CfW=~A zZ7!EvSy>4o)MzwbUS5lfi&$JIz=TMnHBV1Z0RXqRw^)2*V*>zie}8Yx(sR^ z0RcNZJIl+87Qcz+$hXqoZjw+RV(1;ZSgJuvV*;$z)g;n-Rgm!B&gYfz9iemlvs2 znw_0}dwa`ff3w@$+Z77M$Hzy1f4^3%#WG`JVp394CMPF{hlguxYaJXM%oO=m&7h#5 z*Vk9wZhU@zZuL`G>@|WQLqkL3%jIRy_W}&}$o3l6md^8%3r>E!K+?;J?e8b-O!+{VE4h}jyJC~N0 z+FHwJjQm#cM?;}dJUl!mCMFDbMVn)9UjOp=XhZC64f)9sUgHPhHGU9Y!fX5>yv7g0Yy9{Jx@~d! T`HN@d00000NkvXXu0mjf&WoBb delta 1356 zcmV-S1+)6o3eE~4iBL{Q4GJ0x0000DNk~Le0001C0000b2m$~A0Nt$+j*%f1e*;NG zK~!jg?U`RlQ*Ri@pVKM58l8_ne)>LkI!Kx}^N=0{#bZe;TpFX~Yhv5j*^NV|aM@%9SgBtCXEXX=$n5ZjYJ& z=_87w9z1xk?IrCjNRk{L9*+0$6N3f^2e+%9ok&GR#VQYX93UPojWIyNHQ}s%gf8(zI}`RB_$=jy}cW&b4%EWM$ex=*J`!-`T0XbL!nUU?%lf# z!#sKNWRs=n^?IRDI5sxs_xtU3yTjqwWWp^2#W652u*#E2G#Vuc;?ku{YtGKj&YDc7 ztgI}FL}Ia6zJLFY{c5$^f9Z7MabaO$b91v!r%O*yKXmBOix)2tLcw4V0LI71S0${f zs*07WR;v+0r%s&$03MG=5X9xnm!r`rj$|0dX0s6lv48*m+S=NMg$2CU?c28zLO*`| zICJKVUa!agbub!@Mx!y_lXM?>JRYCVXR%n;oUN>^WEkedhYuqoe5dK#ObK79g!Z{NNp_EASi2OiJQ&jSEW(+DA&rma?MUS8hb zy?aYbOCLUbh+|?JC35xZ)vBs0gwWToUje}D^{xsiEG%qnY&>}Ipu^!`Q z_pyq>!NKCS&q<0H4pdXU`smLXjBX-QAss?%2oS2ws zYHD)1TynWwtJPYq)|r_ZilS^bTX}i8R4V~NRsUA?8G0>&CNZ1fBJNFb+yOiVHn2gbh_PcJjLhp z@7%d_Kf6c!W| zs8lMMOxD-e_lG%UGTFt87u(v}6beOdZm!em?CI$_e*8E9)YsQPd-hBq5NI?Sf*{)4 z+f62ue@G;<+wJGipO0ne@9$SCl_yS|kjv$xqoX>V?)N5BQk+ibv17-yS}p!&kwllPC`RsRXxB6-9Prx81xM(l7JvGWU!? - + diff --git a/inherit_graph_7.md5 b/inherit_graph_7.md5 index 99edd2f..5dda409 100644 --- a/inherit_graph_7.md5 +++ b/inherit_graph_7.md5 @@ -1 +1 @@ -4691c5a900a44d371261adfe89413fb2 \ No newline at end of file +329c2fc4f2793bcf1cede6b077e85f76 \ No newline at end of file diff --git a/inherit_graph_7.png b/inherit_graph_7.png index d99c689ff4553a26aa37231b6d325d352b1f0182..b4e275e1b305458000bad204b2d2e8267521129c 100644 GIT binary patch delta 1357 zcmV-T1+x0F2+j&2iBL{Q4GJ0x0000DNk~Le0001C0000b2m$~A0Nt$+j*%f0e+2_c zL_t(&f$f=JNKrgJ9D!CcB|(;#RnPT0IzERu4yqL|8v?LtI~!Gv9iq6pH> z6ifmkVx?yG$5~y}qPmERNDtwkD0JWo*Uni^S&jqd0(EZ}FRcBXc$$j&v-7!npXYt{ zywCgHv-g~x!$SxG$GW8a?E?M>e{dSH!)e40rx82+cw=~Y_{xbWuHr>6%YM3N)`xZQ4q(9+V< zqeqW!-MV$}-aQ;?Hk-%B#-2WXIz2tDQmJ0OdKF6&3eZ^MDumG2uU`Sc>-DY*C@d^&Y-~Ju@SwxtSbtwJwxEx) zva$dm5C|krQ541J^9h2$W?o(%b|ywjBoaIj2m}Ct&wH6nf7aF2<@I_)q0og37b+?$ z@b|Hb!NI}e;$opt$m8+q>gs5k1^}PWw`b2Dg+h@S-`(Avnwo00T9e&rjHER>eE2Xy z5NqCaS^e^yp-Bd@~Ya440^va+&pIGk)Hn4~r0@p#v+UAuYnW2$i?Zal^3 z^Y7fbbL7YoolZA5H<#>wVPn_+lP6EUdGls+a#Ewwh{a-)$&`_iVK5i~U|?WCC=?bH z6sS}xnM~H#*Y}4xWir{tix=D4+7t>!Zf>sA>Fnw0Iez>&0MyslKYR8}AP{IY8iF9& z+uKbhf0IZgvfJ(F&!3NF=>OyCK5*bbyk`xK;vd=kn;4D8c$4>!-&Ow!Biwn!4yO@2oJQ<$8nN>WjqfTwR-3b6S&vRzxpb(0p zAcrAk+d!7d=g)0&JwF*g@Or&7e={@LvXU8uLgDc6aB}#^`d?mNy4~)KTgn_hpU>;{ z;w$8Tid-&Nru<}@uCA_km0Z97^Z9d|eEz?KKp?PMt$(TcH$o(TdwV+sLHKwlCnpdD z(P*?}#pm-43=DkSr>?HfX0zej4h;=q*YS82(CY$f6q6Y&B>wJ zZ07U%-((5IVllB;oJb`0_xD*W)_1i{3Bmjw9UZY)?C|gq0Py(u=x{g&2M6&2{Qj@5 zt{xj3Yi(_%)9Doz6}!8;0DzvJ9>3q;*VhL@kU$_vP7H-Yjg5_5E_Zu-n@*=={f$N= zhr?ko7;?G%;^G1TV6j-Lf2yjIvx31OnM}q$N(+MdNhFe9ub-cv2LLQDFN;K?va+%d z^me=5WHQ~{+-S90jYfl_sMG1Jt*u>JT0&9O=ksB*)6-L-P^eTYS5{Vj{rZI!wOVa3 z7~I?23x~rz9#5rGy}iBl_V$Lu;e&$%OtY}C(AL(*;c(IplJ0~ge>$CReSQ7@{@!A- zAPDlY*l0A?*Vj|2R0Khy(dgCHRZ7{>(NR1e$2J94i9{kEkH>1YmY0{)>Ga9T$+NSw zKp;S)(KH&3#bN;fyu7^FY&M-vM<509{7fcOCX?y)`lqKSsZ{!(V(fxKp#T7$pPy68 zU>NT2?{8^o@%#N)e9UE>~KRNbkRW2!dv3XK6H=L?YSR+G=WQ;&3=55-A#umXwsd z6IWJNHZ(NYY&MU_1H*7(VIctzU&=2MiN5mlA&bR2K0bbZe|;sB|FAJWK2D?2q*Cd| z#)d>9Q7V-%3{Ou_v)SxGATTj8;dDBSii!XL2!a?4hTGd){ChMlvU&a+85!Bx*`ZJ< z_~$>y=;)})WKt*;o12?L^20{~Pi6^TR=i^W_nm!Jt0$Li|p zyUPEZL?TgKe_ZTvI6kRYtJP|?8ejRr=YJGM=jP@p6iR1jC*dYvy8p8al}cqW7>kRG z#GZT@KRExty+qUE2k-xHA)i0D$@Tmxo_}j=Ynk_v86uGgo6W{oQsnRM?#`5-ETC4a o@k0pB|No!Mb%7 diff --git a/inherit_graph_8.map b/inherit_graph_8.map index 40f8d8a..06661cf 100644 --- a/inherit_graph_8.map +++ b/inherit_graph_8.map @@ -1,3 +1,3 @@ - + diff --git a/inherit_graph_8.md5 b/inherit_graph_8.md5 index 3e173e9..99edd2f 100644 --- a/inherit_graph_8.md5 +++ b/inherit_graph_8.md5 @@ -1 +1 @@ -b0a7acf4da3cbd2644b9f927c0ddb030 \ No newline at end of file +4691c5a900a44d371261adfe89413fb2 \ No newline at end of file diff --git a/inherit_graph_8.png b/inherit_graph_8.png index 9d6ca8877aeee455e98bf76483404c59bea236ee..d99c689ff4553a26aa37231b6d325d352b1f0182 100644 GIT binary patch delta 1070 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 O0000 - - + diff --git a/inherit_graph_9.md5 b/inherit_graph_9.md5 index 49a2669..3e173e9 100644 --- a/inherit_graph_9.md5 +++ b/inherit_graph_9.md5 @@ -1 +1 @@ -852e02c69c7c49dfca7a12fc3b330ccb \ No newline at end of file +b0a7acf4da3cbd2644b9f927c0ddb030 \ No newline at end of file diff --git a/inherit_graph_9.png b/inherit_graph_9.png index ce24a63d277da11f327d054cb8b31721aaf6c2a6..9d6ca8877aeee455e98bf76483404c59bea236ee 100644 GIT binary patch delta 1356 zcmV-S1+)6056uc8iBL{Q4GJ0x0000DNk~Le0001S0000b2m$~A0Qv)wW|1Kje+2?b zL_t(&f$f@WD6?-I$FF-%&0!O>5{(xKX%e+bXh|cdmPy1~k}^3YY0OK>A@YVhIfk6& z#S&g9Ua%o=9E)NNIfSsxR_yw}xNF_d?7wH*b3ew@{dsj=zx}S?{oQxJ`?_|oArL}9 zLMRkR3-|{iJtZE}Q{o{#B_3z|e?*~Bbaiz(O3KeAK0dy-w$?cPrB5#|F6QRuzFgAJ zMyXUP6bgLA`E%0j?Ce+R`4`B`%QK0P`zi5|o)Qn~De;h=63^fAl*{D~3=I6G;@=#5 zJWWeWLl6XS+5Y}Mf*_urp2mn$sVprmwOl7IE^cIG1YfqMrUn~pwc5;VrQSS*=!U=jZ+jw*=)AmB22iyzvuCI zI-PEPecj*R-`3^J%gaegNui;ko12^W_xBSM6VK1ja=Dx+dA|qZn4X?CiI|1Y=QlJo zuvo0Ett|+lMx*ie_U`HFfAR3}Fy?SLoc{iPY#bdO-PF{?#^k;ji#!qip65l>GX_@43$a+Aw*F$Dk{o&xs#I< zCnqPBN@Xw@f`fz0%gfCwH(Lr**x1;ZoSclm)r`U{BNPgSLLok4e`lXkD3r3Yvfkca z0KnMTSYl!#i^Z~#KRPBw6((?551R?w^%r@`_Ti>TLne6uVmQJTXJUp=3?4_k8xm<3c zPdht1vGL>MBLLv?@)9rISe8bkd3kvq92^*f7Z(=*fUB!3Z2Ix>L8H<3_Vyrz6%`dl zMMV%oolfWL>pMR`47)#}f(EtHCmj&5#lHfEX#f3pl>eF^|zGMVY=>1AbQ zudlCsKL5AL*nmo<0s#K+#1M{2Txf5Dybz#Nl8f^9UTaQ z*s+{KG5tgle+237?)LQbOi4*uTwF{@NC*lFqEIMzcXz(Nz9z|$k&zq@XJlk#VPQcm z7Q48(001H)B7%d1$H&LHT&_vJg;Ln1EeNyief`Pe#Kc4hVO?FFearp*{rC3v-rwI% z;?2#?QmK^B=dZ4=vRJI_>};`Ed~$N4)oOQkb_4=}e_pT0G9?m8dwcul=BDv`8-gGx ziVhAAN~O}%(^IWhdw6&#lgVagW-OPoMwpd2@;R!$zJ6(GiAtq@?kTBM+S=Nhm6auz z%ST5?!^6YV)6+45HM_ewK!C({= z6wv8(e{5&4P|8YSR)ODKtvsW?4?3OB$H!-Ka?*hsh&-bl4ur6$r-w?V=H}))TFWo| z(HZ4f+}+*1y}gHqhOpD=`|yK3wdoQ5EBV3q{JLU@f82dCW$o&g+lxkf#m;BiH6)yB8i9elz2!_iHG!*c>V(q{h|VUBa#XL O0000ZhfVFFa z5h|bsb7M)wO44LCZ2WRvA_5l-t_m6qT02)D{yp<@P9cut0D+(yG=B>~Ajp7>i=ZUPxClyu zjEkTobk7~FR$E(J>n|zGM<^636bgT<_>J1yTCG;=ZxtU73WY)_6uNg8jJO7aL8H;E zxulgrr_%+LQM6jEPN(y?iVp;hMq@A-JR|f!7HVs2TPr;)Nls3Vza=atH8qu@$qY0g zgo`5R85coGkZ}=|1Q{1WN&IQt$;n9wq1kNylQOBPsf~?|YbJ>**zNYh!otwd(8R<< z64lortE=6)US7@+flo(AM{jSh(P(6|+5XnzAIOZjnVFdoLeJmI;NT#HkjZ4OoUqkm zaL{=AbVpTHx4(t_29Zn%A%nq)jg38c@L*qG-(S}1@9*EabLWbR;#tNv@|+8dc%edVzGF1bd+q1 z7BDqsX>5G_#TVy9qKdk@`=g`N0Dz#N#UBL&f#BfaEnBu!S654=Qn_4CEI0L<7O_}- z;lhQ>moGyIPn|kNL?DDT8Z9O!ro6n|y;POQ<2`urfY>$~jS#}OZ{K=e^uU1wPoF+L zeE2YgFf}!m2vVYRNg9_%qse5lOP4MI0B+p4ArgtAqM|$ta`6cQ~A+Pq>y86cmh)k3W0%47?{Tot>Q}B_+kh#W;?amzM(oIy*aY z9Jkx;w{G3Ke*Jn&ON)=!QmItQ$;nMkO*oFb=lKG>a|y`5oEedbLUQee*SVa1YqYbg1m7t49m*OlF4Lqb8{IP8C_jn?n4HH zfljCM`Fvt`^XAP&&}Or(U%wv1Fd`lo7e{Q2jEn#PxLmI1`Cq+y<$K#^XMcJ5a)ZgV zUaM_{5dMCze6MA@y8f$D{l~|XlY`CvTVmoH5*3L_`LM7s-_z38)>ctb@%;Joxw$z2 zKw4TFNzuO(P@U_QWql4idh}>|dU|zr^`fcd$jC^C!!b5CM%-eChlh#a{QUgf+?>f| zBATby>xuHw(a|&-&15od+O&zBlF-nQm>3J2{VSjU`42z*>~y*ygihys??<10%FoZ= zN$y%c^6j_(CRee!xtYh~#mC1p7z|(1GBq`omzSr}Xm;(|#bh$;>grS~6>*5cVAyOn zV%uagd96;Pd4F6CoX+*ivWzPdiM;-0EjBhbJw3goq~yw#D-MU_`0?XeSy>zo2LObkeUa!mHa0Uhj91aJa zzQ7Ct)wzFUwPwy*TU(h-ra&M_PEO`>xk{zd9k*JoadB~Cu~;gVy2~q-%7lc3tgI{y z!{l;#QBe`;hOt;7IXRy-H_HYFPFGay|KyV>2qB#wxRcv;b#)NJ(9qD#%*@xXUu(76 z?CfmfkS}TB^Z8X(Re5=NEEY?lQ0&{c&wZ$}veIlebGclxSnL`1+-QC>`2E+YT z;VJ{H+MFTt2R~3R|~EY~31B zR<_4vn)SC9#IpD(M%+a}2*bnCpi6B&M&lwr0FZGJlmrhmdNYP{lK3v?dd5Xi n5@cKiB|*kTP!eQZ1SR<&F`3k0)s#J-00000NkvXXu0mjfBNfVs diff --git a/inherits.html b/inherits.html index bbaf17f..c00ee48 100644 --- a/inherits.html +++ b/inherits.html @@ -69,98 +69,103 @@ $(function() { - + - - - - - - - - - - - - - - - - - - - - +
    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    @@ -171,7 +176,7 @@ $(function() {
    +
    diff --git a/model_8hpp_source.html b/model_8hpp_source.html index bdead42..5ca3a2d 100644 --- a/model_8hpp_source.html +++ b/model_8hpp_source.html @@ -81,277 +81,279 @@ $(function() {
    9 #include "crow/json.h"
    10 
    11 #include "tl/expected.hpp"
    -
    12 
    -
    13 struct PublicKey {
    -
    14  std::string modulus; //: "daaa63ddda38c189b8c49020c8276adbe0a695685a...",
    -
    15  std::string public_exponent; //: 65537,
    -
    16 
    -
    17  crow::json::wvalue to_json() const;
    -
    18 };
    -
    19 
    -
    20 struct WeightedUrl {
    -
    21  uint32_t weight;
    -
    22  std::string url;
    -
    23 
    -
    24  crow::json::wvalue to_json() const;
    -
    25 };
    -
    26 
    -
    28 struct CDD {
    -
    29 
    -
    30  std::string additional_info;
    -
    31  time_t cdd_expiry_date; //: 2023-07-22T15:45:53.164685
    -
    32  std::string cdd_location; //: https://opencent.org,
    -
    33  size_t cdd_serial; //: 1,
    -
    34  time_t cdd_signing_date; //: 2022-07-22T15:45:53.164685,
    -
    35  size_t currency_divisor; //: 100,
    -
    36  std::string currency_name; //: OpenCent,
    -
    37  std::vector<unsigned> denominations; //: [1, 2, 5],
    -
    38  std::string id; //: 23ed956e629ba35f0002eaf833ea436aea7db5c2,
    -
    39  std::vector<WeightedUrl> info_service;
    -
    40  /* eCipherSuite*/ std::string issuer_cipher_suite; //: RSA-SHA256-PSS-CHAUM82,
    -
    41  PublicKey
    -
    42  issuer_public_master_key; //: {
    -
    43  // modulus:
    -
    44  // daaa63ddda38c189b8c49020c8276adbe0a695685a...,
    -
    45  // public_exponent: 65537,
    -
    46  // type: rsa public key
    -
    47  //},
    -
    48  std::vector<WeightedUrl> mint_service;
    -
    49  std::string protocol_version; //: https://opencoin.org/1.0,
    -
    50  std::vector<WeightedUrl> redeem_service;
    -
    51  std::vector<WeightedUrl> renew_service;
    -
    52 
    -
    53  crow::json::wvalue to_json() const;
    -
    54 };
    -
    55 
    -
    56 struct CDDC {
    -
    57  CDD cdd;
    -
    58  std::string signature;
    -
    59 
    -
    60  crow::json::wvalue to_json() const;
    -
    61 };
    -
    62 
    -
    63 struct MintKey {
    -
    64  unsigned int cdd_serial;
    -
    65  std::string coins_expiry_date; //": "2023-10-30T15:45:53.164685",
    -
    66  unsigned int denomination; //": 1,
    -
    67  std::string id; // "1ceb977bb531c65f133ab8b0d60862b17369d96",
    -
    68  std::string issuer_id; //": "23ed956e629ba35f0002eaf833ea436aea7db5c2",
    -
    69  PublicKey public_mint_key;
    -
    70 
    -
    71  std::string sign_coins_not_after;
    -
    72  std::string sign_coins_not_before;
    -
    73  // "type": "mint key"
    -
    74  crow::json::wvalue to_json() const;
    -
    75 };
    -
    76 
    -
    77 struct MintKeyCert {
    -
    78  MintKey mint_key;
    -
    79  std::string signature;
    -
    80 
    -
    81  crow::json::wvalue to_json() const;
    -
    82 };
    -
    83 
    -
    84 enum class eError {
    -
    85  JSON_PARSE_ERROR,
    -
    86  JSON_MISSING_KEY,
    -
    87  JSON_WRONG_REQUEST_TYPE,
    -
    88  JSON_WRONG_VALUE_TYPE,
    -
    89  JSON_ERROR,
    -
    90  NOT_IMPLEMENTED
    -
    91 };
    -
    92 
    -
    93 struct Response {
    -
    94  unsigned int message_reference;
    -
    95  unsigned int status_code;
    -
    96  std::string status_description;
    -
    97 
    -
    98  virtual crow::json::wvalue to_json() const;
    -
    99 };
    -
    100 
    - -
    102  unsigned int message_reference;
    -
    104  static tl::expected<RequestCDDSerial, eError>
    -
    105  from_string(const std::string &str);
    -
    106 };
    -
    107 
    - -
    109  unsigned int cdd_serial;
    -
    110 
    -
    111  crow::json::wvalue to_json() const override;
    -
    112 };
    -
    113 
    -
    114 struct RequestCDDC {
    -
    115  unsigned int cdd_serial;
    -
    116  unsigned int message_reference;
    -
    118  static tl::expected<RequestCDDC, eError> from_string(const std::string &str);
    -
    119 };
    -
    120 
    - -
    122  CDDC cddc;
    -
    123 
    -
    124  crow::json::wvalue to_json() const override;
    -
    125 };
    -
    126 
    -
    127 struct RequestMKCs {
    -
    128  std::vector<unsigned int> denominations;
    -
    129  unsigned int message_reference;
    -
    131  std::vector<unsigned int> mint_key_ids;
    -
    132  // "type": "request mint key certificates"
    -
    133  static tl::expected<RequestMKCs, eError> from_string(const std::string &str);
    -
    134 };
    -
    135 
    - -
    137  std::vector<MintKeyCert> keys;
    -
    138 
    -
    139  crow::json::wvalue to_json() const override;
    -
    140 };
    -
    141 
    -
    142 struct Blind {
    -
    143  std::string blinded_payload_hash; // bigint
    -
    144  std::string mint_key_id; // bigint
    -
    145  std::string reference;
    -
    146  crow::json::wvalue to_json() const;
    -
    147  static tl::expected<Blind, eError> from_json(const crow::json::rvalue &json);
    -
    148 };
    -
    149 
    - -
    151  std::string blind_signature;
    -
    152  std::string reference;
    -
    153  crow::json::wvalue to_json() const;
    -
    154 };
    -
    155 
    -
    156 struct RequestMint {
    -
    157  unsigned int message_reference;
    - -
    160  std::vector<Blind> blinds;
    -
    161  // "type": "request mint"
    -
    162  static tl::expected<RequestMint, eError> from_string(const std::string &str);
    -
    163 };
    -
    164 
    - -
    166  std::vector<BlindSignature> blind_signatures;
    -
    167 
    -
    168  crow::json::wvalue to_json() const override;
    -
    169 };
    -
    170 
    -
    171 struct Coin {
    -
    172  struct Payload {
    -
    173  std::string cdd_location;
    -
    174  unsigned int denomination;
    -
    175  std::string issuer_id;
    -
    176  std::string mint_key_id;
    -
    177  std::string protocol_version;
    -
    178  std::string serial;
    -
    179 
    -
    180  crow::json::wvalue to_json() const;
    -
    181  static tl::expected<Payload, eError>
    -
    182  from_json(const crow::json::rvalue &json);
    -
    183  };
    -
    184 
    -
    185  Payload payload;
    -
    186  std::string signature;
    -
    187 
    -
    188  crow::json::wvalue to_json() const;
    -
    189  static tl::expected<Coin, eError> from_json(const crow::json::rvalue &json);
    -
    190 };
    -
    191 
    -
    192 struct CoinStack {
    -
    193  std::vector<Coin> coins;
    -
    194  std::string subject;
    -
    195  // "type": "coinstack"
    -
    196  crow::json::wvalue to_json() const;
    -
    197 };
    -
    198 
    -
    199 struct RequestRenew {
    -
    200  std::vector<Blind> blinds;
    -
    201  std::vector<Coin> coins;
    -
    202  unsigned int message_reference;
    - -
    205  // "type": "request renew"
    -
    206  static tl::expected<RequestRenew, eError> from_string(const std::string &str);
    -
    207 };
    -
    208 
    - -
    210  crow::json::wvalue to_json() const override;
    -
    211 };
    -
    212 
    - -
    214  unsigned int message_reference;
    - -
    217  // "type": "request resume"
    -
    218  static tl::expected<RequestResume, eError>
    -
    219  from_string(const std::string &str);
    -
    220 };
    -
    221 
    - -
    223  std::vector<Coin> coins;
    -
    224  unsigned int message_reference;
    -
    226  // "type": "request redeem"
    -
    227  static tl::expected<RequestRedeem, eError>
    -
    228  from_string(const std::string &str);
    -
    229 };
    -
    230 
    - -
    232  crow::json::wvalue to_json() const override;
    -
    233 };
    -
    234 
    -
    235 class Model {
    -
    236 public:
    -
    237  virtual ~Model(){};
    -
    238 
    -
    239  virtual tl::expected<CDDC *, bool> getCDDC(unsigned int cdd_serial) = 0;
    -
    240  virtual tl::expected<CDDC *, bool> getCurrentCDDC() = 0;
    -
    241 
    -
    242  virtual const std::vector<MintKeyCert>
    -
    243  getMKCs(const std::vector<unsigned int> &denominations,
    -
    244  const std::vector<unsigned int> &mint_key_ids) = 0;
    -
    245 
    -
    246  virtual std::vector<BlindSignature>
    -
    247  mint(const std::string &transaction_reference,
    -
    248  const std::vector<Blind> &blinds) = 0;
    -
    249  virtual bool redeem(const std::vector<Coin> &coins) = 0;
    -
    250 
    -
    251  static std::unique_ptr<Model> getModel(const std::string &backend_name);
    -
    252 
    -
    253 private:
    -
    254 };
    -
    255 
    -
    256 #endif // #ifndef MODEL_HPP
    -
    Definition: model.hpp:235
    -
    Definition: model.hpp:150
    -
    Definition: model.hpp:142
    -
    Definition: model.hpp:56
    -
    Definition: model.hpp:28
    -
    Definition: model.hpp:192
    -
    Definition: model.hpp:172
    -
    Definition: model.hpp:171
    -
    Definition: model.hpp:77
    -
    Definition: model.hpp:63
    -
    Definition: model.hpp:13
    -
    Definition: model.hpp:114
    -
    static tl::expected< RequestCDDC, eError > from_string(const std::string &str)
    Definition: model.cpp:137
    -
    unsigned int message_reference
    The version of the CDD. (Int)
    Definition: model.hpp:116
    -
    Definition: model.hpp:101
    -
    static tl::expected< RequestCDDSerial, eError > from_string(const std::string &str)
    Definition: model.cpp:114
    -
    Definition: model.hpp:127
    -
    std::vector< unsigned int > mint_key_ids
    Definition: model.hpp:131
    -
    Definition: model.hpp:156
    -
    std::string transaction_reference
    Definition: model.hpp:159
    -
    Definition: model.hpp:222
    -
    static tl::expected< RequestRedeem, eError > from_string(const std::string &str)
    Definition: model.cpp:401
    -
    Definition: model.hpp:199
    -
    std::string transaction_reference
    Definition: model.hpp:204
    -
    Definition: model.hpp:213
    -
    std::string transaction_reference
    Definition: model.hpp:216
    -
    Definition: model.hpp:121
    -
    Definition: model.hpp:108
    -
    Definition: model.hpp:209
    -
    Definition: model.hpp:136
    -
    Definition: model.hpp:165
    -
    Definition: model.hpp:231
    -
    Definition: model.hpp:93
    -
    Definition: model.hpp:20
    +
    12 #include "big_int.hpp"
    +
    13 
    +
    14 struct PublicKey {
    +
    15  BigInt modulus; //: "daaa63ddda38c189b8c49020c8276adbe0a695685a...",
    +
    16  BigInt public_exponent;//: 65537,
    +
    17 
    +
    18  crow::json::wvalue to_json() const;
    +
    19 };
    +
    20 
    +
    21 struct WeightedUrl {
    +
    22  uint32_t weight;
    +
    23  std::string url;
    +
    24 
    +
    25  crow::json::wvalue to_json() const;
    +
    26 };
    +
    27 
    +
    29 struct CDD {
    +
    30 
    +
    31  std::string additional_info;
    +
    32  time_t cdd_expiry_date;//: 2023-07-22T15:45:53.164685
    +
    33  std::string cdd_location;//: https://opencent.org,
    +
    34  size_t cdd_serial;//: 1,
    +
    35  time_t cdd_signing_date;//: 2022-07-22T15:45:53.164685,
    +
    36  size_t currency_divisor;//: 100,
    +
    37  std::string currency_name;//: OpenCent,
    +
    38  std::vector<unsigned> denominations;//: [1, 2, 5],
    +
    39  BigInt id;//: 23ed956e629ba35f0002eaf833ea436aea7db5c2,
    +
    40 
    +
    41 std::vector<WeightedUrl> info_service;
    +
    42  /* eCipherSuite*/ std::string issuer_cipher_suite; //: RSA-SHA256-PSS-CHAUM82,
    +
    43  PublicKey
    +
    44  issuer_public_master_key; //: {
    +
    45  // modulus:
    +
    46  // daaa63ddda38c189b8c49020c8276adbe0a695685a...,
    +
    47  // public_exponent: 65537,
    +
    48  // type: rsa public key
    +
    49  //},
    +
    50  std::vector<WeightedUrl> mint_service;
    +
    51  std::string protocol_version; //: https://opencoin.org/1.0,
    +
    52  std::vector<WeightedUrl> redeem_service;
    +
    53  std::vector<WeightedUrl> renew_service;
    +
    54 
    +
    55  crow::json::wvalue to_json() const;
    +
    56 };
    +
    57 
    +
    58 struct CDDC {
    +
    59  CDD cdd;
    +
    60  std::string signature;
    +
    61 
    +
    62  crow::json::wvalue to_json() const;
    +
    63 };
    +
    64 
    +
    65 struct MintKey {
    +
    66  unsigned int cdd_serial;
    +
    67  std::string coins_expiry_date; //": "2023-10-30T15:45:53.164685",
    +
    68  unsigned int denomination; //": 1,
    +
    69  BigInt id; // "1ceb977bb531c65f133ab8b0d60862b17369d96",
    +
    70  BigInt issuer_id; //": "23ed956e629ba35f0002eaf833ea436aea7db5c2",
    +
    71  PublicKey public_mint_key;
    +
    72 
    +
    73  std::string sign_coins_not_after;
    +
    74  std::string sign_coins_not_before;
    +
    75  // "type": "mint key"
    +
    76  crow::json::wvalue to_json() const;
    +
    77 };
    +
    78 
    +
    79 struct MintKeyCert {
    +
    80  MintKey mint_key;
    +
    81  std::string signature;
    +
    82 
    +
    83  crow::json::wvalue to_json() const;
    +
    84 };
    +
    85 
    +
    86 enum class eError {
    +
    87  JSON_PARSE_ERROR,
    +
    88  JSON_MISSING_KEY,
    +
    89  JSON_WRONG_REQUEST_TYPE,
    +
    90  JSON_WRONG_VALUE_TYPE,
    +
    91  JSON_ERROR,
    +
    92  NOT_IMPLEMENTED
    +
    93 };
    +
    94 
    +
    95 struct Response {
    +
    96  unsigned int message_reference;
    +
    97  unsigned int status_code;
    +
    98  std::string status_description;
    +
    99 
    +
    100  virtual crow::json::wvalue to_json() const;
    +
    101 };
    +
    102 
    + +
    104  unsigned int message_reference;
    +
    106  static tl::expected<RequestCDDSerial, eError>
    +
    107  from_string(const std::string &str);
    +
    108 };
    +
    109 
    + +
    111  unsigned int cdd_serial;
    +
    112 
    +
    113  crow::json::wvalue to_json() const override;
    +
    114 };
    +
    115 
    +
    116 struct RequestCDDC {
    +
    117  unsigned int cdd_serial;
    +
    118  unsigned int message_reference;
    +
    120  static tl::expected<RequestCDDC, eError> from_string(const std::string &str);
    +
    121 };
    +
    122 
    + +
    124  CDDC cddc;
    +
    125 
    +
    126  crow::json::wvalue to_json() const override;
    +
    127 };
    +
    128 
    +
    129 struct RequestMKCs {
    +
    130  std::vector<unsigned int> denominations;
    +
    131  unsigned int message_reference;
    +
    133  std::vector<BigInt> mint_key_ids;
    +
    134  // "type": "request mint key certificates"
    +
    135  static tl::expected<RequestMKCs, eError> from_string(const std::string &str);
    +
    136 };
    +
    137 
    + +
    139  std::vector<MintKeyCert> keys;
    +
    140 
    +
    141  crow::json::wvalue to_json() const override;
    +
    142 };
    +
    143 
    +
    144 struct Blind {
    +
    145  BigInt blinded_payload_hash; //bigint
    +
    146  BigInt mint_key_id; //bigint
    +
    147  std::string reference;
    +
    148  crow::json::wvalue to_json() const;
    +
    149  static tl::expected<Blind, eError> from_json(const crow::json::rvalue &json);
    +
    150 };
    +
    151 
    + +
    153  BigInt blind_signature;
    +
    154  std::string reference;
    +
    155  crow::json::wvalue to_json() const;
    +
    156 };
    +
    157 
    +
    158 struct RequestMint {
    +
    159  unsigned int message_reference;
    + +
    162  std::vector<Blind> blinds;
    +
    163  // "type": "request mint"
    +
    164  static tl::expected<RequestMint, eError> from_string(const std::string &str);
    +
    165 };
    +
    166 
    + +
    168  std::vector<BlindSignature> blind_signatures;
    +
    169 
    +
    170  crow::json::wvalue to_json() const override;
    +
    171 };
    +
    172 
    +
    173 struct Coin {
    +
    174  struct Payload {
    +
    175  std::string cdd_location;
    +
    176  unsigned int denomination;
    +
    177  BigInt issuer_id;
    +
    178  BigInt mint_key_id;
    +
    179  std::string protocol_version;
    +
    180  BigInt serial;
    +
    181 
    +
    182  crow::json::wvalue to_json() const;
    +
    183  static tl::expected<Payload,eError> from_json(const crow::json::rvalue& json);
    +
    184  };
    +
    185 
    +
    186  Payload payload;
    +
    187  std::string signature;
    +
    188 
    +
    189  crow::json::wvalue to_json() const;
    +
    190  static tl::expected<Coin, eError> from_json(const crow::json::rvalue &json);
    +
    191 };
    +
    192 
    +
    193 struct CoinStack {
    +
    194  std::vector<Coin> coins;
    +
    195  std::string subject;
    +
    196  // "type": "coinstack"
    +
    197  crow::json::wvalue to_json() const;
    +
    198 };
    +
    199 
    +
    200 struct RequestRenew {
    +
    201  std::vector<Blind> blinds;
    +
    202  std::vector<Coin> coins;
    +
    203  unsigned int message_reference;
    + +
    206  // "type": "request renew"
    +
    207  static tl::expected<RequestRenew, eError> from_string(const std::string &str);
    +
    208 };
    +
    209 
    + +
    211  crow::json::wvalue to_json() const override;
    +
    212 };
    +
    213 
    + +
    215  unsigned int message_reference;
    + +
    218  // "type": "request resume"
    +
    219  static tl::expected<RequestResume, eError>
    +
    220  from_string(const std::string &str);
    +
    221 };
    +
    222 
    + +
    224  std::vector<Coin> coins;
    +
    225  unsigned int message_reference;
    +
    227  // "type": "request redeem"
    +
    228  static tl::expected<RequestRedeem, eError>
    +
    229  from_string(const std::string &str);
    +
    230 };
    +
    231 
    + +
    233  crow::json::wvalue to_json() const override;
    +
    234 };
    +
    235 
    +
    236 class Model {
    +
    237 public:
    +
    238  virtual ~Model(){};
    +
    239 
    +
    240  virtual tl::expected<CDDC *, bool> getCDDC(unsigned int cdd_serial) = 0;
    +
    241  virtual tl::expected<CDDC *, bool> getCurrentCDDC() = 0;
    +
    242 
    +
    243  virtual const std::vector<MintKeyCert>
    +
    244  getMKCs(const std::vector<unsigned int> &denominations,
    +
    245  const std::vector<BigInt> &mint_key_ids) = 0;
    +
    246 
    +
    247  virtual std::vector<BlindSignature>
    +
    248  mint(std::string const& transaction_reference,
    +
    249  const std::vector<Blind> &blinds) = 0;
    +
    250  virtual bool redeem(const std::vector<Coin> &coins) = 0;
    +
    251 
    +
    252  static std::unique_ptr<Model> getModel(const std::string &backend_name);
    +
    253 
    +
    254 private:
    +
    255 };
    +
    256 
    +
    257 #endif // #ifndef MODEL_HPP
    +
    Definition: model.hpp:236
    +
    Definition: big_int.hpp:9
    +
    Definition: model.hpp:152
    +
    Definition: model.hpp:144
    +
    Definition: model.hpp:58
    +
    Definition: model.hpp:29
    +
    Definition: model.hpp:193
    +
    Definition: model.hpp:174
    +
    Definition: model.hpp:173
    +
    Definition: model.hpp:79
    +
    Definition: model.hpp:65
    +
    Definition: model.hpp:14
    +
    Definition: model.hpp:116
    +
    static tl::expected< RequestCDDC, eError > from_string(const std::string &str)
    Definition: model.cpp:139
    +
    unsigned int message_reference
    The version of the CDD. (Int)
    Definition: model.hpp:118
    +
    Definition: model.hpp:103
    +
    static tl::expected< RequestCDDSerial, eError > from_string(const std::string &str)
    Definition: model.cpp:116
    +
    Definition: model.hpp:129
    +
    std::vector< BigInt > mint_key_ids
    Definition: model.hpp:133
    +
    Definition: model.hpp:158
    +
    BigInt transaction_reference
    Definition: model.hpp:161
    +
    Definition: model.hpp:223
    +
    static tl::expected< RequestRedeem, eError > from_string(const std::string &str)
    Definition: model.cpp:439
    +
    Definition: model.hpp:200
    +
    std::string transaction_reference
    Definition: model.hpp:205
    +
    Definition: model.hpp:214
    +
    BigInt transaction_reference
    Definition: model.hpp:217
    +
    Definition: model.hpp:123
    +
    Definition: model.hpp:110
    +
    Definition: model.hpp:210
    +
    Definition: model.hpp:138
    +
    Definition: model.hpp:167
    +
    Definition: model.hpp:232
    +
    Definition: model.hpp:95
    +
    Definition: model.hpp:21
    denominations (defined in RequestMKCs)RequestMKCs
    from_string(const std::string &str) (defined in RequestMKCs)RequestMKCsstatic
    message_reference (defined in RequestMKCs)RequestMKCs
    mint_key_idsRequestMKCs
    mint_key_idsRequestMKCs