! #1/12 0 0 0 0 260 ` __.SYMDEF @ 3@ f@ @ __ZN11library_mod4math7try_add17h88839e88fcbdebc0E__ZN11library_mod4math7try_div17hefe948a84eb0e004E__ZN11library_mod4math7try_mul17h27962e56231d6e06E__ZN11library_mod4math7try_sub17h26fa0065de00757bE#1/12 0 0 0 644 7868 ` lib.rmeta 2  .rmeta__DWARFrust j#rustc 1.76.0 (07dca489a 2024-02-04) &_$ !-4f192af08beaa759 @A}}-62a9b4d83244cb2br#3JIb'' @-4010f8e9d1f7f9aarustc_std_workspace_core?-]-fa2288bf7728f91c addr2line),SO)R%X-a2e883cf5bcf6347gimli$?g')&-df8440ef641907f8object_O?#-9e012890a70780c2memchrG ̇삭-60338fe528589910vt'FKj-401344856f0fc3c5tests   mathtry_addtry_subtry_multry_div                      _ The code snippet provided is a Rust module named `math` that contains functions for performingbd arithmetic operations with `u128` values while handling potential overflows. Here is a breakdown ofcg! each function within the module:$Cb The function `try_add` in Rust attempts to add two `u128` values and returns `Some(result)` if ane. overflow occurs, otherwise it returns `None`.j1 Arguments:a * `left_value`: The `left_value` parameter is a 128-bit unsigned integer (u128) representing thed( left operand in the addition operation.+a * `right_value`: The `right_value` parameter in the `try_add` function represents the value thatd- will be added to the `left_value` parameter.0 Returns: _ The function `try_add` returns an `Option`. If the sum of `left_value` and `right_value`bb overflows, it returns `Some(result_add)` with the overflowed value. Otherwise, it returns `None`.e   left_value  right_value Cc The function `try_sub` in Rust attempts to subtract two `u128` values and returns the result as anfJ `Option`, or `None` if the subtraction would result in an overflow.M   e * `left_value`: The `left_value` parameter represents the value from which the `right_value` will be h& subtracted in the `try_sub` function. )[ * `right_value`: The `right_value` parameter is the value that will be subtracted from the ^2 `left_value` parameter in the `try_sub` function. 5   ] The function `try_sub` returns an `Option`. If the subtraction operation `left_value - `[ right_value` is successful (i.e., no overflow occurs), it returns `Some(result_sub)` where ^c `result_sub` is the result of the subtraction. If an overflow occurs (which is incorrectly checkedfE with `if left_value >= left_value` instead of `if result_sub >= leftH   Cc The `try_mul` function in Rust attempts to multiply two `u128` values and returns the result as anfB `Option`, returning `None` if the multiplication overflows.Ea * `left_value`: The `left_value` parameter represents the first value to be multiplied. It is ofd< type `u128`, which means it is an unsigned 128-bit integer.?c * `right_value`: The `right_value` parameter represents the second value to be multiplied with thef2 `left_value` parameter in the `try_mul` function.5 W The function `try_mul` returns an `Option`. It returns `Some(result_mut)` if theZe multiplication of `left_value` and `right_value` does not overflow and the division of the result byhA `left_value` equals `right_value`. Otherwise, it returns `None`.D   "Ca The `try_div` function in Rust attempts to perform division on two `u128` values and returns thedE result as an `Option`, or `None` if the division is not exact.Hb * `left_value`: The `left_value` parameter represents the dividend in a division operation. It ise" the number that is being divided.%c * `right_value`: The `right_value` parameter in the `try_div` function represents the divisor in af] division operation. It is the value by which the `left_value` (dividend) will be divided. If`L `right_value` is equal to 0, the function will return `None` since divisionO   c The function `try_div` returns an `Option`. It returns `Some(result_mut)` if the division is fb successful and the result is correct, otherwise it returns `None` if the `right_value` is 0 or if!e" the division result is incorrect.!%" " " 1,---BP8޽9%BP8.ZBP87ܙ$uoBP85$BP8\˟\TBP8BP8CC"B&CRBP8xZP0OBP8/=`BP8|:hBP8sbA@BP8ubxABP8w@H4Hf2 lH[ Z 8F5;A_+ eAs}8>S #1z K'Y D R M)[ 9G 9G *8 Q-_Q  #1?M[_cgk 111 BP8]?',ODHT BP8/=`BP8޽9%BP8ubxA BP87ܙ$uoBP8|:h BP8CC"B&CRBP8BP8.ZBP8\˟\TBP8xZP0OBP8sbA@ BP85$BP8w@H4 i 7|)Bu*'~ji 7|)Bu*'~jV/Users/nguyenductrang/Desktop/Contract/RUST_BLOCKCHAIN_TUTORIAL/library-mod/src/lib.rs j3e8̂} ch%7  =O =N  9Vpm|P`pp<m(|P(`(0p)m/'@|P@`@`pD8mia\|P\`\p`          ,<$Dx4@lclang LLVM (rustc version 1.76.0 (07dca489a 2024-02-04))src/lib.rs/@/g0ycsy2v1egklam/Users/nguyenductrang/Desktop/Contract/RUST_BLOCKCHAIN_TUTORIAL/library-modlibrary_modmathtry_add_ZN11library_mod4math7try_add17h88839e88fcbdebc0Etry_sub_ZN11library_mod4math7try_sub17h26fa0065de00757bEtry_mul_ZN11library_mod4math7try_mul17h27962e56231d6e06Etry_div_ZN11library_mod4math7try_div17hefe948a84eb0e004EcoreoptionOptionu128NoneTSome__0left_valueright_valueresult_addresult_subresult_mutHSAH \@lM,-e 0'4/4a!i!HSAH HSAH |P^N@|π|P`p*wr/HSAH (ڇջ|y||Xk~|$pp<8zRx 0pDH X H4L<DH $ H4xDH   HD 4@DH  p HD 5 src/mathsrcmod.rslib.rs  4p4< K,pJ lJ'o,J N ( ,WL) K,W-J SJ+J N ( <JIL   8JI xJ <JI  $L ,JI x- L =L|=X-L LH =DL@=--L=L=--L=L=<-8L4=(L$=-L=L=x ` H 0   "5`@ PPBky0P^`1 e? + g84pE__ZN11library_mod4math7try_sub17h26fa0065de00757bE__ZN11library_mod4math7try_mul17h27962e56231d6e06E__ZN11library_mod4math7try_div17hefe948a84eb0e004E__ZN4core9panicking5panic17h57fd475c037a9df3E__ZN11library_mod4math7try_add17h88839e88fcbdebc0El___unnamed_7l___unnamed_6ltmp5l___unnamed_5ltmp4l___unnamed_4ltmp3___udivti3l___unnamed_3_str.3ltmp2l___unnamed_2_str.2ltmp1l___unnamed_1_str.1ltmp0_str.0