You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

TRMF.py 26 kB

first commit Former-commit-id: 08bc23ba02cffbce3cf63962390a65459a132e48 [formerly 0795edd4834b9b7dc66db8d10d4cbaf42bbf82cb] [formerly b5010b42541add7e2ea2578bf2da537efc457757 [formerly a7ca09c2c34c4fc8b3d8e01fcfa08eeeb2cae99d]] [formerly 615058473a2177ca5b89e9edbb797f4c2a59c7e5 [formerly 743d8dfc6843c4c205051a8ab309fbb2116c895e] [formerly bb0ea98b1e14154ef464e2f7a16738705894e54b [formerly 960a69da74b81ef8093820e003f2d6c59a34974c]]] [formerly 2fa3be52c1b44665bc81a7cc7d4cea4bbf0d91d5 [formerly 2054589f0898627e0a17132fd9d4cc78efc91867] [formerly 3b53730e8a895e803dfdd6ca72bc05e17a4164c1 [formerly 8a2fa8ab7baf6686d21af1f322df46fd58c60e69]] [formerly 87d1e3a07a19d03c7d7c94d93ab4fa9f58dada7c [formerly f331916385a5afac1234854ee8d7f160f34b668f] [formerly 69fb3c78a483343f5071da4f7e2891b83a49dd18 [formerly 386086f05aa9487f65bce2ee54438acbdce57650]]]] Former-commit-id: a00aed8c934a6460c4d9ac902b9a74a3d6864697 [formerly 26fdeca29c2f07916d837883983ca2982056c78e] [formerly 0e3170d41a2f99ecf5c918183d361d4399d793bf [formerly 3c12ad4c88ac5192e0f5606ac0d88dd5bf8602dc]] [formerly d5894f84f2fd2e77a6913efdc5ae388cf1be0495 [formerly ad3e7bc670ff92c992730d29c9d3aa1598d844e8] [formerly 69fb3c78a483343f5071da4f7e2891b83a49dd18]] Former-commit-id: 3c19c9fae64f6106415fbc948a4dc613b9ee12f8 [formerly 467ddc0549c74bb007e8f01773bb6dc9103b417d] [formerly 5fa518345d958e2760e443b366883295de6d991c [formerly 3530e130b9fdb7280f638dbc2e785d2165ba82aa]] Former-commit-id: 9f5d473d42a435ec0d60149939d09be1acc25d92 [formerly be0b25c4ec2cde052a041baf0e11f774a158105d] Former-commit-id: 9eca71cb73ba9edccd70ac06a3b636b8d4093b04
4 years ago
first commit Former-commit-id: 08bc23ba02cffbce3cf63962390a65459a132e48 [formerly 0795edd4834b9b7dc66db8d10d4cbaf42bbf82cb] [formerly b5010b42541add7e2ea2578bf2da537efc457757 [formerly a7ca09c2c34c4fc8b3d8e01fcfa08eeeb2cae99d]] [formerly 615058473a2177ca5b89e9edbb797f4c2a59c7e5 [formerly 743d8dfc6843c4c205051a8ab309fbb2116c895e] [formerly bb0ea98b1e14154ef464e2f7a16738705894e54b [formerly 960a69da74b81ef8093820e003f2d6c59a34974c]]] [formerly 2fa3be52c1b44665bc81a7cc7d4cea4bbf0d91d5 [formerly 2054589f0898627e0a17132fd9d4cc78efc91867] [formerly 3b53730e8a895e803dfdd6ca72bc05e17a4164c1 [formerly 8a2fa8ab7baf6686d21af1f322df46fd58c60e69]] [formerly 87d1e3a07a19d03c7d7c94d93ab4fa9f58dada7c [formerly f331916385a5afac1234854ee8d7f160f34b668f] [formerly 69fb3c78a483343f5071da4f7e2891b83a49dd18 [formerly 386086f05aa9487f65bce2ee54438acbdce57650]]]] Former-commit-id: a00aed8c934a6460c4d9ac902b9a74a3d6864697 [formerly 26fdeca29c2f07916d837883983ca2982056c78e] [formerly 0e3170d41a2f99ecf5c918183d361d4399d793bf [formerly 3c12ad4c88ac5192e0f5606ac0d88dd5bf8602dc]] [formerly d5894f84f2fd2e77a6913efdc5ae388cf1be0495 [formerly ad3e7bc670ff92c992730d29c9d3aa1598d844e8] [formerly 69fb3c78a483343f5071da4f7e2891b83a49dd18]] Former-commit-id: 3c19c9fae64f6106415fbc948a4dc613b9ee12f8 [formerly 467ddc0549c74bb007e8f01773bb6dc9103b417d] [formerly 5fa518345d958e2760e443b366883295de6d991c [formerly 3530e130b9fdb7280f638dbc2e785d2165ba82aa]] Former-commit-id: 9f5d473d42a435ec0d60149939d09be1acc25d92 [formerly be0b25c4ec2cde052a041baf0e11f774a158105d] Former-commit-id: 9eca71cb73ba9edccd70ac06a3b636b8d4093b04
4 years ago
first commit Former-commit-id: 08bc23ba02cffbce3cf63962390a65459a132e48 [formerly 0795edd4834b9b7dc66db8d10d4cbaf42bbf82cb] [formerly b5010b42541add7e2ea2578bf2da537efc457757 [formerly a7ca09c2c34c4fc8b3d8e01fcfa08eeeb2cae99d]] [formerly 615058473a2177ca5b89e9edbb797f4c2a59c7e5 [formerly 743d8dfc6843c4c205051a8ab309fbb2116c895e] [formerly bb0ea98b1e14154ef464e2f7a16738705894e54b [formerly 960a69da74b81ef8093820e003f2d6c59a34974c]]] [formerly 2fa3be52c1b44665bc81a7cc7d4cea4bbf0d91d5 [formerly 2054589f0898627e0a17132fd9d4cc78efc91867] [formerly 3b53730e8a895e803dfdd6ca72bc05e17a4164c1 [formerly 8a2fa8ab7baf6686d21af1f322df46fd58c60e69]] [formerly 87d1e3a07a19d03c7d7c94d93ab4fa9f58dada7c [formerly f331916385a5afac1234854ee8d7f160f34b668f] [formerly 69fb3c78a483343f5071da4f7e2891b83a49dd18 [formerly 386086f05aa9487f65bce2ee54438acbdce57650]]]] Former-commit-id: a00aed8c934a6460c4d9ac902b9a74a3d6864697 [formerly 26fdeca29c2f07916d837883983ca2982056c78e] [formerly 0e3170d41a2f99ecf5c918183d361d4399d793bf [formerly 3c12ad4c88ac5192e0f5606ac0d88dd5bf8602dc]] [formerly d5894f84f2fd2e77a6913efdc5ae388cf1be0495 [formerly ad3e7bc670ff92c992730d29c9d3aa1598d844e8] [formerly 69fb3c78a483343f5071da4f7e2891b83a49dd18]] Former-commit-id: 3c19c9fae64f6106415fbc948a4dc613b9ee12f8 [formerly 467ddc0549c74bb007e8f01773bb6dc9103b417d] [formerly 5fa518345d958e2760e443b366883295de6d991c [formerly 3530e130b9fdb7280f638dbc2e785d2165ba82aa]] Former-commit-id: 9f5d473d42a435ec0d60149939d09be1acc25d92 [formerly be0b25c4ec2cde052a041baf0e11f774a158105d] Former-commit-id: 9eca71cb73ba9edccd70ac06a3b636b8d4093b04
4 years ago
restrucutured the unittest, fix several bugs, align the naming of primitives Former-commit-id: 8e204ba6ebe665b5b74aaef5d6e5ce8b84f85890 [formerly d0197d03e6974fa1c42cf347e6cba9230963aea1] [formerly d60beda9a306fad2bf0c74a401fb0d8a90821f17 [formerly 4f6cfb1caad29d8d53764992e9800bd370467a53]] [formerly 11cb5eed2b1ae69fe3ef5e397b5d49d9ec4454b4 [formerly 7f1b9d011c5177b62134263de2f06eccff5af4f9] [formerly 342c710e2ac5a3211801c32669b61ef15b8c1c22 [formerly fb7dfb9b106abf6b15428fb5a71f7994b4cf5fe6]]] [formerly 906e4b93a927a2a5e8c4b16b23cc3e379ba79365 [formerly 339a0a239c837bda6321aeff332ff9c9c712aebc] [formerly 8ad425a191249ff752af8e94e88701c5a8e00db7 [formerly 9e329b88a8d3e83ee7ff85e16273c8630620febe]] [formerly 66aefca2aa2ec002e5e349c53e653993b3d5204b [formerly 12a4edb0c543284ecfa33181eeb2f2c3fb5de015] [formerly f9e980df897c20fcd260ac9d26565320dc10bb23 [formerly 481a1121f5b68df1f83d783715d0d2f6dbbe2a25]]]] [formerly 1d43ab9a9146b1b5ca4b53b660dc99e776119b03 [formerly 0508935505d1dec7520b46c5e2898e4f4485a06c] [formerly e13d9bcd0af2bbbfa221cb2abcf7128ff28fd44e [formerly a85b8377ce20f6606198e6d8503e80de1ce295fc]] [formerly 43fcb8798085dd2bf68d67d3f3b9c622c4542215 [formerly 3ba4bba6bd471ad2e9a9d5cb969b6b64c81373e9] [formerly 5ac3319459f8005b92935a37e2f7701d2f4293c1 [formerly 9dbbfc1b36d3d830a20fec2090934b8c88bd809f]]] [formerly c47a984a07f22f5840ae39c16a1d0b0c7bac8878 [formerly c696e96fe8853388210f806cc95cff5dc4b1d25e] [formerly b825e046cce8e310bc1e11809d53b133090c558e [formerly 216b418327c4c8ac075f604f4749d1e9e66d48ce]] [formerly 8d71b418b449d8652cc15d82e02cc32c2089661d [formerly 89c811f458e0e6dd9466f82b0ec79f51a7cb269c] [formerly ebd64b8ba07fbf004c2a47ecb0e9829d917fef33 [formerly f670493dc8cf818dd069fa7c147973c9dd70de76]]]]] [formerly 83313836c277ef1715db0ee708d0c54d34290bef [formerly 0451a818a4237b7e093e7c764d9ba80ab1e16b52] [formerly 887a4f2782add33a99b32420834b7854efbd994f [formerly 184a4ce21d279f86e61a4e44dd4780aee40ba261]] [formerly 30129a28d5955d1d011c30cec7e857752ce1a7b7 [formerly 34d717109b90b6ee0544cda475a82523d65c5a9c] [formerly 0324e10c8f0d80fe4d5e97c1532ff7eda024ac92 [formerly f8aa6d3755ad4dea2248d90810ffd22a0fc9321f]]] [formerly aa84d87a986ae92ed1e4bbc39deef905d3807f09 [formerly 2353320c6fd1c4217a77f0c08289702f9cab3f41] [formerly 9c3994737416941e2f9850ab62713f8f481d90a2 [formerly 13bec043b2892c881d0d3f1fb50a9b11d5d73bc2]] [formerly 41cce52e617a11fb58353800f4107397b33068fa [formerly 7184469f6b81ba345ed92d068889d100b5542cf4] [formerly d500bb0984d885e5e7e1b430aa14df5edc88114e [formerly 3190435a3529b6f804acaef3ff450ad17d1c68b8]]]] [formerly 60e4884e4fd02a26c1f5029e5fe3a8430a9816be [formerly ae35aa315d32ffebf70cfe6c4ca077770c558dd8] [formerly af255da27c4e9be5ddb935204b66ce2f095efe20 [formerly 60ef33b6bb1dfe09882ef285f1a6de05694f8b62]] [formerly 257f8baf1bb70a4be89c696245f6687f0654e31d [formerly 8cba54e404bc5046772b9272c44ee55179501c07] [formerly efae5aa784daaf1f586f6b9f5058328af08691d9 [formerly e69890616d7ba5156e2a99f3a67228cf740d475b]]] [formerly b90d3cdd8a0954fdf253d9a4164766c5c89c16eb [formerly 78f1dee1288ee4a6eff9b0de6529ef6168d61b43] [formerly 5fa1df9b05f00ecdc8b307bf5147be12ad762023 [formerly f35a965734d818bdeffee0daef352514eb447584]] [formerly e652ab6aa8d3f90d1d04df236a4951d747d0fc87 [formerly d8f2a0bc9b38d4e8eff604bf27d0171208af8128] [formerly 526507f5f03d10c99726f2aac5f8229f88359c95 [formerly fb335ed0fec1fe63e81a98b727e0405c03d0067e]]]]]] Former-commit-id: 7e77d7918ac1dd9e770e8763c817dcc2c35104fb [formerly ad934bf9fe7c17b7ac4400fb097811db2977dc8a] [formerly 40591780471e1cb169bdd321da844d0bacd065f0 [formerly 9b83dda8eac24a84ccc2766d40885e824dd2435c]] [formerly 185c40786c0f393ae810b25004059b5e961db5d1 [formerly 29f34cf47b943b69318efe48e3d0845327c9b244] [formerly 5fcea2b60429ffa4da5aaa766f0a9714a591d550 [formerly 5e213aee4e6d5f48ec903fd2cb121d3abb1214b7]]] [formerly 23a2cf372dd78538a0808e92786ca678f92eb369 [formerly edc49c41f96fb36fb898b420b4e6904d38379bca] [formerly b02b702e173d6931fca3ce878788f9a030432bb2 [formerly fc22b3355504541018f486f59be8dd9c37533196]] [formerly f940eb86fbeacb071312f800889cdb7b0f523489 [formerly 42ed768ea2040109e3df9b8d1ecafaa6becce4c5] [formerly dcb63aca580e9770310455f30d65715ecc703f98 [formerly 761fda35d8b9f702284a5c17e46aadc7983e4fe7]]]] [formerly 9a61c84d22833626d24d879105350a4d206aa07a [formerly e2785c645888117528680fc792d6aa80b71301b4] [formerly 0c5abc255f3ef0c2c292c000a238e41a0086fa56 [formerly cd8e1cad298d6fee022e05587cd71be911f4149c]] [formerly 5aa406a2118fbafcae15e27b1385f5aaed5d852d [formerly 2263fced1277636031a34ceb5dcf0a3715d90f05] [formerly 08479e12b595a72e3cf9667a3fa548b0abe7e2fc [formerly 9b7ef09ad6809ccab6cfd4d845bf83b3d49c8d83]]] [formerly fb1ddc087e03055b0030171e8ca25b05fbe89dde [formerly 005695f92b574fe503d18e94c9e23473362adf85] [formerly 2f6f4f20631f75f22964449cc95067eac70980cf [formerly 66fbdef745c1505d8f39ea2cc5bb1246caaa5f7b]] [formerly b3f96006fffd4242f8b9730b8325ee254bcce358 [formerly ff8fe30a8a7ea4464b13af5b3e67ab7df086552a] [formerly 526507f5f03d10c99726f2aac5f8229f88359c95]]]] Former-commit-id: d55cf22b4205d0a53e84117e42ce7f0ce03cbf5b [formerly 8da2d5dac0de2cce1d1ed460d815478074e6b142] [formerly e127056c5055fce0a897df8b7257df8713c89fa5 [formerly cf2f25da5bb525785fa48d19e19f7c4386ec6446]] [formerly fb9c514e38628a91a86da8226656b0b6fd373932 [formerly ce2dbf0a6e46aa9c59ed69ce6a3b0fa026c3150a] [formerly 96e577d4091b7f674c27819ffa8f1fcd3cb27c77 [formerly e26cc822cca662a7103c2ddaab708e53cfcb9e17]]] [formerly 2669c534ceaab7ae0958b4f97410e3d128536c89 [formerly 0f9ee1b78f10a7128f73913c8173ca682b5164b0] [formerly dc5b875112a2fd37712054fec6217cdad6780652 [formerly 8ce006cd3c3ccefb64049540e20352561e9d9134]] [formerly abefbfd27c8800d6ecd6ce53c65eb9a692f8779b [formerly defee6aa7fe23928e2951c42295edf3e2704940c] [formerly 2860e425343b4bfaad10832fbd546fdf1d2526ad [formerly d767f96d5b07daee9ddbf2a9080edc2a95f8fa2c]]]] Former-commit-id: ab58a8a1e9eee3acafb6558c3ce7ca043d02b1cf [formerly b77c7c1c31169d9d177c973a20137ab69f90b3c0] [formerly f8b7bce163f707e20a0e29e7b5f4b5954e87cc4d [formerly eed899f3051ab1ec3d64bcd9c4a119642200cd26]] [formerly 2afbb57c14da080bafa8e9bd83c856bdff8e0dd4 [formerly 0a12585244856b64fff6ac6d73537f2136e61063] [formerly ffb644031312cf637d467f92d62b172186ef2a56 [formerly c21c6fdebfee8a1be05ab94f2068b29a8329a1dd]]] Former-commit-id: 38f3021a6a2c94f49984ab81789a6962aab2d054 [formerly e89187e9e301595d427e41215cd2e199816d9f05] [formerly 0e27c1d70184b62245de05c6fc9fe637b554b769 [formerly 5d353a8eedb233789b68c92b00997b517ad8b26c]] Former-commit-id: d289b2ed771a2a1a9993523d37e04b3ad4167946 [formerly dfadb8050c8fb621b8f92567b774efb1740e7a13] Former-commit-id: f57437cb797b47410063215e8e494d48b1f7d674
4 years ago
first commit Former-commit-id: 08bc23ba02cffbce3cf63962390a65459a132e48 [formerly 0795edd4834b9b7dc66db8d10d4cbaf42bbf82cb] [formerly b5010b42541add7e2ea2578bf2da537efc457757 [formerly a7ca09c2c34c4fc8b3d8e01fcfa08eeeb2cae99d]] [formerly 615058473a2177ca5b89e9edbb797f4c2a59c7e5 [formerly 743d8dfc6843c4c205051a8ab309fbb2116c895e] [formerly bb0ea98b1e14154ef464e2f7a16738705894e54b [formerly 960a69da74b81ef8093820e003f2d6c59a34974c]]] [formerly 2fa3be52c1b44665bc81a7cc7d4cea4bbf0d91d5 [formerly 2054589f0898627e0a17132fd9d4cc78efc91867] [formerly 3b53730e8a895e803dfdd6ca72bc05e17a4164c1 [formerly 8a2fa8ab7baf6686d21af1f322df46fd58c60e69]] [formerly 87d1e3a07a19d03c7d7c94d93ab4fa9f58dada7c [formerly f331916385a5afac1234854ee8d7f160f34b668f] [formerly 69fb3c78a483343f5071da4f7e2891b83a49dd18 [formerly 386086f05aa9487f65bce2ee54438acbdce57650]]]] Former-commit-id: a00aed8c934a6460c4d9ac902b9a74a3d6864697 [formerly 26fdeca29c2f07916d837883983ca2982056c78e] [formerly 0e3170d41a2f99ecf5c918183d361d4399d793bf [formerly 3c12ad4c88ac5192e0f5606ac0d88dd5bf8602dc]] [formerly d5894f84f2fd2e77a6913efdc5ae388cf1be0495 [formerly ad3e7bc670ff92c992730d29c9d3aa1598d844e8] [formerly 69fb3c78a483343f5071da4f7e2891b83a49dd18]] Former-commit-id: 3c19c9fae64f6106415fbc948a4dc613b9ee12f8 [formerly 467ddc0549c74bb007e8f01773bb6dc9103b417d] [formerly 5fa518345d958e2760e443b366883295de6d991c [formerly 3530e130b9fdb7280f638dbc2e785d2165ba82aa]] Former-commit-id: 9f5d473d42a435ec0d60149939d09be1acc25d92 [formerly be0b25c4ec2cde052a041baf0e11f774a158105d] Former-commit-id: 9eca71cb73ba9edccd70ac06a3b636b8d4093b04
4 years ago
first commit Former-commit-id: 08bc23ba02cffbce3cf63962390a65459a132e48 [formerly 0795edd4834b9b7dc66db8d10d4cbaf42bbf82cb] [formerly b5010b42541add7e2ea2578bf2da537efc457757 [formerly a7ca09c2c34c4fc8b3d8e01fcfa08eeeb2cae99d]] [formerly 615058473a2177ca5b89e9edbb797f4c2a59c7e5 [formerly 743d8dfc6843c4c205051a8ab309fbb2116c895e] [formerly bb0ea98b1e14154ef464e2f7a16738705894e54b [formerly 960a69da74b81ef8093820e003f2d6c59a34974c]]] [formerly 2fa3be52c1b44665bc81a7cc7d4cea4bbf0d91d5 [formerly 2054589f0898627e0a17132fd9d4cc78efc91867] [formerly 3b53730e8a895e803dfdd6ca72bc05e17a4164c1 [formerly 8a2fa8ab7baf6686d21af1f322df46fd58c60e69]] [formerly 87d1e3a07a19d03c7d7c94d93ab4fa9f58dada7c [formerly f331916385a5afac1234854ee8d7f160f34b668f] [formerly 69fb3c78a483343f5071da4f7e2891b83a49dd18 [formerly 386086f05aa9487f65bce2ee54438acbdce57650]]]] Former-commit-id: a00aed8c934a6460c4d9ac902b9a74a3d6864697 [formerly 26fdeca29c2f07916d837883983ca2982056c78e] [formerly 0e3170d41a2f99ecf5c918183d361d4399d793bf [formerly 3c12ad4c88ac5192e0f5606ac0d88dd5bf8602dc]] [formerly d5894f84f2fd2e77a6913efdc5ae388cf1be0495 [formerly ad3e7bc670ff92c992730d29c9d3aa1598d844e8] [formerly 69fb3c78a483343f5071da4f7e2891b83a49dd18]] Former-commit-id: 3c19c9fae64f6106415fbc948a4dc613b9ee12f8 [formerly 467ddc0549c74bb007e8f01773bb6dc9103b417d] [formerly 5fa518345d958e2760e443b366883295de6d991c [formerly 3530e130b9fdb7280f638dbc2e785d2165ba82aa]] Former-commit-id: 9f5d473d42a435ec0d60149939d09be1acc25d92 [formerly be0b25c4ec2cde052a041baf0e11f774a158105d] Former-commit-id: 9eca71cb73ba9edccd70ac06a3b636b8d4093b04
4 years ago
first commit Former-commit-id: 08bc23ba02cffbce3cf63962390a65459a132e48 [formerly 0795edd4834b9b7dc66db8d10d4cbaf42bbf82cb] [formerly b5010b42541add7e2ea2578bf2da537efc457757 [formerly a7ca09c2c34c4fc8b3d8e01fcfa08eeeb2cae99d]] [formerly 615058473a2177ca5b89e9edbb797f4c2a59c7e5 [formerly 743d8dfc6843c4c205051a8ab309fbb2116c895e] [formerly bb0ea98b1e14154ef464e2f7a16738705894e54b [formerly 960a69da74b81ef8093820e003f2d6c59a34974c]]] [formerly 2fa3be52c1b44665bc81a7cc7d4cea4bbf0d91d5 [formerly 2054589f0898627e0a17132fd9d4cc78efc91867] [formerly 3b53730e8a895e803dfdd6ca72bc05e17a4164c1 [formerly 8a2fa8ab7baf6686d21af1f322df46fd58c60e69]] [formerly 87d1e3a07a19d03c7d7c94d93ab4fa9f58dada7c [formerly f331916385a5afac1234854ee8d7f160f34b668f] [formerly 69fb3c78a483343f5071da4f7e2891b83a49dd18 [formerly 386086f05aa9487f65bce2ee54438acbdce57650]]]] Former-commit-id: a00aed8c934a6460c4d9ac902b9a74a3d6864697 [formerly 26fdeca29c2f07916d837883983ca2982056c78e] [formerly 0e3170d41a2f99ecf5c918183d361d4399d793bf [formerly 3c12ad4c88ac5192e0f5606ac0d88dd5bf8602dc]] [formerly d5894f84f2fd2e77a6913efdc5ae388cf1be0495 [formerly ad3e7bc670ff92c992730d29c9d3aa1598d844e8] [formerly 69fb3c78a483343f5071da4f7e2891b83a49dd18]] Former-commit-id: 3c19c9fae64f6106415fbc948a4dc613b9ee12f8 [formerly 467ddc0549c74bb007e8f01773bb6dc9103b417d] [formerly 5fa518345d958e2760e443b366883295de6d991c [formerly 3530e130b9fdb7280f638dbc2e785d2165ba82aa]] Former-commit-id: 9f5d473d42a435ec0d60149939d09be1acc25d92 [formerly be0b25c4ec2cde052a041baf0e11f774a158105d] Former-commit-id: 9eca71cb73ba9edccd70ac06a3b636b8d4093b04
4 years ago
first commit Former-commit-id: 08bc23ba02cffbce3cf63962390a65459a132e48 [formerly 0795edd4834b9b7dc66db8d10d4cbaf42bbf82cb] [formerly b5010b42541add7e2ea2578bf2da537efc457757 [formerly a7ca09c2c34c4fc8b3d8e01fcfa08eeeb2cae99d]] [formerly 615058473a2177ca5b89e9edbb797f4c2a59c7e5 [formerly 743d8dfc6843c4c205051a8ab309fbb2116c895e] [formerly bb0ea98b1e14154ef464e2f7a16738705894e54b [formerly 960a69da74b81ef8093820e003f2d6c59a34974c]]] [formerly 2fa3be52c1b44665bc81a7cc7d4cea4bbf0d91d5 [formerly 2054589f0898627e0a17132fd9d4cc78efc91867] [formerly 3b53730e8a895e803dfdd6ca72bc05e17a4164c1 [formerly 8a2fa8ab7baf6686d21af1f322df46fd58c60e69]] [formerly 87d1e3a07a19d03c7d7c94d93ab4fa9f58dada7c [formerly f331916385a5afac1234854ee8d7f160f34b668f] [formerly 69fb3c78a483343f5071da4f7e2891b83a49dd18 [formerly 386086f05aa9487f65bce2ee54438acbdce57650]]]] Former-commit-id: a00aed8c934a6460c4d9ac902b9a74a3d6864697 [formerly 26fdeca29c2f07916d837883983ca2982056c78e] [formerly 0e3170d41a2f99ecf5c918183d361d4399d793bf [formerly 3c12ad4c88ac5192e0f5606ac0d88dd5bf8602dc]] [formerly d5894f84f2fd2e77a6913efdc5ae388cf1be0495 [formerly ad3e7bc670ff92c992730d29c9d3aa1598d844e8] [formerly 69fb3c78a483343f5071da4f7e2891b83a49dd18]] Former-commit-id: 3c19c9fae64f6106415fbc948a4dc613b9ee12f8 [formerly 467ddc0549c74bb007e8f01773bb6dc9103b417d] [formerly 5fa518345d958e2760e443b366883295de6d991c [formerly 3530e130b9fdb7280f638dbc2e785d2165ba82aa]] Former-commit-id: 9f5d473d42a435ec0d60149939d09be1acc25d92 [formerly be0b25c4ec2cde052a041baf0e11f774a158105d] Former-commit-id: 9eca71cb73ba9edccd70ac06a3b636b8d4093b04
4 years ago
coverall Former-commit-id: 846b08ee7c7231b6d7c14a2f438e87dfcb1031e5 [formerly 898f9492d1265a61378f0024bd85e7390c7827a8] [formerly 3ba67f75a03fbdd98ee1d739401c7e70be501e0e [formerly 58b375e8e7d4402192456eddf61b31290ad4c843]] [formerly ed311ab694c8a7976dfd2d3ce19d37633c76bb7f [formerly 4f094bb67dccbb4d2bdcc1a52e27fc905322ac05] [formerly f26d423c1657dd86a80d62db0910a5a28026fd7d [formerly f794ff34ef5a653073cafa8fc32a86d3ba349d6f]]] [formerly f05635c1f4778354851f77dd2b865e5868aa802c [formerly 79b26421d1ba405b9a5e52820d1c7c82141c441f] [formerly 58d01d07652b5244d2ab9c4f443ba7e476fa7dd5 [formerly ac8fad3853e11e7e3aeae5bc3d7bac438ec9f4e3]] [formerly b0b655300fcb4a66dba33048fe107e0f04dc80b2 [formerly 9726f96eb44e42b4fe69b4128fdf28886f4d2408] [formerly c28b652837994041a874dddb07a3505eb92bd336 [formerly b66948d1d013c1b6c49f42651608c60f06fa55a1]]]] [formerly 464b9b56a8c11530dde979fe4bdf243cd845870b [formerly 6d27652e8405885fda067d889bdd5699d46dfda4] [formerly f8cdb514b123e8834c9bda912d8b36fab00baab9 [formerly 36da7b0133735fb5fb8146517e6cfccaa7995fae]] [formerly 58f0a2ad3bd296c787a3442de7f6c666ed9343b3 [formerly ae260a8a2c566ec9681892e384aa65ff277dc1b4] [formerly 0b4306ce91fb3a292944a4c6ddb073f0cf7f50e4 [formerly 4736c33b8206edb730cd6c76ea496a2f29af9522]]] [formerly 15024cfb98cef75c0cce1c2e3cf57795fb3bff4e [formerly affb9d5be6bd27b328369b29dc3d1ed4b19a46cc] [formerly 49b5cbb379b2d102c4d05fd6ac4e5513d588105d [formerly d386e84f3ff5464ddb0ed1cb3c5fc720504d3bcc]] [formerly 0df3fd4bc89ac170c90aff597baeb26537e4f2fe [formerly 1452be20a9e0fa96f7e2f29ad76c0c34c6f40aa4] [formerly 6cea47368ccb564b59b7ff6515a3059c057a4a4c [formerly 4beb72e53ded32aa7f32c22442a4cddfc76dcee6]]]]] [formerly 2cb122a0e2b77df9b997422a338cff5a58675795 [formerly 369a07af54ba4095585522aa5302cc9166946505] [formerly 117719f457b878b4dc14bb91c3b1e1d6fbfda83e [formerly f418d8f99e673dd001bc90862281651ade3070bf]] [formerly a2f8ef45a1b7b2a0b6e922c01759b29bda953fb8 [formerly 0f9187e9eb2d8e5aecf79dc5be27fa12fa6a32b9] [formerly 1e667b994f6fbbf93a51a956ab65d14b1cfc52ab [formerly 684958c8284454114253daa7df6b4c29df391112]]] [formerly 353202c937a50f79a92be110ef4d2b86c1427e0c [formerly 2e4d2604324f75f2e44fbdce9b487a682915d460] [formerly 0f060e89f2d19a6c4fa6159c85ffc79875f47393 [formerly 12d6c71af714be6a4bc025d0a67fc889bf4f4558]] [formerly f90287aa507629bd4ef5b35d4378f330a00e9b62 [formerly 5f14e91aaabb3b567f10767d5ada5beeea152725] [formerly 15e8680f49bcce301a81f7ca91c20918c09bdee9 [formerly 97f0a20a9f6a1cd010a85ddbdfa35d38fc4ae660]]]] [formerly 4188a6742e47717addc1f4739c20d87f056ca5f2 [formerly 4f52141057a049e420321e3394dc24e8faf3594d] [formerly 42f46569fa3bddc8ad944c7e7fca2829e1f3eff4 [formerly 56b44ec1f09aa670f757d04a97cdbccc3b5339d8]] [formerly 045abdc1fcaf95a2c8e5c9a8c30cbf5c358bddf0 [formerly d00f538f5c7b55bdfbe16e9a3d344685a6d4b2af] [formerly 0ca3d4c0ba036b6d902c1adb783a55cc6d393612 [formerly b326214bbbc36f48a5ac690756ad1bb9fa538cac]]] [formerly 4344f68bac5600cff2c6cc4b6a8c2356f1ddbad7 [formerly f0ae7e9d077814f4b231ffe5e6d2e9a7cee0d4d2] [formerly 813a1a286434d24f40c53d49707c3f7ea0b0a0a6 [formerly 5e348e98c8b9fd98b715e11466c389cd3b36b36d]] [formerly d1429e68ccdbe75adeffcc1b6a6a7c7e653dd299 [formerly bea65a08912a1ce768554ddd392e930af77f00fe] [formerly da1ab851944a0c6a287747af867b67440d004e57 [formerly d4d39f564f3681b3f883bd7b158d87513529b399]]]]]] Former-commit-id: 0e4c0fc5f7b19a68d880a64456538eb4f27e9ad2 [formerly fb8130714b2e93190764d9e590688f322bace637] [formerly 3d492794edae3ceaea5713874b074883b1295f83 [formerly 17a0b6934738ddb6d53eaaf656d275efbd1434ce]] [formerly b0c8ebc55b2a6f0eb2f0632bea4d85dabde4a1cc [formerly 0d73519131bc72f6cc613e4e9f1132a317c0f85a] [formerly b171b2dcd949199f625c40eee20eba2e1f56fa2a [formerly e6de695a374bac8d070d6b278e6ccaa41b28f257]]] [formerly a3f7312030818a6156d8fc3c07f5af2122c4c553 [formerly 2e8279331de4e764b3dd5efa44efddc1b312e290] [formerly 9765d5a57ddfcb6a47b37387d6ec329d49dbb8f1 [formerly 11a90a651922f555cbd2c8aa9a201a06610582c7]] [formerly f561ea4acf85731d3751816b98d5116160cf9973 [formerly e972418bab9c2cf8cb69d232f756d9cf76bb4a9b] [formerly c057b0a413c7e538506f514fddf46e8f4e5e14de [formerly 714782addeec7d30328a387987c7692cff0f7b41]]]] [formerly db10531717608173239c308df17bec70bdf2ba9b [formerly 81a1b9ee57cf59b9bd9d8a9e17186c996742c7bd] [formerly 9279abaa5973439b54ef05f4de658db605697a9d [formerly ee80e83eb858a2f2ea6b1a05e7e13b0f58d60aea]] [formerly 38a18cc2543d3bb053c7ac02034e2c727715924d [formerly e9ca3caf08b2af79915fa4876df098c04e3bfbb2] [formerly 340477e530990e0f657ff53418f0b933d9e98fba [formerly c9b004a2c38df6da8b89063eba1723dcae620d9f]]] [formerly 734509d15daab6d31cea0e422578cfe0e6880fa0 [formerly ad1cd45b341249c945b45427d580515df975e75d] [formerly 30f7c10b835ef4afc3bd7c465bfaf234524ea1b0 [formerly 710c9cc6809ad488f7d964da5139df7db8dba286]] [formerly 4a0f1409e61b8c7e05d6647c21cb1528b0544568 [formerly 7d6d940ad5684f1f6b8b96c33f4e68e63e825f49] [formerly da1ab851944a0c6a287747af867b67440d004e57]]]] Former-commit-id: 61bd2ced30dcbb60fd039bc1f09e7ac17384600f [formerly ccbc4bb634652a51f8b62fafa4f1faeb4a4baee1] [formerly 0b4b80934144b4fa07daa829910214ade40f52e9 [formerly 502825f55d16c88aad71dcfad49b15d60108be0d]] [formerly b6fd349efef160319fbed564efe3b1ff878f7674 [formerly 95572c468401fbf5bb16c72dc0022602d05cece4] [formerly d137c99d11cc86e52846a23d74898e233b9c063e [formerly f5d2a4e046a4520524b384673c1650c56225c892]]] [formerly 72e04400d64f604e72473a271be114dd171b76e6 [formerly df838a0f3951f7fc9f959fa2817f77f9abd9dcad] [formerly f61a4b36a40bc98fda5c43c17f65be47b50bbee4 [formerly bb719729f35c4e8bfb5572b0e9f8c16963106e4b]] [formerly d7983d59017477f2bbbdc14c18b3c6cc9a8599cf [formerly 485071deb0d574db7fd3918ad8d5ab9422e2c69b] [formerly fe336da38473dbefc90ff5dc7e463d704e2ad67e [formerly 4a1117cd30d141b72518b61b4492010f528bb2cb]]]] Former-commit-id: 4c31aa20027b0a09bc4ecc54401043fde9bb82e2 [formerly 368204e633021d5cc9240aec72a201c0e6ade82f] [formerly cb20d97745d17286d75ede317ea6837565b2549c [formerly 1e2bd5a92eabf0fe0b1e902ce66cce1dd0f4f386]] [formerly 6bae8da79f5b3b9025569b30c91f8a72b02b7bd6 [formerly 5e825dad6780538572f0ebff174b36fba411e1a3] [formerly 9aadaada35d3c2833a5399175ecb576dbec2dcb9 [formerly 4087666752f251a37aa027b64295374caf176812]]] Former-commit-id: 45827781fd43bffc434180c505c2c55f4544fb2f [formerly df48b013a0b96dfdcc55d6946b9db2d04155aad1] [formerly 0398938d7aef41e23eca24b00b38959ad4b83e4a [formerly cec8951ed416ae4641dbc928a2cda78caa9b7845]] Former-commit-id: a43bf0a20af7b925431591b5a5c9af1895a8d910 [formerly 2e8d60227697c9783d18e90421ee203ec41ccd35] Former-commit-id: b8cd12701effe62b7ca02079b60a2d767aabc995
4 years ago
first commit Former-commit-id: 08bc23ba02cffbce3cf63962390a65459a132e48 [formerly 0795edd4834b9b7dc66db8d10d4cbaf42bbf82cb] [formerly b5010b42541add7e2ea2578bf2da537efc457757 [formerly a7ca09c2c34c4fc8b3d8e01fcfa08eeeb2cae99d]] [formerly 615058473a2177ca5b89e9edbb797f4c2a59c7e5 [formerly 743d8dfc6843c4c205051a8ab309fbb2116c895e] [formerly bb0ea98b1e14154ef464e2f7a16738705894e54b [formerly 960a69da74b81ef8093820e003f2d6c59a34974c]]] [formerly 2fa3be52c1b44665bc81a7cc7d4cea4bbf0d91d5 [formerly 2054589f0898627e0a17132fd9d4cc78efc91867] [formerly 3b53730e8a895e803dfdd6ca72bc05e17a4164c1 [formerly 8a2fa8ab7baf6686d21af1f322df46fd58c60e69]] [formerly 87d1e3a07a19d03c7d7c94d93ab4fa9f58dada7c [formerly f331916385a5afac1234854ee8d7f160f34b668f] [formerly 69fb3c78a483343f5071da4f7e2891b83a49dd18 [formerly 386086f05aa9487f65bce2ee54438acbdce57650]]]] Former-commit-id: a00aed8c934a6460c4d9ac902b9a74a3d6864697 [formerly 26fdeca29c2f07916d837883983ca2982056c78e] [formerly 0e3170d41a2f99ecf5c918183d361d4399d793bf [formerly 3c12ad4c88ac5192e0f5606ac0d88dd5bf8602dc]] [formerly d5894f84f2fd2e77a6913efdc5ae388cf1be0495 [formerly ad3e7bc670ff92c992730d29c9d3aa1598d844e8] [formerly 69fb3c78a483343f5071da4f7e2891b83a49dd18]] Former-commit-id: 3c19c9fae64f6106415fbc948a4dc613b9ee12f8 [formerly 467ddc0549c74bb007e8f01773bb6dc9103b417d] [formerly 5fa518345d958e2760e443b366883295de6d991c [formerly 3530e130b9fdb7280f638dbc2e785d2165ba82aa]] Former-commit-id: 9f5d473d42a435ec0d60149939d09be1acc25d92 [formerly be0b25c4ec2cde052a041baf0e11f774a158105d] Former-commit-id: 9eca71cb73ba9edccd70ac06a3b636b8d4093b04
4 years ago
coverall Former-commit-id: 846b08ee7c7231b6d7c14a2f438e87dfcb1031e5 [formerly 898f9492d1265a61378f0024bd85e7390c7827a8] [formerly 3ba67f75a03fbdd98ee1d739401c7e70be501e0e [formerly 58b375e8e7d4402192456eddf61b31290ad4c843]] [formerly ed311ab694c8a7976dfd2d3ce19d37633c76bb7f [formerly 4f094bb67dccbb4d2bdcc1a52e27fc905322ac05] [formerly f26d423c1657dd86a80d62db0910a5a28026fd7d [formerly f794ff34ef5a653073cafa8fc32a86d3ba349d6f]]] [formerly f05635c1f4778354851f77dd2b865e5868aa802c [formerly 79b26421d1ba405b9a5e52820d1c7c82141c441f] [formerly 58d01d07652b5244d2ab9c4f443ba7e476fa7dd5 [formerly ac8fad3853e11e7e3aeae5bc3d7bac438ec9f4e3]] [formerly b0b655300fcb4a66dba33048fe107e0f04dc80b2 [formerly 9726f96eb44e42b4fe69b4128fdf28886f4d2408] [formerly c28b652837994041a874dddb07a3505eb92bd336 [formerly b66948d1d013c1b6c49f42651608c60f06fa55a1]]]] [formerly 464b9b56a8c11530dde979fe4bdf243cd845870b [formerly 6d27652e8405885fda067d889bdd5699d46dfda4] [formerly f8cdb514b123e8834c9bda912d8b36fab00baab9 [formerly 36da7b0133735fb5fb8146517e6cfccaa7995fae]] [formerly 58f0a2ad3bd296c787a3442de7f6c666ed9343b3 [formerly ae260a8a2c566ec9681892e384aa65ff277dc1b4] [formerly 0b4306ce91fb3a292944a4c6ddb073f0cf7f50e4 [formerly 4736c33b8206edb730cd6c76ea496a2f29af9522]]] [formerly 15024cfb98cef75c0cce1c2e3cf57795fb3bff4e [formerly affb9d5be6bd27b328369b29dc3d1ed4b19a46cc] [formerly 49b5cbb379b2d102c4d05fd6ac4e5513d588105d [formerly d386e84f3ff5464ddb0ed1cb3c5fc720504d3bcc]] [formerly 0df3fd4bc89ac170c90aff597baeb26537e4f2fe [formerly 1452be20a9e0fa96f7e2f29ad76c0c34c6f40aa4] [formerly 6cea47368ccb564b59b7ff6515a3059c057a4a4c [formerly 4beb72e53ded32aa7f32c22442a4cddfc76dcee6]]]]] [formerly 2cb122a0e2b77df9b997422a338cff5a58675795 [formerly 369a07af54ba4095585522aa5302cc9166946505] [formerly 117719f457b878b4dc14bb91c3b1e1d6fbfda83e [formerly f418d8f99e673dd001bc90862281651ade3070bf]] [formerly a2f8ef45a1b7b2a0b6e922c01759b29bda953fb8 [formerly 0f9187e9eb2d8e5aecf79dc5be27fa12fa6a32b9] [formerly 1e667b994f6fbbf93a51a956ab65d14b1cfc52ab [formerly 684958c8284454114253daa7df6b4c29df391112]]] [formerly 353202c937a50f79a92be110ef4d2b86c1427e0c [formerly 2e4d2604324f75f2e44fbdce9b487a682915d460] [formerly 0f060e89f2d19a6c4fa6159c85ffc79875f47393 [formerly 12d6c71af714be6a4bc025d0a67fc889bf4f4558]] [formerly f90287aa507629bd4ef5b35d4378f330a00e9b62 [formerly 5f14e91aaabb3b567f10767d5ada5beeea152725] [formerly 15e8680f49bcce301a81f7ca91c20918c09bdee9 [formerly 97f0a20a9f6a1cd010a85ddbdfa35d38fc4ae660]]]] [formerly 4188a6742e47717addc1f4739c20d87f056ca5f2 [formerly 4f52141057a049e420321e3394dc24e8faf3594d] [formerly 42f46569fa3bddc8ad944c7e7fca2829e1f3eff4 [formerly 56b44ec1f09aa670f757d04a97cdbccc3b5339d8]] [formerly 045abdc1fcaf95a2c8e5c9a8c30cbf5c358bddf0 [formerly d00f538f5c7b55bdfbe16e9a3d344685a6d4b2af] [formerly 0ca3d4c0ba036b6d902c1adb783a55cc6d393612 [formerly b326214bbbc36f48a5ac690756ad1bb9fa538cac]]] [formerly 4344f68bac5600cff2c6cc4b6a8c2356f1ddbad7 [formerly f0ae7e9d077814f4b231ffe5e6d2e9a7cee0d4d2] [formerly 813a1a286434d24f40c53d49707c3f7ea0b0a0a6 [formerly 5e348e98c8b9fd98b715e11466c389cd3b36b36d]] [formerly d1429e68ccdbe75adeffcc1b6a6a7c7e653dd299 [formerly bea65a08912a1ce768554ddd392e930af77f00fe] [formerly da1ab851944a0c6a287747af867b67440d004e57 [formerly d4d39f564f3681b3f883bd7b158d87513529b399]]]]]] Former-commit-id: 0e4c0fc5f7b19a68d880a64456538eb4f27e9ad2 [formerly fb8130714b2e93190764d9e590688f322bace637] [formerly 3d492794edae3ceaea5713874b074883b1295f83 [formerly 17a0b6934738ddb6d53eaaf656d275efbd1434ce]] [formerly b0c8ebc55b2a6f0eb2f0632bea4d85dabde4a1cc [formerly 0d73519131bc72f6cc613e4e9f1132a317c0f85a] [formerly b171b2dcd949199f625c40eee20eba2e1f56fa2a [formerly e6de695a374bac8d070d6b278e6ccaa41b28f257]]] [formerly a3f7312030818a6156d8fc3c07f5af2122c4c553 [formerly 2e8279331de4e764b3dd5efa44efddc1b312e290] [formerly 9765d5a57ddfcb6a47b37387d6ec329d49dbb8f1 [formerly 11a90a651922f555cbd2c8aa9a201a06610582c7]] [formerly f561ea4acf85731d3751816b98d5116160cf9973 [formerly e972418bab9c2cf8cb69d232f756d9cf76bb4a9b] [formerly c057b0a413c7e538506f514fddf46e8f4e5e14de [formerly 714782addeec7d30328a387987c7692cff0f7b41]]]] [formerly db10531717608173239c308df17bec70bdf2ba9b [formerly 81a1b9ee57cf59b9bd9d8a9e17186c996742c7bd] [formerly 9279abaa5973439b54ef05f4de658db605697a9d [formerly ee80e83eb858a2f2ea6b1a05e7e13b0f58d60aea]] [formerly 38a18cc2543d3bb053c7ac02034e2c727715924d [formerly e9ca3caf08b2af79915fa4876df098c04e3bfbb2] [formerly 340477e530990e0f657ff53418f0b933d9e98fba [formerly c9b004a2c38df6da8b89063eba1723dcae620d9f]]] [formerly 734509d15daab6d31cea0e422578cfe0e6880fa0 [formerly ad1cd45b341249c945b45427d580515df975e75d] [formerly 30f7c10b835ef4afc3bd7c465bfaf234524ea1b0 [formerly 710c9cc6809ad488f7d964da5139df7db8dba286]] [formerly 4a0f1409e61b8c7e05d6647c21cb1528b0544568 [formerly 7d6d940ad5684f1f6b8b96c33f4e68e63e825f49] [formerly da1ab851944a0c6a287747af867b67440d004e57]]]] Former-commit-id: 61bd2ced30dcbb60fd039bc1f09e7ac17384600f [formerly ccbc4bb634652a51f8b62fafa4f1faeb4a4baee1] [formerly 0b4b80934144b4fa07daa829910214ade40f52e9 [formerly 502825f55d16c88aad71dcfad49b15d60108be0d]] [formerly b6fd349efef160319fbed564efe3b1ff878f7674 [formerly 95572c468401fbf5bb16c72dc0022602d05cece4] [formerly d137c99d11cc86e52846a23d74898e233b9c063e [formerly f5d2a4e046a4520524b384673c1650c56225c892]]] [formerly 72e04400d64f604e72473a271be114dd171b76e6 [formerly df838a0f3951f7fc9f959fa2817f77f9abd9dcad] [formerly f61a4b36a40bc98fda5c43c17f65be47b50bbee4 [formerly bb719729f35c4e8bfb5572b0e9f8c16963106e4b]] [formerly d7983d59017477f2bbbdc14c18b3c6cc9a8599cf [formerly 485071deb0d574db7fd3918ad8d5ab9422e2c69b] [formerly fe336da38473dbefc90ff5dc7e463d704e2ad67e [formerly 4a1117cd30d141b72518b61b4492010f528bb2cb]]]] Former-commit-id: 4c31aa20027b0a09bc4ecc54401043fde9bb82e2 [formerly 368204e633021d5cc9240aec72a201c0e6ade82f] [formerly cb20d97745d17286d75ede317ea6837565b2549c [formerly 1e2bd5a92eabf0fe0b1e902ce66cce1dd0f4f386]] [formerly 6bae8da79f5b3b9025569b30c91f8a72b02b7bd6 [formerly 5e825dad6780538572f0ebff174b36fba411e1a3] [formerly 9aadaada35d3c2833a5399175ecb576dbec2dcb9 [formerly 4087666752f251a37aa027b64295374caf176812]]] Former-commit-id: 45827781fd43bffc434180c505c2c55f4544fb2f [formerly df48b013a0b96dfdcc55d6946b9db2d04155aad1] [formerly 0398938d7aef41e23eca24b00b38959ad4b83e4a [formerly cec8951ed416ae4641dbc928a2cda78caa9b7845]] Former-commit-id: a43bf0a20af7b925431591b5a5c9af1895a8d910 [formerly 2e8d60227697c9783d18e90421ee203ec41ccd35] Former-commit-id: b8cd12701effe62b7ca02079b60a2d767aabc995
4 years ago
first commit Former-commit-id: 08bc23ba02cffbce3cf63962390a65459a132e48 [formerly 0795edd4834b9b7dc66db8d10d4cbaf42bbf82cb] [formerly b5010b42541add7e2ea2578bf2da537efc457757 [formerly a7ca09c2c34c4fc8b3d8e01fcfa08eeeb2cae99d]] [formerly 615058473a2177ca5b89e9edbb797f4c2a59c7e5 [formerly 743d8dfc6843c4c205051a8ab309fbb2116c895e] [formerly bb0ea98b1e14154ef464e2f7a16738705894e54b [formerly 960a69da74b81ef8093820e003f2d6c59a34974c]]] [formerly 2fa3be52c1b44665bc81a7cc7d4cea4bbf0d91d5 [formerly 2054589f0898627e0a17132fd9d4cc78efc91867] [formerly 3b53730e8a895e803dfdd6ca72bc05e17a4164c1 [formerly 8a2fa8ab7baf6686d21af1f322df46fd58c60e69]] [formerly 87d1e3a07a19d03c7d7c94d93ab4fa9f58dada7c [formerly f331916385a5afac1234854ee8d7f160f34b668f] [formerly 69fb3c78a483343f5071da4f7e2891b83a49dd18 [formerly 386086f05aa9487f65bce2ee54438acbdce57650]]]] Former-commit-id: a00aed8c934a6460c4d9ac902b9a74a3d6864697 [formerly 26fdeca29c2f07916d837883983ca2982056c78e] [formerly 0e3170d41a2f99ecf5c918183d361d4399d793bf [formerly 3c12ad4c88ac5192e0f5606ac0d88dd5bf8602dc]] [formerly d5894f84f2fd2e77a6913efdc5ae388cf1be0495 [formerly ad3e7bc670ff92c992730d29c9d3aa1598d844e8] [formerly 69fb3c78a483343f5071da4f7e2891b83a49dd18]] Former-commit-id: 3c19c9fae64f6106415fbc948a4dc613b9ee12f8 [formerly 467ddc0549c74bb007e8f01773bb6dc9103b417d] [formerly 5fa518345d958e2760e443b366883295de6d991c [formerly 3530e130b9fdb7280f638dbc2e785d2165ba82aa]] Former-commit-id: 9f5d473d42a435ec0d60149939d09be1acc25d92 [formerly be0b25c4ec2cde052a041baf0e11f774a158105d] Former-commit-id: 9eca71cb73ba9edccd70ac06a3b636b8d4093b04
4 years ago
coverall Former-commit-id: 846b08ee7c7231b6d7c14a2f438e87dfcb1031e5 [formerly 898f9492d1265a61378f0024bd85e7390c7827a8] [formerly 3ba67f75a03fbdd98ee1d739401c7e70be501e0e [formerly 58b375e8e7d4402192456eddf61b31290ad4c843]] [formerly ed311ab694c8a7976dfd2d3ce19d37633c76bb7f [formerly 4f094bb67dccbb4d2bdcc1a52e27fc905322ac05] [formerly f26d423c1657dd86a80d62db0910a5a28026fd7d [formerly f794ff34ef5a653073cafa8fc32a86d3ba349d6f]]] [formerly f05635c1f4778354851f77dd2b865e5868aa802c [formerly 79b26421d1ba405b9a5e52820d1c7c82141c441f] [formerly 58d01d07652b5244d2ab9c4f443ba7e476fa7dd5 [formerly ac8fad3853e11e7e3aeae5bc3d7bac438ec9f4e3]] [formerly b0b655300fcb4a66dba33048fe107e0f04dc80b2 [formerly 9726f96eb44e42b4fe69b4128fdf28886f4d2408] [formerly c28b652837994041a874dddb07a3505eb92bd336 [formerly b66948d1d013c1b6c49f42651608c60f06fa55a1]]]] [formerly 464b9b56a8c11530dde979fe4bdf243cd845870b [formerly 6d27652e8405885fda067d889bdd5699d46dfda4] [formerly f8cdb514b123e8834c9bda912d8b36fab00baab9 [formerly 36da7b0133735fb5fb8146517e6cfccaa7995fae]] [formerly 58f0a2ad3bd296c787a3442de7f6c666ed9343b3 [formerly ae260a8a2c566ec9681892e384aa65ff277dc1b4] [formerly 0b4306ce91fb3a292944a4c6ddb073f0cf7f50e4 [formerly 4736c33b8206edb730cd6c76ea496a2f29af9522]]] [formerly 15024cfb98cef75c0cce1c2e3cf57795fb3bff4e [formerly affb9d5be6bd27b328369b29dc3d1ed4b19a46cc] [formerly 49b5cbb379b2d102c4d05fd6ac4e5513d588105d [formerly d386e84f3ff5464ddb0ed1cb3c5fc720504d3bcc]] [formerly 0df3fd4bc89ac170c90aff597baeb26537e4f2fe [formerly 1452be20a9e0fa96f7e2f29ad76c0c34c6f40aa4] [formerly 6cea47368ccb564b59b7ff6515a3059c057a4a4c [formerly 4beb72e53ded32aa7f32c22442a4cddfc76dcee6]]]]] [formerly 2cb122a0e2b77df9b997422a338cff5a58675795 [formerly 369a07af54ba4095585522aa5302cc9166946505] [formerly 117719f457b878b4dc14bb91c3b1e1d6fbfda83e [formerly f418d8f99e673dd001bc90862281651ade3070bf]] [formerly a2f8ef45a1b7b2a0b6e922c01759b29bda953fb8 [formerly 0f9187e9eb2d8e5aecf79dc5be27fa12fa6a32b9] [formerly 1e667b994f6fbbf93a51a956ab65d14b1cfc52ab [formerly 684958c8284454114253daa7df6b4c29df391112]]] [formerly 353202c937a50f79a92be110ef4d2b86c1427e0c [formerly 2e4d2604324f75f2e44fbdce9b487a682915d460] [formerly 0f060e89f2d19a6c4fa6159c85ffc79875f47393 [formerly 12d6c71af714be6a4bc025d0a67fc889bf4f4558]] [formerly f90287aa507629bd4ef5b35d4378f330a00e9b62 [formerly 5f14e91aaabb3b567f10767d5ada5beeea152725] [formerly 15e8680f49bcce301a81f7ca91c20918c09bdee9 [formerly 97f0a20a9f6a1cd010a85ddbdfa35d38fc4ae660]]]] [formerly 4188a6742e47717addc1f4739c20d87f056ca5f2 [formerly 4f52141057a049e420321e3394dc24e8faf3594d] [formerly 42f46569fa3bddc8ad944c7e7fca2829e1f3eff4 [formerly 56b44ec1f09aa670f757d04a97cdbccc3b5339d8]] [formerly 045abdc1fcaf95a2c8e5c9a8c30cbf5c358bddf0 [formerly d00f538f5c7b55bdfbe16e9a3d344685a6d4b2af] [formerly 0ca3d4c0ba036b6d902c1adb783a55cc6d393612 [formerly b326214bbbc36f48a5ac690756ad1bb9fa538cac]]] [formerly 4344f68bac5600cff2c6cc4b6a8c2356f1ddbad7 [formerly f0ae7e9d077814f4b231ffe5e6d2e9a7cee0d4d2] [formerly 813a1a286434d24f40c53d49707c3f7ea0b0a0a6 [formerly 5e348e98c8b9fd98b715e11466c389cd3b36b36d]] [formerly d1429e68ccdbe75adeffcc1b6a6a7c7e653dd299 [formerly bea65a08912a1ce768554ddd392e930af77f00fe] [formerly da1ab851944a0c6a287747af867b67440d004e57 [formerly d4d39f564f3681b3f883bd7b158d87513529b399]]]]]] Former-commit-id: 0e4c0fc5f7b19a68d880a64456538eb4f27e9ad2 [formerly fb8130714b2e93190764d9e590688f322bace637] [formerly 3d492794edae3ceaea5713874b074883b1295f83 [formerly 17a0b6934738ddb6d53eaaf656d275efbd1434ce]] [formerly b0c8ebc55b2a6f0eb2f0632bea4d85dabde4a1cc [formerly 0d73519131bc72f6cc613e4e9f1132a317c0f85a] [formerly b171b2dcd949199f625c40eee20eba2e1f56fa2a [formerly e6de695a374bac8d070d6b278e6ccaa41b28f257]]] [formerly a3f7312030818a6156d8fc3c07f5af2122c4c553 [formerly 2e8279331de4e764b3dd5efa44efddc1b312e290] [formerly 9765d5a57ddfcb6a47b37387d6ec329d49dbb8f1 [formerly 11a90a651922f555cbd2c8aa9a201a06610582c7]] [formerly f561ea4acf85731d3751816b98d5116160cf9973 [formerly e972418bab9c2cf8cb69d232f756d9cf76bb4a9b] [formerly c057b0a413c7e538506f514fddf46e8f4e5e14de [formerly 714782addeec7d30328a387987c7692cff0f7b41]]]] [formerly db10531717608173239c308df17bec70bdf2ba9b [formerly 81a1b9ee57cf59b9bd9d8a9e17186c996742c7bd] [formerly 9279abaa5973439b54ef05f4de658db605697a9d [formerly ee80e83eb858a2f2ea6b1a05e7e13b0f58d60aea]] [formerly 38a18cc2543d3bb053c7ac02034e2c727715924d [formerly e9ca3caf08b2af79915fa4876df098c04e3bfbb2] [formerly 340477e530990e0f657ff53418f0b933d9e98fba [formerly c9b004a2c38df6da8b89063eba1723dcae620d9f]]] [formerly 734509d15daab6d31cea0e422578cfe0e6880fa0 [formerly ad1cd45b341249c945b45427d580515df975e75d] [formerly 30f7c10b835ef4afc3bd7c465bfaf234524ea1b0 [formerly 710c9cc6809ad488f7d964da5139df7db8dba286]] [formerly 4a0f1409e61b8c7e05d6647c21cb1528b0544568 [formerly 7d6d940ad5684f1f6b8b96c33f4e68e63e825f49] [formerly da1ab851944a0c6a287747af867b67440d004e57]]]] Former-commit-id: 61bd2ced30dcbb60fd039bc1f09e7ac17384600f [formerly ccbc4bb634652a51f8b62fafa4f1faeb4a4baee1] [formerly 0b4b80934144b4fa07daa829910214ade40f52e9 [formerly 502825f55d16c88aad71dcfad49b15d60108be0d]] [formerly b6fd349efef160319fbed564efe3b1ff878f7674 [formerly 95572c468401fbf5bb16c72dc0022602d05cece4] [formerly d137c99d11cc86e52846a23d74898e233b9c063e [formerly f5d2a4e046a4520524b384673c1650c56225c892]]] [formerly 72e04400d64f604e72473a271be114dd171b76e6 [formerly df838a0f3951f7fc9f959fa2817f77f9abd9dcad] [formerly f61a4b36a40bc98fda5c43c17f65be47b50bbee4 [formerly bb719729f35c4e8bfb5572b0e9f8c16963106e4b]] [formerly d7983d59017477f2bbbdc14c18b3c6cc9a8599cf [formerly 485071deb0d574db7fd3918ad8d5ab9422e2c69b] [formerly fe336da38473dbefc90ff5dc7e463d704e2ad67e [formerly 4a1117cd30d141b72518b61b4492010f528bb2cb]]]] Former-commit-id: 4c31aa20027b0a09bc4ecc54401043fde9bb82e2 [formerly 368204e633021d5cc9240aec72a201c0e6ade82f] [formerly cb20d97745d17286d75ede317ea6837565b2549c [formerly 1e2bd5a92eabf0fe0b1e902ce66cce1dd0f4f386]] [formerly 6bae8da79f5b3b9025569b30c91f8a72b02b7bd6 [formerly 5e825dad6780538572f0ebff174b36fba411e1a3] [formerly 9aadaada35d3c2833a5399175ecb576dbec2dcb9 [formerly 4087666752f251a37aa027b64295374caf176812]]] Former-commit-id: 45827781fd43bffc434180c505c2c55f4544fb2f [formerly df48b013a0b96dfdcc55d6946b9db2d04155aad1] [formerly 0398938d7aef41e23eca24b00b38959ad4b83e4a [formerly cec8951ed416ae4641dbc928a2cda78caa9b7845]] Former-commit-id: a43bf0a20af7b925431591b5a5c9af1895a8d910 [formerly 2e8d60227697c9783d18e90421ee203ec41ccd35] Former-commit-id: b8cd12701effe62b7ca02079b60a2d767aabc995
4 years ago
first commit Former-commit-id: 08bc23ba02cffbce3cf63962390a65459a132e48 [formerly 0795edd4834b9b7dc66db8d10d4cbaf42bbf82cb] [formerly b5010b42541add7e2ea2578bf2da537efc457757 [formerly a7ca09c2c34c4fc8b3d8e01fcfa08eeeb2cae99d]] [formerly 615058473a2177ca5b89e9edbb797f4c2a59c7e5 [formerly 743d8dfc6843c4c205051a8ab309fbb2116c895e] [formerly bb0ea98b1e14154ef464e2f7a16738705894e54b [formerly 960a69da74b81ef8093820e003f2d6c59a34974c]]] [formerly 2fa3be52c1b44665bc81a7cc7d4cea4bbf0d91d5 [formerly 2054589f0898627e0a17132fd9d4cc78efc91867] [formerly 3b53730e8a895e803dfdd6ca72bc05e17a4164c1 [formerly 8a2fa8ab7baf6686d21af1f322df46fd58c60e69]] [formerly 87d1e3a07a19d03c7d7c94d93ab4fa9f58dada7c [formerly f331916385a5afac1234854ee8d7f160f34b668f] [formerly 69fb3c78a483343f5071da4f7e2891b83a49dd18 [formerly 386086f05aa9487f65bce2ee54438acbdce57650]]]] Former-commit-id: a00aed8c934a6460c4d9ac902b9a74a3d6864697 [formerly 26fdeca29c2f07916d837883983ca2982056c78e] [formerly 0e3170d41a2f99ecf5c918183d361d4399d793bf [formerly 3c12ad4c88ac5192e0f5606ac0d88dd5bf8602dc]] [formerly d5894f84f2fd2e77a6913efdc5ae388cf1be0495 [formerly ad3e7bc670ff92c992730d29c9d3aa1598d844e8] [formerly 69fb3c78a483343f5071da4f7e2891b83a49dd18]] Former-commit-id: 3c19c9fae64f6106415fbc948a4dc613b9ee12f8 [formerly 467ddc0549c74bb007e8f01773bb6dc9103b417d] [formerly 5fa518345d958e2760e443b366883295de6d991c [formerly 3530e130b9fdb7280f638dbc2e785d2165ba82aa]] Former-commit-id: 9f5d473d42a435ec0d60149939d09be1acc25d92 [formerly be0b25c4ec2cde052a041baf0e11f774a158105d] Former-commit-id: 9eca71cb73ba9edccd70ac06a3b636b8d4093b04
4 years ago
coverall Former-commit-id: 846b08ee7c7231b6d7c14a2f438e87dfcb1031e5 [formerly 898f9492d1265a61378f0024bd85e7390c7827a8] [formerly 3ba67f75a03fbdd98ee1d739401c7e70be501e0e [formerly 58b375e8e7d4402192456eddf61b31290ad4c843]] [formerly ed311ab694c8a7976dfd2d3ce19d37633c76bb7f [formerly 4f094bb67dccbb4d2bdcc1a52e27fc905322ac05] [formerly f26d423c1657dd86a80d62db0910a5a28026fd7d [formerly f794ff34ef5a653073cafa8fc32a86d3ba349d6f]]] [formerly f05635c1f4778354851f77dd2b865e5868aa802c [formerly 79b26421d1ba405b9a5e52820d1c7c82141c441f] [formerly 58d01d07652b5244d2ab9c4f443ba7e476fa7dd5 [formerly ac8fad3853e11e7e3aeae5bc3d7bac438ec9f4e3]] [formerly b0b655300fcb4a66dba33048fe107e0f04dc80b2 [formerly 9726f96eb44e42b4fe69b4128fdf28886f4d2408] [formerly c28b652837994041a874dddb07a3505eb92bd336 [formerly b66948d1d013c1b6c49f42651608c60f06fa55a1]]]] [formerly 464b9b56a8c11530dde979fe4bdf243cd845870b [formerly 6d27652e8405885fda067d889bdd5699d46dfda4] [formerly f8cdb514b123e8834c9bda912d8b36fab00baab9 [formerly 36da7b0133735fb5fb8146517e6cfccaa7995fae]] [formerly 58f0a2ad3bd296c787a3442de7f6c666ed9343b3 [formerly ae260a8a2c566ec9681892e384aa65ff277dc1b4] [formerly 0b4306ce91fb3a292944a4c6ddb073f0cf7f50e4 [formerly 4736c33b8206edb730cd6c76ea496a2f29af9522]]] [formerly 15024cfb98cef75c0cce1c2e3cf57795fb3bff4e [formerly affb9d5be6bd27b328369b29dc3d1ed4b19a46cc] [formerly 49b5cbb379b2d102c4d05fd6ac4e5513d588105d [formerly d386e84f3ff5464ddb0ed1cb3c5fc720504d3bcc]] [formerly 0df3fd4bc89ac170c90aff597baeb26537e4f2fe [formerly 1452be20a9e0fa96f7e2f29ad76c0c34c6f40aa4] [formerly 6cea47368ccb564b59b7ff6515a3059c057a4a4c [formerly 4beb72e53ded32aa7f32c22442a4cddfc76dcee6]]]]] [formerly 2cb122a0e2b77df9b997422a338cff5a58675795 [formerly 369a07af54ba4095585522aa5302cc9166946505] [formerly 117719f457b878b4dc14bb91c3b1e1d6fbfda83e [formerly f418d8f99e673dd001bc90862281651ade3070bf]] [formerly a2f8ef45a1b7b2a0b6e922c01759b29bda953fb8 [formerly 0f9187e9eb2d8e5aecf79dc5be27fa12fa6a32b9] [formerly 1e667b994f6fbbf93a51a956ab65d14b1cfc52ab [formerly 684958c8284454114253daa7df6b4c29df391112]]] [formerly 353202c937a50f79a92be110ef4d2b86c1427e0c [formerly 2e4d2604324f75f2e44fbdce9b487a682915d460] [formerly 0f060e89f2d19a6c4fa6159c85ffc79875f47393 [formerly 12d6c71af714be6a4bc025d0a67fc889bf4f4558]] [formerly f90287aa507629bd4ef5b35d4378f330a00e9b62 [formerly 5f14e91aaabb3b567f10767d5ada5beeea152725] [formerly 15e8680f49bcce301a81f7ca91c20918c09bdee9 [formerly 97f0a20a9f6a1cd010a85ddbdfa35d38fc4ae660]]]] [formerly 4188a6742e47717addc1f4739c20d87f056ca5f2 [formerly 4f52141057a049e420321e3394dc24e8faf3594d] [formerly 42f46569fa3bddc8ad944c7e7fca2829e1f3eff4 [formerly 56b44ec1f09aa670f757d04a97cdbccc3b5339d8]] [formerly 045abdc1fcaf95a2c8e5c9a8c30cbf5c358bddf0 [formerly d00f538f5c7b55bdfbe16e9a3d344685a6d4b2af] [formerly 0ca3d4c0ba036b6d902c1adb783a55cc6d393612 [formerly b326214bbbc36f48a5ac690756ad1bb9fa538cac]]] [formerly 4344f68bac5600cff2c6cc4b6a8c2356f1ddbad7 [formerly f0ae7e9d077814f4b231ffe5e6d2e9a7cee0d4d2] [formerly 813a1a286434d24f40c53d49707c3f7ea0b0a0a6 [formerly 5e348e98c8b9fd98b715e11466c389cd3b36b36d]] [formerly d1429e68ccdbe75adeffcc1b6a6a7c7e653dd299 [formerly bea65a08912a1ce768554ddd392e930af77f00fe] [formerly da1ab851944a0c6a287747af867b67440d004e57 [formerly d4d39f564f3681b3f883bd7b158d87513529b399]]]]]] Former-commit-id: 0e4c0fc5f7b19a68d880a64456538eb4f27e9ad2 [formerly fb8130714b2e93190764d9e590688f322bace637] [formerly 3d492794edae3ceaea5713874b074883b1295f83 [formerly 17a0b6934738ddb6d53eaaf656d275efbd1434ce]] [formerly b0c8ebc55b2a6f0eb2f0632bea4d85dabde4a1cc [formerly 0d73519131bc72f6cc613e4e9f1132a317c0f85a] [formerly b171b2dcd949199f625c40eee20eba2e1f56fa2a [formerly e6de695a374bac8d070d6b278e6ccaa41b28f257]]] [formerly a3f7312030818a6156d8fc3c07f5af2122c4c553 [formerly 2e8279331de4e764b3dd5efa44efddc1b312e290] [formerly 9765d5a57ddfcb6a47b37387d6ec329d49dbb8f1 [formerly 11a90a651922f555cbd2c8aa9a201a06610582c7]] [formerly f561ea4acf85731d3751816b98d5116160cf9973 [formerly e972418bab9c2cf8cb69d232f756d9cf76bb4a9b] [formerly c057b0a413c7e538506f514fddf46e8f4e5e14de [formerly 714782addeec7d30328a387987c7692cff0f7b41]]]] [formerly db10531717608173239c308df17bec70bdf2ba9b [formerly 81a1b9ee57cf59b9bd9d8a9e17186c996742c7bd] [formerly 9279abaa5973439b54ef05f4de658db605697a9d [formerly ee80e83eb858a2f2ea6b1a05e7e13b0f58d60aea]] [formerly 38a18cc2543d3bb053c7ac02034e2c727715924d [formerly e9ca3caf08b2af79915fa4876df098c04e3bfbb2] [formerly 340477e530990e0f657ff53418f0b933d9e98fba [formerly c9b004a2c38df6da8b89063eba1723dcae620d9f]]] [formerly 734509d15daab6d31cea0e422578cfe0e6880fa0 [formerly ad1cd45b341249c945b45427d580515df975e75d] [formerly 30f7c10b835ef4afc3bd7c465bfaf234524ea1b0 [formerly 710c9cc6809ad488f7d964da5139df7db8dba286]] [formerly 4a0f1409e61b8c7e05d6647c21cb1528b0544568 [formerly 7d6d940ad5684f1f6b8b96c33f4e68e63e825f49] [formerly da1ab851944a0c6a287747af867b67440d004e57]]]] Former-commit-id: 61bd2ced30dcbb60fd039bc1f09e7ac17384600f [formerly ccbc4bb634652a51f8b62fafa4f1faeb4a4baee1] [formerly 0b4b80934144b4fa07daa829910214ade40f52e9 [formerly 502825f55d16c88aad71dcfad49b15d60108be0d]] [formerly b6fd349efef160319fbed564efe3b1ff878f7674 [formerly 95572c468401fbf5bb16c72dc0022602d05cece4] [formerly d137c99d11cc86e52846a23d74898e233b9c063e [formerly f5d2a4e046a4520524b384673c1650c56225c892]]] [formerly 72e04400d64f604e72473a271be114dd171b76e6 [formerly df838a0f3951f7fc9f959fa2817f77f9abd9dcad] [formerly f61a4b36a40bc98fda5c43c17f65be47b50bbee4 [formerly bb719729f35c4e8bfb5572b0e9f8c16963106e4b]] [formerly d7983d59017477f2bbbdc14c18b3c6cc9a8599cf [formerly 485071deb0d574db7fd3918ad8d5ab9422e2c69b] [formerly fe336da38473dbefc90ff5dc7e463d704e2ad67e [formerly 4a1117cd30d141b72518b61b4492010f528bb2cb]]]] Former-commit-id: 4c31aa20027b0a09bc4ecc54401043fde9bb82e2 [formerly 368204e633021d5cc9240aec72a201c0e6ade82f] [formerly cb20d97745d17286d75ede317ea6837565b2549c [formerly 1e2bd5a92eabf0fe0b1e902ce66cce1dd0f4f386]] [formerly 6bae8da79f5b3b9025569b30c91f8a72b02b7bd6 [formerly 5e825dad6780538572f0ebff174b36fba411e1a3] [formerly 9aadaada35d3c2833a5399175ecb576dbec2dcb9 [formerly 4087666752f251a37aa027b64295374caf176812]]] Former-commit-id: 45827781fd43bffc434180c505c2c55f4544fb2f [formerly df48b013a0b96dfdcc55d6946b9db2d04155aad1] [formerly 0398938d7aef41e23eca24b00b38959ad4b83e4a [formerly cec8951ed416ae4641dbc928a2cda78caa9b7845]] Former-commit-id: a43bf0a20af7b925431591b5a5c9af1895a8d910 [formerly 2e8d60227697c9783d18e90421ee203ec41ccd35] Former-commit-id: b8cd12701effe62b7ca02079b60a2d767aabc995
4 years ago
first commit Former-commit-id: 08bc23ba02cffbce3cf63962390a65459a132e48 [formerly 0795edd4834b9b7dc66db8d10d4cbaf42bbf82cb] [formerly b5010b42541add7e2ea2578bf2da537efc457757 [formerly a7ca09c2c34c4fc8b3d8e01fcfa08eeeb2cae99d]] [formerly 615058473a2177ca5b89e9edbb797f4c2a59c7e5 [formerly 743d8dfc6843c4c205051a8ab309fbb2116c895e] [formerly bb0ea98b1e14154ef464e2f7a16738705894e54b [formerly 960a69da74b81ef8093820e003f2d6c59a34974c]]] [formerly 2fa3be52c1b44665bc81a7cc7d4cea4bbf0d91d5 [formerly 2054589f0898627e0a17132fd9d4cc78efc91867] [formerly 3b53730e8a895e803dfdd6ca72bc05e17a4164c1 [formerly 8a2fa8ab7baf6686d21af1f322df46fd58c60e69]] [formerly 87d1e3a07a19d03c7d7c94d93ab4fa9f58dada7c [formerly f331916385a5afac1234854ee8d7f160f34b668f] [formerly 69fb3c78a483343f5071da4f7e2891b83a49dd18 [formerly 386086f05aa9487f65bce2ee54438acbdce57650]]]] Former-commit-id: a00aed8c934a6460c4d9ac902b9a74a3d6864697 [formerly 26fdeca29c2f07916d837883983ca2982056c78e] [formerly 0e3170d41a2f99ecf5c918183d361d4399d793bf [formerly 3c12ad4c88ac5192e0f5606ac0d88dd5bf8602dc]] [formerly d5894f84f2fd2e77a6913efdc5ae388cf1be0495 [formerly ad3e7bc670ff92c992730d29c9d3aa1598d844e8] [formerly 69fb3c78a483343f5071da4f7e2891b83a49dd18]] Former-commit-id: 3c19c9fae64f6106415fbc948a4dc613b9ee12f8 [formerly 467ddc0549c74bb007e8f01773bb6dc9103b417d] [formerly 5fa518345d958e2760e443b366883295de6d991c [formerly 3530e130b9fdb7280f638dbc2e785d2165ba82aa]] Former-commit-id: 9f5d473d42a435ec0d60149939d09be1acc25d92 [formerly be0b25c4ec2cde052a041baf0e11f774a158105d] Former-commit-id: 9eca71cb73ba9edccd70ac06a3b636b8d4093b04
4 years ago
coverall Former-commit-id: 846b08ee7c7231b6d7c14a2f438e87dfcb1031e5 [formerly 898f9492d1265a61378f0024bd85e7390c7827a8] [formerly 3ba67f75a03fbdd98ee1d739401c7e70be501e0e [formerly 58b375e8e7d4402192456eddf61b31290ad4c843]] [formerly ed311ab694c8a7976dfd2d3ce19d37633c76bb7f [formerly 4f094bb67dccbb4d2bdcc1a52e27fc905322ac05] [formerly f26d423c1657dd86a80d62db0910a5a28026fd7d [formerly f794ff34ef5a653073cafa8fc32a86d3ba349d6f]]] [formerly f05635c1f4778354851f77dd2b865e5868aa802c [formerly 79b26421d1ba405b9a5e52820d1c7c82141c441f] [formerly 58d01d07652b5244d2ab9c4f443ba7e476fa7dd5 [formerly ac8fad3853e11e7e3aeae5bc3d7bac438ec9f4e3]] [formerly b0b655300fcb4a66dba33048fe107e0f04dc80b2 [formerly 9726f96eb44e42b4fe69b4128fdf28886f4d2408] [formerly c28b652837994041a874dddb07a3505eb92bd336 [formerly b66948d1d013c1b6c49f42651608c60f06fa55a1]]]] [formerly 464b9b56a8c11530dde979fe4bdf243cd845870b [formerly 6d27652e8405885fda067d889bdd5699d46dfda4] [formerly f8cdb514b123e8834c9bda912d8b36fab00baab9 [formerly 36da7b0133735fb5fb8146517e6cfccaa7995fae]] [formerly 58f0a2ad3bd296c787a3442de7f6c666ed9343b3 [formerly ae260a8a2c566ec9681892e384aa65ff277dc1b4] [formerly 0b4306ce91fb3a292944a4c6ddb073f0cf7f50e4 [formerly 4736c33b8206edb730cd6c76ea496a2f29af9522]]] [formerly 15024cfb98cef75c0cce1c2e3cf57795fb3bff4e [formerly affb9d5be6bd27b328369b29dc3d1ed4b19a46cc] [formerly 49b5cbb379b2d102c4d05fd6ac4e5513d588105d [formerly d386e84f3ff5464ddb0ed1cb3c5fc720504d3bcc]] [formerly 0df3fd4bc89ac170c90aff597baeb26537e4f2fe [formerly 1452be20a9e0fa96f7e2f29ad76c0c34c6f40aa4] [formerly 6cea47368ccb564b59b7ff6515a3059c057a4a4c [formerly 4beb72e53ded32aa7f32c22442a4cddfc76dcee6]]]]] [formerly 2cb122a0e2b77df9b997422a338cff5a58675795 [formerly 369a07af54ba4095585522aa5302cc9166946505] [formerly 117719f457b878b4dc14bb91c3b1e1d6fbfda83e [formerly f418d8f99e673dd001bc90862281651ade3070bf]] [formerly a2f8ef45a1b7b2a0b6e922c01759b29bda953fb8 [formerly 0f9187e9eb2d8e5aecf79dc5be27fa12fa6a32b9] [formerly 1e667b994f6fbbf93a51a956ab65d14b1cfc52ab [formerly 684958c8284454114253daa7df6b4c29df391112]]] [formerly 353202c937a50f79a92be110ef4d2b86c1427e0c [formerly 2e4d2604324f75f2e44fbdce9b487a682915d460] [formerly 0f060e89f2d19a6c4fa6159c85ffc79875f47393 [formerly 12d6c71af714be6a4bc025d0a67fc889bf4f4558]] [formerly f90287aa507629bd4ef5b35d4378f330a00e9b62 [formerly 5f14e91aaabb3b567f10767d5ada5beeea152725] [formerly 15e8680f49bcce301a81f7ca91c20918c09bdee9 [formerly 97f0a20a9f6a1cd010a85ddbdfa35d38fc4ae660]]]] [formerly 4188a6742e47717addc1f4739c20d87f056ca5f2 [formerly 4f52141057a049e420321e3394dc24e8faf3594d] [formerly 42f46569fa3bddc8ad944c7e7fca2829e1f3eff4 [formerly 56b44ec1f09aa670f757d04a97cdbccc3b5339d8]] [formerly 045abdc1fcaf95a2c8e5c9a8c30cbf5c358bddf0 [formerly d00f538f5c7b55bdfbe16e9a3d344685a6d4b2af] [formerly 0ca3d4c0ba036b6d902c1adb783a55cc6d393612 [formerly b326214bbbc36f48a5ac690756ad1bb9fa538cac]]] [formerly 4344f68bac5600cff2c6cc4b6a8c2356f1ddbad7 [formerly f0ae7e9d077814f4b231ffe5e6d2e9a7cee0d4d2] [formerly 813a1a286434d24f40c53d49707c3f7ea0b0a0a6 [formerly 5e348e98c8b9fd98b715e11466c389cd3b36b36d]] [formerly d1429e68ccdbe75adeffcc1b6a6a7c7e653dd299 [formerly bea65a08912a1ce768554ddd392e930af77f00fe] [formerly da1ab851944a0c6a287747af867b67440d004e57 [formerly d4d39f564f3681b3f883bd7b158d87513529b399]]]]]] Former-commit-id: 0e4c0fc5f7b19a68d880a64456538eb4f27e9ad2 [formerly fb8130714b2e93190764d9e590688f322bace637] [formerly 3d492794edae3ceaea5713874b074883b1295f83 [formerly 17a0b6934738ddb6d53eaaf656d275efbd1434ce]] [formerly b0c8ebc55b2a6f0eb2f0632bea4d85dabde4a1cc [formerly 0d73519131bc72f6cc613e4e9f1132a317c0f85a] [formerly b171b2dcd949199f625c40eee20eba2e1f56fa2a [formerly e6de695a374bac8d070d6b278e6ccaa41b28f257]]] [formerly a3f7312030818a6156d8fc3c07f5af2122c4c553 [formerly 2e8279331de4e764b3dd5efa44efddc1b312e290] [formerly 9765d5a57ddfcb6a47b37387d6ec329d49dbb8f1 [formerly 11a90a651922f555cbd2c8aa9a201a06610582c7]] [formerly f561ea4acf85731d3751816b98d5116160cf9973 [formerly e972418bab9c2cf8cb69d232f756d9cf76bb4a9b] [formerly c057b0a413c7e538506f514fddf46e8f4e5e14de [formerly 714782addeec7d30328a387987c7692cff0f7b41]]]] [formerly db10531717608173239c308df17bec70bdf2ba9b [formerly 81a1b9ee57cf59b9bd9d8a9e17186c996742c7bd] [formerly 9279abaa5973439b54ef05f4de658db605697a9d [formerly ee80e83eb858a2f2ea6b1a05e7e13b0f58d60aea]] [formerly 38a18cc2543d3bb053c7ac02034e2c727715924d [formerly e9ca3caf08b2af79915fa4876df098c04e3bfbb2] [formerly 340477e530990e0f657ff53418f0b933d9e98fba [formerly c9b004a2c38df6da8b89063eba1723dcae620d9f]]] [formerly 734509d15daab6d31cea0e422578cfe0e6880fa0 [formerly ad1cd45b341249c945b45427d580515df975e75d] [formerly 30f7c10b835ef4afc3bd7c465bfaf234524ea1b0 [formerly 710c9cc6809ad488f7d964da5139df7db8dba286]] [formerly 4a0f1409e61b8c7e05d6647c21cb1528b0544568 [formerly 7d6d940ad5684f1f6b8b96c33f4e68e63e825f49] [formerly da1ab851944a0c6a287747af867b67440d004e57]]]] Former-commit-id: 61bd2ced30dcbb60fd039bc1f09e7ac17384600f [formerly ccbc4bb634652a51f8b62fafa4f1faeb4a4baee1] [formerly 0b4b80934144b4fa07daa829910214ade40f52e9 [formerly 502825f55d16c88aad71dcfad49b15d60108be0d]] [formerly b6fd349efef160319fbed564efe3b1ff878f7674 [formerly 95572c468401fbf5bb16c72dc0022602d05cece4] [formerly d137c99d11cc86e52846a23d74898e233b9c063e [formerly f5d2a4e046a4520524b384673c1650c56225c892]]] [formerly 72e04400d64f604e72473a271be114dd171b76e6 [formerly df838a0f3951f7fc9f959fa2817f77f9abd9dcad] [formerly f61a4b36a40bc98fda5c43c17f65be47b50bbee4 [formerly bb719729f35c4e8bfb5572b0e9f8c16963106e4b]] [formerly d7983d59017477f2bbbdc14c18b3c6cc9a8599cf [formerly 485071deb0d574db7fd3918ad8d5ab9422e2c69b] [formerly fe336da38473dbefc90ff5dc7e463d704e2ad67e [formerly 4a1117cd30d141b72518b61b4492010f528bb2cb]]]] Former-commit-id: 4c31aa20027b0a09bc4ecc54401043fde9bb82e2 [formerly 368204e633021d5cc9240aec72a201c0e6ade82f] [formerly cb20d97745d17286d75ede317ea6837565b2549c [formerly 1e2bd5a92eabf0fe0b1e902ce66cce1dd0f4f386]] [formerly 6bae8da79f5b3b9025569b30c91f8a72b02b7bd6 [formerly 5e825dad6780538572f0ebff174b36fba411e1a3] [formerly 9aadaada35d3c2833a5399175ecb576dbec2dcb9 [formerly 4087666752f251a37aa027b64295374caf176812]]] Former-commit-id: 45827781fd43bffc434180c505c2c55f4544fb2f [formerly df48b013a0b96dfdcc55d6946b9db2d04155aad1] [formerly 0398938d7aef41e23eca24b00b38959ad4b83e4a [formerly cec8951ed416ae4641dbc928a2cda78caa9b7845]] Former-commit-id: a43bf0a20af7b925431591b5a5c9af1895a8d910 [formerly 2e8d60227697c9783d18e90421ee203ec41ccd35] Former-commit-id: b8cd12701effe62b7ca02079b60a2d767aabc995
4 years ago
first commit Former-commit-id: 08bc23ba02cffbce3cf63962390a65459a132e48 [formerly 0795edd4834b9b7dc66db8d10d4cbaf42bbf82cb] [formerly b5010b42541add7e2ea2578bf2da537efc457757 [formerly a7ca09c2c34c4fc8b3d8e01fcfa08eeeb2cae99d]] [formerly 615058473a2177ca5b89e9edbb797f4c2a59c7e5 [formerly 743d8dfc6843c4c205051a8ab309fbb2116c895e] [formerly bb0ea98b1e14154ef464e2f7a16738705894e54b [formerly 960a69da74b81ef8093820e003f2d6c59a34974c]]] [formerly 2fa3be52c1b44665bc81a7cc7d4cea4bbf0d91d5 [formerly 2054589f0898627e0a17132fd9d4cc78efc91867] [formerly 3b53730e8a895e803dfdd6ca72bc05e17a4164c1 [formerly 8a2fa8ab7baf6686d21af1f322df46fd58c60e69]] [formerly 87d1e3a07a19d03c7d7c94d93ab4fa9f58dada7c [formerly f331916385a5afac1234854ee8d7f160f34b668f] [formerly 69fb3c78a483343f5071da4f7e2891b83a49dd18 [formerly 386086f05aa9487f65bce2ee54438acbdce57650]]]] Former-commit-id: a00aed8c934a6460c4d9ac902b9a74a3d6864697 [formerly 26fdeca29c2f07916d837883983ca2982056c78e] [formerly 0e3170d41a2f99ecf5c918183d361d4399d793bf [formerly 3c12ad4c88ac5192e0f5606ac0d88dd5bf8602dc]] [formerly d5894f84f2fd2e77a6913efdc5ae388cf1be0495 [formerly ad3e7bc670ff92c992730d29c9d3aa1598d844e8] [formerly 69fb3c78a483343f5071da4f7e2891b83a49dd18]] Former-commit-id: 3c19c9fae64f6106415fbc948a4dc613b9ee12f8 [formerly 467ddc0549c74bb007e8f01773bb6dc9103b417d] [formerly 5fa518345d958e2760e443b366883295de6d991c [formerly 3530e130b9fdb7280f638dbc2e785d2165ba82aa]] Former-commit-id: 9f5d473d42a435ec0d60149939d09be1acc25d92 [formerly be0b25c4ec2cde052a041baf0e11f774a158105d] Former-commit-id: 9eca71cb73ba9edccd70ac06a3b636b8d4093b04
4 years ago
coverall Former-commit-id: 846b08ee7c7231b6d7c14a2f438e87dfcb1031e5 [formerly 898f9492d1265a61378f0024bd85e7390c7827a8] [formerly 3ba67f75a03fbdd98ee1d739401c7e70be501e0e [formerly 58b375e8e7d4402192456eddf61b31290ad4c843]] [formerly ed311ab694c8a7976dfd2d3ce19d37633c76bb7f [formerly 4f094bb67dccbb4d2bdcc1a52e27fc905322ac05] [formerly f26d423c1657dd86a80d62db0910a5a28026fd7d [formerly f794ff34ef5a653073cafa8fc32a86d3ba349d6f]]] [formerly f05635c1f4778354851f77dd2b865e5868aa802c [formerly 79b26421d1ba405b9a5e52820d1c7c82141c441f] [formerly 58d01d07652b5244d2ab9c4f443ba7e476fa7dd5 [formerly ac8fad3853e11e7e3aeae5bc3d7bac438ec9f4e3]] [formerly b0b655300fcb4a66dba33048fe107e0f04dc80b2 [formerly 9726f96eb44e42b4fe69b4128fdf28886f4d2408] [formerly c28b652837994041a874dddb07a3505eb92bd336 [formerly b66948d1d013c1b6c49f42651608c60f06fa55a1]]]] [formerly 464b9b56a8c11530dde979fe4bdf243cd845870b [formerly 6d27652e8405885fda067d889bdd5699d46dfda4] [formerly f8cdb514b123e8834c9bda912d8b36fab00baab9 [formerly 36da7b0133735fb5fb8146517e6cfccaa7995fae]] [formerly 58f0a2ad3bd296c787a3442de7f6c666ed9343b3 [formerly ae260a8a2c566ec9681892e384aa65ff277dc1b4] [formerly 0b4306ce91fb3a292944a4c6ddb073f0cf7f50e4 [formerly 4736c33b8206edb730cd6c76ea496a2f29af9522]]] [formerly 15024cfb98cef75c0cce1c2e3cf57795fb3bff4e [formerly affb9d5be6bd27b328369b29dc3d1ed4b19a46cc] [formerly 49b5cbb379b2d102c4d05fd6ac4e5513d588105d [formerly d386e84f3ff5464ddb0ed1cb3c5fc720504d3bcc]] [formerly 0df3fd4bc89ac170c90aff597baeb26537e4f2fe [formerly 1452be20a9e0fa96f7e2f29ad76c0c34c6f40aa4] [formerly 6cea47368ccb564b59b7ff6515a3059c057a4a4c [formerly 4beb72e53ded32aa7f32c22442a4cddfc76dcee6]]]]] [formerly 2cb122a0e2b77df9b997422a338cff5a58675795 [formerly 369a07af54ba4095585522aa5302cc9166946505] [formerly 117719f457b878b4dc14bb91c3b1e1d6fbfda83e [formerly f418d8f99e673dd001bc90862281651ade3070bf]] [formerly a2f8ef45a1b7b2a0b6e922c01759b29bda953fb8 [formerly 0f9187e9eb2d8e5aecf79dc5be27fa12fa6a32b9] [formerly 1e667b994f6fbbf93a51a956ab65d14b1cfc52ab [formerly 684958c8284454114253daa7df6b4c29df391112]]] [formerly 353202c937a50f79a92be110ef4d2b86c1427e0c [formerly 2e4d2604324f75f2e44fbdce9b487a682915d460] [formerly 0f060e89f2d19a6c4fa6159c85ffc79875f47393 [formerly 12d6c71af714be6a4bc025d0a67fc889bf4f4558]] [formerly f90287aa507629bd4ef5b35d4378f330a00e9b62 [formerly 5f14e91aaabb3b567f10767d5ada5beeea152725] [formerly 15e8680f49bcce301a81f7ca91c20918c09bdee9 [formerly 97f0a20a9f6a1cd010a85ddbdfa35d38fc4ae660]]]] [formerly 4188a6742e47717addc1f4739c20d87f056ca5f2 [formerly 4f52141057a049e420321e3394dc24e8faf3594d] [formerly 42f46569fa3bddc8ad944c7e7fca2829e1f3eff4 [formerly 56b44ec1f09aa670f757d04a97cdbccc3b5339d8]] [formerly 045abdc1fcaf95a2c8e5c9a8c30cbf5c358bddf0 [formerly d00f538f5c7b55bdfbe16e9a3d344685a6d4b2af] [formerly 0ca3d4c0ba036b6d902c1adb783a55cc6d393612 [formerly b326214bbbc36f48a5ac690756ad1bb9fa538cac]]] [formerly 4344f68bac5600cff2c6cc4b6a8c2356f1ddbad7 [formerly f0ae7e9d077814f4b231ffe5e6d2e9a7cee0d4d2] [formerly 813a1a286434d24f40c53d49707c3f7ea0b0a0a6 [formerly 5e348e98c8b9fd98b715e11466c389cd3b36b36d]] [formerly d1429e68ccdbe75adeffcc1b6a6a7c7e653dd299 [formerly bea65a08912a1ce768554ddd392e930af77f00fe] [formerly da1ab851944a0c6a287747af867b67440d004e57 [formerly d4d39f564f3681b3f883bd7b158d87513529b399]]]]]] Former-commit-id: 0e4c0fc5f7b19a68d880a64456538eb4f27e9ad2 [formerly fb8130714b2e93190764d9e590688f322bace637] [formerly 3d492794edae3ceaea5713874b074883b1295f83 [formerly 17a0b6934738ddb6d53eaaf656d275efbd1434ce]] [formerly b0c8ebc55b2a6f0eb2f0632bea4d85dabde4a1cc [formerly 0d73519131bc72f6cc613e4e9f1132a317c0f85a] [formerly b171b2dcd949199f625c40eee20eba2e1f56fa2a [formerly e6de695a374bac8d070d6b278e6ccaa41b28f257]]] [formerly a3f7312030818a6156d8fc3c07f5af2122c4c553 [formerly 2e8279331de4e764b3dd5efa44efddc1b312e290] [formerly 9765d5a57ddfcb6a47b37387d6ec329d49dbb8f1 [formerly 11a90a651922f555cbd2c8aa9a201a06610582c7]] [formerly f561ea4acf85731d3751816b98d5116160cf9973 [formerly e972418bab9c2cf8cb69d232f756d9cf76bb4a9b] [formerly c057b0a413c7e538506f514fddf46e8f4e5e14de [formerly 714782addeec7d30328a387987c7692cff0f7b41]]]] [formerly db10531717608173239c308df17bec70bdf2ba9b [formerly 81a1b9ee57cf59b9bd9d8a9e17186c996742c7bd] [formerly 9279abaa5973439b54ef05f4de658db605697a9d [formerly ee80e83eb858a2f2ea6b1a05e7e13b0f58d60aea]] [formerly 38a18cc2543d3bb053c7ac02034e2c727715924d [formerly e9ca3caf08b2af79915fa4876df098c04e3bfbb2] [formerly 340477e530990e0f657ff53418f0b933d9e98fba [formerly c9b004a2c38df6da8b89063eba1723dcae620d9f]]] [formerly 734509d15daab6d31cea0e422578cfe0e6880fa0 [formerly ad1cd45b341249c945b45427d580515df975e75d] [formerly 30f7c10b835ef4afc3bd7c465bfaf234524ea1b0 [formerly 710c9cc6809ad488f7d964da5139df7db8dba286]] [formerly 4a0f1409e61b8c7e05d6647c21cb1528b0544568 [formerly 7d6d940ad5684f1f6b8b96c33f4e68e63e825f49] [formerly da1ab851944a0c6a287747af867b67440d004e57]]]] Former-commit-id: 61bd2ced30dcbb60fd039bc1f09e7ac17384600f [formerly ccbc4bb634652a51f8b62fafa4f1faeb4a4baee1] [formerly 0b4b80934144b4fa07daa829910214ade40f52e9 [formerly 502825f55d16c88aad71dcfad49b15d60108be0d]] [formerly b6fd349efef160319fbed564efe3b1ff878f7674 [formerly 95572c468401fbf5bb16c72dc0022602d05cece4] [formerly d137c99d11cc86e52846a23d74898e233b9c063e [formerly f5d2a4e046a4520524b384673c1650c56225c892]]] [formerly 72e04400d64f604e72473a271be114dd171b76e6 [formerly df838a0f3951f7fc9f959fa2817f77f9abd9dcad] [formerly f61a4b36a40bc98fda5c43c17f65be47b50bbee4 [formerly bb719729f35c4e8bfb5572b0e9f8c16963106e4b]] [formerly d7983d59017477f2bbbdc14c18b3c6cc9a8599cf [formerly 485071deb0d574db7fd3918ad8d5ab9422e2c69b] [formerly fe336da38473dbefc90ff5dc7e463d704e2ad67e [formerly 4a1117cd30d141b72518b61b4492010f528bb2cb]]]] Former-commit-id: 4c31aa20027b0a09bc4ecc54401043fde9bb82e2 [formerly 368204e633021d5cc9240aec72a201c0e6ade82f] [formerly cb20d97745d17286d75ede317ea6837565b2549c [formerly 1e2bd5a92eabf0fe0b1e902ce66cce1dd0f4f386]] [formerly 6bae8da79f5b3b9025569b30c91f8a72b02b7bd6 [formerly 5e825dad6780538572f0ebff174b36fba411e1a3] [formerly 9aadaada35d3c2833a5399175ecb576dbec2dcb9 [formerly 4087666752f251a37aa027b64295374caf176812]]] Former-commit-id: 45827781fd43bffc434180c505c2c55f4544fb2f [formerly df48b013a0b96dfdcc55d6946b9db2d04155aad1] [formerly 0398938d7aef41e23eca24b00b38959ad4b83e4a [formerly cec8951ed416ae4641dbc928a2cda78caa9b7845]] Former-commit-id: a43bf0a20af7b925431591b5a5c9af1895a8d910 [formerly 2e8d60227697c9783d18e90421ee203ec41ccd35] Former-commit-id: b8cd12701effe62b7ca02079b60a2d767aabc995
4 years ago
first commit Former-commit-id: 08bc23ba02cffbce3cf63962390a65459a132e48 [formerly 0795edd4834b9b7dc66db8d10d4cbaf42bbf82cb] [formerly b5010b42541add7e2ea2578bf2da537efc457757 [formerly a7ca09c2c34c4fc8b3d8e01fcfa08eeeb2cae99d]] [formerly 615058473a2177ca5b89e9edbb797f4c2a59c7e5 [formerly 743d8dfc6843c4c205051a8ab309fbb2116c895e] [formerly bb0ea98b1e14154ef464e2f7a16738705894e54b [formerly 960a69da74b81ef8093820e003f2d6c59a34974c]]] [formerly 2fa3be52c1b44665bc81a7cc7d4cea4bbf0d91d5 [formerly 2054589f0898627e0a17132fd9d4cc78efc91867] [formerly 3b53730e8a895e803dfdd6ca72bc05e17a4164c1 [formerly 8a2fa8ab7baf6686d21af1f322df46fd58c60e69]] [formerly 87d1e3a07a19d03c7d7c94d93ab4fa9f58dada7c [formerly f331916385a5afac1234854ee8d7f160f34b668f] [formerly 69fb3c78a483343f5071da4f7e2891b83a49dd18 [formerly 386086f05aa9487f65bce2ee54438acbdce57650]]]] Former-commit-id: a00aed8c934a6460c4d9ac902b9a74a3d6864697 [formerly 26fdeca29c2f07916d837883983ca2982056c78e] [formerly 0e3170d41a2f99ecf5c918183d361d4399d793bf [formerly 3c12ad4c88ac5192e0f5606ac0d88dd5bf8602dc]] [formerly d5894f84f2fd2e77a6913efdc5ae388cf1be0495 [formerly ad3e7bc670ff92c992730d29c9d3aa1598d844e8] [formerly 69fb3c78a483343f5071da4f7e2891b83a49dd18]] Former-commit-id: 3c19c9fae64f6106415fbc948a4dc613b9ee12f8 [formerly 467ddc0549c74bb007e8f01773bb6dc9103b417d] [formerly 5fa518345d958e2760e443b366883295de6d991c [formerly 3530e130b9fdb7280f638dbc2e785d2165ba82aa]] Former-commit-id: 9f5d473d42a435ec0d60149939d09be1acc25d92 [formerly be0b25c4ec2cde052a041baf0e11f774a158105d] Former-commit-id: 9eca71cb73ba9edccd70ac06a3b636b8d4093b04
4 years ago
coverall Former-commit-id: 846b08ee7c7231b6d7c14a2f438e87dfcb1031e5 [formerly 898f9492d1265a61378f0024bd85e7390c7827a8] [formerly 3ba67f75a03fbdd98ee1d739401c7e70be501e0e [formerly 58b375e8e7d4402192456eddf61b31290ad4c843]] [formerly ed311ab694c8a7976dfd2d3ce19d37633c76bb7f [formerly 4f094bb67dccbb4d2bdcc1a52e27fc905322ac05] [formerly f26d423c1657dd86a80d62db0910a5a28026fd7d [formerly f794ff34ef5a653073cafa8fc32a86d3ba349d6f]]] [formerly f05635c1f4778354851f77dd2b865e5868aa802c [formerly 79b26421d1ba405b9a5e52820d1c7c82141c441f] [formerly 58d01d07652b5244d2ab9c4f443ba7e476fa7dd5 [formerly ac8fad3853e11e7e3aeae5bc3d7bac438ec9f4e3]] [formerly b0b655300fcb4a66dba33048fe107e0f04dc80b2 [formerly 9726f96eb44e42b4fe69b4128fdf28886f4d2408] [formerly c28b652837994041a874dddb07a3505eb92bd336 [formerly b66948d1d013c1b6c49f42651608c60f06fa55a1]]]] [formerly 464b9b56a8c11530dde979fe4bdf243cd845870b [formerly 6d27652e8405885fda067d889bdd5699d46dfda4] [formerly f8cdb514b123e8834c9bda912d8b36fab00baab9 [formerly 36da7b0133735fb5fb8146517e6cfccaa7995fae]] [formerly 58f0a2ad3bd296c787a3442de7f6c666ed9343b3 [formerly ae260a8a2c566ec9681892e384aa65ff277dc1b4] [formerly 0b4306ce91fb3a292944a4c6ddb073f0cf7f50e4 [formerly 4736c33b8206edb730cd6c76ea496a2f29af9522]]] [formerly 15024cfb98cef75c0cce1c2e3cf57795fb3bff4e [formerly affb9d5be6bd27b328369b29dc3d1ed4b19a46cc] [formerly 49b5cbb379b2d102c4d05fd6ac4e5513d588105d [formerly d386e84f3ff5464ddb0ed1cb3c5fc720504d3bcc]] [formerly 0df3fd4bc89ac170c90aff597baeb26537e4f2fe [formerly 1452be20a9e0fa96f7e2f29ad76c0c34c6f40aa4] [formerly 6cea47368ccb564b59b7ff6515a3059c057a4a4c [formerly 4beb72e53ded32aa7f32c22442a4cddfc76dcee6]]]]] [formerly 2cb122a0e2b77df9b997422a338cff5a58675795 [formerly 369a07af54ba4095585522aa5302cc9166946505] [formerly 117719f457b878b4dc14bb91c3b1e1d6fbfda83e [formerly f418d8f99e673dd001bc90862281651ade3070bf]] [formerly a2f8ef45a1b7b2a0b6e922c01759b29bda953fb8 [formerly 0f9187e9eb2d8e5aecf79dc5be27fa12fa6a32b9] [formerly 1e667b994f6fbbf93a51a956ab65d14b1cfc52ab [formerly 684958c8284454114253daa7df6b4c29df391112]]] [formerly 353202c937a50f79a92be110ef4d2b86c1427e0c [formerly 2e4d2604324f75f2e44fbdce9b487a682915d460] [formerly 0f060e89f2d19a6c4fa6159c85ffc79875f47393 [formerly 12d6c71af714be6a4bc025d0a67fc889bf4f4558]] [formerly f90287aa507629bd4ef5b35d4378f330a00e9b62 [formerly 5f14e91aaabb3b567f10767d5ada5beeea152725] [formerly 15e8680f49bcce301a81f7ca91c20918c09bdee9 [formerly 97f0a20a9f6a1cd010a85ddbdfa35d38fc4ae660]]]] [formerly 4188a6742e47717addc1f4739c20d87f056ca5f2 [formerly 4f52141057a049e420321e3394dc24e8faf3594d] [formerly 42f46569fa3bddc8ad944c7e7fca2829e1f3eff4 [formerly 56b44ec1f09aa670f757d04a97cdbccc3b5339d8]] [formerly 045abdc1fcaf95a2c8e5c9a8c30cbf5c358bddf0 [formerly d00f538f5c7b55bdfbe16e9a3d344685a6d4b2af] [formerly 0ca3d4c0ba036b6d902c1adb783a55cc6d393612 [formerly b326214bbbc36f48a5ac690756ad1bb9fa538cac]]] [formerly 4344f68bac5600cff2c6cc4b6a8c2356f1ddbad7 [formerly f0ae7e9d077814f4b231ffe5e6d2e9a7cee0d4d2] [formerly 813a1a286434d24f40c53d49707c3f7ea0b0a0a6 [formerly 5e348e98c8b9fd98b715e11466c389cd3b36b36d]] [formerly d1429e68ccdbe75adeffcc1b6a6a7c7e653dd299 [formerly bea65a08912a1ce768554ddd392e930af77f00fe] [formerly da1ab851944a0c6a287747af867b67440d004e57 [formerly d4d39f564f3681b3f883bd7b158d87513529b399]]]]]] Former-commit-id: 0e4c0fc5f7b19a68d880a64456538eb4f27e9ad2 [formerly fb8130714b2e93190764d9e590688f322bace637] [formerly 3d492794edae3ceaea5713874b074883b1295f83 [formerly 17a0b6934738ddb6d53eaaf656d275efbd1434ce]] [formerly b0c8ebc55b2a6f0eb2f0632bea4d85dabde4a1cc [formerly 0d73519131bc72f6cc613e4e9f1132a317c0f85a] [formerly b171b2dcd949199f625c40eee20eba2e1f56fa2a [formerly e6de695a374bac8d070d6b278e6ccaa41b28f257]]] [formerly a3f7312030818a6156d8fc3c07f5af2122c4c553 [formerly 2e8279331de4e764b3dd5efa44efddc1b312e290] [formerly 9765d5a57ddfcb6a47b37387d6ec329d49dbb8f1 [formerly 11a90a651922f555cbd2c8aa9a201a06610582c7]] [formerly f561ea4acf85731d3751816b98d5116160cf9973 [formerly e972418bab9c2cf8cb69d232f756d9cf76bb4a9b] [formerly c057b0a413c7e538506f514fddf46e8f4e5e14de [formerly 714782addeec7d30328a387987c7692cff0f7b41]]]] [formerly db10531717608173239c308df17bec70bdf2ba9b [formerly 81a1b9ee57cf59b9bd9d8a9e17186c996742c7bd] [formerly 9279abaa5973439b54ef05f4de658db605697a9d [formerly ee80e83eb858a2f2ea6b1a05e7e13b0f58d60aea]] [formerly 38a18cc2543d3bb053c7ac02034e2c727715924d [formerly e9ca3caf08b2af79915fa4876df098c04e3bfbb2] [formerly 340477e530990e0f657ff53418f0b933d9e98fba [formerly c9b004a2c38df6da8b89063eba1723dcae620d9f]]] [formerly 734509d15daab6d31cea0e422578cfe0e6880fa0 [formerly ad1cd45b341249c945b45427d580515df975e75d] [formerly 30f7c10b835ef4afc3bd7c465bfaf234524ea1b0 [formerly 710c9cc6809ad488f7d964da5139df7db8dba286]] [formerly 4a0f1409e61b8c7e05d6647c21cb1528b0544568 [formerly 7d6d940ad5684f1f6b8b96c33f4e68e63e825f49] [formerly da1ab851944a0c6a287747af867b67440d004e57]]]] Former-commit-id: 61bd2ced30dcbb60fd039bc1f09e7ac17384600f [formerly ccbc4bb634652a51f8b62fafa4f1faeb4a4baee1] [formerly 0b4b80934144b4fa07daa829910214ade40f52e9 [formerly 502825f55d16c88aad71dcfad49b15d60108be0d]] [formerly b6fd349efef160319fbed564efe3b1ff878f7674 [formerly 95572c468401fbf5bb16c72dc0022602d05cece4] [formerly d137c99d11cc86e52846a23d74898e233b9c063e [formerly f5d2a4e046a4520524b384673c1650c56225c892]]] [formerly 72e04400d64f604e72473a271be114dd171b76e6 [formerly df838a0f3951f7fc9f959fa2817f77f9abd9dcad] [formerly f61a4b36a40bc98fda5c43c17f65be47b50bbee4 [formerly bb719729f35c4e8bfb5572b0e9f8c16963106e4b]] [formerly d7983d59017477f2bbbdc14c18b3c6cc9a8599cf [formerly 485071deb0d574db7fd3918ad8d5ab9422e2c69b] [formerly fe336da38473dbefc90ff5dc7e463d704e2ad67e [formerly 4a1117cd30d141b72518b61b4492010f528bb2cb]]]] Former-commit-id: 4c31aa20027b0a09bc4ecc54401043fde9bb82e2 [formerly 368204e633021d5cc9240aec72a201c0e6ade82f] [formerly cb20d97745d17286d75ede317ea6837565b2549c [formerly 1e2bd5a92eabf0fe0b1e902ce66cce1dd0f4f386]] [formerly 6bae8da79f5b3b9025569b30c91f8a72b02b7bd6 [formerly 5e825dad6780538572f0ebff174b36fba411e1a3] [formerly 9aadaada35d3c2833a5399175ecb576dbec2dcb9 [formerly 4087666752f251a37aa027b64295374caf176812]]] Former-commit-id: 45827781fd43bffc434180c505c2c55f4544fb2f [formerly df48b013a0b96dfdcc55d6946b9db2d04155aad1] [formerly 0398938d7aef41e23eca24b00b38959ad4b83e4a [formerly cec8951ed416ae4641dbc928a2cda78caa9b7845]] Former-commit-id: a43bf0a20af7b925431591b5a5c9af1895a8d910 [formerly 2e8d60227697c9783d18e90421ee203ec41ccd35] Former-commit-id: b8cd12701effe62b7ca02079b60a2d767aabc995
4 years ago
first commit Former-commit-id: 08bc23ba02cffbce3cf63962390a65459a132e48 [formerly 0795edd4834b9b7dc66db8d10d4cbaf42bbf82cb] [formerly b5010b42541add7e2ea2578bf2da537efc457757 [formerly a7ca09c2c34c4fc8b3d8e01fcfa08eeeb2cae99d]] [formerly 615058473a2177ca5b89e9edbb797f4c2a59c7e5 [formerly 743d8dfc6843c4c205051a8ab309fbb2116c895e] [formerly bb0ea98b1e14154ef464e2f7a16738705894e54b [formerly 960a69da74b81ef8093820e003f2d6c59a34974c]]] [formerly 2fa3be52c1b44665bc81a7cc7d4cea4bbf0d91d5 [formerly 2054589f0898627e0a17132fd9d4cc78efc91867] [formerly 3b53730e8a895e803dfdd6ca72bc05e17a4164c1 [formerly 8a2fa8ab7baf6686d21af1f322df46fd58c60e69]] [formerly 87d1e3a07a19d03c7d7c94d93ab4fa9f58dada7c [formerly f331916385a5afac1234854ee8d7f160f34b668f] [formerly 69fb3c78a483343f5071da4f7e2891b83a49dd18 [formerly 386086f05aa9487f65bce2ee54438acbdce57650]]]] Former-commit-id: a00aed8c934a6460c4d9ac902b9a74a3d6864697 [formerly 26fdeca29c2f07916d837883983ca2982056c78e] [formerly 0e3170d41a2f99ecf5c918183d361d4399d793bf [formerly 3c12ad4c88ac5192e0f5606ac0d88dd5bf8602dc]] [formerly d5894f84f2fd2e77a6913efdc5ae388cf1be0495 [formerly ad3e7bc670ff92c992730d29c9d3aa1598d844e8] [formerly 69fb3c78a483343f5071da4f7e2891b83a49dd18]] Former-commit-id: 3c19c9fae64f6106415fbc948a4dc613b9ee12f8 [formerly 467ddc0549c74bb007e8f01773bb6dc9103b417d] [formerly 5fa518345d958e2760e443b366883295de6d991c [formerly 3530e130b9fdb7280f638dbc2e785d2165ba82aa]] Former-commit-id: 9f5d473d42a435ec0d60149939d09be1acc25d92 [formerly be0b25c4ec2cde052a041baf0e11f774a158105d] Former-commit-id: 9eca71cb73ba9edccd70ac06a3b636b8d4093b04
4 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746
  1. from typing import Any, Callable, List, Dict, Union, Optional, Sequence, Tuple
  2. from numpy import ndarray
  3. from collections import OrderedDict
  4. from scipy import sparse
  5. import os
  6. import sklearn
  7. import numpy as np
  8. import typing
  9. import time
  10. import uuid
  11. # Custom import commands if any
  12. from sklearn.decomposition.truncated_svd import TruncatedSVD
  13. from d3m.container.numpy import ndarray as d3m_ndarray
  14. from d3m.container import DataFrame as d3m_dataframe
  15. from d3m.metadata import hyperparams, params, base as metadata_base
  16. from d3m import utils
  17. from d3m.base import utils as base_utils
  18. from d3m.exceptions import PrimitiveNotFittedError
  19. from d3m.primitive_interfaces.base import CallResult, DockerContainer
  20. from d3m.primitive_interfaces import base, transformer
  21. # from d3m.primitive_interfaces.unsupervised_learning import UnsupervisedLearnerPrimitiveBase
  22. from ..common.TODSBasePrimitives import TODSTransformerPrimitiveBase
  23. Inputs = d3m_dataframe
  24. Outputs = d3m_dataframe
  25. __all__ = ('TRMFPrimitive',)
  26. # class Params(params.Params):
  27. # components_: Optional[ndarray]
  28. # explained_variance_ratio_: Optional[ndarray]
  29. # explained_variance_: Optional[ndarray]
  30. # singular_values_: Optional[ndarray]
  31. # input_column_names: Optional[Any]
  32. # target_names_: Optional[Sequence[Any]]
  33. # training_indices_: Optional[Sequence[int]]
  34. # target_column_indices_: Optional[Sequence[int]]
  35. # target_columns_metadata_: Optional[List[OrderedDict]]
  36. class Hyperparams(hyperparams.Hyperparams):
  37. # Tuning
  38. lags = hyperparams.Set(
  39. elements=hyperparams.Hyperparameter[int](-1),
  40. default=(1,),
  41. semantic_types=['https://metadata.datadrivendiscovery.org/types/ControlParameter'],
  42. description="Set of lag indices to use in model.",
  43. )
  44. K = hyperparams.UniformInt(
  45. lower=0,
  46. upper=100000000,
  47. default=2,
  48. semantic_types=['https://metadata.datadrivendiscovery.org/types/TuningParameter'],
  49. description="Length of latent embedding dimension.",
  50. )
  51. lambda_f = hyperparams.Uniform(
  52. lower=0,
  53. upper=100000000,
  54. default=1.0,
  55. semantic_types=['https://metadata.datadrivendiscovery.org/types/TuningParameter'],
  56. description="Regularization parameter used for matrix F.",
  57. )
  58. lambda_x = hyperparams.Uniform(
  59. lower=0,
  60. upper=100000000,
  61. default=1.0,
  62. semantic_types=['https://metadata.datadrivendiscovery.org/types/TuningParameter'],
  63. description="Regularization parameter used for matrix X.",
  64. )
  65. lambda_w = hyperparams.Uniform(
  66. lower=0,
  67. upper=100000000,
  68. default=1.0,
  69. semantic_types=['https://metadata.datadrivendiscovery.org/types/TuningParameter'],
  70. description="Regularization parameter used for matrix W.",
  71. )
  72. alpha = hyperparams.Uniform(
  73. lower=0,
  74. upper=100000000,
  75. default=1000.0,
  76. semantic_types=['https://metadata.datadrivendiscovery.org/types/TuningParameter'],
  77. description="Regularization parameter used for make the sum of lag coefficient close to 1. That helps to avoid big deviations when forecasting.",
  78. )
  79. eta = hyperparams.Uniform(
  80. lower=0,
  81. upper=100000000,
  82. default=1.0,
  83. semantic_types=['https://metadata.datadrivendiscovery.org/types/TuningParameter'],
  84. description="Regularization parameter used for X when undercovering autoregressive dependencies.",
  85. )
  86. max_iter = hyperparams.UniformInt(
  87. lower=0,
  88. upper=100000000,
  89. default=1000,
  90. semantic_types=['https://metadata.datadrivendiscovery.org/types/TuningParameter'],
  91. description="Number of iterations of updating matrices F, X and W.",
  92. )
  93. F_step = hyperparams.Uniform(
  94. lower=0,
  95. upper=100000000,
  96. default=0.0001,
  97. semantic_types=['https://metadata.datadrivendiscovery.org/types/TuningParameter'],
  98. description="Step of gradient descent when updating matrix F.",
  99. )
  100. X_step = hyperparams.Uniform(
  101. lower=0,
  102. upper=100000000,
  103. default=0.0001,
  104. semantic_types=['https://metadata.datadrivendiscovery.org/types/TuningParameter'],
  105. description="Step of gradient descent when updating matrix X.",
  106. )
  107. W_step = hyperparams.Uniform(
  108. lower=0,
  109. upper=100000000,
  110. default=0.0001,
  111. semantic_types=['https://metadata.datadrivendiscovery.org/types/TuningParameter'],
  112. description="Step of gradient descent when updating matrix W.",
  113. )
  114. # Control
  115. use_columns = hyperparams.Set(
  116. elements=hyperparams.Hyperparameter[int](-1),
  117. default=(),
  118. semantic_types=['https://metadata.datadrivendiscovery.org/types/ControlParameter'],
  119. description="A set of column indices to force primitive to operate on. If any specified column cannot be parsed, it is skipped.",
  120. )
  121. exclude_columns = hyperparams.Set(
  122. elements=hyperparams.Hyperparameter[int](-1),
  123. default=(),
  124. semantic_types=['https://metadata.datadrivendiscovery.org/types/ControlParameter'],
  125. description="A set of column indices to not operate on. Applicable only if \"use_columns\" is not provided.",
  126. )
  127. return_result = hyperparams.Enumeration(
  128. values=['append', 'replace', 'new'],
  129. default='append',
  130. semantic_types=['https://metadata.datadrivendiscovery.org/types/ControlParameter'],
  131. description="Should parsed columns be appended, should they replace original columns, or should only parsed columns be returned? This hyperparam is ignored if use_semantic_types is set to false.",
  132. )
  133. use_semantic_types = hyperparams.UniformBool(
  134. default=False,
  135. semantic_types=['https://metadata.datadrivendiscovery.org/types/ControlParameter'],
  136. description="Controls whether semantic_types metadata will be used for filtering columns in input dataframe. Setting this to false makes the code ignore return_result and will produce only the output dataframe"
  137. )
  138. add_index_columns = hyperparams.UniformBool(
  139. default=False,
  140. semantic_types=['https://metadata.datadrivendiscovery.org/types/ControlParameter'],
  141. description="Also include primary index columns if input data has them. Applicable only if \"return_result\" is set to \"new\".",
  142. )
  143. error_on_no_input = hyperparams.UniformBool(
  144. default=True,
  145. semantic_types=['https://metadata.datadrivendiscovery.org/types/ControlParameter'],
  146. description="Throw an exception if no input column is selected/provided. Defaults to true to behave like sklearn. To prevent pipelines from breaking set this to False.",
  147. )
  148. return_semantic_type = hyperparams.Enumeration[str](
  149. values=['https://metadata.datadrivendiscovery.org/types/Attribute', 'https://metadata.datadrivendiscovery.org/types/ConstructedAttribute'],
  150. default='https://metadata.datadrivendiscovery.org/types/Attribute',
  151. description='Decides what semantic type to attach to generated attributes',
  152. semantic_types=['https://metadata.datadrivendiscovery.org/types/ControlParameter']
  153. )
  154. class TRMFPrimitive(TODSTransformerPrimitiveBase[Inputs, Outputs, Hyperparams]):
  155. """Temporal Regularized Matrix Factorization.
  156. Parameters
  157. ----------
  158. lags : array-like, shape (n_lags,)
  159. Set of lag indices to use in model.
  160. K : int
  161. Length of latent embedding dimension
  162. lambda_f : float
  163. Regularization parameter used for matrix F.
  164. lambda_x : float
  165. Regularization parameter used for matrix X.
  166. lambda_w : float
  167. Regularization parameter used for matrix W.
  168. alpha : float
  169. Regularization parameter used for make the sum of lag coefficient close to 1.
  170. That helps to avoid big deviations when forecasting.
  171. eta : float
  172. Regularization parameter used for X when undercovering autoregressive dependencies.
  173. max_iter : int
  174. Number of iterations of updating matrices F, X and W.
  175. F_step : float
  176. Step of gradient descent when updating matrix F.
  177. X_step : float
  178. Step of gradient descent when updating matrix X.
  179. W_step : float
  180. Step of gradient descent when updating matrix W.
  181. Attributes
  182. ----------
  183. F : ndarray, shape (n_timeseries, K)
  184. Latent embedding of timeseries.
  185. X : ndarray, shape (K, n_timepoints)
  186. Latent embedding of timepoints.
  187. W : ndarray, shape (K, n_lags)
  188. Matrix of autoregressive coefficients.
  189. Reference
  190. ----------
  191. "https://github.com/SemenovAlex/trmf"
  192. Yu, H. F., Rao, N., & Dhillon, I. S. (2016). Temporal regularized matrix factorization for high-dimensional time series prediction.
  193. In Advances in neural information processing systems (pp. 847-855).
  194. Which can be found there: http://www.cs.utexas.edu/~rofuyu/papers/tr-mf-nips.pdf
  195. """
  196. metadata = metadata_base.PrimitiveMetadata({
  197. "__author__": "DATA Lab @ Texas A&M University",
  198. "name": "Temporal Regularized Matrix Factorization Primitive",
  199. "python_path": "d3m.primitives.tods.feature_analysis.trmf",
  200. "source": {
  201. 'name': 'DATA Lab @ Texas A&M University',
  202. 'contact': 'mailto:khlai037@tamu.edu',
  203. },
  204. "version": "0.0.1",
  205. "hyperparams_to_tune": ['lags', 'K', 'lambda_f', 'lambda_x', 'lambda_w', 'alpha', 'eta', 'max_iter', 'F_step', 'X_step', 'W_step'],
  206. "algorithm_types": [
  207. metadata_base.PrimitiveAlgorithmType.TODS_PRIMITIVE,
  208. ],
  209. "primitive_family": metadata_base.PrimitiveFamily.FEATURE_CONSTRUCTION,
  210. 'id': str(uuid.uuid3(uuid.NAMESPACE_DNS, 'TRMFPrimitive')),
  211. })
  212. def _produce(self, *, inputs: Inputs, timeout: float = None, iterations: int = None) -> CallResult[Outputs]:
  213. """
  214. Process the testing data.
  215. Args:
  216. inputs: Container DataFrame.
  217. Returns:
  218. Container DataFrame after Truncated SVD.
  219. """
  220. self._clf = trmf(
  221. lags=self.hyperparams['lags'],
  222. K=self.hyperparams['K'],
  223. lambda_f=self.hyperparams['lambda_f'],
  224. lambda_x=self.hyperparams['lambda_x'],
  225. lambda_w=self.hyperparams['lambda_w'],
  226. alpha=self.hyperparams['alpha'],
  227. eta=self.hyperparams['eta'],
  228. max_iter=self.hyperparams['max_iter'],
  229. F_step=self.hyperparams['F_step'],
  230. X_step=self.hyperparams['X_step'],
  231. W_step=self.hyperparams['W_step'],
  232. )
  233. tmp = inputs.copy()
  234. for col in inputs.columns:
  235. tmp[col] = inputs[col]/inputs[col].max()
  236. self._inputs = tmp
  237. self._fitted = False
  238. # Get cols to fit.
  239. self._training_inputs, self._training_indices = self._get_columns_to_fit(self._inputs, self.hyperparams)
  240. self._input_column_names = self._training_inputs.columns
  241. if len(self._training_indices) > 0:
  242. self._clf.fit(self._training_inputs)
  243. self._fitted = True
  244. else: # pragma: no cover
  245. if self.hyperparams['error_on_no_input']:
  246. raise RuntimeError("No input columns were selected")
  247. self.logger.warn("No input columns were selected")
  248. if not self._fitted: # pragma: no cover
  249. raise PrimitiveNotFittedError("Primitive not fitted.")
  250. sk_inputs = inputs
  251. if self.hyperparams['use_semantic_types']:
  252. sk_inputs = inputs.iloc[:, self._training_indices]
  253. output_columns = []
  254. if len(self._training_indices) > 0:
  255. sk_output = self._clf.get_X()
  256. if sparse.issparse(sk_output):
  257. sk_output = sk_output.toarray()
  258. outputs = self._wrap_predictions(inputs, sk_output)
  259. if len(outputs.columns) == len(self._input_column_names):
  260. outputs.columns = self._input_column_names
  261. output_columns = [outputs]
  262. else: # pragma: no cover
  263. if self.hyperparams['error_on_no_input']:
  264. raise RuntimeError("No input columns were selected")
  265. self.logger.warn("No input columns were selected")
  266. outputs = base_utils.combine_columns(return_result=self.hyperparams['return_result'],
  267. add_index_columns=self.hyperparams['add_index_columns'],
  268. inputs=inputs, column_indices=self._training_indices,
  269. columns_list=output_columns)
  270. # self._write(outputs)
  271. return CallResult(outputs)
  272. @classmethod
  273. def _get_columns_to_fit(cls, inputs: Inputs, hyperparams: Hyperparams): # pragma: no cover
  274. """
  275. Select columns to fit.
  276. Args:
  277. inputs: Container DataFrame
  278. hyperparams: d3m.metadata.hyperparams.Hyperparams
  279. Returns:
  280. list
  281. """
  282. if not hyperparams['use_semantic_types']:
  283. return inputs, list(range(len(inputs.columns)))
  284. inputs_metadata = inputs.metadata
  285. def can_produce_column(column_index: int) -> bool:
  286. return cls._can_produce_column(inputs_metadata, column_index, hyperparams)
  287. columns_to_produce, columns_not_to_produce = base_utils.get_columns_to_use(inputs_metadata,
  288. use_columns=hyperparams['use_columns'],
  289. exclude_columns=hyperparams['exclude_columns'],
  290. can_use_column=can_produce_column)
  291. return inputs.iloc[:, columns_to_produce], columns_to_produce
  292. # return columns_to_produce
  293. @classmethod
  294. def _can_produce_column(cls, inputs_metadata: metadata_base.DataMetadata, column_index: int, hyperparams: Hyperparams) -> bool: # pragma: no cover
  295. """
  296. Output whether a column can be processed.
  297. Args:
  298. inputs_metadata: d3m.metadata.base.DataMetadata
  299. column_index: int
  300. Returns:
  301. bool
  302. """
  303. column_metadata = inputs_metadata.query((metadata_base.ALL_ELEMENTS, column_index))
  304. accepted_structural_types = (int, float, np.integer, np.float64)
  305. accepted_semantic_types = set()
  306. accepted_semantic_types.add("https://metadata.datadrivendiscovery.org/types/Attribute")
  307. if not issubclass(column_metadata['structural_type'], accepted_structural_types):
  308. return False
  309. semantic_types = set(column_metadata.get('semantic_types', []))
  310. if len(semantic_types) == 0:
  311. cls.logger.warning("No semantic types found in column metadata")
  312. return False
  313. # Making sure all accepted_semantic_types are available in semantic_types
  314. if len(accepted_semantic_types - semantic_types) == 0:
  315. return True
  316. return False
  317. # @classmethod
  318. # def _get_target_columns_metadata(cls, outputs_metadata: metadata_base.DataMetadata, hyperparams) -> List[OrderedDict]:
  319. # """
  320. # Output metadata of selected columns.
  321. # Args:
  322. # outputs_metadata: metadata_base.DataMetadata
  323. # hyperparams: d3m.metadata.hyperparams.Hyperparams
  324. # Returns:
  325. # d3m.metadata.base.DataMetadata
  326. # """
  327. # outputs_length = outputs_metadata.query((metadata_base.ALL_ELEMENTS,))['dimension']['length']
  328. # target_columns_metadata: List[OrderedDict] = []
  329. # for column_index in range(outputs_length):
  330. # column_metadata = OrderedDict(outputs_metadata.query_column(column_index))
  331. # # Update semantic types and prepare it for predicted targets.
  332. # semantic_types = set(column_metadata.get('semantic_types', []))
  333. # semantic_types_to_remove = set([])
  334. # add_semantic_types = []
  335. # add_semantic_types.add(hyperparams["return_semantic_type"])
  336. # semantic_types = semantic_types - semantic_types_to_remove
  337. # semantic_types = semantic_types.union(add_semantic_types)
  338. # column_metadata['semantic_types'] = list(semantic_types)
  339. # target_columns_metadata.append(column_metadata)
  340. # return target_columns_metadata
  341. @classmethod
  342. def _update_predictions_metadata(cls, inputs_metadata: metadata_base.DataMetadata, outputs: Optional[Outputs],
  343. target_columns_metadata: List[OrderedDict]) -> metadata_base.DataMetadata:
  344. """
  345. Updata metadata for selected columns.
  346. Args:
  347. inputs_metadata: metadata_base.DataMetadata
  348. outputs: Container Dataframe
  349. target_columns_metadata: list
  350. Returns:
  351. d3m.metadata.base.DataMetadata
  352. """
  353. outputs_metadata = metadata_base.DataMetadata().generate(value=outputs)
  354. for column_index, column_metadata in enumerate(target_columns_metadata):
  355. column_metadata.pop("structural_type", None)
  356. outputs_metadata = outputs_metadata.update_column(column_index, column_metadata)
  357. return outputs_metadata
  358. def _wrap_predictions(self, inputs: Inputs, predictions: ndarray) -> Outputs:
  359. """
  360. Wrap predictions into dataframe
  361. Args:
  362. inputs: Container Dataframe
  363. predictions: array-like data (n_samples, n_features)
  364. Returns:
  365. Dataframe
  366. """
  367. outputs = d3m_dataframe(predictions, generate_metadata=True)
  368. target_columns_metadata = self._add_target_columns_metadata(outputs.metadata, self.hyperparams)
  369. outputs.metadata = self._update_predictions_metadata(inputs.metadata, outputs, target_columns_metadata)
  370. return outputs
  371. @classmethod
  372. def _add_target_columns_metadata(cls, outputs_metadata: metadata_base.DataMetadata, hyperparams):
  373. """
  374. Add target columns metadata
  375. Args:
  376. outputs_metadata: metadata.base.DataMetadata
  377. hyperparams: d3m.metadata.hyperparams.Hyperparams
  378. Returns:
  379. List[OrderedDict]
  380. """
  381. outputs_length = outputs_metadata.query((metadata_base.ALL_ELEMENTS,))['dimension']['length']
  382. target_columns_metadata: List[OrderedDict] = []
  383. for column_index in range(outputs_length):
  384. column_name = "output_{}".format(column_index)
  385. column_metadata = OrderedDict()
  386. semantic_types = set()
  387. semantic_types.add(hyperparams["return_semantic_type"])
  388. column_metadata['semantic_types'] = list(semantic_types)
  389. column_metadata["name"] = str(column_name)
  390. target_columns_metadata.append(column_metadata)
  391. return target_columns_metadata
  392. """
  393. Temporal Regularized Matrix Factorization
  394. """
  395. class trmf:
  396. # Added by JJ
  397. def get_X(self):
  398. return self.X.T
  399. # Original
  400. def __init__(self, lags, K, lambda_f, lambda_x, lambda_w, alpha, eta, max_iter=1000,
  401. F_step=0.0001, X_step=0.0001, W_step=0.0001):
  402. self.lags = lags
  403. self.L = len(lags)
  404. self.K = K
  405. self.lambda_f = lambda_f
  406. self.lambda_x = lambda_x
  407. self.lambda_w = lambda_w
  408. self.alpha = alpha
  409. self.eta = eta
  410. self.max_iter = max_iter
  411. self.F_step = F_step
  412. self.X_step = X_step
  413. self.W_step = W_step
  414. self.W = None
  415. self.F = None
  416. self.X = None
  417. def fit(self, train, resume=False):
  418. """Fit the TRMF model according to the given training data.
  419. Model fits through sequential updating three matrices:
  420. - matrix self.F;
  421. - matrix self.X;
  422. - matrix self.W.
  423. Each matrix updated with gradient descent.
  424. Parameters
  425. ----------
  426. train : ndarray, shape (n_timeseries, n_timepoints)
  427. Training data.
  428. resume : bool
  429. Used to continue fitting.
  430. Returns
  431. -------
  432. self : object
  433. Returns self.
  434. """
  435. if not resume:
  436. self.Y = train.T
  437. mask = np.array((~np.isnan(self.Y)).astype(int))
  438. self.mask = mask
  439. self.Y[self.mask == 0] = 0.
  440. self.N, self.T = self.Y.shape
  441. self.W = np.random.randn(self.K, self.L) / self.L
  442. self.F = np.random.randn(self.N, self.K)
  443. self.X = np.random.randn(self.K, self.T)
  444. for _ in range(self.max_iter):
  445. self._update_F(step=self.F_step)
  446. self._update_X(step=self.X_step)
  447. self._update_W(step=self.W_step)
  448. def predict(self, h):
  449. """Predict each of timeseries h timepoints ahead.
  450. Model evaluates matrix X with the help of matrix W,
  451. then it evaluates prediction by multiplying it by F.
  452. Parameters
  453. ----------
  454. h : int
  455. Number of timepoints to forecast.
  456. Returns
  457. -------
  458. preds : ndarray, shape (n_timeseries, T)
  459. Predictions.
  460. """
  461. X_preds = self._predict_X(h)
  462. return np.dot(self.F, X_preds)
  463. def _predict_X(self, h): # pragma: no cover
  464. """Predict X h timepoints ahead.
  465. Evaluates matrix X with the help of matrix W.
  466. Parameters
  467. ----------
  468. h : int
  469. Number of timepoints to forecast.
  470. Returns
  471. -------
  472. X_preds : ndarray, shape (self.K, h)
  473. Predictions of timepoints latent embeddings.
  474. """
  475. X_preds = np.zeros((self.K, h))
  476. X_adjusted = np.hstack([self.X, X_preds])
  477. for t in range(self.T, self.T + h):
  478. for l in range(self.L):
  479. lag = self.lags[l]
  480. X_adjusted[:, t] += X_adjusted[:, t - lag] * self.W[:, l]
  481. return X_adjusted[:, self.T:]
  482. def impute_missings(self):
  483. """Impute each missing element in timeseries.
  484. Model uses matrix X and F to get all missing elements.
  485. Parameters
  486. ----------
  487. Returns
  488. -------
  489. data : ndarray, shape (n_timeseries, T)
  490. Predictions.
  491. """
  492. data = self.Y
  493. data[self.mask == 0] = np.dot(self.F, self.X)[self.mask == 0]
  494. return data
  495. def _update_F(self, step, n_iter=1):
  496. """Gradient descent of matrix F.
  497. n_iter steps of gradient descent of matrix F.
  498. Parameters
  499. ----------
  500. step : float
  501. Step of gradient descent when updating matrix.
  502. n_iter : int
  503. Number of gradient steps to be made.
  504. Returns
  505. -------
  506. self : objects
  507. Returns self.
  508. """
  509. for _ in range(n_iter):
  510. self.F -= step * self._grad_F()
  511. def _update_X(self, step, n_iter=1):
  512. """Gradient descent of matrix X.
  513. n_iter steps of gradient descent of matrix X.
  514. Parameters
  515. ----------
  516. step : float
  517. Step of gradient descent when updating matrix.
  518. n_iter : int
  519. Number of gradient steps to be made.
  520. Returns
  521. -------
  522. self : objects
  523. Returns self.
  524. """
  525. for _ in range(n_iter):
  526. self.X -= step * self._grad_X()
  527. def _update_W(self, step, n_iter=1):
  528. """Gradient descent of matrix W.
  529. n_iter steps of gradient descent of matrix W.
  530. Parameters
  531. ----------
  532. step : float
  533. Step of gradient descent when updating matrix.
  534. n_iter : int
  535. Number of gradient steps to be made.
  536. Returns
  537. -------
  538. self : objects
  539. Returns self.
  540. """
  541. for _ in range(n_iter):
  542. self.W -= step * self._grad_W()
  543. def _grad_F(self):
  544. """Gradient of matrix F.
  545. Evaluating gradient of matrix F.
  546. Parameters
  547. ----------
  548. Returns
  549. -------
  550. self : objects
  551. Returns self.
  552. """
  553. return - 2 * np.dot((self.Y - np.dot(self.F, self.X)) * self.mask, self.X.T) + 2 * self.lambda_f * self.F
  554. def _grad_X(self):
  555. """Gradient of matrix X.
  556. Evaluating gradient of matrix X.
  557. Parameters
  558. ----------
  559. Returns
  560. -------
  561. self : objects
  562. Returns self.
  563. """
  564. for l in range(self.L):
  565. lag = self.lags[l]
  566. W_l = self.W[:, l].repeat(self.T, axis=0).reshape(self.K, self.T)
  567. X_l = self.X * W_l
  568. z_1 = self.X - np.roll(X_l, lag, axis=1)
  569. z_1[:, :max(self.lags)] = 0.
  570. z_2 = - (np.roll(self.X, -lag, axis=1) - X_l) * W_l
  571. z_2[:, -lag:] = 0.
  572. grad_T_x = z_1 + z_2
  573. return - 2 * np.dot(self.F.T, self.mask * (self.Y - np.dot(self.F, self.X))) + self.lambda_x * grad_T_x + self.eta * self.X
  574. def _grad_W(self):
  575. """Gradient of matrix W.
  576. Evaluating gradient of matrix W.
  577. Parameters
  578. ----------
  579. Returns
  580. -------
  581. self : objects
  582. Returns self.
  583. """
  584. grad = np.zeros((self.K, self.L))
  585. for l in range(self.L):
  586. lag = self.lags[l]
  587. W_l = self.W[:, l].repeat(self.T, axis=0).reshape(self.K, self.T)
  588. X_l = self.X * W_l
  589. z_1 = self.X - np.roll(X_l, lag, axis=1)
  590. z_1[:, :max(self.lags)] = 0.
  591. z_2 = - (z_1 * np.roll(self.X, lag, axis=1)).sum(axis=1)
  592. grad[:, l] = z_2
  593. return grad + self.W * 2 * self.lambda_w / self.lambda_x -\
  594. self.alpha * 2 * (1 - self.W.sum(axis=1)).repeat(self.L).reshape(self.W.shape)

全栈的自动化机器学习系统,主要针对多变量时间序列数据的异常检测。TODS提供了详尽的用于构建基于机器学习的异常检测系统的模块,它们包括:数据处理(data processing),时间序列处理( time series processing),特征分析(feature analysis),检测算法(detection algorithms),和强化模块( reinforcement module)。这些模块所提供的功能包括常见的数据预处理、时间序列数据的平滑或变换,从时域或频域中抽取特征、多种多样的检测算