rust 8#rustc 1.76.0 (07dca489a 2024-02-04) JSY׃(h.N9-66d8041607d2929b20@vϑ+I-693a8f23970c5917c\i %LRlU-13fc9d1ed9c7a2bcrustc_std_workspace_core vJ][.(b{-5af394d9b1f07bdc"E~+-e9d126c51bb8b2bbu$5mS-39c59240bfdfab27 "mL7e?^]-65c422a3ad95273dcfg_if :Xc^,I-7e6330a6c0cb9441 miniz_oxideCMFrf1=f<-306712ebb1ee1a3fadler}s9ycK )2 -349c574f342b0d30 hashbrownKs~曁X5-ce1d65fb391ae98brustc_std_workspace_allocQMzR#|.廍܅ -8933a2fb54d88492 std_detect >1~-b93dac2525ec4d1erustc_demanglex>)F0-a6e97aae2681ad8f addr2line)˂K-1ff34b0cf871cb60gimliӸWFf_Vmgq-0c110dd0650d6cb7object:[fu#r-dcd9be90ae2cb505memchrTivpJ5-516789932d161b4eIph:=jvl-a57e2388c0aea9b1 byteorderRڵ8=(S=-4d0457ff00ff859blog. bHͮ-c2b9fe8f0bb60ac5base64LB|p(-ab5978f82f0243f6 label_to_ascii  with_idna    10 0  0 d      n      x                                   ;: :  :  size_testO OO O  position_testT TT T  altitude_testl ll l                                                                     types  is_standardstrings             root extend   ReadLabels  read_labels "  WriteLabels$ write_labels &W& RECURSION_LIMIT read_string_recursivewire,,,,,,,,,, , , , , ,,,,,?to_bytes?additional_record,B from_bytes,D,F,HI read_record,Kfrom_u16Kto_u16,NqueryNstandard_responseNNR ,T from_bits,V,WireXNAMEXRR_TYPEXread, \recordbbaddddhhhk bbaaaannnnrrru bbcaaxxx{{{~ bbcnamebbeui48 formatted_addressbbeui64 bbhinfobblocfrom_u8from_u32!bbmxb bnaptrb bnsb b openpgpkey base64_keyb boptb b bbsshfphex_fingerprint bbsoabbsrvbbtlsahex_certificate_data bbtxtbburibbothersfrom_type_name  type_number TYPESbb try_recordb()(Requesttransaction_idflags additionalResponse))queriesanswers authorities additionalsQueryqnameqclassqtype AnswerStandard++ttlPseudo+#   QClassIN CH HS Other   Flagsresponseopcode authoritative truncatedrecursion_desiredrecursion_availableauthentic_datachecking_disabled error_codeOpcode+ -   ErrorCode FormatError  ServerFailure NXDomain NotImplemented  QueryRefused  BadVersion -  Private    Labelssegments           , WireErrorIO WrongRecordLength stated_lengthmandated_lengthWrongLabelLength3length_after_labelsTooMuchRecursion   OutOfBounds   WrongVersionstated_versionmaximum_supported_version, , , ,MandatedLengthExactly  AtLeast  , ,,,,dAdddddnAAAAnnnnnxCAAcriticaltagvaluexxxCNAMEdomainEUI48octets  EUI649  HINFOcpuosLOC horizontal_precisionvertical_precisionlatitude longitudealtitude    Sizebase power_of_ten Positiondegrees arcminutes arcsecondsmilliarcseconds directionAltitudemetres centimetres DirectionNorth East South West  MX preferenceexchangeNAPTRorder?)serviceregex replacementNS nameserver OPENPGPKEYkeyOPTudp_payload_size higher_bits edns0_version)dataPTRSSHFP algorithmfingerprint_type fingerprintSOAmnamernameserialrefresh_intervalretry_interval expire_limit minimum_ttlSRVpriorityweightport TLSAcertificate_usageselector matching_typecertificate_dataTXTmessagesURIFF  UnknownQtypeHeardOf    UnheardOf  bRecord6  7  7  8  9  9  :  :  ?  @  A  A  C  C  D  E  F  G  H  -(bytesbbbb RecordType6 7 7 8 9 9 : : ? @ A A C C D E F G H -  bbbbb  777777777!7"7#7%7%7(7(7*7*7*7*7@7C7E7E7G7G7I7I7[7[7k7k7u7u7~7~77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 $X)))*ŬٕIaaMa*))***+ûbbMb++++ɞcbbMb,++,,+#ঐ椰ccMc---- չ(ddMddd. ......///ȧ-eeMeee+- IJffMfff001111- 2 Ё剷ggMggg22 댼)hhhhhhhMhhMh ==Cursor=inner=posۆ 7 $33344344 4 555ŒjjMj6 6 `kkMkkkj F6󩛌mmMmmmXm7ޙmmMmmmXm7888ݿۦnnMnXn88̆5ooMoXo99́ѬooMoooXo99碞ppMpppXp:::ྷqqMqXq: :;;;; qqMqqq<<<ۻݸrrMrrr<<====ԜςssMsss>>>壙帜ɔttMttt>???՘wuuMuuuXqMrMsMuMt??@ϲvvMvXv@@?)@@A•¨vvMvXvAA޸ŹdwwMwXwABxxMxXxBBBB)C/xxMxxC yyMyXyCCDD댥ڕzzMzXzDDDDEEEEۗăzzMzXzEFFF ܹ|{{M{X{FFFGGŭd||M|X|GG勼}}M}X}HFF ۯݪ}}M}X}H  I גu~~M~~~~M~6 7 7 8 9 9 : : ? @  A  A  C  C  D E F G H -(M7M677899::?@ A A C C DEFGH- 웷殃zM"=&hr{\  $XM&)M&p&~!)8ΐA i "A"j͑͑1l4AAAA"s "AAAA"ϓt28v16CAA!| "CAA"}257ȖCNAME# "CNAME"ϗϗ566řEUI48# "EUI48"l̚̚10868ĜĜĜĜĜ8EUI64#ĝ ĝ"EUI64"m1098ßHINFO# "HINFO" ʠʠ13LOC! "LOC"29 ϢMX  "MX"  У У15 NAPTR#  "NAPTR"  #   35 ٥NS  "NS"  ڦ ڦ2  OPENPGPKEY ( ħ ħ "OPENPGPKEY" =  61 )  41ȩPTR! "PTR" ˪˪12SSHFP# "SSHFP",44 ԬSOA ! "SOA"  ׭ ׭6SRV! "SRV"!33ۯTLSA" "TLSA"Ű452TXT!ı ı"TXT"16URI! "URI"ͳ256 " "  յ # ҵҵԵ յ յ յ յ յ յ յ յ յ յ յ յ յյյյյյյյյյյյյյյյյյҵ   AFSDB   ANY   APL *  AXFR   CDNSKEY <  CDS ;̶  CERT %ٶ  CSYNC >  DHCID 1  DLV   DNAME '  DNSKEEYE 0 DS+ HIP7  IPSECKEY- IXFRη KEY۷ KX$ NSEC/ NSEC32   NSEC3PARAM 3   OPENPGPKEY = RRSIG. RP SIGø SMIMEA5и TAݸ TKEY TSIG URI յ      ҵԵյյյյյյյ̶յٶյյյյյյյյյηյ۷յյյյյյյյøյиյݸյյ d" fj) g* gx jBox  lԊԥ 888Global ڜqz  j k k ~  ~ m m n o o p q q v  v   w   x   y   z  z  {  |  }  } ~ ,b 2+ X_3 `6 a) * +  , - . /  0$   F The DNS crate is the ‘library’ part of dog. It implements the DNSIC protocol: creating and decoding packets from their byte structure.F ,b 2+X_3`6a) * + , - . / 0  D DNS packets are traditionally implemented with both the request andGK response packets at the same type. After all, both follow the same format,HNK with the request packet having zero answer fields, and the response packetN1 having at least one record in its answer fields.4IM B2( * c +!B Whether this Answer holds a standard record, not a pseudo record.*E+ 7 7c + + , Reading strings from the DNS wire protocol./ $)*C  U% ioh Writen  ReadBytesExt   WriteBytesExt j Logv  set_max_level   set_max_level_racyȬ   max_level    set_logger   set_logger_racy  logger   __private_api  STATIC_MAX_LEVEL  Levely MetadataŁ I  LevelFilter   RecordBuilder  MetadataBuilder SetLoggerError ParseLevelError   error     info!  ' trace.  log_enabled7   __log_key:  [X h== .ReadE / BigEndiang  13`  6~ 5CPU^hcn{(   4Z    " 7 7  y::: +հ©+  hG Creates a new empty set of labels, which represent the root of the DNSJ as a domain with no name.h  0F Encodes the given input string as labels. If any segment is too long,I" returns that segment as an error. % 7 7  yh  input     Returns the number of segments.#7 7h *5 Returns a new set of labels concatenating two names.877 7h 7hh h8777 7h 7MMM)JMfillJMJMwidthJM precisionJMbufJҠ᷷7  y      !!> 7 7  yhj  !!7i#= 7 7i"" #7 $$$%%= 77 7 7h  yl$$ % ''jjj(< 77 7j 7h&& (j "y" 7777 7h 7==h=h=hۆ 7j 7666161J  yj" *labels"# recursions#   Parsing the DNS wire protocol."Xh=./1r 2 j3,4I,7M ,8B,92,;  ,< $,=v,5 ,5 ,5 ,5 ,5 ,5 ,5,5 ,5,5,5,5,5,5,5,5 ,5 ,5  ,5 ,5,5,5,5,5),>*,>+,>,,>-,>.,>/,>0,>3=E[3g Ñr ͑ ב( 1  Œ  a@A-, Converts this request to a vector of bytes./7 7a  y666161Jjl?? @ !7 Returns the OPT record to be sent as part of requests. : x?? A bC :B Reads bytes off of the given slice, parsing them into a response. E 7 7j  ybjB B CM  bE!N! ,77h 7==h=h=hۆ 7j  ybjD!D E+!!$ cG&N& ,77h 7==h=h=hۆ 7j  ycjF&F G+&&- I/b/ ,77 7==h=h=hۆ 7j  yjH0H I record_type/ 0011 13111 11  111313 1 112#Parsing {} record (type {}, len {})1%2 22 222 22 22 2 2 (2 222 22 22 223 33 33 333 333 3> dLM>>,dKK Luu>@@,dKK M@B eOPQRB1 The set of flags that represents a query packet.B4BeNN OC"8 The set of flags that represents a successful response.C;CeNN PD+ Converts the flags into a two-byte number.D.DeNN QEL"3 Extracts the flags from the given two-byte number.L6LeNN RbitsLMRSSSSRS  R fUTT ,jfTT UTUgWV'V ,  gVV WV[H Trait for decoding DNS record structures from bytes read over the wire.ZK[XX[XҭݬYZ[YZ[[> This record’s type as a string, such as `"A"` or `"CNAME"`.[A[XX ]5 The number signifying that a record is of this type.\8\ See \_]XX_DF Read at most `len` bytes from the given `Cursor`. This cursor travels]IH throughout the complete data — by this point, we have read the entire^K response into a buffer.^_77 7==h=h=hۆ 7j  yjX_X [__"j]lj\\ ]ioe -    = All the DNS record types, as well as how to parse each type.@ dnx6pm7w7899::?@AA BCCDEFGHH h=bc.bc/bc1bc2jbc3Xbc3bc6bcF X\bIpv4Addrdevdf df df df df df dfdf dfdfdfIdfdfdfdfdfdf df df  df dfdfdfdfdfh=dg.dg/dg1dg2jdg3Xdg3dg6dg* mijkhhhhM77 7==h=h=hۆ 7j  ymjhh k3 kkg ptxbIpv6Addrnovnp np np np np np npnp npnpnpInpnpnpnpnpnp np np  np npnpnpnpnph=nq.nq/nq1nq2jnq3Xnq3nq6nq* msturrrrM77 7==h=h=hۆ 7j  ymjrr u3 uubvxy xy xy xy xy xy xyxy xyxyxyIxyxyxyxyxyxy xy xy  xy xyxyxyxyxyh=xz.xz/xz1xz2jxz3Xxz3xz6xz n|}~{{{{M77 7==h=h=hۆ 7j  ynj{{ ~3 ~~ j j b2"*  v       I     h=./12j3X36$"* ; oM77 7==h=h=hۆ 7j  yoj 3  bv       I     h=./12j3X36 oM77 7==h=h=hۆ 7j  yoj 3  o (> Returns this EUI as hexadecimal numbers, separated by dashes. A o   bv       I     h=./12j3X36 pM77 7==h=h=hۆ 7j  ypj 3  p ( A p   bv       I     h=./12j3X36 qM77 7==h=h=hۆ 7j  yqj 3 b %v       I     h=./12j3X36  qM77 7==h=h=hۆ 7j  yqj 3  r  jr  ! s$;$  s $vertical$. t..t /0r181777 7r 7MMM)JMJMJMJMJMJҠ᷷71 112s282777 7s 7MMM)JMJMJMJMJMJҠ᷷72 225u585777 7u 7MMM)JMJMJMJMJMJҠ᷷75 557t787777 7t 7MMM)JMJMJMJMJMJҠ᷷77 77b2" *  v       I     h=./12j3X36 $ " * ;  v    M  77 7==h=h=hۆ 7j  yvj  3    b2" *  v       I     h=./12j3X36 $ " * ƞ;  v      M   77 7==h=h=hۆ 7j  yvj   3   b2" *  v       I     h=./12j3X36 $ " * ;  w    M  77 7==h=h=hۆ 7j  ywj  3    bv       I     h=./12j3X36   x    M  77 7==h=h=hۆ 7j  yxj  3   x"  The base64-encoded PGP key.  7 7x    b $ v       I     h=./12j3X36   $ - :   x , The record type number associated with OPT. /  = 4 Reads from the given cursor to parse an OPT record.7  C The buffer will have slightly more bytes to read for an OPT recordF H than for a typical one: we will not have encountered the ‘class’ orK F ‘ttl’ fields, which have different meanings for this record type.I 8 See §6.1.3 of the RFC, “OPT Record TTL Field Use”.;  B Unlike the `Wire::read` function, this does not require a length.E  77 7==h=h=hۆ 7j  yxj   - 3 Serialises this OPT record into a vector of bytes.6  G This is necessary for OPT records to be sent in the Additional sectionJ  of requests.  7 7xߔ   b2"*  v       I     h=./12j3X36$"* ; yM77 7==h=h=hۆ 7j  yyj 3  bv       I     h=./12j3X36 zM77 7==h=h=hۆ 7j  yzj 3  z'; Returns the hexadecimal representation of the fingerprint. >7 7z  b2"*  v       I     h=./12j3X36$"* ;  z     M 77 7==h=h=hۆ 7j  yzj  3  b2"*  v       I     h=./12j3X36$"* ; {M77 7==h=h=hۆ 7j  y{j 3 bv       I     h=./12j3X36 |M77 7==h=h=hۆ 7j  y|j 3  |,>7 7| bv       I     h=./12j3X36 }M77 7==h=h=hۆ 7j  y}j 3 bv       I     h=./12j3X36 }M77 7==h=h=hۆ 7j  y}j 3  b % ~6G Searches the list for an unknown type with the given name, returning aJ9 `HeardOf` variant if one is found, and `None` otherwise.<7 7  ~      յ2 Returns the type number behind this unknown type.5 ~ ~~ +Ɍت"~ 8 777 7~ 7MMM)JMJMJMJMJMJҠ᷷7         ! (         (   M  6C Determines the record type with a given name, or `None` if none isF) known. Matches names case-insensitively.,7 7             eq_ignore_ascii_case        A Returns the record type number associated with this record type.D   / A request that gets sent out over a transport.2aŬٕI> The transaction ID of this request. This is used to make sureA? different DNS packets don’t answer each other’s questions.B+ The flags that accompany every DNS packet..eE The query that this request is making. Only one query is allowed perHG request, as traditionally, DNS servers only respond to the first queryJ in a packet.b< An additional record that may be sent as part of the query.?   x  ޠ. a ޠޠ. a ġ77 7a 7a   Ţ/a777 7a 7MMM)JMJMJMJMJMJҠ᷷7 ' A response obtained from a DNS server.*bû > The transaction ID, which should match the ID of the request.A   . e  The queries section.  666161Jb  The answers section.  666161Jc ' The authoritative nameservers section. *   The additional records section. #   / b 0 b 77 7b 7b    0 b777 7b 7MMM)JMJMJMJMJMJҠ᷷7    A DNS query section.  bɞc B The domain name being queried, in human-readable dotted notation. E h  The class number.  d The type number.   ް1 b ްް1 b ı77 7b 7b      Ų1 b 777 7b 7MMM)JMJMJMJMJMJҠ᷷7     A DNS answer section.cঐ椰, This is a standard answer with every field./ɵc $ The domain name being answered for.'h This answer’s class.d' The time-to-live duration, in seconds.*% The record contained in this answer.(F This is a pseudo-record answer, so some of the fields (class and TTL)I have different meaning.ܸc 'h) The OPT record contained in this answer.,x   2  c 2  c 77 7c 7c     3 c777 7c 7MMM)JMJMJMJMJMJҠ᷷7  K A DNS record class. Of these, the only one that’s in regular use anymoreN is the Internet class.dչ(d The **Internet** class.dd The **Chaosnet** class.dd The **Hesiod** class.dd5 A class number that does not map to any known class.8 d   4 d 4 d 77 7d 7d   5d777 7d 7MMM)JMJMJMJMJMJҠ᷷7 5d5d7 7dd .eȧ-* Whether this packet is a response packet.- The operation being performed."fL In a response, whether the server is providing authoritative DNS responses.O I In a response, whether this message has been truncated by the transport.L H In a query, whether the server may query other nameservers recursively.K9 It is up to the server whether it will actually do this.<B In a response, whether the server allows recursive query support.EE In a response, whether the server is marking this data as authentic.HA In a request, whether the server should disable its authenticityD& checking for the request’s queries.)!; In a response, a code indicating an error if one occurred.>   6 e 6 e 77 7e 7e   7e777 7e 7MMM)JMJMJMJMJMJҠ᷷7 7e7e7 7ee  5 A number representing the operation being performed.8 fIJjf!B This request is a standard query, or this response is answering a E standard query.!ffC Any other opcode. This can be from 1 to 15, as the opcode field is!F four bits wide, and 0 is taken.!# jf "j  8 f 8 f 77 7f 7f      9 f 777 7f 7MMM)JMJMJMJMJMJҠ᷷7      9 f  9 f 7 7ff   $ A code indicating an error."" # References""O - [RFC 6895 §2.3](https://tools.ietf.org/html/rfc6895#section-2.3) — Domain"R5 Name System (DNS) IANA Considerations (April 2013)#8 $ gЁ剷gg$ < `FormErr` — The server was unable to interpret the query.$? gg% 4 `ServFail` — There was a problem with the server.%7 gg&G `NXDomain` — The domain name referenced in the query does not exist.%J gg'H `NotImp` — The server does not support one of the requested features.&K gg( I `Refused` — The server was able to interpret the query, but refused to'L fulfil it.' gg) G `BADVERS` and `BADSIG` — The server did not accept the EDNS version,(JA or failed to verify a signature. The same code is used for both.(D gg1 An error code with no currently-defined meaning.)4  g )? An error code within the ‘Reserved for Private Use’ range.*B  g *# # 9# g# :# g# 77 7g 7g# # # $$:$g$777 7g 7MMM)JMJMJMJMJMJҠ᷷7$ $$$$;$g$$;$g$7 7gg$ $F Domain names in the DNS protocol are encoded as **Labels**, which areII segments of ASCII characters prefixed by their length. When written out,L# each segment is followed by a dot.&3 The maximum length of a segment is 255 characters.6 h댼) 666161Jj  < h < h 77 7h 7h    < h< h<  < 7 7h  ! <! h 77 7h 7h  LessGreaterӳp  ! "="h77 7h 7h "#=#h777 7h 7MMM)JMJMJMJMJMJҠ᷷7 #$؄=$h7 7hh `2 Something that can go wrong deciphering a record._5:` jŒjja/ There was an IO error reading from the cursor.`2? Almost all the time, this means that the buffer was too short.`B:jjdF When the DNS standard requires records of this type to have a certainbI= fixed length, but the response specified a different length.b@cA This error should be returned regardless of the _content_ of thecD record, whatever it is.c:jd? The length of the record’s data, as specified in the packet.dBd e> The length of the record that the DNS specification mandates.eAekuG When the length of this record as specified in the packet differs fromfJ6 the computed length, as determined by reading labels.f9gE There are two ways, in general, to read arbitrary-length data from agHG stream of bytes: length-prefixed (read the length, then read that manygJC bytes) or sentinel-terminated (keep reading bytes until you read ahF? certain value, usually zero). The DNS protocol uses both: eachiBD record’s size is specified up-front in the packet, but inside theiGG record, there exist arbitrary-length strings that must be read until ajJ2 zero is read, indicating there is no more string.j5kE Consider the case of a packet, with a specified length, containing akHE string of arbitrary length (such as the CNAME or TXT records). A DNSkH1 client has to deal with this in one of two ways:l4lG 1. Read exactly the specified length of bytes from the record, raisingmJG an error if the contents are too short or a string keeps going pastmJI the length (assume the length is correct but the contents are wrong).nLnF 2. Read as many bytes from the record as the string requests, raisingnID an error if the number of bytes read at the end differs from theoGE expected length of the record (assume the length is wrong but thepH contents are correct).pqB Note that no matter which way is picked, the record will still beqEI incorrect — it only impacts the parsing of records that occur after itqLD in the packet. Knowing which method should be used requires knowingrGB what caused the DNS packet to be erroneous, which we cannot know.rEsD dog picks the second way. If a record ends up reading more or fewersGJ bytes than it is ‘supposed’ to, it will raise this error, but _after_tMC having read a different number of bytes than the specified length.tF:jvuBv wC The computed length of the record’s data, based on the number ofvF2 bytes consumed by reading labels from the packet.v5wA When the data contained a string containing a cycle of pointers.wD7 Contains the vector of indexes that was being checked.x:: j x G When the data contained a string with a pointer to an index outside ofyJ( the packet. Contains the invalid index.y+: j z{ E When a record in the packet contained a version field that specifieszHF the format of its remaining fields, but this version is too recent tozI% be supported, so we cannot parse it.{(:ģj|= The version of the record layout, as specified in the packet|@|j}7 The maximum version that this version of dog supports.|:}j` ` R` j` R` j` 77 7j 7j` ` ` ``T`j`777 7j 7MMM)JMJMJMJMJMJҠ᷷7` ``~6 The rule for how long a record in a packet should be.}9;~k`kk8 The record should be exactly this many bytes in length.~;; k έ; The record should be _at least_ this many bytes in length.>; k ~ ~ U~ k~ U~ k~ 77 7k 7k~ ~ ~ ~~V~k~ʱ777 7k 7MMM)JMJMJMJMJMJҠ᷷7~ ~~~~V~k~~V~k~7 7kk~ ~ 7 An **A** record type, which contains an `Ipv4Address`.<:w{L - [RFC 1035 §3.4.1](https://tools.ietf.org/html/rfc1035) — Domain Names,O3 Implementation and Specification (November 1987)6=m󩛌* The IPv4 address contained in the packet.-9A͡o  ŸW m ŸŸW m 77 7m 7m   Wm777 7m 7MMM)JMJMJMJMJMJҠ᷷7 ׼WmXmĽ7 7mm 4 A **AAAA** record, which contains an `Ipv6Address`.<7txH - [RFC 3596](https://tools.ietf.org/html/rfc3596) — DNS Extensions toK& Support IP Version 6 (October 2003))@mޙ* The IPv6 address contained in the packet.-9Aِ  Y m Y m 77 7m 7m   Ym777 7m 7MMM)JMJMJMJMJMJҠ᷷7 YmYm7 7mm H A **CAA** _(certification authority authorization)_ record. These allow#KK domain names to specify which Certificate Authorities are allowed to issueoN certificates for the domain. H - [RFC 6844](https://tools.ietf.org/html/rfc6844) — DNS CertificationK9 Authority Authorization Resource Record (January 2013)<Cnݿۦ8 Whether this record is marked as “critical” or not.;& The “tag” part of the CAA record.)  lԊԥj( The “value” part of the CAA record.+  Z n Z n 77 7n 7n   [n777 7n 7MMM)JMJMJMJMJMJҠ᷷7 L A **CNAME** _(canonical name)_ record, which aliases one domain to another.MOL - [RFC 1035 §3.3.1](https://tools.ietf.org/html/rfc1035) — Domain Names,Oж6Lŏ5; The domain name that this CNAME record is responding with.>h  ^ o ^ o 77 7o 7o   ^o777 7o 7MMM)JMJMJMJMJMJҠ᷷7 E A **EUI48** record, which holds a six-octet (48-bit) Extended Unique#H< Identifier. These identifiers can be used as MAC addresses.l?K - [RFC 7043](https://tools.ietf.org/html/rfc7043) — Resource Records forN8 EUI-48 and EUI-64 Addresses in the DNS (October 2013);PóѬ, The six octets that make up the identifier./j  ` o ` o 77 7o 7o   `o777 7o 7MMM)JMJMJMJMJMJҠ᷷7 `o`o7 7oo H A **EUI64** record, which holds an eight-octet (64-bit) Extended Unique#K Identifier.oN;Tp碞. The eight octets that make up the identifier.1j  b p b p 77 7p 7p   bp777 7p 7MMM)JMJMJMJMJMJҠ᷷7 bpbp7 7pp ĜJ A (an?) **HINFO** _(host information)_ record, which contains the CPU and#M OS information about a host.q H It also gets used as the response for an `ANY` query, if it is blocked.KL - [RFC 1035 §3.3.2](https://tools.ietf.org/html/rfc1035) — Domain Names,Oж6N - [RFC 8482 §6](https://tools.ietf.org/html/rfc8482#section-6) — ProvidingQL Minimal-Sized Responses to DNS Queries That Have QTYPE=ANY (January 2019)OXqྷ( The CPU field, specifying the CPU type.+/ The OS field, specifying the operating system.2  d q d q 77 7q 7q   dq777 7q 7MMM)JMJMJMJMJMJҠ᷷7 I A **LOC** _(location)_ record, which points to a location on Earth using2L' its latitude, longitude, and altitude.*M - [RFC 1876](https://tools.ietf.org/html/rfc1876) — A Means for ExpressingP@ Location Information in the Domain Name System (January 1996)Caq D The diameter of a sphere enclosing the entity at the location, as aG. measure of its size, measured in centimetres.1rJ The diameter of the “circle of error” that this location could be in,M measured in centimetres.jF The amount of vertical space that this location could be in, measuredI in centimetres.j@ The latitude of the centre of the sphere. If `None`, the packetC* parses, but the position is out of range.-A The longitude of the centre of the sphere. If `None`, the packetD-  B The altitude of the centre of the sphere, measured in centimetres EA above a base of 100,000 metres below the GPS reference spheroid. D t  g q g q 77 7q 7q   hq777 7q 7MMM)JMJMJMJMJMJҠ᷷7 iqلiq7 7qq  b rۻݸ  j  j  i r i r ҇77 7r 7r      Ԉj r 777 7r 7MMM)JMJMJMJMJMJҠ᷷7      j r  j r 7 7rr    c sԜς          u  k s k s 77 7s 7s      k s ϐ777 7s 7MMM)JMJMJMJMJMJҠ᷷7      Òl s  l s 7 7ss   dt壙帜ɔ    l t l t 77 7t 7t    lt777 7t 7MMM)JMJMJMJMJMJҠ᷷7 mtٙmt7 7tt e u՘we›u››ueuueМuММueuu  m u m u О77 7u 7u   ҟnu777 7u 7MMM)JMJMJMJMJMJҠ᷷7 nunu7 7uu  J An **MX** _(mail exchange)_ record, which contains the hostnames for mailMM - servers that handle mail sent to the domain.0    L - [RFC 1035 §3.3.9](https://tools.ietf.org/html/rfc1035) — Domain Names,O ж6 w vϲ F The preference that clients should give to this MX record amongst allI  that get returned.   - The domain name of the mail exchange server.0  h  r v r v 77 7v 7v      r v 777 7v 7MMM)JMJMJMJMJMJҠ᷷7     H A **NAPTR** _(naming authority pointer)_ record, which holds a rule forMK ) the Dynamic Delegation Discovery System.,    I - [RFC 3403](https://tools.ietf.org/html/rfc3403) — Dynamic DelegationL L Discovery System (DDDS) Part Three: The Domain Name System (DNS) DatabaseO  (October 2002) | v•¨ 4 The order in which NAPTR records must be processed.7    The DDDS priority.   E A set of characters that control the rewriting and interpretation ofH  the other fields.   ; The service parameters applicable to this delegation path.>   ? A regular expression that gets applied to a string in order toB D construct the next domain name to look up using the DDDS algorithm.G   ; The replacement domain name as part of the DDDS algorithm.>  h  t v t v 77 7v 7v      u v 777 7v 7MMM)JMJMJMJMJMJҠ᷷7     H A **NS** _(name server)_ record, which is used to point domains to nameMK  servers.    M - [RFC 1035 §3.3.11](https://tools.ietf.org/html/rfc1035) — Domain Names,P ж6  w޸Źd = The address of a nameserver that provides this DNS response.@  h  y w y w 77 7w 7w      z w ܾ777 7w 7MMM)JMJMJMJMJMJҠ᷷7     0 A **OPENPGPKEY** record, which holds a PGP key.#3 W [ l I - [RFC 1035 §3.3.14](https://tools.ietf.org/html/rfc7929) — DNS-BasedpL F Authentication of Named Entities Bindings for OpenPGP (August 2016)I  x ! The PGP key, as unencoded bytes.$    { x { x 77 7x 7x      { x 777 7x 7MMM)JMJMJMJMJMJҠ᷷7      E A **OPT** _(options)_ pseudo-record, which is used to extend the DNSLH 5 protocol with additional flags such as DNSSEC stuff.8   # Pseudo-record?  I Unlike all the other record types, which are used to return data about aL D domain name, the OPT record type is used to add more options to theG K request, including data about the client or the server. It can exist, withN J a payload, as a query or a response, though it’s usually encountered inM H the Additional section. Its purpose is to add more room to the DNS wireK J format, as backwards compatibility makes it impossible to simply add moreM  flags to the header.  H The fact that this isn’t a standard record type is annoying for a DNSK K implementation. It re-purposes the ‘class’ and ‘TTL’ fields of theN I `Answer` struct, as they only have meaning when associated with a domainL F name. This means that the parser has to treat the OPT type specially,I I switching to `Opt::read` as soon as the rtype is detected. It also meansL 6 the output has to deal with missing classes and TTLs.9       K - [RFC 6891](https://tools.ietf.org/html/rfc6891) — Extension Mechanisms N  for DNS (April 2013)    x/  ; The maximum size of a UDP packet that the client supports. >     4 The bits that form an extended rcode when non-zero. 7  j  3 The version number of the DNS extension mechanism. 6  j   Sixteen bits worth of flags.      The payload of the OPT record. "     | x | x 77 7x 7x         }  x  777 7x 7MMM)JMJMJMJMJMJҠ᷷7           }  x  7 7xx     G A **PTR** record, which holds a _pointer_ to a canonical name. This isMJ) most often used for reverse DNS lookups., # EncodingG The text encoding is not specified, but this crate treats it as UTF-8.J9 Invalid bytes are turned into the replacement character.<M - [RFC 1035 §3.3.14](https://tools.ietf.org/html/rfc1035) — Domain Names,Pж6y # The CNAME contained in the record.&h   y  y 77 7y 7y   y777 7y 7MMM)JMJMJMJMJMJҠ᷷7 D A **SSHFP** _(secure shell fingerprint)_ record, which contains the#G" fingerprint of an SSH public key.k%L - [RFC 4255](https://tools.ietf.org/html/rfc4255) — Using DNS to SecurelyO= Publish Secure Shell (SSH) Key Fingerprints (January 2006)@z댥ڕG The algorithm of the public key. This is a number with several definedJ mappings.  jC The type of the fingerprint, which specifies the hashing algorithmFF used to derive the fingerprint. This is a number with several definedI j# The fingerprint of the public key.&    z  z 77 7z 7z   z 7 7 7  7z  7MMM)JMJMJMJMJMJҠ᷷ 7 G A **SOA** _(start of authority)_ record, which contains administrativeMJG information about the zone the domain is in. These are returned when aJ, server does not have a record for a domain./M - [RFC 1035 §3.3.13](https://tools.ietf.org/html/rfc1035) — Domain Names,Pж6zۗă) The primary master name for this server.,hG The e-mail address of the administrator responsible for this DNS zone.Jh# A serial number for this DNS zone.&E Duration, in seconds, after which secondary nameservers should queryH! the master for _its_ SOA record.$E Duration, in seconds, after which secondary nameservers should retryHE requesting the serial number from the master if it does not respond.H" It should be less than `refresh`.% D Duration, in seconds, after which secondary nameservers should stopGA answering requests for this zone if the master does not respond. D< It should be greater than the sum of `refresh` and `retry`. ?  3 Duration, in seconds, of the minimum time-to-live. 6    z  z  7 7  7z  7z   z 7 7 7  7z  7MMM)JMJMJMJMJMJҠ᷷ 7 I A **SRV** record, which contains an IP address as well as a port number,ML8 for specifying the location of services more precisely.;C - [RFC 2782](https://tools.ietf.org/html/rfc2782) — A DNS RR forF6 specifying the location of services (February 2000)9{ܹ|D The priority of this host among all that get returned. Lower valuesG are higher priority.G A weight to choose among results with the same priority. Higher valuesJ $ The port the service is serving on.'7 The hostname of the machine the service is running on.:h    {   {  7 7  7{  7{   Ί { 7 7 7  7{  7MMM)JMJMJMJMJMJҠ᷷ 7 K A **TLSA** _(TLS authentication)_ record, which contains a TLS certificate#N> (or a public key, or its hash), associating it with a domain.rAD - [RFC 6698](https://tools.ietf.org/html/rfc6698) — The DNS-BasedGC Authentication of Named Entities (DANE) Transport Layer SecurityF Protocol: TLSA (August 2012)"|ŭd6 A number representing the purpose of the certificate.9jG A number representing which part of the certificate is returned in theJB data. This could be the full certificate, or just the public key.EjF A number representing whether a certificate should be associated withI& the exact data, or with a hash of it.) j0 A series of bytes representing the certificate.3    | č  |  7 7  7|  7|    | 7 7 7  7|  7MMM)JMJMJMJMJMJҠ᷷ 7 : A **TXT** record, which holds arbitrary descriptive text.#=aetxJ<Pж6}勼& The messages contained in the record.)666161J      }    }  7 7  7}  7}       }˛ 7 7 7  7}  7MMM)JMJMJMJMJMJҠ᷷ 7  J A **URI** record, which holds a URI along with weight and priority values#M$ to balance between several records.q'K - [RFC 7553](https://tools.ietf.org/html/rfc7553) — The Uniform ResourceN3 Identifier (URI) DNS Resource Record (June 2015)6G - [RFC 3986](https://tools.ietf.org/html/rfc3986) — Uniform ResourceJ2 Identifier (URI): Generic Syntax (January 2005)5}ۯݪF The priority of the URI. Clients are supposed to contact the URI withI6 the lowest priority out of all the ones it can reach.9E The weight of the URI, which specifies a relative weight for entriesH with the same priority.F The URI contained in the record. Since all we are doing is displayingI9 it to the user, we do not need to parse it for accuracy.<   ե   } եե   }  7 7  7}  7}     §  } 7 7 7  7}  7MMM)JMJMJMJMJMJҠ᷷ 7  x; A number representing a record type dog can’t deal with.> ~גu~~F An rtype number that dog is aware of, but does not know how to parse.I ~  ά# A completely unknown rtype number.& ~ X  X  X  ~X  X  ~X  7 7  7~  7~X X  X c c c ~c 7 7 7  7~  7MMM)JMJMJMJMJMJҠ᷷ 7c c cj jɖ j ~p pѲі p ~p 7  7~~p p2 A record that’s been parsed from a byte buffer.57mmnoopqqv  v  w  x  y  zz{|}} m ڸm m ˹m n n o o o o p p q q q q v v v v w  w x  x y  y z  z z  z {  { |  | }  } }  } 0 A record with a type that we don’t recognise. 3 8 The number that’s meant to represent the record type. ; ~ 0 The undecodable bytes that were in this record. 3             7 7  7  7        7 7 7  7  7MMM)JMJMJMJMJMJҠ᷷ 7  J The type of a record that may or may not be one of the known ones. Has no M> data associated with it other than what type of record it is. A 웷殃z          ~ $ A record type we don’t recognise.' ~  ~  ƞ   Ϟ    7 7  7  7          7 7 7  7  7MMM)JMJMJMJMJMJҠ᷷ 7      ¡    ˡ    7  7   + "### !!&&00__111222555778                    Ţ   Ų     #$$ !"#$``~~~  Ԉ     ҟ                  § X c p      FTVBKNH?DRFC 1035 §3.3.13#https://tools.ietf.org/html/rfc1035RFC 7043#https://tools.ietf.org/html/rfc7043RFC 1035 §3.3.11#https://tools.ietf.org/html/rfc2782RFC 2782RFC 3596#https://tools.ietf.org/html/rfc3596 RFC 8482 §6#https://tools.ietf.org/html/rfc8482RFC 1035 §3.3.2ˀˀRFC 1035 §3.3.14#https://tools.ietf.org/html/rfc7929RFC 6698#https://tools.ietf.org/html/rfc6698RFC 1876#https://tools.ietf.org/html/rfc1876RFC 1035 §3.4.1΃΃RFC 1035 §3.3.1RFC 1035 §3.3.9RFC 4255#https://tools.ietf.org/html/rfc4255RFC 6844#https://tools.ietf.org/html/rfc6844ŅŅ #https://tools.ietf.org/html/rfc7553RFC 3986RFC 7553#https://tools.ietf.org/html/rfc3986ȆȆRFC 3403#https://tools.ietf.org/html/rfc3403ƇӇƇӇRFC 6891#https://tools.ietf.org/html/rfc6891#https://tools.ietf.org/html/rfc6895RFC 6895 §2.37G@{5| Q;7G@{:B/7G@{ݷѹ!7G@{١&k7G@{H+7G@{_nZ7G@{&eۦ7G@{F S%7G@{E°WJ7G@{V qH<7G@{S3D.Iy7G@{GGPmG7G@{Ǚ7G@{PޢO7G@{(J7G@{ŢDo7G@{IG[Z7G@{f4C_ 7G@{Z)Z7G@{t7G@{«I %u7G@{AzSM7G@{zK},@7G@{\&w57G@{qPW&@b[7G@{K.7G@{>Ią7G@{ "^28a7G@{߿"-7G@{&7G@{ {+׼l$7G@{v28M7G@{Jy5! j7G@{^=H7G@{Xޑu"7G@{sЁgk7G@{{7G@{2XCiy7G@{q^#7G@{O|7G@{7@*R[7G@{Vt7G@{tu 7G@{wn7G@{937G@{f3ڎ87G@{ՍQ7G@{s{87G@{ICK%017G@{.,|7G@{'@F7G@{V7G@{7Gi7G@{+!7G@{K37G@{5"=2o7G@{7G@{琭N[47G@{f]XsW7G@{-07G@{Q% Y107G@{J)K`}7G@{g߱7G@{ 6R7G@{-FKRx7G@{/L7,e7G@{ u07G@{HB7G@{R?i77G@{KDީ7G@{BGg7G@{Z^Z JN7G@{Xn77G@{ 7G@{؅Z@7G@{\Դ7G@{rI7G@{~AQ(5.7G@{³u7G@{_t7G@{ zcY7G@{g;J7G@{K p 7G@{'ЭY7G@{rMv]7G@{{x?7G@{Ӯ`qq7G@{# Fn7G@{FHW&7G@{z7G@{Vѭo׭7G@{N% 7G@{t|T7G@{97G@{^Dz.7G@{4b6]17G@{2`hʉ7G@{"S;+7G@{jcs7G@{O27k7G@{7G@{^5w[7G@{|q}e7G@{oW-r]`7G@{c N?r:7G@{m)7G@{&;h WE7G@{,ZV7G@{KݴO,7G@{,:<7G@{e7G@{A 8s07G@{㮼"7G@{"ݓ)7G@{'g7G@{&mu57G@{/Q7G@{pseO+7G@{8_͒7G@{ϟ7G@{?.27G@{n{7G@{kޕ6 7G@{`ysq7G@{,e%7G@{p+{G7G@{LdE7G@{bQ, 7G@{ K!7G@{%D A7G@{.E۽7G@{RXRn7G@{Rֹ17G@{G37G@{)aQ+7G@{QcjS7G@{ `7G@{NpKtw@7G@{Ħ38'ڭ7G@{ 4{[(7G@{*ߢz7G@{Ƞ*s7G@{p 7G@{-DA7G@{â}7G@{z"7G@{wvk27G@{4y""?7G@{A !7G@{<$ }7G@{m#!7G@{/{7G@{=7G@{'7G@{ceϜ7G@{^tX.7G@{q7G@{bt^l7G@{Rq7G@{5G¢7G@{ZEn7G@{@7G@{j'0J7G@{u΁i7G@{! 1;Y7G@{%-XM 7G@{o2ے>7G@{EzdS7G@{867G@{zU7G@{pZXEw67G@{E7b!7G@{Zsz Vx7G@{^S7G@{$cG'O7G@{-ic7G@{*G9QU;7G@{\٫ߟHZ7G@{C|E7G@{_w7G@{}D~07G@{t'7G@{I+67G@{\t~7G@{F@P7G@{ŴK7G@{ 7G@{8"m7G@{$ɒ:7G@{u:47G@{ x"G7G@{4d쏟7G@{ pU7G@{ !jN7G@{gNl7G@{d Uq7G@{):7G@{/ H27G@{+-I7G@{XR # W7G@{K<7G@{eB2ۍ7G@{G7 7G@{6O\$7G@{ʣh` 4=7G@{3݋Q&7G@{)#+r7G@{w4ucF.7G@{ *a7G@{D|GIΛ7G@{Q1])1/7G@{7G@{띯)7G@{DCQ?7G@{]H7G@{!v 7G@{z㈍7G@{yk7G@{vnU7G@{ <~7G@{\7GƽwH57G@{'~b7G@{XC:7G@{ۣu7G@{+K뚶M7G@{绪c7G@{{j 7G@{5?S7G@{H`v>7G@{sJ&Gr07G@{.XEp7G@{5nA47G@{/e5$X7G@{9`]-d7G@{>0I7G@{|s{#̦r7G@{@ 9ǿ7G@{ӗcy7G@{gN>W1)g7G@{rCh7G@{L>Zds7G@{E%17G@{9 _<7G@{d:0U 7G@{~׶7G@{/7G@{w4 7G@{7^17G@{}gb >7G@{:uH7G@{;*f7G@{5~<ە7G@{po7G@{Q%֎7G@{WM=7G@{&Gq7G@{!"Q7G@{Vۍzwt7G@{E@]$7G@{ f7G@{8Dp7G@{VA7G@{Ο itζ7G@{tH7G@{V\4a7G@{<#7G@{܎7PA7G@{7G@{@eq7G@{+ݩwKLq7G@{')~"7G@{Cdon 7G@{&5츊 :7G@{ja7G@{FWs7G@{0m7G@{&7G@{+76k7G@{y7G@{0l7G@{nFmE7G@{kuT57G@{wT{7G@{ g7G@{e,37G@{ =7G@{FTY2:67G@{@7G@{_iwD7G@{[׭˄07G@{zoF7G@{tE7G@{a& 7G@{qʣ߆#V7G@{:< *7G@{[f@ *7G@{w)߂'7G@{3swTP7G@{ $V@7G@{Ϙb7G@{ aV7G@{pMpp7G@{Tz\VO7G@{a;?$7G@{ 䛊47G@{d7/7G@{ze7G@{ͷEtt7G@{7G@{M97G@{t( u7G@{}=7G@{fPJR7G@{M 7G@{ vK28G'7G@{zF97G@{dKenb c7G@{U6,7G@{uj@3kR7G@{& d 7G@{2U$17G@{(z 7G@{cF7G@{ (7G@{j %7G@{q7G@{lj$}7G@{r#٢7G@{=̻AQY7G@{naC287G@{:!?_7G@{ģ,< !7G@{n% ?7G@{e{7G@{w7G@{7G@{Yy@7G@{ܳMf7G@{Y߿\@/7G@{TCh 7G@{/p  7G@{7+':7G@{cd#7G@{C߄r7G@{NSt(`aM7G@{_N=7G@{3}7G@{;:w Ԯ7G@{0jү^c7G@{:U37G@{NW5M7G@{|P87G@{&7t(֡[7G@{S8Ljk7G@{  7G@{LPP7G@{9`t7G@{y?g)M7G@{7G@{TگF7G@{p2",7G@{_lK7G@{@!np7G@{ibG 7G@{ 8bd@_7G@{9d mb7G@{cvcb7G@{VJ7G@{Vuz?'7G@{v 7G@{"# j7G@{5`ℚ7G@{ōt7G@{ȴ/w:7G@{Lg#7G@{~1Q7G@{xx=ˉ7G@{I4ܓL[7G@{pE:4hg7G@{Ӕ`7G@{m2n7G@{{{}7G@{d[8yå7G@{h G;7G@{ٚw7G@{I7G@{ ay7G@{25Sd7G@{i7G@{UK7G7G@{2W!~7G@{ l7G@{0Sk7G@{Rb87G@{>P7G@{k'=Lr7G@{.Qqh7G@{0FT2N7G@{쀖'"7G@{THyW7G@{زȪm7G@{ GNc7G@{tK7G@{'| u7G@{rP$G7G@{FT7G@{97G@{h =7G@{]4<*Y7G@{kau$7G@{ٹ^ 7G@{X x8$7G@{j- jC7G@{_)7G@{Ow5^b7G@{GXՄYj7G@{R։^.7G@{V{o7G@{N7G@{ qa7G@{8u*b7G@{jD$!D7G@{l7G@{7G@{f7G@{WR?bn7G@{(}6&7G@{as 7G@{NN/OL7G@{ j`H7G@{C}7G@{(7G@{O?xn7G@{"|%>07G@{G I7G@{_l7G@{z/?7G@{`pI7G@{} mg7G@{J~_7G@{q*.7G@{+L$d7G@{>"57G@{oō91+7G@{Hb7G@{K Z "7G@{17G@{@Br96!7G@{{7G@{6Ui%7G@{'fgq87G@{%vT7G@{-v7G@{xBc`G77G@{FSL7G@{EkU7G@{ħ7G@{,>7G@{vٹ7G@{l@R7G@{Q/ (7G@{8@e7G@{JY7G@{.$;t7G@{5C@7G@{r67G@{S?K7G@{5a7G@{x6/*7G@{: Z7G@{&Y؍,+7G@{6Q7G@{aV.H7G@{T]y_7G@{}at7G@{6A7G@{v]8]7G@{5^J 7G@{O7G@{7a7G@{(HK%7G@{+7G@{,lI[-[7G@{p{;Vt7G@{^FvޓS7G@{Q:\B7G@{e7G@{Hs7G@{ԑQ1g7G@{x?'7G@{Jw7G@{Q1F$7G@{ւ7G@{ē];7G@{w/Y7G@{!f7G@{@y^7G@{_-/7G@{S7G@{gqɵ7G@{7?N7G@{7ǖ?7G@{+c@7G@{7uKO7G@{o*[|2J7G@{<2q#)7G@{7u:ўyK7G@{e}d7G@{{Jl)w7G@{ P 7G@{Sw2i7G@{ص{e$=7G@{f7G@{[V~27G@{)#p7G@{,L7G@{5pY*G7G@{)N7G@{TOV֙57G@{*}'cj7G@{m[[И7G@{} lU7G@{ -i7G@{=7A7G@{ ESE<7G@{RbQ7G@{Ci=v )7G@{h7G@{*` n7G@{N]]7G@{t7G@{G.7G@{g7G@{;zeEe7G@{>C7G@{FfB0o*7G@{An";$7G@{r, $7G@{S 47G@{'*7G@{Y>N[7G@{، 7G@{>-؜Q7G@{F7G@{_h7G@{_h_7G@{`fM7G@{ϗK7G@{쩽+ 7G@{pO{܍ 7G@{k1b{S7G@{??B'C7G@{*о!7G@{0v7G@{p%DtL5!7G@{p=jW7G@{q/aPd[7G@{{-J7G@{̏3~j7G@{a6>'t7G@{?7G@{F(cnƚ7G@{m$7G@{hӼ7G@{}bѧ57G@{%qJVlw7G@{meq7G@{i&?1>7G@{٥x^7G@{Տ.R7G@{ ѻh7G@{e:27G@{⺥7G@{Ga͌7G@{:Pliv7G@{3B7G@{k+87G@{4b+-^L7G@{ FY7G@{yxBz7G@{BKF7G@{Q]qzi7G@{LC7G@{X݆V7G@{5<?7G@{{ӷ7G@{GO~|Z]7G@{z~~z7G@{`Tt- 7G@{f:Syk{7G@{ <7G@{YJ7G@{&Za^7G@{oX:7G@{e4'7G@{&J+ks7G@{M7G@{Bz7G@{AxHl7G@{(k"kn7G@{';47G@{z[7G@{,a7G@{q7G@{nO_C7G@{ 3nO 7G@{G"(7G@{u&x7G@{[7G@{fb7G@{rw>7G@{"7G@{kH7G@{NT7G@{J8_cUs7G@{56*7G@{LOFh+7G@{N7G@{֑u 7G@{1^,7G@{L!Ō7G@{V .C7G@{nc7G@{ lH#\Q7G@{Zж{7G@{С.|f7G@{աNՀO7G@{;AG)7G@{dn&7G@{.= 7G@{S(u7G@{PnF T7G@{Jh7M7G@{?7G@{67G@{}u'7G@{ys7G@{hY7G@{xm}[7G@{Jf]א7G@{TLImF7G@{:7G@{!$7G@{vYYj7G@{݀:}7G@{>1S;7G@{=J7G@{fځk7G@{_7G@{Y'k7G@{%Gg<7G@{sa7G@{jpGS7G@{KͲ97G@{aq;7G@{GGG7G@{S+ U7G@{$/='7G@{%d7G@{C#7G@{"h;V7G@{7G@{t` 7G@{V7G@{w8#7G@{oe 7G@{?`7G@{RXC7G@{ܿC5I".7G@{FK7G@{va(lR7G@{[>Nl7G@{1ˉ`G7G@{# {6V(7G@{ Pi7G@{Ƀ_l7G@{ =9&7G@{ƐQdK7G@{12FQ7G@{{z7G@{6Ϟ 7G@{iG7G@{-7G@{vc7G@{[AF 7G@{Tpb 7G@{~K<7G@{M/7G@{).7G@{ 0v7G@{b7G@{l';7G@{V[7G@{,iR7G@{l-7G@{ziՠ7G@{Ÿg\7G@{%l7G@{kʇc7G@{Tr7G@{y7G@{0re7G@{lتc7G@{}oޘ7G@{kS7G@{s{LA7G@{ՆM7G@{X7G@{/7G@{s9׿57G@{*f~j7G@{GGC 7G@{t 7G@{ZҢK7G@{–ݮ% 7G@{5l7G@{$ږ|'7G@{C2J;T{7G@{wu@7G@{LS97G@{l-$7G@{ɤ7G@{F 7G@{<}7G@{dd)7G@{(Ź7G@{J*QE7G@{)*~ ;7G@{%㾏7G@{Ah.$@7G@{ݼy}7G@{r7G@{Zb]jK7G@{Άut7C7G@{*$67G@{Y̊G7G@{OgŇ-7G@{A7G@{)Ɲ7G@{`\%A7G@{07G@{Cz7G@{k п7G@{VyC#7G@{=` ] W7G@{kME77G@{@}N|;7G@{ w g7G@{72՞`>7G@{t7?87G@{87G@{\]{7G@{ 7G@{R F[7G@{TK4ܫ7G@{o !7G@{"%a7G@{ny.$7G@{L<7G@{-d`7G@{6(Y7G@{RǎE7G@{GxD)"*7G@{Eo7G@{yN-Z7G@{f?H7G@{ߓN]7G@{aL87G@{&k7G@{ O!7G@{ ÁT7G@{JG ??7G@{xw#GՓ7G@{+FH֘7G@{ݵYHyC7G@{3WC7G@{HZB7G@{OF~\ف7G@{7Jw7G@{&7G@{~7G@{RI: 7G@{j"SL7G@{ "7G@{nT HN7G@{s)唪7G@{o$ 7G@{8U7G@{Ѭ=7G@{cc&.O7G@{dk u7G@{qmkh?q7G@{@rP7G@{Tn=6~7G@{E-_7G@{ɝoXo7G@{1R$| 7G@{hAEι7G@{pyyY<y 7G@{Bj$Hw67G@{wP7G@{޾Z7G@{c Ft7G@{@Ax7G@{r9dP7G@{@c"XfH7G@{%^Bo7G@{Ш7G@{;&v!,d7G@{S.47G@{jӆ7G@{*p7G@{Kڀ_5!7G@{+29 7G@{- H7G@{v9+^+A7G@{q "g7G@{vL7C27G@{Fo&7G@{*I7G@{iR 7G@{/yشn7G@{9-f37G@{S0-V7G@{"AҢ7G@{㯻07G@{ns`qg 07G@{*?}eY7G@{ A[i7G@{ WGPzL7G@{.%7G@{Y%yKY7G@{Y7G@{Mn7G@{hNA{Э7G@{T ) 7G@{XHBad7G@{05qe7G@{>B]CG7G@{^J7G@{U#'7G@{=a(&7G@{tO7G@{VLc I7G@{]$|7G@{4`7G@{$[1R=kW/7G@{TPs/0Z R7G@{וUb|7G@{y8U`YZ7G@{h}7G@{8v,7G@{8Y7G@{SaZ" ;7G@{MxuY(7G@{FI~57h7G@{V, dŦ7G@{*U7G@{eBPM7G@{I 37G@{.0&K7G@{/@*7G@{xFʸ7G@{se7G@{ Qh7G@{k!37G@{AF&77G@{`˴7G@{"37G@{(xTK7G@{W967G@{w7G@{5FB< 7G@{j7G@{a8|/7G@{\M;77G@{q_!&k7G@{@L7G@{nR7G@{shBG4(7G@{zpVU7G@{sp7G@{i_]7G@{nN!m7G@{J e F7G@{eS0j7G@{y6^t7G@{n>07G@{czJG@7G@{p9ݚ37G@{;6k/)@7G@{4CP7G@{&"VQ7G@{\1M7G@{ 47G@{\F7G@{Oֻ7G@{^\x7G@{J2(A 7G@{{{vA#7G@{\ŝ7G@{C'K7G@{s#hZ7G@{*/7G@{h:Ϭy7G@{^87G@{ar—7G@{Lsu7G@{{` 7G@{L/YX7G@{_7G@{W-y<7G@{o,L@7G@{M:cޑ7G@{uV67G@{PQf7G@{[玎-7G@{ *{ 7G@{|* 2E37G@{VxSۀ&7G@{HW7G@{nlF7G@{b"<7G@{g\ll7G@{U (7G@{hJ,Q^J7G@{dا7G@{ͭ7G@{7G@{,O.E?7G@{0Nm:7G@{Rd7G@{,G^Ȥ7G@{Ac)7G@{U(~&7G@{8I\/7G@{207G@{SK7G@{zB|7G@{c7G@{^7G@{)WQq7G@{Ur: 7G@{(ʾ7G@{ct7G@{: @@7G@{M>{Sx7G@{Ճ,u_j7G@{qJ7G@{ ୒7G@{G̅z27G@{TḒ7G@{X$%G7G@{ ^$7G@{4+Mܶ7G@{x?9켒7G@{w0^D7G@{`ڦV7G@{8KF7G@{]lO7G@{su@a<&7G@{Du7G@{|Vx;!7G@{3k_7G@{f!J?t7G@{,GV7G@{Hh7G@{pp7G@{0^7G@{9ɣ!7G@{|Y".7G@{x(+%7G@{z ZE7G@{LӘ7G@{,zaw7G@{_97G@{~,"7G@{kӬ+7G@{ၞ7A7G@{:Pvr.7G@{f7G@{b$h\>7G@{g7G@{-umHuyw}{su p s%t&, "^"!4#! !!c"r#$##!#F#!#4#!-!!pqssntyzz{|F}}~~>wyRmaz #0+C>Vi?AY:R8Rqg'p6Ha;[m#CNx3LG`KdOhSle `}/Pp{z>9(HE^u'p63L <]})D{m&?*k  9  O  z]D~gCqi E|.o]D~g(yc(fk  C!!B"`"""G##k$$$7%%%)&&''>((O)))(***++6,,!--...1///01?11433L44586777n8888s99:: ;c;<=S==>:>q>-?g?@@3AmAWBBBCDE(F FNOOPPQQR+SSST{TTU:VVVWWWXXXYY3ZZ[D\~\\/]k]V^^^&_E``a;aaabcQccweemfff6ggghiUjjj@k|kflmlnnnWoo~ppp]q=rrr(ssstu>u uwSxxx#yyyzS||},~~N F~3X#EhSzJ 0jWB|GiwnW X 2nBz/4to-=w(dNKx"p[ ,}jk1I9,4 5J;t*D G6  H7UoK1P a{C]%?!xZt<V8qSp2~pN,v T2|Zt'prt5!ze\2 Yp"D2+) ,2O CVSF'm(sz~6 q(;NQ}HwX }CW[_cp"UC/9}6|   t=r$btA I Q Y ""w#$$n %)**+,,--.'//0512222233"3889::<K==2>g>]?@cABiCnCwCCCCSSTV+VWXXY)Z[v\\a]^^<``1aa cGcjef,ggijjrkmnnopp4rrsst4uwxyy@|>t)PtbMt< N*d:p%oZ A#'j&3j ?v,>c{Dy(I!4GZm %-5=EMU]   ###"""!"!""""""!!"!!!!""""!!!!!!!!!!!!!!!!!!!!!"""""""""""""""""""!pr!ttzo{&|}#~~S(ÁY ȉEXkpThՓUn;ٖd#OZYxӨ0K!Bp *XWauy}n! 6W,%8B/]~10Ko)Cd?T? @   a*X@BB`Je   !*!l!!!"F""#$N%%&&&'&((7)):**H,,--T...C//Q1233 43444B5j55667b7778I8r8 99;<<=>y?@AB3C@DhDEFzFNOOcPPP^QQQRSvSTTUVVV=WhWW/XXEZ[[\}]^``MabccJeeffHggi;jjkm5nnoqrr:ssPuw9xx5yy ||}~~4E*LSІiʉNpŋ&wύ>]̎jA[U|ϛ#v_]~_ UЭcRCI0 {Ѿ1<+HT/iZ8;YC+<eGd)Fq (S| 5^{@]"?j!Lu.WvQw 4U~3\}:[9b@a#Nx9pqqqesoszsssss]tgtyy+y4y@yJySy^yiysy}yzz{|?}}~~~7 pr͂KfׄÈ͈׈%/:EPZs)$<7Obۑ8y~ߔ:R֕ ʟӟܟ3-@L(1KjNW`z :CLV`iǭĮҮȱѱ/,AZ4TQfѸ߸̻ջ޻<9GS_hq,E@YD]HaLeP^x*3<FPYv (Iiftajsm{7 $2LU^hr{!A>W`n :CLV`i/,E 5Vvsnw"=tf8#Vd~  2  H  sU<v`<jb=t&hU<v`!r \!w^d   !i>%?_?w@@+AeAOBBBCRDzDE!FFNOOxPPPsQQQR$SSSSsTTU6VVVVRWWWWXXXYY+ZZ[<\v\\']c]N^^^_>```3aaab cIccpeeffff.ggghiMjjj8ktk_lmUndnnnOoovpppGqVq6rrrr ssstt6uuuwLxxxyyyzL||}%~~G>v+P>`҃KrC~†(bO:t @boЌ g (PoގPɏ*f:r'̗-mh&Țy˝5o \Gѡ CqѪhګSz%ubd)߶ʷxιB2%-Ƚz.C3l" =?x.{@0Nk D{*I&Zw<Yy;[=qSp5Rr4T6jLi+viGh%Fo$Mn+Lu *St8m{|  +6ALWbmx(3>IT_ju%0;FQ\gr} "-8CNYdow '/:BJU`hs{ )1<DOW_jv~&2:BNZbnv~ &2:FNVbjv~ *2:FRZfnv &2:BNVbjr~".6>JR^fnz'/7CKW_gqqrlsvsssss tdtty%y1y:yFyPyZyeypyzyyzZ{|s}~~~ >y{ԂRmބɈӈވ !,6ALWc֊ r0-C@Vi?ْS@CY4Җ]ğПٟ:FT%.:RqT]i)@IR\frέˮۮűαڱ6J;[oظһۻ#C@PYenz5LI`MdQhUlWg~ 09BLVb}/Ppm}gp|t#+;R[dnx(HGgw)@IR\fr65Z" !<]}zt}+*o(?*]m  9   Zf~#Q/d|.;;f~ YC^    !h!!! "B""""i##$$$G%% &&&'((0)))*(***+,6,,--P.m.../1///0'1?12334!444>5X55 666^7{77878n888899:: ;<<==r==$>Y>>O?g?@@UAmAyBB,Cuw2xxx y#yyy|||} ~~-0f~3B|#Eƒڃw؅LɆ T?WfGiŒpˍ,Ys @X Vn,bz/TN uaLdX3KwXNʫ\ٰ۳zK1϶B)y t *{%\t*$1h6Mb0H17U6k1;s$ *a~ C`}%B_$Ax#Zw<Yv;X:qSoJs"Ql/Jy (Wr5P.]x<t''2=HS^it$/:EP[fq| !,7BMXcny)4?JU`ks~#+6>FQ\dow%-8@KS[frz".6>JV^jrz".6BJR^frz&.6BNVbjr~".6>JR^fnz *2:FNZbjv~#+3?GS[cosLtzz{|}}c~~%ӀWRʂ,bmz$7J1$hyh'MÕOaʙ-:Dcfs|(:Tֳ ,M3_y5?+S'W+[/_3lAbHZ0: QC|(?+NoU5`Sy 2Iw  5  l pC5c!9n JMpCkUpAe    !5!w!!!1"Q""""#s#F$$$%V%%&& ''1((B)))*{**++(,v,,--_....#///001112334>444M5u56*667m777)8]8}888N99r:::I;<<G=|==.>c>?Y?Z@@A_A2BBB;CKDsDEFFNOOnPPPiQQQRSSSSUTT|UUVVVHW|WWWXpXXYY%ZsZ[ \r\\ ]]]0^^^ _#```-aaab cCccRee fff(ggghiFjjjknkAlm@n`nnn1ooXppp4qRqrrrrs{sstt0u~uuwDxxxyvyyz(||}~~?:pр%LԂ7Ỹ-T0[݆!^Ip#[}Qx̌Tڍ!Ih׎JҐ&`6l͔!&f`Ě[.kV)gɡ=ţ jʪ`ԫ5\ nDl]#ٶQǹ;+&Ľ\</f6;r(_pt :@&Fd@u$E}3Pp2Ro4Q3gIi+Kh -J~,`Bb$XY?`>gEf#Dm"Kl.c]is\>?R?H@@@XA B|BB4CADiDEF{FNOOdPPP_QQQRSwSSSCTTjUUVVV>WrWWWX^XXYYZaZ[[k\\\V]^}^^^```&a|aabcv,Ff(He *G{ )]} ?_|!A^#@t"Vv8XwFnRx 5V4]~;\:cAb$YyKuW3psPtzz{|!}}g~~׀ [V0do~& 9L5(l}lĔ+OǕeΙ1>Fgju~ŭ -?V۳ 1R8d{ø: A0U,Y0]4a8n FgM_5?%SH~ -A-StZ7eX{4 Ky # :  q$rH:h&;p"LR$rHpZuFj   !:!|!!"6"V"""'#u#K$$$"%X%% &&''6((G)))***++*,{,,--d....%///003112334C444R5z56/667r777.8b8888S99w:::N;<<I=~==0>e>?[?_@@AaA7BBB=CPDxDEFFNOOsPPPnQQQR"SSSSZTTUUVVVMWWWWXuXXYY'ZxZ[\t\\]_]5^^^_%```/aaab cEccTee%fff*ggghiKjjjkpkFlmEnbnnn6oo]ppp9qTqrrrrssstt2uuuwIxxxy{yyz*||}#~~D<rր'Nق<^΃2Y5]&`K!r%`V}ΌYߍ&Nm܎Lא(b8nҔ#+ke#ƚ`3mX.iΡ ?ʣoϪe֫:a sIqb%۶S̹@0#+ƽaA1h;=t*duy<B+Ki Bw&G5!Uu7Wt9V8lNn0Pm2O1eGg)][De"Cl!Jk(Ir'Pq3hbn"tzp{'|}$~~U*GZmViVpPLqYdvz~"-9^2Lp@U !  AC   !+!m!!!""#$O%;**I,,--U..D//R1233 44444C5k55 66 7c778J899;<=>z?@AB4CADiDENdPP_QQRTTUVV>WiW0XXFZ[\~]^`NabdcKeIggijkmnoqr;ssQuw6yy!|FTj'x?^k Bw`^DJ=I0[9D,=eGr)T 6|^@k"M/Rx 5V4]~;\:cAb$O:"tzp{'|}$~~V+ƁɉGZmVi֓VpPԨL³qYdvz~"-9^2Lp@U ! A[ ""#$;**I,-.D//R137$3J899;=>z?@ABCPCQTTVV-ViW0XXFZ\~]^NabdcIggjknoq;ssQu6yyFjˉƋ'k BЛžw^ѭDҾ=I0[g}D=r#T6I6\okM/_O:tza{||z}~~Eۂt݊y7J]FZǓG`AŨխ=bJSgkosw*O#=a{1F1  2 !!""#$,**:,-q.5//C13%44\5667;889 ;=>k?@qABZDP{QTTVZW!XX7Z\o]^?aaUc:ggjknop,ssBu'yy7ރ[0w\r~3 hO­5 þx.:!L5.cE' z\>  &pN,v T2|@ +F4M445Q667I777J8z::::::T;;;<<a==>g>>7?A?B#0d0t0{00001,131111222 2'2222222333333333 44 4'41484?44K5[5b555555,6<6C6J6W66666666727B7O7|777777777738C8P8888888999#9{9999999999U:e:l:s:::::=;M;Z;;;;;;;5<E<L<S<<<<<<>#>P>`>m>>>>?"?)?0?H?A-A4ABBBB̂GLHH IdII(JJJFKKL/MMN OfOO-PPPMQQR{RR=SSTjTT.UUURVVW}WWCXXYcYY(Zd,eee%ff4gg LhLMBNg:hhh3iii,jjj%kxkklqllmjmmncnnKHH IcII'JJJEKK L.MMMOeOO,PPPLQQRzRRNNTtz{|}k~g^7#9,pp/mn=%!5159=Rd*_j]( ? )M)MKo,#P$'%*+,/01X9|:S;=?d@A<BB_TUzXY}Z]:^_abcgh$kKl;obp>qstuyz7^:&[^e 3?fNvfzbgs'd&!% YZ[YZ[YZ[YZ[YZ[YZ[YZ[YZ[&&&&YZ[YZ[YZ[YZ[YZ[YZ[YZ[YZ[YZ[YZ[YZ[ &  & & & & &  &  &  &     &  & &  &  &  & & &  &  & &  &  &  &  &  & & & & &  & & & & & & & &  & & prstz~wya +>A2[R8g'pٮرHmNx3GKOSe`{z9Eu'p3 )m&k  |c,a9|c    f!!""f#$$E%) **+,,-N..//0$12}344<556\78889::<:=o=!>V>L?@RAvB*C:DEN]PXQRSSTUV7WWXXYZ[e\\P]w^^`` aab6cAefggivjjakmnnxopp rr sst#uwxyy|-c?ytՅJQ<cnɍW=S)_^IU0tǫ|ְسߵ̶?"Y.e-.3h8p! {]?!tV8GpN,v T2|Z  [' g%,2<MCV[5`ceim-rw9|m5yc QDk N Z%,2<?CU['`Veimrw,|_'kUD7^     & 3 7 > O a e l ~       ! % ) - 1 @ X \ m q x | $/=HLSW[_cpt|  %*/49>FNVZfkpu}  (04>CHMRZbjo~',16;@EMU]ajoty~ "*26=BGLQV[cksw"',16;CKSWbglqy */4JObgoty'+3BJRap'/:BPX`dhpt|&;Le $,08<@HXkp#+/7;?GTdhltx|08Skpx#(0?DLPT\`hlpx %)-59AN\afns{ !.9CHMUZbmu %9>CKPX]bjz$7<AINV[`hy  ! & . 3 ; H U ] e t ! !!!!"!*!5!M!`!u!}!!!!!!!!!!!!!!!!!""0"5":"B"G"O"Z"g"t"""""""""""###+#3#8#=#E#J#R#^#w#############$$ $$ $($0$5$:$B$G$O$c$r$w$$$$$$$$$$$$$$$$$$%% %%%"%*%/%7%?%D%L%T%Y%a%i%n%v%~%%%%%%%%%%%%%%%%%%%& &&&&&&+&3&;&@&H&P&U&]&e&j&r&z&&&&&&&&&&&&&&&&&&&' ''''$','1'9'>'F'K'S'X'`'e'm'r'z''''''''''''''''''''''(( (((($(*(0(6(<(B(H(N(T(Z(`(f(l(r(x(~((((((((((((((((((((() ))) )').)5)<)C)J)Q)X)_)f)m)t){)))))))))))))))))))*****#***1*8*?*F*M*T*[*b*i*p*w*~*******************+ ++++&+-+4+;+B+I+P+W+^+e+l+s+z++++++++++++++++++++, ,,,",),0,7,>,E,L,S,Z,a,h,o,v,},,,,,,,,,,,,,,,,,,,- ----%-,-3-:-A-H-O-V-]-d-k-r-y--------------------. ...!.(./.6.=.D.K.R.Y.`.g.n.u.|.................../////$/+/2/9/@/G/N/U/\/c/j/q/x////////////////////0 000 ]9 A I Q i%,-22222233<aCiCrC{CCCV#V[7`eeim/rw;|o7 ĝ{e! [s,?Rex %-5=EMUrB ` ~494hnY             ##              $$        !!                 ""     CUcore_intrinsics 7G@{Iq=ºN  7G@{k<uXfmt_helpers_for_deriveMM7G@{j*φe~u  MM7G@{m i (ήZ*7G@{puKCsc نderive_clone_copy7G@{>yW *7G@{B(*7G@{-Jp5Nn $-c7G@{ (9 mnP7G@{!L%bn7G@{R-}*7G@{FPxcCueMM7G@{m( $*ub MM7G@{1\CnT7G@{vN\1n 7G@{$1:`  7G@{VΨa*7G@{؋s 7G@{3Q"lDC  7G@{%Ys *7G@{DLm=  7G@{^dwu*7G@{"uMM7G@{^Ss*%uMM7G@{;zY (*7G@{Tngd  7G@{a[w  7G@{{ސfu MM7G@{YH=;=  7G@{G\=c ;*7G@{Ia  7G@{m   7G@{M5Ɂ*u:`MM7G@{K  Z U derive_eq 7G@{U\8g#(*7G@{ 7`*7G@{w(*7G@{MNuMM7G@{%i+u| MM7G@{Q˯N *7G@{D D   7G@{duMM7G@{^ZB*7G@{ cu@MM7G@{K,]ne7G@{O5<   7G@{FwRW*7G@{4/k  7G@{L Unb 7G@{J< ucMM7G@{3)n8 *7G@{L^ #  7G@{if P  7G@{f.#:w~(*7G@{%s  7G@{%/uMM7G@{c_ 0sd7G@{VNxs=7G@{'Gۀ(sa7G@{Z $lT  7G@{ dU  7G@{>PքH-6u;~MM7G@{ML^67*7G@{AJx"  U7G@{9>[*7G@{;>.n7G@{[YՑuMM7G@{O6Cn@7G@{a\6X  7G@{xRC'  7G@{OL(*7G@{(Auc MM7G@{ p9@p*7G@{oWVPnp7G@{cbs $7G@{ՄI;uMM7G@{qD}Du MM7G@{\_tYQ 7G@{'R$ku MM7G@{ #{dq  7G@{b|  7G@{C&d;n  7G@{'_&r (*7G@{eR,HxZSnc 7G@{!B۳  7G@{P)b:`  7G@{RJkTA(*7G@{   7G@{Y|  7G@{X%O(*7G@{-S  7G@{ 1ݸ  7G@{UJt\IgB@  7G@{}%se7G@{sGsb 7G@{.;)X  7G@{N ņ *7G@{ uMM7G@{3=*7G@{xMn 7G@{Rvz7uCMM7G@{b.кM`*7G@{nӧ=zuMM7G@{{*7G@{߶C  7G@{;Ie*(*7G@{%uudMM7G@{$A04uw MM7G@{]OS *7G@{3u=MM7G@{d3 6#uaMM7G@{9VpMuMM7G@{fQ)i " *7G@{ijS-;~  7G@{‹&(  ťU7G@{vI&Lu MM7G@{@jhl6uMM7G@{Ե8uMM7G@{uG|0Os7G@{IE*  7G@{#{s@7G@{6ܺf6c  7G@{Oީ(*7G@{ j-qsj7G@{ -*7G@{oP_Su $MM7G@{Ҥ>1uPMM7G@{M#WuMM7G@{IL  7G@{ϙx=[nd7G@{RGn=7G@{;YSna7G@{ntjuTMM7G@{dV2n/bu MM7G@{vs;~7G@{Fa\Eu MM7G@{8¨mZ (*7G@{f]X]  7G@{e?@*7G@{DLxz+`hb՞whu>$/Ťàq~_+()˦؟W<I>?¢ %2ߥAJdp3զУEE\&ڤ˧ؠXaV*٢ɞr\iģHקj סH.9{i52aFS(v[h=ܣŸ{uA'ԥߞ~T:QϤ͠uMVK΢lQ^3$fsT͟L1>̡_Q2p|j6ɥmp%NE*3s"0#ɷ̼? /.(tޱ)A-ܨ<X4anϰPS|ѽkHk¯3\޾  ֬l͸qLAƫXQ9 NҩBɴѹVDz m2fZۭ7[P!|WT^]yٻC#lc8HQ@NA©2],ܿ>#MLӲFG^Kξαd\xض̨Ƭ{5r[ ں)4H$tiVya<1vD "j~>l1/[ۮ`yJ˭| @ҵ'ODHT 7G@{{p7G@{xw#GՓ7G@{+!57G@{^7G@{5pY*G7G@{t7G@{h G;.7G@{- H7G@{U (q7G@{ 0va7G@{G.7G@{rChg7G@{"h;VD7G@{9d mb7G@{tFK!@7G@{@c"XfH7G@{<2q#)7G@{lj$}7G@{ICK%0107G@{qPW&@b[7G@{b$h\>7G@{m)ّ7G@{;6k/)@O7G@{>-؜Q7G@{-d`7G@{ZR/ 7G@{Ud/ ձ7G@{7^1o7G@{v28M7G@{J2(A W7G@{iܵ07Hr7G@{77G@{W96;7G@{O?xn`7G@{pXBh7G@{Zdsh7G@{bb7G@{9]7G@{{G7G@{q@x7G@{â}7G@{oi7G@{NSt(`aM7G@{h =G7G@{(.7G@{ɝoXo7G@{/yشn 7G@{LӘ7G@{ziՠg7G@{K! +7G@{S 47G@{YJ7G@{t` F7G@{F 7G@{_lc7G@{*oh7G@{l-$Ď7G@{ 7G@{lتc|7G@{7Jw7G@{: @@Ȇ7G@{V qH< 7G@{ `7G@{z㈍P7G@{ߡ?C7G@{^8^7G@{K p R7G@{¸ߨy7G@{Zsz Vx7G@{4@g#7G@{\sH9%7G@{pp7G@{]HN7G@{8Y)7G@{Iv{7G@{ys,7G@{7G@{,iRe7G@{wu@7G@{p7G@{S.47G@{ 7G@{9Is7G@{M9˭7G@{5| Q;7G@{، 7G@{ w g­7G@{&Za^7G@{!~7G@{z ZE7G@{@ 9ǿd7G@{:7_)7G@{r, $7G@{O:7G@{Yy@7G@{/ )(I7G@{jD$!DU7G@{>"5j7G@{"# j!7G@{"|%>0a7G@{"%a7G@{Y'k97G@{&4)A7G@{+-I7G@{S3D.Iy 7G@{^tX.7G@{0I7G@{Sw2i7G@{[V~27G@{;467G@{FI~57h,7G@{|* 2E3k7G@{oō91+k7G@{@Br96!o7G@{RI: 7G@{>Ią7G@{[f@ *7G@{=̻AQY7G@{8@e}7G@{2XCiy%7G@{ CI47G@{hAEι7G@{BGgF7G@{ K!7G@{nN!mH7G@{Q E 7G@{f:Syk{7G@{NT7G@{FU!D7G@{6Ui%q7G@{7G@{ 4{[(7G@{Jw7G@{LvHw7G@{aq;>7G@{`Y7G@{DCQ?M7G@{N7G@{y7G@{gqɵ7G@{!$27G@{R?i7D7G@{7P`өA-}7G@{MxuY(+7G@{l';c7G@{} 37G@{nlFn7G@{SaZ" ;*7G@{{zW7G@{,a 7G@{_97G@{:Pliv7G@{ݷѹ!7G@{`pIe7G@{S7G@{6A7G@{*о!7G@{5FB< =7G@{W7G@{2W!~67G@{YǙ}7G@{ƐQdKU7G@{T ) 7G@{Q]qzi7G@{٦o7G@{(Ź7G@{+8wϹ7G@{=a(&7G@{)aQ+7G@{u΁i7G@{gN>W1)gf7G@{Xޑu""7G@{g߱>7G@{p' 7G@{ 0A=x7G@{ qaS7G@{ɦi7G@{ I7G@{Rq7G@{vnUR7G@{12FQV7G@{j>7G@{"S;+a7G@{>87G@{,Fv7G@{7G@{i&"*7G@{ykQ7G@{iR  7G@{~1Q&7G@{?7G@{JY~7G@{5^J 7G@{NR7G@{ւ7G@{t7G@{u:47G@{yxBz7G@{'*7G@{'7G@{Jh7M(7G@{hz7G@{XHBad7G@{f!J?t7G@{gcC7G@{3B7G@{c N?r:7G@{IG[Z7G@{@7G@{:< *7G@{k п7G@{וUb|%7G@{7+':7G@{GxD)"*7G@{7@*R[(7G@{yN-Z7G@{TPs/0Z R$7G@{n>0L7G@{%2 $7G@{f3ڎ8-7G@{v3r>7G@{e,37G@{N:r,7G@{->yz7G@{WR?bnY7G@{;AG)#7G@{eB2ۍ7G@{Bz7G@{4CPP7G@{eF?7G@{FTE7G@{HBC7G@{ܿC5I".L7G@{{-J7G@{-FKRx@7G@{S8Ljk7G@{|jMBkBw7G@{SK~7G@{]&IOJWC,7G@{fPJR7G@{ P 7G@{ 3nO 7G@{t|T\7G@{y8U`YZ&7G@{HZB7G@{|Y".7G@{ "^28a7G@{hJ,Q^Jr7G@{5`ℚ"7G@{Tpb ]7G@{*}'cj7G@{EzdS7G@{Zb]jK7G@{uj@3kR7G@{3k_˜7G@{_nZ7G@{Vѭo׭Z7G@{.Qqh<7G@{q 7G@{Ur: 7G@{Ο itζ~7G@{tO7G@{:Pvr.7G@{ȴ/w:$7G@{ny.$7G@{GO~|Z]7G@{)*~ ;7G@{֑u 7G@{_w7G@{~]7G@{³uN7G@{867G@{Czͧ7G@{b"C7G@{?)7G@{GGC 7G@{I 307G@{p2",7G@{An";$7G@{6O\$7G@{(k"kn7G@{\'c7G@{(J7G@{tT)+ȹ"7G@{;*fr7G@{p+{G7G@{+c@7G@{va(lRN7G@{[玎-i7G@{w/Y7G@{ *{ j7G@{ͦ"2CD7G@{93,7G@{25Sd27G@{WW36Wݷ7G@{O27kc7G@{vL7C27G@{xx=ˉ'7G@{>P:7G@{$[1R=kW/#7G@{/@*27G@{[AF \7G@{hNA{Э7G@{rdC!57G@{,lI[-[7G@{ZKc~t7G@{琭N[497G@{q/aPd[7G@{nRC7G@{kuT57G@{C2J;T{ʋ7G@{;TӅ7G@{3WC7G@{v9+^+A7G@{J8_cUs7G@{J)K`}=7G@{ j`H]7G@{J^bK$y7G@{72՞`>7G@{|2%dӈ,)7G@{{` a7G@{_c7G@{~hRo7G@{-ic7G@{jӆ7G@{kS~7G@{Eo7G@{)WQq쿂7G@{?:t#(z7G@{c Ft7G@{\&w57G@{d[8yå-7G@{{ӷ7G@{C|E7G@{ <~S7G@{~K<^7G@{[ۜ87G@{qʣ߆#V7G@{6Q7G@{kʇcj7G@{`˴87G@{㯻07G@{[7G@{3swTP7G@{Y%yKY7G@{x(+%7G@{/{7G@{)U7G@{n% ?7G@{^S7G@{Q:\B7G@{٥x^7G@{O0^[ r7G@{Ш7G@{ϗK7G@{"397G@{w4ucF.7G@{Ac)z7G@{>1S;57G@{ӗcye7G@{as [7G@{C'KZ7G@{D*@S7G@{]4<*YH7G@{쩽+ 7G@{jpGS<7G@{a8|/?7G@{.,|17G@{57G@{I07G@{! 1;Y7G@{7G@{"͓PB7G@{+7G@{+76k7G@{G7 7G@{t'7G@{"ݓ)7G@{f4C_ 7G@{):7G@{_|;W&g7G@{M 7G@{绪cY7G@{*p7G@{&eۦ7G@{⺥7G@{V[d7G@{VxSۀ&l7G@{ A[i7G@{cLK7G@{h7G@{C#C7G@{&J+ks7G@{8U7G@{*/\7G@{4+Mܶ7G@{t 7G@{ GNcA7G@{ơ k7G@{;:w Ԯ 7G@{K Z "m7G@{l-f7G@{w<7G@{q7G@{g\llp7G@{8I\/|7G@{LPP7G@{kH7G@{+L$di7G@{bQ, ħ7G@{TḒ7G@{ lH#\Q7G@{1R$| 7G@{%dB7G@{١&k7G@{H+7G@{(Q+47G@{Ah.$@7G@{a`0dq7G@{ԑQ1g7G@{kޕ6 ˢ7G@{/L7,eA7G@{܎7PA7G@{ၞ7A7G@{pE:4hg)7G@{=Dq7G@{5nA4_7G@{??B'C7G@{sJ&Gr0]7G@{shBG4(D7G@{|;EK67G@{+ݩwKLqԅ7G@{TK4ܫ7G@{ߓN]7G@{KݴO,7G@{pseO+7G@{P QjQ7G@{J*QE7G@{FSLv7G@{Z^Z JNG7G@{V\4a7G@{q^#&7G@{ ^.7G@{ʣh` 4=7G@{5a7G@{E7b!7G@{mcdM҈7G@{dt=9t7G@{b|I7G@{cd#7G@{7aԏ7G@{_h_7G@{Q[2i7G@{Ÿg\h7G@{Ƀ_lS7G@{} lU7G@{m$7G@{v8n\< 7G@{׹i6o,n7G@{9-f3 7G@{V, dŦ-7G@{J e FI7G@{su@a<&7G@{p{;Vt7G@{:uHq7G@{p%DtL5!7G@{Άut7C7G@{Rxt7G@{y @n7G@{5Oxm`7G@{|Vx;!7G@{f7G@{}D~07G@{ ÁT7G@{*$67G@{q_!&kA7G@{ !jN7G@{TB7G@{&5츊 :7G@{'fgq8r7G@{aj7G@{S(u&7G@{PnF T'7G@{o,L@e7G@{%D A7G@{I4ܓL[(7G@{糭|7G@{a6>'t7G@{0^7G@{c?Dgz>7G@{/m7G@{l/ &u7G@{ceϜ7G@{5L7G@{p^7G@{zK},@7G@{W4JH7G@{5<?7G@{x?9켒7G@{<$ }7G@{ˬp+7G@{=7Aƻ7G@{㮼"7G@{s{LA7G@{5~<ەs7G@{8Dp|7G@{U#'7G@{ f{7G@{}V$7G@{5-D1|A7G@{0lˏ7G@{w4 n7G@{ͷEtt7G@{ {+׼l$7G@{L!Ō7G@{K<7G@{@y^7G@{5l7G@{{Jl)w7G@{@ʴ77G@{ O!7G@{h:Ϭy]7G@{Ѭ=7G@{dk u7G@{\ԴK7G@{2t<7G@{ۣuW7G@{F ֤7G@{GXՄYjO7G@{?`J7G@{G ķ7G@{C߄r7G@{1^,7G@{^\xV7G@{jX|>K7G@{Rֹ17G@{(M眼}07G@{t( u7G@{G"(7G@{F@P7G@{С.|f!7G@{fb7G@{w7G@{e7G@{띯)L7G@{pO{܍ 7G@{؅Z@J7G@{Q1F$7G@{G Ib7G@{_87G@{zY7G@{]$|!7G@{HWm7G@{ģ,< !7G@{Ci=v )7G@{.= %7G@{5M-97G@{GGPmG 7G@{w7|%dg(7G@{vYYj37G@{=` ] W7G@{:!?_7G@{t7G@{%li7G@{ ]7G@{&ی7G@{')~"͆7G@{w8#H7G@{s)唪7G@{k+87G@{,e%7G@{&Y؍,+7G@{_-/7G@{`Tt- 7G@{d:0U k7G@{$/='A7G@{.%7G@{ 4S7G@{s{8/7G@{naC287G@{:U3 7G@{v]8]7G@{'@F27G@{E@]$z7G@{X$%G7G@{TLImF07G@{LS97G@{N% [7G@{eBPM/7G@{sO4eR7G@{F S%7G@{0Sk87G@{ ESE<7G@{X݆V7G@{zpVUE7G@{.XEp^7G@{Mi^57G@{dKenb c7G@{cvcb7G@{E1e27G@{;zeEe7G@{OgŇ-7G@{BATgM ~7G@{&mu57G@{ ZRn>07G@{spF7G@{ u0B7G@{rMv]T7G@{wT{7G@{ݼy}7G@{*?}eY7G@{}gb >p7G@{vٹz7G@{Ճ,u_j7G@{V. Dz7G@{Jf]א/7G@{p 7G@{]Ȟ7G@{j %7G@{wXQx7G@{/7G@{ ୒7G@{^FvޓS7G@{+FH֘7G@{}u'+7G@{]e-7G@{AzSM7G@{.E۽7G@{=H{7G@{Lsu`7G@{Hh7G@{# FnW7G@{'~bU7G@{ͭt7G@{ՆM7G@{ *a7G@{,L7G@{ص{e$=7G@{`ysq7G@{–ݮ% 7G@{M M7G@{ Y?7G@{o !7G@{(ʾ7G@{se47G@{0Nm:w7G@{^=H!7G@{<#7G@{ ѻh7G@{P䖻(7G@{\]{7G@{V{oQ7G@{(HK%ڐ7G@{)Ɲ7G@{9`]-da7G@{ɍ-w7G@{ c$%ݫ&7G@{pvmq#7G@{WM=v7G@{ōt#7G@{7G@{KDީE7G@{g7G@{?.27G@{8u*bT7G@{~7G@{hӼ7G@{=d 7G@{'| uC7G@{Jy5! j 7G@{ x"G7G@{@!np7G@{oe I7G@{Q%֎u7G@{o$ 7G@{&7t(֡[7G@{q*.h7G@{I+67G@{MT+fD7G@{-vt7G@{4b+-^L7G@{j'0J7G@{0v7G@{+29 7G@{.0&K17G@{w0^D7G@{56*7G@{(}6&Z7G@{r67G@{# {6V(Q7G@{FTY2:67G@{pyyY<y 7G@{Y>N[7G@{t7?87G@{"AҢ 7G@{+hCK7G@{xFʸ37G@{,G^Ȥy7G@{,GV7G@{k'=Lr;7G@{L<7G@{wP7G@{3݋Q&7G@{M>{SxŇ7G@{2U$17G@{TOV֙57G@{&"VQQ7G@{RXCK7G@{ FY7G@{L/YXb7G@{Tz\VO7G@{i_]G7G@{_N=7G@{ ay17G@{Ga͌7G@{g7G@{h}'7G@{F(cnƚ7G@{dn&$7G@{FWs7G@{tNu7G@{.$;t7G@{wn+7G@{pZXEw67G@{mR}~>i47G@{!"Qx7G@{{$7G@{Du7G@{[׭˄0ә7G@{H`v>\7G@{+V7G@{rIL7G@{ l77G@{K367G@{%qJVlw7G@{&7G@{Տ.R7G@{iGY7G@{/QÜ7G@{u&x7G@{8KF7G@{*f~j7G@{\t~7G@{)N7G@{0T7G@{pot7G@{cF7G@{Tn=6~7G@{R։^.P7G@{dاs7G@{!f7G@{y왯fm7G@{[>NlO7G@{E7G@{Rdx7G@{Y6b7G@{ŴK7G@{,O.E?v7G@{cc&.O7G@{kӬ+7G@{AF&777G@{jcsb7G@{%vTs7G@{@}N|;7G@{8v,(7G@{RǎE7G@{lV7G@{ouʖxp7G@{|s{#̦rc7G@{6Ϟ X7G@{Zж{ 7G@{7u:ўyK7G@{}bѧ57G@{&k7G@{`ڦVÒ7G@{޾Z7G@{).`7G@{%㾏7G@{ZodUF7G@{q "g7G@{1n7G@{(_7G@{zoF7G@{VJ7G@{_tO7G@{a& 7G@{nc7G@{%Gg<:7G@{7?N7G@{~7G@{cㆀ7G@{]lO7G@{ aV֤7G@{`fM7G@{)d<~]7G@{LC7G@{aV.H7G@{sa;7G@{ gē7G@{-G"7G@{@Ax7G@{&;h WE7G@{Ϙb7G@{nӲ'k7G@{5?S[7G@{>0Ib7G@{w)߂'7G@{k6?߾7G@{nO_C 7G@{Fo&7G@{/7G@{~;-K=7G@{'g7G@{{j Z7G@{~,"7G@{i&?1>7G@{_)M7G@{E-_7G@{z/?d7G@{}1(!7G@{wvk27G@{G3ʭ7G@{UK7G57G@{Ħ38'ڭ7G@{|P87G@{s9׿57G@{';47G@{}=7G@{,>y7G@{x?'7G@{?@Z|7G@{:B/7G@{Ws?BGY7G@{>B]CG7G@{((EW d7G@{BKF7G@{$cG'O7G@{ vK28G'7G@{e:27G@{ٚw/7G@{Q/ (|7G@{Vۍzwty7G@{9`t7G@{ϟ7G@{f]XsW:7G@{\٫ߟHZ7G@{gNl7G@{8"m7G@{NN/OL\7G@{ PiR7G@{^5w[7G@{a;?$7G@{}oޘ}7G@{rw>7G@{@պ7G@{-,;7G@{E°WJ7G@{ʔP7G@{j(g 7G@{~׶l7G@{*U.7G@{LdE7G@{\7GƽwH5T7G@{ၬ7G@{e7G@{ɤ7G@{Bj$Hw67G@{ħx7G@{uV6g7G@{FHW&X7G@{9 _T&L!b`%:1# iF$p` 8iGZ ErK(y9UKz<D&D77}{Z|Tm 4b}R;dm~w!^<<3o,pq) ^Y$euaei"_Qr $"N55q<`@4r\4BN22P ~v#O9LT%,UUGb32;;PW\^xSH`gG Sd{ gz ? %b ? 3NkSM~rtSIctkUuqpiqKej2:[ar}P_F-i)uQQx7F(IL cA<5!m!) pmY 0|MQTr]acVbw{[j].u. ffb1DZ h#(nnHKLq10>-e7T lxPFaA%Fw6+I~CK' z5xLZ{;1xIM&3Ea8bJyIuO-!+wZERG,KG* V!N[C7u%\3# )zz2n\?d(ZV{-?-keIK 9m$ p)D| S_=qMtzP@m+tx v(,\mQ!/ UbwY%,\`KM_,4Za&q(u GuowsdE%OG9zU[15 gs6ElB2bLpZF\W {He2 3z!aojUt@"L'0^Gri$j/v|*w7gS [ $!: 0wlR5 Q5:* -tyB=su wXP%I>cQ Jf@F>eR{ Evz;r^:pW 5}bOp< >:[h|P ~$xwyg#35+B[QmfiUNGo AIO\Gv#rLvCWZzxH1DJ2?IeN=yK\5YHOgzN)Lg|^=A7rd&0}8~gB_Ey$`4}m}2MUt:f+TdBr'"]c0\`=y:s{2R r*j l7LIWDcM_1^W 5#8@gL- _\&W%"]{QI\R+ _tb(HqI{ F>nq' ^ 4uB:i[r6;y)#aBv5?AHD ?N36I2el'sUx}<9=%u5a-r{s3Sa X1hjCHk&r!N0b^L"1|) oB}~3{}{ @JeBV{z\_A|2j M3eQ:)p z!a6y~O/5z<7 G?iRM4oko V-r6&4-LUrB(_ok"@\x {]W] FK9^1/Nm ff)MQux8}Q%c Ilw:XSA/home/dwhitfield/Developer/RUST/Libraries/doge_dns/src/strings.rs ;2^I9kw|J0. JM'78!Fx&#7O"&N*7'("2#N2 8H' (!=125?-( K2C$D:U!@DF:5,B#C1%($ 4"OKNJ9| ! '/)C.K`%5T`9(/;2% M+!&!"J2  &NNN% " 3- ((" 3> ((((" 3B '((?((" 3B %* ?(F / 3G // +)J ////0000% +)`2f !' zSB/home/dwhitfield/Developer/RUST/Libraries/doge_dns/src/record/a.rs Zڿ#GB_ ;P7)2$=T b>Y !!+8 & 5 L@ 9 Cy 5, Cy 6y 1 6(Ȇ_@O ֖E/home/dwhitfield/Developer/RUST/Libraries/doge_dns/src/record/aaaa.rs ?wfIv0[(a 8L*)2'=T!e?Y "!+: & V#I* & (!JX N(59 /!JX N'59 :! N(-/ 8(  9(Lj XF/home/dwhitfield/Developer/RUST/Libraries/doge_dns/src/record/cname.rs nT9o~L 7hܝV *PP7C(=T81,) qc  & M( PD #/( :c :( 8 ;(³t[jF/home/dwhitfield/Developer/RUST/Libraries/doge_dns/src/record/eui48.rs ,\wg}'3 ^o I@O<)4(=T a>Y $$; F/=@@ & ? PN - Gy ?/ Gy :y - :( O/)m&Ib&eF/home/dwhitfield/Developer/RUST/Libraries/doge_dns/src/record/eui64.rs muX#IW5+8lo LO<)6(=T c>Y $$; F/KPP & K PZ - Gy K/ Gy :y - :( [//;isЬE ڸUF/home/dwhitfield/Developer/RUST/Libraries/doge_dns/src/record/hinfo.rs jO4IH2p N!LP7RP07(=T'9N!E&7L CX2)! xT  & !N& N P:8 #!& % :c :( 3 ;(ۅ-#^`[eD/home/dwhitfield/Developer/RUST/Libraries/doge_dns/src/record/loc.rs V_⬕"g gq M+QD)L6R!"N H2$I2%JIN)-)%)M) &=T$31). !?Y &-@1M/I7?J8BM79I[  OO1$1$OM*K:BA8N% (T#014:41==W B]== &**"'%?9!?! '8 ,"?,,,, !?JM#* B  & +)121 N@0.LMF  Ez +)1213 E{ A Eh 8(  9( & <) <) <* #<+ & Q3 U7 U7 P3 T7 T7 N: O8 g4 #V g4 $V i5 !X i5 "X & =( =- 6. =0, 2248VVVWWWYYYZZZ\\\]]]___```bbbeeehhhjjkC}ƝC/home/dwhitfield/Developer/RUST/Libraries/doge_dns/src/record/mx.rs 'KrUrla *N1P7N5%=T59<572). T  & 'O* M'F #'/( 7c 7( . 8(0k9|wM~tioF/home/dwhitfield/Developer/RUST/Libraries/doge_dns/src/record/naptr.rs ح4y( *L-MP<MCGLC(=T0/59)=R#I+AV%M)=R#IB;*J>2O T  & "'#%*#N(NN( P!'/3BW "'#%*#" ;e :( " ;(MFī>7/C/home/dwhitfield/Developer/RUST/Libraries/doge_dns/src/record/ns.rs E2矃iːW *L Q7E%=T@90)$ xg  & NK, MR #3, 8d 7( 1 8( 8UVMt%9aK/home/dwhitfield/Developer/RUST/Libraries/doge_dns/src/record/openpgpkey.rs `ϰGBp[ 4MJ)-=T >Y >!-$)" & , U < & U * ?y 3 @(p2g;SD/home/dwhitfield/Developer/RUST/Libraries/doge_dns/src/record/opt.rs |xzqZ<-k-  I9MHONLNLOMJM:O#C<;%' 4!<KPN@J=DXEF>AAD26;="/O;O40>+-3L=W1!  & -(,"> >/')!% -(,"(- >/')!/ 5( . 5( z%xfq\D/home/dwhitfield/Developer/RUST/Libraries/doge_dns/src/record/ptr.rs :)vt-n\[ *K-K=Q7+&=T6/+) nb  & X' NE #.' 8c 8( 1 9(.׾Q?F/home/dwhitfield/Developer/RUST/Libraries/doge_dns/src/record/sshfp.rs )S%g H&PAOKN+(=T&7-E >Y 8K)=> C. 1   'H P%,P  '5 P%,2  ' Gy :(  :( !9 ,.$jմM.hArD/home/dwhitfield/Developer/RUST/Libraries/doge_dns/src/record/soa.rs }Ord_OK( *KK0Q71O+M)MM*LID;&$=T6/6/11;E9A7=6;G2)8; T  & L'L'/9754 NCC+0--) #.'.'/9754 9e 8( 2 9(/Þϻ6?D/home/dwhitfield/Developer/RUST/Libraries/doge_dns/src/record/srv.rs ʘUt h{v *M<G:LO,?&=T3511/-8192)8 T  & %#!NN/( N$"$U #%#!/( 9e 8( & 9(&5[x6DoO?꧘E/home/dwhitfield/Developer/RUST/Libraries/doge_dns/src/record/tlsa.rs p…^3^%V  OBHG#>OJN.8#'=T.G%5*? >Y AU.BR C3%1  ($7 O-$)U ($' O-$)7 ($ Fy 9( ( 9(Ka=N&koD/home/dwhitfield/Developer/RUST/Libraries/doge_dns/src/record/txt.rs rJf\{HQk.K >K=Q7."&=T'&&0_RD/home/dwhitfield/Developer/RUST/Libraries/doge_dns/src/record/uri.rs D/2M\7w{ N(O7K6N>M NA&=T3511) >Y 2W$K. & %#N2 N%#? %#R N%#0 %# Ey 8( , 9(8b]7{%K$G/home/dwhitfield/Developer/RUST/Libraries/doge_dns/src/record/others.rs xR X9m/\f?)N +OA=W(:&$* ""4;4 %?>= <"  7+ 9*?񬏱Y pFg?/home/dwhitfield/Developer/RUST/Libraries/doge_dns/src/types.rs p7|=pMznlL,HOO5.3FG3MOD!+F3/"("J40#31N 05O)  =/)2'TQPA!J#MI.!C'9)J K( S9)D<OPQOI9GJ(."#$%%&'(**bFӸp;2>/home/dwhitfield/Developer/RUST/Libraries/doge_dns/src/wire.rs S֒T@F Ȥ3#(D .7440<<:;An0GC.39+ ?(# J=A#((95A.;;;;GLLI4O@$/= PB%/> WH(/B XQ)/B W M=U7<4/C.*O=U7<*%, 83G22- NV=i,+ # |6 8;:<<<<:9<9A:<::;::0,$.7 # ' '''#  9/@)/3HIKK= KKKKHKK ;)3EdEEEEEEJ NI% D G.0. *,'-+)' LF=dNP I67G?NEI KJ)O>MOKGLO:MM9OOQNLM"JQLJLRKKO>"I?"O0MN-IC':)@C%&) T[^adiqttuvEUM/XP8jDED/home/dwhitfield/Developer/RUST/Libraries/doge_dns/src/record/mod.rs GygXx.-(A        &         $6   !8 D#<NB)   , ("50 !%;K1="C0 !AI&-0/1111/.1.6'/1//0//2   SԊ&q?w=/home/dwhitfield/Developer/RUST/Libraries/doge_dns/src/lib.rs Xt+sG2W_X ,'"/( (&+&%"*'$+ %!JG7̡ƃ2bLVGfLiH=21$ 2T6Ijdxg>x86_64-unknown-linux-gnu=-#mfus`-odoge_dns-2e2fef767f2c30447G@{W/ Е  "  "   Y" (P  "Y) T 0