Files
volcengine-server-manager/target/x86_64-pc-windows-gnu/release/deps/libsync_wrapper-36ceaedbca6fb021.rlib

78 lines
26 KiB
Plaintext
Raw Normal View History

!<arch>
/ 0 0 0 0 8 `
// 74 `
sync_wrapper-36ceaedbca6fb021.sync_wrapper.219c8c05f389a12e-cgu.0.rcgu.o/
lib.rmeta/ 0 0 0 644 24168 `
d<EFBFBD>R^.rmeta^<rust
u\#rustc 1.94.1 (e408947bf 2026-03-25)<29><02><05><><EFBFBD>m <0B>:-Z1Ϥ-b7ca4e58e9c2b38f<38> futures_core<72><08>h~<7E><><EFBFBD><EFBFBD><31><D4BA><EFBFBD><EFBFBD><EFBFBD>-26634341964e856b<36><02><1F>L{"<22>-<06>hz,+<2B>E-57f648b8ac272411<31><02>d<><1E>{' <09><18>z<EFBFBD><7A><EFBFBD><EFBFBD>-afa8b616ced7613d<33><02>NM<4E>H<EFBFBD>/p<>|<7C>Π$;<3B>-3e8ec88e153dd14a<34><02> <09>&<26><>r;<3B><36><CC96>/<2F>-31625bbb71278e91<39>rustc_std_workspace_core<72><65><EFBFBD><EFBFBD>NB<12><14>M<0E><P\-de1184eecc1de885<38><02>ӷvF<17>6<19>h<EFBFBD>#<23>'<27>s-dda75d287e838306<30> miniz_oxide<64>i<EFBFBD><69>‹B<C28B>7WzyF4_<34><5F>-0b9ef4d9bfa8a9e5<65>adler2<72>%<25><><EFBFBD><<3C><><EFBFBD><EFBFBD>D<EFBFBD>].<2E>-718ab5244863462b<32> hashbrown<77>њwHk<48>&<26><>LQ<4C>V<EFBFBD><56>-178729454426f155<35>rustc_std_workspace_alloc<6F><63>3Ay<><79><EFBFBD><19><><EFBFBD>[]?-61794faff8010214<31>
std_detect<EFBFBD>W<EFBFBD><EFBFBD><EFBFBD><EFBFBD>n<0F>ijki<6B><69><EFBFBD><EFBFBD>-be014d48fae3de91<39>rustc_demangle<6C><65>iK' <0C><>V<EFBFBD>g<EFBFBD><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-3a623713f152d32d<32>windows_targets<74>A .',? <20>U`<60>@<40> x-fc0305376244409a<39>cfg_if<69>c<><63><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%9M<07><1F>-a5f4391365334c14<31> addr2line<6E>(v<><76><EFBFBD><EFBFBD> <0C><><EFBFBD>|D<><01><>-c9875f99726b3ef4<66>gimli<6C><69>j<EFBFBD><6A>o<>b<EFBFBD>[撱<><E692B1>-3244fa6a04742bd5<64>object<63><74> <0C>:+<2B>ۄy<DB84>a<EFBFBD>[B<>-9ee00fc69ae9b382<38>memchr<68>U<EFBFBD><55>ey5{<7B>e <0B>><3E>j<EFBFBD>-6179d7f2caeaf9d0<64><02> -w<>:Y_ؙ<5F>;<3B>wx<77>-4f3c6ed0f446d578<37><02> 
 SyncWrapper<65>
 <02> <02><02><02> get_mut<75> get_pin_mut<75> 
into_inner<EFBFBD><02><02><02><02>> <02> <02>
SyncFuture<EFBFBD>#F<>#inner<65>&<01>
&<02> &<01> *<01>
*<02>*<02> - /<02>/<02>
SyncStream<EFBFBD>2S<>2<01>
5<01> 5<02> 5<01>  9<01> 9<02>9<02> < 
><02>><02>     - - - 1 1 1 < < < @ @ @ <01>  <01><02> 6<><36><EFBFBD>N<EFBFBD><4E><02><01>a<01> <01><01> <01><01> <01> ݚ##<01>
%<01>
<00><>՚4V]-<01>
<01>a##<01>
%<01>
<00><>՚4V]-<01> E22<01> 4<01>
<00><17><><EFBFBD><EFBFBD><EFBFBD><01> <01>a22<01> 4<01>
<00><17><><EFBFBD><EFBFBD><EFBFBD><01>   /#>2  *#92<01>(<01>a<01><01>ݚE\<5C>  <01> <04><01><>><01> $<24><00> ,<2C><02> -,<2C>w  <01>  <0C>}{<01> x<00> v<01> Y<02><0F><0F>\<5C><00> <04><01><>? <06> 4<> <06> L<> 2$<24>&<00><00><>&0\<5C>&<00> }<7D><><04> <01><><01>:<04>'<07><>&<26><00><><EFBFBD><04><04><01>W<01> <01> <01>  <00>  <00> <0F><00><><EFBFBD><05><02><01><><EFBFBD><05><01><01><><EFBFBD>U<><01>W<01><05><01><><EFBFBD>[<5B><01>W<01><12><><EFBFBD><1F><01><>&<01> <01><01><01>m˂<05><01><><01><>Pin<69><01><><02> <01>V$;y<>$<24><><EFBFBD><EFBFBD><01>\<5C>&<01><><01><><01><01><><02> <01>V$;y<>$<24><><EFBFBD><EFBFBD><01>$<24>&<00>]<5D><><05><01><17>d<01> <0A><><05><17><00> <04>'<0F><01><04>&<01><00>$<24>&this<69>14<>-<00> <04>-<01><>-3<01> <0C>-<00> $<24>- ,<01><>/<1C>/ <01>a <0C>/ l<>/<04><>/<04>/<01><>/X<01><><01><><01><><02><01><><02><01><><01><><02><01><><02><00>:X<><58><EFBFBD><EFBFBD><EFBFBD><01><01><><01><><01><><02> <00><>m|Ի3\<5C>/ <06> ,<2C>/ <01>a<01>a<02><01>a<02> <01>^<01>abuf<75><01>^<00><1D>84<38>|<7C> <0C>/S<02><0F><00>Nd<>0
T<>0 <01><01> %p  <01>  <0C>0<04>0<02><>0<<01> <0A><>0<01> $<24>0<01> <0F>0<00><0F><17>  <01> <04>1"<02><>1:<17><01> <0A><>1<01> $<24>1<00> ,<2C>1<02> ?<04><>4b  <01><00><>4' #<01> <0C>4<04>4(<02><>3T<17><01>f<01>$<24>4<00>,<2C>3  <01><02> 6<><36><EFBFBD>N<EFBFBD><4E><01><0F><01>
@qT<>4<00><00><04>5)<02><>4D<17><01>d<>4<01> <0C>4<00>$<24>4 >$<24>6 <06><00><>6(<17><00><00>` <01><> <06><t<>6$<24>7 ߚ<01>,<2C>6<14>7D<>7<04>7- <09><>5<EFBFBD><00><>6b<17><01>W<01><01>.<01><01> <00> <00><01><0F><17><17><17><01>W<01><17><17><01>W<01> |<02><>6.<01><01><01>!<01>w<17><01>L<>6<01><><01><><01><><02><01><><02><01><><01><><02>x<>A"W?<01>ޚ<00><>6<01><><01><><01><01><><02> <01>V$;y<>$<24><><EFBFBD><EFBFBD><01>$<24>5 <01><01><01>waker<65><01><01> local_waker<65><01><01>ext<78><01><01>_marker<65><01><01>_marker2<72><01><00><00><>w<EFBFBD>W<EFBFBD><14>5<01><><01><><01><01><><02> <01>V$;y<>$<24><><EFBFBD><EFBFBD><01> ,<2C>6<00> c<01><17><0F>cx<63>d<01>
7J<00> <17><01>!<13><00><00><04>6.<13><01><17><01> <04>6<01>!)<00> <0C>6x<> H<01><>7<1C>7<01> <0C>7,
<EFBFBD>d<>7<04><>7<04>81<01><>7W<01>\<5C>7 <06>,<2C>7<00> <0C>7<02>E<00><0F><04><>;<13>  <01><00><>;' 2<01> <0C>;<04>;7<02><>:T<13><01>f<01>$<24>;<00>,<2C>;  <01><02> 6<><36><EFBFBD>N<EFBFBD><4E><01><0F><01>
@qT<>;<00>(<00><04><8<02><>;D
<01>d<><<01> <0C>;<00>$<24>; >$<24>> <06><00><>>(<13><00>(<00>  <01><> <06><<01><>>L<>> G<01>,<2C>><14>>l<>><04>>< <09><>=<3D><00><>=gR <01>W<01><01>=<01><01> <00> <00><01><0F><13> <13> <13> <01>W<01><13> <13> <01>W<01>*<13> <02><>>=<01><01><01>+<01>
<13><01>L<>><01><><01><><01><><02><01><><02><01><><01><><02>x<>A"W?<01><><01><><01><><02><01><><01><><02><01><><02>{5T3<>K<EFBFBD><01>F<00><>=<01><><01><><01><01><><02> <01>V$;y<>$<24><><EFBFBD><EFBFBD><01>*$<24>=<00>#<14>=<01><><01><><01><01><><02> <01>V$;y<>$<24><><EFBFBD><EFBFBD><01>*,<2C>><00>*<13>
<01>*w^<01>$b<01>
5
<00>+U<01>+<13>
<13><00>(<00><04>>=<17><13><01><17><01>*<04>><01>+<17><00>* <0C>><01>% <01><>?<1C>?<01> <0C>?<13> 
<EFBFBD>d<>?<04><>?<04>@@<01><>?W<01>\<5C>? <06>,<2C>?<00> <0C>?<02>E<00><0F>̅  <01> &<01> 1<00> 8?M  <01> eq<01> |<00> <0F><0F>   #2<02><02>$<24><01>^<02>,<2C><01>a<02><01>a<02>L<><01>a<01><1C><01><><02>4<>ݚ <<3C><01> <02>$<24><01><> <0C><><04>;<00><>LI A mutual exclusion primitive that relies on static type information only<6C><1C><02><00><><05> This library is inspired by [this discussion](https://internals.rust-lang.org/t/what-shall-sync-mean-across-an-await/12020/2).<2E>+https://developer.actyx.com/img/favicon.ico<63><6F><EFBFBD>(https://developer.actyx.com/img/logo.svg<76>l<EFBFBD> #2<02><02><01>^<02><01>a<02>/<01>a<02><01>a<01><01><><02>ݚ <01> <02><01><> <17><17><17><02><>i<17><1C><17><17><17><17>D<><17>t<>}(orbe<17><00><>L<01>3<1C><02><00><>a^ In some cases synchronization can be proven statically: whenever you hold an exclusive `&mut`<60><00><> ^[ reference, the Rust type system ensures that no other part of the program can hold another<65><00><>
`] reference to the data. Therefore it is safe to access it even if the current thread obtained<65><00><> c` this reference via a channel. Whenever this is the case, the overhead of allocating and locking<6E><00><> <9 a [`Mutex`] can be avoided by using this static version.<2E><1C> <02><00><> c` One example where this is often applicable is [`Future`], which requires an exclusive reference<63><00><> _\ for its [`poll`] method: While a given `Future` implementation may not be safe to access by<62><00><>^[ multiple threads concurrently, the executor can only run the `Future` on one thread at any<6E><00><>_\ given time, making it [`Sync`] in practice as long as the implementation is `Send`. You can<61><00><>]Z therefore use the static mutex to prove that your data structure is `Sync` even though it<69><00><> contains such a `Future`.<2E><1C><02>l<>
# Example<6C><1C><02><<3C> ```<60><00><>" use sync_wrapper::SyncWrapper;<3B><00><> use std::future::Future;<3B><1C><02><00><> struct MyThing {<7B><00><>EB future: SyncWrapper<Box<dyn Future<Output = String> + Send>>,<2C>,<2C> }<7D><1C><02><00><> impl MyThing {<7B><00><>XU // all accesses to `self.future` now require an exclusive reference or ownership<69>,<2C><01>C<1C><02><00><>  fn assert_sync<T: Sync>() {}<7D><1C><02><00><> assert_sync::<MyThing>();<3B><<3C><01>A<1C><02><00><>C@ [`Mutex`]: https://doc.rust-lang.org/std/sync/struct.Mutex.html<6D><00><>FC [`Future`]: https://doc.rust-lang.org/std/future/trait.Future.html<6D><00><>PM [`poll`]: https://doc.rust-lang.org/std/future/trait.Future.html#method.poll<6C><00><>B? [`Sync`]: https://doc.rust-lang.org/std/marker/trait.Sync.html<6D>\<5C><02><01><><01> <0C><00> 6<><36><EFBFBD>N<EFBFBD><4E><02> <0A> <17> Q<02> <0A>   <01> `b <0C>  <00> <0A><><02><00>I <0C><00> <00><>"<00><>:7 Creates a new static mutex containing the given value.<2E><1C><02>t<> # Examples<65><1C><02><<3C><01>A<00><>"<01>A<1C><02><00><>%" let mutex = SyncWrapper::new(42);<3B><<3C><01>A<1C><02> <0A>  <01> <02><13><07><>#<00><>0- Acquires a reference to the protected value.<2E><1C><02><00><>_\ This is safe because it requires an exclusive reference to the mutex. Therefore this method<6F><00><>_\ neither panics nor does it return an error. This is in contrast to [`Mutex::get_mut`] which<63><00><>]Z returns an error if another thread panicked while holding the lock. It is not recommended<65><00><>_\ to send an exclusive reference to a potentially damaged value to another thread for further<65>|<7C> processing.<2E><1C><02><00><>[X [`Mutex::get_mut`]: https://doc.rust-lang.org/std/sync/struct.Mutex.html#method.get_mut<75><1C><02>t<><01>J<1C><02><<3C><01>A<00><>"<01>A<1C><02><00><>)& let mut mutex = SyncWrapper::new(42);<3B><00><>  let value = mutex.get_mut();<3B>|<7C> *value = 0;<3B><00><>$! assert_eq!(*mutex.get_mut(), 0);<3B><<3C><01>A<<3C>A A<>  A<>  <0C> <01> $<24><00><>&7<00><>74 Acquires a pinned reference to the protected value.<2E><1C> <02><00><> 63 See [`Self::get_mut`] for why this method is safe.<2E><1C> <02>t<> <01>J<1C> <02><<3C>!<01>A<00><>!<01>A<00><>! use std::pin::Pin;<3B><00><>!# use std::task::{Context, Poll};<3B><1C>!<02><00><>!&# use pin_project_lite::pin_project;<3B><00><>""<01>A<1C>"<02><00><>" pin_project! {<7B><00><>"! struct FutureWrapper<F> {<7B><00><># #[pin]<5D><00><>#" inner: SyncWrapper<F>,<2C>L<># }<7D>,<2C>#<01>C<1C>#<02><00><>#1. impl<F: Future> Future for FutureWrapper<F> {<7B><00><>$  type Output = F::Output;<3B><1C>$<02><00><>$SP fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Self::Output> {<7B><00><>%74 self.project().inner.get_pin_mut().poll(cx)<29>L<>%<01>W,<2C>%<01>C<<3C>%<01>A\<5C>&B<01><><01><><01><01><><02> <01>V$;y<>$<24><><EFBFBD><EFBFBD> B<> <01><><01><><01><01><><02> <01>V$;y<>$<24><><EFBFBD><EFBFBD> B<>  <0C>& <01> <13>
4<EFBFBD>&<closure_kind><3E><closure_signature><3E><upvars><3E><00><13><>-<00><>'74 Consumes this mutex, returning the underlying data.<2E><1C>'<02><00><>'_\ This is safe because it requires ownership of the mutex, therefore this method will neither<65><00><>(YV panic nor does it return an error. This is in contrast to [`Mutex::into_inner`] which<63><00><>)]<01>N<00><>)_<01>N|<7C>*<01>O<1C>*<02><00><>*a^ [`Mutex::into_inner`]: https://doc.rust-lang.org/std/sync/struct.Mutex.html#method.into_inner<65><1C>+<02>t<>+<01>J<1C>+<02><<3C>,<01>A<00><>,"<01>A<1C>,<02><00><>,)<01>Q<00><>,'$ assert_eq!(mutex.into_inner(), 42);<3B><<3C>-<01>AT<41>-<02> <0A>  <01> j <0B><>.&<02><00>I <0C>.<00>  <00><>. <02><00>I <0C>/<00> <01>a<00><>/3<1C>/CDE C<> D<01>a<01>a<02><01>a<02> <01>^<01>a<01><01>^<00><1D>84<38>|<7C>E<01> <0C>/ <01> $<24>/<02><13> <0C><>/+<02><00>I <0C>0<01><01> <<3C>0<00> <01>!<00><>0<<3C>0<01>  <01> <0A><>0"<02>!!<00>I <0C>0<00> "<01>"̙1$<24>1<02> <0A>   "<01> <02><13> Đ3<00><>1 `Future` which is `Sync`.<2E><1C>1<02>t<>1<01>J<1C>2<02><<3C>2<01>A<00><>20- use sync_wrapper::{SyncWrapper, SyncFuture};<3B><1C>2<02><00><>2 let fut = async { 1 };<3B><00><>2# let fut = SyncFuture::new(fut);<3B><<3C>3<01>AT<>3<01>
$$<01><><01> <0C>3<00><00><>՚4V]-%<00><>3,<2C>3##<00><1D><>3<01>
''<00>h <0C>3ݚ<01>4<>3<00>()<00><>3<1C>3<02><0E>&& (<01><01>
u<0E><>4T<>4<02><0E>&& )<01><0F><>5)<01>
++<00>h <0C>5<00>i4<69>5<00>,-ޚߚ-!\<5C>54<>5**<00>"<22><>5I$<24>5FGH<01><><01><><01><01><><02> <01>V$;y<>$<24><><EFBFBD><EFBFBD> F<> G<01><01><01><01>"<01><01><01>"<01><01><01>"<01><01><01>"<01><01><01>#<01><00><00><>w<EFBFBD>W<EFBFBD>H<01><><01><><01><><02><01><><02><01><><01><><02>x<>A"W?<01>ޚ* <0C>5* -<01>#<01>$<13><1C>6-<01>[.<01>[.<01>\..-<00>!<21><>7<02>00<00>I <0C>7<00>1<01>a1<00><>73<1C>7IJK I<> J<01>a<01>a<02><01>a<02> <01>^<01>a<01><01>^<00><1D>84<38>|<7C>K<01>/ <0C>7/ 1<01> $<24>7<02>(<13><>9<00><>8 `Stream` which is `Sync`.<2E><1C>8<02>t<>8<01>J<1C>8<02><<3C>8<01>A<00><>8! use sync_wrapper::SyncStream;<3B><00><>8 use futures::stream;<3B><1C>9<02><00><>9# let st = stream::iter(vec![1]);<3B><00><>9! let st = SyncStream::new(st);<3B><<3C>9<01>A <02>futures<65><73><EFBFBD>9<00><>9T<>:<01> 33<01><><01> <0C>:<00><00><17><><EFBFBD><EFBFBD><EFBFBD>4<00><>:,<2C>:22<00>(<28><>:, <02><01>q<EFBFBD><71>:ܰ:<01> 66<00>s <0C>:E<01><00><>:<00>78<00><>:<1C>;<02><0F>55 7<01><01>
<13><13><>;T<>;<02><0E>55 8<01>~<14><><E <02><01>q<EFBFBD><71><ܟ<<01> ::<00>s <0C><<00>t<EFBFBD><74><<00>;<FG<L<>=$<24>=99<00>.<2E><>=TL<>=LMN<01><><01><><01><01><><02> <01>V$;y<>$<24><><EFBFBD><EFBFBD> L<> M<01><01><01><01>"<01><01><01>"<01><01><01>"<01><01><01>"<01><01><01>#<01><00><00><>w<EFBFBD>W<EFBFBD>N<01><><01><><01><><02><01><><02><01><><01><><02>x<>A"W?<01><><01><><01><><02><01><><01><><02><01><><02>{5T3<>K<EFBFBD><01>F9 <0C>=9 <<01><13><01>$<13><1C>><<01>[=<01>[=<01>\==<<00>+<2B><>? <02><01>q<EFBFBD><71>><00><>><02>??<00>I <0C>?<00>@<01>a@<00><>?3<1C>?OPQ O<> P<01>a<01>a<02><01>a<02> <01>^<01>a<01><01>^<00><1D>84<38>|<7C>Q<01>> <0C>?> @<01> $<24>?<02>F<17><13> <17><13> <17> <13> <0C>/<13> <14>/<13> <13> <0C>5<13> <14>6<13> <13> <0C>7<13> <14>7<13> <17><13> <0C>=<13> <14>=<13> y<13> <0C>?<13> <14>?<13> &5'<02>4https://doc.rust-lang.org/std/marker/trait.Sync.html<6D>Mutex::get_mut<75> Self::get_mut<75><02>this discussion<6F><02> Mutex::into_inner<65>Nhttps://internals.rust-lang.org/t/what-shall-sync-mean-across-an-await/12020/2<>4https://doc.rust-lang.org/std/sync/struct.Mutex.html<6D><02><02>ݚ6https://doc.rust-lang.org/std/future/trait.Future.html<6D><01>{<01>|<01>|<02><01><02> <01>|<01>|<01>}<01>}<02><01>~<01>{<02><01>|<02> <01>|<02><01>|<01>}<01>|<01>}<02><01>~<01>aݚ<01>K<01><01><01><01><01><01><01><01><01><01><01><01><01><01><01> <01> <01> <01> <01><01><01><01>K<01>L<01>K<01>K<01>L<01><><01><><01><> SyncWrapper
SyncFuture
SyncStream
ǀـ<01><>.<2E><><EFBFBD><05><>!U<><55>{.<2E>.<2E><>DÂ^<5E>Ko<4B><6F>CM+<2B><>]9<><39><EFBFBD><EFBFBD><EFBFBD>M<EFBFBD>XC<58><43>}<7D><><EFBFBD>yͶQ<CDB6>Dϗw<14><><EFBFBD>
<EFBFBD>1<EFBFBD>83<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><14>{<7B>z<13><17><>֌<EFBFBD>"<22><><EFBFBD><EFBFBD>5l<35>ܳ<><EFBFBD><EEB0B2>=<3D>د<EFBFBD><D8AF>/%<02>LV<4C><56><EFBFBD>Va<56> a"<~'n<>Z<EFBFBD><5A><EFBFBD>uL<75>҇<EFBFBD>t<EFBFBD>K<EFBFBD>x<EFBFBD>U<EFBFBD>B<EFBFBD>Q<EFBFBD><51>NVv)"<22>C<EFBFBD><43><EFBFBD>A<EFBFBD><41>F<EFBFBD><EFBFBD>x<EFBFBD><57>
22<EFBFBD><EFBFBD>zw<EFBFBD>?o<><6F><EFBFBD>Tj1h<31>Q<EFBFBD>z>a<>p<EFBFBD><06><><EFBFBD>#<23><>d<EFBFBD>r<EFBFBD><72><EFBFBD>~n/<2F><><EFBFBD>6<06>ӧ<EFBFBD><D3A7><04><><!=<3D><><EFBFBD><EFBFBD>ų<EFBFBD>:<3A><>/<2F><><EFBFBD><EFBFBD>{<7B>/u<>XV<58><56><EFBFBD><EFBFBD>;sTC<>k<EFBFBD>8<EFBFBD>"<22><><EFBFBD>Oz<4F><16><><EFBFBD><EFBFBD><EFBFBD>I<EFBFBD>H<EFBFBD><48><EFBFBD><EFBFBD>:n<><6E><EFBFBD><EFBFBD><EFBFBD>q?F<><46><EFBFBD><EFBFBD>׌&<26>K<><4B>7<EFBFBD><37>v<EFBFBD><76>4<EFBFBD>,<2C> f[$<24><>jK<0F>k<1C>.<11>z<EFBFBD><7A>[qt<1E>/<2F><><06>5<EFBFBD><35>Y<><59>&*<2A>[<5B>$<24>4 <0B> <20><>rZ2<5A>_ric%<4<>ǥW<14>\G<>H<EFBFBD>ڽ
Ef X<><58><EFBFBD><EFBFBD>Rꎣm<EA8EA3>M<EFBFBD>P<EFBFBD><50>T}<7D><><EFBFBD><EFBFBD>ϯ<EFBFBD><1C><>v<EFBFBD><76>啈H<E59588><00><><EFBFBD>nHL<48><0E>(S<>5r<35><72>B<EFBFBD><42><EFBFBD><EFBFBD> <0B>0nڋ<6E>l<EFBFBD>2<EFBFBD>I<EFBFBD>8^<5E>rӟ1ꧦĠ8<C4A0>TR iO<69>3<16>:<3A><><EFBFBD><EFBFBD><15>.Z<>*<2A>:<3A><>3z<33>y<EFBFBD>}<7D>><3E><><EFBFBD>G4<47><34>G6<47><02> &<26><><EFBFBD>:<<18><>˭$E?^A<>mV<1B><>K~<7E>Ty&<26>z=<3D>>H<><48><EFBFBD>xAy<41>Ѵ[;~<7E>+<2B><>e<EFBFBD>`<60>O6<<a<><07>}|0YItx<74><78><EFBFBD><EFBFBD><10>`#<23>-<2D>>Vi
<EFBFBD>[<5B><>l<>T<EFBFBD><00>=<00>=<00>=N <01>4&<00>$<24>$<00> $<24>%<25>)<29>--.<2E>0<00>0%1<>12R2<00>2<>
2434y4<>4<>4C5[5<>6<>6(7<> 7T9m9<00>9:D:<00>:<3A>:B<<3C><<00><J0$<00>$<00>0 1<00>1r2 4c4 5 7B9<00>9~:<00><%        
   
 I<00>#R$<00>$<00>%k)-<00>0<112<00>2<EFBFBD>34<00>4<EFBFBD>4G5r5?79X9<00>9:<00>:<3A>:<00><<3C><19><1B><1B> #%+1:$s$<24>$<24>$<24>$<24>$<24>%<25>)<29>-).<2E>0<EFBFBD>0<EFBFBD>01 1<>1 22M2|2<>2<EFBFBD>2
44/4h4u4<75>4<EFBFBD>425?5V5<56>6<EFBFBD>67#7<>7C9P9h9<68>9<EFBFBD>9:?:<3A>:<3A>:<3A>:><<3C><<3C><<3C><~=<3D>=<3D>=<3D>=<3D>=<3D>=<3D>=<3D>=<3D>=<3D>=<3D>=<3D>=<3D>=<3D>=<3D>=<3D>=<3D>=<00>  (.<1C>#=$u$<24>$<00>$<24>%T)-v0<00>01%1 22~2<>2<EFBFBD>3 44j4y4<79>445C5[57(79E9T9<00>9<EFBFBD>9:<00>:<3A>:<3A>:<00><<3C><<3C>=<3D>=<3D>=<3D>=<3D>=<3D>=<3D>=<3D>=<3D>=<3D>=<3D>=<3D>=<3D>=<3D>=<3D>=<3D>=<3D>=$f$}$<24>$<24>$<24>$<24>%<25>)<29>-#.<2E>0<EFBFBD>0<EFBFBD>0<EFBFBD>01<>1<EFBFBD>12B2g2<67>2<EFBFBD>2<EFBFBD>34)4H4r4<72>4<EFBFBD>45<5P5<50>6<EFBFBD>67 7<>79M9b9<62>9<EFBFBD>9<EFBFBD>9.:l:<3A>:<3A>:&<~<<3C><<3C><e=<00>#^$w$<24>$<24>$<24>$<24>%<25>)<29>-<2D>-<2D>0<EFBFBD>0<EFBFBD>0<EFBFBD>01<>1<EFBFBD>1 2:2T2<54>2<EFBFBD>2<EFBFBD>34!454l4<6C>4<EFBFBD>4<EFBFBD>465H5}6<>6<EFBFBD>67<>79G9Z9<5A>9<EFBFBD>9<EFBFBD>9&:Y:<3A>:<3A>:<U<<3C><<3C><Y=$l$<00>$<24>$<00>%<25>)<29>-'.<2E>0<EFBFBD>01<00>1<EFBFBD>1F2p2<00>2<EFBFBD>3-4a4<00>4<EFBFBD>45T5<54>6<EFBFBD>6
7<00>7+9f9<66>9<00>92:|:<00>:*<<3C><<3C><i=<00>#T$<00>%l)-<00>0=122<00>2<>3<00>4<>4s5@79<00>9:<00>:<00><1$U$<00>%m)-<00>0>132<00>2<00>4<EFBFBD>4t5A7<00>9:<00>:<00><?$<00>%X)-<2D>-z0)12<00>2}4<>4_5<5F>6,7<00>9:<00>:B<<00><*dnx<00><00><00>'$<00>$<00>012<00>24t4>5"7O9<00>9<00>:<00><z<00><08><08>
/ <00> <00> <00> <00> <0A>?@<00>\-<00>_<00><00><00><08><08>
- <0B> <00> <00> <00> <00>=><12>Z+<14>]<17>x~<08><08>
. <0B> <00> <00> <00> <00>>?<12>[,<14>^<17>yj$<00>%<00>%<25>)<29>-<00>0<00>1M2<00>2<00>4<>4<00>6<00>7<00>99:1<p=G<00>#<00>$<00>0<00>0<00>1R2<00>334<00>4<00>6<00>8<00>9W:<00><&$4:9$<00>3-903:>BFJNRVZ^bfx|<04><04><04><04><04><04><04><04><04><04><04><04><04><04><04><04><04>
"*6:AHOSZahlpw~<05><05><05><05><05><05><05><05><05><05><05><05><05><05><05><05><05><05><05><05><05>
"&)$4=9<00>$<24>$<24>$<00>$
12s2e4f4"5(5 7<00>9<EFBFBD>9<00>:<3A>:<00><!#%')+<19>=<3D> ?<00>$<00>012x2g4.57<00>9<00>:<00><<13> <13> <13> <13> <02> .<2E><><EFBFBD><05><>!<21>X<EFBFBD><58><EFBFBD>W<EFBFBD><57>RSSS+SSBS<42> ODHT R<00><02><><00><>/%<02>LV<00>ų<EFBFBD>:<3A><><00>jK<0F>k<1C>+.<2E><><EFBFBD><05><>!<00><>CM+<2B><00><><EFBFBD>nHL9?F<><46><EFBFBD><EFBFBD><EFBFBD>'<00><>啈H<E59588>8<00>B<EFBFBD>Q<EFBFBD><51>NV<00>0nڋ<6E>l<EFBFBD><2<>I<EFBFBD>8^<5E>=:<3A><><EFBFBD><EFBFBD><15>.A<<a<><07>}MM<>XC<58><43>}<7D><00>8<EFBFBD>TR ?"<22><><EFBFBD><EFBFBD>5l ϗw<14><><EFBFBD>v)u<>XV<58><56><EFBFBD><EFBFBD>!<00>t<EFBFBD>K<EFBFBD>x<EFBFBD>U<00><>v<EFBFBD><76>4<EFBFBD>,)-<2D>>Vi
<EFBFBD>P<00>I<EFBFBD>H<EFBFBD><48><EFBFBD><EFBFBD>%<00>ϯ<EFBFBD><1C><>v76<><02> &<26><>Ek<>8<EFBFBD>"<22><><EFBFBD>#.<11>z<EFBFBD><7A>[,<4<>ǥW<14>26<06>ӧ<EFBFBD><D3A7>:n<><6E><EFBFBD><EFBFBD><EFBFBD>q&4 <0B> <20><>rZ0U<><55>{.<2E>.<2E><00><>~n/<2F><><EFBFBD>ȑ<>
22<EFBFBD><EFBFBD><06>5<EFBFBD><35>Y<>.<00><>B<EFBFBD><42><EFBFBD><EFBFBD> ;<00><>yͶQ<CDB6>D
<EFBFBD>1<EFBFBD>83<EFBFBD><EFBFBD>Ef X<><58><EFBFBD><EFBFBD>4<00>ܳ<> Z<>*<2A>:<3A><>3B<00><>G4<47><34>GD<00><>=<3D>د <00>]9<><39><EFBFBD><EFBFBD><EFBFBD><00><><!=<3D><><EFBFBD>y&<26>z=<3D>>HITj1h<31>Q<EFBFBD>z<00><><EFBFBD>xAy<41><79>J|0YItx<74>N<00>:<<18><>˭F<00>&<26>K<><4B>7(<00><>uL<75>҇<13><17><>֌<EFBFBD>
>a<>p<EFBFBD><06><>/<2F><><EFBFBD><EFBFBD>{<7B>/ V<1B><>K~<7E>TH<00>[;~<7E>+<2B><>K<00><0E>(S<>5r:;sTC<>"<00>&*<2A>[<5B>$<24>/<00>DÂ^<5E>Ko$E?^A<>mG<00><><EFBFBD><14>{<7B>z <00><><EFBFBD>Va<56> aiO<69>3<16>@<00>#<23><>d<EFBFBD>r<EFBFBD>e<>`<60>O6L<00> f[$<24>*<00>F<EFBFBD><EFBFBD>x<EFBFBD>Wrӟ1ꧦ<31>>Oz<4F><16><><EFBFBD><EFBFBD>$[<5B><>l<>T<EFBFBD>Q"<22>C<EFBFBD><43><EFBFBD>A<EFBFBD>"<~'n<>Z<EFBFBD>zw<7A>?o<><6F><EFBFBD>\G<>H<EFBFBD>ڽ
3Rꎣm<EA8EA3>M<EFBFBD>52<>_ric%1<00><><EFBFBD><10>`#<23>OP<><50>T}<7D><><EFBFBD>6qt<1E>/<2F><>-z<>y<EFBFBD>}<7D>><3E>C<00><>+|T`&k+EN>|<04><>6ga*<2A><>ab;<3B><>z<EFBFBD>d-<2D>]<5D><02>8<EFBFBD><38>-<2D>~o<><6F>RH<52>"<22>dXY#WR{$=h<><68><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@VC@l*<2A>w9i<39><69><EFBFBD><EFBFBD><EFBFBD><EFBFBD>q<EFBFBD><71>76<37>=0vkJ<>+<2B>bEkqPDq<12><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD>Db@<40><>+|T`&k+EN>|aC:\Users\xiaji\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sync_wrapper-1.0.2\src\lib.rs<72>VC:\Users\xiaji\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sync_wrapper-1.0.2<EFBFBD>aC:\Users\xiaji\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sync_wrapper-1.0.2\src\lib.rs<72> <20><>-<2D><>b<EFBFBD><62><<3C>f[<5B>j<EFBFBD><00>@<40>@<40>CD+2GELG"M<04>DJ  #Mb_ad=d`_`^#FY!DGQC? '* )5ddbd` '.%) *<; !(+'&'
6%X<
>D<d^bdf '., #_*#:. % 1$!#0# ,PN":"$"/#0# H[N":<00><><EFBFBD><1C>} <0A>ƙ<EFBFBD>g<EFBFBD>Z<EFBFBD>Zx86_64-pc-windows-gnu<6E>g<EFBFBD><67>ni<6E><69>H@5<><35>e<EFBFBD> sync_wrapper<65>-36ceaedbca6fb021<32>.<2E><><EFBFBD><05><>!<15><><06><03>q R<00>3<00>>>A5A5A<01>?R<>ARR<>R<><00>AA<>A<>A<>A<>A<>?<3F>~@A<><14>(A<00>A<00>(A<00>?~33fRf<00>3Af<00>A<00>?<02><01>rust-end-file@feat.00<00><>/0 0 0 0 644 2012 `
BC<EFBFBD><EFBFBD>5b 0A<>
<EFBFBD>` <0B> q<>q<>x<><06>P<0F>@mn<>t<>q<><06>@<0F> <0E>PB S! <00> !"<07>#<23>A<EFBFBD>I29<32><01> %<04>b<EFBFBD>EB<> BD28K
2"<22>H<EFBFBD>d!C<><43>G2B$q<>$)@<40><>K2d<32><08> #B<><42>B*(*<2A>Q\ #<23>@<40> <19><07>"<22><>$2b,9Ȑ#<23><12>:dDG<44>"CF<00> "f<10>B<EFBFBD><42>RB<52><42><EFBFBD>q<EFBFBD>PH
&B<>B"&<08><><EFBFBD>90*|<7C>;<3B>;<3B><>6<EFBFBD><36>qh<71>{Hw <20>w<EFBFBD><77>yh<79>sp<73>z<EFBFBD><7A>
<EFBFBD><EFBFBD><06><><07><><06> wz0r<>s mrpq<>s z0r<><06> w z`t<>v@m<>v@z`t<><06>r<>zr<>m`xzr<>m<>x<>q`z0r<>v@m0 q x<><11><>p <0C>y<EFBFBD><79>{<7B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%<25><>Ƹ1<C6B8>f<EFBFBD><66>rᘬ<72><1A><>.<2E><><06><><EFBFBD>Y 2<1E>L<><4C> &G<>C<> <20><00><00>3<08><1C><>f=<3D>C8<43>ÌB<C38C>yxs<>q <0C><0F><0E><>3 B<1E><>Ρf0=<3D>C8<43><38><1B>=<3D>C=<3D>=<3D>x<EFBFBD>tp{yH<79>ppzpvx<76>p <20><19><0E><><0E>0n0<0F><><0E>P3<10><1D>!<1C>!<1D>af0<66>;<3B><>;<3B>C9<43><<3C><><<3C>;<3B><>v`{h7h<37>rh7<><37>p<EFBFBD><70>p`v(v<>vx<76>w<EFBFBD><77>_<08>q<18>r<EFBFBD><72>y<EFBFBD><79>,<2C><><0E><><0E><><0E>0<1C><>̡<1C><><1C>a<1C>!ā<1D>a֐C9<43>C9<43>C9<43>C9<43><39>8<EFBFBD>C8<43>;<3B><>/<2F><><<3C><>;<3B>;<3B><> <0C>i<EFBFBD>pX<70>rp<72>thx`<60>t<18>t<EFBFBD><74><19>S<0F><0F>P<0E><><0E>@<0F> <0E>P3 (<1D><><1E>A<1E>!܁<1E><><1C><><1D>fQ8<51>C:<3A><>;<3B>P$v`{h7`<60>wxx<>QL<51><4C><0F>P3j<1E>a<1C>!<1D><>~<1E><><1C>!<1D>aT<><54>8<EFBFBD><38>;<3B>C=<3D>C9<43><39><<3C>C;<3B><>;<3B>Ì<EFBFBD>
<EFBFBD>y<EFBFBD><EFBFBD>w<18>tz(r<><72>\<5C><0E><><0E>P<0E>0#<23><>A<1E><><17><><1D>fH;<3B><>=<3D><><1B><>8<EFBFBD>C9<43><39><<3C><>9<EFBFBD><39>;<3B><<3C>H<EFBFBD>qv`q<08>qX<71><19><><0E>`<0F><><06> <0F>0<0F> <0F>Pn<0E>0<0E>0<0F><><06><><0E>P<0E>0#<23><>a<1D><><17>!<1D>!<1D>!<1D>!<1D>!f <20>;<3B>C=<3D>9<><39>9<EFBFBD>X<EFBFBD>ppwxzzH<7A>wp<77><19><><0E>0<0F><><0E>@<0F><><0F>0<EFBFBD>s<>w<18>_<EFBFBD><5F>pp<70>t<EFBFBD><74>tЇr<D087><72><EFBFBD>A9<41><39>8<EFBFBD>C=<3D>C9<43>ʡ<1D>A<1E><>f$c0<0E><><0E>0<0F>@<0F>0C!<21>usH<73>_<EFBFBD><5F>|<7C><>r<EFBFBD><72><EFBFBD><<3C><><<3C><>8<EFBFBD>C:<3A><>;<3B>Ì<EFBFBD> H!Ba<1E>!<1D><>R<>fLg0<0E> <0F><><06>P<0F>0<0F>@<0E><><06> <0F><><0E>0<EFBFBD>@<40>vhy<08>R<1A><>;<3B>;<3B>C8̃<1B>9<><39><<3C><<3C><>8<EFBFBD>y &<00>H C<>  dd<64><64> <20><>2FFF<13>B<EFBFBD><42><EFBFBD><EFBFBD><EFBFBD>9B<39><42><EFBFBD>@<40><00>PIC Levelrustc version 1.94.1 (e408947bf 2026-03-25)#0<>3 C@<40>2<12><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\<5C><><EFBFBD><EFBFBD><EFBFBD>F <09>T<EFBFBD><54><EFBFBD><EFBFBD>\<5C><><EFBFBD><EFBFBD><EFBFBD>F
<00>-
r(<28>w<EFBFBD>zXp<58>C=<3D><>8<EFBFBD>C9<43>Â<EFBFBD>ơ <0A>A<1E><><1D>!<1D>!<1D><>4<>`<0E>P<0F> <0F>@<0F> <0F>P<0E><><EFBFBD><EFBFBD>y(<28>p`vx<76>qz(rXp<58><70>8<EFBFBD>;<3B><>=<3D><>k<1C>!<1C><><1C> <1C>a<1C> <1C><><1E>aС<1C>a<1D>a<EFBFBD><0F> <0F>P<0F><> <0B>usH<73><05>8<EFBFBD><38>;<3B>C9<43><39>9<EFBFBD><39>;<3B>C9<43>=<3D>;<00><07><<3C><>;<3B>;<3B>=<3D><><<3C>C8<43><38><00> <00><04>Pq 2"<00><><EFBFBD>vq7<15><1E>Y{(W<>7<EFBFBD><37>W<EFBFBD>qVL<><4C>e <03><>BLXXXBW#zX] "<03><>21.1.8-rust-1.94.1-stable 00d23d10dc48c6bb9d57ba96d4a748d85d77d0c7x86_64-pc-windows-gnusync_wrapper.219c8c05f389a12e-cgu.0