! #1/12 0 0 0 0 244 ` __.SYMDEF p0p`pp__ZN9safe_math4math7try_add17hafde3ac4113e4d6fE__ZN9safe_math4math7try_div17h7cc7426f36308204E__ZN9safe_math4math7try_mul17hf7114b09a5f0d6b4E__ZN9safe_math4math7try_sub17h5a769628142721a5E#1/12 0 0 0 644 7420 ` lib.rmeta 2  .rmeta__DWARFrust #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    a This Rust code snippet is defining a module named `math` and a submodule named `tests`. Here's ad2 breakdown of what each part of the code is doing:e5Cb 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.E a * `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.H b * `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.!%" " " g Tk@HKQg Tk@ `%Z),g Tk@"ֵg Tk@|XoA)g Tk@EVɥXg Tk@6g Tk@zj(g Tk@#B1WGrxt\( b >wQ vP. <mU! [ 7I 'A O: HC Q/ =/ = .G #UtG  #1?M... g Tk@]?',;+QODHT g Tk@"ֵg Tk@HKQg Tk@6g Tk@#B1WGrg Tk@zj(g Tk@EVɥXg Tk@ `%Z),g Tk@|XoA)udH9_iudH9_iV/Users/nguyenductrang/Desktop/Contract/RUST_BLOCKCHAIN_TUTORIAL/library-mod/src/lib.rs ԡ i#[=_+e6 ffS;h% =Oh =Ni  9WXmnX@m(,((m( @@P@$DTm_W\\\'`          ,clang LLVM (rustc version 1.76.0 (07dca489a 2024-02-04))src/lib.rs/@/4zbmvndx2bg7ws9o/Users/nguyenductrang/Desktop/Contract/RUST_BLOCKCHAIN_TUTORIAL/library-modsafe_mathmathtry_add_ZN9safe_math4math7try_add17hafde3ac4113e4d6fEtry_sub_ZN9safe_math4math7try_sub17h5a769628142721a5Etry_mul_ZN9safe_math4math7try_mul17hf7114b09a5f0d6b4Etry_div_ZN9safe_math4math7try_div17h7cc7426f36308204EcoreoptionOptionu128NoneTSome__0left_valueright_valueresult_addresult_mutHSAH ]ljlݤ- _$ 4(W$4HSAH HSAH 6i^N@|π|P`p*}x/HSAH (ڇջ|y||Xk~$XX@TzRx @D0L   0LD <\D0L  x 0LD ' src/mathmod.rs   yz tBz<t 4 J$ zt  K4<  -L=L=|-P-HLD=@L<=--L=L=T-LLH=DL@=H 0   %p5`@ ` ` 4HL@D @mfp6`%Y Ta1X+__ZN9safe_math4math7try_add17hafde3ac4113e4d6fE__ZN9safe_math4math7try_sub17h5a769628142721a5E__ZN9safe_math4math7try_mul17hf7114b09a5f0d6b4E__ZN9safe_math4math7try_div17h7cc7426f36308204E__ZN4core9panicking5panic17h57fd475c037a9df3Eltmp5ltmp4l_anon.1952149df99552e3c7169c45986530a6.4ltmp3___udivti3l_anon.1952149df99552e3c7169c45986530a6.3ltmp2_str.2l_anon.1952149df99552e3c7169c45986530a6.2ltmp1_str.1l_anon.1952149df99552e3c7169c45986530a6.1ltmp0_str.0l_anon.1952149df99552e3c7169c45986530a6.0