grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026ó C„aÖüw0ã ó¦•Sr/SQrSSKrSSKrSSKrSSKrSSKJr SSKrSSK r SSK r SSK r SSK J r \R"SS\S9r\"5R%\R&5 S r"S S 5rS r\ R."S 5rS2SjrSr\ R."S\ R65rSrSrSr"SS5r "SS5r!"SS\!5r"Sr#"SS\$5r%SSSS S!.r&\'"5r("S"S#5r)S$r*\+\,\-\R\.4r/"S%S&\'5r0S'r1\2\3"\#\ \"S(9\4\3"\1\)\0S(90r5S\3S)S*.S+jr6S\3S)S*.S,jr7\2S-S)S)S..S/jr8\2S)S-S)S0.S1jr9g)3a>plistlib.py -- a tool to generate and parse MacOSX .plist files. The property list (.plist) file format is a simple XML pickle supporting basic object types, like dictionaries, lists, numbers and strings. Usually the top level object is a dictionary. To write out a plist file, use the dump(value, file) function. 'value' is the top level object, 'file' is a (writable) file object. To parse a plist from a file, use the load(file) function, with a (readable) file object as the only argument. It returns the top level object (again, usually a dictionary). To work with plist data in bytes objects, you can use loads() and dumps(). Values can be strings, integers, floats, booleans, tuples, lists, dictionaries (but only with string keys), Data, bytes, bytearray, or datetime.datetime objects. Generate Plist example: import datetime as dt import plistlib pl = dict( aString = "Doodah", aList = ["A", "B", 12, 32.1, [1, 2, 3]], aFloat = 0.1, anInt = 728, aDict = dict( anotherString = "", aThirdString = "M\xe4ssig, Ma\xdf", aTrueValue = True, aFalseValue = False, ), someData = b"", someMoreData = b"" * 10, aDate = dt.datetime.now() ) print(plistlib.dumps(pl).decode()) Parse Plist example: import plistlib plist = b''' foo bar ''' pl = plistlib.loads(plist) print(pl["foo"]) )ÚInvalidFileExceptionÚFMT_XMLÚ FMT_BINARYÚloadÚdumpÚloadsÚdumpsÚUIDéN)ÚBytesIO)Ú ParserCreateÚ PlistFormatzFMT_XML FMT_BINARY)Úmoduleicó8•\rSrSrSrSrSrSrSrSr Sr g ) r éPcó”•[U[5(d [S5eUS:¼a [S5eUS:a [S5eXlg)Nzdata must be an intìzUIDs cannot be >= 2**64r úUIDs must be positive)Ú isinstanceÚintÚ TypeErrorÚ ValueErrorÚdata©Úselfrs Ú//opt/alt/python313/lib64/python3.13/plistlib.pyÚ__init__Ú UID.__init__QsF€Ü˜$¤×$Ñ$ÜÐ1Ó2Ð 2Ø �7‹?ÜÐ6Ó7Ð 7Ø �!‹8ÜÐ4Ó5Ð 5Ø� ócó•UR$©N©r©rs rÚ __index__Ú UID.__index__Zs €Ø�y‰yÐrcód•URR<S[UR5<S3$)NÚ(Ú))Ú __class__Ú__name__Úreprrr"s rÚ__repr__Ú UID.__repr__]s€ØŸ>™>×2Ô2´D¸¿¹¶OÐDÐDrcó4•URUR44$r )r(rr"s rÚ __reduce__ÚUID.__reduce__`s€Ø�~‰~ § ¡ ˜|Ð+Ð+rcój•[U[5(d[$URUR:H$r )rr ÚNotImplementedr)rÚothers rÚ__eq__Ú UID.__eq__cs(€Ü˜%¤×%Ñ%Ü!Ð !Ø�y‰y˜EŸJ™JÑ&Ð&rcó,•[UR5$r )Úhashrr"s rÚ__hash__Ú UID.__hash__hs€Ü�D—I‘I‹Ðrr!N) r)Ú __module__Ú __qualname__Ú__firstlineno__rr#r+r.r3r7Ú__static_attributes__©rrr r Ps!†òòòEò,ò'õ rr sŽ zv[\x00\x01\x02\x03\x04\x05\x06\x07\x08\x0b\x0c\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f]cóÈ•US-S-n/n[S[U5U5H.nXXB-nUR[R"U55 M0 SR U5$)Néér r)ÚrangeÚlenÚappendÚbinasciiÚ b2a_base64Újoin)ÚsÚ maxlinelengthÚ maxbinsizeÚpiecesÚiÚchunks rÚ_encode_base64rM|sa€à Ñ" AÑ%€JØ €FÜ �1”c˜!“f˜jÖ )ˆØ�a‘nÐ%ˆØ� ‰ ”h×)Ò)¨%Ó0Ö1ñ*ð �8‰8�FÓ Ðrcó¢•[U[5(a%[R"UR S55$[R"U5$)Núutf-8)rÚstrrDÚ a2b_base64Úencode)rGs rÚ_decode_base64rS…s<€Ü�!”S×ÑÜ×"Ò" 1§8¡8¨GÓ#4Ó5Ð5ô×"Ò" 1Ó%Ð%rz{(?P\d\d\d\d)(?:-(?P\d\d)(?:-(?P\d\d)(?:T(?P\d\d)(?::(?P\d\d)(?::(?P\d\d))?)?)?)?)?Zcó$•Sn[RU5R5n/nUH&nX5nUc OUR[ U55 M( U(a$[ R "US[ R 06$[ R "U6$)N)ÚyearÚmonthÚdayÚhourÚminuteÚsecondÚtzinfo)Ú _dateParserÚmatchÚ groupdictrCrÚdatetimeÚUTC)rGÚaware_datetimeÚorderÚgdÚlstÚkeyÚvals rÚ_date_from_stringrg’s~€Ø @€EÜ × Ñ ˜1Ó × 'Ñ 'Ó )€BØ €Cۈ؉gˆØ ‰;Ù Ø � ‰ ”3�s“8Öñ ö Ü× Ò  #Ð;¬h¯l©lÑ;Ð;Ü × Ò ˜cÐ "Ð"rcóÜ•U(aUR[R5nSURURUR UR URUR4-$)Nz%04d-%02d-%02dT%02d:%02d:%02dZ) Ú astimezoner_r`rUrVrWrXrYrZ)Údras rÚ_date_to_stringrk sO€ÞØ �L‰LœŸ™Ó &ˆØ +Ø �‰�—‘˜Ÿ™Ø �‰�—‘˜!Ÿ(™(ð/ñ ðrcó•[RU5nUb [S5eURSS5nURSS5nURSS5nURSS5nURS S 5nU$) Nz;strings can't contain control characters; use bytes insteadz Ú Ú Ú&z&Úz>)Ú_controlCharPatÚsearchrÚreplace)ÚtextÚms rÚ_escaperw¨s~€Ü×јtÓ$€AØ�}Üð-ó.ð .à �<‰<˜ Ó %€DØ �<‰<˜˜dÓ #€DØ �<‰<˜˜WÓ %€DØ �<‰<˜˜VÓ $€DØ �<‰<˜˜VÓ $€DØ €Krcó�•\rSrSrSSjrSrSrSrSrSr Sr S r S r S r S rS rSrSrSrSrSrSrSrSrSrg)Ú _PlistParseré´cóF•/UlSUlSUlXlX lgr )ÚstackÚ current_keyÚrootÚ _dict_typeÚ_aware_datetime©rÚ dict_typeras rrÚ_PlistParser.__init__µs#€ØˆŒ ØˆÔØˆŒ Ø#ŒØ-ÕrcóF•[5UlURURlURURlUR URlURURl URRU5 UR$r ) r ÚparserÚhandle_begin_elementÚStartElementHandlerÚhandle_end_elementÚEndElementHandlerÚ handle_dataÚCharacterDataHandlerÚhandle_entity_declÚEntityDeclHandlerÚ ParseFiler~)rÚfileobjs rÚparseÚ_PlistParser.parse¼so€Ü"“nˆŒ Ø*.×*CÑ*Cˆ� ‰ Ô'Ø(,×(?Ñ(?ˆ� ‰ Ô%Ø+/×+;Ñ+;ˆ� ‰ Ô(Ø(,×(?Ñ(?ˆ� ‰ Ô%Ø � ‰ ×јgÔ&Ø�y‰yÐrcó•[S5e)Nz8XML entity declarations are not supported in plist files)r)rÚ entity_nameÚis_parameter_entityÚvalueÚbaseÚ system_idÚ public_idÚ notation_names rrŒÚ_PlistParser.handle_entity_declÅs€ô#Ð#]Ó^Ð^rcóJ•/Ul[USU-S5nUb U"U5 gg)NÚbegin_)rÚgetattr)rÚelementÚattrsÚhandlers rr†Ú!_PlistParser.handle_begin_elementËs.€ØˆŒ ܘ$ ¨7Ñ 2°DÓ9ˆØ Ñ Ù �E�Nð rcó:•[USU-S5nUbU"5 gg)NÚend_)r�)rržr s rrˆÚ_PlistParser.handle_end_elementÑs%€Ü˜$ ¨Ñ 0°$Ó7ˆØ Ñ Ù �Ið rcó:•URRU5 gr )rrCrs rrŠÚ_PlistParser.handle_dataÖs€Ø � ‰ ×јÕrcóà•URbg[URS[5(d"[ SUR R -5eXRSUR'SUlgUR(dXlg[URS[5(d"[ SUR R -5eURSRU5 g)Néÿÿÿÿzunexpected element at line %d) r}rr|Údictrr…ÚCurrentLineNumberr~ÚlistrC©rr•s rÚ add_objectÚ_PlistParser.add_objectÙsÀ€Ø × Ñ Ñ 'ܘdŸj™j¨™n¬d×3Ñ3Ü Ð!@Ø!%§¡×!>Ñ!>ñ"?ó@ð@à/4�J‰J�r‰N˜4×+Ñ+Ñ ,Ø#ˆDÕ Ø——à�Iä˜dŸj™j¨™n¬d×3Ñ3Ü Ð!@Ø!%§¡×!>Ñ!>ñ"?ó@ð@à �J‰J�r‰N× !Ñ ! %Õ (rcóJ•SRUR5n/UlU$)NÚ)rFrrs rÚget_dataÚ_PlistParser.get_dataés €Ø�w‰w�t—y‘yÓ!ˆØˆŒ ؈ rcó|•UR5nURU5 URRU5 gr )rr­r|rC)rrŸrjs rÚ begin_dictÚ_PlistParser.begin_dictðs,€Ø �O‰OÓ ˆØ �‰˜ÔØ � ‰ ×ј!Õrcó¶•UR(a.[SURURR4-5eURR 5 g)Nz%missing value for key '%s' at line %d)r}rr…rªr|Úpopr"s rÚend_dictÚ_PlistParser.end_dictõsI€Ø × × ÜÐDØ"×.Ñ.¨t¯{©{×/LÑ/LÐMñNóOð Oà � ‰ �‰ÕrcóØ•UR(d"[URS[5(d"[ SUR R -5eUR5Ulg)Nr¨zunexpected key at line %d)r}rr|r©rr…rªr±r"s rÚend_keyÚ_PlistParser.end_keyûsO€Ø × × ¤:¨d¯j©j¸©n¼d×#CÑ#CÜÐ8Ø!Ÿ[™[×:Ñ:ñ;ó<ð <àŸ=™=›?ˆÕrcó`•/nURU5 URRU5 gr )r­r|rC)rrŸÚas rÚ begin_arrayÚ_PlistParser.begin_arrays%€Ø ˆØ �‰˜ÔØ � ‰ ×ј!Õrcó8•URR5 gr )r|r·r"s rÚ end_arrayÚ_PlistParser.end_arrays€Ø � ‰ �‰Õrcó&•URS5 g)NT©r­r"s rÚend_trueÚ_PlistParser.end_true s€Ø �‰˜Õrcó&•URS5 g)NFrÅr"s rÚ end_falseÚ_PlistParser.end_false s€Ø �‰˜Õrcóè•UR5nURS5(dURS5(aUR[US55 gUR[U55 g)NÚ0xÚ0Xé)r±Ú startswithr­r)rÚraws rÚ end_integerÚ_PlistParser.end_integersL€Ø�m‰m‹oˆØ �>‰>˜$× Ñ  3§>¡>°$×#7Ñ#7Ø �O‰OœC  R›LÕ )à �O‰OœC ›HÕ %rcóT•UR[UR555 gr )r­Úfloatr±r"s rÚend_realÚ_PlistParser.end_reals€Ø �‰œ˜dŸm™m›oÓ.Õ/rcóB•URUR55 gr )r­r±r"s rÚ end_stringÚ_PlistParser.end_strings€Ø �‰˜Ÿ ™ ›Õ(rcóT•UR[UR555 gr )r­rSr±r"s rÚend_dataÚ_PlistParser.end_datas€Ø �‰œ t§}¡}£Ó7Õ8rcóf•UR[UR5URS95 g)N)ra)r­rgr±r€r"s rÚend_dateÚ_PlistParser.end_dates)€Ø �‰Ô)¨$¯-©-«/Ø9=×9MÑ9MñOõ Pr)r€rr}rr…r~r|N©F)r)r9r:r;rr�rŒr†rˆrŠr­r±r´r¸r»r¿rÂrÆrÉrÑrÕrØrÛrÞr<r=rrryry´sh†ô.òò_ò ò ò ò)ò òò ò +ò ò òòò&ò0ò)ò9õPrrycó:•\rSrSrS SjrSrSrS SjrSrSr g) Ú_DumbXMLWriteri$có6•Xl/UlX lX0lgr )Úfiler|Ú _indent_levelÚindent)rräÚ indent_levelræs rrÚ_DumbXMLWriter.__init__%s€ØŒ ؈Œ Ø)ÔØ� rcóŒ•URRU5 URSU-5 U=RS- slg)Nz<%s>é)r|rCÚwritelnrå©rržs rÚ begin_elementÚ_DumbXMLWriter.begin_element+s6€Ø � ‰ ×ј'Ô"Ø � ‰ �V˜gÑ%Ô&Ø ×Ò˜aÑÖrcóº•URS:”deURR5U:XdeU=RS-slURSU-5 g)Nr rêz)rår|r·rërìs rÚ end_elementÚ_DumbXMLWriter.end_element0sQ€Ø×!Ñ! AÓ%Ð%Ð%Ø�z‰z�~‰~Ó 7Ó*Ð*Ð*Ø ×Ò˜aÑÕØ � ‰ �W˜wÑ&Õ'rNc ó†•Ub*[U5nURSU<SU<SU<S35 gURSU-5 g)Nrprqz)rwrë)rržr•s rÚsimple_elementÚ_DumbXMLWriter.simple_element6s7€Ø Ñ Ü˜E“NˆEØ �LŠL«'³5»'ÐBÕ Cð �L‰L˜ 7Ñ*Õ +rcó.•U(as[U[5(aURS5nURR UR UR -5 URR U5 URR S5 g)NrOó )rrPrRräÚwriteråræ)rÚlines rrëÚ_DumbXMLWriter.writeln>sa€Þ ô˜$¤×$Ñ$Ø—{‘{ 7Ó+�Ø �I‰I�O‰O˜D×.Ñ.°·±Ñ<Ô =Ø �I‰I�O‰O˜DÔ !Ø � ‰ �‰˜Õr)rårärær|)r Ú r ) r)r9r:r;rrírðrórër<r=rrrârâ$s†ôò  ò (ô ,õ rrâcó@•\rSrSrS SjrSrSrSrSrSr Sr g ) Ú _PlistWriteriJcóŒ•U(aUR[5 [RXX#5 XPlX`lXplgr )r÷Ú PLISTHEADERrârÚ _sort_keysÚ _skipkeysr€)rrärçræÚ writeHeaderÚ sort_keysÚskipkeysras rrÚ_PlistWriter.__init__Ks3€ö Ø �J‰J”{Ô #Ü×Ñ ¨LÔAØ#ŒØ!ŒØ-Õrcój•URS5 URU5 URS5 g)Nzz)rëÚ write_valuer¬s rr÷Ú_PlistWriter.writeVs)€Ø � ‰ Ð.Ô/Ø ×Ñ˜ÔØ � ‰ �ZÕ rcóV•[U[5(aURSU5 gUSLaURS5 gUSLaURS5 g[U[5(a1SUs=::aS:aO OURSS U-5 g[ U5e[U[ 5(aURS [ U55 g[U[5(aURU5 g[U[[45(aURU5 g[U[R5(a&URS [XR55 g[U[[ 45(aUR#U5 g[%S ['U5-5e) NÚstringTÚtrueFÚfalselûÿÿÿrÚintegerz%dÚrealÚdatezunsupported type: %s)rrPrórÚ OverflowErrorrÔr*r©Ú write_dictÚbytesÚ bytearrayÚ write_bytesr_rkr€Útupler«Ú write_arrayrÚtyper¬s rrÚ_PlistWriter.write_value[sF€Ü �eœS× !Ñ !Ø × Ñ  ¨%Õ 0à �dŠ]Ø × Ñ  Õ 'à �eŠ^Ø × Ñ  Õ (ä ˜œs× #Ñ #ؘ5Õ* 7Ö*Ø×#Ñ# I¨t°e©|Õ<ä# EÓ*Ð*ä ˜œu× %Ñ %Ø × Ñ  ¬¨U« Õ 4ä ˜œt× $Ñ $Ø �O‰O˜EÕ "ä ˜¤¤yÐ1× 2Ñ 2Ø × Ñ ˜UÕ #ä ˜œx×0Ñ0× 1Ñ 1Ø × Ñ  Ü /°×7KÑ7KÓ Lõ Nô˜¤¤t˜}× -Ñ -Ø × Ñ ˜UÕ #ôÐ2´T¸%³[Ñ@ÓAÐ ArcóŒ•URS5 U=RS-sl[SS[URUR-R 55- 5n[ X5RS5HnU(dM URU5 M U=RS- slURS5 g)NrrêrÎéLrö) ríråÚmaxrBræÚ expandtabsrMÚsplitrërð)rrrHrøs rrÚ_PlistWriter.write_bytes~s£€Ø ×ј6Ô"Ø ×Ò˜aÑÕÜØ Ø ”�d—k‘k D×$6Ñ$6Ñ6×BÑBÓDÓEÑ EóGˆ ô# 4Ó7×=Ñ=¸eÖDˆD߈tØ— ‘ ˜TÖ"ñEð ×Ò˜aÑÕØ ×Ñ˜Õ rcó²•U(a¿URS5 UR(a[UR55nOUR5nUH[up4[ U[ 5(dUR (aM-[S5eURSU5 URU5 M] URS5 gURS5 g)Nr©úkeys must be stringsre) rírÿÚsortedÚitemsrrPrrrórrð)rrjr!rer•s rrÚ_PlistWriter.write_dict‹s¢€Þ Ø × Ñ ˜vÔ &Ø��ܘqŸw™w›yÓ)‘àŸ™› �ã#‘ �Ü! #¤s×+Ñ+Ø—~—~Ù Ü#Ð$:Ó;Ð;Ø×#Ñ# E¨3Ô/Ø× Ñ  Ö'ñ $ð × Ñ ˜VÕ $ð × Ñ  Õ 'rcó®•U(a=URS5 UHnURU5 M URS5 gURS5 g)NÚarray)rírrðró)rr$r•s rrÚ_PlistWriter.write_arrayŸsI€Þ Ø × Ñ ˜wÔ 'Û�Ø× Ñ  Ö'ñà × Ñ ˜WÕ %ð × Ñ  Õ (r)r€rrÿN)r ó rêTFF) r)r9r:r;rr÷rrrrr<r=rrrürüJs(†àBCØ;@ô .ò!ò !BòF !ò(õ()rrücóv•SnUHnURU5(dM g [RS4[RS4[RS44H]up4URU5(dMUH:nX5R S5R U5-nUS[U5U:XdM9 g M_ g)N)s6xBBQQQ)Ú_fpÚseekÚosÚSEEK_ENDÚreadrBrÚstructÚunpackÚ _ref_sizeÚ _read_intsÚ_object_offsetsÚ _undefinedÚ_objectsÚ _read_objectÚOSErrorÚ IndexErrorÚerrorrr)rÚfpÚtrailerÚ offset_sizeÚ num_objectsÚ top_objectÚoffset_table_offsets rr�Ú_BinaryPlistParser.parseßsÕ€ð )ð ŒHØ �H‰H�M‰M˜#œrŸ{™{Ô +Ø—h‘h—m‘m BÓ'ˆGÜ�7‹|˜rÓ!Ü*Ó,Ð,ô— ’ ˜j¨'Ó2ñ Øœ^¨[Ø#à �H‰H�M‰MÐ-Ô .Ø#'§?¡?°;Ó#LˆDÔ Ü'˜L¨;Ñ6ˆDŒMØ×$Ñ$ ZÓ0Ð 0øäœ¤V§\¡\´=Üðó )ä&Ó(Ð (ð )ús ‚CCÃ4D cóÚ•US:XadURRS5SS-nSU-nS[U-n[R"X@RRU55S$U$)z#return the size of the next object.érêr r@rq)rGrKÚ_BINARY_FORMATrLrM)rÚtokenLrvrGÚfs rÚ _get_sizeÚ_BinaryPlistParser._get_sizeøsc€à �S‹=Ø—‘— ‘ ˜aÓ  Ñ# cÑ)ˆAØ�Q‘ˆAØ”n QÑ'Ñ'ˆAÜ—=’= §H¡H§M¡M°!Ó$4Ó5°aÑ8Ð 8àˆ rcóô•[U[5nURRU5n[ U5U:wa[ eX!:XaU$[X!U- 5nX0RRU5- nX$- nMMr )ÚminÚ_MIN_READ_BUF_SIZErGrKrBr)rÚsizeÚcursizerÚdeltas rÚ_readÚ_BinaryPlistParser._readsp€Ü�dÔ.Ó/ˆØ�x‰x�}‰}˜WÓ%ˆØÜ�4‹y˜GÓ#Ü*Ð*Ø‹Ø� ܘ¨¡Ó0ˆEØ —H‘H—M‘M %Ó(Ñ (ˆDØ Ñ ˆGñrcóò^^•URTU-5mT[;a#[R"SU[T3T5$T(d [ 5e[ UU4Sj[ STU-T555$)Nrqc3óZ># •UH n[RTXT-S5v• M" g7f)ÚbigN)rÚ from_bytes)Ú.0rKrrhs €€rÚ Ú0_BinaryPlistParser._read_ints..s/øé€ð<Ú":˜QôŸ™¨¨Q°D±Ð(9¸5×AÐAÚ":ùsƒ(+r )rkr`rLrMrrrA)rÚnrhrs `@rrOÚ_BinaryPlistParser._read_intssrù€Ø�z‰z˜$ ™(Ó#ˆØ ”>Ó !Ü—=’= 1 Q C¬°tÑ(<Ð'=Ð!>ÀÓEÐ EæÜ*Ó,Ð,Üõ<Ü"'¨¨4°!©8°TÔ":ó<ó<ð fr?é#z>dé3éÑ©r[)Úsecondsé@rr(é`r>úutf-16beé€é éÐ)rRrQrPrGrHrKrrprLrMrCr_r`Ú timedeltarcrkr-r rwrCrSrÚziprr)rÚrefÚresultÚoffsetÚtokenÚtokenHrarbÚepochrGrÚobj_refsÚxÚkey_refsÚkÚos rrSÚ_BinaryPlistParser._read_objectsV€ð —‘˜sÑ#ˆØ œÒ #؈Mà×%Ñ% cÑ*ˆØ �‰� ‰ �fÔØ—‘— ‘ ˜aÓ  Ñ#ˆØ ™ u¨t¡|�à �D‹=ØŠFà �d‹]ØŠFà �d‹]ØŠFð �d‹]ØŠFà �t‹^Ü—^‘^ D§H¡H§M¡M°!°v±+Ó$>Ø$)°&¸A±+ð$ð?ŠFð�d‹]Ü—]’] 4¨¯©¯©°qÓ)9Ó:¸1Ñ=ŠFà �d‹]Ü—]’] 4¨¯©¯©°qÓ)9Ó:¸1Ñ=ŠFà �d‹]Ü— ’ ˜d D§H¡H§M¡M°!Ó$4Ó5°aÑ8ˆAð×!×!Ü ×)Ò)¨$°°1¼X¿\¹\ÑJ‘ä ×)Ò)¨$°°1Ó5�ØœX×/Ò/¸Ñ:Ñ:ŠFà �t‹^Ø—‘˜vÓ&ˆAØ—Z‘Z “]ŠFà �t‹^Ø—‘˜vÓ&ˆAØ—:‘:˜a“=ˆDØ—[‘[ Ó)ŠFà �t‹^Ø—‘˜vÓ&¨Ñ*ˆAØ—:‘:˜a“=ˆDØ—[‘[ Ó,ŠFà �t‹^䜟™¨¯©¯ © °a¸&±jÓ(AÀ5ÓIÓJ‰Fà �t‹^Ø—‘˜vÓ&ˆAØ—‘ qÓ)ˆH؈FØ!'�M‰M˜#Ñ Û�Ø— ‘ ˜d×/Ñ/°Ó2Ö3òð�t‹^Ø—‘˜vÓ&ˆAØ—‘ qÓ)ˆHØ—‘ qÓ)ˆHØ—_‘_Ó&ˆFØ!'�M‰M˜#Ñ ð -Ü Ö3‘D�AØ37×3DÑ3DÀQÓ3G�F×,Ñ,¨QÓ/Ó0ò4ô 'Ó(Ð (à#� ‰ �cÑØˆ øô ó -Ü*Ó,Ð,ð -ús Î6OÏO,)rCrrGrPrRrNNrà) r)r9r:r;Ú__doc__rr�rcrkrOrwrSr<r=rrrArAÓs+†ñô,ò)ò2ò ò<ò2õarrAcó.•US:agUS:agUS:agg)Nérêér>ìr?r?r=)Úcounts rÚ_count_to_sizerž~s%€Ø ˆvƒ~Øà �‹Øà �‹Øðrcó<•\rSrSrS SjrSrSrSrSrSr Sr g ) Ú_BinaryPlistWriteri�có4•XlX lX0lX@lgr )rGrÿrr€)rrWrrras rrÚ_BinaryPlistWriter.__init__Žs€ØŒØ#ŒØ!ŒØ-Õrcóà•/Ul0Ul0UlURU5 [ UR5nS/U-Ul[ U5Ul[URUl URRS5 URHnURU5 M URU5nURR5n[ U5nS[UU--nURR[R "U/UR Q765 SnX†URUXE4n URR[R "S/U Q765 g)Nr óbplist00rqz >5xBBBQQQ)Ú_objlistÚ _objtableÚ _objidtableÚ_flattenrBrPržrNr`Ú _ref_formatrGr÷Ú _write_objectÚ _getrefnumÚtellrLÚpack) rr•rZÚobjr[r\rYÚ offset_formatÚ sort_versionrXs rr÷Ú_BinaryPlistWriter.write”s4€ðˆŒ 𠈌؈Ôð � ‰ �eÔô˜$Ÿ-™-Ó(ˆ Ø !˜s ;™ˆÔÜ'¨ Ó4ˆŒä)¨$¯.©.Ñ9ˆÔð �‰�‰�{Ô#ð—=”=ˆCØ × Ñ ˜sÖ #ñ!ð—_‘_ UÓ+ˆ Ø"Ÿh™hŸm™m›oÐÜ$Ð%8Ó9ˆ Øœn¨[Ñ9¸KÑGÑGˆ Ø �‰�‰”v—{’{ =ÐH°4×3GÑ3GÒHÔIðˆ à  t§~¡~°{Ø ð ˆð �‰�‰”v—{’{ ;Ð9°Ò9Õ:rcóœ•[U[5(a[U5U4UR;agO[ U5UR ;ag[ UR5nURRU5 [U[5(aX R[U5U4'OX R [ U5'[U[5(a¿/n/nUR5nUR(a [U5nUHZupg[U[5(dUR(aM-[S5eURU5 URU5 M\ [ R""X45HnUR%U5 M g[U[&[(45(aUHnUR%U5 M gg)Nr)rÚ_scalarsrr¦Úidr§rBr¥rCr©r!rÿr rPrrÚ itertoolsÚchainr¨r«r) rr•ÚrefnumÚkeysÚvaluesr!r•Úvr–s rr¨Ú_BinaryPlistWriter._flattenÁsd€ô �eœX× &Ñ &Ü�U“ ˜UÐ# t§~¡~Ó5Øð6ô�‹Y˜$×*Ñ*Ó *Ø ô�T—]‘]Ó#ˆØ � ‰ ×јUÔ#Ü �eœX× &Ñ &Ø39�N‰NœD ›K¨Ð/Ò 0à*0× Ñ œR ›YÑ 'ô �eœT× "Ñ "؈D؈FØ—K‘K“MˆEØ��ܘu› �ã‘�Ü! !¤S×)Ñ)Ø—~—~Ù Ü#Ð$:Ó;Ð;Ø— ‘ ˜A”Ø— ‘ ˜aÖ ñ ô—_’_ TÖ2�Ø— ‘ ˜aÖ ò3ô˜¤¤e˜}× -Ñ -Û�Ø— ‘ ˜aÖ òð.rcó�•[U[5(aUR[U5U4$UR[ U5$r )rr³r¦rr§r´r¬s rr«Ú_BinaryPlistWriter._getrefnumës<€Ü �eœX× &Ñ &Ø—>‘>¤4¨£;°Ð"6Ñ7Ð 7à×#Ñ#¤B u£IÑ.Ð .rcóH•US:a3URR[R"SX-55 gUS:a6URR[R"SUS-SU55 gUS:a6URR[R"SUS-SU55 gUS :a6URR[R"S US-S U55 gURR[R"S US-S U55 g)Nr_z>Bršz>BBBrÎr›z>BBHérœz>BBLéz>BBQé)rGr÷rLr­)rr�rhs rÚ _write_sizeÚ_BinaryPlistWriter._write_sizeñsÉ€Ø �"‹9Ø �H‰H�N‰Nœ6Ÿ;š; t¨U©\Ó:Õ ;à �F‹]Ø �H‰H�N‰Nœ6Ÿ;š; v¨u°s©{¸DÀ$ÓGÕ Hà �G‹^Ø �H‰H�N‰Nœ6Ÿ;š; v¨u°s©{¸DÀ$ÓGÕ Hà �G‹^Ø �H‰H�N‰Nœ6Ÿ;š; v¨u°s©{¸DÀ$ÓGÕ Hð �H‰H�N‰Nœ6Ÿ;š; v¨u°s©{¸DÀ$ÓGÕ Hrc óF•URU5nURR5URU'UcURR S5 gUSLaURR S5 gUSLaURR S5 g[ U[ 5(GaXUS:a3URR [R"SSU55 gUS :a2URR [R"S S U55 gUS :a2URR [R"S SU55 gUS:a2URR [R"SSU55 gUS:a2URR [R"SSU55 gUS:a.URR SURS SSS9-5 g[U5e[ U[5(a2URR [R"SSU55 g[ U[R5(aÄUR(aXUR[R 5nU[R"SSS[R S9- nUR#5nO)U[R"SSS5- R#5nURR [R"SSU55 g[ U[$[&45(a7UR)S[+U55 URR U5 g[ U[,5(aIUR/S5nUR)S [+U55 URR U5 g[ U[25(Ga.UR4S:a [7S$5eUR4S :a2URR [R"S S%U55 gUR4S :a2URR [R"S S&U55 gUR4S:a2URR [R"SS'U55 gUR4S:a2URR [R"SS(U55 g[U5e[ U[8[:45(a~UVs/sHopRU5PM nn[+U5n UR)S)U 5 URR [R"S*UR<U --/UQ765 g[ U[>5(GaZ//pºUR@(a[CURE55n OURE5n U HxupÞ[ U [,5(dURF(aM-[IS+5eU RKURU 55 U RKURU55 Mz [+U 5n UR)S,U 5 URR [R"S*UR<U --/U Q765 URR [R"S*UR<U --/U Q765 g[IU5e![Ra [U5Sef=f![0a3 UR/S!5nUR)S"[+U5S#-5 GNÔf=fs snf)-NóFóTr&r z>BqrÁršz>BBrÎr›z>BHr¿rœz>BLrÀlz>BQróror|z>Bdrr�rêr‚r€r„r(rr†r…r>rr‡é�éƒé‡rˆrqrr‰)&r«rGr¬rPr÷rrrLr­rVrÚto_bytesrÔr_r€rir`Ú total_secondsrrrÂrBrPrRÚUnicodeEncodeErrorr rrr«rr©r©rÿr r!rrrC)rr•rŒÚdtrŽrbÚtr–ÚrefsrGÚkeyRefsÚvalRefsÚ rootItemsr•rºs rrªÚ _BinaryPlistWriter._write_objectsd€Ø�o‰o˜eÓ$ˆØ$(§H¡H§M¡M£Oˆ×јSÑ!Ø ‰=Ø �H‰H�N‰N˜7Õ #à �eŠ^Ø �H‰H�N‰N˜7Õ #à �dŠ]Ø �H‰H�N‰N˜7Õ #ä ˜œs× #Ò #Ø�q‹yð9Ø—H‘H—N‘N¤6§;¢;¨u°d¸EÓ#BÕCð˜“Ø—‘—‘œvŸ{š{¨5°$¸Ó>Õ?ؘ“Ø—‘—‘œvŸ{š{¨5°$¸Ó>Õ?ؘ“Ø—‘—‘œvŸ{š{¨5°$¸Ó>Õ?ؘ“Ø—‘—‘œvŸ{š{¨5°$¸Ó>Õ?ؘ“Ø—‘—‘˜w¨¯©¸¸EÈ$¨Ð)OÑOÕPä# EÓ*Ð*ä ˜œu× %Ñ %Ø �H‰H�N‰Nœ6Ÿ;š; u¨d°EÓ:Õ ;ä ˜œx×0Ñ0× 1Ñ 1Ø×#×#Ø×%Ñ%¤h§l¡lÓ3�Øœh×/Ò/°°a¸Ä8Ç<Á<ÑPÑP�Ø×(Ñ(Ó*‘àœX×.Ò.¨t°Q¸Ó:Ñ:×IÑIÓK�Ø �H‰H�N‰Nœ6Ÿ;š; u¨d°AÓ6Õ 7ä ˜¤¤yÐ1× 2Ñ 2Ø × Ñ ˜T¤3 u£:Ô .Ø �H‰H�N‰N˜5Õ !ä ˜œs× #Ñ #ð 4Ø—L‘L Ó)�Ø× Ñ  ¤s¨5£zÔ2ð �H‰H�N‰N˜1Õ ä ˜œs× #Ò #Ø�z‰z˜A‹~Ü Ð!8Ó9Ð9Ø—‘˜fÓ$Ø—‘—‘œvŸ{š{¨5°$¸Ó>Õ?Ø—‘˜gÓ%Ø—‘—‘œvŸ{š{¨5°$¸Ó>Õ?Ø—‘˜gÓ%Ø—‘—‘œvŸ{š{¨5°$¸Ó>Õ?Ø—‘˜gÓ%Ø—‘—‘œvŸ{š{¨5°$¸Ó>Õ?ä# EÓ*Ð*ä ˜¤¤e˜}× -Ñ -Ù05Ó6²¨1—O‘O AÖ&±ˆDÐ6Ü�D“ ˆAØ × Ñ ˜T 1Ô %Ø �H‰H�N‰Nœ6Ÿ;š; s¨T×-=Ñ-=ÀÑ-AÑ'AÐIÀDÒIÕ Jä ˜œt× $Ò $Ø! 2�Wà��Ü" 5§;¡;£=Ó1‘ à!ŸK™K›M� ã!‘�Ü! !¤S×)Ñ)Ø—~—~Ù Ü#Ð$:Ó;Ð;Ø—‘˜tŸ™¨qÓ1Ô2Ø—‘˜tŸ™¨qÓ1Ö2ñ "ô�G“ ˆAØ × Ñ ˜T 1Ô %Ø �H‰H�N‰Nœ6Ÿ;š; s¨T×-=Ñ-=ÀÑ-AÑ'AÐLÀGÒLÔ MØ �H‰H�N‰Nœ6Ÿ;š; s¨T×-=Ñ-=ÀÑ-AÑ'AÐLÀGÒLÕ Mô˜EÓ"Ð "øôg—|‘|ó9Ü'¨Ó.°DÐ8ð9ûôF&ó 4Ø—L‘L Ó,�Ø× Ñ  ¤s¨1£v°¡{×3ð 4üò*7s$Â71\:Î,]Õ^Ü:!]Ý9^Þ^) r€rGrPr§r¥r¦r©rNrrÿNrà) r)r9r:r;rr÷r¨r«rÂrªr<r=rrr r �s$†ô.ò +;òZ(!òT/ò Iõ c#rr có•USSS:H$)Nr?r¤r=)r.s rÚ_is_fmt_binaryrÖgs€Ø �"�1ˆ:˜Ñ $Ð$r)Údetectr…ÚwriterF©Úfmtr‚racó •Uc^URS5nURS5 [R5HnUS"U5(dMUSn O [ 5e[USnU"X#S9nUR U5$)z‡Read a .plist file. 'fp' should be a readable and binary file object. Return the unpacked root object (which usually is a dictionary). rFr r×r…)r‚ra)rKrHÚ_FORMATSr¹rr�)rWrÚr‚rar.ÚinfoÚPÚps rrr}s€€ð �{Ø—‘˜“ˆØ �‰�Œ Ü—O‘OÖ%ˆDØ�HŠ~˜f×%Ó%ؘ‘N�Ùñ&ô 'Ó(Ð (ô �S‰M˜(Ñ #ˆá �IÑ=€AØ �7‰7�2‹;Ðrcó •[U[5(a%U[:Xa [S5eUR 5n[ U5n[ XAX#S9$)ziRead a .plist file from a bytes object. Return the unpacked root object (which usually is a dictionary). z6value must be bytes-like object when fmt is FMT_BINARYrÙ)rrPrrrRr r)r•rÚr‚rarWs rrr“sL€ô�%œ×ÑØ ”*Ó Üð)ó*ð *à— ‘ “ˆÜ �‹€BÜ � yÑ PÐPrT)rÚrrracó|•U[;a[SU<35e[US"XUUS9nURU5 g)zOWrite 'value' to a .plist file. 'fp' should be a writable, binary file object. zUnsupported format: rØ)rrraN)rÜrr÷)r•rWrÚrrrarØs rrr sA€ð  ”(Óݲ3Ð8Ó9Ð9ä �c‰]˜8Ò $ RÀxØ4BñD€Fà ‡L�L�Õr©rÚrrrac óN•[5n[XXUUS9 UR5$)z?Return a bytes object with the contents for a .plist file. râ)r rÚgetvalue)r•rÚrrrarWs rrr­s(€ô ‹€B܈˜¸)Ø&ò(à �;‰;‹=Ðr)r):r˜Ú__all__rDr)r_ÚenumÚior rµrIÚrerLÚxml.parsers.expatr ÚEnumr)r ÚglobalsÚupdateÚ __members__rgr rþÚcompilerrrMrSÚASCIIr\rgrkrwryrârür5rrr`ÚobjectrQrAržrPrrÔrr³r rÖrr©rrÜrrrrr=rrÚrñsÓðñ7òp €óÛ ÛÛ ÝÛÛ Û Û Ý*ð�iŠi˜ Ð';ÀHÑM€ Ùƒ ×Ñ�×(Ñ(Ô)ðÐ÷ñðB€ ð—*’*ðIóJ€ôò&ð�jŠjðXðZ\÷ZbñZbóc€ ò #òò ÷mPñmP÷`#ñ#ôL])�>ô])ò@ôB+˜Jô+ð˜S S¨SÑ1€á ‹X€ ÷iñiòV ð ��e˜X×.Ñ.°Ð 6€ôW#˜&ôW#òt%ð ‰TØØØñð ‘ØØ!Ø!ñð €ð D¸õð,¨¸Uõ Qð#¨d¸UØõ ð ¨%¸4Øör