python2-dnspython-1.15.0-150000.3.2.1<>,ʜbp9|pwLj!*xa6_~0B[e]aRp9+7 o%5|qZ #uNoYfDBھ$0::Xat#bMqfΥGex*.:󳏫 /1+Q 5H^#VxpݫM;Iܐ0+ŸiAEhuv AdiY4dCNPƘ0bYU-{=8‘rDZzw BYg>D,?d ( A 5KQX- -  f-  - t- \!- ]P-b-g-mm-rrrso(s8s 9s :t BaFrG-H8-I-XY$ZL[P\d-]-^ bXcdeflu-vTw-xp-y$zCpython2-dnspython1.15.0150000.3.2.1A DNS toolkit for Pythondnspython is a DNS toolkit for Python. It supports almost all record types. It can be used for queries, zone transfers, and dynamic updates. It supports TSIG authenticated messages and EDNS0. dnspython provides both high and low level access to DNS. The high level classes perform queries for data of a given name, type, and class, and return an answer set. The low level classes allow direct manipulation of DNS zones, messages, names, and records. dnspython originated at Nominum where it was developed to facilitate the testing of DNS software. Nominum has generously allowed it to be opened under a BSD-style licence.bgoat18oSUSE Linux Enterprise 15SUSE LLC ISChttps://www.suse.com/Development/Languages/Pythonhttp://dnspython.org/linuxnoarch/!96?5 K O O q  h d dLvv yrzz]  H HJ>> Q Q:@@ L L-$,@,8)) > dcckobb<$`__idnA i | <0(( X/((iiR__''  k { X Xn R b bG=tA1qv{} B  mm#00  L # W W .+~+ˉ k kk#%%GD/D/&bb' )) z zZoo| II+rA큤AA큤A큤A큤A큤A큤bWbbbWbbbWbbbWbbbWbbbWbbbWdbbWbbbWbbbWbbbWbbbWbbbWbbbW@bbWbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbbWbbbWbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWD>bbWbbbW$bbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbWbbbbbbbbWyWbbWWbWbWbWbWbWbWbWbde4d278f6a8e94507b4016bcfee1a6526887e4333a37c6d3f000b34a26eafcb9f48a3b6c53e9658e14ebf8e0493cd35af9ae360e5fe22beb4b42f7e0ddb1a670f48a3b6c53e9658e14ebf8e0493cd35af9ae360e5fe22beb4b42f7e0ddb1a670555e411fec13912f20ce07eadd14f2a6759013d405ac31a17310f28750cce98645ce56096cb943739d67f55bb80b0ab049233d9dabe6af7275d6bbb9e394412a45ce56096cb943739d67f55bb80b0ab049233d9dabe6af7275d6bbb9e394412aa65ef0c3b6251253c5dd35c1b01d913f89041dc55407c52377cb99deec6dea857070b96a30cc9ad1aeeefac0fe3272c1918abf22bdecbce6e93a9da09a8d6e58830363606bbbd5086643c2f1ea4c97e553ffd239935d21bf63a78de13a71d5ca69fa20e2a4c880b3b7ba58a551ec30562d470faa219967047974ffee070f2c49e74aa893b080334ac8ec55119891ef25a9ee35aa4a20e11a3f4564de888f2060e74aa893b080334ac8ec55119891ef25a9ee35aa4a20e11a3f4564de888f206088c3f68c1bd5ee9172644d3a64e45c926890408d8363ff3a30db62159b410bca2cc2691d5f803caaf822d89854702b2118cbb3b558adc52d6f87b6497437affd2cc2691d5f803caaf822d89854702b2118cbb3b558adc52d6f87b6497437affd6cdfb076494d6d0612df63cd1c4257f1638a0490368fb20d02f41b5da9434b6d5f2319efcfa01d6a140dc713dffe8004b6a71b47c9d617b61800cd38e95b4c755f2319efcfa01d6a140dc713dffe8004b6a71b47c9d617b61800cd38e95b4c75b25b6f23dcf39e6ce0b21c5f6a5048ff4514aa4de868c679b50aab527b2c9a11380158f710e4cf32baa0df2f94085a76c6f1a78e09fc8c1277d1266ea2f9232e449d0e38e65ad7c1220820a2d2b9ad7244e4592b768823ef543eb98a554706f9b4ffe37934987a2e4be1dc74cdf2eab9e02944bf3e969f28818290cbd0601906a0ee03612cde2be4b7f264ca1f716558e7da30c92c1d772f4a5ef6609b47e129a0ee03612cde2be4b7f264ca1f716558e7da30c92c1d772f4a5ef6609b47e129300b0087faa39147d509ce760beeb8e66f5c0abf0f6bb6a8ed0029b52509696c8fedd8b091694aa5bf53311ed68d58026c9ff6f5db2174131c923e86749a1ce761626cb50335db12508e4d386c1f2133d433256fdf4ca1dfb5829ba8c7451a70bb5745a5d19b442b46addde7708c75150d8aa61b9145ce4f53385488baf2823d224c33c0113eccfdb25fc2fc64ff2862b8d7e7fe05bdd9ca69e6612bc812499c224c33c0113eccfdb25fc2fc64ff2862b8d7e7fe05bdd9ca69e6612bc812499ca99085ed6ced7eef5efe65c7f96ff8f710f977e07350d8c2a91dbede09fb25c58e74c17668c8ba7e10684cad18c1cef5d37af04b27889183eb49c8489e00f6288e74c17668c8ba7e10684cad18c1cef5d37af04b27889183eb49c8489e00f6285172b521b40e2a1d6dc9b49264ddb3b11cbbbea656299f57c5651d095431ed76b87f9023f93ba101a664189afaf7fc9d0a64b13ffe7ec4c375454841d0d886cfb87f9023f93ba101a664189afaf7fc9d0a64b13ffe7ec4c375454841d0d886cf633ebecc9a7e4b94b856ad08fdec38d087118c0349307d2ee3816ce17391717c00cd3ac3a669c303eb2fcc665d6fecf8ec15754a757d842d46afdfbd3d94cdfe00cd3ac3a669c303eb2fcc665d6fecf8ec15754a757d842d46afdfbd3d94cdfea5b79c81c739a92b21f922f6d023b5fbbb03ceffdb06c025c76d8b2606d1d6755de587dd59ff27ebe50f9ebe4025347bb4e1e5fbe6b956d26eb6b8756e7016b35de587dd59ff27ebe50f9ebe4025347bb4e1e5fbe6b956d26eb6b8756e7016b3ac1d333151b3865728bc1d7883e87bd7d31e591b8229022f9e60ba6883ed1c70c2552403b3cc058d934f727be73d8b5201f19db9fcae0d9f082225fefef93d73c2552403b3cc058d934f727be73d8b5201f19db9fcae0d9f082225fefef93d73cb42f368aa679da8102868dde4728b8c13ec92c38fea524dbcda09b1528fd97176fe4242e79f58d9e900ad06f851ec0221988dc4af527a44201ce5d6ccbd1d4b76fe4242e79f58d9e900ad06f851ec0221988dc4af527a44201ce5d6ccbd1d4b7ae90708c5ef96b24ec9cf68219ea0fd4ce47346211a9d647ed5da9453a6981ecce05af0504ce23a077e0b3b0f5ddfbd3de635fd257e8db601244b1057eb233bcce05af0504ce23a077e0b3b0f5ddfbd3de635fd257e8db601244b1057eb233babe445c85c7bb1972910e8d6be8d29627914d110e9a4ddcb8d073ba638445501022b7eb76dd5f17b42384205674c2b816483709bf9e80d5f31b235f1386cada6022b7eb76dd5f17b42384205674c2b816483709bf9e80d5f31b235f1386cada607a40548f2d06f000578cba2357505d7138ebb6be68084e822da806cb7196a88945fbff151d82f078aceaf017e59bb5989974e1eda65068c67970381ba916650945fbff151d82f078aceaf017e59bb5989974e1eda65068c67970381ba91665033d6bc815877f952e8017a7d68df4fcf3e7921e42a2a9073a93dacc39aa7abf2bb4c5ccf80a3b8a5e66a0472c1f8a9684a80d00efb9616287a22dc448aa966cfbb4c5ccf80a3b8a5e66a0472c1f8a9684a80d00efb9616287a22dc448aa966cfb3458b06c60b8304fba52d6e2fe4f36a12ae7bf2b7d6c72794544f357a2cdfa1cb4249904b280585d0f8724e184652de61039688b37b827e6e3b3a8abc9a993dcb4249904b280585d0f8724e184652de61039688b37b827e6e3b3a8abc9a993d42ed9f9af66a94175e58581b470fa6df4b1a4411a97c7c9921614ed4ee47e0f9bc24314dc48bb7da921f55684c48abaff71a9afc81c12955eaea5760b6fa216cbc24314dc48bb7da921f55684c48abaff71a9afc81c12955eaea5760b6fa216c5be1bb4be4c1abd9b2e54fc336eadde1e17c5e1a4cab2db6fa14c7bc7ee49ffc40b3529869f324c4adc1c2f34f3bbdd29b382855f2271af5f909dd1f90e145eb66c24496ea9b248cc804166ceb68ae03376905af524fafcc81bee968a09b15b8460588581a0380cff4b756d99e65b22a4873144a861b8d4c612829af854cb634fe23535f1b07e5f1a8480826cc36e21cdd4df507eb904efb7c99141ae77488c7fe23535f1b07e5f1a8480826cc36e21cdd4df507eb904efb7c99141ae77488c7607ebe72a5d0a111a303fcc73c295cd62ce135369c9547ab16f6bfe97fc2a57158f62c1be28965f5f424d4f877e247b82c3eb126262875234ecbeb326047c8db58f62c1be28965f5f424d4f877e247b82c3eb126262875234ecbeb326047c8db6e24e843bd2cab1d661ac22444c7e7f9982bf5d6c52c2cc0a42b449b16bd66d53803193b812d85ec019d1d2b756ef6878547273ea5b16ce771b1db78ddd0b47d3803193b812d85ec019d1d2b756ef6878547273ea5b16ce771b1db78ddd0b47d1a723e0249cd53d6a79c40639319177ba6ade4ff84329252ce3e7be59be7df8ed60729b912b58ac880796c8e8fc49f964dfa7e1bfcff51749ecb4b154fdd566548c87381bffcd535202320addb5543ee4336a6d97e764f67c778a7c4464086e190eb2cbcd366fc5db2e9302b2ea734d7deb852683261b0fbc2c3ddcdc23d3b1685a9b1205f0e4688f37a6d4b3e2474c5c8706004c6f8ce680d46afb553db8efc85a9b1205f0e4688f37a6d4b3e2474c5c8706004c6f8ce680d46afb553db8efc699c44f2c51d51306e7ccc53e54beafb7596c48933856c9ae2ef0d01876424037ee33638fe4a440b09c8cd2af70a2b100fdad92538c054ca81a78f4d1f061a127ee33638fe4a440b09c8cd2af70a2b100fdad92538c054ca81a78f4d1f061a12bbe8e482599d79a6c22e3ee12c3985c1c4edf99e61bf17b78bb4792c6e2d05c26fe731fa6d87da3c0727f5f722b6d0668527071bee76ff806078453ec03203bb6fe731fa6d87da3c0727f5f722b6d0668527071bee76ff806078453ec03203bb91522e0e33828d11049b36961d4e865380a3519fc90b293879d8dd9fc7379a8b0c042789471ad77bb1b7f4771ec49f1fed3ef1eaf036a869361947c10898e6490c042789471ad77bb1b7f4771ec49f1fed3ef1eaf036a869361947c10898e6499de3261ee2d57b082118fe3e7ed0fe45beb3ed64d495706094a9a332afae86294ab48407e21af5ba6e4b39a4a506bc1eddaca6532a324a9d6a2a27777ced8d6f4ab48407e21af5ba6e4b39a4a506bc1eddaca6532a324a9d6a2a27777ced8d6fdaa57aedb459d6685c909c7877cbb6093c1d82dc7204b791cd50172787769f3f671da53a345211ba53496416a7d08b57ae01e7c000d2818893b4a0ff7cb8497b671da53a345211ba53496416a7d08b57ae01e7c000d2818893b4a0ff7cb8497b73ee3e1f135f1360b072dd8d2926fa066303a7d3c88f3fefe6ef21df6ef484b768dfed6fbaa5d92b61612938fb6b49e76b9c26f86c9f94556147c749fe1414ab68dfed6fbaa5d92b61612938fb6b49e76b9c26f86c9f94556147c749fe1414abd11f68b5df670a6b47f3be8e3b959706847c9574c21ee1a8b557858e0d5cae860acb225fc4d1ee77e219a57abdeaad69de2480a531d03409294da83fa0d16b800acb225fc4d1ee77e219a57abdeaad69de2480a531d03409294da83fa0d16b808b4fc8148b03acc814c9cff1b14ef8f65bfe84b3e507bb66e269045a42457e9399c46d641628096c74743bdd92ac837e4907f453bc4d4dd167901d2aca5a19e199c46d641628096c74743bdd92ac837e4907f453bc4d4dd167901d2aca5a19e16d7fc569681b87de9d45bfc236bf4bb5cd37acf46d85e429f7d96e249a4ff961a1819ea97dabc08bf09ed46e9cdbeeae56da888f7411a23a29a31cb5519ec054a1819ea97dabc08bf09ed46e9cdbeeae56da888f7411a23a29a31cb5519ec054f45cc717dd2973b2ecd113b58df3c59decdf0bfe620e301d64475296346a12ddabd960d863e85538b6ffa69b095650140cf93dfae8dc865f1b2f5b1abf4a47ccabd960d863e85538b6ffa69b095650140cf93dfae8dc865f1b2f5b1abf4a47cc7f1fcc788e9eef84a03b6b08f6a55424d123dc4c9aa02c2a274a837921816939aa3512c018a8f84bcbfa67b879d8646969197c71db5eb0a4881fa1c0a387f281b7dcb02e0e452ffb5e5b8b0f0aeb18fe91c1965914fd2aa296c0c701f188da12a8302ecc85424b79bf468d4b2d2419bfd0a4ff3570fe79fd40dad9f08ce44083aef7ebd105d1412c7e60e0cd36e525c4165a6394ef360daf4b0fd3f9392e91146e8de249d4d845e0f47e06342eaf9e8c29c9aef3304effa39b0515a145afc1cd2cea6cec4936b48802409fded33f6e35e995f919a276059c4d257c84a3aa4fcd2bfeffeac3641ef2288bb55d961ac9fef4f4fb36434992c8951adf74b942f4eb2bfeffeac3641ef2288bb55d961ac9fef4f4fb36434992c8951adf74b942f4eb22e367d048c43a0ee0ef116ab85f653604e01ca64bc1ca3ce30d86696fad038cfbd2a80fc60d4503e69e988ffc3ad9c559910ff28ad4b262fb9856b6eb4d4c0e21fe41c7dbe219e1cee2bc4364b8f237f11994fac2c1fc3c393c817f366638b887e0ea0f2e1b508128b6d96fd325e757c72010077ed1730383804e2dc8e61a2bd61cb54381a357536d33afb74b1aadf43bb97f0f3feb5a1e9cc5aa57ec8025a9d61cb54381a357536d33afb74b1aadf43bb97f0f3feb5a1e9cc5aa57ec8025a90663af22897cfc0822955e693dc40398f5572a60c03cbbde0bc7a0a4df335969758b437597e174441e3f650019e0b7dda7825ff486a30141aa7661c207668fab758b437597e174441e3f650019e0b7dda7825ff486a30141aa7661c207668fab44e3a556d442b6087001e71d8070506bc41385ffbc73ad1a7639ff0a51b031e52a9ce7e5f3fc992913b9336e62672341a6df3577d8e67c1190e23e100c87bdff2a9ce7e5f3fc992913b9336e62672341a6df3577d8e67c1190e23e100c87bdffbdf0cc0ec663e2ddf77772aad789d968d2c7b1ac2929732f706b260709436addc84cf70edcabaa37a3bb5522c5c5b4f7ba3cfcfde35ce0a7d8ed0dbc11ab6f25c84cf70edcabaa37a3bb5522c5c5b4f7ba3cfcfde35ce0a7d8ed0dbc11ab6f25b29138a12419fa7fd4bde030d6c742346ad6e66de7d972b56996857cea3636797218f00091525f6edbdf9aa75e44d26e8f338faafc33e21206cba2c6e0ef50307218f00091525f6edbdf9aa75e44d26e8f338faafc33e21206cba2c6e0ef50300154b5aa8eec861e1fc61a2e7335b7d63d72c266163a633d4e95278d99707c73beea0e38ccc021c9093514b04a35260be3d8bc3c09174af9bd98c28a91cb19adbeea0e38ccc021c9093514b04a35260be3d8bc3c09174af9bd98c28a91cb19ad41da017341cad08cc7fa6636cd4e56fd53c7ce918655f921ea3364f7b8a8d8c5f0eeb96b1d9d1cc833813a07545f6c9726bfc16131a32da535e465398845af2ef0eeb96b1d9d1cc833813a07545f6c9726bfc16131a32da535e465398845af2e2b812177c25e59f489fa30752fcaf866a68e9bb9851c5d75b290afcf79d9dbae53c8e8e23690ddd9685386952cf3307b8104b3436defa726fe4c51eebb3faad653c8e8e23690ddd9685386952cf3307b8104b3436defa726fe4c51eebb3faad6c029e61ef4c1c9093c63802d9c02126b188b887c5679de9d5007cfdbc61bb56ae7bb6f7d0d397142d21c9d46a8554e78040febc6521f883e9dbf031628f005bae7bb6f7d0d397142d21c9d46a8554e78040febc6521f883e9dbf031628f005bac2b276d982dbe2bb3e8664f5c898dc5a1b0cba333a8ae04cb42abcfed703fab0d3c8e943c53bb5d9d1b0762cee16e9ead41b8b29dfd0e84640d958e247faa82fd3c8e943c53bb5d9d1b0762cee16e9ead41b8b29dfd0e84640d958e247faa82fdea27ba6926cf4bd536a5fd1a451c8805d8998301960063b0285a1e219e0bd3eea5b96755e216b288e0094c05de1fbe89fcfdfd5d760a18546129a09375f2b3fea5b96755e216b288e0094c05de1fbe89fcfdfd5d760a18546129a09375f2b3f331b0e7ea3ea8c300a744ef24c478be947fbb0558491f29304bb6d82af8b1c3fa1da4476e0f9b566a09f34a6cbeeca2239bc424ee937da4d5e12246cd624fb62a1da4476e0f9b566a09f34a6cbeeca2239bc424ee937da4d5e12246cd624fb625d5f5549b68ea351ce7bc8d6fe414de442cca40bd1ece9710ae14f2b40301a8824584eab93ce40e03b4496a86dcd993aa428555ad3c3001408abfa5bc7a5f8e724584eab93ce40e03b4496a86dcd993aa428555ad3c3001408abfa5bc7a5f8e7277884c95e005a5d894df3e510c73945426ac84bb5c29c7fa3b083ee860a249247613943dafb0138c6ebb86b4ffc5bb96e748074ff0cc62d58e72045999deea047613943dafb0138c6ebb86b4ffc5bb96e748074ff0cc62d58e72045999deea09599990ca88365d37ae0873721a610d006779880364f7387db96d423f33339c5f03013040d58fa496baa5856dcce026edc54b4c9f38f3497ab99c366543632e6f03013040d58fa496baa5856dcce026edc54b4c9f38f3497ab99c366543632e6b8f0ffdd8788f5a69d9ab541b636abc98386a38fe3b68bf09e7d6b248d18425b455785cf9e776e9cc051192fde18aa5cd104ac6ff5e9bc5e410f26019aa5392c455785cf9e776e9cc051192fde18aa5cd104ac6ff5e9bc5e410f26019aa5392c09661cb612bf40aae5a961f0d002b95392248d8f592c6f239c944260a74d2548ac2ccd554b30b8d6ac5f7a9f4db02c41d986c6647da16ec032c68807fd5fafb4bbc86d187c3a42df3be7d2e350a1978ca8218bf3db127f4ddef8f0861c92739bf87624860178bbda5738bd846c729ebb7b78d268d3bbb11de09720d97f48cc16226603e02009d995df65057796256be9357bd7b8a126d0fbb22284de527d00f8226603e02009d995df65057796256be9357bd7b8a126d0fbb22284de527d00f8688fd54cf0e456366ce28f0b2fba8e595be535d13508fc8f06c91d995979c027707b76bb9159c6b89b1dc09c6ec8950377b1b539e6ac47332d297826063ad593707b76bb9159c6b89b1dc09c6ec8950377b1b539e6ac47332d297826063ad593d7f7173d57cbbb92b677b3bbb6930849316411da8ec87c0f442636ea1d19c2c0415dc8bf121db0e2a29e71e70824e6d19d028140f31ebdb5cb84c8f33adbe016415dc8bf121db0e2a29e71e70824e6d19d028140f31ebdb5cb84c8f33adbe0163c48af39364b40cac15851555bc4bcf6105321debbf9d4f4161c41305705dfbb220b70f380d271d5c9348ea374382ed32e06688df3047c0007c3b1c876ed5ecdbaeef26e712821752f6571d37077abec2a303d23c554df642d37980773c0a62f13ca8b323bad10ee72bd6629d22b537032e20227861de7999a3a60f370611dc184318e2737b20a34fd7ed1413c13df41a2f6d6b5c960262b8fa18ddfb873ed4d84318e2737b20a34fd7ed1413c13df41a2f6d6b5c960262b8fa18ddfb873ed4dea643ed3d95af52e95e63c116fb7136244362c3d723f15ca9fe1952b0d5ace87a5c36e194189416212ad3be7bfc09492d7024b4099a723f3bf2d455dbd55ef84a5c36e194189416212ad3be7bfc09492d7024b4099a723f3bf2d455dbd55ef842f8cbe4f75823c3caae0df4959adbef0f9e351028aba3ca18e1c97f0df031b7dc883ffb9eeb01f65e0671e0d12df93b25dff8e2a038388a665da0da72e172f7bc883ffb9eeb01f65e0671e0d12df93b25dff8e2a038388a665da0da72e172f7b9a61b113c358561693321888bebc14d2d5fb1603d9adc9bc157225c1028b5576975f525368730737aeef9c0071f21e128383ea26ec568cf04a82c031e302006bac89928c942ad20e30601006bdbceea3898f64079384e541df06a4a9d064c258040df486bf656d1945d4cf5971e419236794438cddd9e7a2e0bfc118ca7fe05e92cb6d267eef3e8cdfdbb7ff0f35702af395868ee1e73ecdce9d2cdb555e6dfe92cb6d267eef3e8cdfdbb7ff0f35702af395868ee1e73ecdce9d2cdb555e6dfe4a61cffa3d8f01f28cc7d85555f5e1573723784372b97ae8d9e4924c5ce3f346266db1b6ba3f8702dd07541e6c72823bfc5145fc0d90b8276cbaee733e8eec71266db1b6ba3f8702dd07541e6c72823bfc5145fc0d90b8276cbaee733e8eec714ed691bbee06b6cac37ddad25eb68ef38e4d7dd2f4002b9b07a86e3f698ff2d5cb7b2eb65e32fd1c0f3d01a89eb5c5809666b08ab8b09d7b3d381bf9278278d2cb7b2eb65e32fd1c0f3d01a89eb5c5809666b08ab8b09d7b3d381bf9278278d2a3c64e766a1f8e3ec3410ca2f467c29d3b2a3d0c658ad0b4d718d8d2a4386a1a7d80c43d6355aa76e1b8978f62c5abefcfc97686579b10bc11d2853d96fad3237d80c43d6355aa76e1b8978f62c5abefcfc97686579b10bc11d2853d96fad323ae288c737339c69451dc1bd1f7336689e208de4d8005c64608f0a6926898420f7b3779630ab98bf0fd2e846f2fa34363d0f16a145aab11c98455249d163b766b7b3779630ab98bf0fd2e846f2fa34363d0f16a145aab11c98455249d163b766b74a9062690ca6134f6dfaafeed2e77fdffa80e1d5cc0e265485fcc12968005380e9ebe9334412335bed15dd05d5a3438c4e7f11aa7a4bb6e5169b53cc82c7c080e9ebe9334412335bed15dd05d5a3438c4e7f11aa7a4bb6e5169b53cc82c7c08d9f97fd63945dd7ccf62694df30e94af5339bf179311e7331a2c2f2123881789523f7dc420559d0e29c73267cba254ca6ed775255357a601940cad41ceca2445523f7dc420559d0e29c73267cba254ca6ed775255357a601940cad41ceca244506baa9d82c244f4c721b864f4c7615f0db8732d866bc9db018f6b3af78f41849abeb77929b2e2406137a13faf53e8c6342fd8eb79c5470fba55208614908565dabeb77929b2e2406137a13faf53e8c6342fd8eb79c5470fba55208614908565dd8df283531380c6019f7807fb13d3429f7b7f84f22801744fb68fa10fae6e620671a258858722d39149bd22f18084b2ecfa797cc45ab1903ac2b9450a5b1694a671a258858722d39149bd22f18084b2ecfa797cc45ab1903ac2b9450a5b1694a51a63560e4013d9dca28c126164bbd24be92d42c90549573785b49cf2af06475bf0d05c9f9b7b343c9974cb49666801ec0057aa5642176cb10424604859c2fe7bf0d05c9f9b7b343c9974cb49666801ec0057aa5642176cb10424604859c2fe761a52347f4f1319f9daf18241a996c3dff13b0adaa9fff638db24e453cd2f40bb3251d3dea364780af8978d2b3c0f740f8e5975842c28dd1f1b4a6ba694cbefab3251d3dea364780af8978d2b3c0f740f8e5975842c28dd1f1b4a6ba694cbefae7f82821b44aa5332a1219069e1130d0937e580242372b137bde631b15dd36b9400cc4ee355a23eccf140d83e57890c08dfdba50fc7c817e35c36c01202a7691400cc4ee355a23eccf140d83e57890c08dfdba50fc7c817e35c36c01202a7691149f52cff6bc3f7ea4c631c9a888e5275b9b39d4337124ac8eab36020df4cca291065b6a7b272b315e43f1e3a0450433ec640c3e4e388d20c7c078f8404e6e798023ca45a68ff3d986bd6c482adea4eb9dcdfec65dcd589ffd516c674d8fa311e7a6d6eb5e33894d84bfe6e1fb4663abadabaf4967a821316034d0741eaceeb8dd9fa96e4432abed28b0b79d94857a0b75d5d136782a8df0458b9232c42bddd26adf7f892e51d52ef4794c2b0ea537ba50204f52e44a2483126a616aac2ab81c117e915d10c0ca5ef9e635d3ced1b86e3004b5bb484e228f6c3077e18c885071887a76b16dbc309dbfc419a3e1226b232c35bb04975df43e6b4de84b0a34e911887a76b16dbc309dbfc419a3e1226b232c35bb04975df43e6b4de84b0a34e9114524fd16f55fde90c1a52688fa3e3d8ced0dea17fbac103c168e10cc49a1a28877a790c9605aa1d207628f7b1e2b46c0cb0e785ad4cc727a86db497e0fdd082877a790c9605aa1d207628f7b1e2b46c0cb0e785ad4cc727a86db497e0fdd0828cd754d995eedb47109f71c0c10618e772f8a1b0ddacc1024de033da1db365c19c26c5aa6b38fd43612e4cbd8f2d2f1e6e0bff1d39af4a61af2717e05da9744e6c26c5aa6b38fd43612e4cbd8f2d2f1e6e0bff1d39af4a61af2717e05da9744e647717c39ae0da6f6519e5ce4ca53624c49d28c204af3f4530d048a491c317f30d198f12d0e514813b7cb6c495273a45110e9ec2352c2888494aaeb4f52b27923d198f12d0e514813b7cb6c495273a45110e9ec2352c2888494aaeb4f52b27923cb42c265b9b7ace349abb036663742f8316079662a5847b39a45d93309d130489425c1b988e886bf8d4a3e773c6095fd680b863c0f8eb4a169d9b4a2f8b9ab1a9425c1b988e886bf8d4a3e773c6095fd680b863c0f8eb4a169d9b4a2f8b9ab1a6842f4dedf7c5805dce1e391671b3e419e1a8e27b5149b2ce523da3bb380d3ad279cd2d79a8f57e59a68cebc9fe85cdeccfc71c0121e14ff14cee25f56013957279cd2d79a8f57e59a68cebc9fe85cdeccfc71c0121e14ff14cee25f56013957661d8fd91dba9dad7e08044be8b7aceea6f266869b0eca6f42f7126048c5602251747c9e8f57794e01e53c4d5c93de33286603bd4fabc48e242e2b66d9480bc851747c9e8f57794e01e53c4d5c93de33286603bd4fabc48e242e2b66d9480bc8afbf1e167845745d7889154d33926048049d365bead099f2d3b7cf545c253042b798c2c8cf28d157842af50e57662383e56f6e692dfb487236c8f49ebd409fdab798c2c8cf28d157842af50e57662383e56f6e692dfb487236c8f49ebd409fda64131d484653982a03dd8ccd3272272d70a57fdadf1617ce8261f1e9862e8cece8d0e829b9526893f7c39078d65bcc68ce8ce252766cf515a3bf590ef07728f5e8d0e829b9526893f7c39078d65bcc68ce8ce252766cf515a3bf590ef07728f5f9b6dd8ac6fc603e0e5913ee92f2f6e91f7d681d0020abebdbf609f7a14eaf074a208bcd778b86a43f2c326941699547e731a7b3e5682bea3b86b8cd331cd7ad4a208bcd778b86a43f2c326941699547e731a7b3e5682bea3b86b8cd331cd7ad5999d767e798b12ef8896483b012848812c6717dac6e4f9e61c74997349516f19095cb6d2c54913d4e55ba3a4ad9ec3ee5ce62888dbebfe0ce3b76cbb995db039095cb6d2c54913d4e55ba3a4ad9ec3ee5ce62888dbebfe0ce3b76cbb995db0311e27183412657137d548e7012272f18a761c4b10802483d13705d2df5a3d474d6ab548e89340eefbd85840f48b2a55052e97413ae95c6bc875b3b20f3bca2aad6ab548e89340eefbd85840f48b2a55052e97413ae95c6bc875b3b20f3bca2aabf61f7b37e20cda0fc8799b5e6cf17cf49022b99606b630a62b8b7b99c091bed4e8f6cf9f014f935072e75b55d79630b6df417c7f4682d1dc7c67dc716b6ecd901ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546ba4d83335f568348754b1e07969c30f093994caeea6e9a1f8ee8954080cf3593aa170062257ec81a4215bb238659719c3870d188523beaaba70d138023f6eadf52b0d2fbefe0848341d3ff4271e4633e9d2807d7cd3ef168b8d1766948d533e1f745030ae78e6c7f1f18be8eee75ad652101687aa62dba7c6f7b1dfa7a3f2e2a0c65b24124702163e9d9b2a789e8d0ad4c312c026ce22870d4025039ce9e2920ee2f45b5ad103f4a8d6d49c7e315330cd8b5c14867a7a21d3a154d1caff818fdab8009d22db3d5f46f15ff13abd9483d16e506cd4c3b28496428c60d21308c388527b4f65aae91b16c580347682f95f78d4b0e64be42062f7dcf2d8590a2f91b1e5d3c71ad8de2a304545ae145111f0708347abd9a9c1fe303cbbeba4403b5afed453ba132ef6dcfad0777d2cc846ecf0c39950ad56263e00e1d16c7a9e8c33b4424245fadc07bf38b985ebe3821f932a78c51364e19d99dcfa6f8b0e063f396e6f17e00313a46fbbf1b295ce9822ea4853c7ad8dd931f6bc68721ff1641d03bfrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-dnspython-1.15.0-150000.3.2.1.src.rpmpython-dnspythonpython2-dnspython@     python(abi)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)2.73.0.4-14.6.0-14.0.4-14.0-15.2-14.14.1YtW1@WW_W9@Tto@TAR0[@Q@Qޞ@sor.alexei@meowr.rusebix+novell.com@sebix.atsebix+novell.com@sebix.atsebix+novell.com@sebix.atsebix+novell.com@sebix.atdmueller@suse.comlars@linux-schulserver.dedmueller@suse.comspeilicke@suse.comdmueller@suse.com- Update for the multipython build. - Rename python-dnspython.asc to python-dnspython.keyring. - Spec cleanup.- use and recommend python-ecdsa and python-pycrypto for dnssec support- New upstream release 1.15.0 * IDNA 2008 support is now available if the "idna" module has been installed and IDNA 2008 is requested. The default IDNA behavior is still IDNA 2003. The new IDNA codec mechanism is currently only useful for direct calls to dns.name.from_text() or dns.name.from_unicode(), but in future releases it will be deployed throughout dnspython, e.g. so that you can read a masterfile with an IDNA 2008 codec in force. * By default, dns.name.to_unicode() is not strict about which version of IDNA the input complies with. Strictness can be requested by using one of the strict IDNA codecs. * Add AVC RR support. * Some problems with newlines in various output modes have been addressed. * dns.name.to_text() now returns text and not bytes on Python 3.x * More miscellaneous fixes for the Python 2/3 codeline merge. - Include readme with readme.patch as not included in upstream tarball - Fix a bug in the tests code with 210.patch with upstream pull request #210- New upstream release 1.14.0- New upstream release 1.13.0- fix build on SLE11- update to 1.12.0: * The test system can now run the tests without requiring dnspython to be installed. * When reading from a masterfile, if the first content line started with leading whitespace, we raised an ugly exception instead of doing the right thing, namely using the zone origin as the name. [#73] Thanks to Tassatux for reporting the issue. * Added dns.zone.to_text() convenience method. Thanks to Brandon Whaley for the patch. * The /etc/resolv.conf setting "options rotate" is now understood by the resolver. If present, the resolver will shuffle the nameserver list each time dns.resolver.query() is called. Thanks to underrun for the patch. Note that you don't want to add "options rotate" to your /etc/resolv.conf if your system's resolver library does not understand it. In this case, just set resolver.rotate = True by hand. * Escaping of Unicode has been corrected. Previously we escaped and then converted to Unicode, but the right thing to do is convert to Unicode, then escape. Also, characters > 0x7f should NOT be escaped in Unicode mode. Thanks to Martin Basti for the patch. * dns.rdtypes.ANY.DNSKEY now has helpers functions to convert between the numeric form of the flags and a set of human-friendly strings. Thanks to Petr Spacek for the patch. * RRSIGs did not respect relativization settings in to_text(). Thanks to Brian Smith for reporting the bug and submitting a (slightly different) patch. * dns/rdtypes/IN/APL.py: The APL from_wire() method did not accept an rdata length of 0 as valid. Thanks to salzmdan for reporting the problem. * dns/ipv6.py: Add is_mapped() * dns/reversename.py: Lookup IPv6 mapped IPv4 addresses in the v4 reverse namespace. Thanks to Devin Bayer. Yes, I finally fixed this one :) * dns/zone.py: Do not put back an unescaped token. This was causing escape processing for domain names to break. Thanks to connormclaud for reporting the problem. * dns/message.py: Making a response didn't work correctly if the query was signed with TSIG and we knew the key. Thanks to Jeffrey Stiles for reporting the problem. * dns/query.py: Fix problems with the IXFR state machine which caused long diffs to fail. Thanks to James Raftery for the fix and the repeated prodding to get it applied :) - enable some tests - add python-dnspython-rpmlintrc file - add python-ecdsa and python-pycrypto to BuildRequires for the DNSSec tests - use /usr/bin/python instead of /usr/bin/env python for the example scripts to avoid additional dependencies- update to 1.11.1: * fix syntax error exception on dns server failure * various fixlets for DNSSEC support- Package LICENSE, use proper upstream URL - Run testsuite - Cleanup macro usage- update to 1.11.0: * TLSA RR support * Added set_flags() method to dns.resolver.Resolver * Names with offsets >= 2^14 are no longer added to the compression table. * The "::" syntax is not used to shorten a single 16-bit section of the text form an IPv6 address. * Empty rdatasets are not printed. * DNSKEY key tags are no longer assumed to be unique.python-dnspythongoat18 1655212016  !!#$$&'')**,--/00233566899;<<>??ABBDEFGHHJKLMMOPPRSTUVVXYY[\\^__abbdeeghhjkkmnnpqqsttvwxyz{|}}     !"#$%&'()*+,-1.15.0-150000.3.2.11.15.0-150000.3.2.11.15.0-150000.3.2.1dns__init__.py__init__.pyc__init__.pyo_compat.py_compat.pyc_compat.pyodnssec.pydnssec.pycdnssec.pyoe164.pye164.pyce164.pyoedns.pyedns.pycedns.pyoentropy.pyentropy.pycentropy.pyoexception.pyexception.pycexception.pyoflags.pyflags.pycflags.pyogrange.pygrange.pycgrange.pyohash.pyhash.pychash.pyoinet.pyinet.pycinet.pyoipv4.pyipv4.pycipv4.pyoipv6.pyipv6.pycipv6.pyomessage.pymessage.pycmessage.pyoname.pyname.pycname.pyonamedict.pynamedict.pycnamedict.pyonode.pynode.pycnode.pyoopcode.pyopcode.pycopcode.pyoquery.pyquery.pycquery.pyorcode.pyrcode.pycrcode.pyordata.pyrdata.pycrdata.pyordataclass.pyrdataclass.pycrdataclass.pyordataset.pyrdataset.pycrdataset.pyordatatype.pyrdatatype.pycrdatatype.pyordtypesANYAFSDB.pyAFSDB.pycAFSDB.pyoAVC.pyAVC.pycAVC.pyoCAA.pyCAA.pycCAA.pyoCDNSKEY.pyCDNSKEY.pycCDNSKEY.pyoCDS.pyCDS.pycCDS.pyoCERT.pyCERT.pycCERT.pyoCNAME.pyCNAME.pycCNAME.pyoCSYNC.pyCSYNC.pycCSYNC.pyoDLV.pyDLV.pycDLV.pyoDNAME.pyDNAME.pycDNAME.pyoDNSKEY.pyDNSKEY.pycDNSKEY.pyoDS.pyDS.pycDS.pyoEUI48.pyEUI48.pycEUI48.pyoEUI64.pyEUI64.pycEUI64.pyoGPOS.pyGPOS.pycGPOS.pyoHINFO.pyHINFO.pycHINFO.pyoHIP.pyHIP.pycHIP.pyoISDN.pyISDN.pycISDN.pyoLOC.pyLOC.pycLOC.pyoMX.pyMX.pycMX.pyoNS.pyNS.pycNS.pyoNSEC.pyNSEC.pycNSEC.pyoNSEC3.pyNSEC3.pycNSEC3.pyoNSEC3PARAM.pyNSEC3PARAM.pycNSEC3PARAM.pyoPTR.pyPTR.pycPTR.pyoRP.pyRP.pycRP.pyoRRSIG.pyRRSIG.pycRRSIG.pyoRT.pyRT.pycRT.pyoSOA.pySOA.pycSOA.pyoSPF.pySPF.pycSPF.pyoSSHFP.pySSHFP.pycSSHFP.pyoTLSA.pyTLSA.pycTLSA.pyoTXT.pyTXT.pycTXT.pyoURI.pyURI.pycURI.pyoX25.pyX25.pycX25.pyo__init__.py__init__.pyc__init__.pyoINA.pyA.pycA.pyoAAAA.pyAAAA.pycAAAA.pyoAPL.pyAPL.pycAPL.pyoDHCID.pyDHCID.pycDHCID.pyoIPSECKEY.pyIPSECKEY.pycIPSECKEY.pyoKX.pyKX.pycKX.pyoNAPTR.pyNAPTR.pycNAPTR.pyoNSAP.pyNSAP.pycNSAP.pyoNSAP_PTR.pyNSAP_PTR.pycNSAP_PTR.pyoPX.pyPX.pycPX.pyoSRV.pySRV.pycSRV.pyoWKS.pyWKS.pycWKS.pyo__init__.py__init__.pyc__init__.pyo__init__.py__init__.pyc__init__.pyodnskeybase.pydnskeybase.pycdnskeybase.pyodsbase.pydsbase.pycdsbase.pyoeuibase.pyeuibase.pyceuibase.pyomxbase.pymxbase.pycmxbase.pyonsbase.pynsbase.pycnsbase.pyotxtbase.pytxtbase.pyctxtbase.pyorenderer.pyrenderer.pycrenderer.pyoresolver.pyresolver.pycresolver.pyoreversename.pyreversename.pycreversename.pyorrset.pyrrset.pycrrset.pyoset.pyset.pycset.pyotokenizer.pytokenizer.pyctokenizer.pyotsig.pytsig.pyctsig.pyotsigkeyring.pytsigkeyring.pyctsigkeyring.pyottl.pyttl.pycttl.pyoupdate.pyupdate.pycupdate.pyoversion.pyversion.pycversion.pyowiredata.pywiredata.pycwiredata.pyozone.pyzone.pyczone.pyodnspython-1.15.0-py2.7.egg-infoPKG-INFOSOURCES.txtdependency_links.txttop_level.txtpython2-dnspythonChangeLogLICENSEREADME.mdexamplesddns.pye164.pymx.pyname.pyreverse.pyreverse_name.pyxfr.pyzonediff.py/usr/lib/python2.7/site-packages//usr/lib/python2.7/site-packages/dns//usr/lib/python2.7/site-packages/dns/rdtypes//usr/lib/python2.7/site-packages/dns/rdtypes/ANY//usr/lib/python2.7/site-packages/dns/rdtypes/IN//usr/lib/python2.7/site-packages/dnspython-1.15.0-py2.7.egg-info//usr/share/doc/packages//usr/share/doc/packages/python2-dnspython//usr/share/doc/packages/python2-dnspython/examples/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:24669/SUSE_SLE-15_Update/9eb7b0c7ad2874096f0b1a36a678bc6a-python-dnspython.SUSE_SLE-15_Updatedrpmxz5noarch-suse-linuxdirectoryASCII textpython 2.7 byte-compiledPython script, ASCII text executableUTF-8 Unicode text  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRtjb7Xpython2-ecdsapython2-idnapython2-pycryptoutf-83773dd31142562369c067298edb5854ec72e828104d3e165a2a064d48f381d5a?7zXZ !t/$ ]"k%Ӆ) H^%-X쇪ͼjxyFJ=l$T4=[C[J~t*>t9EI! N vp ͽ? ;8# ^+JLJV6΢55hfwv%(?B|~h [l X؀LG$|`YyU܁ΦW)}⟏!% \|ez5ǪkO'&r{(91"oIc*op@ C1I}ʠ`ok^J x-Tqz`g'{Wh^r 5[Ɗ]4V1D#(~WKDkcyNR7 fżzOu(`gF6NjhD.A.xb_+ K@QdKSˤύ?^ArNO&+h43kΞij`c`6~Y[4T-4\R$/Ď >*t䞪V'7rdtsvp"GA#[?ۡHCχ@*+_݂_,p5|^Ohi ӶWt'6j 7_~m_\Td۸GSĄnpj^q:e _^Ovlm*KN8Iy`dl ̔?%A$Bp/M;,K3Gȼ+; BGE`drM~@U*%S۟ڽؿhi&aNE]S47&_ŵ aظ2VDsQXA%F%ڥ;Œ.QTBa݊aN>eTknk Hz B&n\U}KUE 8<㐡Z~"L?k;,/f saeeI8\yinhp*7!H煹"`~HgU;{"|쾐I>)P{*w oæ5=_M/ 5#D&zM^M}ňb!X)^vN_={qN:E7mCfZV 'k3z( Onr|G.7rIZk Т3݊Iy]JµyE5qg=++ ol"5ҷWS1ElիiMYHQ(Vhu04PDp-dŸ2183ޥs4c;hJmAx ʍ*c:j6\Q@˶=4]AzB봄!hù+)d.E [Kd+k+b1u[lMn$f_0tY_J!nŷԘ<7BkHaͬĘ/nY , 8lhkHnwfk%^/S'V{P:y 7=ugeHos"tYe;>Z^YNF'ٚ={n'KtH[[jP~M*le#޳,˄ĥeBkǑ@ p?bHKwz;< q<dϯ}&ܪIq>cŨu"҆r #f.X>Yq<Ŝ meFdg8zpQ*sB>Mu矤bxA]1l2XfB)M:L6 Ҧ^1dNn%9 ۽#K+eU _"NA1dE/-moST +yW̞Fy?ZE=TE (ÙLh=NZ+ 6'6xyr1|E8aXW׀d)t}ŋ0qfKN8}Z^ذ2>팕qz}Xs& Ru /-o h92.Ycٹ.`K?4n'/v}`5¹j: BKEBON)ҠazƃTDyE̘ /TʳT^5~r ˪iQ2Jv YZ