JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr ԓg@ dZddlmZddlZddlZddlZddlmZddlm Z e rddlm Z e e eje fZ dZdZd Zd Zd Zd Zd ZdZdZdZdZdej2fdej4fdej4fdej2fdej2fdej2fdej2fgZ edej2fgzZ dej2fdej2fgZ dej4fdej4fdej2fdej2fdej2fgZ dej4fdej4fdej>fdej>fdej2fdej2fgZ dej2fdej2fgZ! dej2fdej2fd ejDd!zfd"ej2fd#ej2fd$ej2fd%ej2fd&ej4fd'ej4fd(ej2fdej2fg Z# dej2fdej2fd ejDd!zfd"ej>fd#ej>fd$ej>fd%ej>fd&ej4fd'ej4fd(ej2fdej2fg Z$ e!d)ej2fd*ej2fgzZ% e!d+ej2fd,ej2fd*ej2fd-ej2fgzZ& d5d.Z' d6 d7d/Z(d8d0Z)d9d1Z* d6 d:d2Z+d;d3Z,d.FatHeaderN)__name__ __module__ __qualname__fat_header_fields_fields_r*r.r, FatHeaderrM(s,r.rSceZdZeZy2extract_macosx_min_system_version..FatArchN)rNrOrPfat_arch_fieldsrRr*r.r,FatArchrV.s.Hr.rXceZdZeZyrU)rNrOrPfat_arch_64_fieldsrRr*r.r,rXz2extract_macosx_min_system_version..FatArch3s1Hr.) rr)openrE FAT_MAGIC FAT_MAGIC_64MH_MAGIC MH_MAGIC_64r:rIrangerread_mach_headerrr CPU_TYPE_ARM64lenappend ValueErrormax) path_to_librBrDrCrS fat_headerrX_ fat_arch_list versions_listelr s r,!extract_macosx_min_system_versionro s k4 H"A(A"N <  <;O O  ! I|4 4 -I -#9h7Jy(/i/ 2i27E6E87EE8,E87 E  E8 EE8EE8 E5*E84E55E88Fcpt||\}}|tk(rdnd}Gdd|}|dk(r Gdd|}n Gdd|}t||}t|jD]}|j } t||} |j | | jtk(r.Gdd |} t| |} t| jcS| jtk(r.Gd d |} t| |} t| jcS|j | | jzy ) z This function parses a Mach-O header and extracts information about the minimal macOS version. :param lib_file: reference to opened library file with pointer 3264ceZdZeZy)%read_mach_header..SegmentBaseN)rNrOrPsegment_base_fieldsrRr*r.r, SegmentBasertgs&r.rvceZdZeZy$read_mach_header..MachHeaderN)rNrOrPmach_header_fieldsrRr*r.r, MachHeaderryls)Hr.r{ceZdZeZyrx)rNrOrPmach_header_fields_64rRr*r.r,r{z$read_mach_header..MachHeaderqs,Hr.ceZdZeZy)+read_mach_header..VersionMinCommandN)rNrOrPversion_min_command_fieldsrRr*r.r,VersionMinCommandr{s5r.rceZdZeZy)&read_mach_header..VersionBuildN)rNrOrPbuild_version_command_fieldsrRr*r.r, VersionBuildrs7r.rN)rEr`rIrbr r1r2rLC_VERSION_MIN_MACOSX parse_versionr LC_BUILD_VERSIONr#r)rBr2 base_classrCarchrvr{ mach_header_ipos segment_baser version_infors r,rcrcZs% ?xNJ 8+4D'j' t| * *  - -J1KK%%&mmo h7  c   4 4 6J 6%%6AL !5!56 6   !1 1 8z 8%\8z0calculate_macosx_platform_tag..sA)@AQ)@.Nr MACOSX_DEPLOYMENT_TARGETc32K|]}t|ywrGrrs r,rz0calculate_macosx_platform_tag..s MqCFMrz[WARNING] MACOSX_DEPLOYMENT_TARGET is set to a lower value ({}) than the version on which the Python interpreter was compiled ({}), and will be ignored. c32K|]}t|ywrGstrrs r,rz0calculate_macosx_platform_tag..s;]SV]rc32K|]}t|ywrGrrs r,rz0calculate_macosx_platform_tag..s:\SV\rz.dylibz.sork r[z this filez these filesz}[WARNING] This wheel needs a higher macOS version than {} To silence this warning, set MACOSX_DEPLOYMENT_TARGET to at least z or recreate z( with lower MACOSX_DEPLOYMENT_TARGET: z,is set in MACOSX_DEPLOYMENT_TARGET variable.z8the version your Python interpreter is compiled against.)splittuplereosenvironr=stderrwriteformatjoinwalkendswithpathrorhvaluesritems) archive_root platform_tagprefix base_versionsuffix deploy_target start_version versions_dictdirpath _dirnames filenamesfilenamelib_pathmin_verr+fin_base_versionkvproblematic_files files_form error_messages r,calculate_macosx_platform_tagrs( $0#5#5c#: FL&A););C)@AAL#LA$Q+ |  !! !!RZZ/ JJ'ABHHM  &bq)  b *1-q1M < ' JJ  %%+VHH;];;HH:\::& )L |  !! ! M02M)+)>%I!H  *h.?.?.F77<<:;HE&%alGqzB#*1:q/.5M(+"*? =A<]-A-A-C)DE xx >AQ >?|#+8+>+>+@V+@41aA DUQ+@V II&78  !Q &$J&J Q     ,  , /@  @  & 3)00>M*00JM 'C<"22S86AL =!?Vs9K* K8K)r+rreturnrrG)rBrr2 int | Nonerz"tuple[type[ctypes.Structure], int])rHztype[ctypes.Structure]rBr)rir)rBrr2rrztuple[int, int, int] | None)r rrztuple[int, int, int])rStrPathrrrr).__doc__ __future__rr3rr=iortypingrrrPathLikerr^r9r_r:r`r;rar<rrrdr4c_intrzr}rQrWc_uint64rZruc_charsegment_command_fieldssegment_command_fields_64rrr-rErIrorcrrr*r.r,rs&P#  CS))*G?         foo 6<< ! foo6??# foo +z6??.K-LL v/+v1OP 6<<  v V__ foo  6<<  v V__ foo!  v/)V__1MN# FOO  "# v v !  v foo $ FOO  "# v v !  v foo  1  FOO4  3! foo FOO v 6  ## #(#6U7x// /!/dOr.