ires 0.1.3 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1024) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +32 -45
  3. data/ext/Gopkg.lock +31 -1
  4. data/ext/ires/image.go +227 -0
  5. data/ext/ires/ires.go +47 -59
  6. data/ext/ires/uri.go +143 -0
  7. data/ext/main.go +18 -9
  8. data/ext/vendor/github.com/PuerkitoBio/purell/LICENSE +12 -0
  9. data/ext/vendor/github.com/PuerkitoBio/purell/README.md +187 -0
  10. data/ext/vendor/github.com/PuerkitoBio/purell/bench_test.go +57 -0
  11. data/ext/vendor/github.com/PuerkitoBio/purell/benchmarks/v0.1.0 +9 -0
  12. data/ext/vendor/github.com/PuerkitoBio/purell/example_test.go +35 -0
  13. data/ext/vendor/github.com/PuerkitoBio/purell/purell.go +379 -0
  14. data/ext/vendor/github.com/PuerkitoBio/purell/purell_test.go +768 -0
  15. data/ext/vendor/github.com/PuerkitoBio/purell/urlnorm_test.go +53 -0
  16. data/ext/vendor/github.com/PuerkitoBio/urlesc/LICENSE +27 -0
  17. data/ext/vendor/github.com/PuerkitoBio/urlesc/README.md +16 -0
  18. data/ext/vendor/github.com/PuerkitoBio/urlesc/urlesc.go +180 -0
  19. data/ext/vendor/github.com/PuerkitoBio/urlesc/urlesc_test.go +641 -0
  20. data/ext/vendor/github.com/{satori/go.uuid → goware/urlx}/LICENSE +3 -1
  21. data/ext/vendor/github.com/goware/urlx/README.md +172 -0
  22. data/ext/vendor/github.com/goware/urlx/urlx.go +196 -0
  23. data/ext/vendor/github.com/goware/urlx/urlx_test.go +232 -0
  24. data/ext/vendor/golang.org/x/net/AUTHORS +3 -0
  25. data/ext/vendor/golang.org/x/net/CONTRIBUTING.md +31 -0
  26. data/ext/vendor/golang.org/x/net/CONTRIBUTORS +3 -0
  27. data/ext/vendor/golang.org/x/net/LICENSE +27 -0
  28. data/ext/vendor/golang.org/x/net/PATENTS +22 -0
  29. data/ext/vendor/golang.org/x/net/README.md +16 -0
  30. data/ext/vendor/golang.org/x/net/bpf/asm.go +41 -0
  31. data/ext/vendor/golang.org/x/net/bpf/constants.go +218 -0
  32. data/ext/vendor/golang.org/x/net/bpf/doc.go +82 -0
  33. data/ext/vendor/golang.org/x/net/bpf/instructions.go +704 -0
  34. data/ext/vendor/golang.org/x/net/bpf/instructions_test.go +525 -0
  35. data/ext/vendor/golang.org/x/net/bpf/setter.go +10 -0
  36. data/ext/vendor/golang.org/x/net/bpf/testdata/all_instructions.bpf +1 -0
  37. data/ext/vendor/golang.org/x/net/bpf/testdata/all_instructions.txt +79 -0
  38. data/ext/vendor/golang.org/x/net/bpf/vm.go +140 -0
  39. data/ext/vendor/golang.org/x/net/bpf/vm_aluop_test.go +512 -0
  40. data/ext/vendor/golang.org/x/net/bpf/vm_bpf_test.go +192 -0
  41. data/ext/vendor/golang.org/x/net/bpf/vm_extension_test.go +49 -0
  42. data/ext/vendor/golang.org/x/net/bpf/vm_instructions.go +174 -0
  43. data/ext/vendor/golang.org/x/net/bpf/vm_jump_test.go +380 -0
  44. data/ext/vendor/golang.org/x/net/bpf/vm_load_test.go +246 -0
  45. data/ext/vendor/golang.org/x/net/bpf/vm_ret_test.go +115 -0
  46. data/ext/vendor/golang.org/x/net/bpf/vm_scratch_test.go +247 -0
  47. data/ext/vendor/golang.org/x/net/bpf/vm_test.go +144 -0
  48. data/ext/vendor/golang.org/x/net/codereview.cfg +1 -0
  49. data/ext/vendor/golang.org/x/net/context/context.go +54 -0
  50. data/ext/vendor/golang.org/x/net/context/context_test.go +583 -0
  51. data/ext/vendor/golang.org/x/net/context/ctxhttp/ctxhttp.go +74 -0
  52. data/ext/vendor/golang.org/x/net/context/ctxhttp/ctxhttp_17_test.go +29 -0
  53. data/ext/vendor/golang.org/x/net/context/ctxhttp/ctxhttp_pre17.go +147 -0
  54. data/ext/vendor/golang.org/x/net/context/ctxhttp/ctxhttp_pre17_test.go +79 -0
  55. data/ext/vendor/golang.org/x/net/context/ctxhttp/ctxhttp_test.go +105 -0
  56. data/ext/vendor/golang.org/x/net/context/go17.go +72 -0
  57. data/ext/vendor/golang.org/x/net/context/go19.go +20 -0
  58. data/ext/vendor/golang.org/x/net/context/pre_go17.go +300 -0
  59. data/ext/vendor/golang.org/x/net/context/pre_go19.go +109 -0
  60. data/ext/vendor/golang.org/x/net/context/withtimeout_test.go +31 -0
  61. data/ext/vendor/golang.org/x/net/dict/dict.go +210 -0
  62. data/ext/vendor/golang.org/x/net/dns/dnsmessage/example_test.go +132 -0
  63. data/ext/vendor/golang.org/x/net/dns/dnsmessage/message.go +1997 -0
  64. data/ext/vendor/golang.org/x/net/dns/dnsmessage/message_test.go +1116 -0
  65. data/ext/vendor/golang.org/x/net/html/atom/atom.go +78 -0
  66. data/ext/vendor/golang.org/x/net/html/atom/atom_test.go +109 -0
  67. data/ext/vendor/golang.org/x/net/html/atom/gen.go +709 -0
  68. data/ext/vendor/golang.org/x/net/html/atom/table.go +777 -0
  69. data/ext/vendor/golang.org/x/net/html/atom/table_test.go +373 -0
  70. data/ext/vendor/golang.org/x/net/html/charset/charset.go +257 -0
  71. data/ext/vendor/golang.org/x/net/html/charset/charset_test.go +237 -0
  72. data/ext/vendor/golang.org/x/net/html/charset/testdata/HTTP-charset.html +48 -0
  73. data/ext/vendor/golang.org/x/net/html/charset/testdata/HTTP-vs-UTF-8-BOM.html +48 -0
  74. data/ext/vendor/golang.org/x/net/html/charset/testdata/HTTP-vs-meta-charset.html +49 -0
  75. data/ext/vendor/golang.org/x/net/html/charset/testdata/HTTP-vs-meta-content.html +49 -0
  76. data/ext/vendor/golang.org/x/net/html/charset/testdata/No-encoding-declaration.html +47 -0
  77. data/ext/vendor/golang.org/x/net/html/charset/testdata/README +9 -0
  78. data/ext/vendor/golang.org/x/net/html/charset/testdata/UTF-16BE-BOM.html +0 -0
  79. data/ext/vendor/golang.org/x/net/html/charset/testdata/UTF-16LE-BOM.html +0 -0
  80. data/ext/vendor/golang.org/x/net/html/charset/testdata/UTF-8-BOM-vs-meta-charset.html +49 -0
  81. data/ext/vendor/golang.org/x/net/html/charset/testdata/UTF-8-BOM-vs-meta-content.html +48 -0
  82. data/ext/vendor/golang.org/x/net/html/charset/testdata/meta-charset-attribute.html +48 -0
  83. data/ext/vendor/golang.org/x/net/html/charset/testdata/meta-content-attribute.html +48 -0
  84. data/ext/vendor/golang.org/x/net/html/const.go +104 -0
  85. data/ext/vendor/golang.org/x/net/html/doc.go +106 -0
  86. data/ext/vendor/golang.org/x/net/html/doctype.go +156 -0
  87. data/ext/vendor/golang.org/x/net/html/entity.go +2253 -0
  88. data/ext/vendor/golang.org/x/net/html/entity_test.go +29 -0
  89. data/ext/vendor/golang.org/x/net/html/escape.go +258 -0
  90. data/ext/vendor/golang.org/x/net/html/escape_test.go +97 -0
  91. data/ext/vendor/golang.org/x/net/html/example_test.go +40 -0
  92. data/ext/vendor/golang.org/x/net/html/foreign.go +226 -0
  93. data/ext/vendor/golang.org/x/net/html/node.go +193 -0
  94. data/ext/vendor/golang.org/x/net/html/node_test.go +146 -0
  95. data/ext/vendor/golang.org/x/net/html/parse.go +2094 -0
  96. data/ext/vendor/golang.org/x/net/html/parse_test.go +388 -0
  97. data/ext/vendor/golang.org/x/net/html/render.go +271 -0
  98. data/ext/vendor/golang.org/x/net/html/render_test.go +156 -0
  99. data/ext/vendor/golang.org/x/net/html/testdata/go1.html +2237 -0
  100. data/ext/vendor/golang.org/x/net/html/testdata/webkit/README +28 -0
  101. data/ext/vendor/golang.org/x/net/html/testdata/webkit/adoption01.dat +194 -0
  102. data/ext/vendor/golang.org/x/net/html/testdata/webkit/adoption02.dat +31 -0
  103. data/ext/vendor/golang.org/x/net/html/testdata/webkit/comments01.dat +135 -0
  104. data/ext/vendor/golang.org/x/net/html/testdata/webkit/doctype01.dat +370 -0
  105. data/ext/vendor/golang.org/x/net/html/testdata/webkit/entities01.dat +603 -0
  106. data/ext/vendor/golang.org/x/net/html/testdata/webkit/entities02.dat +249 -0
  107. data/ext/vendor/golang.org/x/net/html/testdata/webkit/html5test-com.dat +246 -0
  108. data/ext/vendor/golang.org/x/net/html/testdata/webkit/inbody01.dat +43 -0
  109. data/ext/vendor/golang.org/x/net/html/testdata/webkit/isindex.dat +40 -0
  110. data/ext/vendor/golang.org/x/net/html/testdata/webkit/pending-spec-changes-plain-text-unsafe.dat +0 -0
  111. data/ext/vendor/golang.org/x/net/html/testdata/webkit/pending-spec-changes.dat +52 -0
  112. data/ext/vendor/golang.org/x/net/html/testdata/webkit/plain-text-unsafe.dat +0 -0
  113. data/ext/vendor/golang.org/x/net/html/testdata/webkit/scriptdata01.dat +308 -0
  114. data/ext/vendor/golang.org/x/net/html/testdata/webkit/scripted/adoption01.dat +15 -0
  115. data/ext/vendor/golang.org/x/net/html/testdata/webkit/scripted/webkit01.dat +28 -0
  116. data/ext/vendor/golang.org/x/net/html/testdata/webkit/tables01.dat +212 -0
  117. data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests1.dat +1952 -0
  118. data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests10.dat +799 -0
  119. data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests11.dat +482 -0
  120. data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests12.dat +62 -0
  121. data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests14.dat +74 -0
  122. data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests15.dat +208 -0
  123. data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests16.dat +2299 -0
  124. data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests17.dat +153 -0
  125. data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests18.dat +269 -0
  126. data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests19.dat +1237 -0
  127. data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests2.dat +763 -0
  128. data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests20.dat +455 -0
  129. data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests21.dat +221 -0
  130. data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests22.dat +157 -0
  131. data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests23.dat +155 -0
  132. data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests24.dat +79 -0
  133. data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests25.dat +219 -0
  134. data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests26.dat +313 -0
  135. data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests3.dat +305 -0
  136. data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests4.dat +59 -0
  137. data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests5.dat +191 -0
  138. data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests6.dat +663 -0
  139. data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests7.dat +390 -0
  140. data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests8.dat +148 -0
  141. data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests9.dat +457 -0
  142. data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests_innerHTML_1.dat +741 -0
  143. data/ext/vendor/golang.org/x/net/html/testdata/webkit/tricky01.dat +261 -0
  144. data/ext/vendor/golang.org/x/net/html/testdata/webkit/webkit01.dat +610 -0
  145. data/ext/vendor/golang.org/x/net/html/testdata/webkit/webkit02.dat +159 -0
  146. data/ext/vendor/golang.org/x/net/html/token.go +1219 -0
  147. data/ext/vendor/golang.org/x/net/html/token_test.go +748 -0
  148. data/ext/vendor/golang.org/x/net/http2/Dockerfile +51 -0
  149. data/ext/vendor/golang.org/x/net/http2/Makefile +3 -0
  150. data/ext/vendor/golang.org/x/net/http2/README +20 -0
  151. data/ext/vendor/golang.org/x/net/http2/ciphers.go +641 -0
  152. data/ext/vendor/golang.org/x/net/http2/ciphers_test.go +309 -0
  153. data/ext/vendor/golang.org/x/net/http2/client_conn_pool.go +256 -0
  154. data/ext/vendor/golang.org/x/net/http2/configure_transport.go +80 -0
  155. data/ext/vendor/golang.org/x/net/http2/databuffer.go +146 -0
  156. data/ext/vendor/golang.org/x/net/http2/databuffer_test.go +157 -0
  157. data/ext/vendor/golang.org/x/net/http2/errors.go +133 -0
  158. data/ext/vendor/golang.org/x/net/http2/errors_test.go +24 -0
  159. data/ext/vendor/golang.org/x/net/http2/flow.go +50 -0
  160. data/ext/vendor/golang.org/x/net/http2/flow_test.go +53 -0
  161. data/ext/vendor/golang.org/x/net/http2/frame.go +1579 -0
  162. data/ext/vendor/golang.org/x/net/http2/frame_test.go +1191 -0
  163. data/ext/vendor/golang.org/x/net/http2/go16.go +16 -0
  164. data/ext/vendor/golang.org/x/net/http2/go17.go +106 -0
  165. data/ext/vendor/golang.org/x/net/http2/go17_not18.go +36 -0
  166. data/ext/vendor/golang.org/x/net/http2/go18.go +56 -0
  167. data/ext/vendor/golang.org/x/net/http2/go18_test.go +79 -0
  168. data/ext/vendor/golang.org/x/net/http2/go19.go +16 -0
  169. data/ext/vendor/golang.org/x/net/http2/go19_test.go +60 -0
  170. data/ext/vendor/golang.org/x/net/http2/gotrack.go +170 -0
  171. data/ext/vendor/golang.org/x/net/http2/gotrack_test.go +33 -0
  172. data/ext/vendor/golang.org/x/net/http2/h2demo/Makefile +8 -0
  173. data/ext/vendor/golang.org/x/net/http2/h2demo/README +16 -0
  174. data/ext/vendor/golang.org/x/net/http2/h2demo/h2demo.go +538 -0
  175. data/ext/vendor/golang.org/x/net/http2/h2demo/launch.go +302 -0
  176. data/ext/vendor/golang.org/x/net/http2/h2demo/rootCA.key +27 -0
  177. data/ext/vendor/golang.org/x/net/http2/h2demo/rootCA.pem +26 -0
  178. data/ext/vendor/golang.org/x/net/http2/h2demo/rootCA.srl +1 -0
  179. data/ext/vendor/golang.org/x/net/http2/h2demo/server.crt +20 -0
  180. data/ext/vendor/golang.org/x/net/http2/h2demo/server.key +27 -0
  181. data/ext/vendor/golang.org/x/net/http2/h2demo/tmpl.go +1991 -0
  182. data/ext/vendor/golang.org/x/net/http2/h2i/README.md +97 -0
  183. data/ext/vendor/golang.org/x/net/http2/h2i/h2i.go +522 -0
  184. data/ext/vendor/golang.org/x/net/http2/headermap.go +78 -0
  185. data/ext/vendor/golang.org/x/net/http2/hpack/encode.go +240 -0
  186. data/ext/vendor/golang.org/x/net/http2/hpack/encode_test.go +386 -0
  187. data/ext/vendor/golang.org/x/net/http2/hpack/hpack.go +490 -0
  188. data/ext/vendor/golang.org/x/net/http2/hpack/hpack_test.go +722 -0
  189. data/ext/vendor/golang.org/x/net/http2/hpack/huffman.go +212 -0
  190. data/ext/vendor/golang.org/x/net/http2/hpack/tables.go +479 -0
  191. data/ext/vendor/golang.org/x/net/http2/hpack/tables_test.go +214 -0
  192. data/ext/vendor/golang.org/x/net/http2/http2.go +391 -0
  193. data/ext/vendor/golang.org/x/net/http2/http2_test.go +199 -0
  194. data/ext/vendor/golang.org/x/net/http2/not_go16.go +21 -0
  195. data/ext/vendor/golang.org/x/net/http2/not_go17.go +87 -0
  196. data/ext/vendor/golang.org/x/net/http2/not_go18.go +29 -0
  197. data/ext/vendor/golang.org/x/net/http2/not_go19.go +16 -0
  198. data/ext/vendor/golang.org/x/net/http2/pipe.go +163 -0
  199. data/ext/vendor/golang.org/x/net/http2/pipe_test.go +130 -0
  200. data/ext/vendor/golang.org/x/net/http2/server.go +2857 -0
  201. data/ext/vendor/golang.org/x/net/http2/server_push_test.go +521 -0
  202. data/ext/vendor/golang.org/x/net/http2/server_test.go +3721 -0
  203. data/ext/vendor/golang.org/x/net/http2/testdata/draft-ietf-httpbis-http2.xml +5021 -0
  204. data/ext/vendor/golang.org/x/net/http2/transport.go +2285 -0
  205. data/ext/vendor/golang.org/x/net/http2/transport_test.go +3714 -0
  206. data/ext/vendor/golang.org/x/net/http2/write.go +370 -0
  207. data/ext/vendor/golang.org/x/net/http2/writesched.go +242 -0
  208. data/ext/vendor/golang.org/x/net/http2/writesched_priority.go +452 -0
  209. data/ext/vendor/golang.org/x/net/http2/writesched_priority_test.go +541 -0
  210. data/ext/vendor/golang.org/x/net/http2/writesched_random.go +72 -0
  211. data/ext/vendor/golang.org/x/net/http2/writesched_random_test.go +44 -0
  212. data/ext/vendor/golang.org/x/net/http2/writesched_test.go +125 -0
  213. data/ext/vendor/golang.org/x/net/http2/z_spec_test.go +356 -0
  214. data/ext/vendor/golang.org/x/net/icmp/dstunreach.go +41 -0
  215. data/ext/vendor/golang.org/x/net/icmp/echo.go +45 -0
  216. data/ext/vendor/golang.org/x/net/icmp/endpoint.go +113 -0
  217. data/ext/vendor/golang.org/x/net/icmp/example_test.go +63 -0
  218. data/ext/vendor/golang.org/x/net/icmp/extension.go +89 -0
  219. data/ext/vendor/golang.org/x/net/icmp/extension_test.go +259 -0
  220. data/ext/vendor/golang.org/x/net/icmp/helper_posix.go +75 -0
  221. data/ext/vendor/golang.org/x/net/icmp/interface.go +236 -0
  222. data/ext/vendor/golang.org/x/net/icmp/ipv4.go +61 -0
  223. data/ext/vendor/golang.org/x/net/icmp/ipv4_test.go +83 -0
  224. data/ext/vendor/golang.org/x/net/icmp/ipv6.go +23 -0
  225. data/ext/vendor/golang.org/x/net/icmp/listen_posix.go +100 -0
  226. data/ext/vendor/golang.org/x/net/icmp/listen_stub.go +33 -0
  227. data/ext/vendor/golang.org/x/net/icmp/message.go +152 -0
  228. data/ext/vendor/golang.org/x/net/icmp/message_test.go +134 -0
  229. data/ext/vendor/golang.org/x/net/icmp/messagebody.go +41 -0
  230. data/ext/vendor/golang.org/x/net/icmp/mpls.go +77 -0
  231. data/ext/vendor/golang.org/x/net/icmp/multipart.go +109 -0
  232. data/ext/vendor/golang.org/x/net/icmp/multipart_test.go +442 -0
  233. data/ext/vendor/golang.org/x/net/icmp/packettoobig.go +43 -0
  234. data/ext/vendor/golang.org/x/net/icmp/paramprob.go +63 -0
  235. data/ext/vendor/golang.org/x/net/icmp/ping_test.go +200 -0
  236. data/ext/vendor/golang.org/x/net/icmp/sys_freebsd.go +11 -0
  237. data/ext/vendor/golang.org/x/net/icmp/timeexceeded.go +39 -0
  238. data/ext/vendor/golang.org/x/net/idna/example_test.go +70 -0
  239. data/ext/vendor/golang.org/x/net/idna/idna.go +680 -0
  240. data/ext/vendor/golang.org/x/net/idna/idna_test.go +108 -0
  241. data/ext/vendor/golang.org/x/net/idna/punycode.go +203 -0
  242. data/ext/vendor/golang.org/x/net/idna/punycode_test.go +198 -0
  243. data/ext/vendor/golang.org/x/net/idna/tables.go +4477 -0
  244. data/ext/vendor/golang.org/x/net/idna/trie.go +72 -0
  245. data/ext/vendor/golang.org/x/net/idna/trieval.go +114 -0
  246. data/ext/vendor/golang.org/x/net/internal/iana/const.go +180 -0
  247. data/ext/vendor/golang.org/x/net/internal/iana/gen.go +293 -0
  248. data/ext/vendor/golang.org/x/net/internal/nettest/helper_bsd.go +53 -0
  249. data/ext/vendor/golang.org/x/net/internal/nettest/helper_nobsd.go +15 -0
  250. data/ext/vendor/golang.org/x/net/internal/nettest/helper_posix.go +31 -0
  251. data/ext/vendor/golang.org/x/net/internal/nettest/helper_stub.go +32 -0
  252. data/ext/vendor/golang.org/x/net/internal/nettest/helper_unix.go +29 -0
  253. data/ext/vendor/golang.org/x/net/internal/nettest/helper_windows.go +42 -0
  254. data/ext/vendor/golang.org/x/net/internal/nettest/interface.go +94 -0
  255. data/ext/vendor/golang.org/x/net/internal/nettest/rlimit.go +11 -0
  256. data/ext/vendor/golang.org/x/net/internal/nettest/stack.go +147 -0
  257. data/ext/vendor/golang.org/x/net/internal/socket/cmsghdr.go +11 -0
  258. data/ext/vendor/golang.org/x/net/internal/socket/cmsghdr_bsd.go +13 -0
  259. data/ext/vendor/golang.org/x/net/internal/socket/cmsghdr_linux_32bit.go +14 -0
  260. data/ext/vendor/golang.org/x/net/internal/socket/cmsghdr_linux_64bit.go +14 -0
  261. data/ext/vendor/golang.org/x/net/internal/socket/cmsghdr_solaris_64bit.go +14 -0
  262. data/ext/vendor/golang.org/x/net/internal/socket/cmsghdr_stub.go +17 -0
  263. data/ext/vendor/golang.org/x/net/internal/socket/defs_darwin.go +44 -0
  264. data/ext/vendor/golang.org/x/net/internal/socket/defs_dragonfly.go +44 -0
  265. data/ext/vendor/golang.org/x/net/internal/socket/defs_freebsd.go +44 -0
  266. data/ext/vendor/golang.org/x/net/internal/socket/defs_linux.go +49 -0
  267. data/ext/vendor/golang.org/x/net/internal/socket/defs_netbsd.go +47 -0
  268. data/ext/vendor/golang.org/x/net/internal/socket/defs_openbsd.go +44 -0
  269. data/ext/vendor/golang.org/x/net/internal/socket/defs_solaris.go +44 -0
  270. data/ext/vendor/golang.org/x/net/internal/socket/error_unix.go +31 -0
  271. data/ext/vendor/golang.org/x/net/internal/socket/error_windows.go +26 -0
  272. data/ext/vendor/golang.org/x/net/internal/socket/iovec_32bit.go +19 -0
  273. data/ext/vendor/golang.org/x/net/internal/socket/iovec_64bit.go +19 -0
  274. data/ext/vendor/golang.org/x/net/internal/socket/iovec_solaris_64bit.go +19 -0
  275. data/ext/vendor/golang.org/x/net/internal/socket/iovec_stub.go +11 -0
  276. data/ext/vendor/golang.org/x/net/internal/socket/mmsghdr_stub.go +21 -0
  277. data/ext/vendor/golang.org/x/net/internal/socket/mmsghdr_unix.go +42 -0
  278. data/ext/vendor/golang.org/x/net/internal/socket/msghdr_bsd.go +39 -0
  279. data/ext/vendor/golang.org/x/net/internal/socket/msghdr_bsdvar.go +16 -0
  280. data/ext/vendor/golang.org/x/net/internal/socket/msghdr_linux.go +36 -0
  281. data/ext/vendor/golang.org/x/net/internal/socket/msghdr_linux_32bit.go +24 -0
  282. data/ext/vendor/golang.org/x/net/internal/socket/msghdr_linux_64bit.go +24 -0
  283. data/ext/vendor/golang.org/x/net/internal/socket/msghdr_openbsd.go +14 -0
  284. data/ext/vendor/golang.org/x/net/internal/socket/msghdr_solaris_64bit.go +36 -0
  285. data/ext/vendor/golang.org/x/net/internal/socket/msghdr_stub.go +14 -0
  286. data/ext/vendor/golang.org/x/net/internal/socket/rawconn.go +66 -0
  287. data/ext/vendor/golang.org/x/net/internal/socket/rawconn_mmsg.go +74 -0
  288. data/ext/vendor/golang.org/x/net/internal/socket/rawconn_msg.go +77 -0
  289. data/ext/vendor/golang.org/x/net/internal/socket/rawconn_nommsg.go +18 -0
  290. data/ext/vendor/golang.org/x/net/internal/socket/rawconn_nomsg.go +18 -0
  291. data/ext/vendor/golang.org/x/net/internal/socket/rawconn_stub.go +25 -0
  292. data/ext/vendor/golang.org/x/net/internal/socket/reflect.go +62 -0
  293. data/ext/vendor/golang.org/x/net/internal/socket/socket.go +285 -0
  294. data/ext/vendor/golang.org/x/net/internal/socket/socket_go1_9_test.go +259 -0
  295. data/ext/vendor/golang.org/x/net/internal/socket/socket_test.go +46 -0
  296. data/ext/vendor/golang.org/x/net/internal/socket/sys.go +33 -0
  297. data/ext/vendor/golang.org/x/net/internal/socket/sys_bsd.go +17 -0
  298. data/ext/vendor/golang.org/x/net/internal/socket/sys_bsdvar.go +14 -0
  299. data/ext/vendor/golang.org/x/net/internal/socket/sys_darwin.go +7 -0
  300. data/ext/vendor/golang.org/x/net/internal/socket/sys_dragonfly.go +7 -0
  301. data/ext/vendor/golang.org/x/net/internal/socket/sys_linux.go +27 -0
  302. data/ext/vendor/golang.org/x/net/internal/socket/sys_linux_386.go +55 -0
  303. data/ext/vendor/golang.org/x/net/internal/socket/sys_linux_386.s +11 -0
  304. data/ext/vendor/golang.org/x/net/internal/socket/sys_linux_amd64.go +10 -0
  305. data/ext/vendor/golang.org/x/net/internal/socket/sys_linux_arm.go +10 -0
  306. data/ext/vendor/golang.org/x/net/internal/socket/sys_linux_arm64.go +10 -0
  307. data/ext/vendor/golang.org/x/net/internal/socket/sys_linux_mips.go +10 -0
  308. data/ext/vendor/golang.org/x/net/internal/socket/sys_linux_mips64.go +10 -0
  309. data/ext/vendor/golang.org/x/net/internal/socket/sys_linux_mips64le.go +10 -0
  310. data/ext/vendor/golang.org/x/net/internal/socket/sys_linux_mipsle.go +10 -0
  311. data/ext/vendor/golang.org/x/net/internal/socket/sys_linux_ppc64.go +10 -0
  312. data/ext/vendor/golang.org/x/net/internal/socket/sys_linux_ppc64le.go +10 -0
  313. data/ext/vendor/golang.org/x/net/internal/socket/sys_linux_s390x.go +55 -0
  314. data/ext/vendor/golang.org/x/net/internal/socket/sys_linux_s390x.s +11 -0
  315. data/ext/vendor/golang.org/x/net/internal/socket/sys_netbsd.go +25 -0
  316. data/ext/vendor/golang.org/x/net/internal/socket/sys_posix.go +168 -0
  317. data/ext/vendor/golang.org/x/net/internal/socket/sys_solaris.go +71 -0
  318. data/ext/vendor/golang.org/x/net/internal/socket/sys_solaris_amd64.s +11 -0
  319. data/ext/vendor/golang.org/x/net/internal/socket/sys_stub.go +64 -0
  320. data/ext/vendor/golang.org/x/net/internal/socket/sys_unix.go +33 -0
  321. data/ext/vendor/golang.org/x/net/internal/socket/sys_windows.go +70 -0
  322. data/ext/vendor/golang.org/x/net/internal/socket/zsys_darwin_386.go +59 -0
  323. data/ext/vendor/golang.org/x/net/internal/socket/zsys_darwin_amd64.go +61 -0
  324. data/ext/vendor/golang.org/x/net/internal/socket/zsys_darwin_arm.go +59 -0
  325. data/ext/vendor/golang.org/x/net/internal/socket/zsys_dragonfly_amd64.go +61 -0
  326. data/ext/vendor/golang.org/x/net/internal/socket/zsys_freebsd_386.go +59 -0
  327. data/ext/vendor/golang.org/x/net/internal/socket/zsys_freebsd_amd64.go +61 -0
  328. data/ext/vendor/golang.org/x/net/internal/socket/zsys_freebsd_arm.go +59 -0
  329. data/ext/vendor/golang.org/x/net/internal/socket/zsys_linux_386.go +63 -0
  330. data/ext/vendor/golang.org/x/net/internal/socket/zsys_linux_amd64.go +66 -0
  331. data/ext/vendor/golang.org/x/net/internal/socket/zsys_linux_arm.go +63 -0
  332. data/ext/vendor/golang.org/x/net/internal/socket/zsys_linux_arm64.go +66 -0
  333. data/ext/vendor/golang.org/x/net/internal/socket/zsys_linux_mips.go +63 -0
  334. data/ext/vendor/golang.org/x/net/internal/socket/zsys_linux_mips64.go +66 -0
  335. data/ext/vendor/golang.org/x/net/internal/socket/zsys_linux_mips64le.go +66 -0
  336. data/ext/vendor/golang.org/x/net/internal/socket/zsys_linux_mipsle.go +63 -0
  337. data/ext/vendor/golang.org/x/net/internal/socket/zsys_linux_ppc64.go +66 -0
  338. data/ext/vendor/golang.org/x/net/internal/socket/zsys_linux_ppc64le.go +66 -0
  339. data/ext/vendor/golang.org/x/net/internal/socket/zsys_linux_s390x.go +66 -0
  340. data/ext/vendor/golang.org/x/net/internal/socket/zsys_netbsd_386.go +65 -0
  341. data/ext/vendor/golang.org/x/net/internal/socket/zsys_netbsd_amd64.go +68 -0
  342. data/ext/vendor/golang.org/x/net/internal/socket/zsys_netbsd_arm.go +59 -0
  343. data/ext/vendor/golang.org/x/net/internal/socket/zsys_openbsd_386.go +59 -0
  344. data/ext/vendor/golang.org/x/net/internal/socket/zsys_openbsd_amd64.go +61 -0
  345. data/ext/vendor/golang.org/x/net/internal/socket/zsys_openbsd_arm.go +59 -0
  346. data/ext/vendor/golang.org/x/net/internal/socket/zsys_solaris_amd64.go +60 -0
  347. data/ext/vendor/golang.org/x/net/internal/timeseries/timeseries.go +525 -0
  348. data/ext/vendor/golang.org/x/net/internal/timeseries/timeseries_test.go +170 -0
  349. data/ext/vendor/golang.org/x/net/ipv4/batch.go +191 -0
  350. data/ext/vendor/golang.org/x/net/ipv4/bpf_test.go +93 -0
  351. data/ext/vendor/golang.org/x/net/ipv4/control.go +144 -0
  352. data/ext/vendor/golang.org/x/net/ipv4/control_bsd.go +40 -0
  353. data/ext/vendor/golang.org/x/net/ipv4/control_pktinfo.go +39 -0
  354. data/ext/vendor/golang.org/x/net/ipv4/control_stub.go +13 -0
  355. data/ext/vendor/golang.org/x/net/ipv4/control_test.go +21 -0
  356. data/ext/vendor/golang.org/x/net/ipv4/control_unix.go +73 -0
  357. data/ext/vendor/golang.org/x/net/ipv4/control_windows.go +16 -0
  358. data/ext/vendor/golang.org/x/net/ipv4/defs_darwin.go +77 -0
  359. data/ext/vendor/golang.org/x/net/ipv4/defs_dragonfly.go +38 -0
  360. data/ext/vendor/golang.org/x/net/ipv4/defs_freebsd.go +75 -0
  361. data/ext/vendor/golang.org/x/net/ipv4/defs_linux.go +122 -0
  362. data/ext/vendor/golang.org/x/net/ipv4/defs_netbsd.go +37 -0
  363. data/ext/vendor/golang.org/x/net/ipv4/defs_openbsd.go +37 -0
  364. data/ext/vendor/golang.org/x/net/ipv4/defs_solaris.go +84 -0
  365. data/ext/vendor/golang.org/x/net/ipv4/dgramopt.go +265 -0
  366. data/ext/vendor/golang.org/x/net/ipv4/doc.go +244 -0
  367. data/ext/vendor/golang.org/x/net/ipv4/endpoint.go +187 -0
  368. data/ext/vendor/golang.org/x/net/ipv4/example_test.go +224 -0
  369. data/ext/vendor/golang.org/x/net/ipv4/gen.go +199 -0
  370. data/ext/vendor/golang.org/x/net/ipv4/genericopt.go +57 -0
  371. data/ext/vendor/golang.org/x/net/ipv4/header.go +159 -0
  372. data/ext/vendor/golang.org/x/net/ipv4/header_test.go +228 -0
  373. data/ext/vendor/golang.org/x/net/ipv4/helper.go +63 -0
  374. data/ext/vendor/golang.org/x/net/ipv4/iana.go +34 -0
  375. data/ext/vendor/golang.org/x/net/ipv4/icmp.go +57 -0
  376. data/ext/vendor/golang.org/x/net/ipv4/icmp_linux.go +25 -0
  377. data/ext/vendor/golang.org/x/net/ipv4/icmp_stub.go +25 -0
  378. data/ext/vendor/golang.org/x/net/ipv4/icmp_test.go +95 -0
  379. data/ext/vendor/golang.org/x/net/ipv4/multicast_test.go +334 -0
  380. data/ext/vendor/golang.org/x/net/ipv4/multicastlistener_test.go +265 -0
  381. data/ext/vendor/golang.org/x/net/ipv4/multicastsockopt_test.go +195 -0
  382. data/ext/vendor/golang.org/x/net/ipv4/packet.go +69 -0
  383. data/ext/vendor/golang.org/x/net/ipv4/packet_go1_8.go +56 -0
  384. data/ext/vendor/golang.org/x/net/ipv4/packet_go1_9.go +67 -0
  385. data/ext/vendor/golang.org/x/net/ipv4/payload.go +23 -0
  386. data/ext/vendor/golang.org/x/net/ipv4/payload_cmsg.go +36 -0
  387. data/ext/vendor/golang.org/x/net/ipv4/payload_cmsg_go1_8.go +59 -0
  388. data/ext/vendor/golang.org/x/net/ipv4/payload_cmsg_go1_9.go +67 -0
  389. data/ext/vendor/golang.org/x/net/ipv4/payload_nocmsg.go +42 -0
  390. data/ext/vendor/golang.org/x/net/ipv4/readwrite_go1_8_test.go +248 -0
  391. data/ext/vendor/golang.org/x/net/ipv4/readwrite_go1_9_test.go +388 -0
  392. data/ext/vendor/golang.org/x/net/ipv4/readwrite_test.go +140 -0
  393. data/ext/vendor/golang.org/x/net/ipv4/sockopt.go +44 -0
  394. data/ext/vendor/golang.org/x/net/ipv4/sockopt_posix.go +71 -0
  395. data/ext/vendor/golang.org/x/net/ipv4/sockopt_stub.go +42 -0
  396. data/ext/vendor/golang.org/x/net/ipv4/sys_asmreq.go +119 -0
  397. data/ext/vendor/golang.org/x/net/ipv4/sys_asmreq_stub.go +25 -0
  398. data/ext/vendor/golang.org/x/net/ipv4/sys_asmreqn.go +42 -0
  399. data/ext/vendor/golang.org/x/net/ipv4/sys_asmreqn_stub.go +21 -0
  400. data/ext/vendor/golang.org/x/net/ipv4/sys_bpf.go +23 -0
  401. data/ext/vendor/golang.org/x/net/ipv4/sys_bpf_stub.go +16 -0
  402. data/ext/vendor/golang.org/x/net/ipv4/sys_bsd.go +37 -0
  403. data/ext/vendor/golang.org/x/net/ipv4/sys_darwin.go +93 -0
  404. data/ext/vendor/golang.org/x/net/ipv4/sys_dragonfly.go +35 -0
  405. data/ext/vendor/golang.org/x/net/ipv4/sys_freebsd.go +76 -0
  406. data/ext/vendor/golang.org/x/net/ipv4/sys_linux.go +59 -0
  407. data/ext/vendor/golang.org/x/net/ipv4/sys_solaris.go +57 -0
  408. data/ext/vendor/golang.org/x/net/ipv4/sys_ssmreq.go +54 -0
  409. data/ext/vendor/golang.org/x/net/ipv4/sys_ssmreq_stub.go +21 -0
  410. data/ext/vendor/golang.org/x/net/ipv4/sys_stub.go +13 -0
  411. data/ext/vendor/golang.org/x/net/ipv4/sys_windows.go +67 -0
  412. data/ext/vendor/golang.org/x/net/ipv4/unicast_test.go +247 -0
  413. data/ext/vendor/golang.org/x/net/ipv4/unicastsockopt_test.go +148 -0
  414. data/ext/vendor/golang.org/x/net/ipv4/zsys_darwin.go +99 -0
  415. data/ext/vendor/golang.org/x/net/ipv4/zsys_dragonfly.go +31 -0
  416. data/ext/vendor/golang.org/x/net/ipv4/zsys_freebsd_386.go +93 -0
  417. data/ext/vendor/golang.org/x/net/ipv4/zsys_freebsd_amd64.go +95 -0
  418. data/ext/vendor/golang.org/x/net/ipv4/zsys_freebsd_arm.go +95 -0
  419. data/ext/vendor/golang.org/x/net/ipv4/zsys_linux_386.go +148 -0
  420. data/ext/vendor/golang.org/x/net/ipv4/zsys_linux_amd64.go +150 -0
  421. data/ext/vendor/golang.org/x/net/ipv4/zsys_linux_arm.go +148 -0
  422. data/ext/vendor/golang.org/x/net/ipv4/zsys_linux_arm64.go +150 -0
  423. data/ext/vendor/golang.org/x/net/ipv4/zsys_linux_mips.go +148 -0
  424. data/ext/vendor/golang.org/x/net/ipv4/zsys_linux_mips64.go +150 -0
  425. data/ext/vendor/golang.org/x/net/ipv4/zsys_linux_mips64le.go +150 -0
  426. data/ext/vendor/golang.org/x/net/ipv4/zsys_linux_mipsle.go +148 -0
  427. data/ext/vendor/golang.org/x/net/ipv4/zsys_linux_ppc.go +148 -0
  428. data/ext/vendor/golang.org/x/net/ipv4/zsys_linux_ppc64.go +150 -0
  429. data/ext/vendor/golang.org/x/net/ipv4/zsys_linux_ppc64le.go +150 -0
  430. data/ext/vendor/golang.org/x/net/ipv4/zsys_linux_s390x.go +150 -0
  431. data/ext/vendor/golang.org/x/net/ipv4/zsys_netbsd.go +30 -0
  432. data/ext/vendor/golang.org/x/net/ipv4/zsys_openbsd.go +30 -0
  433. data/ext/vendor/golang.org/x/net/ipv4/zsys_solaris.go +100 -0
  434. data/ext/vendor/golang.org/x/net/ipv6/batch.go +119 -0
  435. data/ext/vendor/golang.org/x/net/ipv6/bpf_test.go +96 -0
  436. data/ext/vendor/golang.org/x/net/ipv6/control.go +187 -0
  437. data/ext/vendor/golang.org/x/net/ipv6/control_rfc2292_unix.go +48 -0
  438. data/ext/vendor/golang.org/x/net/ipv6/control_rfc3542_unix.go +94 -0
  439. data/ext/vendor/golang.org/x/net/ipv6/control_stub.go +13 -0
  440. data/ext/vendor/golang.org/x/net/ipv6/control_test.go +21 -0
  441. data/ext/vendor/golang.org/x/net/ipv6/control_unix.go +55 -0
  442. data/ext/vendor/golang.org/x/net/ipv6/control_windows.go +16 -0
  443. data/ext/vendor/golang.org/x/net/ipv6/defs_darwin.go +112 -0
  444. data/ext/vendor/golang.org/x/net/ipv6/defs_dragonfly.go +84 -0
  445. data/ext/vendor/golang.org/x/net/ipv6/defs_freebsd.go +105 -0
  446. data/ext/vendor/golang.org/x/net/ipv6/defs_linux.go +147 -0
  447. data/ext/vendor/golang.org/x/net/ipv6/defs_netbsd.go +80 -0
  448. data/ext/vendor/golang.org/x/net/ipv6/defs_openbsd.go +89 -0
  449. data/ext/vendor/golang.org/x/net/ipv6/defs_solaris.go +114 -0
  450. data/ext/vendor/golang.org/x/net/ipv6/dgramopt.go +302 -0
  451. data/ext/vendor/golang.org/x/net/ipv6/doc.go +243 -0
  452. data/ext/vendor/golang.org/x/net/ipv6/endpoint.go +128 -0
  453. data/ext/vendor/golang.org/x/net/ipv6/example_test.go +216 -0
  454. data/ext/vendor/golang.org/x/net/ipv6/gen.go +199 -0
  455. data/ext/vendor/golang.org/x/net/ipv6/genericopt.go +58 -0
  456. data/ext/vendor/golang.org/x/net/ipv6/header.go +55 -0
  457. data/ext/vendor/golang.org/x/net/ipv6/header_test.go +55 -0
  458. data/ext/vendor/golang.org/x/net/ipv6/helper.go +57 -0
  459. data/ext/vendor/golang.org/x/net/ipv6/iana.go +82 -0
  460. data/ext/vendor/golang.org/x/net/ipv6/icmp.go +60 -0
  461. data/ext/vendor/golang.org/x/net/ipv6/icmp_bsd.go +29 -0
  462. data/ext/vendor/golang.org/x/net/ipv6/icmp_linux.go +27 -0
  463. data/ext/vendor/golang.org/x/net/ipv6/icmp_solaris.go +27 -0
  464. data/ext/vendor/golang.org/x/net/ipv6/icmp_stub.go +23 -0
  465. data/ext/vendor/golang.org/x/net/ipv6/icmp_test.go +96 -0
  466. data/ext/vendor/golang.org/x/net/ipv6/icmp_windows.go +22 -0
  467. data/ext/vendor/golang.org/x/net/ipv6/mocktransponder_test.go +32 -0
  468. data/ext/vendor/golang.org/x/net/ipv6/multicast_test.go +264 -0
  469. data/ext/vendor/golang.org/x/net/ipv6/multicastlistener_test.go +261 -0
  470. data/ext/vendor/golang.org/x/net/ipv6/multicastsockopt_test.go +157 -0
  471. data/ext/vendor/golang.org/x/net/ipv6/payload.go +23 -0
  472. data/ext/vendor/golang.org/x/net/ipv6/payload_cmsg.go +35 -0
  473. data/ext/vendor/golang.org/x/net/ipv6/payload_cmsg_go1_8.go +55 -0
  474. data/ext/vendor/golang.org/x/net/ipv6/payload_cmsg_go1_9.go +57 -0
  475. data/ext/vendor/golang.org/x/net/ipv6/payload_nocmsg.go +41 -0
  476. data/ext/vendor/golang.org/x/net/ipv6/readwrite_go1_8_test.go +242 -0
  477. data/ext/vendor/golang.org/x/net/ipv6/readwrite_go1_9_test.go +373 -0
  478. data/ext/vendor/golang.org/x/net/ipv6/readwrite_test.go +148 -0
  479. data/ext/vendor/golang.org/x/net/ipv6/sockopt.go +43 -0
  480. data/ext/vendor/golang.org/x/net/ipv6/sockopt_posix.go +87 -0
  481. data/ext/vendor/golang.org/x/net/ipv6/sockopt_stub.go +46 -0
  482. data/ext/vendor/golang.org/x/net/ipv6/sockopt_test.go +133 -0
  483. data/ext/vendor/golang.org/x/net/ipv6/sys_asmreq.go +24 -0
  484. data/ext/vendor/golang.org/x/net/ipv6/sys_asmreq_stub.go +17 -0
  485. data/ext/vendor/golang.org/x/net/ipv6/sys_bpf.go +23 -0
  486. data/ext/vendor/golang.org/x/net/ipv6/sys_bpf_stub.go +16 -0
  487. data/ext/vendor/golang.org/x/net/ipv6/sys_bsd.go +57 -0
  488. data/ext/vendor/golang.org/x/net/ipv6/sys_darwin.go +106 -0
  489. data/ext/vendor/golang.org/x/net/ipv6/sys_freebsd.go +92 -0
  490. data/ext/vendor/golang.org/x/net/ipv6/sys_linux.go +74 -0
  491. data/ext/vendor/golang.org/x/net/ipv6/sys_solaris.go +74 -0
  492. data/ext/vendor/golang.org/x/net/ipv6/sys_ssmreq.go +54 -0
  493. data/ext/vendor/golang.org/x/net/ipv6/sys_ssmreq_stub.go +21 -0
  494. data/ext/vendor/golang.org/x/net/ipv6/sys_stub.go +13 -0
  495. data/ext/vendor/golang.org/x/net/ipv6/sys_windows.go +75 -0
  496. data/ext/vendor/golang.org/x/net/ipv6/unicast_test.go +184 -0
  497. data/ext/vendor/golang.org/x/net/ipv6/unicastsockopt_test.go +120 -0
  498. data/ext/vendor/golang.org/x/net/ipv6/zsys_darwin.go +131 -0
  499. data/ext/vendor/golang.org/x/net/ipv6/zsys_dragonfly.go +88 -0
  500. data/ext/vendor/golang.org/x/net/ipv6/zsys_freebsd_386.go +122 -0
  501. data/ext/vendor/golang.org/x/net/ipv6/zsys_freebsd_amd64.go +124 -0
  502. data/ext/vendor/golang.org/x/net/ipv6/zsys_freebsd_arm.go +124 -0
  503. data/ext/vendor/golang.org/x/net/ipv6/zsys_linux_386.go +170 -0
  504. data/ext/vendor/golang.org/x/net/ipv6/zsys_linux_amd64.go +172 -0
  505. data/ext/vendor/golang.org/x/net/ipv6/zsys_linux_arm.go +170 -0
  506. data/ext/vendor/golang.org/x/net/ipv6/zsys_linux_arm64.go +172 -0
  507. data/ext/vendor/golang.org/x/net/ipv6/zsys_linux_mips.go +170 -0
  508. data/ext/vendor/golang.org/x/net/ipv6/zsys_linux_mips64.go +172 -0
  509. data/ext/vendor/golang.org/x/net/ipv6/zsys_linux_mips64le.go +172 -0
  510. data/ext/vendor/golang.org/x/net/ipv6/zsys_linux_mipsle.go +170 -0
  511. data/ext/vendor/golang.org/x/net/ipv6/zsys_linux_ppc.go +170 -0
  512. data/ext/vendor/golang.org/x/net/ipv6/zsys_linux_ppc64.go +172 -0
  513. data/ext/vendor/golang.org/x/net/ipv6/zsys_linux_ppc64le.go +172 -0
  514. data/ext/vendor/golang.org/x/net/ipv6/zsys_linux_s390x.go +172 -0
  515. data/ext/vendor/golang.org/x/net/ipv6/zsys_netbsd.go +84 -0
  516. data/ext/vendor/golang.org/x/net/ipv6/zsys_openbsd.go +93 -0
  517. data/ext/vendor/golang.org/x/net/ipv6/zsys_solaris.go +131 -0
  518. data/ext/vendor/golang.org/x/net/lex/httplex/httplex.go +351 -0
  519. data/ext/vendor/golang.org/x/net/lex/httplex/httplex_test.go +119 -0
  520. data/ext/vendor/golang.org/x/net/lif/address.go +105 -0
  521. data/ext/vendor/golang.org/x/net/lif/address_test.go +123 -0
  522. data/ext/vendor/golang.org/x/net/lif/binary.go +115 -0
  523. data/ext/vendor/golang.org/x/net/lif/defs_solaris.go +90 -0
  524. data/ext/vendor/golang.org/x/net/lif/lif.go +43 -0
  525. data/ext/vendor/golang.org/x/net/lif/link.go +126 -0
  526. data/ext/vendor/golang.org/x/net/lif/link_test.go +63 -0
  527. data/ext/vendor/golang.org/x/net/lif/sys.go +21 -0
  528. data/ext/vendor/golang.org/x/net/lif/sys_solaris_amd64.s +8 -0
  529. data/ext/vendor/golang.org/x/net/lif/syscall.go +28 -0
  530. data/ext/vendor/golang.org/x/net/lif/zsys_solaris_amd64.go +103 -0
  531. data/ext/vendor/golang.org/x/net/nettest/conntest.go +456 -0
  532. data/ext/vendor/golang.org/x/net/nettest/conntest_go16.go +24 -0
  533. data/ext/vendor/golang.org/x/net/nettest/conntest_go17.go +24 -0
  534. data/ext/vendor/golang.org/x/net/nettest/conntest_test.go +76 -0
  535. data/ext/vendor/golang.org/x/net/netutil/listen.go +48 -0
  536. data/ext/vendor/golang.org/x/net/netutil/listen_test.go +101 -0
  537. data/ext/vendor/golang.org/x/net/proxy/direct.go +18 -0
  538. data/ext/vendor/golang.org/x/net/proxy/per_host.go +140 -0
  539. data/ext/vendor/golang.org/x/net/proxy/per_host_test.go +55 -0
  540. data/ext/vendor/golang.org/x/net/proxy/proxy.go +134 -0
  541. data/ext/vendor/golang.org/x/net/proxy/proxy_test.go +215 -0
  542. data/ext/vendor/golang.org/x/net/proxy/socks5.go +214 -0
  543. data/ext/vendor/golang.org/x/net/publicsuffix/gen.go +713 -0
  544. data/ext/vendor/golang.org/x/net/publicsuffix/list.go +135 -0
  545. data/ext/vendor/golang.org/x/net/publicsuffix/list_test.go +416 -0
  546. data/ext/vendor/golang.org/x/net/publicsuffix/table.go +9419 -0
  547. data/ext/vendor/golang.org/x/net/publicsuffix/table_test.go +16756 -0
  548. data/ext/vendor/golang.org/x/net/route/address.go +425 -0
  549. data/ext/vendor/golang.org/x/net/route/address_darwin_test.go +63 -0
  550. data/ext/vendor/golang.org/x/net/route/address_test.go +103 -0
  551. data/ext/vendor/golang.org/x/net/route/binary.go +90 -0
  552. data/ext/vendor/golang.org/x/net/route/defs_darwin.go +114 -0
  553. data/ext/vendor/golang.org/x/net/route/defs_dragonfly.go +113 -0
  554. data/ext/vendor/golang.org/x/net/route/defs_freebsd.go +337 -0
  555. data/ext/vendor/golang.org/x/net/route/defs_netbsd.go +112 -0
  556. data/ext/vendor/golang.org/x/net/route/defs_openbsd.go +116 -0
  557. data/ext/vendor/golang.org/x/net/route/interface.go +64 -0
  558. data/ext/vendor/golang.org/x/net/route/interface_announce.go +32 -0
  559. data/ext/vendor/golang.org/x/net/route/interface_classic.go +66 -0
  560. data/ext/vendor/golang.org/x/net/route/interface_freebsd.go +78 -0
  561. data/ext/vendor/golang.org/x/net/route/interface_multicast.go +30 -0
  562. data/ext/vendor/golang.org/x/net/route/interface_openbsd.go +90 -0
  563. data/ext/vendor/golang.org/x/net/route/message.go +72 -0
  564. data/ext/vendor/golang.org/x/net/route/message_darwin_test.go +34 -0
  565. data/ext/vendor/golang.org/x/net/route/message_freebsd_test.go +92 -0
  566. data/ext/vendor/golang.org/x/net/route/message_test.go +239 -0
  567. data/ext/vendor/golang.org/x/net/route/route.go +123 -0
  568. data/ext/vendor/golang.org/x/net/route/route_classic.go +67 -0
  569. data/ext/vendor/golang.org/x/net/route/route_openbsd.go +65 -0
  570. data/ext/vendor/golang.org/x/net/route/route_test.go +390 -0
  571. data/ext/vendor/golang.org/x/net/route/sys.go +39 -0
  572. data/ext/vendor/golang.org/x/net/route/sys_darwin.go +87 -0
  573. data/ext/vendor/golang.org/x/net/route/sys_dragonfly.go +76 -0
  574. data/ext/vendor/golang.org/x/net/route/sys_freebsd.go +155 -0
  575. data/ext/vendor/golang.org/x/net/route/sys_netbsd.go +71 -0
  576. data/ext/vendor/golang.org/x/net/route/sys_openbsd.go +80 -0
  577. data/ext/vendor/golang.org/x/net/route/syscall.go +28 -0
  578. data/ext/vendor/golang.org/x/net/route/zsys_darwin.go +99 -0
  579. data/ext/vendor/golang.org/x/net/route/zsys_dragonfly.go +98 -0
  580. data/ext/vendor/golang.org/x/net/route/zsys_freebsd_386.go +126 -0
  581. data/ext/vendor/golang.org/x/net/route/zsys_freebsd_amd64.go +123 -0
  582. data/ext/vendor/golang.org/x/net/route/zsys_freebsd_arm.go +123 -0
  583. data/ext/vendor/golang.org/x/net/route/zsys_netbsd.go +97 -0
  584. data/ext/vendor/golang.org/x/net/route/zsys_openbsd.go +101 -0
  585. data/ext/vendor/golang.org/x/net/trace/events.go +532 -0
  586. data/ext/vendor/golang.org/x/net/trace/histogram.go +365 -0
  587. data/ext/vendor/golang.org/x/net/trace/histogram_test.go +325 -0
  588. data/ext/vendor/golang.org/x/net/trace/trace.go +1082 -0
  589. data/ext/vendor/golang.org/x/net/trace/trace_go16.go +21 -0
  590. data/ext/vendor/golang.org/x/net/trace/trace_go17.go +21 -0
  591. data/ext/vendor/golang.org/x/net/trace/trace_test.go +178 -0
  592. data/ext/vendor/golang.org/x/net/webdav/file.go +796 -0
  593. data/ext/vendor/golang.org/x/net/webdav/file_go1.6.go +17 -0
  594. data/ext/vendor/golang.org/x/net/webdav/file_go1.7.go +16 -0
  595. data/ext/vendor/golang.org/x/net/webdav/file_test.go +1184 -0
  596. data/ext/vendor/golang.org/x/net/webdav/if.go +173 -0
  597. data/ext/vendor/golang.org/x/net/webdav/if_test.go +322 -0
  598. data/ext/vendor/golang.org/x/net/webdav/internal/xml/README +11 -0
  599. data/ext/vendor/golang.org/x/net/webdav/internal/xml/atom_test.go +56 -0
  600. data/ext/vendor/golang.org/x/net/webdav/internal/xml/example_test.go +151 -0
  601. data/ext/vendor/golang.org/x/net/webdav/internal/xml/marshal.go +1223 -0
  602. data/ext/vendor/golang.org/x/net/webdav/internal/xml/marshal_test.go +1939 -0
  603. data/ext/vendor/golang.org/x/net/webdav/internal/xml/read.go +692 -0
  604. data/ext/vendor/golang.org/x/net/webdav/internal/xml/read_test.go +744 -0
  605. data/ext/vendor/golang.org/x/net/webdav/internal/xml/typeinfo.go +371 -0
  606. data/ext/vendor/golang.org/x/net/webdav/internal/xml/xml.go +1998 -0
  607. data/ext/vendor/golang.org/x/net/webdav/internal/xml/xml_test.go +752 -0
  608. data/ext/vendor/golang.org/x/net/webdav/litmus_test_server.go +94 -0
  609. data/ext/vendor/golang.org/x/net/webdav/lock.go +445 -0
  610. data/ext/vendor/golang.org/x/net/webdav/lock_test.go +731 -0
  611. data/ext/vendor/golang.org/x/net/webdav/prop.go +418 -0
  612. data/ext/vendor/golang.org/x/net/webdav/prop_test.go +613 -0
  613. data/ext/vendor/golang.org/x/net/webdav/webdav.go +702 -0
  614. data/ext/vendor/golang.org/x/net/webdav/webdav_test.go +344 -0
  615. data/ext/vendor/golang.org/x/net/webdav/xml.go +519 -0
  616. data/ext/vendor/golang.org/x/net/webdav/xml_test.go +906 -0
  617. data/ext/vendor/golang.org/x/net/websocket/client.go +106 -0
  618. data/ext/vendor/golang.org/x/net/websocket/dial.go +24 -0
  619. data/ext/vendor/golang.org/x/net/websocket/dial_test.go +43 -0
  620. data/ext/vendor/golang.org/x/net/websocket/exampledial_test.go +31 -0
  621. data/ext/vendor/golang.org/x/net/websocket/examplehandler_test.go +26 -0
  622. data/ext/vendor/golang.org/x/net/websocket/hybi.go +583 -0
  623. data/ext/vendor/golang.org/x/net/websocket/hybi_test.go +608 -0
  624. data/ext/vendor/golang.org/x/net/websocket/server.go +113 -0
  625. data/ext/vendor/golang.org/x/net/websocket/websocket.go +448 -0
  626. data/ext/vendor/golang.org/x/net/websocket/websocket_test.go +665 -0
  627. data/ext/vendor/golang.org/x/net/xsrftoken/xsrf.go +94 -0
  628. data/ext/vendor/golang.org/x/net/xsrftoken/xsrf_test.go +83 -0
  629. data/ext/vendor/golang.org/x/text/AUTHORS +3 -0
  630. data/ext/vendor/golang.org/x/text/CONTRIBUTING.md +31 -0
  631. data/ext/vendor/golang.org/x/text/CONTRIBUTORS +3 -0
  632. data/ext/vendor/golang.org/x/text/LICENSE +27 -0
  633. data/ext/vendor/golang.org/x/text/PATENTS +22 -0
  634. data/ext/vendor/golang.org/x/text/README.md +91 -0
  635. data/ext/vendor/golang.org/x/text/cases/cases.go +162 -0
  636. data/ext/vendor/golang.org/x/text/cases/context.go +376 -0
  637. data/ext/vendor/golang.org/x/text/cases/context_test.go +438 -0
  638. data/ext/vendor/golang.org/x/text/cases/example_test.go +53 -0
  639. data/ext/vendor/golang.org/x/text/cases/fold.go +34 -0
  640. data/ext/vendor/golang.org/x/text/cases/fold_test.go +51 -0
  641. data/ext/vendor/golang.org/x/text/cases/gen.go +839 -0
  642. data/ext/vendor/golang.org/x/text/cases/gen_trieval.go +219 -0
  643. data/ext/vendor/golang.org/x/text/cases/icu.go +61 -0
  644. data/ext/vendor/golang.org/x/text/cases/icu_test.go +210 -0
  645. data/ext/vendor/golang.org/x/text/cases/info.go +82 -0
  646. data/ext/vendor/golang.org/x/text/cases/map.go +816 -0
  647. data/ext/vendor/golang.org/x/text/cases/map_test.go +950 -0
  648. data/ext/vendor/golang.org/x/text/cases/tables.go +2251 -0
  649. data/ext/vendor/golang.org/x/text/cases/tables_test.go +1158 -0
  650. data/ext/vendor/golang.org/x/text/cases/trieval.go +215 -0
  651. data/ext/vendor/golang.org/x/text/cmd/gotext/doc.go +35 -0
  652. data/ext/vendor/golang.org/x/text/cmd/gotext/extract.go +195 -0
  653. data/ext/vendor/golang.org/x/text/cmd/gotext/main.go +356 -0
  654. data/ext/vendor/golang.org/x/text/cmd/gotext/message.go +127 -0
  655. data/ext/vendor/golang.org/x/text/codereview.cfg +1 -0
  656. data/ext/vendor/golang.org/x/text/collate/build/builder.go +702 -0
  657. data/ext/vendor/golang.org/x/text/collate/build/builder_test.go +290 -0
  658. data/ext/vendor/golang.org/x/text/collate/build/colelem.go +294 -0
  659. data/ext/vendor/golang.org/x/text/collate/build/colelem_test.go +215 -0
  660. data/ext/vendor/golang.org/x/text/collate/build/contract.go +309 -0
  661. data/ext/vendor/golang.org/x/text/collate/build/contract_test.go +266 -0
  662. data/ext/vendor/golang.org/x/text/collate/build/order.go +393 -0
  663. data/ext/vendor/golang.org/x/text/collate/build/order_test.go +229 -0
  664. data/ext/vendor/golang.org/x/text/collate/build/table.go +81 -0
  665. data/ext/vendor/golang.org/x/text/collate/build/trie.go +290 -0
  666. data/ext/vendor/golang.org/x/text/collate/build/trie_test.go +107 -0
  667. data/ext/vendor/golang.org/x/text/collate/collate.go +403 -0
  668. data/ext/vendor/golang.org/x/text/collate/collate_test.go +482 -0
  669. data/ext/vendor/golang.org/x/text/collate/export_test.go +51 -0
  670. data/ext/vendor/golang.org/x/text/collate/index.go +32 -0
  671. data/ext/vendor/golang.org/x/text/collate/maketables.go +553 -0
  672. data/ext/vendor/golang.org/x/text/collate/option.go +239 -0
  673. data/ext/vendor/golang.org/x/text/collate/option_test.go +209 -0
  674. data/ext/vendor/golang.org/x/text/collate/reg_test.go +230 -0
  675. data/ext/vendor/golang.org/x/text/collate/sort.go +81 -0
  676. data/ext/vendor/golang.org/x/text/collate/sort_test.go +55 -0
  677. data/ext/vendor/golang.org/x/text/collate/table_test.go +291 -0
  678. data/ext/vendor/golang.org/x/text/collate/tables.go +73789 -0
  679. data/ext/vendor/golang.org/x/text/collate/tools/colcmp/Makefile +7 -0
  680. data/ext/vendor/golang.org/x/text/collate/tools/colcmp/chars.go +1156 -0
  681. data/ext/vendor/golang.org/x/text/collate/tools/colcmp/col.go +97 -0
  682. data/ext/vendor/golang.org/x/text/collate/tools/colcmp/colcmp.go +529 -0
  683. data/ext/vendor/golang.org/x/text/collate/tools/colcmp/darwin.go +111 -0
  684. data/ext/vendor/golang.org/x/text/collate/tools/colcmp/gen.go +183 -0
  685. data/ext/vendor/golang.org/x/text/collate/tools/colcmp/icu.go +209 -0
  686. data/ext/vendor/golang.org/x/text/currency/common.go +66 -0
  687. data/ext/vendor/golang.org/x/text/currency/currency.go +185 -0
  688. data/ext/vendor/golang.org/x/text/currency/currency_test.go +171 -0
  689. data/ext/vendor/golang.org/x/text/currency/example_test.go +27 -0
  690. data/ext/vendor/golang.org/x/text/currency/format.go +215 -0
  691. data/ext/vendor/golang.org/x/text/currency/format_test.go +70 -0
  692. data/ext/vendor/golang.org/x/text/currency/gen.go +400 -0
  693. data/ext/vendor/golang.org/x/text/currency/gen_common.go +70 -0
  694. data/ext/vendor/golang.org/x/text/currency/query.go +152 -0
  695. data/ext/vendor/golang.org/x/text/currency/query_test.go +107 -0
  696. data/ext/vendor/golang.org/x/text/currency/tables.go +2574 -0
  697. data/ext/vendor/golang.org/x/text/currency/tables_test.go +93 -0
  698. data/ext/vendor/golang.org/x/text/doc.go +13 -0
  699. data/ext/vendor/golang.org/x/text/encoding/charmap/charmap.go +249 -0
  700. data/ext/vendor/golang.org/x/text/encoding/charmap/charmap_test.go +258 -0
  701. data/ext/vendor/golang.org/x/text/encoding/charmap/maketables.go +556 -0
  702. data/ext/vendor/golang.org/x/text/encoding/charmap/tables.go +7410 -0
  703. data/ext/vendor/golang.org/x/text/encoding/encoding.go +335 -0
  704. data/ext/vendor/golang.org/x/text/encoding/encoding_test.go +290 -0
  705. data/ext/vendor/golang.org/x/text/encoding/example_test.go +42 -0
  706. data/ext/vendor/golang.org/x/text/encoding/htmlindex/gen.go +173 -0
  707. data/ext/vendor/golang.org/x/text/encoding/htmlindex/htmlindex.go +86 -0
  708. data/ext/vendor/golang.org/x/text/encoding/htmlindex/htmlindex_test.go +144 -0
  709. data/ext/vendor/golang.org/x/text/encoding/htmlindex/map.go +105 -0
  710. data/ext/vendor/golang.org/x/text/encoding/htmlindex/tables.go +352 -0
  711. data/ext/vendor/golang.org/x/text/encoding/ianaindex/example_test.go +27 -0
  712. data/ext/vendor/golang.org/x/text/encoding/ianaindex/gen.go +192 -0
  713. data/ext/vendor/golang.org/x/text/encoding/ianaindex/ianaindex.go +209 -0
  714. data/ext/vendor/golang.org/x/text/encoding/ianaindex/ianaindex_test.go +192 -0
  715. data/ext/vendor/golang.org/x/text/encoding/ianaindex/tables.go +2348 -0
  716. data/ext/vendor/golang.org/x/text/encoding/internal/enctest/enctest.go +180 -0
  717. data/ext/vendor/golang.org/x/text/encoding/internal/identifier/gen.go +137 -0
  718. data/ext/vendor/golang.org/x/text/encoding/internal/identifier/identifier.go +81 -0
  719. data/ext/vendor/golang.org/x/text/encoding/internal/identifier/mib.go +1621 -0
  720. data/ext/vendor/golang.org/x/text/encoding/internal/internal.go +75 -0
  721. data/ext/vendor/golang.org/x/text/encoding/japanese/all.go +12 -0
  722. data/ext/vendor/golang.org/x/text/encoding/japanese/all_test.go +248 -0
  723. data/ext/vendor/golang.org/x/text/encoding/japanese/eucjp.go +225 -0
  724. data/ext/vendor/golang.org/x/text/encoding/japanese/iso2022jp.go +299 -0
  725. data/ext/vendor/golang.org/x/text/encoding/japanese/maketables.go +161 -0
  726. data/ext/vendor/golang.org/x/text/encoding/japanese/shiftjis.go +189 -0
  727. data/ext/vendor/golang.org/x/text/encoding/japanese/tables.go +26971 -0
  728. data/ext/vendor/golang.org/x/text/encoding/korean/all_test.go +94 -0
  729. data/ext/vendor/golang.org/x/text/encoding/korean/euckr.go +177 -0
  730. data/ext/vendor/golang.org/x/text/encoding/korean/maketables.go +143 -0
  731. data/ext/vendor/golang.org/x/text/encoding/korean/tables.go +34152 -0
  732. data/ext/vendor/golang.org/x/text/encoding/simplifiedchinese/all.go +12 -0
  733. data/ext/vendor/golang.org/x/text/encoding/simplifiedchinese/all_test.go +143 -0
  734. data/ext/vendor/golang.org/x/text/encoding/simplifiedchinese/gbk.go +269 -0
  735. data/ext/vendor/golang.org/x/text/encoding/simplifiedchinese/hzgb2312.go +245 -0
  736. data/ext/vendor/golang.org/x/text/encoding/simplifiedchinese/maketables.go +161 -0
  737. data/ext/vendor/golang.org/x/text/encoding/simplifiedchinese/tables.go +43999 -0
  738. data/ext/vendor/golang.org/x/text/encoding/testdata/candide-gb18030.txt +510 -0
  739. data/ext/vendor/golang.org/x/text/encoding/testdata/candide-utf-16le.txt +0 -0
  740. data/ext/vendor/golang.org/x/text/encoding/testdata/candide-utf-32be.txt +0 -0
  741. data/ext/vendor/golang.org/x/text/encoding/testdata/candide-utf-8.txt +510 -0
  742. data/ext/vendor/golang.org/x/text/encoding/testdata/candide-windows-1252.txt +510 -0
  743. data/ext/vendor/golang.org/x/text/encoding/testdata/rashomon-euc-jp.txt +178 -0
  744. data/ext/vendor/golang.org/x/text/encoding/testdata/rashomon-iso-2022-jp.txt +178 -0
  745. data/ext/vendor/golang.org/x/text/encoding/testdata/rashomon-shift-jis.txt +178 -0
  746. data/ext/vendor/golang.org/x/text/encoding/testdata/rashomon-utf-8.txt +178 -0
  747. data/ext/vendor/golang.org/x/text/encoding/testdata/sunzi-bingfa-gb-levels-1-and-2-hz-gb2312.txt +107 -0
  748. data/ext/vendor/golang.org/x/text/encoding/testdata/sunzi-bingfa-gb-levels-1-and-2-utf-8.txt +107 -0
  749. data/ext/vendor/golang.org/x/text/encoding/testdata/sunzi-bingfa-simplified-gbk.txt +107 -0
  750. data/ext/vendor/golang.org/x/text/encoding/testdata/sunzi-bingfa-simplified-utf-8.txt +107 -0
  751. data/ext/vendor/golang.org/x/text/encoding/testdata/sunzi-bingfa-traditional-big5.txt +106 -0
  752. data/ext/vendor/golang.org/x/text/encoding/testdata/sunzi-bingfa-traditional-utf-8.txt +106 -0
  753. data/ext/vendor/golang.org/x/text/encoding/testdata/unsu-joh-eun-nal-euc-kr.txt +175 -0
  754. data/ext/vendor/golang.org/x/text/encoding/testdata/unsu-joh-eun-nal-utf-8.txt +175 -0
  755. data/ext/vendor/golang.org/x/text/encoding/traditionalchinese/all_test.go +114 -0
  756. data/ext/vendor/golang.org/x/text/encoding/traditionalchinese/big5.go +199 -0
  757. data/ext/vendor/golang.org/x/text/encoding/traditionalchinese/maketables.go +140 -0
  758. data/ext/vendor/golang.org/x/text/encoding/traditionalchinese/tables.go +37142 -0
  759. data/ext/vendor/golang.org/x/text/encoding/unicode/override.go +82 -0
  760. data/ext/vendor/golang.org/x/text/encoding/unicode/unicode.go +434 -0
  761. data/ext/vendor/golang.org/x/text/encoding/unicode/unicode_test.go +499 -0
  762. data/ext/vendor/golang.org/x/text/encoding/unicode/utf32/utf32.go +296 -0
  763. data/ext/vendor/golang.org/x/text/encoding/unicode/utf32/utf32_test.go +248 -0
  764. data/ext/vendor/golang.org/x/text/feature/plural/common.go +70 -0
  765. data/ext/vendor/golang.org/x/text/feature/plural/data_test.go +190 -0
  766. data/ext/vendor/golang.org/x/text/feature/plural/example_test.go +46 -0
  767. data/ext/vendor/golang.org/x/text/feature/plural/gen.go +513 -0
  768. data/ext/vendor/golang.org/x/text/feature/plural/gen_common.go +74 -0
  769. data/ext/vendor/golang.org/x/text/feature/plural/message.go +244 -0
  770. data/ext/vendor/golang.org/x/text/feature/plural/message_test.go +197 -0
  771. data/ext/vendor/golang.org/x/text/feature/plural/plural.go +258 -0
  772. data/ext/vendor/golang.org/x/text/feature/plural/plural_test.go +216 -0
  773. data/ext/vendor/golang.org/x/text/feature/plural/tables.go +540 -0
  774. data/ext/vendor/golang.org/x/text/gen.go +318 -0
  775. data/ext/vendor/golang.org/x/text/internal/catmsg/catmsg.go +366 -0
  776. data/ext/vendor/golang.org/x/text/internal/catmsg/catmsg_test.go +316 -0
  777. data/ext/vendor/golang.org/x/text/internal/catmsg/codec.go +407 -0
  778. data/ext/vendor/golang.org/x/text/internal/catmsg/varint.go +62 -0
  779. data/ext/vendor/golang.org/x/text/internal/catmsg/varint_test.go +123 -0
  780. data/ext/vendor/golang.org/x/text/internal/colltab/collate_test.go +121 -0
  781. data/ext/vendor/golang.org/x/text/internal/colltab/collelem.go +371 -0
  782. data/ext/vendor/golang.org/x/text/internal/colltab/collelem_test.go +183 -0
  783. data/ext/vendor/golang.org/x/text/internal/colltab/colltab.go +105 -0
  784. data/ext/vendor/golang.org/x/text/internal/colltab/colltab_test.go +64 -0
  785. data/ext/vendor/golang.org/x/text/internal/colltab/contract.go +145 -0
  786. data/ext/vendor/golang.org/x/text/internal/colltab/contract_test.go +131 -0
  787. data/ext/vendor/golang.org/x/text/internal/colltab/iter.go +178 -0
  788. data/ext/vendor/golang.org/x/text/internal/colltab/iter_test.go +63 -0
  789. data/ext/vendor/golang.org/x/text/internal/colltab/numeric.go +236 -0
  790. data/ext/vendor/golang.org/x/text/internal/colltab/numeric_test.go +159 -0
  791. data/ext/vendor/golang.org/x/text/internal/colltab/table.go +275 -0
  792. data/ext/vendor/golang.org/x/text/internal/colltab/trie.go +159 -0
  793. data/ext/vendor/golang.org/x/text/internal/colltab/trie_test.go +106 -0
  794. data/ext/vendor/golang.org/x/text/internal/colltab/weighter.go +31 -0
  795. data/ext/vendor/golang.org/x/text/internal/colltab/weighter_test.go +42 -0
  796. data/ext/vendor/golang.org/x/text/internal/export/README +4 -0
  797. data/ext/vendor/golang.org/x/text/internal/export/idna/common_test.go +55 -0
  798. data/ext/vendor/golang.org/x/text/internal/export/idna/example_test.go +68 -0
  799. data/ext/vendor/golang.org/x/text/internal/export/idna/gen.go +276 -0
  800. data/ext/vendor/golang.org/x/text/internal/export/idna/gen_common.go +59 -0
  801. data/ext/vendor/golang.org/x/text/internal/export/idna/gen_test.go +91 -0
  802. data/ext/vendor/golang.org/x/text/internal/export/idna/gen_trieval.go +123 -0
  803. data/ext/vendor/golang.org/x/text/internal/export/idna/idna.go +717 -0
  804. data/ext/vendor/golang.org/x/text/internal/export/idna/idna_test.go +308 -0
  805. data/ext/vendor/golang.org/x/text/internal/export/idna/punycode.go +201 -0
  806. data/ext/vendor/golang.org/x/text/internal/export/idna/punycode_test.go +198 -0
  807. data/ext/vendor/golang.org/x/text/internal/export/idna/tables.go +4557 -0
  808. data/ext/vendor/golang.org/x/text/internal/export/idna/trie.go +70 -0
  809. data/ext/vendor/golang.org/x/text/internal/export/idna/trieval.go +119 -0
  810. data/ext/vendor/golang.org/x/text/internal/format/format.go +41 -0
  811. data/ext/vendor/golang.org/x/text/internal/gen.go +52 -0
  812. data/ext/vendor/golang.org/x/text/internal/gen/code.go +351 -0
  813. data/ext/vendor/golang.org/x/text/internal/gen/gen.go +281 -0
  814. data/ext/vendor/golang.org/x/text/internal/gen_test.go +38 -0
  815. data/ext/vendor/golang.org/x/text/internal/internal.go +51 -0
  816. data/ext/vendor/golang.org/x/text/internal/internal_test.go +38 -0
  817. data/ext/vendor/golang.org/x/text/internal/match.go +67 -0
  818. data/ext/vendor/golang.org/x/text/internal/match_test.go +56 -0
  819. data/ext/vendor/golang.org/x/text/internal/number/common.go +40 -0
  820. data/ext/vendor/golang.org/x/text/internal/number/decimal.go +498 -0
  821. data/ext/vendor/golang.org/x/text/internal/number/decimal_test.go +329 -0
  822. data/ext/vendor/golang.org/x/text/internal/number/format.go +540 -0
  823. data/ext/vendor/golang.org/x/text/internal/number/format_test.go +522 -0
  824. data/ext/vendor/golang.org/x/text/internal/number/gen.go +458 -0
  825. data/ext/vendor/golang.org/x/text/internal/number/gen_common.go +44 -0
  826. data/ext/vendor/golang.org/x/text/internal/number/number.go +154 -0
  827. data/ext/vendor/golang.org/x/text/internal/number/number_test.go +100 -0
  828. data/ext/vendor/golang.org/x/text/internal/number/pattern.go +485 -0
  829. data/ext/vendor/golang.org/x/text/internal/number/pattern_test.go +438 -0
  830. data/ext/vendor/golang.org/x/text/internal/number/roundingmode_string.go +16 -0
  831. data/ext/vendor/golang.org/x/text/internal/number/tables.go +1154 -0
  832. data/ext/vendor/golang.org/x/text/internal/number/tables_test.go +125 -0
  833. data/ext/vendor/golang.org/x/text/internal/stringset/set.go +86 -0
  834. data/ext/vendor/golang.org/x/text/internal/stringset/set_test.go +53 -0
  835. data/ext/vendor/golang.org/x/text/internal/tables.go +117 -0
  836. data/ext/vendor/golang.org/x/text/internal/tag/tag.go +100 -0
  837. data/ext/vendor/golang.org/x/text/internal/tag/tag_test.go +67 -0
  838. data/ext/vendor/golang.org/x/text/internal/testtext/codesize.go +53 -0
  839. data/ext/vendor/golang.org/x/text/internal/testtext/flag.go +22 -0
  840. data/ext/vendor/golang.org/x/text/internal/testtext/gc.go +14 -0
  841. data/ext/vendor/golang.org/x/text/internal/testtext/gccgo.go +11 -0
  842. data/ext/vendor/golang.org/x/text/internal/testtext/go1_6.go +23 -0
  843. data/ext/vendor/golang.org/x/text/internal/testtext/go1_7.go +17 -0
  844. data/ext/vendor/golang.org/x/text/internal/testtext/text.go +105 -0
  845. data/ext/vendor/golang.org/x/text/internal/triegen/compact.go +58 -0
  846. data/ext/vendor/golang.org/x/text/internal/triegen/data_test.go +875 -0
  847. data/ext/vendor/golang.org/x/text/internal/triegen/example_compact_test.go +71 -0
  848. data/ext/vendor/golang.org/x/text/internal/triegen/example_test.go +148 -0
  849. data/ext/vendor/golang.org/x/text/internal/triegen/gen_test.go +68 -0
  850. data/ext/vendor/golang.org/x/text/internal/triegen/print.go +251 -0
  851. data/ext/vendor/golang.org/x/text/internal/triegen/triegen.go +494 -0
  852. data/ext/vendor/golang.org/x/text/internal/ucd/example_test.go +81 -0
  853. data/ext/vendor/golang.org/x/text/internal/ucd/ucd.go +371 -0
  854. data/ext/vendor/golang.org/x/text/internal/ucd/ucd_test.go +105 -0
  855. data/ext/vendor/golang.org/x/text/internal/utf8internal/utf8internal.go +87 -0
  856. data/ext/vendor/golang.org/x/text/language/Makefile +16 -0
  857. data/ext/vendor/golang.org/x/text/language/common.go +16 -0
  858. data/ext/vendor/golang.org/x/text/language/coverage.go +197 -0
  859. data/ext/vendor/golang.org/x/text/language/coverage_test.go +154 -0
  860. data/ext/vendor/golang.org/x/text/language/display/dict.go +92 -0
  861. data/ext/vendor/golang.org/x/text/language/display/dict_test.go +39 -0
  862. data/ext/vendor/golang.org/x/text/language/display/display.go +420 -0
  863. data/ext/vendor/golang.org/x/text/language/display/display_test.go +705 -0
  864. data/ext/vendor/golang.org/x/text/language/display/examples_test.go +116 -0
  865. data/ext/vendor/golang.org/x/text/language/display/lookup.go +251 -0
  866. data/ext/vendor/golang.org/x/text/language/display/maketables.go +602 -0
  867. data/ext/vendor/golang.org/x/text/language/display/tables.go +50344 -0
  868. data/ext/vendor/golang.org/x/text/language/doc.go +102 -0
  869. data/ext/vendor/golang.org/x/text/language/examples_test.go +413 -0
  870. data/ext/vendor/golang.org/x/text/language/gen.go +1706 -0
  871. data/ext/vendor/golang.org/x/text/language/gen_common.go +20 -0
  872. data/ext/vendor/golang.org/x/text/language/gen_index.go +162 -0
  873. data/ext/vendor/golang.org/x/text/language/go1_1.go +38 -0
  874. data/ext/vendor/golang.org/x/text/language/go1_2.go +11 -0
  875. data/ext/vendor/golang.org/x/text/language/httpexample_test.go +48 -0
  876. data/ext/vendor/golang.org/x/text/language/index.go +769 -0
  877. data/ext/vendor/golang.org/x/text/language/language.go +887 -0
  878. data/ext/vendor/golang.org/x/text/language/language_test.go +878 -0
  879. data/ext/vendor/golang.org/x/text/language/lookup.go +396 -0
  880. data/ext/vendor/golang.org/x/text/language/lookup_test.go +457 -0
  881. data/ext/vendor/golang.org/x/text/language/match.go +933 -0
  882. data/ext/vendor/golang.org/x/text/language/match_test.go +505 -0
  883. data/ext/vendor/golang.org/x/text/language/parse.go +859 -0
  884. data/ext/vendor/golang.org/x/text/language/parse_test.go +517 -0
  885. data/ext/vendor/golang.org/x/text/language/tables.go +3675 -0
  886. data/ext/vendor/golang.org/x/text/language/tags.go +143 -0
  887. data/ext/vendor/golang.org/x/text/language/testdata/CLDRLocaleMatcherTest.txt +389 -0
  888. data/ext/vendor/golang.org/x/text/language/testdata/GoLocaleMatcherTest.txt +226 -0
  889. data/ext/vendor/golang.org/x/text/message/catalog.go +28 -0
  890. data/ext/vendor/golang.org/x/text/message/catalog/catalog.go +292 -0
  891. data/ext/vendor/golang.org/x/text/message/catalog/catalog_test.go +194 -0
  892. data/ext/vendor/golang.org/x/text/message/catalog/dict.go +90 -0
  893. data/ext/vendor/golang.org/x/text/message/doc.go +100 -0
  894. data/ext/vendor/golang.org/x/text/message/examples_test.go +42 -0
  895. data/ext/vendor/golang.org/x/text/message/fmt_test.go +1889 -0
  896. data/ext/vendor/golang.org/x/text/message/format.go +532 -0
  897. data/ext/vendor/golang.org/x/text/message/message.go +169 -0
  898. data/ext/vendor/golang.org/x/text/message/message_test.go +181 -0
  899. data/ext/vendor/golang.org/x/text/message/print.go +1194 -0
  900. data/ext/vendor/golang.org/x/text/number/doc.go +28 -0
  901. data/ext/vendor/golang.org/x/text/number/examples_test.go +28 -0
  902. data/ext/vendor/golang.org/x/text/number/format.go +122 -0
  903. data/ext/vendor/golang.org/x/text/number/format_test.go +107 -0
  904. data/ext/vendor/golang.org/x/text/number/number.go +77 -0
  905. data/ext/vendor/golang.org/x/text/number/number_test.go +190 -0
  906. data/ext/vendor/golang.org/x/text/number/option.go +177 -0
  907. data/ext/vendor/golang.org/x/text/runes/cond.go +187 -0
  908. data/ext/vendor/golang.org/x/text/runes/cond_test.go +282 -0
  909. data/ext/vendor/golang.org/x/text/runes/example_test.go +60 -0
  910. data/ext/vendor/golang.org/x/text/runes/runes.go +355 -0
  911. data/ext/vendor/golang.org/x/text/runes/runes_test.go +664 -0
  912. data/ext/vendor/golang.org/x/text/search/index.go +35 -0
  913. data/ext/vendor/golang.org/x/text/search/pattern.go +155 -0
  914. data/ext/vendor/golang.org/x/text/search/pattern_test.go +357 -0
  915. data/ext/vendor/golang.org/x/text/search/search.go +237 -0
  916. data/ext/vendor/golang.org/x/text/search/tables.go +12448 -0
  917. data/ext/vendor/golang.org/x/text/secure/bidirule/bench_test.go +54 -0
  918. data/ext/vendor/golang.org/x/text/secure/bidirule/bidirule.go +340 -0
  919. data/ext/vendor/golang.org/x/text/secure/bidirule/bidirule_test.go +851 -0
  920. data/ext/vendor/golang.org/x/text/secure/doc.go +6 -0
  921. data/ext/vendor/golang.org/x/text/secure/precis/benchmark_test.go +82 -0
  922. data/ext/vendor/golang.org/x/text/secure/precis/class.go +36 -0
  923. data/ext/vendor/golang.org/x/text/secure/precis/class_test.go +50 -0
  924. data/ext/vendor/golang.org/x/text/secure/precis/context.go +139 -0
  925. data/ext/vendor/golang.org/x/text/secure/precis/doc.go +14 -0
  926. data/ext/vendor/golang.org/x/text/secure/precis/enforce_test.go +396 -0
  927. data/ext/vendor/golang.org/x/text/secure/precis/gen.go +310 -0
  928. data/ext/vendor/golang.org/x/text/secure/precis/gen_trieval.go +68 -0
  929. data/ext/vendor/golang.org/x/text/secure/precis/nickname.go +72 -0
  930. data/ext/vendor/golang.org/x/text/secure/precis/options.go +157 -0
  931. data/ext/vendor/golang.org/x/text/secure/precis/profile.go +402 -0
  932. data/ext/vendor/golang.org/x/text/secure/precis/profile_test.go +149 -0
  933. data/ext/vendor/golang.org/x/text/secure/precis/profiles.go +78 -0
  934. data/ext/vendor/golang.org/x/text/secure/precis/tables.go +3887 -0
  935. data/ext/vendor/golang.org/x/text/secure/precis/tables_test.go +69 -0
  936. data/ext/vendor/golang.org/x/text/secure/precis/transformer.go +32 -0
  937. data/ext/vendor/golang.org/x/text/secure/precis/trieval.go +64 -0
  938. data/ext/vendor/golang.org/x/text/transform/examples_test.go +37 -0
  939. data/ext/vendor/golang.org/x/text/transform/transform.go +705 -0
  940. data/ext/vendor/golang.org/x/text/transform/transform_test.go +1317 -0
  941. data/ext/vendor/golang.org/x/text/unicode/bidi/bidi.go +198 -0
  942. data/ext/vendor/golang.org/x/text/unicode/bidi/bracket.go +335 -0
  943. data/ext/vendor/golang.org/x/text/unicode/bidi/core.go +1058 -0
  944. data/ext/vendor/golang.org/x/text/unicode/bidi/core_test.go +224 -0
  945. data/ext/vendor/golang.org/x/text/unicode/bidi/gen.go +133 -0
  946. data/ext/vendor/golang.org/x/text/unicode/bidi/gen_ranges.go +57 -0
  947. data/ext/vendor/golang.org/x/text/unicode/bidi/gen_trieval.go +64 -0
  948. data/ext/vendor/golang.org/x/text/unicode/bidi/prop.go +206 -0
  949. data/ext/vendor/golang.org/x/text/unicode/bidi/ranges_test.go +53 -0
  950. data/ext/vendor/golang.org/x/text/unicode/bidi/tables.go +1813 -0
  951. data/ext/vendor/golang.org/x/text/unicode/bidi/tables_test.go +82 -0
  952. data/ext/vendor/golang.org/x/text/unicode/bidi/trieval.go +60 -0
  953. data/ext/vendor/golang.org/x/text/unicode/cldr/base.go +100 -0
  954. data/ext/vendor/golang.org/x/text/unicode/cldr/cldr.go +130 -0
  955. data/ext/vendor/golang.org/x/text/unicode/cldr/cldr_test.go +27 -0
  956. data/ext/vendor/golang.org/x/text/unicode/cldr/collate.go +359 -0
  957. data/ext/vendor/golang.org/x/text/unicode/cldr/collate_test.go +275 -0
  958. data/ext/vendor/golang.org/x/text/unicode/cldr/data_test.go +186 -0
  959. data/ext/vendor/golang.org/x/text/unicode/cldr/decode.go +171 -0
  960. data/ext/vendor/golang.org/x/text/unicode/cldr/examples_test.go +21 -0
  961. data/ext/vendor/golang.org/x/text/unicode/cldr/makexml.go +400 -0
  962. data/ext/vendor/golang.org/x/text/unicode/cldr/resolve.go +602 -0
  963. data/ext/vendor/golang.org/x/text/unicode/cldr/resolve_test.go +368 -0
  964. data/ext/vendor/golang.org/x/text/unicode/cldr/slice.go +144 -0
  965. data/ext/vendor/golang.org/x/text/unicode/cldr/slice_test.go +175 -0
  966. data/ext/vendor/golang.org/x/text/unicode/cldr/xml.go +1487 -0
  967. data/ext/vendor/golang.org/x/text/unicode/doc.go +8 -0
  968. data/ext/vendor/golang.org/x/text/unicode/norm/composition.go +508 -0
  969. data/ext/vendor/golang.org/x/text/unicode/norm/composition_test.go +130 -0
  970. data/ext/vendor/golang.org/x/text/unicode/norm/example_iter_test.go +82 -0
  971. data/ext/vendor/golang.org/x/text/unicode/norm/example_test.go +27 -0
  972. data/ext/vendor/golang.org/x/text/unicode/norm/forminfo.go +259 -0
  973. data/ext/vendor/golang.org/x/text/unicode/norm/forminfo_test.go +54 -0
  974. data/ext/vendor/golang.org/x/text/unicode/norm/input.go +109 -0
  975. data/ext/vendor/golang.org/x/text/unicode/norm/iter.go +457 -0
  976. data/ext/vendor/golang.org/x/text/unicode/norm/iter_test.go +98 -0
  977. data/ext/vendor/golang.org/x/text/unicode/norm/maketables.go +976 -0
  978. data/ext/vendor/golang.org/x/text/unicode/norm/norm_test.go +14 -0
  979. data/ext/vendor/golang.org/x/text/unicode/norm/normalize.go +609 -0
  980. data/ext/vendor/golang.org/x/text/unicode/norm/normalize_test.go +1287 -0
  981. data/ext/vendor/golang.org/x/text/unicode/norm/readwriter.go +125 -0
  982. data/ext/vendor/golang.org/x/text/unicode/norm/readwriter_test.go +56 -0
  983. data/ext/vendor/golang.org/x/text/unicode/norm/tables.go +7651 -0
  984. data/ext/vendor/golang.org/x/text/unicode/norm/transform.go +88 -0
  985. data/ext/vendor/golang.org/x/text/unicode/norm/transform_test.go +101 -0
  986. data/ext/vendor/golang.org/x/text/unicode/norm/trie.go +54 -0
  987. data/ext/vendor/golang.org/x/text/unicode/norm/triegen.go +117 -0
  988. data/ext/vendor/golang.org/x/text/unicode/norm/ucd_test.go +275 -0
  989. data/ext/vendor/golang.org/x/text/unicode/rangetable/gen.go +115 -0
  990. data/ext/vendor/golang.org/x/text/unicode/rangetable/merge.go +260 -0
  991. data/ext/vendor/golang.org/x/text/unicode/rangetable/merge_test.go +184 -0
  992. data/ext/vendor/golang.org/x/text/unicode/rangetable/rangetable.go +70 -0
  993. data/ext/vendor/golang.org/x/text/unicode/rangetable/rangetable_test.go +55 -0
  994. data/ext/vendor/golang.org/x/text/unicode/rangetable/tables.go +6376 -0
  995. data/ext/vendor/golang.org/x/text/unicode/runenames/bits.go +59 -0
  996. data/ext/vendor/golang.org/x/text/unicode/runenames/example_test.go +118 -0
  997. data/ext/vendor/golang.org/x/text/unicode/runenames/gen.go +195 -0
  998. data/ext/vendor/golang.org/x/text/unicode/runenames/gen_bits.go +63 -0
  999. data/ext/vendor/golang.org/x/text/unicode/runenames/runenames.go +48 -0
  1000. data/ext/vendor/golang.org/x/text/unicode/runenames/runenames_test.go +46 -0
  1001. data/ext/vendor/golang.org/x/text/unicode/runenames/tables.go +15514 -0
  1002. data/ext/vendor/golang.org/x/text/width/common_test.go +92 -0
  1003. data/ext/vendor/golang.org/x/text/width/example_test.go +52 -0
  1004. data/ext/vendor/golang.org/x/text/width/gen.go +115 -0
  1005. data/ext/vendor/golang.org/x/text/width/gen_common.go +96 -0
  1006. data/ext/vendor/golang.org/x/text/width/gen_trieval.go +34 -0
  1007. data/ext/vendor/golang.org/x/text/width/kind_string.go +16 -0
  1008. data/ext/vendor/golang.org/x/text/width/runes_test.go +461 -0
  1009. data/ext/vendor/golang.org/x/text/width/tables.go +1316 -0
  1010. data/ext/vendor/golang.org/x/text/width/tables_test.go +59 -0
  1011. data/ext/vendor/golang.org/x/text/width/transform.go +239 -0
  1012. data/ext/vendor/golang.org/x/text/width/transform_test.go +701 -0
  1013. data/ext/vendor/golang.org/x/text/width/trieval.go +30 -0
  1014. data/ext/vendor/golang.org/x/text/width/width.go +206 -0
  1015. data/lib/ires/version.rb +1 -1
  1016. data/shared/darwin/ires.so +0 -0
  1017. data/shared/linux/ires.so +0 -0
  1018. metadata +1011 -23
  1019. data/ext/operate/image.go +0 -176
  1020. data/ext/util/uri/uri.go +0 -105
  1021. data/ext/vendor/github.com/satori/go.uuid/README.md +0 -65
  1022. data/ext/vendor/github.com/satori/go.uuid/benchmarks_test.go +0 -121
  1023. data/ext/vendor/github.com/satori/go.uuid/uuid.go +0 -488
  1024. data/ext/vendor/github.com/satori/go.uuid/uuid_test.go +0 -633
@@ -0,0 +1,67 @@
1
+ // Copyright 2015 The Go Authors. All rights reserved.
2
+ // Use of this source code is governed by a BSD-style
3
+ // license that can be found in the LICENSE file.
4
+
5
+ package tag
6
+
7
+ import (
8
+ "strings"
9
+ "testing"
10
+ )
11
+
12
+ var strdata = []string{
13
+ "aa ",
14
+ "aaa ",
15
+ "aaaa",
16
+ "aaab",
17
+ "aab ",
18
+ "ab ",
19
+ "ba ",
20
+ "xxxx",
21
+ "\xff\xff\xff\xff",
22
+ }
23
+
24
+ var testCases = map[string]int{
25
+ "a": 0,
26
+ "aa": 0,
27
+ "aaa": 1,
28
+ "aa ": 0,
29
+ "aaaa": 2,
30
+ "aaab": 3,
31
+ "b": 6,
32
+ "ba": 6,
33
+ " ": -1,
34
+ "aaax": -1,
35
+ "bbbb": -1,
36
+ "zzzz": -1,
37
+ }
38
+
39
+ func TestIndex(t *testing.T) {
40
+ index := Index(strings.Join(strdata, ""))
41
+ for k, v := range testCases {
42
+ if i := index.Index([]byte(k)); i != v {
43
+ t.Errorf("%s: got %d; want %d", k, i, v)
44
+ }
45
+ }
46
+ }
47
+
48
+ func TestFixCase(t *testing.T) {
49
+ tests := []string{
50
+ "aaaa", "AbCD", "abcd",
51
+ "Zzzz", "AbCD", "Abcd",
52
+ "Zzzz", "AbC", "",
53
+ "XXX", "ab ", "",
54
+ "XXX", "usd", "USD",
55
+ "cmn", "AB ", "",
56
+ "gsw", "CMN", "cmn",
57
+ }
58
+ for tc := tests; len(tc) > 0; tc = tc[3:] {
59
+ b := []byte(tc[1])
60
+ if !FixCase(tc[0], b) {
61
+ b = nil
62
+ }
63
+ if string(b) != tc[2] {
64
+ t.Errorf("FixCase(%q, %q) = %q; want %q", tc[0], tc[1], b, tc[2])
65
+ }
66
+ }
67
+ }
@@ -0,0 +1,53 @@
1
+ // Copyright 2015 The Go Authors. All rights reserved.
2
+ // Use of this source code is governed by a BSD-style
3
+ // license that can be found in the LICENSE file.
4
+
5
+ package testtext
6
+
7
+ import (
8
+ "bytes"
9
+ "fmt"
10
+ "io/ioutil"
11
+ "os"
12
+ "os/exec"
13
+ "path/filepath"
14
+ "runtime"
15
+ )
16
+
17
+ // CodeSize builds the given code sample and returns the binary size or en error
18
+ // if an error occurred. The code sample typically will look like this:
19
+ // package main
20
+ // import "golang.org/x/text/somepackage"
21
+ // func main() {
22
+ // somepackage.Func() // reference Func to cause it to be linked in.
23
+ // }
24
+ // See dict_test.go in the display package for an example.
25
+ func CodeSize(s string) (int, error) {
26
+ // Write the file.
27
+ tmpdir, err := ioutil.TempDir(os.TempDir(), "testtext")
28
+ if err != nil {
29
+ return 0, fmt.Errorf("testtext: failed to create tmpdir: %v", err)
30
+ }
31
+ defer os.RemoveAll(tmpdir)
32
+ filename := filepath.Join(tmpdir, "main.go")
33
+ if err := ioutil.WriteFile(filename, []byte(s), 0644); err != nil {
34
+ return 0, fmt.Errorf("testtext: failed to write main.go: %v", err)
35
+ }
36
+
37
+ // Build the binary.
38
+ w := &bytes.Buffer{}
39
+ cmd := exec.Command(filepath.Join(runtime.GOROOT(), "bin", "go"), "build", "-o", "main")
40
+ cmd.Dir = tmpdir
41
+ cmd.Stderr = w
42
+ cmd.Stdout = w
43
+ if err := cmd.Run(); err != nil {
44
+ return 0, fmt.Errorf("testtext: failed to execute command: %v\nmain.go:\n%vErrors:%s", err, s, w)
45
+ }
46
+
47
+ // Determine the size.
48
+ fi, err := os.Stat(filepath.Join(tmpdir, "main"))
49
+ if err != nil {
50
+ return 0, fmt.Errorf("testtext: failed to get file info: %v", err)
51
+ }
52
+ return int(fi.Size()), nil
53
+ }
@@ -0,0 +1,22 @@
1
+ // Copyright 2015 The Go Authors. All rights reserved.
2
+ // Use of this source code is governed by a BSD-style
3
+ // license that can be found in the LICENSE file.
4
+
5
+ package testtext
6
+
7
+ import (
8
+ "flag"
9
+ "testing"
10
+
11
+ "golang.org/x/text/internal/gen"
12
+ )
13
+
14
+ var long = flag.Bool("long", false,
15
+ "run tests that require fetching data online")
16
+
17
+ // SkipIfNotLong returns whether long tests should be performed.
18
+ func SkipIfNotLong(t *testing.T) {
19
+ if testing.Short() || !(gen.IsLocal() || *long) {
20
+ t.Skip("skipping test to prevent downloading; to run use -long or use -local or UNICODE_DIR to specify a local source")
21
+ }
22
+ }
@@ -0,0 +1,14 @@
1
+ // Copyright 2016 The Go Authors. All rights reserved.
2
+ // Use of this source code is governed by a BSD-style
3
+ // license that can be found in the LICENSE file.
4
+
5
+ // +build !gccgo
6
+
7
+ package testtext
8
+
9
+ import "testing"
10
+
11
+ // AllocsPerRun wraps testing.AllocsPerRun.
12
+ func AllocsPerRun(runs int, f func()) (avg float64) {
13
+ return testing.AllocsPerRun(runs, f)
14
+ }
@@ -0,0 +1,11 @@
1
+ // Copyright 2016 The Go Authors. All rights reserved.
2
+ // Use of this source code is governed by a BSD-style
3
+ // license that can be found in the LICENSE file.
4
+
5
+ // +build gccgo
6
+
7
+ package testtext
8
+
9
+ // AllocsPerRun always returns 0 for gccgo until gccgo implements escape
10
+ // analysis equal or better to that of gc.
11
+ func AllocsPerRun(runs int, f func()) (avg float64) { return 0 }
@@ -0,0 +1,23 @@
1
+ // Copyright 2016 The Go Authors. All rights reserved.
2
+ // Use of this source code is governed by a BSD-style
3
+ // license that can be found in the LICENSE file.
4
+
5
+ // +build !go1.7
6
+
7
+ package testtext
8
+
9
+ import "testing"
10
+
11
+ func Run(t *testing.T, name string, fn func(t *testing.T)) bool {
12
+ t.Logf("Running %s...", name)
13
+ fn(t)
14
+ return t.Failed()
15
+ }
16
+
17
+ // Bench runs the given benchmark function. This pre-1.7 implementation renders
18
+ // the measurement useless, but allows the code to be compiled at least.
19
+ func Bench(b *testing.B, name string, fn func(b *testing.B)) bool {
20
+ b.Logf("Running %s...", name)
21
+ fn(b)
22
+ return b.Failed()
23
+ }
@@ -0,0 +1,17 @@
1
+ // Copyright 2016 The Go Authors. All rights reserved.
2
+ // Use of this source code is governed by a BSD-style
3
+ // license that can be found in the LICENSE file.
4
+
5
+ // +build go1.7
6
+
7
+ package testtext
8
+
9
+ import "testing"
10
+
11
+ func Run(t *testing.T, name string, fn func(t *testing.T)) bool {
12
+ return t.Run(name, fn)
13
+ }
14
+
15
+ func Bench(b *testing.B, name string, fn func(b *testing.B)) bool {
16
+ return b.Run(name, fn)
17
+ }
@@ -0,0 +1,105 @@
1
+ // Copyright 2015 The Go Authors. All rights reserved.
2
+ // Use of this source code is governed by a BSD-style
3
+ // license that can be found in the LICENSE file.
4
+
5
+ // Package testtext contains test data that is of common use to the text
6
+ // repository.
7
+ package testtext // import "golang.org/x/text/internal/testtext"
8
+
9
+ const (
10
+
11
+ // ASCII is an ASCII string containing all letters in the English alphabet.
12
+ ASCII = "The quick brown fox jumps over the lazy dog. " +
13
+ "The quick brown fox jumps over the lazy dog. " +
14
+ "The quick brown fox jumps over the lazy dog. " +
15
+ "The quick brown fox jumps over the lazy dog. " +
16
+ "The quick brown fox jumps over the lazy dog. " +
17
+ "The quick brown fox jumps over the lazy dog. " +
18
+ "The quick brown fox jumps over the lazy dog. " +
19
+ "The quick brown fox jumps over the lazy dog. " +
20
+ "The quick brown fox jumps over the lazy dog. " +
21
+ "The quick brown fox jumps over the lazy dog. "
22
+
23
+ // Vietnamese is a snippet from http://creativecommons.org/licenses/by-sa/3.0/vn/
24
+ Vietnamese = `Với các điều kiện sau: Ghi nhận công của tác giả.
25
+ Nếu bạn sử dụng, chuyển đổi, hoặc xây dựng dự án từ
26
+ nội dung được chia sẻ này, bạn phải áp dụng giấy phép này hoặc
27
+ một giấy phép khác có các điều khoản tương tự như giấy phép này
28
+ cho dự án của bạn. Hiểu rằng: Miễn — Bất kỳ các điều kiện nào
29
+ trên đây cũng có thể được miễn bỏ nếu bạn được sự cho phép của
30
+ người sở hữu bản quyền. Phạm vi công chúng — Khi tác phẩm hoặc
31
+ bất kỳ chương nào của tác phẩm đã trong vùng dành cho công
32
+ chúng theo quy định của pháp luật thì tình trạng của nó không
33
+ bị ảnh hưởng bởi giấy phép trong bất kỳ trường hợp nào.`
34
+
35
+ // Russian is a snippet from http://creativecommons.org/licenses/by-sa/1.0/deed.ru
36
+ Russian = `При обязательном соблюдении следующих условий:
37
+ Attribution — Вы должны атрибутировать произведение (указывать
38
+ автора и источник) в порядке, предусмотренном автором или
39
+ лицензиаром (но только так, чтобы никоим образом не подразумевалось,
40
+ что они поддерживают вас или использование вами данного произведения).
41
+ Υπό τις ακόλουθες προϋποθέσεις:`
42
+
43
+ // Greek is a snippet from http://creativecommons.org/licenses/by-sa/3.0/gr/
44
+ Greek = `Αναφορά Δημιουργού — Θα πρέπει να κάνετε την αναφορά στο έργο με τον
45
+ τρόπο που έχει οριστεί από το δημιουργό ή το χορηγούντο την άδεια
46
+ (χωρίς όμως να εννοείται με οποιονδήποτε τρόπο ότι εγκρίνουν εσάς ή
47
+ τη χρήση του έργου από εσάς). Παρόμοια Διανομή — Εάν αλλοιώσετε,
48
+ τροποποιήσετε ή δημιουργήσετε περαιτέρω βασισμένοι στο έργο θα
49
+ μπορείτε να διανέμετε το έργο που θα προκύψει μόνο με την ίδια ή
50
+ παρόμοια άδεια.`
51
+
52
+ // Arabic is a snippet from http://creativecommons.org/licenses/by-sa/3.0/deed.ar
53
+ Arabic = `بموجب الشروط التالية نسب المصنف — يجب عليك أن
54
+ تنسب العمل بالطريقة التي تحددها المؤلف أو المرخص (ولكن ليس بأي حال من
55
+ الأحوال أن توحي وتقترح بتحول أو استخدامك للعمل).
56
+ المشاركة على قدم المساواة — إذا كنت يعدل ، والتغيير ، أو الاستفادة
57
+ من هذا العمل ، قد ينتج عن توزيع العمل إلا في ظل تشابه او تطابق فى واحد
58
+ لهذا الترخيص.`
59
+
60
+ // Hebrew is a snippet from http://creativecommons.org/licenses/by-sa/1.0/il/
61
+ Hebrew = `בכפוף לתנאים הבאים: ייחוס — עליך לייחס את היצירה (לתת קרדיט) באופן
62
+ המצויין על-ידי היוצר או מעניק הרישיון (אך לא בשום אופן המרמז על כך
63
+ שהם תומכים בך או בשימוש שלך ביצירה). שיתוף זהה — אם תחליט/י לשנות,
64
+ לעבד או ליצור יצירה נגזרת בהסתמך על יצירה זו, תוכל/י להפיץ את יצירתך
65
+ החדשה רק תחת אותו הרישיון או רישיון דומה לרישיון זה.`
66
+
67
+ TwoByteUTF8 = Russian + Greek + Arabic + Hebrew
68
+
69
+ // Thai is a snippet from http://creativecommons.org/licenses/by-sa/3.0/th/
70
+ Thai = `ภายใต้เงื่อนไข ดังต่อไปนี้ : แสดงที่มา — คุณต้องแสดงที่
71
+ มาของงานดังกล่าว ตามรูปแบบที่ผู้สร้างสรรค์หรือผู้อนุญาตกำหนด (แต่
72
+ ไม่ใช่ในลักษณะที่ว่า พวกเขาสนับสนุนคุณหรือสนับสนุนการที่
73
+ คุณนำงานไปใช้) อนุญาตแบบเดียวกัน — หากคุณดัดแปลง เปลี่ยนรูป หรื
74
+ อต่อเติมงานนี้ คุณต้องใช้สัญญาอนุญาตแบบเดียวกันหรือแบบที่เหมื
75
+ อนกับสัญญาอนุญาตที่ใช้กับงานนี้เท่านั้น`
76
+
77
+ ThreeByteUTF8 = Thai
78
+
79
+ // Japanese is a snippet from http://creativecommons.org/licenses/by-sa/2.0/jp/
80
+ Japanese = `あなたの従うべき条件は以下の通りです。
81
+ 表示 — あなたは原著作者のクレジットを表示しなければなりません。
82
+ 継承 — もしあなたがこの作品を改変、変形または加工した場合、
83
+ あなたはその結果生じた作品をこの作品と同一の許諾条件の下でのみ
84
+ 頒布することができます。`
85
+
86
+ // Chinese is a snippet from http://creativecommons.org/licenses/by-sa/2.5/cn/
87
+ Chinese = `您可以自由: 复制、发行、展览、表演、放映、
88
+ 广播或通过信息网络传播本作品 创作演绎作品
89
+ 对本作品进行商业性使用 惟须遵守下列条件:
90
+ 署名 — 您必须按照作者或者许可人指定的方式对作品进行署名。
91
+ 相同方式共享 — 如果您改变、转换本作品或者以本作品为基础进行创作,
92
+ 您只能采用与本协议相同的许可协议发布基于本作品的演绎作品。`
93
+
94
+ // Korean is a snippet from http://creativecommons.org/licenses/by-sa/2.0/kr/
95
+ Korean = `다음과 같은 조건을 따라야 합니다: 저작자표시
96
+ — 저작자나 이용허락자가 정한 방법으로 저작물의
97
+ 원저작자를 표시하여야 합니다(그러나 원저작자가 이용자나 이용자의
98
+ 이용을 보증하거나 추천한다는 의미로 표시해서는 안됩니다).
99
+ 동일조건변경허락 — 이 저작물을 이용하여 만든 이차적 저작물에는 본
100
+ 라이선스와 동일한 라이선스를 적용해야 합니다.`
101
+
102
+ CJK = Chinese + Japanese + Korean
103
+
104
+ All = ASCII + Vietnamese + TwoByteUTF8 + ThreeByteUTF8 + CJK
105
+ )
@@ -0,0 +1,58 @@
1
+ // Copyright 2014 The Go Authors. All rights reserved.
2
+ // Use of this source code is governed by a BSD-style
3
+ // license that can be found in the LICENSE file.
4
+
5
+ package triegen
6
+
7
+ // This file defines Compacter and its implementations.
8
+
9
+ import "io"
10
+
11
+ // A Compacter generates an alternative, more space-efficient way to store a
12
+ // trie value block. A trie value block holds all possible values for the last
13
+ // byte of a UTF-8 encoded rune. Excluding ASCII characters, a trie value block
14
+ // always has 64 values, as a UTF-8 encoding ends with a byte in [0x80, 0xC0).
15
+ type Compacter interface {
16
+ // Size returns whether the Compacter could encode the given block as well
17
+ // as its size in case it can. len(v) is always 64.
18
+ Size(v []uint64) (sz int, ok bool)
19
+
20
+ // Store stores the block using the Compacter's compression method.
21
+ // It returns a handle with which the block can be retrieved.
22
+ // len(v) is always 64.
23
+ Store(v []uint64) uint32
24
+
25
+ // Print writes the data structures associated to the given store to w.
26
+ Print(w io.Writer) error
27
+
28
+ // Handler returns the name of a function that gets called during trie
29
+ // lookup for blocks generated by the Compacter. The function should be of
30
+ // the form func (n uint32, b byte) uint64, where n is the index returned by
31
+ // the Compacter's Store method and b is the last byte of the UTF-8
32
+ // encoding, where 0x80 <= b < 0xC0, for which to do the lookup in the
33
+ // block.
34
+ Handler() string
35
+ }
36
+
37
+ // simpleCompacter is the default Compacter used by builder. It implements a
38
+ // normal trie block.
39
+ type simpleCompacter builder
40
+
41
+ func (b *simpleCompacter) Size([]uint64) (sz int, ok bool) {
42
+ return blockSize * b.ValueSize, true
43
+ }
44
+
45
+ func (b *simpleCompacter) Store(v []uint64) uint32 {
46
+ h := uint32(len(b.ValueBlocks) - blockOffset)
47
+ b.ValueBlocks = append(b.ValueBlocks, v)
48
+ return h
49
+ }
50
+
51
+ func (b *simpleCompacter) Print(io.Writer) error {
52
+ // Structures are printed in print.go.
53
+ return nil
54
+ }
55
+
56
+ func (b *simpleCompacter) Handler() string {
57
+ panic("Handler should be special-cased for this Compacter")
58
+ }
@@ -0,0 +1,875 @@
1
+ // This file is generated with "go test -tags generate". DO NOT EDIT!
2
+ // +build !generate
3
+
4
+ package triegen_test
5
+
6
+ // lookup returns the trie value for the first UTF-8 encoding in s and
7
+ // the width in bytes of this encoding. The size will be 0 if s does not
8
+ // hold enough bytes to complete the encoding. len(s) must be greater than 0.
9
+ func (t *randTrie) lookup(s []byte) (v uint8, sz int) {
10
+ c0 := s[0]
11
+ switch {
12
+ case c0 < 0x80: // is ASCII
13
+ return randValues[c0], 1
14
+ case c0 < 0xC2:
15
+ return 0, 1 // Illegal UTF-8: not a starter, not ASCII.
16
+ case c0 < 0xE0: // 2-byte UTF-8
17
+ if len(s) < 2 {
18
+ return 0, 0
19
+ }
20
+ i := randIndex[c0]
21
+ c1 := s[1]
22
+ if c1 < 0x80 || 0xC0 <= c1 {
23
+ return 0, 1 // Illegal UTF-8: not a continuation byte.
24
+ }
25
+ return t.lookupValue(uint32(i), c1), 2
26
+ case c0 < 0xF0: // 3-byte UTF-8
27
+ if len(s) < 3 {
28
+ return 0, 0
29
+ }
30
+ i := randIndex[c0]
31
+ c1 := s[1]
32
+ if c1 < 0x80 || 0xC0 <= c1 {
33
+ return 0, 1 // Illegal UTF-8: not a continuation byte.
34
+ }
35
+ o := uint32(i)<<6 + uint32(c1)
36
+ i = randIndex[o]
37
+ c2 := s[2]
38
+ if c2 < 0x80 || 0xC0 <= c2 {
39
+ return 0, 2 // Illegal UTF-8: not a continuation byte.
40
+ }
41
+ return t.lookupValue(uint32(i), c2), 3
42
+ case c0 < 0xF8: // 4-byte UTF-8
43
+ if len(s) < 4 {
44
+ return 0, 0
45
+ }
46
+ i := randIndex[c0]
47
+ c1 := s[1]
48
+ if c1 < 0x80 || 0xC0 <= c1 {
49
+ return 0, 1 // Illegal UTF-8: not a continuation byte.
50
+ }
51
+ o := uint32(i)<<6 + uint32(c1)
52
+ i = randIndex[o]
53
+ c2 := s[2]
54
+ if c2 < 0x80 || 0xC0 <= c2 {
55
+ return 0, 2 // Illegal UTF-8: not a continuation byte.
56
+ }
57
+ o = uint32(i)<<6 + uint32(c2)
58
+ i = randIndex[o]
59
+ c3 := s[3]
60
+ if c3 < 0x80 || 0xC0 <= c3 {
61
+ return 0, 3 // Illegal UTF-8: not a continuation byte.
62
+ }
63
+ return t.lookupValue(uint32(i), c3), 4
64
+ }
65
+ // Illegal rune
66
+ return 0, 1
67
+ }
68
+
69
+ // lookupUnsafe returns the trie value for the first UTF-8 encoding in s.
70
+ // s must start with a full and valid UTF-8 encoded rune.
71
+ func (t *randTrie) lookupUnsafe(s []byte) uint8 {
72
+ c0 := s[0]
73
+ if c0 < 0x80 { // is ASCII
74
+ return randValues[c0]
75
+ }
76
+ i := randIndex[c0]
77
+ if c0 < 0xE0 { // 2-byte UTF-8
78
+ return t.lookupValue(uint32(i), s[1])
79
+ }
80
+ i = randIndex[uint32(i)<<6+uint32(s[1])]
81
+ if c0 < 0xF0 { // 3-byte UTF-8
82
+ return t.lookupValue(uint32(i), s[2])
83
+ }
84
+ i = randIndex[uint32(i)<<6+uint32(s[2])]
85
+ if c0 < 0xF8 { // 4-byte UTF-8
86
+ return t.lookupValue(uint32(i), s[3])
87
+ }
88
+ return 0
89
+ }
90
+
91
+ // lookupString returns the trie value for the first UTF-8 encoding in s and
92
+ // the width in bytes of this encoding. The size will be 0 if s does not
93
+ // hold enough bytes to complete the encoding. len(s) must be greater than 0.
94
+ func (t *randTrie) lookupString(s string) (v uint8, sz int) {
95
+ c0 := s[0]
96
+ switch {
97
+ case c0 < 0x80: // is ASCII
98
+ return randValues[c0], 1
99
+ case c0 < 0xC2:
100
+ return 0, 1 // Illegal UTF-8: not a starter, not ASCII.
101
+ case c0 < 0xE0: // 2-byte UTF-8
102
+ if len(s) < 2 {
103
+ return 0, 0
104
+ }
105
+ i := randIndex[c0]
106
+ c1 := s[1]
107
+ if c1 < 0x80 || 0xC0 <= c1 {
108
+ return 0, 1 // Illegal UTF-8: not a continuation byte.
109
+ }
110
+ return t.lookupValue(uint32(i), c1), 2
111
+ case c0 < 0xF0: // 3-byte UTF-8
112
+ if len(s) < 3 {
113
+ return 0, 0
114
+ }
115
+ i := randIndex[c0]
116
+ c1 := s[1]
117
+ if c1 < 0x80 || 0xC0 <= c1 {
118
+ return 0, 1 // Illegal UTF-8: not a continuation byte.
119
+ }
120
+ o := uint32(i)<<6 + uint32(c1)
121
+ i = randIndex[o]
122
+ c2 := s[2]
123
+ if c2 < 0x80 || 0xC0 <= c2 {
124
+ return 0, 2 // Illegal UTF-8: not a continuation byte.
125
+ }
126
+ return t.lookupValue(uint32(i), c2), 3
127
+ case c0 < 0xF8: // 4-byte UTF-8
128
+ if len(s) < 4 {
129
+ return 0, 0
130
+ }
131
+ i := randIndex[c0]
132
+ c1 := s[1]
133
+ if c1 < 0x80 || 0xC0 <= c1 {
134
+ return 0, 1 // Illegal UTF-8: not a continuation byte.
135
+ }
136
+ o := uint32(i)<<6 + uint32(c1)
137
+ i = randIndex[o]
138
+ c2 := s[2]
139
+ if c2 < 0x80 || 0xC0 <= c2 {
140
+ return 0, 2 // Illegal UTF-8: not a continuation byte.
141
+ }
142
+ o = uint32(i)<<6 + uint32(c2)
143
+ i = randIndex[o]
144
+ c3 := s[3]
145
+ if c3 < 0x80 || 0xC0 <= c3 {
146
+ return 0, 3 // Illegal UTF-8: not a continuation byte.
147
+ }
148
+ return t.lookupValue(uint32(i), c3), 4
149
+ }
150
+ // Illegal rune
151
+ return 0, 1
152
+ }
153
+
154
+ // lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s.
155
+ // s must start with a full and valid UTF-8 encoded rune.
156
+ func (t *randTrie) lookupStringUnsafe(s string) uint8 {
157
+ c0 := s[0]
158
+ if c0 < 0x80 { // is ASCII
159
+ return randValues[c0]
160
+ }
161
+ i := randIndex[c0]
162
+ if c0 < 0xE0 { // 2-byte UTF-8
163
+ return t.lookupValue(uint32(i), s[1])
164
+ }
165
+ i = randIndex[uint32(i)<<6+uint32(s[1])]
166
+ if c0 < 0xF0 { // 3-byte UTF-8
167
+ return t.lookupValue(uint32(i), s[2])
168
+ }
169
+ i = randIndex[uint32(i)<<6+uint32(s[2])]
170
+ if c0 < 0xF8 { // 4-byte UTF-8
171
+ return t.lookupValue(uint32(i), s[3])
172
+ }
173
+ return 0
174
+ }
175
+
176
+ // randTrie. Total size: 9280 bytes (9.06 KiB). Checksum: 6debd324a8debb8f.
177
+ type randTrie struct{}
178
+
179
+ func newRandTrie(i int) *randTrie {
180
+ return &randTrie{}
181
+ }
182
+
183
+ // lookupValue determines the type of block n and looks up the value for b.
184
+ func (t *randTrie) lookupValue(n uint32, b byte) uint8 {
185
+ switch {
186
+ default:
187
+ return uint8(randValues[n<<6+uint32(b)])
188
+ }
189
+ }
190
+
191
+ // randValues: 56 blocks, 3584 entries, 3584 bytes
192
+ // The third block is the zero block.
193
+ var randValues = [3584]uint8{
194
+ // Block 0x0, offset 0x0
195
+ // Block 0x1, offset 0x40
196
+ // Block 0x2, offset 0x80
197
+ // Block 0x3, offset 0xc0
198
+ 0xc9: 0x0001,
199
+ // Block 0x4, offset 0x100
200
+ 0x100: 0x0001,
201
+ // Block 0x5, offset 0x140
202
+ 0x155: 0x0001,
203
+ // Block 0x6, offset 0x180
204
+ 0x196: 0x0001,
205
+ // Block 0x7, offset 0x1c0
206
+ 0x1ef: 0x0001,
207
+ // Block 0x8, offset 0x200
208
+ 0x206: 0x0001,
209
+ // Block 0x9, offset 0x240
210
+ 0x258: 0x0001,
211
+ // Block 0xa, offset 0x280
212
+ 0x288: 0x0001,
213
+ // Block 0xb, offset 0x2c0
214
+ 0x2f2: 0x0001,
215
+ // Block 0xc, offset 0x300
216
+ 0x304: 0x0001,
217
+ // Block 0xd, offset 0x340
218
+ 0x34b: 0x0001,
219
+ // Block 0xe, offset 0x380
220
+ 0x3ba: 0x0001,
221
+ // Block 0xf, offset 0x3c0
222
+ 0x3f5: 0x0001,
223
+ // Block 0x10, offset 0x400
224
+ 0x41d: 0x0001,
225
+ // Block 0x11, offset 0x440
226
+ 0x442: 0x0001,
227
+ // Block 0x12, offset 0x480
228
+ 0x4bb: 0x0001,
229
+ // Block 0x13, offset 0x4c0
230
+ 0x4e9: 0x0001,
231
+ // Block 0x14, offset 0x500
232
+ 0x53e: 0x0001,
233
+ // Block 0x15, offset 0x540
234
+ 0x55f: 0x0001,
235
+ // Block 0x16, offset 0x580
236
+ 0x5b7: 0x0001,
237
+ // Block 0x17, offset 0x5c0
238
+ 0x5d9: 0x0001,
239
+ // Block 0x18, offset 0x600
240
+ 0x60e: 0x0001,
241
+ // Block 0x19, offset 0x640
242
+ 0x652: 0x0001,
243
+ // Block 0x1a, offset 0x680
244
+ 0x68f: 0x0001,
245
+ // Block 0x1b, offset 0x6c0
246
+ 0x6dc: 0x0001,
247
+ // Block 0x1c, offset 0x700
248
+ 0x703: 0x0001,
249
+ // Block 0x1d, offset 0x740
250
+ 0x741: 0x0001,
251
+ // Block 0x1e, offset 0x780
252
+ 0x79b: 0x0001,
253
+ // Block 0x1f, offset 0x7c0
254
+ 0x7f1: 0x0001,
255
+ // Block 0x20, offset 0x800
256
+ 0x833: 0x0001,
257
+ // Block 0x21, offset 0x840
258
+ 0x853: 0x0001,
259
+ // Block 0x22, offset 0x880
260
+ 0x8a2: 0x0001,
261
+ // Block 0x23, offset 0x8c0
262
+ 0x8f8: 0x0001,
263
+ // Block 0x24, offset 0x900
264
+ 0x917: 0x0001,
265
+ // Block 0x25, offset 0x940
266
+ 0x945: 0x0001,
267
+ // Block 0x26, offset 0x980
268
+ 0x99e: 0x0001,
269
+ // Block 0x27, offset 0x9c0
270
+ 0x9fd: 0x0001,
271
+ // Block 0x28, offset 0xa00
272
+ 0xa0d: 0x0001,
273
+ // Block 0x29, offset 0xa40
274
+ 0xa66: 0x0001,
275
+ // Block 0x2a, offset 0xa80
276
+ 0xaab: 0x0001,
277
+ // Block 0x2b, offset 0xac0
278
+ 0xaea: 0x0001,
279
+ // Block 0x2c, offset 0xb00
280
+ 0xb2d: 0x0001,
281
+ // Block 0x2d, offset 0xb40
282
+ 0xb54: 0x0001,
283
+ // Block 0x2e, offset 0xb80
284
+ 0xb90: 0x0001,
285
+ // Block 0x2f, offset 0xbc0
286
+ 0xbe5: 0x0001,
287
+ // Block 0x30, offset 0xc00
288
+ 0xc28: 0x0001,
289
+ // Block 0x31, offset 0xc40
290
+ 0xc7c: 0x0001,
291
+ // Block 0x32, offset 0xc80
292
+ 0xcbf: 0x0001,
293
+ // Block 0x33, offset 0xcc0
294
+ 0xcc7: 0x0001,
295
+ // Block 0x34, offset 0xd00
296
+ 0xd34: 0x0001,
297
+ // Block 0x35, offset 0xd40
298
+ 0xd61: 0x0001,
299
+ // Block 0x36, offset 0xd80
300
+ 0xdb9: 0x0001,
301
+ // Block 0x37, offset 0xdc0
302
+ 0xdda: 0x0001,
303
+ }
304
+
305
+ // randIndex: 89 blocks, 5696 entries, 5696 bytes
306
+ // Block 0 is the zero block.
307
+ var randIndex = [5696]uint8{
308
+ // Block 0x0, offset 0x0
309
+ // Block 0x1, offset 0x40
310
+ // Block 0x2, offset 0x80
311
+ // Block 0x3, offset 0xc0
312
+ 0xe1: 0x02, 0xe3: 0x03, 0xe4: 0x04,
313
+ 0xea: 0x05, 0xeb: 0x06, 0xec: 0x07,
314
+ 0xf0: 0x10, 0xf1: 0x24, 0xf2: 0x3d, 0xf3: 0x4f, 0xf4: 0x56,
315
+ // Block 0x4, offset 0x100
316
+ 0x107: 0x01,
317
+ // Block 0x5, offset 0x140
318
+ 0x16c: 0x02,
319
+ // Block 0x6, offset 0x180
320
+ 0x19c: 0x03,
321
+ 0x1ae: 0x04,
322
+ // Block 0x7, offset 0x1c0
323
+ 0x1d8: 0x05,
324
+ 0x1f7: 0x06,
325
+ // Block 0x8, offset 0x200
326
+ 0x20c: 0x07,
327
+ // Block 0x9, offset 0x240
328
+ 0x24a: 0x08,
329
+ // Block 0xa, offset 0x280
330
+ 0x2b6: 0x09,
331
+ // Block 0xb, offset 0x2c0
332
+ 0x2d5: 0x0a,
333
+ // Block 0xc, offset 0x300
334
+ 0x31a: 0x0b,
335
+ // Block 0xd, offset 0x340
336
+ 0x373: 0x0c,
337
+ // Block 0xe, offset 0x380
338
+ 0x38b: 0x0d,
339
+ // Block 0xf, offset 0x3c0
340
+ 0x3f0: 0x0e,
341
+ // Block 0x10, offset 0x400
342
+ 0x433: 0x0f,
343
+ // Block 0x11, offset 0x440
344
+ 0x45d: 0x10,
345
+ // Block 0x12, offset 0x480
346
+ 0x491: 0x08, 0x494: 0x09, 0x497: 0x0a,
347
+ 0x49b: 0x0b, 0x49c: 0x0c,
348
+ 0x4a1: 0x0d,
349
+ 0x4ad: 0x0e,
350
+ 0x4ba: 0x0f,
351
+ // Block 0x13, offset 0x4c0
352
+ 0x4c1: 0x11,
353
+ // Block 0x14, offset 0x500
354
+ 0x531: 0x12,
355
+ // Block 0x15, offset 0x540
356
+ 0x546: 0x13,
357
+ // Block 0x16, offset 0x580
358
+ 0x5ab: 0x14,
359
+ // Block 0x17, offset 0x5c0
360
+ 0x5d4: 0x11,
361
+ 0x5fe: 0x11,
362
+ // Block 0x18, offset 0x600
363
+ 0x618: 0x0a,
364
+ // Block 0x19, offset 0x640
365
+ 0x65b: 0x15,
366
+ // Block 0x1a, offset 0x680
367
+ 0x6a0: 0x16,
368
+ // Block 0x1b, offset 0x6c0
369
+ 0x6d2: 0x17,
370
+ 0x6f6: 0x18,
371
+ // Block 0x1c, offset 0x700
372
+ 0x711: 0x19,
373
+ // Block 0x1d, offset 0x740
374
+ 0x768: 0x1a,
375
+ // Block 0x1e, offset 0x780
376
+ 0x783: 0x1b,
377
+ // Block 0x1f, offset 0x7c0
378
+ 0x7f9: 0x1c,
379
+ // Block 0x20, offset 0x800
380
+ 0x831: 0x1d,
381
+ // Block 0x21, offset 0x840
382
+ 0x85e: 0x1e,
383
+ // Block 0x22, offset 0x880
384
+ 0x898: 0x1f,
385
+ // Block 0x23, offset 0x8c0
386
+ 0x8c7: 0x18,
387
+ 0x8d5: 0x14,
388
+ 0x8f7: 0x20,
389
+ 0x8fe: 0x1f,
390
+ // Block 0x24, offset 0x900
391
+ 0x905: 0x21,
392
+ // Block 0x25, offset 0x940
393
+ 0x966: 0x03,
394
+ // Block 0x26, offset 0x980
395
+ 0x981: 0x07, 0x983: 0x11,
396
+ 0x989: 0x12, 0x98a: 0x13, 0x98e: 0x14, 0x98f: 0x15,
397
+ 0x992: 0x16, 0x995: 0x17, 0x996: 0x18,
398
+ 0x998: 0x19, 0x999: 0x1a, 0x99b: 0x1b, 0x99f: 0x1c,
399
+ 0x9a3: 0x1d,
400
+ 0x9ad: 0x1e, 0x9af: 0x1f,
401
+ 0x9b0: 0x20, 0x9b1: 0x21,
402
+ 0x9b8: 0x22, 0x9bd: 0x23,
403
+ // Block 0x27, offset 0x9c0
404
+ 0x9cd: 0x22,
405
+ // Block 0x28, offset 0xa00
406
+ 0xa0c: 0x08,
407
+ // Block 0x29, offset 0xa40
408
+ 0xa6f: 0x1c,
409
+ // Block 0x2a, offset 0xa80
410
+ 0xa90: 0x1a,
411
+ 0xaaf: 0x23,
412
+ // Block 0x2b, offset 0xac0
413
+ 0xae3: 0x19,
414
+ 0xae8: 0x24,
415
+ 0xafc: 0x25,
416
+ // Block 0x2c, offset 0xb00
417
+ 0xb13: 0x26,
418
+ // Block 0x2d, offset 0xb40
419
+ 0xb67: 0x1c,
420
+ // Block 0x2e, offset 0xb80
421
+ 0xb8f: 0x0b,
422
+ // Block 0x2f, offset 0xbc0
423
+ 0xbcb: 0x27,
424
+ 0xbe7: 0x26,
425
+ // Block 0x30, offset 0xc00
426
+ 0xc34: 0x16,
427
+ // Block 0x31, offset 0xc40
428
+ 0xc62: 0x03,
429
+ // Block 0x32, offset 0xc80
430
+ 0xcbb: 0x12,
431
+ // Block 0x33, offset 0xcc0
432
+ 0xcdf: 0x09,
433
+ // Block 0x34, offset 0xd00
434
+ 0xd34: 0x0a,
435
+ // Block 0x35, offset 0xd40
436
+ 0xd41: 0x1e,
437
+ // Block 0x36, offset 0xd80
438
+ 0xd83: 0x28,
439
+ // Block 0x37, offset 0xdc0
440
+ 0xdc0: 0x15,
441
+ // Block 0x38, offset 0xe00
442
+ 0xe1a: 0x15,
443
+ // Block 0x39, offset 0xe40
444
+ 0xe65: 0x29,
445
+ // Block 0x3a, offset 0xe80
446
+ 0xe86: 0x1f,
447
+ // Block 0x3b, offset 0xec0
448
+ 0xeec: 0x18,
449
+ // Block 0x3c, offset 0xf00
450
+ 0xf28: 0x2a,
451
+ // Block 0x3d, offset 0xf40
452
+ 0xf53: 0x08,
453
+ // Block 0x3e, offset 0xf80
454
+ 0xfa2: 0x2b,
455
+ 0xfaa: 0x17,
456
+ // Block 0x3f, offset 0xfc0
457
+ 0xfc0: 0x25, 0xfc2: 0x26,
458
+ 0xfc9: 0x27, 0xfcd: 0x28, 0xfce: 0x29,
459
+ 0xfd5: 0x2a,
460
+ 0xfd8: 0x2b, 0xfd9: 0x2c, 0xfdf: 0x2d,
461
+ 0xfe1: 0x2e, 0xfe2: 0x2f, 0xfe3: 0x30, 0xfe6: 0x31,
462
+ 0xfe9: 0x32, 0xfec: 0x33, 0xfed: 0x34, 0xfef: 0x35,
463
+ 0xff1: 0x36, 0xff2: 0x37, 0xff3: 0x38, 0xff4: 0x39,
464
+ 0xffa: 0x3a, 0xffc: 0x3b, 0xffe: 0x3c,
465
+ // Block 0x40, offset 0x1000
466
+ 0x102c: 0x2c,
467
+ // Block 0x41, offset 0x1040
468
+ 0x1074: 0x2c,
469
+ // Block 0x42, offset 0x1080
470
+ 0x108c: 0x08,
471
+ 0x10a0: 0x2d,
472
+ // Block 0x43, offset 0x10c0
473
+ 0x10e8: 0x10,
474
+ // Block 0x44, offset 0x1100
475
+ 0x110f: 0x13,
476
+ // Block 0x45, offset 0x1140
477
+ 0x114b: 0x2e,
478
+ // Block 0x46, offset 0x1180
479
+ 0x118b: 0x23,
480
+ 0x119d: 0x0c,
481
+ // Block 0x47, offset 0x11c0
482
+ 0x11c3: 0x12,
483
+ 0x11f9: 0x0f,
484
+ // Block 0x48, offset 0x1200
485
+ 0x121e: 0x1b,
486
+ // Block 0x49, offset 0x1240
487
+ 0x1270: 0x2f,
488
+ // Block 0x4a, offset 0x1280
489
+ 0x128a: 0x1b,
490
+ 0x12a7: 0x02,
491
+ // Block 0x4b, offset 0x12c0
492
+ 0x12fb: 0x14,
493
+ // Block 0x4c, offset 0x1300
494
+ 0x1333: 0x30,
495
+ // Block 0x4d, offset 0x1340
496
+ 0x134d: 0x31,
497
+ // Block 0x4e, offset 0x1380
498
+ 0x138e: 0x15,
499
+ // Block 0x4f, offset 0x13c0
500
+ 0x13f4: 0x32,
501
+ // Block 0x50, offset 0x1400
502
+ 0x141b: 0x33,
503
+ // Block 0x51, offset 0x1440
504
+ 0x1448: 0x3e, 0x1449: 0x3f, 0x144a: 0x40, 0x144f: 0x41,
505
+ 0x1459: 0x42, 0x145c: 0x43, 0x145e: 0x44, 0x145f: 0x45,
506
+ 0x1468: 0x46, 0x1469: 0x47, 0x146c: 0x48, 0x146d: 0x49, 0x146e: 0x4a,
507
+ 0x1472: 0x4b, 0x1473: 0x4c,
508
+ 0x1479: 0x4d, 0x147b: 0x4e,
509
+ // Block 0x52, offset 0x1480
510
+ 0x1480: 0x34,
511
+ 0x1499: 0x11,
512
+ 0x14b6: 0x2c,
513
+ // Block 0x53, offset 0x14c0
514
+ 0x14e4: 0x0d,
515
+ // Block 0x54, offset 0x1500
516
+ 0x1527: 0x08,
517
+ // Block 0x55, offset 0x1540
518
+ 0x1555: 0x2b,
519
+ // Block 0x56, offset 0x1580
520
+ 0x15b2: 0x35,
521
+ // Block 0x57, offset 0x15c0
522
+ 0x15f2: 0x1c, 0x15f4: 0x29,
523
+ // Block 0x58, offset 0x1600
524
+ 0x1600: 0x50, 0x1603: 0x51,
525
+ 0x1608: 0x52, 0x160a: 0x53, 0x160d: 0x54, 0x160e: 0x55,
526
+ }
527
+
528
+ // lookup returns the trie value for the first UTF-8 encoding in s and
529
+ // the width in bytes of this encoding. The size will be 0 if s does not
530
+ // hold enough bytes to complete the encoding. len(s) must be greater than 0.
531
+ func (t *multiTrie) lookup(s []byte) (v uint64, sz int) {
532
+ c0 := s[0]
533
+ switch {
534
+ case c0 < 0x80: // is ASCII
535
+ return t.ascii[c0], 1
536
+ case c0 < 0xC2:
537
+ return 0, 1 // Illegal UTF-8: not a starter, not ASCII.
538
+ case c0 < 0xE0: // 2-byte UTF-8
539
+ if len(s) < 2 {
540
+ return 0, 0
541
+ }
542
+ i := t.utf8Start[c0]
543
+ c1 := s[1]
544
+ if c1 < 0x80 || 0xC0 <= c1 {
545
+ return 0, 1 // Illegal UTF-8: not a continuation byte.
546
+ }
547
+ return t.lookupValue(uint32(i), c1), 2
548
+ case c0 < 0xF0: // 3-byte UTF-8
549
+ if len(s) < 3 {
550
+ return 0, 0
551
+ }
552
+ i := t.utf8Start[c0]
553
+ c1 := s[1]
554
+ if c1 < 0x80 || 0xC0 <= c1 {
555
+ return 0, 1 // Illegal UTF-8: not a continuation byte.
556
+ }
557
+ o := uint32(i)<<6 + uint32(c1)
558
+ i = multiIndex[o]
559
+ c2 := s[2]
560
+ if c2 < 0x80 || 0xC0 <= c2 {
561
+ return 0, 2 // Illegal UTF-8: not a continuation byte.
562
+ }
563
+ return t.lookupValue(uint32(i), c2), 3
564
+ case c0 < 0xF8: // 4-byte UTF-8
565
+ if len(s) < 4 {
566
+ return 0, 0
567
+ }
568
+ i := t.utf8Start[c0]
569
+ c1 := s[1]
570
+ if c1 < 0x80 || 0xC0 <= c1 {
571
+ return 0, 1 // Illegal UTF-8: not a continuation byte.
572
+ }
573
+ o := uint32(i)<<6 + uint32(c1)
574
+ i = multiIndex[o]
575
+ c2 := s[2]
576
+ if c2 < 0x80 || 0xC0 <= c2 {
577
+ return 0, 2 // Illegal UTF-8: not a continuation byte.
578
+ }
579
+ o = uint32(i)<<6 + uint32(c2)
580
+ i = multiIndex[o]
581
+ c3 := s[3]
582
+ if c3 < 0x80 || 0xC0 <= c3 {
583
+ return 0, 3 // Illegal UTF-8: not a continuation byte.
584
+ }
585
+ return t.lookupValue(uint32(i), c3), 4
586
+ }
587
+ // Illegal rune
588
+ return 0, 1
589
+ }
590
+
591
+ // lookupUnsafe returns the trie value for the first UTF-8 encoding in s.
592
+ // s must start with a full and valid UTF-8 encoded rune.
593
+ func (t *multiTrie) lookupUnsafe(s []byte) uint64 {
594
+ c0 := s[0]
595
+ if c0 < 0x80 { // is ASCII
596
+ return t.ascii[c0]
597
+ }
598
+ i := t.utf8Start[c0]
599
+ if c0 < 0xE0 { // 2-byte UTF-8
600
+ return t.lookupValue(uint32(i), s[1])
601
+ }
602
+ i = multiIndex[uint32(i)<<6+uint32(s[1])]
603
+ if c0 < 0xF0 { // 3-byte UTF-8
604
+ return t.lookupValue(uint32(i), s[2])
605
+ }
606
+ i = multiIndex[uint32(i)<<6+uint32(s[2])]
607
+ if c0 < 0xF8 { // 4-byte UTF-8
608
+ return t.lookupValue(uint32(i), s[3])
609
+ }
610
+ return 0
611
+ }
612
+
613
+ // lookupString returns the trie value for the first UTF-8 encoding in s and
614
+ // the width in bytes of this encoding. The size will be 0 if s does not
615
+ // hold enough bytes to complete the encoding. len(s) must be greater than 0.
616
+ func (t *multiTrie) lookupString(s string) (v uint64, sz int) {
617
+ c0 := s[0]
618
+ switch {
619
+ case c0 < 0x80: // is ASCII
620
+ return t.ascii[c0], 1
621
+ case c0 < 0xC2:
622
+ return 0, 1 // Illegal UTF-8: not a starter, not ASCII.
623
+ case c0 < 0xE0: // 2-byte UTF-8
624
+ if len(s) < 2 {
625
+ return 0, 0
626
+ }
627
+ i := t.utf8Start[c0]
628
+ c1 := s[1]
629
+ if c1 < 0x80 || 0xC0 <= c1 {
630
+ return 0, 1 // Illegal UTF-8: not a continuation byte.
631
+ }
632
+ return t.lookupValue(uint32(i), c1), 2
633
+ case c0 < 0xF0: // 3-byte UTF-8
634
+ if len(s) < 3 {
635
+ return 0, 0
636
+ }
637
+ i := t.utf8Start[c0]
638
+ c1 := s[1]
639
+ if c1 < 0x80 || 0xC0 <= c1 {
640
+ return 0, 1 // Illegal UTF-8: not a continuation byte.
641
+ }
642
+ o := uint32(i)<<6 + uint32(c1)
643
+ i = multiIndex[o]
644
+ c2 := s[2]
645
+ if c2 < 0x80 || 0xC0 <= c2 {
646
+ return 0, 2 // Illegal UTF-8: not a continuation byte.
647
+ }
648
+ return t.lookupValue(uint32(i), c2), 3
649
+ case c0 < 0xF8: // 4-byte UTF-8
650
+ if len(s) < 4 {
651
+ return 0, 0
652
+ }
653
+ i := t.utf8Start[c0]
654
+ c1 := s[1]
655
+ if c1 < 0x80 || 0xC0 <= c1 {
656
+ return 0, 1 // Illegal UTF-8: not a continuation byte.
657
+ }
658
+ o := uint32(i)<<6 + uint32(c1)
659
+ i = multiIndex[o]
660
+ c2 := s[2]
661
+ if c2 < 0x80 || 0xC0 <= c2 {
662
+ return 0, 2 // Illegal UTF-8: not a continuation byte.
663
+ }
664
+ o = uint32(i)<<6 + uint32(c2)
665
+ i = multiIndex[o]
666
+ c3 := s[3]
667
+ if c3 < 0x80 || 0xC0 <= c3 {
668
+ return 0, 3 // Illegal UTF-8: not a continuation byte.
669
+ }
670
+ return t.lookupValue(uint32(i), c3), 4
671
+ }
672
+ // Illegal rune
673
+ return 0, 1
674
+ }
675
+
676
+ // lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s.
677
+ // s must start with a full and valid UTF-8 encoded rune.
678
+ func (t *multiTrie) lookupStringUnsafe(s string) uint64 {
679
+ c0 := s[0]
680
+ if c0 < 0x80 { // is ASCII
681
+ return t.ascii[c0]
682
+ }
683
+ i := t.utf8Start[c0]
684
+ if c0 < 0xE0 { // 2-byte UTF-8
685
+ return t.lookupValue(uint32(i), s[1])
686
+ }
687
+ i = multiIndex[uint32(i)<<6+uint32(s[1])]
688
+ if c0 < 0xF0 { // 3-byte UTF-8
689
+ return t.lookupValue(uint32(i), s[2])
690
+ }
691
+ i = multiIndex[uint32(i)<<6+uint32(s[2])]
692
+ if c0 < 0xF8 { // 4-byte UTF-8
693
+ return t.lookupValue(uint32(i), s[3])
694
+ }
695
+ return 0
696
+ }
697
+
698
+ // multiTrie. Total size: 18250 bytes (17.82 KiB). Checksum: a69a609d8696aa5e.
699
+ type multiTrie struct {
700
+ ascii []uint64 // index for ASCII bytes
701
+ utf8Start []uint8 // index for UTF-8 bytes >= 0xC0
702
+ }
703
+
704
+ func newMultiTrie(i int) *multiTrie {
705
+ h := multiTrieHandles[i]
706
+ return &multiTrie{multiValues[uint32(h.ascii)<<6:], multiIndex[uint32(h.multi)<<6:]}
707
+ }
708
+
709
+ type multiTrieHandle struct {
710
+ ascii, multi uint8
711
+ }
712
+
713
+ // multiTrieHandles: 5 handles, 10 bytes
714
+ var multiTrieHandles = [5]multiTrieHandle{
715
+ {0, 0}, // 8c1e77823143d35c: all
716
+ {0, 23}, // 8fb58ff8243b45b0: ASCII only
717
+ {0, 23}, // 8fb58ff8243b45b0: ASCII only 2
718
+ {0, 24}, // 2ccc43994f11046f: BMP only
719
+ {30, 25}, // ce448591bdcb4733: No BMP
720
+ }
721
+
722
+ // lookupValue determines the type of block n and looks up the value for b.
723
+ func (t *multiTrie) lookupValue(n uint32, b byte) uint64 {
724
+ switch {
725
+ default:
726
+ return uint64(multiValues[n<<6+uint32(b)])
727
+ }
728
+ }
729
+
730
+ // multiValues: 32 blocks, 2048 entries, 16384 bytes
731
+ // The third block is the zero block.
732
+ var multiValues = [2048]uint64{
733
+ // Block 0x0, offset 0x0
734
+ 0x03: 0x6e361699800b9fb8, 0x04: 0x52d3935a34f6f0b, 0x05: 0x2948319393e7ef10,
735
+ 0x07: 0x20f03b006704f663, 0x08: 0x6c15c0732bb2495f, 0x09: 0xe54e2c59d953551,
736
+ 0x0f: 0x33d8a825807d8037, 0x10: 0x6ecd93cb12168b92, 0x11: 0x6a81c9c0ce86e884,
737
+ 0x1f: 0xa03e77aac8be79b, 0x20: 0x28591d0e7e486efa, 0x21: 0x716fa3bc398dec8,
738
+ 0x3f: 0x4fd3bcfa72bce8b0,
739
+ // Block 0x1, offset 0x40
740
+ 0x40: 0x3cbaef3db8ba5f12, 0x41: 0x2d262347c1f56357,
741
+ 0x7f: 0x782caa2d25a418a9,
742
+ // Block 0x2, offset 0x80
743
+ // Block 0x3, offset 0xc0
744
+ 0xc0: 0x6bbd1f937b1ff5d2, 0xc1: 0x732e23088d2eb8a4,
745
+ // Block 0x4, offset 0x100
746
+ 0x13f: 0x56f8c4c82f5962dc,
747
+ // Block 0x5, offset 0x140
748
+ 0x140: 0x57dc4544729a5da2, 0x141: 0x2f62f9cd307ffa0d,
749
+ // Block 0x6, offset 0x180
750
+ 0x1bf: 0x7bf4d0ebf302a088,
751
+ // Block 0x7, offset 0x1c0
752
+ 0x1c0: 0x1f0d67f249e59931, 0x1c1: 0x3011def73aa550c7,
753
+ // Block 0x8, offset 0x200
754
+ 0x23f: 0x5de81c1dff6bf29d,
755
+ // Block 0x9, offset 0x240
756
+ 0x240: 0x752c035737b825e8, 0x241: 0x1e793399081e3bb3,
757
+ // Block 0xa, offset 0x280
758
+ 0x2bf: 0x6a28f01979cbf059,
759
+ // Block 0xb, offset 0x2c0
760
+ 0x2c0: 0x373a4b0f2cbd4c74, 0x2c1: 0x4fd2c288683b767c,
761
+ // Block 0xc, offset 0x300
762
+ 0x33f: 0x5a10ffa9e29184fb,
763
+ // Block 0xd, offset 0x340
764
+ 0x340: 0x700f9bdb53fff6a5, 0x341: 0xcde93df0427eb79,
765
+ // Block 0xe, offset 0x380
766
+ 0x3bf: 0x74071288fff39c76,
767
+ // Block 0xf, offset 0x3c0
768
+ 0x3c0: 0x481fc2f510e5268a, 0x3c1: 0x7565c28164204849,
769
+ // Block 0x10, offset 0x400
770
+ 0x43f: 0x5676a62fd49c6bec,
771
+ // Block 0x11, offset 0x440
772
+ 0x440: 0x2f2d15776cbafc6b, 0x441: 0x4c55e8dc0ff11a3f,
773
+ // Block 0x12, offset 0x480
774
+ 0x4bf: 0x69d6f0fe711fafc9,
775
+ // Block 0x13, offset 0x4c0
776
+ 0x4c0: 0x33181de28cfb062d, 0x4c1: 0x2ef3adc6bb2f2d02,
777
+ // Block 0x14, offset 0x500
778
+ 0x53f: 0xe03b31814c95f8b,
779
+ // Block 0x15, offset 0x540
780
+ 0x540: 0x3bf6dc9a1c115603, 0x541: 0x6984ec9b7f51f7fc,
781
+ // Block 0x16, offset 0x580
782
+ 0x5bf: 0x3c02ea92fb168559,
783
+ // Block 0x17, offset 0x5c0
784
+ 0x5c0: 0x1badfe42e7629494, 0x5c1: 0x6dc4a554005f7645,
785
+ // Block 0x18, offset 0x600
786
+ 0x63f: 0x3bb2ed2a72748f4b,
787
+ // Block 0x19, offset 0x640
788
+ 0x640: 0x291354cd6767ec10, 0x641: 0x2c3a4715e3c070d6,
789
+ // Block 0x1a, offset 0x680
790
+ 0x6bf: 0x352711cfb7236418,
791
+ // Block 0x1b, offset 0x6c0
792
+ 0x6c0: 0x3a59d34fb8bceda, 0x6c1: 0x5e90d8ebedd64fa1,
793
+ // Block 0x1c, offset 0x700
794
+ 0x73f: 0x7191a77b28d23110,
795
+ // Block 0x1d, offset 0x740
796
+ 0x740: 0x4ca7f0c1623423d8, 0x741: 0x4f7156d996e2d0de,
797
+ // Block 0x1e, offset 0x780
798
+ // Block 0x1f, offset 0x7c0
799
+ }
800
+
801
+ // multiIndex: 29 blocks, 1856 entries, 1856 bytes
802
+ // Block 0 is the zero block.
803
+ var multiIndex = [1856]uint8{
804
+ // Block 0x0, offset 0x0
805
+ // Block 0x1, offset 0x40
806
+ // Block 0x2, offset 0x80
807
+ // Block 0x3, offset 0xc0
808
+ 0xc2: 0x01, 0xc3: 0x02, 0xc4: 0x03, 0xc7: 0x04,
809
+ 0xc8: 0x05, 0xcf: 0x06,
810
+ 0xd0: 0x07,
811
+ 0xdf: 0x08,
812
+ 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, 0xe4: 0x06, 0xe7: 0x07,
813
+ 0xe8: 0x08, 0xef: 0x09,
814
+ 0xf0: 0x0e, 0xf1: 0x11, 0xf2: 0x13, 0xf3: 0x15, 0xf4: 0x17,
815
+ // Block 0x4, offset 0x100
816
+ 0x120: 0x09,
817
+ 0x13f: 0x0a,
818
+ // Block 0x5, offset 0x140
819
+ 0x140: 0x0b,
820
+ 0x17f: 0x0c,
821
+ // Block 0x6, offset 0x180
822
+ 0x180: 0x0d,
823
+ // Block 0x7, offset 0x1c0
824
+ 0x1ff: 0x0e,
825
+ // Block 0x8, offset 0x200
826
+ 0x200: 0x0f,
827
+ // Block 0x9, offset 0x240
828
+ 0x27f: 0x10,
829
+ // Block 0xa, offset 0x280
830
+ 0x280: 0x11,
831
+ // Block 0xb, offset 0x2c0
832
+ 0x2ff: 0x12,
833
+ // Block 0xc, offset 0x300
834
+ 0x300: 0x13,
835
+ // Block 0xd, offset 0x340
836
+ 0x37f: 0x14,
837
+ // Block 0xe, offset 0x380
838
+ 0x380: 0x15,
839
+ // Block 0xf, offset 0x3c0
840
+ 0x3ff: 0x16,
841
+ // Block 0x10, offset 0x400
842
+ 0x410: 0x0a,
843
+ 0x41f: 0x0b,
844
+ 0x420: 0x0c,
845
+ 0x43f: 0x0d,
846
+ // Block 0x11, offset 0x440
847
+ 0x440: 0x17,
848
+ // Block 0x12, offset 0x480
849
+ 0x4bf: 0x18,
850
+ // Block 0x13, offset 0x4c0
851
+ 0x4c0: 0x0f,
852
+ 0x4ff: 0x10,
853
+ // Block 0x14, offset 0x500
854
+ 0x500: 0x19,
855
+ // Block 0x15, offset 0x540
856
+ 0x540: 0x12,
857
+ // Block 0x16, offset 0x580
858
+ 0x5bf: 0x1a,
859
+ // Block 0x17, offset 0x5c0
860
+ 0x5ff: 0x14,
861
+ // Block 0x18, offset 0x600
862
+ 0x600: 0x1b,
863
+ // Block 0x19, offset 0x640
864
+ 0x640: 0x16,
865
+ // Block 0x1a, offset 0x680
866
+ // Block 0x1b, offset 0x6c0
867
+ 0x6c2: 0x01, 0x6c3: 0x02, 0x6c4: 0x03, 0x6c7: 0x04,
868
+ 0x6c8: 0x05, 0x6cf: 0x06,
869
+ 0x6d0: 0x07,
870
+ 0x6df: 0x08,
871
+ 0x6e0: 0x02, 0x6e1: 0x03, 0x6e2: 0x04, 0x6e3: 0x05, 0x6e4: 0x06, 0x6e7: 0x07,
872
+ 0x6e8: 0x08, 0x6ef: 0x09,
873
+ // Block 0x1c, offset 0x700
874
+ 0x730: 0x0e, 0x731: 0x11, 0x732: 0x13, 0x733: 0x15, 0x734: 0x17,
875
+ }