table.go 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205
  1. // generated by go run gen.go; DO NOT EDIT
  2. package publicsuffix
  3. const version = "subset of publicsuffix.org's effective_tld_names.dat, hg revision 05b11a8d1ace (2012-11-09)"
  4. const (
  5. nodesBitsChildren = 9
  6. nodesBitsICANN = 1
  7. nodesBitsTextOffset = 15
  8. nodesBitsTextLength = 6
  9. childrenBitsWildcard = 1
  10. childrenBitsNodeType = 2
  11. childrenBitsHi = 14
  12. childrenBitsLo = 14
  13. )
  14. const (
  15. nodeTypeNormal = 0
  16. nodeTypeException = 1
  17. nodeTypeParentOnly = 2
  18. )
  19. // numTLD is the number of top level domains.
  20. const numTLD = 13
  21. // Text is the combined text of all labels.
  22. const text = "clubacyfukuchiyamashinacionakagyomanpostatecouncilgovgvhomediaph" +
  23. "onelin-addretinagaokakyotambainetip6irischigashiyamaizurujitawar" +
  24. "akpetroleumiljetjoyomanteljpblogspotk12kizurideduccitykumiyamaky" +
  25. "otangobiernoelectronicorgamecongresodelalengua3kyotoyamazakitami" +
  26. "namiyamashiromiyazurnantanational-library-scotlandyndnsakyotanab" +
  27. "ebizwmukobenlseikameokamodpromocionawrastelecomanmobileusiemenso" +
  28. "ngfestxn--czrw28british-libraryawatarparliamentwazukayabe164xn--" +
  29. "p1aidvxn--uc0atvxn--zf0ao64a"
  30. // nodes is the list of nodes. Each node is represented as a uint32, which
  31. // encodes the node's children, wildcard bit and node type (as an index into
  32. // the children array), ICANN bit and text.
  33. //
  34. // In the //-comment after each node's data, the nodes indexes of the children
  35. // are formatted as (n0x1234-n0x1256), with * denoting the wildcard bit. The
  36. // nodeType is printed as + for normal, ! for exception, and o for parent-only
  37. // nodes that have children but don't match a domain label in their own right.
  38. // An I denotes an ICANN domain.
  39. //
  40. // The layout within the uint32, from MSB to LSB, is:
  41. // [ 1 bits] unused
  42. // [ 9 bits] children index
  43. // [ 1 bits] ICANN bit
  44. // [15 bits] text index
  45. // [ 6 bits] text length
  46. var nodes = [...]uint32{
  47. 0x01a01442, // n0x0000 c0x0006 (n0x000d-n0x0013) + I ao
  48. 0x01e01f82, // n0x0001 c0x0007 (n0x0013-n0x001d)* o I ar
  49. 0x026068c4, // n0x0002 c0x0009 (n0x001e-n0x0024) o I arpa
  50. 0x02a05b03, // n0x0003 c0x000a (n0x0024-n0x0025) o I com
  51. 0x01600142, // n0x0004 c0x0005 (---------------)* o I cy
  52. 0x02e02682, // n0x0005 c0x000b (n0x0025-n0x0028) + I jp
  53. 0x03a00802, // n0x0006 c0x000e (n0x0048-n0x0052)* o I om
  54. 0x03e03583, // n0x0007 c0x000f (n0x0052-n0x0053) o I org
  55. 0x04606b82, // n0x0008 c0x0011 (n0x0055-n0x0063) + I tw
  56. 0x04a00202, // n0x0009 c0x0012 (n0x0063-n0x006e)* o I uk
  57. 0x05205dc2, // n0x000a c0x0014 (n0x006f-n0x0070) o I us
  58. 0x00206f08, // n0x000b c0x0000 (---------------) + I xn--p1ai
  59. 0x016050c2, // n0x000c c0x0005 (---------------)* o I zw
  60. 0x00200ac2, // n0x000d c0x0000 (---------------) + I co
  61. 0x00200e82, // n0x000e c0x0000 (---------------) + I ed
  62. 0x00200d42, // n0x000f c0x0000 (---------------) + I gv
  63. 0x00201e82, // n0x0010 c0x0000 (---------------) + I it
  64. 0x00202782, // n0x0011 c0x0000 (---------------) + I og
  65. 0x002026c2, // n0x0012 c0x0000 (---------------) + I pb
  66. 0x02205b03, // n0x0013 c0x0008 (n0x001d-n0x001e) o I com
  67. 0x00603713, // n0x0014 c0x0001 (---------------) ! I congresodelalengua3
  68. 0x00602b84, // n0x0015 c0x0001 (---------------) ! I educ
  69. 0x00603113, // n0x0016 c0x0001 (---------------) ! I gobiernoelectronico
  70. 0x00603685, // n0x0017 c0x0001 (---------------) ! I mecon
  71. 0x00600546, // n0x0018 c0x0001 (---------------) ! I nacion
  72. 0x006034c3, // n0x0019 c0x0001 (---------------) ! I nic
  73. 0x00605689, // n0x001a c0x0001 (---------------) ! I promocion
  74. 0x00601286, // n0x001b c0x0001 (---------------) ! I retina
  75. 0x00600083, // n0x001c c0x0001 (---------------) ! I uba
  76. 0x00002708, // n0x001d c0x0000 (---------------) + blogspot
  77. 0x00206e04, // n0x001e c0x0000 (---------------) + I e164
  78. 0x00201107, // n0x001f c0x0000 (---------------) + I in-addr
  79. 0x00201843, // n0x0020 c0x0000 (---------------) + I ip6
  80. 0x00201904, // n0x0021 c0x0000 (---------------) + I iris
  81. 0x00202a83, // n0x0022 c0x0000 (---------------) + I uri
  82. 0x00204483, // n0x0023 c0x0000 (---------------) + I urn
  83. 0x00000202, // n0x0024 c0x0000 (---------------) + uk
  84. 0x00200102, // n0x0025 c0x0000 (---------------) + I ac
  85. 0x032051c4, // n0x0026 c0x000c (n0x0028-n0x0029)* o I kobe
  86. 0x03603bc5, // n0x0027 c0x000d (n0x0029-n0x0048) + I kyoto
  87. 0x00602c84, // n0x0028 c0x0001 (---------------) ! I city
  88. 0x00206d05, // n0x0029 c0x0000 (---------------) + I ayabe
  89. 0x002001cb, // n0x002a c0x0000 (---------------) + I fukuchiyama
  90. 0x00201a4b, // n0x002b c0x0000 (---------------) + I higashiyama
  91. 0x00202b03, // n0x002c c0x0000 (---------------) + I ide
  92. 0x00201743, // n0x002d c0x0000 (---------------) + I ine
  93. 0x00202404, // n0x002e c0x0000 (---------------) + I joyo
  94. 0x00205407, // n0x002f c0x0000 (---------------) + I kameoka
  95. 0x00205544, // n0x0030 c0x0000 (---------------) + I kamo
  96. 0x00203e84, // n0x0031 c0x0000 (---------------) + I kita
  97. 0x002029c4, // n0x0032 c0x0000 (---------------) + I kizu
  98. 0x00202d88, // n0x0033 c0x0000 (---------------) + I kumiyama
  99. 0x00201548, // n0x0034 c0x0000 (---------------) + I kyotamba
  100. 0x00204e09, // n0x0035 c0x0000 (---------------) + I kyotanabe
  101. 0x00202f88, // n0x0036 c0x0000 (---------------) + I kyotango
  102. 0x00201c87, // n0x0037 c0x0000 (---------------) + I maizuru
  103. 0x00203f86, // n0x0038 c0x0000 (---------------) + I minami
  104. 0x00203f8f, // n0x0039 c0x0000 (---------------) + I minamiyamashiro
  105. 0x00204346, // n0x003a c0x0000 (---------------) + I miyazu
  106. 0x00205144, // n0x003b c0x0000 (---------------) + I muko
  107. 0x0020138a, // n0x003c c0x0000 (---------------) + I nagaokakyo
  108. 0x00200687, // n0x003d c0x0000 (---------------) + I nakagyo
  109. 0x00204506, // n0x003e c0x0000 (---------------) + I nantan
  110. 0x00203cc9, // n0x003f c0x0000 (---------------) + I oyamazaki
  111. 0x00204d85, // n0x0040 c0x0000 (---------------) + I sakyo
  112. 0x00205345, // n0x0041 c0x0000 (---------------) + I seika
  113. 0x00204ec6, // n0x0042 c0x0000 (---------------) + I tanabe
  114. 0x00201e03, // n0x0043 c0x0000 (---------------) + I uji
  115. 0x00201e09, // n0x0044 c0x0000 (---------------) + I ujitawara
  116. 0x00206bc6, // n0x0045 c0x0000 (---------------) + I wazuka
  117. 0x00200389, // n0x0046 c0x0000 (---------------) + I yamashina
  118. 0x00206786, // n0x0047 c0x0000 (---------------) + I yawata
  119. 0x00600e4a, // n0x0048 c0x0001 (---------------) ! I mediaphone
  120. 0x00605886, // n0x0049 c0x0001 (---------------) ! I nawras
  121. 0x0060588d, // n0x004a c0x0001 (---------------) ! I nawrastelecom
  122. 0x00605b4a, // n0x004b c0x0001 (---------------) ! I omanmobile
  123. 0x00600808, // n0x004c c0x0001 (---------------) ! I omanpost
  124. 0x006024c7, // n0x004d c0x0001 (---------------) ! I omantel
  125. 0x00601fcc, // n0x004e c0x0001 (---------------) ! I rakpetroleum
  126. 0x00605e07, // n0x004f c0x0001 (---------------) ! I siemens
  127. 0x00605f88, // n0x0050 c0x0001 (---------------) ! I songfest
  128. 0x0060098c, // n0x0051 c0x0001 (---------------) ! I statecouncil
  129. 0x04004c46, // n0x0052 c0x0010 (n0x0053-n0x0055) + dyndns
  130. 0x00000c82, // n0x0053 c0x0000 (---------------) + go
  131. 0x00000dc4, // n0x0054 c0x0000 (---------------) + home
  132. 0x00002708, // n0x0055 c0x0000 (---------------) + blogspot
  133. 0x00200004, // n0x0056 c0x0000 (---------------) + I club
  134. 0x00205b03, // n0x0057 c0x0000 (---------------) + I com
  135. 0x00205004, // n0x0058 c0x0000 (---------------) + I ebiz
  136. 0x00202b83, // n0x0059 c0x0000 (---------------) + I edu
  137. 0x00203604, // n0x005a c0x0000 (---------------) + I game
  138. 0x00200c83, // n0x005b c0x0000 (---------------) + I gov
  139. 0x002070c3, // n0x005c c0x0000 (---------------) + I idv
  140. 0x00202283, // n0x005d c0x0000 (---------------) + I mil
  141. 0x00201783, // n0x005e c0x0000 (---------------) + I net
  142. 0x00203583, // n0x005f c0x0000 (---------------) + I org
  143. 0x0020618b, // n0x0060 c0x0000 (---------------) + I xn--czrw28b
  144. 0x0020718a, // n0x0061 c0x0000 (---------------) + I xn--uc0atv
  145. 0x0020740c, // n0x0062 c0x0000 (---------------) + I xn--zf0ao64a
  146. 0x00602702, // n0x0063 c0x0001 (---------------) ! I bl
  147. 0x0060640f, // n0x0064 c0x0001 (---------------) ! I british-library
  148. 0x04e00ac2, // n0x0065 c0x0013 (n0x006e-n0x006f) o I co
  149. 0x00602343, // n0x0066 c0x0001 (---------------) ! I jet
  150. 0x006055c3, // n0x0067 c0x0001 (---------------) ! I mod
  151. 0x00604659, // n0x0068 c0x0001 (---------------) ! I national-library-scotland
  152. 0x00601043, // n0x0069 c0x0001 (---------------) ! I nel
  153. 0x006034c3, // n0x006a c0x0001 (---------------) ! I nic
  154. 0x006052c3, // n0x006b c0x0001 (---------------) ! I nls
  155. 0x0060694a, // n0x006c c0x0001 (---------------) ! I parliament
  156. 0x016019c3, // n0x006d c0x0005 (---------------)* o I sch
  157. 0x00002708, // n0x006e c0x0000 (---------------) + blogspot
  158. 0x056006c2, // n0x006f c0x0015 (n0x0070-n0x0073) + I ak
  159. 0x00202c42, // n0x0070 c0x0000 (---------------) + I cc
  160. 0x00202903, // n0x0071 c0x0000 (---------------) + I k12
  161. 0x00204883, // n0x0072 c0x0000 (---------------) + I lib
  162. }
  163. // children is the list of nodes' children, the parent's wildcard bit and the
  164. // parent's node type. If a node has no children then their children index
  165. // will be in the range [0, 6), depending on the wildcard bit and node type.
  166. //
  167. // The layout within the uint32, from MSB to LSB, is:
  168. // [ 1 bits] unused
  169. // [ 1 bits] wildcard bit
  170. // [ 2 bits] node type
  171. // [14 bits] high nodes index (exclusive) of children
  172. // [14 bits] low nodes index (inclusive) of children
  173. var children = [...]uint32{
  174. 0x00000000, // c0x0000 (---------------) +
  175. 0x10000000, // c0x0001 (---------------) !
  176. 0x20000000, // c0x0002 (---------------) o
  177. 0x40000000, // c0x0003 (---------------)* +
  178. 0x50000000, // c0x0004 (---------------)* !
  179. 0x60000000, // c0x0005 (---------------)* o
  180. 0x0004c00d, // c0x0006 (n0x000d-n0x0013) +
  181. 0x60074013, // c0x0007 (n0x0013-n0x001d)* o
  182. 0x2007801d, // c0x0008 (n0x001d-n0x001e) o
  183. 0x2009001e, // c0x0009 (n0x001e-n0x0024) o
  184. 0x20094024, // c0x000a (n0x0024-n0x0025) o
  185. 0x000a0025, // c0x000b (n0x0025-n0x0028) +
  186. 0x600a4028, // c0x000c (n0x0028-n0x0029)* o
  187. 0x00120029, // c0x000d (n0x0029-n0x0048) +
  188. 0x60148048, // c0x000e (n0x0048-n0x0052)* o
  189. 0x2014c052, // c0x000f (n0x0052-n0x0053) o
  190. 0x00154053, // c0x0010 (n0x0053-n0x0055) +
  191. 0x0018c055, // c0x0011 (n0x0055-n0x0063) +
  192. 0x601b8063, // c0x0012 (n0x0063-n0x006e)* o
  193. 0x201bc06e, // c0x0013 (n0x006e-n0x006f) o
  194. 0x201c006f, // c0x0014 (n0x006f-n0x0070) o
  195. 0x001cc070, // c0x0015 (n0x0070-n0x0073) +
  196. }