Solving conflicts
Created by  pmeunier  on February 10, 2024
7J4DOODXJL3Z3NFI2BSLGGCY2KSG5SV3ALNFGNV4CE5A6CZHHVGQC
Use $crate in direct_repr macro
Created by  kim  on September 8, 2023
WU3RE536FN2LIJOJROS6VWDLGBTW6VEQ7ICVTMLWCO2VOGLD3JLAC
Version bump for sanakirja-core
Created by  pmeunier  on February 10, 2024
WBOGILZVTN3F2BLY4CRC2WGKLVV63HB6YX2CHVPXMHKEISSYR7ZAC
Debug: skip illegal page instead of panicking
Created by  pmeunier  on February 10, 2024
OCF2HB7YRB2DWBU5PATJMN5CAORK7MPBFJNWTQG53TRQQWZPUNAAC
Formatting L64 as the L64(platform-native integer) instead of L64(little-endian integer)
Created by  pmeunier  on February 10, 2024
LOOOIMXRKHTTF3YMITO2ZHJFG7KVQJF2Q3H6KCNDTPUBJZHIHU4AC
Version bump
Created by  pmeunier  on February 7, 2024
KNHKJ4NMM7HRJPDE4L3VDP4GK3D2XBFI5XXKWN7Y3QDLJK5DU6CAC
Support for large values + endianness bugs
Created by  pmeunier  on February 7, 2024
HMWFIUDS5LITLG5AB2LL6KIHFF6W3Y4LCB4JLZBWIYIIV74PSXQAC
fix the workspace members
Created by  irevoire  on December 27, 2022
IXHKA46LGAWUCGMZ6VWHCVEVSDQSFRAGDKBNLCXUBTJBIZR7EPJAC
Arbitrary byte strings, and version 1.3.1
Created by  pmeunier  on December 13, 2022
C36737FJVMZSBWSQV7ZEYRYUPJVNLK3MGY3EJVAPYHYAM36J7TJQC
Changes in the `Storable` trait (write_to_page now takes a transaction)
Created by  pmeunier  on December 13, 2022
76S6EF7U7JCK2IDKWZZLGNCPIFDPW6NRM6UZQFPT6MMWY44L6XEAC
Adding a contiguous memory allocator (for large blocks)
Created by  pmeunier  on December 12, 2022
XOXTGNPZRTDWNCZ5BI723A6CZ6LLTP4RXIGVWYYK7NQVRWZEZ77AC
Removing a wrong comment in crate sanakirja
Created by  pmeunier  on November 11, 2022
VHPD2JTOFTD4NOQW65PMVXF3KK7CTK7DDJU5NC4TNHRQ3DKH26RAC
Adding sanakirja-core-async
Created by  pmeunier  on November 11, 2022
KK3SBH4P3FBZ3ER344TO6WEK7EX5AFB57UX2G5PKANG3NUF5IQLAC
Version bump
Created by  pmeunier  on January 1, 2022
IIIOKJTECGNFXACK6B2KEVNWUI222KUFVAHYKXPKKD4VSA5JQPVAC
Don't load pages past the end of the file
Created by  pmeunier  on January 1, 2022
AI4NKV4J2AXQ4BVFUI7ZWPJO6BCQEBJACZGIXF2EMGFUWEM3X2ZAC
More efficient free list: avoid extending the file when updating the list of free pages
Created by  pmeunier  on January 1, 2022
5NBCUZRB6HQHE4CMVI4QJKXNBYON5OGOVGAOJPDV3WGJVVQ55UKAC
Fixing a double-free error introduced in 1.2.13
Created by  pmeunier  on November 26, 2021
RLVQDUPYOWVNHTVFCHKNIQYNBRLOFY2UGIJPLD6U5S22AMEF5YSAC
Refactoring, drop and the Check trait
Created by  pmeunier  on November 23, 2021
OHG5NX6KVGKNA7S7SU3MTPOZCN4RRZK2SGZWZ5LIRXUMCYIPUHIAC
Version bump
Created by  pmeunier  on October 27, 2021
4Z4GEJTFQFYDOJK3D72LKOFSC5Q42SNL3N6UOYCYW5FXCA67G66AC
Fixing unsized iterators
Created by  pmeunier  on October 27, 2021
G7K2WSVY2FT4BZ4OKVODP3TJL6ISOTMLO6NHDYLAYYPOS3ZNEI6QC
A few optional storable types
Created by  pmeunier  on September 7, 2021
3CKCVBXTNSYJIQL5P35V5NHM7C7BQZCSGO7OZMGBZRUUVIQHAZAAC
Fixing two crashes on corrupted files
Created by  pmeunier  on September 7, 2021
VRAQTH26BACG74FXYGWKXWNWDBKF27Y6DX5KJ7XSLZ3HIUKVLTSQC
Version bump
Created by  pmeunier  on July 31, 2021
P5NWMJ2HEUNVHBCTX3MLALONLMQC7IPUJZKP7Z2IX2E2ZX3UTCOAC
Page_unsized was counting the offsets of internal nodes twice when compacting
Created by  pmeunier  on July 30, 2021
WPFTIQGXS25SVUSZERARYO4VOXUPOERS7WL3ERSRVKOUAVQLSA4QC
More tests
Created by  pmeunier  on July 30, 2021
BYI23QWI44ZINCI32VLVG2JJG3WUZFCYEKNNNLLMXMWQCTKZ6PRAC
Fixing a wrong CRC computation
Created by  pmeunier  on July 30, 2021
HJ6VZ7HFS2YEQ5LSUJ35TKVS7LHAZ6FJO55ONDTQPUUI5VLRPP6AC
Fixing some comments and reformatting
Created by  pmeunier  on July 30, 2021
HCDD6FX7YL5MDK757ZE6MYHB2YHCUAO2Y3Y347JBTG4DNCIJJBIQC
More (optional) impls for direct_repr!
Created by  pmeunier  on July 30, 2021
LK2C7EU4SM5HIEBRARQMLRL7IFQYBD3SXWXB2YSZL577NQFTZCIQC
When deletions in a right child caused a page split, we were not moving the correct cursor to the right
Created by  pmeunier  on July 30, 2021
UWS2Q5CWDXNNW4SVOA5DNZWG46TP5PLGK6PEUVXDEFNVJOEAHEMAC
Version bumps
Created by  pmeunier  on July 12, 2021
FQ567GAX4UNSUUE63QG5QUOIEZH6L2RCHG5YHAO3S5PFKIKPF5DAC
Adding the RootPage trait to access the raw bytes of a root page (needed in libpijul)
Created by  pmeunier  on July 12, 2021
YDHYZA77LFQ7RSKTVOTOQRL7EUSXMWYOSJAE5YAH6HLHE64B75LQC
Adding a check to avoid incrementing the RC of page 0
Created by  pmeunier  on July 12, 2021
MORZOA7EAL3BEO2Z6FA5RU45A6O353J7WDXCWF2FHRI5AD27BK3QC
Modifying cursor lengths when appending
Created by  pmeunier  on July 12, 2021
5JOD7M26QO2JKNLCPIZW6RQDHEWSDRVDSUWKXR2YHJGHUNGSIS5QC
Version bump
Created by  pmeunier  on June 15, 2021
BPR2HVMRVNGFBQJGDABMM6NXMNBJMXJV6FAKTBAG35DXK7CBCK5AC
add env_borrow for Txn and MutTxn
Created by   on June 15, 2021
ECPAFJSBBQ6KMGESKYDMSGPSO32TKLWOUQ4ABALKP6U2IEABWN6AC
Accessing the root pages (unsafely, of course)
Created by  pmeunier  on June 2, 2021
TJ2R4HAZ23H3NW7CJSBXLLXUNPLK25XX33CLOL74NWO32JCG4UZQC
Some page splits were not properly handled in deletions
Created by  pmeunier  on May 16, 2021
GGEFV4YYK7E6J3544XSXN5CBASQI3QE6LTFZCJAGOXHEEKD6BRCQC
Fixing a logical error (again) in del
Created by  pmeunier  on May 2, 2021
77TAHKV4VZ4SWZZBEND24Y6BL7JLRXPYO33CA5FRH53WXEWSWS4QC
Version bump
Created by  pmeunier  on May 2, 2021
Z33OHFPA7K246NB5OOAHWTFD7IQTRXNTIED2MZMG3XV2YYQKLRCQC
Checking equality when we delete
Created by  pmeunier  on May 2, 2021
R27IKHPAAJTHCVTLIIRI2NCLMTYXRDU6KETMGYARFDZTQW373JHQC
Fixing a logical error causing a panic in some very rare cases
Created by  pmeunier  on May 2, 2021
JIQOPUYH6IHOLTTUMFUXGYCEFM5NAFKUFF3GFUKOXJA5FZLDM76AC
Setting reverse cursor to last by default
Created by  pmeunier  on April 24, 2021
J7LJZBMEPT37CDNRUTSK2EFCSVG4KU6PM5J7VGNMVXSESUP6H5NAC
Debugging, impls and version bump
Created by  pmeunier  on April 20, 2021
PUOGOIJ3SCPHJADRYHIQJXIUQMJFKGFMHY4HWEQI6VQNNDSHVXJAC
Fixing corruption issues
Created by  pmeunier  on April 20, 2021
3MCRJULOVO35LWV32HECCGSJNRLHWWMNISXXWWHNKGMDYANWHSPQC
Version bump
Created by  pmeunier  on March 9, 2021
2ZRCQBXPCJ5NGPC5SSKNG7PFGDYRYOMWJX7QIAWGXQGDQDQ7GCAQC
Nailing this leak
Created by  pmeunier  on March 9, 2021
LPKM23EUHSWN3BQ3ZGRZTYUNJYJHCXONSJAE6X6LTYTU656TICFAC
Adding the `put_mut` and `set_left_child` methods
Created by  pmeunier  on March 9, 2021
SYURNHHL3P22ZAERTML4YW3DYLATHY5ALZH4GL5NF3LENDSKL2NQC
fallocate only when necessary
Created by  pmeunier  on March 7, 2021
M6PHQUGLW2UN6LIVF4NCPNBFBMALVCPZFQ2AYZGYHSOKO3RXWG2AC
Fixing bus errors on a full disk
Created by  pmeunier  on March 4, 2021
WTXLZDYIS2AQZFOO7WCSFGRK235NR2VSOI2LOCORWF5WRS3E76UAC
Fixing a segfault (wrong offset in page_unsized::del)
Created by  pmeunier  on March 3, 2021
7T2CCH3PIKVWIRRLBW7HFUZDD2U3IXR25AWKFTI3GGAXBOHH6RCAC
Debugging
Created by  pmeunier  on March 2, 2021
DASFQGORX56YK5E4Y7GGYZSQQQMUXYTZZ4A6IVWSTI3QGRUORLPAC
Rebalance: put can free pages without splitting (compaction)
Created by  pmeunier  on February 23, 2021
PPI5ZTZP2GMKTCFQWF2SXIT6VNOY5U7PJSMX4ZR34DLMYG3GSSFQC
Debugging
Created by  pmeunier  on February 23, 2021
L5CVF6UJYR6FRQA2NULFHGQFID7BGM4D622OJ2TVWRU7EAR57DHAC
Fixing a bug when splitting unsized pages
Created by  pmeunier  on February 22, 2021
DEKK3RUI4GPYQVEYXSFSPNQBK2FP6XJQ5LUITNUSKOZPS4RWBR7AC
More docs, example, and fixing the free page diagnostic function for mutable transactions
Created by  pmeunier  on February 21, 2021
5LSYTRQ6IOVUW26VJW5SWGFEIB7T2N4PVEB6VMNMR5ZHQ75MFOQAC
Cleanup + published on crates.io
Created by  pmeunier  on February 21, 2021
PRDUE4YADWSOLJMYTJF4PXOW7MGOVWG7EVYGXZXVYDTFVV6IIHHAC
Version bump
Created by  pmeunier  on February 21, 2021
GPP7KJSFUI4RF2XGAB5AWU3ZB5D6QVZLPBHTOSFUUQFGU6P376NQC
Diagnostic tools (add_refs, check_free) + cleanup
Created by  pmeunier  on February 21, 2021
FZBLNBGNQPNTLBNPNZ2C6DJ5323MZQ2PH54F6ZEKPFCK7TGJFGWAC
Cursor::set_last was panicking on empty pages
Created by  pmeunier  on February 21, 2021
6BG65Y2PPKIARIAK57ZUQTA6LXW3TUD6I6FTGZH23V4J3EAMHOXQC
Writing the reference counts when committing
Created by  pmeunier  on February 21, 2021
3QM7P3RRVYYDEJNFDG3GHZDMSSHPPJC3WQOJGETGREOM4I2A6D5AC
Fixing a bug when cloning unsized pages, where insertions in leaves were not always added to the list of offsets
Created by  pmeunier  on February 21, 2021
D53GTMT3B52DZ7H4F3HBWH4J5FQ5R3GKTEDQ63AXFIAFVMLXXFDQC
Proofreading and commenting of this crate (massive bug fixes included)
Created by  pmeunier  on February 20, 2021
E4MD6T3LNOYWVFTFFWCUKRNS4M2XVSKRLDWPYHMZHGDNO2T5JREQC
Single file databases + CRC for the root pages (checking the other pages makes everything very slow)
Created by  pmeunier  on February 18, 2021
W2MIZD5BNL7A5HVFWTESF57QU7T6QMEF4RBSLFQXMEEU3XD2NU2QC
Versions
Created by  pmeunier  on February 16, 2021
OHUZ73MKWD7SSB4DKKA532DEQKXQDS6PZ6HJ3EC2DLVJSLQH3NLAC
Forgot a file
Created by  pmeunier  on February 16, 2021
QDTOA3CQVM7JBPJ6FXNWSM7ANTALE2CF6PWD3VOASAD6JLCVU7DQC
Cleaning up the unsized part
Created by  pmeunier  on February 15, 2021
52X5P7NDBQHIJDIYNY3XUPDHHOO3PDPPNKGO2PGLXKVNM3EVECTQC
Fully commented implementation of Sized nodes + massive cleanup
Created by  pmeunier  on February 14, 2021
TSMS6W4DOKQNUQ4PEMTLOIODR33VFPN6MMNS73ZPSU4BOQVRGPNAC
Cleanup, comments, renaming
Created by  pmeunier  on February 14, 2021
CCNPHVQCIGINWTLXCHOASGVWUPBZXFOLM2F7HTKMEA2DMFTOX7TAC
Split trait Representable into its mandatory part and an optional part
Created by  pmeunier  on February 14, 2021
QYDGYIZRNFRIQD7RUCY5YAN3F2THZA74E5UOHPIFWSULEJFAFVJQC
Cleanup + docs
Created by  pmeunier  on February 13, 2021
LSQ6V7M66TEGLJ7QBLRVDX4E7UKJTDQTEXZOS3KGPGFKVXNLPKBQC
Making as_page() unsafe
Created by  pmeunier  on February 13, 2021
ESUI5EUZUBDPHNN3APU33IFORYPYR6J3WEMEZG57FKF3EH66ZBHAC
Cleanup
Created by  pmeunier  on February 13, 2021
HN6Z5DU4WYMAIOOSNVHLIIMNF6Q53TNJ7YC27SLKWNXVYCTACQKQC
A few comments
Created by  pmeunier  on February 12, 2021
RV2L6CZWTMUQ2A52YDAFVHDFGURZL3H4SSCDC347UGN23D3J5KZQC
Comments + debugging drop
Created by  pmeunier  on February 12, 2021
NXMFNPZ7VWJRLC3M5QJJVTICXCMGE24F3HVIZA7A7RLVMLQMLDVQC
Cleanup + comments
Created by  pmeunier  on February 11, 2021
73Z2UB3JGRLFNFORE7D64O4IHIFSZASD4G4FLJ4FJLHANT75MGIAC
Unsized pages: decrement n on deletions
Created by  pmeunier  on February 11, 2021
SQ7MD7OWKFYNQR525YNOG7APHDNMKB7PPVWLIYFJJQPL3MWNFXLQC
Debugging replace (which cannot be del+put)
Created by  pmeunier  on February 11, 2021
Q7DRIBBRE4MNG4NP3PVIXAJF5PQYLFWYIVK2O4VVLEO6XY3BOSFQC
When deleting in internal nodes, set the correct child
Created by  pmeunier  on February 10, 2021
7P43FPFAXMDYUIQV7U2DGPN4UI3RNHYFWEUEA22UBDSQTYBJRAQQC
Better graphviz debugging (include values)
Created by  pmeunier  on February 10, 2021
QBDBAQXYIPEJMYZMHQ3URXTNL2D2JHKZQVRG6YSOG36XKHSBFUBQC
Deletions at immutable leaves weren't really deleting anything
Created by  pmeunier  on February 10, 2021
MSRWB47YP6L5BVTS53QQPBOHY5SXTSTR5KD6IIF35UWCTEUOCQWQC
Cleaner RC increments for keys and values containing references + more comments in `del`
Created by  pmeunier  on February 10, 2021
T73WR2BX2QDQ6APOREBXUKNH52FDLJNBGWPQUYB2TAF2PT7XCL2AC
Fixing a double-free of roots after deletions (the root was freed both by handle_merge and by update_root)
Created by  pmeunier  on February 9, 2021
WAKPPBKONQUA3G7HWH52ZKYG5PLZEAG3HFAYGIYLA4NVEPRZUQEAC
Debugging after plugging this into Pijul
Created by  pmeunier  on February 9, 2021
XEU2QVLCHPYOOD4TQIPEEVYOVSFMKFPLJYWEJYXYJAZ7S54KWDZAC
Two iterators (convenience functions), along with tests to move cursors (put and del still destroy cursors though)
Created by  pmeunier  on February 7, 2021
LROAI3NBBSCU4T2YA6EHJYKKKL75AU5A7C7WIRCGIQ56S6HPLRXQC
Adding a test for next/prev
Created by  pmeunier  on February 7, 2021
KM3JAFGPFV7MP7M2LJIYRVAUTU646B3IRXADTRZKOU2RF7LUB62QC
implementing prev() on cursors (+ some cleanup)
Created by  pmeunier  on February 7, 2021
OFINGD26ZWCRDVVDI2ZIBLMHXKEMJA6MRNLANJYUHQPIJLPA7J2AC
Tests++ (including UUID)
Created by  pmeunier  on February 6, 2021
EYNN7RLSFVBWDLRTLNNFUAF46Q6OX3BR5SUEJIOOHBSNP7FVBXGAC
A few features for integrating it into Pijul
Created by  pmeunier  on February 6, 2021
SO25TWFLSRQIVTJTTSN77LO5FZQVQPIZTSBULH7MWBBDEWSK3OCAC
Using the same definition of the "occupied" field uniform everywhere
Created by  pmeunier  on February 5, 2021
7WJNSPEWJSJROOYHU6QROWPUZ6WNIOUG2BPSOPDPCK6RG2NQU6OQC
Testing/debugging "rebalance causes split of the root"
Created by  pmeunier  on February 5, 2021
KX3WVNZW5KHVEH6EOQTZ4RBEFFJ3SGF5I467X3JWZ74PURRK4HVAC
Adding debug.rs
Created by  pmeunier  on February 5, 2021
T7QB6QEPWBXAU3RL7LE4GRDWWNQ65ZU2YNNTWBYLORJOABAQFEZQC
Code coverage
Created by  pmeunier  on February 5, 2021
ACB4A27ZMFLRLDAKFRSGAFJRESN3UCVFADQPYCK7TGAIJMSG3FHQC
Minor changes after benchmarking
Created by  pmeunier  on February 5, 2021
6DCQHIFPEH4GZKSRRS32GMKDRPZH4MTCGOUEI7YEUVKWENBF3JWAC
Debugging/cleanup around cursors
Created by  pmeunier  on February 4, 2021
UUUVNC4DWEEL7WV5IRPKPZ6HZMYCPA53XM7LJWICUD4E6GN37IRQC
Improving safety of cursors
Created by  pmeunier  on February 4, 2021
W26CFMAQOXMUK4ZOJMAN4SMBXMWFQHO7HCTEVW73FQSRMJZFGJIQC
Drop a database
Created by  pmeunier  on February 4, 2021
KMT3MF5NLEQIPZLHCRYDGQ5EA46HJCG3C2ANEPMZGKGHDK77ADPAC
Debugging synchronisation
Created by  pmeunier  on February 4, 2021
G4JEQLLX6Q7VVFVAEJZAVQXX33MQ36CSCYSMJ5NQM5VZ76DXKU6QC
Actually, with the correct functions, Unsized pages are always slower than Sized pages (especially for writing)
Created by  pmeunier  on February 3, 2021
AOX2XQISHGWNNAFBYRN44Q6AWG7H5DPBK5YMFHK42HQNZ2TMHEJQC
Comparing the two implementations of leaves (sized/unsized). Sized are faster for writes, slower for reads.
Created by  pmeunier  on February 3, 2021
AFKBHYVE25QMIU2WZATEGWG2EXSBQZ44DVDPACKNS3M4QGBF4ONAC
Alignment in unsized splits
Created by  pmeunier  on February 3, 2021
JEHCE5FNOINH47N5MZ2I7JP7DKGN24PW5TVDRVALRPZHTIQCMMDQC
Unsized deletions + custom sizes back
Created by  pmeunier  on February 3, 2021
APPY2E7M5NHNC6MFYXSVEKJVAILK7YAZVTVE3W75EK2JNFVS3XBQC
Formatting, debugging, etc.
Created by  pmeunier  on February 3, 2021
6UVFCERMGSGNRWCVC3GWO5HWV6MSWE433DXBJVC7KRPP6LLJLCSQC
Unsized pages
Created by  pmeunier  on February 3, 2021
H3FVSQIQGFCFKCPXVOSFHP4OSUOBBURJESCZNGQTNDAAD3WQSBEQC
Trait/type cleanup
Created by  pmeunier  on February 3, 2021
OTWDDJE7TTE73D6BGF4ZN6BH2NFUFLPME2VJ3CPALH463UGWLEIQC
Debugging reference-counting for put
Created by  pmeunier  on February 2, 2021
S4V4QZ5CF5LUDYWNR2UMWH6CHJDJ5FPGAZCQYM5GY7FJMJV4NN4QC
More debugging
Created by  pmeunier  on February 2, 2021
6DMPXOAT5GQ3BQQOMUZN2GMBQPRA4IB7CCPHTQTIFGO3KWWAKF3QC
Splitting btree::page
Created by  pmeunier  on February 2, 2021
QEUTVAZ4F4EJXRDMWDMYXF6XEDMX7YPVG4IIXEKPIR3K54E5W5OAC
Double-inserts (rebalancing near an internal deletion)
Created by  pmeunier  on February 2, 2021
DV4A2LR7Q5LAEGAQHLO34PZCHGJUHPAMRZFGT7GUFNKVQKPJNOYQC
Cleanup + inter-process concurrency
Created by  pmeunier  on February 1, 2021
YWFYZNLZ5JHLIFVBRKZK4TSWVPROUPRG77ZB5M7UHT2OKPL4ZSRQC
New file locks, with multiple sets of free pages
Created by  pmeunier  on February 1, 2021
YXKP4AIWDBIWBBUDWF66YIPG5ECMHNKEV3PX6KYXOVXY3EWG3WGQC
Tests cleanup
Created by  pmeunier  on February 1, 2021
NQBEOCFO4GJZKCE3A6V5LYSCEBQN2JLXPESBRJ65TZCU5JNAHEAQC
More debugging (del seems to work now)
Created by  pmeunier  on February 1, 2021
X3QVVQIS7B7L3XYZAWL3OOBUXOJ6RMOKQ45YMLLGAHYPEEKZ45ZAC
Tests
Created by  pmeunier  on February 1, 2021
UAQX27N4PI4LHEW6LSHJETIE5MV7JTEMPLTJFYUBMYVPC43H7VOAC
Improving test coverage for btree::cursor
Created by  pmeunier  on February 1, 2021
PXF3R6SVXJXN2NMLMWNY5OFV5QYVE2VZTLGIZDZVK5ZVLFTVSSWQC
reference counting works for put
Created by  pmeunier  on January 31, 2021
ONES3V466GLO5CXKRF5ENK7VFOQPWM3YXLVRGWB56V5SH3W7XNBQC
Debugging put
Created by  pmeunier  on January 31, 2021
EAAYH6BQWDK52EC5RG3BEZQU3FJPN5RRRN4U5KDKDVPKXBVJMNDAC
Debugging, tests, etc.
Created by  pmeunier  on January 31, 2021
WS4ZQM4RMIHZ6XZKSDQJGHN5SSSWFL4H236USOPUA33S6RC53RFAC
Debugging
Created by  pmeunier  on January 30, 2021
EHJFNMB2R4MYG6ZSHHEENRFCSPFVWKVHLD5DXAE5HXUGXP5ZVHKQC
Micro-improvements, now noticeably faster than std::collections::BTreeMap
Created by  pmeunier  on January 30, 2021
FMN7X4J24EYPOJNBUWM4NKGWSJTRV2DHCIBMPV2AXLZVVAMNOBKQC
Minor performance improvement
Created by  pmeunier  on January 30, 2021
R5AJGJPTY6CRGFJNBJEH4XOTOUZUI2FV4YKC3EZQQMYT2GMZJYKAC
Resetting history
Created by  pmeunier  on January 30, 2021
OP6SVMOD2GTQ7VNJ4E5KYFG4MIYA7HBMXJTADALMZH4PY7OQRMZQC