rustMm rustc 1.48.0std؝-6bf3f16f340782cacoreƞ-3375e4f89d420e7acompiler_builtins-f74b197469e67088rustc_std_workspace_core扪ڹ8-5e0675f526ef5c6ballocץޯČ-1ebf406bd4ea5769libcɄ-dfbef8c525de0186unwindܽ݇!-bd645b20c6c7b56dcfg_ifшC-b9e1e523c0c29a77 hashbrownǰ-c6632ca171f954ddrustc_std_workspace_allocW-b5bfd0198c7b740drustc_demangleة-3ac2d0878c297d42 addr2lineƄ-12740563628e601fgimlin-0ac82a1e1820dd21object»-af517d7f13e7c960 miniz_oxide֕㵤 -a2ba33c985785afeadler˯-3f6e9f8f4afbea6d panic_unwindի-13f3099d50c21bc6ɁvVwYQ8[<"țstdp׾2{ I6version΀\[)ZHhNWeC^_onMhreads7oם8hǀ"u #EgC!= 'Wo|aSparseLNP8賭 a|fUJE{b 3from_mmp^ MxXK_^to_mmpJ|(@˷'nWat_leastd9Ny1kbQ ?{eaat_mostxk_{DXݐYk`VT3"exactly,0f6n~-Q,`owo1zyd˰Hp1HY$is_betaqb#|&;ؗ is_stablevʺ ++p&ε\%fmt8%V@XLֆGdate{@-,g2耋'\sꆞ|5C'v$݈/6༨)read1(<)Nf B**էCv*'Y͌ )to_ymd|&;Lmێi)parse@;ע3.~i!.8)mD\yc7)at_least:¯-Uaxd0trM >^)at_mostmCL)bQ2@m;E_)exactly#Y"^4 qN' ͘f 6fmt M>AxpboLc#ňFO: l7pm~Y3P ?!( o3э4ye"3͹K#version_and_date_from_rustc_version|W zNEh=>Y bmO>F=Y+=@6? N=6zP"p"Ae+version_and_date_from_rustc_verbose_version~#{k VBR4؏oGbyC,φwMkށ get_version_and_date؎6˽|EE/ ׺d}@Ex#(gv+FEF,D :tripleJ3}X2d%3 is_min_dategh?_ \t bR is_max_date*jYy is_exact_datevoy#%>}is_min_version"xC~is_max_versionӹڦz1D\is_exact_versionRbKOZis_feature_flaggableLVx\[ vaPeq~{8p*1d|neT0*%W_*2.Q̤XfmtMT'){QF 'Date%N]XX39 _fxʍEx0UߡLTO^';jv<\vݡ_>Hcmp?9*u+E&>_YQ'Dɖ{3hK٣ partial_cmp:U߫-<ltzUѲ&`yleYfwB3ޚgt.[X}-)I1xge%B% "&I~'lLgZSclone)8<@7T<2qLh'mF㶥eo5T^'aKKW}'Wqrnh+massert_receiver_is_total_eqGZI+ow 'T}־:'3' -y$/pL:KR 8equ? A[Vne Į ߗ' $iRF{3K fmtKu͓ܒH^[^oލ5122 ˝J(8m706?!i w&bW(Jo mē(~'S[`O238j! uC:8!YPw4UN0>9 V/Jt& 9tαi%A,>{vgcRUR{`RsgR%{6tg{aRdRwg{WR{rg_R]R~{pgygR{  3     3stdenv envCommand"VersionpR Channel{ DatenH This tiny crate checks that the running or installed `rustc` meets someKJ version requirements. The version is queried by calling the Rust compilerLMG with `--version`. The path to the compiler is determined first via theJI `RUSTC` environment variable. If it is not set, then `rustc` is used. IfL? that fails, no determination is made, and calls return `None`.B # ExamplesL Set a `cfg` flag in `build.rs` if the running compiler was determined to beO at least version `1.13.0`: ```rust % extern crate version_check as rustc;(6 if rustc::is_min_version("1.13.0").unwrap_or(false) {98 println!("cargo:rustc-cfg=question_mark_operator");; } ```H See [`is_max_version`] or [`is_exact_version`] to check if the compilerK- is _at most_ or _exactly_ a certain version.0G Check that the running compiler was released on or after `2018-12-18`:J ```rust % extern crate version_check as rustc;() match rustc::is_min_date("2018-12-18") {,' Some(true) => "Yep! It's recent!",*& Some(false) => "No, it's older.",)4 None => "Couldn't determine the rustc version."7 };  ```  F See [`is_max_date`] or [`is_exact_date`] to check if the compiler was I4 released _prior to_ or _exactly on_ a certain date. 7 8 Check that the running compiler supports feature flags: ;  ```rust % extern crate version_check as rustc; ( & match rustc::is_feature_flaggable() { )9 Some(true) => "Yes! It's a dev or nightly release!", </ Some(false) => "No, it's stable or beta.", 24 None => "Couldn't determine the rustc version." 7 };  ```  : Check that the running compiler is on the stable channel: =  ```rust % extern crate version_check as rustc; (  match rustc::Channel::read() { "> Some(c) if c.is_stable() => format!("Yes! It's stable."),A@ Some(c) => format!("No, the channel {} is not stable.", c),C= None => format!("Couldn't determine the rustc version.")@ }; ```L To interact with the version, release date, and release channel as structs,OK use [`Version`], [`Date`], and [`Channel`], respectively. The [`triple()`]N/ function returns all three values efficiently.2 # AlternativesK This crate is dead simple with no dependencies. If you need something moreNL and don't care about panicking if the version cannot be obtained, or if youO$ don't mind adding dependencies, see'9 [rustc_version](https://crates.io/crates/rustc_version).<allow deprecated '89:;<=BEIJKLMNOPfmtnn Rcd`a_]WUp. RsF Reads the version of the running compiler. If it cannot be determinedpI< (see the [top-level documentation](crate)), returns `None`.p?q # Exampleq q ```rustq  use version_check::Version;qr match Version::read() {r- Some(d) => format!("Version is: {}", d),r03 None => format!("Failed to read the version.")r6 };s ```ss Aversion} }* Parse a Rust release version (of the formt-E `major[.minor[.patch[-channel]]]`), ignoring the release channel, ifuHE any. Returns `None` if `version` is not a valid Rust version string.uHv # Examplev v ```rustv  use version_check::Version;vw1 let version = Version::parse("1.18.0").unwrap();w4$ assert!(version.exactly("1.18.0"));w'x9 let version = Version::parse("1.20.0-nightly").unwrap();x<$ assert!(version.exactly("1.20.0"));x') assert!(version.exactly("1.20.0-beta"));x,y. let version = Version::parse("1.3").unwrap();y1# assert!(version.exactly("1.3.0"));y&z, let version = Version::parse("1").unwrap();z/# assert!(version.exactly("1.0.0"));z&z4 assert!(Version::parse("one.two.three").is_none());{70 assert!(Version::parse("1.65536.2").is_none());{3+ assert!(Version::parse("1. 2").is_none());{.' assert!(Version::parse("").is_none());|*) assert!(Version::parse("1.").is_none());|,. assert!(Version::parse("1.2.3.4").is_none());}1 ```}}  E}majorminor̅patch؅!E Creates a `Version` from `(major, minor, patch)` version components.HƂ # Example΂  ```rust  use version_check::Version;8 assert!(Version::from_mmp(1, 35, 0).exactly("1.35.0"));;8 assert!(Version::from_mmp(1, 33, 0).exactly("1.33.0"));;8 assert!(Version::from_mmp(1, 35, 1).exactly("1.35.1"));;8 assert!(Version::from_mmp(1, 13, 2).exactly("1.13.2"));; ``` SSAself B Returns the `(major, minor, patch)` version components of `self`.̆E # Example  ```rust  use version_check::Version;ȇD assert_eq!(Version::parse("1.35.0").unwrap().to_mmp(), (1, 35, 0));GD assert_eq!(Version::parse("1.33.0").unwrap().to_mmp(), (1, 33, 0));GD assert_eq!(Version::parse("1.35.1").unwrap().to_mmp(), (1, 35, 1));GD assert_eq!(Version::parse("1.13.2").unwrap().to_mmp(), (1, 13, 2));؉G ```  ASSSselfversion@ Returns `true` if `self` is greater than or equal to `version`.C֌I If `version` is greater than `self`, or if `version` is not a valid RustތL! version string, returns `false`.$؍ # Example  ```rust  use version_check::Version;1 let version = Version::parse("1.35.0").unwrap();4% assert!(version.at_least("1.33.0"));(% assert!(version.at_least("1.35.0"));(% assert!(version.at_least("1.13.2"));я(& assert!(!version.at_least("1.35.1"));)& assert!(!version.at_least("1.55.0"));)1 let version = Version::parse("1.12.5").unwrap();4% assert!(version.at_least("1.12.0"));(& assert!(!version.at_least("1.35.0"));ؑ) ``` W selfversion= Returns `true` if `self` is less than or equal to `version`.@F If `version` is less than `self`, or if `version` is not a valid RustI! version string, returns `false`.Ӕ$ # Example  ```rust  use version_check::Version;ҕ1 let version = Version::parse("1.35.0").unwrap();ڕ4$ assert!(version.at_most("1.35.1"));'$ assert!(version.at_most("1.55.0"));ǖ'$ assert!(version.at_most("1.35.0"));'% assert!(!version.at_most("1.33.0"));(% assert!(!version.at_most("1.13.2"));ԗ( ``` W^selfversionڝ8 Returns `true` if `self` is exactly equal to `version`.;I If `version` is not equal to `self`, or if `version` is not a valid RustL! version string, returns `false`.˚$ # Example  ```rust  use version_check::Version;ʛ1 let version = Version::parse("1.35.0").unwrap();қ4$ assert!(version.exactly("1.35.0"));'% assert!(!version.exactly("1.33.0"));ǜ(% assert!(!version.exactly("1.35.1"));(% assert!(!version.exactly("1.13.2"));( ```Ν W^A3Aselff W 2ǠA3Aselff Wjjfmt gyvwstrp{~%& !"#${C Reads the release channel of the running compiler. If it cannot beFG determined (see the [top-level documentation](crate)), returns `None`.J # Example  ```rust  use version_check::Channel; match Channel::read() {1 Some(c) => format!("The channel is: {}", c),4; None => format!("Failed to read the release channel.")> }; ``` lversion H Parse a Rust release channel from a Rust release version string (of theKH form `major[.minor[.patch[-channel]]]`). Returns `None` if `version` isK! not a valid Rust version string.$ # Example  ```rust  use version_check::Channel;0 let dev = Channel::parse("1.3.0-dev").unwrap();3 assert!(dev.is_dev());9 let nightly = Channel::parse("1.42.2-nightly").unwrap();< assert!(nightly.is_nightly());"3 let beta = Channel::parse("1.32.0-beta").unwrap();6 assert!(beta.is_beta());/ let stable = Channel::parse("1.4.0").unwrap();2 assert!(stable.is_stable());  ``` Npself ) Returns the name of the release channel.,  l self G Returns `true` if this channel supports feature flags. In other words,J< returns `true` if the channel is either `dev` or `nightly`.? # Example  ```rust  use version_check::Channel;0 let dev = Channel::parse("1.3.0-dev").unwrap();3" assert!(dev.supports_features());%9 let nightly = Channel::parse("1.42.2-nightly").unwrap();<& assert!(nightly.supports_features());)3 let beta = Channel::parse("1.32.0-beta").unwrap();6$ assert!(!beta.supports_features());'/ let stable = Channel::parse("1.4.0").unwrap();2& assert!(!stable.supports_features());) ``` wself {? Returns `true` if this channel is `dev` and `false` otherwise.B # Example  ```rust  use version_check::Channel;0 let dev = Channel::parse("1.3.0-dev").unwrap();3 assert!(dev.is_dev());/ let stable = Channel::parse("1.0.0").unwrap();2 assert!(!stable.is_dev()); ``` !wself C Returns `true` if this channel is `nightly` and `false` otherwise.F # Example  ```rust  use version_check::Channel;8 let nightly = Channel::parse("1.3.0-nightly").unwrap();; assert!(nightly.is_nightly());"/ let stable = Channel::parse("1.0.0").unwrap();2 assert!(!stable.is_nightly());" ``` "wself }@ Returns `true` if this channel is `beta` and `false` otherwise.C # Example  ```rust  use version_check::Channel;2 let beta = Channel::parse("1.3.0-beta").unwrap();5 assert!(beta.is_beta());/ let stable = Channel::parse("1.0.0").unwrap();2 assert!(!stable.is_beta()); ``` #wself B Returns `true` if this channel is `stable` and `false` otherwise.E # Example  ```rust  use version_check::Channel;/ let stable = Channel::parse("1.0.0").unwrap();2 assert!(stable.is_stable()); 2 let beta = Channel::parse("1.3.0-beta").unwrap();5 assert!(!beta.is_stable()); ``` $w&l3lselffc &wjj%%fmt' ()6'*-.024@ Reads the release date of the running compiler. If it cannot beCG determined (see the [top-level documentation](crate)), returns `None`.J # Example  ```rust  use version_check::Date; match Date::read() {6 Some(d) => format!("The release date is: {}", d),98 None => format!("Failed to read the release date."); }; ``` *))self '$ Return the original (YYYY, MM, DD).' - S))date I Parse a release date of the form `%Y-%m-%d`. Returns `None` if `date` isL not in `%Y-%m-%d` format. # Example  ```rust  use version_check::Date;/ let date = Date::parse("2016-04-20").unwrap();2& assert!(date.at_least("2016-01-10"));)% assert!(date.at_most("2016-04-20"));(% assert!(date.exactly("2016-04-20"));(2 assert!(Date::parse("March 13, 2018").is_none());5- assert!(Date::parse("1-2-3-4-5").is_none());0 ``` .Nۑ))selfdate4 Returns `true` if `self` occurs on or after `date`.7B If `date` occurs before `self`, or if `date` is not in `%Y-%m-%d`E format, returns `false`. # Example  ```rust  use version_check::Date;/ let date = Date::parse("2020-01-01").unwrap();2& assert!(date.at_least("2019-12-31"));)& assert!(date.at_least("2020-01-01"));)& assert!(date.at_least("2014-04-31"));)' assert!(!date.at_least("2020-01-02"));*' assert!(!date.at_least("2024-08-18"));* ``` 0ʒ^))selfʃdateЃ5 Returns `true` if `self` occurs on or before `date`.8A If `date` occurs after `self`, or if `date` is not in `%Y-%m-%d`D format, returns `false`. # Example À ```rustˀ  use version_check::Date;ۀ/ let date = Date::parse("2020-01-01").unwrap();2% assert!(date.at_most("2020-01-01"));Á(% assert!(date.at_most("2020-01-02"));(% assert!(date.at_most("2024-08-18"));(ʂ& assert!(!date.at_most("2019-12-31"));҂)& assert!(!date.at_most("2014-04-31"));) ``` 2ʒ^)Ƀ)selfdate3 Returns `true` if `self` occurs exactly on `date`.Є6C If `date` is not exactly `self`, or if `date` is not in `%Y-%m-%d`F format, returns `false`.ޅ # Example  ```rust  use version_check::Date;҆/ let date = Date::parse("2020-01-01").unwrap();چ2% assert!(date.exactly("2020-01-01"));(Ƈ& assert!(!date.exactly("2019-12-31"));·)& assert!(!date.exactly("2014-04-31"));)& assert!(!date.exactly("2020-01-02"));)& assert!(!date.exactly("2024-08-18"));؈) ``` 4ʒ^))'73selfϊfՊ'NJʊ 7ʒjj6Ί6>  =>>>> D) > j ĩĩcM?ĩĩ=????22&&   E   & Eĩĩ)&2 E 2I E(M ĩ? ĩjMĩĩ2ĩ2ĩ&ĩ&ĩĩĩsM@)=@@@@   ɱ@ ɱjĩĩsAɱ=AAAA  Ʋ ɱAjĩĩs#sS? Parses (version, date) as available from rustc version string.B =NɱDɱBDDDD E Ʋ ɱDjĩĩĩĩs?C^BCCCC Eĩĩ: )ĩ5 ,ĩɱ̹? C ɺj?ĩĩ ӼӼĩ̹s?+s[G Parses (version, date) as available from rustc verbose version output.J BN!F4ɱEFFFF!!!!ĩrustc!!! Ʋ! !!!!!!!ɱ!F ɱj!!ĩ!ĩ!!".G=EGGGG" " " #" " " ".""%" .ɱ)""""""."G j"."ɱ" " output""."3HɱEHHHH######## ɱ#"3##"/"+"/######"3"H j"3ɱ"ĩ#ĩ# ɱ##s""3  E= Returns (version, date) as available from `rustc --version`.@ E%%3L Reads the triple of [`Version`], [`Channel`], and [`Date`] of the installed#O or running `rustc`.##: If any attribute cannot be determined (see the [top-level$=( documentation](crate)), returns `None`.$+$A To obtain only one of three attributes, use [`Version::read()`],$D* [`Channel::read()`], or [`Date::read()`].%- IAl- min_date- -2J Checks that the running or installed `rustc` was released **on or after***M some date.++K The format of `min_date` must be YYYY-MM-DD. For instance: `2016-12-20` or+N `2017-01-09`.++I If the date cannot be retrieved or parsed, or if `min_date` could not be+LJ parsed, returns `None`. Otherwise returns `true` if the installed `rustc`,M: was release on or after `min_date` and `false` otherwise.-= JN-2 max_date2 22K Checks that the running or installed `rustc` was released **on or before**/N some date./0K The format of `max_date` must be YYYY-MM-DD. For instance: `2016-12-20` or0N `2017-01-09`.00I If the date cannot be retrieved or parsed, or if `max_date` could not be0LJ parsed, returns `None`. Otherwise returns `true` if the installed `rustc`1M; was release on or before `max_date` and `false` otherwise.2> KN27 date7 70I Checks that the running or installed `rustc` was released **exactly** on4L some date.44G The format of `date` must be YYYY-MM-DD. For instance: `2016-12-20` or4J `2017-01-09`.55M If the date cannot be retrieved or parsed, or if `date` could not be parsed,5PF returns `None`. Otherwise returns `true` if the installed `rustc` was6I) release on `date` and `false` otherwise.6, LN7< min_version< <8J Checks that the running or installed `rustc` is **at least** some minimum8M version.9 9K The format of `min_version` is a semantic version: `1.3.0`, `1.15.0-beta`,9N! `1.14.0`, `1.16.0-nightly`, etc.:$:L If the version cannot be retrieved or parsed, or if `min_version` could not:OM be parsed, returns `None`. Otherwise returns `true` if the installed `rustc`;P1 is at least `min_version` and `false` otherwise.;4 MN<A max_versionA A8I Checks that the running or installed `rustc` is **at most** some maximum=L version.> >K The format of `max_version` is a semantic version: `1.3.0`, `1.15.0-beta`,>N! `1.14.0`, `1.16.0-nightly`, etc.?$?L If the version cannot be retrieved or parsed, or if `max_version` could not?OM be parsed, returns `None`. Otherwise returns `true` if the installed `rustc`@P0 is at most `max_version` and `false` otherwise.@3 NNAEversionF E6J Checks that the running or installed `rustc` is **exactly** some version.BMCG The format of `version` is a semantic version: `1.3.0`, `1.15.0-beta`,CJ! `1.14.0`, `1.16.0-nightly`, etc.D$DK If the version cannot be retrieved or parsed, or if `version` could not beDNM parsed, returns `None`. Otherwise returns `true` if the installed `rustc` isDP) exactly `version` and `false` otherwise.E, ONFJQlPQQQQJJJJ}JJJJJQ jJlJ lJcJJJI-H Checks whether the running or installed `rustc` supports feature flags.GKH= In other words, if the channel is either "nightly" or "dev".H@HJ If the version could not be determined, returns `None`. Otherwise returnsHML `true` if the running version supports feature flags and `false` otherwise.IO PpSo? Version number: `major.minor.patch`, ignoring release channel.oBTAppRRSo SARRoooAoooooautomatically_derivedo ooallowo oo unused_qualificationsooVA Aselfootheroooinlineo oo VW A°UoU ppppppppppp p p pp  pppp p p p p p popp ppoooooop o Aoo ppopopopopopppselfoothero __self_1_0p __self_0_0pcmpp oo o automatically_derivedo o o allowo o o  unused_qualificationso o XYZ[\AAAselfo othero o o inlineo o o  XWWoW ppppppppppp p p pp pppp p p p p p pp Somep o  o  o Someo o o pp ppoooo o o po o o ppo po po po po pppo o pselfo othero  __self_1_0p __self_0_0pcmpp o selfo othero o o inlineo o o  YWWoWppppppppp p p p p p p pp pp po  o  pp , ppp po  o o  Yo  o o    o o o o oooooo o o o o o ppo ‚po po po po po po po o o ‚o ‚o selfo othero  __self_1_0p __self_0_0po o o o o o o ‚o o o selfo othero o o inlineo o o  ZWWoWppppppppp p p p p p p pp pp po  o  pp ppp po  o o ‚Zo  o o    o o o o oooooo o o o o o ppo ‚po po po po po po po o o ‚o ‚o selfo othero  __self_1_0p __self_0_0po o o o o o o ‚o o o selfo othero o o inlineo o o  [WWoWppppppppp p p p p p p pp pp po  o  pp ppp po  o o ‚[o  o o  o o o o oooooo o o o o o ppo ‚po po po po po po po o o ‚o ‚o selfo othero  __self_1_0p __self_0_0po o o o o o o ‚o o o selfo othero o o inlineo o o  \WWoWppppppppp p p p p p p pp pp po  o  pp ppp po  o o ‚\o  o o  o o o o oooooo o o o o o ppo ‚po po po po po po po o o ‚o ‚o selfo othero  __self_1_0p __self_0_0po o o o o o o ‚o o o ooautomatically_derivedoooallowooo unused_qualificationsoo^A Aselfo ooinlineooo ^WA]o]ooooAooselfooo o automatically_derivedo o o allowo o o  unused_qualificationso o AAo AAo o automatically_derivedo o o allowo o o  unused_qualificationso o bA Aselfo o o inlineo o o doco o o  hiddeno o o bWjao ao o jo o o jo o selfo o o AAo o automatically_derivedo o o allowo o o  unused_qualificationso o efA AAselfo othero o o inlineo o o eWdo d p p p p p p p p p  p p o o o o o o o o o p p o p o p selfo othero  __self_1_0p  __self_0_0p o selfo othero o o inlineo o o fWdo d p p p p p p p p p  p p o o o o o o o o o p p o p o p selfo othero  __self_1_0p  __self_0_0p o  9hjlngiggiggkggkggmggmggoggoggautomatically_derivedallow unused_qualificationsq self inline q pp selfautomatically_derivedallow unused_qualificationsautomatically_derivedallow unused_qualificationsu self inlinedoc hidden ujttjjself   automatically_derived   allow    unused_qualifications  x self other   inline    x ww                  ν   *                                                           *      self other  __self_vi  __arg_1_vi  automatically_derivedallow unused_qualificationsz3selff zjjyy|8 Release channel: "dev", "nightly", "beta", or "stable".;}l{{| |l{{lautomatically_derivedallow unused_qualificationsl lself inline wl~~lselfautomatically_derivedallow unused_qualificationsllllautomatically_derivedallow unused_qualificationsl lself inlinedoc hidden wjjjself ll  automatically_derived   allow    unused_qualifications  l llself other   inline    w l          self other  __self_1_0 __self_0_0 self other   inline    w          self other  __self_1_0 __self_0_0 automatically_derivedallow unused_qualificationsl3lselff wjj- Release date including year, month, and day.0)'' 'automatically_derivedallow unused_qualifications selfother'inline ʒ                 selfother __self_1_0 __self_0_0cmp '  automatically_derived   allow    unused_qualifications  self other '  inline    ʒ            Some      Some                 self other  __self_1_0 __self_0_0cmp  self other '  inline    ʒ                   ‚                ‚         ‚ ‚ self other  __self_1_0 __self_0_0       ‚   self other '  inline    ʒ                   ‚                ‚         ‚ ‚ self other  __self_1_0 __self_0_0       ‚   self other '  inline    ʒ                   ‚                ‚         ‚ ‚ self other  __self_1_0 __self_0_0       ‚   self other '  inline    ʒ                   ‚                ‚         ‚ ‚ self other  __self_1_0 __self_0_0       ‚   'automatically_derivedallow unused_qualifications self 'inline ʒself'automatically_derivedallow unused_qualifications' '  automatically_derived   allow    unused_qualifications   self '  inline   doc    hidden   ʒj   j   j  self  ' !' ! !automatically_derived ! ! !allow ! ! ! unused_qualifications ! ! self other !' ! !inline ! ! ! ʒ! !!!!!!!!! !!!!! ! ! ! ! ! !!! !! !!self !other ! __self_1_0! __self_0_0! !self other !' ! !inline ! ! ! ʒ! !!!!!!!!! !!!!! ! ! ! ! ! !!! !! !!self !other ! __self_1_0! __self_0_0! !'""automatically_derived"""allow""" unused_qualifications""3selff"'"" ʒjj"ttttttt קjtt versionttt"Etttttttttt"ttttNtttttttt"Et Ejt"ɱtĩtĩtttversiontt"~ S      ES .Sh~   j~ĩ~Sĩs~~3  A   ӲAӲӲversionselfӲӲ AӲӲversionselfӲĞĞӲ̞̞̞̞ĞĞ  ĞӞӞӞԞĞAӲĞӲ̞̞versionselfӲקj version"p"v"p pj"ɱĩĩversion"+ק*+++++j date,ۑ*,,,, Ηۑ, ۑjɱĩĩdate/.//// E . / jĩĩs101111    1 dateself323333   3dateselfɃ545555    5dateselfI e ?Qj"H7'C)+G"/C11k444,55557:y;>R@,BCEE>FdFF(HI@K@NPSSZSrU.XdY2_\[e_:aceAgKiNk@mVofqxtCsuqvOvvwzd{Fh%ؐo2'G֕—.Nt٘Něǜt2 e&ǥŧЬȭAȮ߲#v'esYaQ K g @Rl"I9'E)+H$/D12m444.55557:{;>T@.BCEE@FfFF)HIAKBNPSSZSsU/XeY4_\[e_;aceCgMiPkBmXohqztDsuwvPvvwzf{Hj'ڐq4)Iؕė 0PvۘPƛɜv8g(ɥǧҬέGʮ%x)gu[cS N j ASm"J:'F)+I%/E13p444155557;|;>U@/BCEECFiFF*HIBKCNPSSZStU0XfY7_\[e_@ACEEEF_FPHHHKMPdSSSZ"_ee*g4i;k&m \@ 5B C EEHFpFF !0HIHKJNPSSZTyU5XkY<_\["e_AaceIg Si Vk Hm ^o nqtJsuXvvwzn{%Pr/y<1Q͗YYϛҜǡ£p1ҥЧĪ۬խ$Ӯ. 2p~dl\ S p w4555EHF pFSCvmw0{Yy1ȓ͗YdٚҜuGBҥsP[ Sjy?~!w :"FX&O)O+.O1KG49x445>557 :B;c>$@ACEEEvFVH!0HNKHNPjSSSZTyU5XkY_\[he_Aacgi!k m"o6q)suJsDvv]vnww5{{ItSYy1ʓ'ӗ9_Řeٚ5ҜvݝHACҥuT]P*Ut۳ݷVHZyA~%>"Vh&_)S+._1[K4I4B57:F;g>(@BCEFZH1@HRKXNPnSSZ;TUEX{Y_\-[le_Qa&c gi%km&o:q-suZsvw{MxW+9E U[M_ z45ESpw7{[{3̓hܚ՜yKEԥwV_Xw|D(FvK"&&)j+.1T44L57:V;n>/@ BCE FhHH[KNPxSS [_ze"g'i.km/oCq6suGvvw{W_5ЙBN̨^ЯfXi+{ K"cq&o&)j+.i1cT4Q44 5L557#:V;n>/@ BCEE F{FhH;JH[KhNPxSSS [MTUQXY_\7[ze_`a3c"g'i.km/oCq6sudsGvv_vwwwA{{W _b:֓5֗<bȘpЙBݜSN Lۥ~`̨f^,`ЯfXiL4+ S" '.)x+.1b4445Z557:d;|>=@BCEEFFpHHiK NPSSS[_e(g2i9k$m:oNqAsuMvvgv}wwG{{dɋlh @ܓBޗ$DjИvޙ PY V(R$fۨ lg5f߯ugxR::ar_WCTUXY#][`acsvw{h͋pF#TZ)lzl}PGFB0'?qU-XcYZ!_\9aceotvz~ĂҐ!H ʬ®ٲmCK3G`t3Oc/H\p!?Sk"6Sg/CW 3 G p  ) L o   + C W w   ) = m  $ 8 Q e .BVm !5Iz-DXq5I]q';Ocw#7Pdx#?So 8L`z/C[t&CWs 3G # 7 ` t  < _   3 G g ~   - ] q  ( A U p 2F]q%9j~4Hau %9Ma+?Sg{!ĩ!!666667775 ĩ݆%   KJLNMOP*.240I" !#$    ĩ"ĩ"ɱS                 AAAAAA   3ĩ3333S33W           ĩjjK#Ujjj@4 'UU #U7OK" ɱ# K@#                                                                                                    B7BDDEĩEEĩEEESDDĩEĩDĩDDĩ@ĩ@@ĩ@@@ĩAAACCCCCBBĩB&&))Ӽ)))ĩ))))Ӽ***ĩ*ĩ jĩĩj))**ĩ*ĩ j)j*ĩ)j*ĩ))  "!!HHHHHHHHHH>>>>>>>>>>?6==77666665  ,   jj, jj,ɱ,ĩĩ,A,ĩ,A,ĩɱõ,,,A,ĩɱ̹,ĩĩ ,l,ĩɱ,@ j,@j,ɱ,       ,,,j,),,,ĩ, , ,,,,, ,,ɱ,ɱ,ɱAȬ,ɱl,ɱ,ɱ,ɱ,,,ĩ/ɱ..S.ɱ.j..//   / jĩ SSSjj                      (   j  j########%$#########%%%%j(((((7z%%%%%$$-ĩ-----j--&,600j00j000j00000000ĩ6666666$%@j%%ĩjjĩjjĩjjĩڃ5ĩ$@j ĩ 7"crate&core# corecorecorecore corecore!""core$core'corecorecorecorecore corecore.$cratecrate%core"!!corecorecorecore corecoreEq78core_intrinsics derive_eqstructural_match Clone6;core_intrinsicsderive_clone_copy  PartialEq 7?core_intrinsicsstructural_match Cloneo6;core_intrinsicsderive_clone_copy  PartialEqo 7?core_intrinsicsstructural_match  .Clone6;core_intrinsicsderive_clone_copy % PartialEq 7?core_intrinsicsstructural_match "Clone6;core_intrinsicsderive_clone_copy  PartialEq 7?core_intrinsicsstructural_match Copy=:core_intrinsicsderive_clone_copyDebugxCcore_intrinsics3Ordo89core_intrinsics Copyo=:core_intrinsicsderive_clone_copyOrd89core_intrinsics 'Copy=:core_intrinsicsderive_clone_copy$DebugxCcore_intrinsics3!Copy=:core_intrinsicsderive_clone_copyDebugxCcore_intrinsics3prelude_importEq78core_intrinsics derive_eqstructural_match  PartialOrdo 8@core_intrinsicsEqo78core_intrinsics derive_eqstructural_match  PartialOrd 8@core_intrinsics&Eq78core_intrinsics derive_eqstructural_match #derivederive9deriveoderive>>?>N> ?>C>>8>?>->>>">>z>o> >>d>>>Y>>"?CkEQEE7EM@jDhB @3D8BB?CA|?CyA1?SC4A C@DB@DB@Y/home/seth/.cargo/registry/src/github.com-1ecc6299db9ec823/version_check-0.9.3/src/lib.rsnR^[llnLNKMCP ):<L1K )-+*8J8< )*=38> )#BDAPO3OP(= ## CV36%>]BK^0U.H)#7N8 AHKHBBP>,E.6A>6)><> NOMN>52LOOMN?52LMKQJ-3.DN O%PQ5;;HM O%PQ4;;HNK%OQ-97HLANP03 4<7+3HF 5OG.HISS %2M '2U  .,>*($6IQcSc  &F!I+*2@FI+*2@4!I+2BV +(&"##%$- 2228020,0> 9,-+(,--A14,+6+2)34+)'<%E  %%)&&0]/home/seth/.cargo/registry/src/github.com-1ecc6299db9ec823/version_check-0.9.3/src/channel.rsAUxPE|B*V- <-KO$ 9C '!.:PP)$8A';!7% 5&%1).&+( 1' "(& OD$8*A.;,7. .// G$87# # K$@'7' '# H$:!7$ $  J$7%:$ &"  ;'͂䊂ޚġyZ/home/seth/.cargo/registry/src/github.com-1ecc6299db9ec823/version_check-0.9.3/src/date.rs+%T5tH(#17> HO!>@ $!(1,(&&%Q"!7.--:5 /,3 2=<J!!7...// 1'=I!!7---.. 0';K!!7-.... 0';'- %L  *****܂ version_checkx86_64-unknown-linux-gnu-92375369beb0ef58£ʱt\zꌆ&Ú 'Я  F