From 04567c765e92ad60c685c1b2fe7e77c46e065645 Mon Sep 17 00:00:00 2001
From: Wim
` | false
+ XHTMLOutput | bool | whether to output XHTML instead of HTML | false
+
+## Benchmarks
+
+Rendering spec/spec-0.28.txt on a Intel(R) Core(TM) i5-2400 CPU @ 3.10GHz
+
+ BenchmarkRenderSpecNoHTML 100 10254720 ns/op 2998037 B/op 18225 allocs/op
+ BenchmarkRenderSpec 100 10180241 ns/op 2997307 B/op 18214 allocs/op
+ BenchmarkRenderSpecBlackFriday 200 7241749 ns/op 2834340 B/op 17101 allocs/op
+ BenchmarkRenderSpecBlackFriday2 200 7448256 ns/op 2991202 B/op 16705 allocs/op
+
+## See also
+
+https://github.com/jgm/CommonMark — the reference CommonMark implementations in C and JavaScript,
+ also contains the latest spec and an online demo.
+
+http://talk.commonmark.org — the CommonMark forum, a good place to join together the efforts of the developers.
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/align.go b/vendor/gitlab.com/golang-commonmark/markdown/align.go
new file mode 100644
index 00000000..bcb63600
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/markdown/align.go
@@ -0,0 +1,26 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package markdown
+
+type Align byte
+
+const (
+ AlignNone = iota
+ AlignLeft
+ AlignCenter
+ AlignRight
+)
+
+func (a Align) String() string {
+ switch a {
+ case AlignLeft:
+ return "left"
+ case AlignCenter:
+ return "center"
+ case AlignRight:
+ return "right"
+ }
+ return ""
+}
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/autolink.go b/vendor/gitlab.com/golang-commonmark/markdown/autolink.go
new file mode 100644
index 00000000..ab51c71b
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/markdown/autolink.go
@@ -0,0 +1,70 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package markdown
+
+import (
+ "regexp"
+ "strings"
+)
+
+var (
+ rAutolink = regexp.MustCompile(`^<([a-zA-Z][a-zA-Z0-9+.\-]{1,31}):([^<>\x00-\x20]*)>`)
+ rEmail = regexp.MustCompile(`^<([a-zA-Z0-9.!#$%&'*+/=?^_{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>`)
+)
+
+func ruleAutolink(s *StateInline, silent bool) bool {
+ pos := s.Pos
+ src := s.Src
+
+ if src[pos] != '<' {
+ return false
+ }
+
+ tail := src[pos:]
+
+ if strings.IndexByte(tail, '>') < 0 {
+ return false
+ }
+
+ link := rAutolink.FindString(tail)
+ if link != "" {
+ link = link[1 : len(link)-1]
+ href := normalizeLink(link)
+ if !validateLink(href) {
+ return false
+ }
+
+ if !silent {
+ s.PushOpeningToken(&LinkOpen{Href: href})
+ s.PushToken(&Text{Content: normalizeLinkText(link)})
+ s.PushClosingToken(&LinkClose{})
+ }
+
+ s.Pos += len(link) + 2
+
+ return true
+ }
+
+ email := rEmail.FindString(tail)
+ if email != "" {
+ email = email[1 : len(email)-1]
+ href := normalizeLink("mailto:" + email)
+ if !validateLink(href) {
+ return false
+ }
+
+ if !silent {
+ s.PushOpeningToken(&LinkOpen{Href: href})
+ s.PushToken(&Text{Content: normalizeLinkText(email)})
+ s.PushClosingToken(&LinkClose{})
+ }
+
+ s.Pos += len(email) + 2
+
+ return true
+ }
+
+ return false
+}
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/backticks.go b/vendor/gitlab.com/golang-commonmark/markdown/backticks.go
new file mode 100644
index 00000000..07f268dc
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/markdown/backticks.go
@@ -0,0 +1,60 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package markdown
+
+import "strings"
+
+func ruleBackticks(s *StateInline, silent bool) bool {
+ pos := s.Pos
+ src := s.Src
+
+ if src[pos] != '`' {
+ return false
+ }
+
+ start := pos
+ pos++
+ max := s.PosMax
+
+ for pos < max && src[pos] == '`' {
+ pos++
+ }
+
+ marker := src[start:pos]
+
+ matchStart := pos
+ matchEnd := pos
+ for {
+ matchStart = strings.IndexByte(src[matchEnd:], '`')
+ if matchStart == -1 {
+ break
+ }
+ matchStart += matchEnd
+
+ matchEnd = matchStart + 1
+
+ for matchEnd < max && src[matchEnd] == '`' {
+ matchEnd++
+ }
+
+ if matchEnd-matchStart == len(marker) {
+ if !silent {
+ s.PushToken(&CodeInline{
+ Content: normalizeInlineCode(src[pos:matchStart]),
+ })
+ }
+ s.Pos = matchEnd
+ return true
+ }
+ }
+
+ if !silent {
+ s.Pending.WriteString(marker)
+ }
+
+ s.Pos += len(marker)
+
+ return true
+}
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/balance_pairs.go b/vendor/gitlab.com/golang-commonmark/markdown/balance_pairs.go
new file mode 100644
index 00000000..d5830634
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/markdown/balance_pairs.go
@@ -0,0 +1,43 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package markdown
+
+func ruleBalancePairs(s *StateInline) {
+ delimiters := s.Delimiters
+ max := len(delimiters)
+
+ for i := 0; i < max; i++ {
+ lastDelim := delimiters[i]
+
+ if !lastDelim.Close {
+ continue
+ }
+
+ j := i - lastDelim.Jump - 1
+
+ for j >= 0 {
+ currDelim := delimiters[j]
+
+ if currDelim.Open &&
+ currDelim.Marker == lastDelim.Marker &&
+ currDelim.End < 0 &&
+ currDelim.Level == lastDelim.Level {
+ oddMatch := (currDelim.Close || lastDelim.Open) &&
+ currDelim.Length != -1 &&
+ lastDelim.Length != -1 &&
+ (currDelim.Length+lastDelim.Length)%3 == 0
+ if !oddMatch {
+ delimiters[i].Jump = i - j
+ delimiters[i].Open = false
+ delimiters[j].End = i
+ delimiters[j].Jump = 0
+ break
+ }
+ }
+
+ j -= currDelim.Jump + 1
+ }
+ }
+}
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/blockquote.go b/vendor/gitlab.com/golang-commonmark/markdown/blockquote.go
new file mode 100644
index 00000000..f8ad3626
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/markdown/blockquote.go
@@ -0,0 +1,233 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package markdown
+
+import "unicode/utf8"
+
+var blockquoteTerminatedBy []BlockRule
+
+func ruleBlockQuote(s *StateBlock, startLine, endLine int, silent bool) bool {
+ if s.SCount[startLine]-s.BlkIndent >= 4 {
+ return false
+ }
+
+ pos := s.BMarks[startLine] + s.TShift[startLine]
+ max := s.EMarks[startLine]
+ src := s.Src
+
+ if pos >= max {
+ return false
+ }
+ if src[pos] != '>' {
+ return false
+ }
+ pos++
+
+ if silent {
+ return true
+ }
+
+ initial := s.SCount[startLine] + pos - (s.BMarks[startLine] + s.TShift[startLine])
+ offset := initial
+
+ spaceAfterMarker := false
+ adjustTab := false
+ if pos < max {
+ if src[pos] == ' ' {
+ pos++
+ initial++
+ offset++
+ spaceAfterMarker = true
+ } else if src[pos] == '\t' {
+ spaceAfterMarker = true
+ if (s.BSCount[startLine]+offset)%4 == 3 {
+ pos++
+ initial++
+ offset++
+ } else {
+ adjustTab = true
+ }
+ }
+ }
+
+ oldBMarks := []int{s.BMarks[startLine]}
+ s.BMarks[startLine] = pos
+
+ for pos < max {
+ r, size := utf8.DecodeRuneInString(src[pos:])
+ if runeIsSpace(r) {
+ if r == '\t' {
+ d := 0
+ if adjustTab {
+ d = 1
+ }
+ offset += 4 - (offset+s.BSCount[startLine]+d)%4
+ } else {
+ offset++
+ }
+ } else {
+ break
+ }
+ pos += size
+ }
+
+ oldBSCount := []int{s.BSCount[startLine]}
+ d := 0
+ if spaceAfterMarker {
+ d = 1
+ }
+ s.BSCount[startLine] = s.SCount[startLine] + 1 + d
+
+ lastLineEmpty := pos >= max
+
+ oldSCount := []int{s.SCount[startLine]}
+ s.SCount[startLine] = offset - initial
+
+ oldTShift := []int{s.TShift[startLine]}
+ s.TShift[startLine] = pos - s.BMarks[startLine]
+
+ oldParentType := s.ParentType
+ s.ParentType = ptBlockQuote
+ wasOutdented := false
+
+ oldLineMax := s.LineMax
+
+ nextLine := startLine + 1
+ for ; nextLine < endLine; nextLine++ {
+ if s.SCount[nextLine] < s.BlkIndent {
+ wasOutdented = true
+ }
+ pos = s.BMarks[nextLine] + s.TShift[nextLine]
+ max = s.EMarks[nextLine]
+
+ if pos >= max {
+ break
+ }
+
+ pos++
+ if src[pos-1] == '>' && !wasOutdented {
+ initial = s.SCount[nextLine] + pos + (s.BMarks[nextLine] + s.TShift[nextLine])
+ offset = initial
+
+ if pos >= len(src) || src[pos] != ' ' && src[pos] != '\t' {
+ spaceAfterMarker = true
+ } else if src[pos] == ' ' {
+ pos++
+ initial++
+ offset++
+ adjustTab = false
+ spaceAfterMarker = true
+ } else if src[pos] == '\t' {
+ spaceAfterMarker = true
+
+ if (s.BSCount[nextLine]+offset)%4 == 3 {
+ pos++
+ initial++
+ offset++
+ adjustTab = false
+ } else {
+ adjustTab = true
+ }
+ }
+
+ oldBMarks = append(oldBMarks, s.BMarks[nextLine])
+ s.BMarks[nextLine] = pos
+
+ for pos < max {
+ r, size := utf8.DecodeRuneInString(src[pos:])
+ if runeIsSpace(r) {
+ if r == '\t' {
+ d := 0
+ if adjustTab {
+ d = 1
+ }
+ offset += 4 - (offset+s.BSCount[startLine]+d)%4
+ } else {
+ offset++
+ }
+ } else {
+ break
+ }
+ pos += size
+ }
+
+ lastLineEmpty = pos >= max
+
+ oldBSCount = append(oldBSCount, s.BSCount[nextLine])
+ d := 0
+ if spaceAfterMarker {
+ d = 1
+ }
+ s.BSCount[nextLine] = s.SCount[nextLine] + 1 + d
+
+ oldSCount = append(oldSCount, s.SCount[nextLine])
+ s.SCount[nextLine] = offset - initial
+
+ oldTShift = append(oldTShift, s.TShift[nextLine])
+ s.TShift[nextLine] = pos - s.BMarks[nextLine]
+
+ continue
+ }
+
+ if lastLineEmpty {
+ break
+ }
+
+ terminate := false
+ for _, r := range blockquoteTerminatedBy {
+ if r(s, nextLine, endLine, true) {
+ terminate = true
+ break
+ }
+ }
+
+ if terminate {
+ s.LineMax = nextLine
+
+ if s.BlkIndent != 0 {
+ oldBMarks = append(oldBMarks, s.BMarks[nextLine])
+ oldBSCount = append(oldBSCount, s.BSCount[nextLine])
+ oldTShift = append(oldTShift, s.TShift[nextLine])
+ oldSCount = append(oldSCount, s.SCount[nextLine])
+ s.SCount[nextLine] -= s.BlkIndent
+ }
+
+ break
+ }
+
+ oldBMarks = append(oldBMarks, s.BMarks[nextLine])
+ oldBSCount = append(oldBSCount, s.BSCount[nextLine])
+ oldTShift = append(oldTShift, s.TShift[nextLine])
+ oldSCount = append(oldSCount, s.SCount[nextLine])
+
+ s.SCount[nextLine] = -1
+ }
+
+ oldIndent := s.BlkIndent
+ s.BlkIndent = 0
+
+ tok := &BlockquoteOpen{
+ Map: [2]int{startLine, 0},
+ }
+ s.PushOpeningToken(tok)
+
+ s.Md.Block.Tokenize(s, startLine, nextLine)
+
+ s.PushClosingToken(&BlockquoteClose{})
+
+ s.LineMax = oldLineMax
+ s.ParentType = oldParentType
+ tok.Map[1] = s.Line
+
+ for i := 0; i < len(oldTShift); i++ {
+ s.BMarks[startLine+i] = oldBMarks[i]
+ s.TShift[startLine+i] = oldTShift[i]
+ s.SCount[startLine+i] = oldSCount[i]
+ s.BSCount[startLine+i] = oldBSCount[i]
+ }
+ s.BlkIndent = oldIndent
+
+ return true
+}
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/code.go b/vendor/gitlab.com/golang-commonmark/markdown/code.go
new file mode 100644
index 00000000..c6dc574e
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/markdown/code.go
@@ -0,0 +1,37 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package markdown
+
+func ruleCode(s *StateBlock, startLine, endLine int, _ bool) bool {
+ if s.SCount[startLine]-s.BlkIndent < 4 {
+ return false
+ }
+
+ nextLine := startLine + 1
+ last := nextLine
+
+ for nextLine < endLine {
+ if s.IsLineEmpty(nextLine) {
+ nextLine++
+ continue
+ }
+
+ if s.SCount[nextLine]-s.BlkIndent >= 4 {
+ nextLine++
+ last = nextLine
+ continue
+ }
+
+ break
+ }
+
+ s.Line = last
+ s.PushToken(&CodeBlock{
+ Content: s.Lines(startLine, last, 4+s.BlkIndent, true),
+ Map: [2]int{startLine, s.Line},
+ })
+
+ return true
+}
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/emphasis.go b/vendor/gitlab.com/golang-commonmark/markdown/emphasis.go
new file mode 100644
index 00000000..ea9cda21
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/markdown/emphasis.go
@@ -0,0 +1,89 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package markdown
+
+type Delimiter struct {
+ Length int
+ Jump int
+ Token int
+ Level int
+ End int
+ Open bool
+ Close bool
+ Marker byte
+}
+
+func ruleEmphasis(s *StateInline, silent bool) bool {
+ src := s.Src
+ start := s.Pos
+ marker := src[start]
+
+ if silent {
+ return false
+ }
+
+ if marker != '_' && marker != '*' {
+ return false
+ }
+
+ canOpen, canClose, length := s.scanDelims(s.Pos, marker == '*')
+ for i := 0; i < length; i++ {
+ s.PushToken(&Text{Content: string(marker)})
+
+ s.Delimiters = append(s.Delimiters, Delimiter{
+ Marker: marker,
+ Length: length,
+ Jump: i,
+ Token: len(s.Tokens) - 1,
+ Level: s.Level,
+ End: -1,
+ Open: canOpen,
+ Close: canClose,
+ })
+ }
+
+ s.Pos += length
+
+ return true
+}
+
+func ruleEmphasisPostprocess(s *StateInline) {
+ delimiters := s.Delimiters
+ max := len(delimiters)
+ for i := max - 1; i >= 0; i-- {
+ startDelim := delimiters[i]
+ if startDelim.Marker != '_' && startDelim.Marker != '*' {
+ continue
+ }
+
+ if startDelim.End == -1 {
+ continue
+ }
+
+ endDelim := delimiters[startDelim.End]
+
+ isStrong := i > 0 &&
+ delimiters[i-1].End == startDelim.End+1 &&
+ delimiters[i-1].Token == startDelim.Token-1 &&
+ delimiters[startDelim.End+1].Token == endDelim.Token+1 &&
+ delimiters[i-1].Marker == startDelim.Marker
+
+ if isStrong {
+ s.Tokens[startDelim.Token] = &StrongOpen{}
+ s.Tokens[endDelim.Token] = &StrongClose{}
+
+ if text, ok := s.Tokens[delimiters[i-1].Token].(*Text); ok {
+ text.Content = ""
+ }
+ if text, ok := s.Tokens[delimiters[startDelim.End+1].Token].(*Text); ok {
+ text.Content = ""
+ }
+ i--
+ } else {
+ s.Tokens[startDelim.Token] = &EmphasisOpen{}
+ s.Tokens[endDelim.Token] = &EmphasisClose{}
+ }
+ }
+}
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/entity.go b/vendor/gitlab.com/golang-commonmark/markdown/entity.go
new file mode 100644
index 00000000..fd5fba9c
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/markdown/entity.go
@@ -0,0 +1,35 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package markdown
+
+import "gitlab.com/golang-commonmark/html"
+
+func ruleEntity(s *StateInline, silent bool) bool {
+ pos := s.Pos
+ src := s.Src
+
+ if src[pos] != '&' {
+ return false
+ }
+
+ max := s.PosMax
+
+ if pos+1 < max {
+ if e, n := html.ParseEntity(src[pos:]); n > 0 {
+ if !silent {
+ s.Pending.WriteString(e)
+ }
+ s.Pos += n
+ return true
+ }
+ }
+
+ if !silent {
+ s.Pending.WriteByte('&')
+ }
+ s.Pos++
+
+ return true
+}
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/escape.go b/vendor/gitlab.com/golang-commonmark/markdown/escape.go
new file mode 100644
index 00000000..634b9735
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/markdown/escape.go
@@ -0,0 +1,61 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package markdown
+
+import "strings"
+
+func escaped(b byte) bool {
+ return strings.IndexByte("\\!\"#$%&'()*+,./:;<=>?@[]^_`{|}~-", b) != -1
+}
+
+func ruleEscape(s *StateInline, silent bool) bool {
+ pos := s.Pos
+ src := s.Src
+
+ if src[pos] != '\\' {
+ return false
+ }
+
+ pos++
+ max := s.PosMax
+
+ if pos < max {
+ b := src[pos]
+
+ if b < 0x7f && escaped(b) {
+ if !silent {
+ s.Pending.WriteByte(b)
+ }
+ s.Pos += 2
+ return true
+ }
+
+ if b == '\n' {
+ if !silent {
+ s.PushToken(&Hardbreak{})
+ }
+
+ pos++
+
+ for pos < max {
+ b := src[pos]
+ if !byteIsSpace(b) {
+ break
+ }
+ pos++
+ }
+
+ s.Pos = pos
+ return true
+ }
+ }
+
+ if !silent {
+ s.Pending.WriteByte('\\')
+ }
+ s.Pos++
+
+ return true
+}
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/fence.go b/vendor/gitlab.com/golang-commonmark/markdown/fence.go
new file mode 100644
index 00000000..04924dc4
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/markdown/fence.go
@@ -0,0 +1,102 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package markdown
+
+import "strings"
+
+func ruleFence(s *StateBlock, startLine, endLine int, silent bool) bool {
+ haveEndMarker := false
+ pos := s.BMarks[startLine] + s.TShift[startLine]
+ max := s.EMarks[startLine]
+
+ if s.SCount[startLine]-s.BlkIndent >= 4 {
+ return false
+ }
+ if pos+3 > max {
+ return false
+ }
+
+ src := s.Src
+
+ marker := src[pos]
+ if marker != '~' && marker != '`' {
+ return false
+ }
+
+ mem := pos
+ pos = s.SkipBytes(pos, marker)
+
+ len := pos - mem
+
+ if len < 3 {
+ return false
+ }
+
+ params := strings.TrimSpace(src[pos:max])
+
+ if strings.IndexByte(params, marker) >= 0 {
+ return false
+ }
+
+ if silent {
+ return true
+ }
+
+ nextLine := startLine
+
+ for {
+ nextLine++
+ if nextLine >= endLine {
+ break
+ }
+
+ mem = s.BMarks[nextLine] + s.TShift[nextLine]
+ pos = mem
+ max = s.EMarks[nextLine]
+
+ if pos < max && s.SCount[nextLine] < s.BlkIndent {
+ break
+ }
+
+ if pos >= max || src[pos] != marker {
+ continue
+ }
+
+ if s.SCount[nextLine]-s.BlkIndent >= 4 {
+ continue
+ }
+
+ pos = s.SkipBytes(pos, marker)
+
+ if pos-mem < len {
+ continue
+ }
+
+ pos = s.SkipSpaces(pos)
+
+ if pos < max {
+ continue
+ }
+
+ haveEndMarker = true
+
+ break
+ }
+
+ len = s.SCount[startLine]
+
+ s.Line = nextLine
+ if haveEndMarker {
+ s.Line++
+ }
+
+ s.PushToken(&Fence{
+ Params: params,
+ Content: s.Lines(startLine+1, nextLine, len, true),
+ Map: [2]int{startLine, s.Line},
+ })
+
+ return true
+}
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/fuzz.go b/vendor/gitlab.com/golang-commonmark/markdown/fuzz.go
new file mode 100644
index 00000000..66ac7697
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/markdown/fuzz.go
@@ -0,0 +1,9 @@
+//+build gofuzz
+
+package markdown
+
+func Fuzz(data []byte) int {
+ md := New(HTML(true))
+ md.Parse(data)
+ return 1
+}
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/heading.go b/vendor/gitlab.com/golang-commonmark/markdown/heading.go
new file mode 100644
index 00000000..a09c4f72
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/markdown/heading.go
@@ -0,0 +1,59 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package markdown
+
+import "strings"
+
+func ruleHeading(s *StateBlock, startLine, _ int, silent bool) bool {
+ pos := s.BMarks[startLine] + s.TShift[startLine]
+ max := s.EMarks[startLine]
+ src := s.Src
+
+ if s.SCount[startLine]-s.BlkIndent >= 4 {
+ return false
+ }
+
+ if pos >= max || src[pos] != '#' {
+ return false
+ }
+
+ level := 1
+ pos++
+ for pos < max && src[pos] == '#' && level <= 6 {
+ level++
+ pos++
+ }
+
+ if level > 6 || (pos < max && !byteIsSpace(src[pos])) {
+ return false
+ }
+
+ if silent {
+ return true
+ }
+
+ max = s.SkipSpacesBack(max, pos)
+ tmp := s.SkipBytesBack(max, '#', pos)
+ if tmp > pos && byteIsSpace(src[tmp-1]) {
+ max = tmp
+ }
+
+ s.Line = startLine + 1
+
+ s.PushOpeningToken(&HeadingOpen{
+ HLevel: level,
+ Map: [2]int{startLine, s.Line},
+ })
+
+ if pos < max {
+ s.PushToken(&Inline{
+ Content: strings.TrimSpace(src[pos:max]),
+ Map: [2]int{startLine, s.Line},
+ })
+ }
+ s.PushClosingToken(&HeadingClose{HLevel: level})
+
+ return true
+}
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/helpers.go b/vendor/gitlab.com/golang-commonmark/markdown/helpers.go
new file mode 100644
index 00000000..d158dfcf
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/markdown/helpers.go
@@ -0,0 +1,164 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package markdown
+
+func parseLinkLabel(s *StateInline, start int, disableNested bool) int {
+ src := s.Src
+ labelEnd := -1
+ max := s.PosMax
+ oldPos := s.Pos
+
+ s.Pos = start + 1
+ level := 1
+ found := false
+
+ for s.Pos < max {
+ marker := src[s.Pos]
+
+ if marker == ']' {
+ level--
+ if level == 0 {
+ found = true
+ break
+ }
+ }
+
+ prevPos := s.Pos
+
+ s.Md.Inline.SkipToken(s)
+
+ if marker == '[' {
+ if prevPos == s.Pos-1 {
+ level++
+ } else if disableNested {
+ s.Pos = oldPos
+ return -1
+ }
+ }
+ }
+
+ if found {
+ labelEnd = s.Pos
+ }
+
+ s.Pos = oldPos
+
+ return labelEnd
+}
+
+func parseLinkDestination(s string, pos, max int) (url string, lines, endpos int, ok bool) {
+ start := pos
+ if pos < max && s[pos] == '<' {
+ pos++
+ for pos < max {
+ b := s[pos]
+ if b == '\n' || byteIsSpace(b) {
+ return
+ }
+ if b == '>' {
+ endpos = pos + 1
+ url = unescapeAll(s[start+1 : pos])
+ ok = true
+ return
+ }
+ if b == '\\' && pos+1 < max {
+ pos += 2
+ continue
+ }
+
+ pos++
+ }
+
+ return
+ }
+
+ level := 0
+ for pos < max {
+ b := s[pos]
+
+ if b == ' ' {
+ break
+ }
+
+ if b < 0x20 || b == 0x7f {
+ break
+ }
+
+ if b == '\\' && pos+1 < max {
+ pos += 2
+ continue
+ }
+
+ if b == '(' {
+ level++
+ }
+
+ if b == ')' {
+ if level == 0 {
+ break
+ }
+ level--
+ }
+
+ pos++
+ }
+
+ if start == pos {
+ return
+ }
+ if level != 0 {
+ return
+ }
+
+ url = unescapeAll(s[start:pos])
+ endpos = pos
+ ok = true
+
+ return
+}
+
+func parseLinkTitle(s string, pos, max int) (title string, nlines, endpos int, ok bool) {
+ lines := 0
+ start := pos
+
+ if pos >= max {
+ return
+ }
+
+ marker := s[pos]
+
+ if marker != '"' && marker != '\'' && marker != '(' {
+ return
+ }
+
+ pos++
+
+ if marker == '(' {
+ marker = ')'
+ }
+
+ for pos < max {
+ switch s[pos] {
+ case marker:
+ endpos = pos + 1
+ nlines = lines
+ title = unescapeAll(s[start+1 : pos])
+ ok = true
+ return
+ case '\n':
+ lines++
+ case '\\':
+ if pos+1 < max {
+ pos++
+ if s[pos] == '\n' {
+ lines++
+ }
+ }
+ }
+ pos++
+ }
+
+ return
+}
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/hr.go b/vendor/gitlab.com/golang-commonmark/markdown/hr.go
new file mode 100644
index 00000000..fe25681d
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/markdown/hr.go
@@ -0,0 +1,54 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package markdown
+
+func ruleHR(s *StateBlock, startLine, endLine int, silent bool) bool {
+ pos := s.BMarks[startLine] + s.TShift[startLine]
+ max := s.EMarks[startLine]
+
+ if pos >= max {
+ return false
+ }
+
+ if s.SCount[startLine]-s.BlkIndent >= 4 {
+ return false
+ }
+
+ src := s.Src
+ marker := src[pos]
+ pos++
+
+ if marker != '*' && marker != '-' && marker != '_' {
+ return false
+ }
+
+ cnt := 1
+ for pos < max {
+ ch := src[pos]
+ pos++
+ if ch != marker && !byteIsSpace(ch) {
+ return false
+ }
+ if ch == marker {
+ cnt++
+ }
+ }
+
+ if cnt < 3 {
+ return false
+ }
+
+ if silent {
+ return true
+ }
+
+ s.Line = startLine + 1
+
+ s.PushToken(&Hr{
+ Map: [2]int{startLine, s.Line},
+ })
+
+ return true
+}
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/html_block.go b/vendor/gitlab.com/golang-commonmark/markdown/html_block.go
new file mode 100644
index 00000000..98a89499
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/markdown/html_block.go
@@ -0,0 +1,222 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package markdown
+
+import (
+ "regexp"
+ "strings"
+)
+
+var (
+ htmlBlocks = []string{
+ "address",
+ "article",
+ "aside",
+ "base",
+ "basefont",
+ "blockquote",
+ "body",
+ "caption",
+ "center",
+ "col",
+ "colgroup",
+ "dd",
+ "details",
+ "dialog",
+ "dir",
+ "div",
+ "dl",
+ "dt",
+ "fieldset",
+ "figcaption",
+ "figure",
+ "footer",
+ "form",
+ "frame",
+ "frameset",
+ "h1",
+ "h2",
+ "h3",
+ "h4",
+ "h5",
+ "h6",
+ "head",
+ "header",
+ "hr",
+ "html",
+ "iframe",
+ "legend",
+ "li",
+ "link",
+ "main",
+ "menu",
+ "menuitem",
+ "meta",
+ "nav",
+ "noframes",
+ "ol",
+ "optgroup",
+ "option",
+ "p",
+ "param",
+ "section",
+ "source",
+ "summary",
+ "table",
+ "tbody",
+ "td",
+ "tfoot",
+ "th",
+ "thead",
+ "title",
+ "tr",
+ "track",
+ "ul",
+ }
+
+ htmlBlocksSet = make(map[string]bool)
+
+ rStartCond1 = regexp.MustCompile(`(?i)^(pre|script|style)([\n\t >]|$)`)
+ rEndCond1 = regexp.MustCompile(`(?i)(pre|script|style)>`)
+ rStartCond6 = regexp.MustCompile(`(?i)^/?(` + strings.Join(htmlBlocks, "|") + `)(\s|$|>|/>)`)
+ rStartCond7 = regexp.MustCompile(`(?i)^(/[a-z][a-z0-9-]*|[a-z][a-z0-9-]*(\s+[a-z_:][a-z0-9_.:-]*\s*=\s*("[^"]*"|'[^']*'|[ "'=<>\x60]))*\s*/?)>\s*$`)
+)
+
+func init() {
+ for _, tag := range htmlBlocks {
+ htmlBlocksSet[tag] = true
+ }
+}
+
+func min(a, b int) int {
+ if a < b {
+ return a
+ }
+ return b
+}
+
+func matchTagName(s string) string {
+ if len(s) < 2 {
+ return ""
+ }
+
+ i := 0
+ if s[0] == '/' {
+ i++
+ }
+ start := i
+ max := min(15+i, len(s))
+ for i < max && isLetter(s[i]) {
+ i++
+ }
+ if i >= len(s) {
+ return ""
+ }
+
+ switch s[i] {
+ case ' ', '\n', '/', '>':
+ return strings.ToLower(s[start:i])
+ default:
+ return ""
+ }
+}
+
+func ruleHTMLBlock(s *StateBlock, startLine, endLine int, silent bool) bool {
+ if !s.Md.HTML {
+ return false
+ }
+
+ pos := s.BMarks[startLine] + s.TShift[startLine]
+ max := s.EMarks[startLine]
+
+ if pos+1 >= max {
+ return false
+ }
+
+ src := s.Src
+
+ if src[pos] != '<' {
+ return false
+ }
+
+ pos++
+ b := src[pos]
+ if !htmlSecond(b) {
+ return false
+ }
+
+ nextLine := startLine + 1
+
+ var endCond func(string) bool
+
+ if pos+2 < max && isLetter(b) && rStartCond1.MatchString(src[pos:]) {
+ endCond = func(s string) bool {
+ return rEndCond1.MatchString(s)
+ }
+ } else if strings.HasPrefix(src[pos:], "!--") {
+ endCond = func(s string) bool {
+ return strings.Contains(s, "-->")
+ }
+ } else if b == '?' {
+ endCond = func(s string) bool {
+ return strings.Contains(s, "?>")
+ }
+ } else if b == '!' && pos+1 < max && isUppercaseLetter(src[pos+1]) {
+ endCond = func(s string) bool {
+ return strings.Contains(s, ">")
+ }
+ } else if strings.HasPrefix(src[pos:], "![CDATA[") {
+ endCond = func(s string) bool {
+ return strings.Contains(s, "]]>")
+ }
+ } else if pos+2 < max && (isLetter(b) || b == '/' && isLetter(src[pos+1])) {
+ terminator := true
+ if rStartCond6.MatchString(src[pos:max]) {
+ } else if rStartCond7.MatchString(src[pos:max]) {
+ terminator = false
+ } else {
+ return false
+ }
+ if silent {
+ return terminator
+ }
+ endCond = func(s string) bool {
+ return s == ""
+ }
+ } else {
+ return false
+ }
+
+ if silent {
+ return true
+ }
+
+ if !endCond(src[pos:max]) {
+ for nextLine < endLine {
+ if s.SCount[nextLine] < s.BlkIndent {
+ break
+ }
+
+ pos := s.BMarks[nextLine] + s.TShift[nextLine]
+ max := s.EMarks[nextLine]
+ lineText := src[pos:max]
+ if endCond(lineText) {
+ if pos != max {
+ nextLine++
+ }
+ break
+ }
+ nextLine++
+ }
+ }
+
+ s.Line = nextLine
+ s.PushToken(&HTMLBlock{
+ Content: s.Lines(startLine, nextLine, s.BlkIndent, true),
+ Map: [2]int{startLine, nextLine},
+ })
+
+ return true
+}
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/html_inline.go b/vendor/gitlab.com/golang-commonmark/markdown/html_inline.go
new file mode 100644
index 00000000..0de54b20
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/markdown/html_inline.go
@@ -0,0 +1,57 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package markdown
+
+import "regexp"
+
+var (
+ attrName = `[a-zA-Z_:][a-zA-Z0-9:._-]*`
+ unquoted = "[^\"'=<>`\\x00-\\x20]+"
+ singleQuoted = `'[^']*'`
+ doubleQuoted = `"[^"]*"`
+ attrValue = `(?:` + unquoted + `|` + singleQuoted + `|` + doubleQuoted + `)`
+ attribute = `(?:\s+` + attrName + `(?:\s*=\s*` + attrValue + `)?)`
+ openTag = `<[A-Za-z][A-Za-z0-9-]*` + attribute + `*\s*/?>`
+ closeTag = `[A-Za-z][A-Za-z0-9-]*\s*>`
+ comment = `|`
+ processing = `<[?].*?[?]>`
+ declaration = `]*>`
+ cdata = ``
+ rHTMLTag = regexp.MustCompile(`^(?:` + openTag + `|` + closeTag + `|` + comment +
+ `|` + processing + `|` + declaration + `|` + cdata + `)`)
+)
+
+func htmlSecond(b byte) bool {
+ return b == '!' || b == '/' || b == '?' || isLetter(b)
+}
+
+func ruleHTMLInline(s *StateInline, silent bool) bool {
+ if !s.Md.HTML {
+ return false
+ }
+
+ pos := s.Pos
+ src := s.Src
+ if pos+2 >= s.PosMax || src[pos] != '<' {
+ return false
+ }
+
+ if !htmlSecond(src[pos+1]) {
+ return false
+ }
+
+ match := rHTMLTag.FindString(src[pos:])
+ if match == "" {
+ return false
+ }
+
+ if !silent {
+ s.PushToken(&HTMLInline{Content: match})
+ }
+
+ s.Pos += len(match)
+
+ return true
+}
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/image.go b/vendor/gitlab.com/golang-commonmark/markdown/image.go
new file mode 100644
index 00000000..7f2e67d3
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/markdown/image.go
@@ -0,0 +1,131 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package markdown
+
+func ruleImage(s *StateInline, silent bool) bool {
+ pos := s.Pos
+ max := s.PosMax
+
+ if pos+2 >= max {
+ return false
+ }
+
+ src := s.Src
+ if src[pos] != '!' || src[pos+1] != '[' {
+ return false
+ }
+
+ labelStart := pos + 2
+ labelEnd := parseLinkLabel(s, pos+1, false)
+ if labelEnd < 0 {
+ return false
+ }
+
+ var href, title, label string
+ oldPos := pos
+ pos = labelEnd + 1
+ if pos < max && src[pos] == '(' {
+ pos++
+ for pos < max {
+ b := src[pos]
+ if !byteIsSpace(b) && b != '\n' {
+ break
+ }
+ pos++
+ }
+ if pos >= max {
+ return false
+ }
+
+ start := pos
+ url, _, endpos, ok := parseLinkDestination(src, pos, s.PosMax)
+ if ok {
+ url = normalizeLink(url)
+ if validateLink(url) {
+ href = url
+ pos = endpos
+ }
+ }
+
+ start = pos
+ for pos < max {
+ b := src[pos]
+ if !byteIsSpace(b) && b != '\n' {
+ break
+ }
+ pos++
+ }
+ if pos >= max {
+ return false
+ }
+
+ title, _, endpos, ok = parseLinkTitle(src, pos, s.PosMax)
+ if pos < max && start != pos && ok {
+ pos = endpos
+ for pos < max {
+ b := src[pos]
+ if !byteIsSpace(b) && b != '\n' {
+ break
+ }
+ pos++
+ }
+ }
+
+ if pos >= max || src[pos] != ')' {
+ s.Pos = oldPos
+ return false
+ }
+
+ pos++
+
+ } else {
+ if s.Env.References == nil {
+ return false
+ }
+
+ if pos < max && src[pos] == '[' {
+ start := pos + 1
+ pos = parseLinkLabel(s, pos, false)
+ if pos >= 0 {
+ label = src[start:pos]
+ pos++
+ } else {
+ pos = labelEnd + 1
+ }
+ } else {
+ pos = labelEnd + 1
+ }
+
+ if label == "" {
+ label = src[labelStart:labelEnd]
+ }
+
+ ref, ok := s.Env.References[normalizeReference(label)]
+ if !ok {
+ s.Pos = oldPos
+ return false
+ }
+
+ href = ref["href"]
+ title = ref["title"]
+ }
+
+ if !silent {
+ content := src[labelStart:labelEnd]
+
+ tokens := s.Md.Inline.Parse(content, s.Md, s.Env)
+
+ s.PushToken(&Image{
+ Src: href,
+ Title: title,
+ Tokens: tokens,
+ })
+ }
+
+ s.Pos = pos
+ s.PosMax = max
+
+ return true
+}
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/inline.go b/vendor/gitlab.com/golang-commonmark/markdown/inline.go
new file mode 100644
index 00000000..0bed18ac
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/markdown/inline.go
@@ -0,0 +1,13 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package markdown
+
+func ruleInline(s *StateCore) {
+ for _, tok := range s.Tokens {
+ if tok, ok := tok.(*Inline); ok {
+ tok.Children = s.Md.Inline.Parse(tok.Content, s.Md, s.Env)
+ }
+ }
+}
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/lheading.go b/vendor/gitlab.com/golang-commonmark/markdown/lheading.go
new file mode 100644
index 00000000..b404066d
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/markdown/lheading.go
@@ -0,0 +1,80 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package markdown
+
+import "strings"
+
+func ruleLHeading(s *StateBlock, startLine, endLine int, silent bool) bool {
+ nextLine := startLine + 1
+
+ if s.SCount[startLine]-s.BlkIndent >= 4 {
+ return false
+ }
+
+ oldParentType := s.ParentType
+ s.ParentType = ptParagraph
+ src := s.Src
+
+ var pos int
+ var hLevel int
+outer:
+ for ; nextLine < endLine && !s.IsLineEmpty(nextLine); nextLine++ {
+ if s.SCount[nextLine]-s.BlkIndent > 3 {
+ continue
+ }
+
+ if s.SCount[nextLine] >= s.BlkIndent {
+ pos = s.BMarks[nextLine] + s.TShift[nextLine]
+ max := s.EMarks[nextLine]
+
+ if pos < max {
+ marker := src[pos]
+
+ if marker == '-' || marker == '=' {
+ pos = s.SkipBytes(pos, marker)
+ pos = s.SkipSpaces(pos)
+
+ if pos >= max {
+ hLevel = 1
+ if marker == '-' {
+ hLevel++
+ }
+ break
+ }
+ }
+ }
+ }
+
+ if s.SCount[nextLine] < 0 {
+ continue
+ }
+
+ for _, r := range paragraphTerminatedBy {
+ if r(s, nextLine, endLine, true) {
+ break outer
+ }
+ }
+ }
+
+ if hLevel == 0 {
+ return false
+ }
+
+ s.Line = nextLine + 1
+
+ s.PushOpeningToken(&HeadingOpen{
+ HLevel: hLevel,
+ Map: [2]int{startLine, s.Line},
+ })
+ s.PushToken(&Inline{
+ Content: strings.TrimSpace(s.Lines(startLine, nextLine, s.BlkIndent, false)),
+ Map: [2]int{startLine, s.Line - 1},
+ })
+ s.PushClosingToken(&HeadingClose{HLevel: hLevel})
+
+ s.ParentType = oldParentType
+
+ return true
+}
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/link.go b/vendor/gitlab.com/golang-commonmark/markdown/link.go
new file mode 100644
index 00000000..8ab2c04b
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/markdown/link.go
@@ -0,0 +1,132 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package markdown
+
+func ruleLink(s *StateInline, silent bool) bool {
+ pos := s.Pos
+ oldPos := s.Pos
+ max := s.PosMax
+ start := s.Pos
+ parseReference := true
+ src := s.Src
+
+ if src[pos] != '[' {
+ return false
+ }
+
+ labelStart := pos + 1
+ labelEnd := parseLinkLabel(s, pos, true)
+
+ if labelEnd < 0 {
+ return false
+ }
+
+ pos = labelEnd + 1
+
+ var title, href, label string
+ if pos < max && src[pos] == '(' {
+ parseReference = false
+
+ pos++
+ for pos < max {
+ code := src[pos]
+ if !byteIsSpace(code) && code != '\n' {
+ break
+ }
+ pos++
+ }
+ if pos >= max {
+ return false
+ }
+
+ start = pos
+ url, _, endpos, ok := parseLinkDestination(src, pos, s.PosMax)
+ if ok {
+ url = normalizeLink(url)
+ if validateLink(url) {
+ pos = endpos
+ href = url
+ }
+ }
+
+ start = pos
+ for pos < max {
+ code := src[pos]
+ if !byteIsSpace(code) && code != '\n' {
+ break
+ }
+ pos++
+ }
+
+ title, _, endpos, ok = parseLinkTitle(src, pos, s.PosMax)
+ if pos < max && start != pos && ok {
+ pos = endpos
+ for pos < max {
+ code := src[pos]
+ if !byteIsSpace(code) && code != '\n' {
+ break
+ }
+ pos++
+ }
+ }
+
+ if pos >= max || src[pos] != ')' {
+ parseReference = true
+ }
+
+ pos++
+ }
+
+ if parseReference {
+ if s.Env.References == nil {
+ return false
+ }
+
+ if pos < max && src[pos] == '[' {
+ start := pos + 1
+ pos = parseLinkLabel(s, pos, false)
+ if pos >= 0 {
+ label = src[start:pos]
+ pos++
+ } else {
+ pos = labelEnd + 1
+ }
+ } else {
+ pos = labelEnd + 1
+ }
+
+ if label == "" {
+ label = src[labelStart:labelEnd]
+ }
+
+ ref, ok := s.Env.References[normalizeReference(label)]
+ if !ok {
+ s.Pos = oldPos
+ return false
+ }
+
+ href = ref["href"]
+ title = ref["title"]
+ }
+
+ if !silent {
+ s.Pos = labelStart
+ s.PosMax = labelEnd
+
+ s.PushOpeningToken(&LinkOpen{
+ Href: href,
+ Title: title,
+ })
+
+ s.Md.Inline.Tokenize(s)
+
+ s.PushClosingToken(&LinkClose{})
+ }
+
+ s.Pos = pos
+ s.PosMax = max
+
+ return true
+}
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/linkify.go b/vendor/gitlab.com/golang-commonmark/markdown/linkify.go
new file mode 100644
index 00000000..5935af1b
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/markdown/linkify.go
@@ -0,0 +1,131 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package markdown
+
+import (
+ "strings"
+
+ "gitlab.com/golang-commonmark/linkify"
+)
+
+func isLinkOpen(s string) bool { return isLetter(s[1]) }
+
+func isLinkClose(s string) bool { return s[1] == '/' }
+
+func ruleLinkify(s *StateCore) {
+ blockTokens := s.Tokens
+
+ if !s.Md.Linkify {
+ return
+ }
+
+ for _, tok := range blockTokens {
+ if tok, ok := tok.(*Inline); ok {
+ tokens := tok.Children
+
+ htmlLinkLevel := 0
+
+ for i := len(tokens) - 1; i >= 0; i-- {
+ currentTok := tokens[i]
+
+ if _, ok := currentTok.(*LinkClose); ok {
+ i--
+ for tokens[i].Level() != currentTok.Level() {
+ if _, ok := tokens[i].(*LinkOpen); ok {
+ break
+ }
+ i--
+ }
+ continue
+ }
+
+ if currentTok, ok := currentTok.(*HTMLInline); ok {
+ if isLinkOpen(currentTok.Content) && htmlLinkLevel > 0 {
+ htmlLinkLevel--
+ }
+ if isLinkClose(currentTok.Content) {
+ htmlLinkLevel++
+ }
+ }
+ if htmlLinkLevel > 0 {
+ continue
+ }
+
+ if currentTok, ok := currentTok.(*Text); ok {
+ text := currentTok.Content
+ links := linkify.Links(text)
+ if len(links) == 0 {
+ continue
+ }
+
+ var nodes []Token
+ level := currentTok.Lvl
+ lastPos := 0
+
+ for _, ln := range links {
+ urlText := text[ln.Start:ln.End]
+ url := urlText
+ if ln.Scheme == "" {
+ url = "http://" + url
+ } else if ln.Scheme == "mailto:" && !strings.HasPrefix(url, "mailto:") {
+ url = "mailto:" + url
+ }
+ url = normalizeLink(url)
+ if !validateLink(url) {
+ continue
+ }
+
+ if ln.Scheme == "" {
+ urlText = strings.TrimPrefix(normalizeLinkText("http://"+urlText), "http://")
+ } else if ln.Scheme == "mailto:" && !strings.HasPrefix(urlText, "mailto:") {
+ urlText = strings.TrimPrefix(normalizeLinkText("mailto:"+urlText), "mailto:")
+ } else {
+ urlText = normalizeLinkText(urlText)
+ }
+
+ pos := ln.Start
+
+ if pos > lastPos {
+ tok := Text{
+ Content: text[lastPos:pos],
+ Lvl: level,
+ }
+ nodes = append(nodes, &tok)
+ }
+
+ nodes = append(nodes, &LinkOpen{
+ Href: url,
+ Lvl: level,
+ })
+ nodes = append(nodes, &Text{
+ Content: urlText,
+ Lvl: level + 1,
+ })
+ nodes = append(nodes, &LinkClose{
+ Lvl: level,
+ })
+
+ lastPos = ln.End
+ }
+
+ if lastPos < len(text) {
+ tok := Text{
+ Content: text[lastPos:],
+ Lvl: level,
+ }
+ nodes = append(nodes, &tok)
+ }
+
+ children := make([]Token, len(tokens)+len(nodes)-1)
+ copy(children, tokens[:i])
+ copy(children[i:], nodes)
+ copy(children[i+len(nodes):], tokens[i+1:])
+ tok.Children = children
+ tokens = children
+ }
+ }
+ }
+ }
+}
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/list.go b/vendor/gitlab.com/golang-commonmark/markdown/list.go
new file mode 100644
index 00000000..3b2e0230
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/markdown/list.go
@@ -0,0 +1,285 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package markdown
+
+import "strconv"
+
+var listTerminatedBy []BlockRule
+
+func skipBulletListMarker(s *StateBlock, startLine int) int {
+ pos := s.BMarks[startLine] + s.TShift[startLine]
+ max := s.EMarks[startLine]
+ src := s.Src
+
+ if pos >= max {
+ return -1
+ }
+
+ marker := src[pos]
+ if marker != '*' && marker != '-' && marker != '+' {
+ return -1
+ }
+ pos++
+
+ if pos < max && !byteIsSpace(src[pos]) {
+ return -1
+ }
+
+ return pos
+}
+
+func skipOrderedListMarker(s *StateBlock, startLine int) int {
+ start := s.BMarks[startLine] + s.TShift[startLine]
+ pos := start
+ max := s.EMarks[startLine]
+
+ if pos+1 >= max {
+ return -1
+ }
+
+ src := s.Src
+ ch := src[pos]
+ if ch < '0' || ch > '9' {
+ return -1
+ }
+ pos++
+
+ for {
+ if pos >= max {
+ return -1
+ }
+
+ ch = src[pos]
+ pos++
+
+ if ch >= '0' && ch <= '9' {
+ if pos-start >= 10 {
+ return -1
+ }
+ continue
+ }
+
+ if ch == ')' || ch == '.' {
+ break
+ }
+
+ return -1
+ }
+
+ if pos < max && !byteIsSpace(src[pos]) {
+ return -1
+ }
+
+ return pos
+}
+
+func markParagraphsTight(s *StateBlock, idx int) {
+ level := s.Level + 2
+ tokens := s.Tokens
+
+ for i := idx + 2; i < len(tokens)-2; i++ {
+ if tokens[i].Level() == level {
+ if tok, ok := tokens[i].(*ParagraphOpen); ok {
+ tok.Hidden = true
+ i += 2
+ tokens[i].(*ParagraphClose).Hidden = true
+ }
+ }
+ }
+}
+
+func ruleList(s *StateBlock, startLine, endLine int, silent bool) bool {
+ isTerminatingParagraph := false
+ tight := true
+
+ if s.SCount[startLine]-s.BlkIndent >= 4 {
+ return false
+ }
+ src := s.Src
+
+ if silent && s.ParentType == ptParagraph {
+ if s.TShift[startLine] >= s.BlkIndent {
+ isTerminatingParagraph = true
+ }
+ }
+
+ var start int
+ var markerValue int
+
+ isOrdered := false
+ posAfterMarker := skipOrderedListMarker(s, startLine)
+ if posAfterMarker > 0 {
+ isOrdered = true
+ start = s.BMarks[startLine] + s.TShift[startLine]
+ markerValue, _ = strconv.Atoi(src[start : posAfterMarker-1])
+
+ if isTerminatingParagraph && markerValue != 1 {
+ return false
+ }
+ } else {
+ posAfterMarker = skipBulletListMarker(s, startLine)
+ if posAfterMarker < 0 {
+ return false
+ }
+ }
+
+ if isTerminatingParagraph {
+ if s.SkipSpaces(posAfterMarker) >= s.EMarks[startLine] {
+ return false
+ }
+ }
+
+ markerChar := src[posAfterMarker-1]
+
+ if silent {
+ return true
+ }
+
+ tokenIdx := len(s.Tokens)
+
+ var listMap *[2]int
+ if isOrdered {
+ tok := &OrderedListOpen{
+ Order: markerValue,
+ Map: [2]int{startLine, 0},
+ }
+ s.PushOpeningToken(tok)
+ listMap = &tok.Map
+ } else {
+ tok := &BulletListOpen{
+ Map: [2]int{startLine, 0},
+ }
+ s.PushOpeningToken(tok)
+ listMap = &tok.Map
+ }
+
+ nextLine := startLine
+ prevEmptyEnd := false
+
+ oldParentType := s.ParentType
+ s.ParentType = ptList
+
+ var pos int
+ var contentStart int
+
+outer:
+ for nextLine < endLine {
+ pos = posAfterMarker
+ max := s.EMarks[nextLine]
+
+ initial := s.SCount[nextLine] + posAfterMarker - (s.BMarks[startLine] + s.TShift[startLine])
+ offset := initial
+
+ loop:
+ for pos < max {
+ switch src[pos] {
+ case '\t':
+ offset += 4 - (offset+s.BSCount[nextLine])%4
+ case ' ':
+ offset++
+ default:
+ break loop
+ }
+ pos++
+ }
+
+ contentStart = pos
+
+ indentAfterMarker := 1
+ if contentStart < max {
+ if iam := offset - initial; iam <= 4 {
+ indentAfterMarker = iam
+ }
+ }
+
+ indent := initial + indentAfterMarker
+
+ tok := &ListItemOpen{
+ Map: [2]int{startLine, 0},
+ }
+ s.PushOpeningToken(tok)
+ itemMap := &tok.Map
+
+ oldIndent := s.BlkIndent
+ oldTight := s.Tight
+ oldTShift := s.TShift[startLine]
+ oldLIndent := s.SCount[startLine]
+ s.BlkIndent = indent
+ s.Tight = true
+ s.TShift[startLine] = contentStart - s.BMarks[startLine]
+ s.SCount[startLine] = offset
+
+ if contentStart >= max && s.IsLineEmpty(startLine+1) {
+ s.Line = min(s.Line+2, endLine)
+ } else {
+ s.Md.Block.Tokenize(s, startLine, endLine)
+ }
+
+ if !s.Tight || prevEmptyEnd {
+ tight = false
+ }
+
+ prevEmptyEnd = s.Line-startLine > 1 && s.IsLineEmpty(s.Line-1)
+
+ s.BlkIndent = oldIndent
+ s.TShift[startLine] = oldTShift
+ s.SCount[startLine] = oldLIndent
+ s.Tight = oldTight
+
+ s.PushClosingToken(&ListItemClose{})
+
+ startLine = s.Line
+ nextLine = startLine
+ (*itemMap)[1] = nextLine
+
+ if nextLine >= endLine {
+ break
+ }
+
+ contentStart = s.BMarks[startLine]
+
+ if s.SCount[nextLine] < s.BlkIndent {
+ break
+ }
+
+ for _, r := range listTerminatedBy {
+ if r(s, nextLine, endLine, true) {
+ break outer
+ }
+ }
+
+ if isOrdered {
+ posAfterMarker = skipOrderedListMarker(s, nextLine)
+ if posAfterMarker < 0 {
+ break
+ }
+ } else {
+ posAfterMarker = skipBulletListMarker(s, nextLine)
+ if posAfterMarker < 0 {
+ break
+ }
+ }
+
+ if markerChar != src[posAfterMarker-1] {
+ break
+ }
+ }
+
+ if isOrdered {
+ s.PushClosingToken(&OrderedListClose{})
+ } else {
+ s.PushClosingToken(&BulletListClose{})
+ }
+
+ (*listMap)[1] = nextLine
+ s.Line = nextLine
+ s.ParentType = oldParentType
+
+ if tight {
+ markParagraphsTight(s, tokenIdx)
+ }
+
+ return true
+}
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/markdown.go b/vendor/gitlab.com/golang-commonmark/markdown/markdown.go
new file mode 100644
index 00000000..1e37b3ae
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/markdown/markdown.go
@@ -0,0 +1,112 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Package markdown provides CommonMark-compliant markdown parser and renderer.
+package markdown
+
+import (
+ "bytes"
+ "io"
+)
+
+type Markdown struct {
+ options
+ Block ParserBlock
+ Inline ParserInline
+ renderOptions RenderOptions
+}
+
+type RenderOptions struct {
+ LangPrefix string // CSS language class prefix for fenced blocks
+ XHTML bool // render as XHTML instead of HTML
+ Breaks bool // convert \n in paragraphs into
+ Nofollow bool // add rel="nofollow" to the links
+}
+
+type options struct {
+ HTML bool // allow raw HTML in the markup
+ Tables bool // GFM tables
+ Linkify bool // autoconvert URL-like text to links
+ Typographer bool // enable some typographic replacements
+ Quotes [4]string // double/single quotes replacement pairs
+ MaxNesting int // maximum nesting level
+}
+
+type Environment struct {
+ References map[string]map[string]string
+}
+
+type CoreRule func(*StateCore)
+
+var coreRules []CoreRule
+
+func New(opts ...option) *Markdown {
+ m := &Markdown{
+ options: options{
+ Tables: true,
+ Linkify: true,
+ Typographer: true,
+ Quotes: [4]string{"“", "”", "‘", "’"},
+ MaxNesting: 20,
+ },
+ renderOptions: RenderOptions{LangPrefix: "language-"},
+ }
+ for _, opt := range opts {
+ opt(m)
+ }
+ return m
+}
+
+func (m *Markdown) Parse(src []byte) []Token {
+ if len(src) == 0 {
+ return nil
+ }
+
+ s := &StateCore{
+ Md: m,
+ Env: &Environment{},
+ }
+ s.Tokens = m.Block.Parse(src, m, s.Env)
+
+ for _, r := range coreRules {
+ r(s)
+ }
+ return s.Tokens
+}
+
+func (m *Markdown) Render(w io.Writer, src []byte) error {
+ if len(src) == 0 {
+ return nil
+ }
+
+ return NewRenderer(w).Render(m.Parse(src), m.renderOptions)
+}
+
+func (m *Markdown) RenderTokens(w io.Writer, tokens []Token) error {
+ if len(tokens) == 0 {
+ return nil
+ }
+
+ return NewRenderer(w).Render(tokens, m.renderOptions)
+}
+
+func (m *Markdown) RenderToString(src []byte) string {
+ if len(src) == 0 {
+ return ""
+ }
+
+ var buf bytes.Buffer
+ NewRenderer(&buf).Render(m.Parse(src), m.renderOptions)
+ return buf.String()
+}
+
+func (m *Markdown) RenderTokensToString(tokens []Token) string {
+ if len(tokens) == 0 {
+ return ""
+ }
+
+ var buf bytes.Buffer
+ NewRenderer(&buf).Render(tokens, m.renderOptions)
+ return buf.String()
+}
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/newline.go b/vendor/gitlab.com/golang-commonmark/markdown/newline.go
new file mode 100644
index 00000000..c69fa3d9
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/markdown/newline.go
@@ -0,0 +1,46 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package markdown
+
+func ruleNewline(s *StateInline, silent bool) bool {
+ pos := s.Pos
+ src := s.Src
+
+ if src[pos] != '\n' {
+ return false
+ }
+
+ pending := s.Pending.Bytes()
+ pmax := len(pending) - 1
+ max := s.PosMax
+
+ if !silent {
+ if pmax >= 0 && pending[pmax] == ' ' {
+ if pmax >= 1 && pending[pmax-1] == ' ' {
+ pmax -= 2
+ for pmax >= 0 && pending[pmax] == ' ' {
+ pmax--
+ }
+ s.Pending.Truncate(pmax + 1)
+ s.PushToken(&Hardbreak{})
+ } else {
+ s.Pending.Truncate(pmax)
+ s.PushToken(&Softbreak{})
+ }
+ } else {
+ s.PushToken(&Softbreak{})
+ }
+ }
+
+ pos++
+
+ for pos < max && byteIsSpace(src[pos]) {
+ pos++
+ }
+
+ s.Pos = pos
+
+ return true
+}
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/options.go b/vendor/gitlab.com/golang-commonmark/markdown/options.go
new file mode 100644
index 00000000..7e5b2cf3
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/markdown/options.go
@@ -0,0 +1,77 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package markdown
+
+type option func(m *Markdown)
+
+func HTML(b bool) option {
+ return func(m *Markdown) {
+ m.HTML = b
+ }
+}
+
+func Linkify(b bool) option {
+ return func(m *Markdown) {
+ m.Linkify = b
+ }
+}
+
+func Typographer(b bool) option {
+ return func(m *Markdown) {
+ m.Typographer = b
+ }
+}
+
+func Quotes(stringOrArray interface{}) option {
+ if s, ok := stringOrArray.(string); ok {
+ return func(m *Markdown) {
+ for i, r := range []rune(s) {
+ m.Quotes[i] = string(r)
+ }
+ }
+ }
+ a := stringOrArray.([]string)
+ return func(m *Markdown) {
+ for i, s := range a {
+ m.Quotes[i] = s
+ }
+ }
+}
+
+func MaxNesting(n int) option {
+ return func(m *Markdown) {
+ m.MaxNesting = n
+ }
+}
+
+func XHTMLOutput(b bool) option {
+ return func(m *Markdown) {
+ m.renderOptions.XHTML = b
+ }
+}
+
+func Breaks(b bool) option {
+ return func(m *Markdown) {
+ m.renderOptions.Breaks = b
+ }
+}
+
+func LangPrefix(p string) option {
+ return func(m *Markdown) {
+ m.renderOptions.LangPrefix = p
+ }
+}
+
+func Nofollow(b bool) option {
+ return func(m *Markdown) {
+ m.renderOptions.Nofollow = b
+ }
+}
+
+func Tables(b bool) option {
+ return func(m *Markdown) {
+ m.Tables = b
+ }
+}
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/paragraph.go b/vendor/gitlab.com/golang-commonmark/markdown/paragraph.go
new file mode 100644
index 00000000..a3003ef6
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/markdown/paragraph.go
@@ -0,0 +1,51 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package markdown
+
+import "strings"
+
+var paragraphTerminatedBy []BlockRule
+
+func ruleParagraph(s *StateBlock, startLine, _ int, _ bool) bool {
+ nextLine := startLine + 1
+ endLine := s.LineMax
+
+ oldParentType := s.ParentType
+ s.ParentType = ptParagraph
+
+outer:
+ for ; nextLine < endLine && !s.IsLineEmpty(nextLine); nextLine++ {
+ if s.SCount[nextLine]-s.BlkIndent > 3 {
+ continue
+ }
+
+ if s.SCount[nextLine] < 0 {
+ continue
+ }
+
+ for _, r := range paragraphTerminatedBy {
+ if r(s, nextLine, endLine, true) {
+ break outer
+ }
+ }
+ }
+
+ content := strings.TrimSpace(s.Lines(startLine, nextLine, s.BlkIndent, false))
+
+ s.Line = nextLine
+
+ s.PushOpeningToken(&ParagraphOpen{
+ Map: [2]int{startLine, s.Line},
+ })
+ s.PushToken(&Inline{
+ Content: content,
+ Map: [2]int{startLine, s.Line},
+ })
+ s.PushClosingToken(&ParagraphClose{})
+
+ s.ParentType = oldParentType
+
+ return true
+}
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/parser_block.go b/vendor/gitlab.com/golang-commonmark/markdown/parser_block.go
new file mode 100644
index 00000000..8a6ee1ad
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/markdown/parser_block.go
@@ -0,0 +1,159 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package markdown
+
+import (
+ "bytes"
+ "unicode/utf8"
+)
+
+type ParserBlock struct{}
+
+type BlockRule func(*StateBlock, int, int, bool) bool
+
+var blockRules []BlockRule
+
+var nl = []byte{'\n'}
+
+func normalizeNewlines(src []byte) ([]byte, int) {
+ if bytes.IndexByte(src, '\r') == -1 {
+ return src, bytes.Count(src, nl)
+ }
+ n := 0
+ buf := make([]byte, 0, len(src))
+ for i := 0; i < len(src); i++ {
+ switch ch := src[i]; ch {
+ case '\n':
+ n++
+ buf = append(buf, '\n')
+ case '\r':
+ buf = append(buf, '\n')
+ n++
+ if i < len(src)-1 && src[i+1] == '\n' {
+ i++
+ }
+ default:
+ buf = append(buf, ch)
+ }
+ }
+ return buf, n
+}
+
+func (b ParserBlock) Parse(src []byte, md *Markdown, env *Environment) []Token {
+ src, n := normalizeNewlines(src)
+ if len(src) == 0 || src[len(src)-1] != '\n' {
+ n++
+ }
+ n++
+
+ indentFound := false
+ start := 0
+ indent := 0
+ offset := 0
+
+ mem := make([]int, 0, n*5)
+ bMarks := mem[0:0:n]
+ eMarks := mem[n : n : n*2]
+ tShift := mem[n*2 : n*2 : n*3]
+ sCount := mem[n*3 : n*3 : n*4]
+ bsCount := mem[n*4 : n*4 : n*5]
+
+ _, lastRuneLen := utf8.DecodeLastRune(src)
+ lastRunePos := len(src) - lastRuneLen
+ for pos, r := range string(src) {
+ if !indentFound {
+ if runeIsSpace(r) {
+ indent++
+ if r == '\t' {
+ offset += 4 - offset%4
+ } else {
+ offset++
+ }
+ continue
+ }
+ indentFound = true
+ }
+
+ if r == '\n' || pos == lastRunePos {
+ if r != '\n' {
+ pos = len(src)
+ }
+ bMarks = append(bMarks, start)
+ eMarks = append(eMarks, pos)
+ tShift = append(tShift, indent)
+ sCount = append(sCount, offset)
+ bsCount = append(bsCount, 0)
+
+ indentFound = false
+ indent = 0
+ offset = 0
+ start = pos + 1
+ }
+ }
+
+ bMarks = append(bMarks, len(src))
+ eMarks = append(eMarks, len(src))
+ tShift = append(tShift, 0)
+ sCount = append(sCount, 0)
+ bsCount = append(bsCount, 0)
+
+ var s StateBlock
+ s.BMarks = bMarks
+ s.EMarks = eMarks
+ s.TShift = tShift
+ s.SCount = sCount
+ s.BSCount = bsCount
+ s.LineMax = n - 1
+ s.Src = string(src)
+ s.Md = md
+ s.Env = env
+
+ b.Tokenize(&s, s.Line, s.LineMax)
+
+ return s.Tokens
+}
+
+func (ParserBlock) Tokenize(s *StateBlock, startLine, endLine int) {
+ line := startLine
+ hasEmptyLines := false
+ maxNesting := s.Md.MaxNesting
+
+ for line < endLine {
+ line = s.SkipEmptyLines(line)
+ s.Line = line
+ if line >= endLine {
+ break
+ }
+
+ if s.SCount[line] < s.BlkIndent {
+ break
+ }
+
+ if s.Level >= maxNesting {
+ s.Line = endLine
+ break
+ }
+
+ for _, r := range blockRules {
+ if r(s, line, endLine, false) {
+ break
+ }
+ }
+
+ s.Tight = !hasEmptyLines
+
+ if s.IsLineEmpty(s.Line - 1) {
+ hasEmptyLines = true
+ }
+
+ line = s.Line
+
+ if line < endLine && s.IsLineEmpty(line) {
+ hasEmptyLines = true
+ line++
+ s.Line = line
+ }
+ }
+}
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/parser_inline.go b/vendor/gitlab.com/golang-commonmark/markdown/parser_inline.go
new file mode 100644
index 00000000..5e976ebd
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/markdown/parser_inline.go
@@ -0,0 +1,106 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package markdown
+
+import "unicode/utf8"
+
+type ParserInline struct {
+}
+
+type (
+ InlineRule func(*StateInline, bool) bool
+ PostprocessRule func(*StateInline)
+)
+
+var (
+ inlineRules []InlineRule
+ postprocessRules []PostprocessRule
+)
+
+func (i ParserInline) Parse(src string, md *Markdown, env *Environment) []Token {
+ if src == "" {
+ return nil
+ }
+
+ var s StateInline
+ s.Src = src
+ s.Md = md
+ s.Env = env
+ s.PosMax = len(src)
+ s.Tokens = s.bootstrap[:0]
+
+ i.Tokenize(&s)
+
+ for _, r := range postprocessRules {
+ r(&s)
+ }
+
+ return s.Tokens
+}
+
+func (ParserInline) Tokenize(s *StateInline) {
+ end := s.PosMax
+ src := s.Src
+ maxNesting := s.Md.MaxNesting
+ ok := false
+
+ for s.Pos < end {
+ if s.Level < maxNesting {
+ for _, rule := range inlineRules {
+ ok = rule(s, false)
+ if ok {
+ break
+ }
+ }
+ }
+
+ if ok {
+ if s.Pos >= end {
+ break
+ }
+ continue
+ }
+
+ r, size := utf8.DecodeRuneInString(src[s.Pos:])
+ s.Pending.WriteRune(r)
+ s.Pos += size
+ }
+
+ if s.Pending.Len() > 0 {
+ s.PushPending()
+ }
+}
+
+func (ParserInline) SkipToken(s *StateInline) {
+ pos := s.Pos
+ if s.Cache != nil {
+ if newPos, ok := s.Cache[pos]; ok {
+ s.Pos = newPos
+ return
+ }
+ } else {
+ s.Cache = make(map[int]int)
+ }
+
+ ok := false
+ if s.Level < s.Md.MaxNesting {
+ for _, r := range inlineRules {
+ s.Level++
+ ok = r(s, true)
+ s.Level--
+ if ok {
+ break
+ }
+ }
+ } else {
+ s.Pos = s.PosMax
+ }
+
+ if !ok {
+ _, size := utf8.DecodeRuneInString(s.Src[s.Pos:])
+ s.Pos += size
+ }
+ s.Cache[pos] = s.Pos
+}
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/plugins.go b/vendor/gitlab.com/golang-commonmark/markdown/plugins.go
new file mode 100644
index 00000000..5ba818cd
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/markdown/plugins.go
@@ -0,0 +1,158 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package markdown
+
+import "sort"
+
+type registeredCoreRule struct {
+ id int
+ rule CoreRule
+}
+
+var registeredCoreRules []registeredCoreRule
+
+type registeredBlockRule struct {
+ id int
+ rule BlockRule
+ terminates []int
+}
+
+var registeredBlockRules []registeredBlockRule
+
+type registeredInlineRule struct {
+ id int
+ rule InlineRule
+}
+
+var registeredInlineRules []registeredInlineRule
+
+type registeredPostprocessRule struct {
+ id int
+ rule PostprocessRule
+}
+
+var registeredPostprocessRules []registeredPostprocessRule
+
+func indexInt(a []int, n int) int {
+ for i, m := range a {
+ if m == n {
+ return i
+ }
+ }
+ return -1
+}
+
+func RegisterCoreRule(id int, rule CoreRule) {
+ registeredCoreRules = append(registeredCoreRules, registeredCoreRule{
+ id: id,
+ rule: rule,
+ })
+ sort.Slice(registeredCoreRules, func(i, j int) bool {
+ return registeredCoreRules[i].id < registeredCoreRules[j].id
+ })
+
+ coreRules = coreRules[:0]
+ for _, r := range registeredCoreRules {
+ coreRules = append(coreRules, r.rule)
+ }
+}
+
+func RegisterBlockRule(id int, rule BlockRule, terminates []int) {
+ registeredBlockRules = append(registeredBlockRules, registeredBlockRule{
+ id: id,
+ rule: rule,
+ terminates: terminates,
+ })
+ sort.Slice(registeredBlockRules, func(i, j int) bool {
+ return registeredBlockRules[i].id < registeredBlockRules[j].id
+ })
+
+ blockRules = blockRules[:0]
+ blockquoteTerminatedBy = blockquoteTerminatedBy[:0]
+ listTerminatedBy = listTerminatedBy[:0]
+ referenceTerminatedBy = referenceTerminatedBy[:0]
+ paragraphTerminatedBy = paragraphTerminatedBy[:0]
+ for _, r := range registeredBlockRules {
+ blockRules = append(blockRules, r.rule)
+ if indexInt(r.terminates, 400) != -1 {
+ blockquoteTerminatedBy = append(blockquoteTerminatedBy, r.rule)
+ }
+ if indexInt(r.terminates, 600) != -1 {
+ listTerminatedBy = append(listTerminatedBy, r.rule)
+ }
+ if indexInt(r.terminates, 700) != -1 {
+ referenceTerminatedBy = append(referenceTerminatedBy, r.rule)
+ }
+ if indexInt(r.terminates, 1100) != -1 {
+ paragraphTerminatedBy = append(paragraphTerminatedBy, r.rule)
+ }
+ }
+}
+
+func RegisterInlineRule(id int, rule InlineRule) {
+ registeredInlineRules = append(registeredInlineRules, registeredInlineRule{
+ id: id,
+ rule: rule,
+ })
+ sort.Slice(registeredInlineRules, func(i, j int) bool {
+ return registeredInlineRules[i].id < registeredInlineRules[j].id
+ })
+
+ inlineRules = inlineRules[:0]
+ for _, r := range registeredInlineRules {
+ inlineRules = append(inlineRules, r.rule)
+ }
+}
+
+func RegisterPostprocessRule(id int, rule PostprocessRule) {
+ registeredPostprocessRules = append(registeredPostprocessRules, registeredPostprocessRule{
+ id: id,
+ rule: rule,
+ })
+ sort.Slice(registeredPostprocessRules, func(i, j int) bool {
+ return registeredPostprocessRules[i].id < registeredPostprocessRules[j].id
+ })
+
+ postprocessRules = postprocessRules[:0]
+ for _, r := range registeredPostprocessRules {
+ postprocessRules = append(postprocessRules, r.rule)
+ }
+}
+
+func init() {
+ RegisterCoreRule(100, ruleInline)
+ RegisterCoreRule(200, ruleLinkify)
+ RegisterCoreRule(300, ruleReplacements)
+ RegisterCoreRule(400, ruleSmartQuotes)
+
+ RegisterBlockRule(100, ruleTable, []int{1100, 700})
+ RegisterBlockRule(200, ruleCode, nil)
+ RegisterBlockRule(300, ruleFence, []int{1100, 700, 400, 600})
+ RegisterBlockRule(400, ruleBlockQuote, []int{1100, 700, 400, 600})
+ RegisterBlockRule(500, ruleHR, []int{1100, 700, 400, 600})
+ RegisterBlockRule(600, ruleList, []int{1100, 700, 400})
+ RegisterBlockRule(700, ruleReference, nil)
+ RegisterBlockRule(800, ruleHeading, []int{1100, 700, 400})
+ RegisterBlockRule(900, ruleLHeading, nil)
+ RegisterBlockRule(1000, ruleHTMLBlock, []int{1100, 700, 400})
+ RegisterBlockRule(1100, ruleParagraph, nil)
+
+ RegisterInlineRule(100, ruleText)
+ RegisterInlineRule(200, ruleNewline)
+ RegisterInlineRule(300, ruleEscape)
+ RegisterInlineRule(400, ruleBackticks)
+ RegisterInlineRule(500, ruleStrikeThrough)
+ RegisterInlineRule(600, ruleEmphasis)
+ RegisterInlineRule(700, ruleLink)
+ RegisterInlineRule(800, ruleImage)
+ RegisterInlineRule(900, ruleAutolink)
+ RegisterInlineRule(1000, ruleHTMLInline)
+ RegisterInlineRule(1100, ruleEntity)
+
+ RegisterPostprocessRule(100, ruleBalancePairs)
+ RegisterPostprocessRule(200, ruleStrikethroughPostprocess)
+ RegisterPostprocessRule(300, ruleEmphasisPostprocess)
+ RegisterPostprocessRule(400, ruleTextCollapse)
+}
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/reference.go b/vendor/gitlab.com/golang-commonmark/markdown/reference.go
new file mode 100644
index 00000000..6e97809e
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/markdown/reference.go
@@ -0,0 +1,173 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package markdown
+
+import "strings"
+
+var referenceTerminatedBy []BlockRule
+
+func ruleReference(s *StateBlock, startLine, _ int, silent bool) bool {
+ lines := 0
+ pos := s.BMarks[startLine] + s.TShift[startLine]
+ max := s.EMarks[startLine]
+ nextLine := startLine + 1
+
+ if s.SCount[startLine]-s.BlkIndent >= 4 {
+ return false
+ }
+
+ src := s.Src
+
+ if src[pos] != '[' {
+ return false
+ }
+
+ pos++
+ for pos < max {
+ if src[pos] == ']' && src[pos-1] != '\\' {
+ if pos+1 == max {
+ return false
+ }
+ if src[pos+1] != ':' {
+ return false
+ }
+ break
+ }
+ pos++
+ }
+
+ endLine := s.LineMax
+
+ oldParentType := s.ParentType
+ s.ParentType = ptReference
+outer:
+ for ; nextLine < endLine && !s.IsLineEmpty(nextLine); nextLine++ {
+ if s.SCount[nextLine]-s.BlkIndent > 3 {
+ continue
+ }
+
+ if s.SCount[nextLine] < 0 {
+ continue
+ }
+
+ for _, r := range referenceTerminatedBy {
+ if r(s, nextLine, endLine, true) {
+ break outer
+ }
+ }
+ }
+
+ str := strings.TrimSpace(s.Lines(startLine, nextLine, s.BlkIndent, false))
+ max = len(str)
+
+ var labelEnd int
+ for pos = 1; pos < max; pos++ {
+ b := str[pos]
+ if b == '[' {
+ return false
+ } else if b == ']' {
+ labelEnd = pos
+ break
+ } else if b == '\n' {
+ lines++
+ } else if b == '\\' {
+ pos++
+ if pos < max && str[pos] == '\n' {
+ lines++
+ }
+ }
+ }
+
+ if labelEnd <= 0 || labelEnd+1 >= max || str[labelEnd+1] != ':' {
+ return false
+ }
+
+ for pos = labelEnd + 2; pos < max; pos++ {
+ b := str[pos]
+ if b == '\n' {
+ lines++
+ } else if !byteIsSpace(b) {
+ break
+ }
+ }
+
+ href, nlines, endpos, ok := parseLinkDestination(str, pos, max)
+ if !ok {
+ return false
+ }
+ href = normalizeLink(href)
+ if !validateLink(href) {
+ return false
+ }
+
+ pos = endpos
+ lines += nlines
+
+ destEndPos := pos
+ destEndLineNo := lines
+
+ start := pos
+ for ; pos < max; pos++ {
+ b := str[pos]
+ if b == '\n' {
+ lines++
+ } else if !byteIsSpace(b) {
+ break
+ }
+ }
+
+ title, nlines, endpos, ok := parseLinkTitle(str, pos, max)
+ if pos < max && start != pos && ok {
+ pos = endpos
+ lines += nlines
+ } else {
+ pos = destEndPos
+ lines = destEndLineNo
+ }
+
+ for pos < max && byteIsSpace(str[pos]) {
+ pos++
+ }
+
+ if pos < max && str[pos] != '\n' {
+ if title != "" {
+ title = ""
+ pos = destEndPos
+ lines = destEndLineNo
+ for pos < max && byteIsSpace(src[pos]) {
+ pos++
+ }
+ }
+ }
+
+ if pos < max && str[pos] != '\n' {
+ return false
+ }
+
+ label := normalizeReference(str[1:labelEnd])
+ if label == "" {
+ return false
+ }
+
+ if silent {
+ return true
+ }
+
+ if s.Env.References == nil {
+ s.Env.References = make(map[string]map[string]string)
+ }
+ if _, ok := s.Env.References[label]; !ok {
+ s.Env.References[label] = map[string]string{
+ "title": title,
+ "href": href,
+ }
+ }
+
+ s.ParentType = oldParentType
+
+ s.Line = startLine + lines + 1
+
+ return true
+}
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/render.go b/vendor/gitlab.com/golang-commonmark/markdown/render.go
new file mode 100644
index 00000000..3955f051
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/markdown/render.go
@@ -0,0 +1,333 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package markdown
+
+import (
+ "io"
+ "regexp"
+ "strconv"
+ "strings"
+
+ "gitlab.com/golang-commonmark/html"
+)
+
+type Renderer struct {
+ w *monadicWriter
+}
+
+func NewRenderer(w io.Writer) *Renderer {
+ return &Renderer{newMonadicWriter(w)}
+}
+
+func (r *Renderer) Render(tokens []Token, options RenderOptions) error {
+ for i, tok := range tokens {
+ if tok, ok := tok.(*Inline); ok {
+ r.renderInline(tok.Children, options)
+ } else {
+ r.renderToken(tokens, i, options)
+ }
+ }
+
+ r.w.Flush()
+
+ return r.w.err
+}
+
+func (r *Renderer) renderInline(tokens []Token, o RenderOptions) {
+ for i := range tokens {
+ r.renderToken(tokens, i, o)
+ }
+}
+
+func (r *Renderer) renderInlineAsText(tokens []Token) {
+ for _, tok := range tokens {
+ if text, ok := tok.(*Text); ok {
+ html.WriteEscapedString(r.w, text.Content)
+ } else if img, ok := tok.(*Image); ok {
+ r.renderInlineAsText(img.Tokens)
+ }
+ }
+}
+
+var rNotSpace = regexp.MustCompile(`^\S+`)
+
+func (r *Renderer) renderToken(tokens []Token, idx int, options RenderOptions) {
+ tok := tokens[idx]
+
+ if idx > 0 && tok.Block() && !tok.Closing() {
+ switch t := tokens[idx-1].(type) {
+ case *ParagraphOpen:
+ if t.Hidden {
+ r.w.WriteByte('\n')
+ }
+ case *ParagraphClose:
+ if t.Hidden {
+ r.w.WriteByte('\n')
+ }
+ }
+ }
+
+ switch tok := tok.(type) {
+ case *BlockquoteClose:
+ r.w.WriteString("")
+
+ case *BlockquoteOpen:
+ r.w.WriteString("")
+
+ case *BulletListClose:
+ r.w.WriteString("")
+
+ case *BulletListOpen:
+ r.w.WriteString("
")
+
+ case *CodeBlock:
+ r.w.WriteString("
")
+
+ case *CodeInline:
+ r.w.WriteString("")
+ html.WriteEscapedString(r.w, tok.Content)
+ r.w.WriteString("
")
+ html.WriteEscapedString(r.w, tok.Content)
+ r.w.WriteString("
")
+
+ case *EmphasisClose:
+ r.w.WriteString("")
+
+ case *EmphasisOpen:
+ r.w.WriteString("")
+
+ case *Fence:
+ r.w.WriteString("
")
+
+ case *Hardbreak:
+ if options.XHTML {
+ r.w.WriteString("')
+ html.WriteEscapedString(r.w, tok.Content)
+ r.w.WriteString("
\n")
+ } else {
+ r.w.WriteString("
\n")
+ }
+
+ case *HeadingClose:
+ r.w.WriteString("")
+
+ case *HeadingOpen:
+ r.w.WriteString("
")
+ } else {
+ r.w.WriteString("
")
+ }
+
+ case *HTMLBlock:
+ r.w.WriteString(tok.Content)
+ return // no newline
+
+ case *HTMLInline:
+ r.w.WriteString(tok.Content)
+
+ case *Image:
+ r.w.WriteString(`")
+ } else {
+ r.w.WriteByte('>')
+ }
+
+ case *LinkClose:
+ r.w.WriteString("")
+
+ case *LinkOpen:
+ r.w.WriteString(`')
+
+ case *ListItemClose:
+ r.w.WriteString("")
+
+ case *ListItemOpen:
+ r.w.WriteString("`)
+ } else {
+ r.w.WriteString("
")
+ }
+
+ case *ParagraphClose:
+ if tok.Hidden {
+ return
+ }
+ if !tok.Tight {
+ r.w.WriteString("
")
+ }
+
+ case *Softbreak:
+ if options.Breaks {
+ if options.XHTML {
+ r.w.WriteString("
\n")
+ } else {
+ r.w.WriteString("
\n")
+ }
+ } else {
+ r.w.WriteByte('\n')
+ }
+ return
+
+ case *StrongClose:
+ r.w.WriteString("")
+
+ case *StrongOpen:
+ r.w.WriteString("")
+
+ case *StrikethroughClose:
+ r.w.WriteString("")
+
+ case *StrikethroughOpen:
+ r.w.WriteString("")
+
+ case *TableClose:
+ r.w.WriteString("")
+
+ case *TableOpen:
+ r.w.WriteString("")
+
+ case *TbodyClose:
+ r.w.WriteString("")
+
+ case *TbodyOpen:
+ r.w.WriteString("")
+
+ case *TdClose:
+ r.w.WriteString("")
+
+ case *TdOpen:
+ if tok.Align != AlignNone {
+ r.w.WriteString(`
`)
+ } else {
+ r.w.WriteString(" ")
+ }
+
+ case *Text:
+ html.WriteEscapedString(r.w, tok.Content)
+
+ case *TheadClose:
+ r.w.WriteString("")
+
+ case *TheadOpen:
+ r.w.WriteString("")
+
+ case *ThClose:
+ r.w.WriteString("")
+
+ case *ThOpen:
+ if align := tok.Align; align != AlignNone {
+ r.w.WriteString(` `)
+ } else {
+ r.w.WriteString(" ")
+ }
+
+ case *TrClose:
+ r.w.WriteString("")
+
+ case *TrOpen:
+ r.w.WriteString(" ")
+
+ default:
+ panic("unknown token type")
+ }
+
+ needLf := false
+ if tok.Block() {
+ needLf = true
+
+ if tok.Opening() {
+ nextTok := tokens[idx+1]
+ blockquote := false
+ switch nextTok := nextTok.(type) {
+ case *Inline:
+ needLf = false
+ case *ParagraphOpen:
+ if nextTok.Tight || nextTok.Hidden {
+ needLf = false
+ }
+ case *ParagraphClose:
+ if nextTok.Tight || nextTok.Hidden {
+ needLf = false
+ }
+ case *BlockquoteClose:
+ blockquote = true
+ }
+ if !blockquote && needLf && nextTok.Closing() && nextTok.Tag() == tok.Tag() {
+ needLf = false
+ }
+ }
+ }
+
+ if needLf {
+ r.w.WriteByte('\n')
+ }
+}
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/replacements.go b/vendor/gitlab.com/golang-commonmark/markdown/replacements.go
new file mode 100644
index 00000000..8d67af6e
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/markdown/replacements.go
@@ -0,0 +1,229 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package markdown
+
+import "strings"
+
+func exclquest(b byte) bool {
+ return b == '!' || b == '?'
+}
+
+func byteToLower(b byte) byte {
+ if b >= 'A' && b <= 'Z' {
+ return b - 'A' + 'a'
+ }
+ return b
+}
+
+var replChar = [256]bool{
+ '(': true,
+ '!': true,
+ '+': true,
+ ',': true,
+ '-': true,
+ '.': true,
+ '?': true,
+}
+
+func performReplacements(s string) string {
+ var ss []string
+
+ start := 0
+ for i := 0; i < len(s); i++ {
+ b := s[i]
+
+ if replChar[b] {
+
+ outer:
+ switch b {
+ case '(':
+ if i+2 >= len(s) {
+ break
+ }
+
+ b2 := s[i+1]
+
+ b2 = byteToLower(b2)
+ switch b2 {
+ case 'c', 'r', 'p':
+ if s[i+2] != ')' {
+ break outer
+ }
+ switch b2 {
+ case 'c':
+ if start < i {
+ ss = append(ss, s[start:i])
+ }
+ ss = append(ss, "©")
+ case 'r':
+ if start < i {
+ ss = append(ss, s[start:i])
+ }
+ ss = append(ss, "®")
+ case 'p':
+ if start < i {
+ ss = append(ss, s[start:i])
+ }
+ ss = append(ss, "§")
+ }
+ i += 2
+ start = i + 1
+ continue
+
+ case 't':
+ if i+3 >= len(s) {
+ break outer
+ }
+ if s[i+3] != ')' || byteToLower(s[i+2]) != 'm' {
+ break outer
+ }
+ if start < i {
+ ss = append(ss, s[start:i])
+ }
+ ss = append(ss, "™")
+ i += 3
+ start = i + 1
+ continue
+ default:
+ break outer
+ }
+
+ case '+':
+ if i+1 >= len(s) || s[i+1] != '-' {
+ break
+ }
+ if start < i {
+ ss = append(ss, s[start:i])
+ }
+ ss = append(ss, "±")
+ i++
+ start = i + 1
+ continue
+
+ case '.':
+ if i+1 >= len(s) || s[i+1] != '.' {
+ break
+ }
+
+ j := i + 2
+ for j < len(s) && s[j] == '.' {
+ j++
+ }
+ if start < i {
+ ss = append(ss, s[start:i])
+ }
+ if i == 0 || !(s[i-1] == '?' || s[i-1] == '!') {
+ ss = append(ss, "…")
+ } else {
+ ss = append(ss, "..")
+ }
+ i = j - 1
+ start = i + 1
+ continue
+
+ case '?', '!':
+ if i+3 >= len(s) {
+ break
+ }
+ if !(exclquest(s[i+1]) && exclquest(s[i+2]) && exclquest(s[i+3])) {
+ break
+ }
+ if start < i {
+ ss = append(ss, s[start:i])
+ }
+ ss = append(ss, s[i:i+3])
+ j := i + 3
+ for j < len(s) && exclquest(s[j]) {
+ j++
+ }
+ i = j - 1
+ start = i + 1
+ continue
+
+ case ',':
+ if i+1 >= len(s) || s[i+1] != ',' {
+ break
+ }
+ if start < i {
+ ss = append(ss, s[start:i])
+ }
+ ss = append(ss, ",")
+ j := i + 2
+ for j < len(s) && s[j] == ',' {
+ j++
+ }
+ i = j - 1
+ start = i + 1
+ continue
+
+ case '-':
+ if i+1 >= len(s) || s[i+1] != '-' {
+ break
+ }
+ if i+2 >= len(s) || s[i+2] != '-' {
+ if start < i {
+ ss = append(ss, s[start:i])
+ }
+ ss = append(ss, "–")
+ i++
+ start = i + 1
+ continue
+ }
+ if i+3 >= len(s) || s[i+3] != '-' {
+ if start < i {
+ ss = append(ss, s[start:i])
+ }
+ ss = append(ss, "—")
+ i += 2
+ start = i + 1
+ continue
+ }
+
+ j := i + 3
+ for j < len(s) && s[j] == '-' {
+ j++
+ }
+ if start < i {
+ ss = append(ss, s[start:i])
+ }
+ ss = append(ss, s[i:j])
+ i = j - 1
+ start = i + 1
+ continue
+ }
+ }
+ }
+ if ss == nil {
+ return s
+ }
+ if start < len(s) {
+ ss = append(ss, s[start:])
+ }
+ return strings.Join(ss, "")
+}
+
+func ruleReplacements(s *StateCore) {
+ if !s.Md.Typographer {
+ return
+ }
+
+ insideLink := false
+ for _, tok := range s.Tokens {
+ if tok, ok := tok.(*Inline); ok {
+ for _, itok := range tok.Children {
+ switch itok := itok.(type) {
+ case *LinkOpen:
+ insideLink = true
+ case *LinkClose:
+ insideLink = false
+ case *Text:
+ if !insideLink {
+ itok.Content = performReplacements(itok.Content)
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/smartquotes.go b/vendor/gitlab.com/golang-commonmark/markdown/smartquotes.go
new file mode 100644
index 00000000..cbfa9c58
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/markdown/smartquotes.go
@@ -0,0 +1,256 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package markdown
+
+import (
+ "strings"
+ "unicode"
+ "unicode/utf8"
+)
+
+func nextQuoteIndex(s []rune, from int) int {
+ for i := from; i < len(s); i++ {
+ r := s[i]
+ if r == '\'' || r == '"' {
+ return i
+ }
+ }
+ return -1
+}
+
+func firstRune(s string) rune {
+ for _, r := range s {
+ return r
+ }
+ return utf8.RuneError
+}
+
+func replaceQuotes(tokens []Token, s *StateCore) {
+ type stackItem struct {
+ token int
+ text []rune
+ pos int
+ single bool
+ level int
+ }
+ var stack []stackItem
+ var changed map[int][]rune
+
+ for i, tok := range tokens {
+ thisLevel := tok.Level()
+
+ j := len(stack) - 1
+ for j >= 0 {
+ if stack[j].level <= thisLevel {
+ break
+ }
+ j--
+ }
+ stack = stack[:j+1]
+
+ tok, ok := tok.(*Text)
+ if !ok || !strings.ContainsAny(tok.Content, `"'`) {
+ continue
+ }
+
+ text := []rune(tok.Content)
+ pos := 0
+ max := len(text)
+
+ loop:
+ for pos < max {
+ index := nextQuoteIndex(text, pos)
+ if index < 0 {
+ break
+ }
+
+ canOpen := true
+ canClose := true
+ pos = index + 1
+ isSingle := text[index] == '\''
+
+ lastChar := ' '
+ if index-1 > 0 {
+ lastChar = text[index-1]
+ } else {
+ loop1:
+ for j := i - 1; j >= 0; j-- {
+ switch tok := tokens[j].(type) {
+ case *Softbreak:
+ break loop1
+ case *Hardbreak:
+ break loop1
+ case *Text:
+ lastChar, _ = utf8.DecodeLastRuneInString(tok.Content)
+ break loop1
+ default:
+ continue
+ }
+ }
+ }
+
+ nextChar := ' '
+ if pos < max {
+ nextChar = text[pos]
+ } else {
+ loop2:
+ for j := i + 1; j < len(tokens); j++ {
+ switch tok := tokens[j].(type) {
+ case *Softbreak:
+ break loop2
+ case *Hardbreak:
+ break loop2
+ case *Text:
+ nextChar, _ = utf8.DecodeRuneInString(tok.Content)
+ break loop2
+ default:
+ continue
+ }
+ }
+ }
+
+ isLastPunct := isMdAsciiPunct(lastChar) || unicode.IsPunct(lastChar)
+ isNextPunct := isMdAsciiPunct(nextChar) || unicode.IsPunct(nextChar)
+ isLastWhiteSpace := unicode.IsSpace(lastChar)
+ isNextWhiteSpace := unicode.IsSpace(nextChar)
+
+ if isNextWhiteSpace {
+ canOpen = false
+ } else if isNextPunct {
+ if !(isLastWhiteSpace || isLastPunct) {
+ canOpen = false
+ }
+ }
+
+ if isLastWhiteSpace {
+ canClose = false
+ } else if isLastPunct {
+ if !(isNextWhiteSpace || isNextPunct) {
+ canClose = false
+ }
+ }
+
+ if nextChar == '"' && text[index] == '"' {
+ if lastChar >= '0' && lastChar <= '9' {
+ canClose = false
+ canOpen = false
+ }
+ }
+
+ if canOpen && canClose {
+ canOpen = false
+ canClose = isNextPunct
+ }
+
+ if !canOpen && !canClose {
+ if isSingle {
+ text[index] = '’'
+ if changed == nil {
+ changed = make(map[int][]rune)
+ }
+ changed[i] = text
+ }
+ continue
+ }
+
+ if canClose {
+ for j := len(stack) - 1; j >= 0; j-- {
+ item := stack[j]
+ if item.level < thisLevel {
+ break
+ }
+ if item.single == isSingle && item.level == thisLevel {
+ if changed == nil {
+ changed = make(map[int][]rune)
+ }
+
+ var q1, q2 string
+ if isSingle {
+ q1 = s.Md.options.Quotes[2]
+ q2 = s.Md.options.Quotes[3]
+ } else {
+ q1 = s.Md.options.Quotes[0]
+ q2 = s.Md.options.Quotes[1]
+ }
+
+ if utf8.RuneCountInString(q1) == 1 && utf8.RuneCountInString(q2) == 1 {
+ item.text[item.pos] = firstRune(q1)
+ text[index] = firstRune(q2)
+ } else if tok == tokens[item.token] {
+ newText := make([]rune, 0, len(text)-2+len(q1)+len(q2))
+ newText = append(newText, text[:item.pos]...)
+ newText = append(newText, []rune(q1)...)
+ newText = append(newText, text[item.pos+1:index]...)
+ newText = append(newText, []rune(q2)...)
+ newText = append(newText, text[index+1:]...)
+
+ text = newText
+ item.text = newText
+ } else {
+ newText := make([]rune, 0, len(item.text)-1+len(q1))
+ newText = append(newText, item.text[:item.pos]...)
+ newText = append(newText, []rune(q1)...)
+ newText = append(newText, item.text[item.pos+1:]...)
+ item.text = newText
+
+ newText = make([]rune, 0, len(text)-1+len(q2))
+ newText = append(newText, text[:index]...)
+ newText = append(newText, []rune(q2)...)
+ newText = append(newText, text[index+1:]...)
+
+ text = newText
+ }
+
+ max = len(text)
+
+ if changed == nil {
+ changed = make(map[int][]rune)
+ }
+ changed[i] = text
+ changed[item.token] = item.text
+ stack = stack[:j]
+ continue loop
+ }
+ }
+ }
+
+ if canOpen {
+ stack = append(stack, stackItem{
+ token: i,
+ text: text,
+ pos: index,
+ single: isSingle,
+ level: thisLevel,
+ })
+ } else if canClose && isSingle {
+ text[index] = '’'
+ if changed == nil {
+ changed = make(map[int][]rune)
+ }
+ changed[i] = text
+ }
+ }
+ }
+
+ if changed != nil {
+ for i, text := range changed {
+ tokens[i].(*Text).Content = string(text)
+ }
+ }
+}
+
+func ruleSmartQuotes(s *StateCore) {
+ if !s.Md.Typographer {
+ return
+ }
+
+ tokens := s.Tokens
+ for i := len(tokens) - 1; i >= 0; i-- {
+ tok := tokens[i]
+ if tok, ok := tok.(*Inline); ok {
+ replaceQuotes(tok.Children, s)
+ }
+ }
+}
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/state_block.go b/vendor/gitlab.com/golang-commonmark/markdown/state_block.go
new file mode 100644
index 00000000..e1142416
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/markdown/state_block.go
@@ -0,0 +1,141 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package markdown
+
+import "strings"
+
+const (
+ ptRoot = iota
+ ptList
+ ptBlockQuote
+ ptParagraph
+ ptReference
+)
+
+type StateBlock struct {
+ StateCore
+
+ BMarks []int // offsets of the line beginnings
+ EMarks []int // offsets of the line endings
+ TShift []int // indents for each line
+ SCount []int
+ BSCount []int
+ BlkIndent int // required block content indent (in a list etc.)
+ Line int // line index in the source string
+ LineMax int // number of lines
+ Tight bool // loose or tight mode for lists
+ ParentType byte // parent block type
+ Level int
+}
+
+func (s *StateBlock) IsLineEmpty(n int) bool {
+ return s.BMarks[n]+s.TShift[n] >= s.EMarks[n]
+}
+
+func (s *StateBlock) SkipEmptyLines(from int) int {
+ for from < s.LineMax && s.IsLineEmpty(from) {
+ from++
+ }
+ return from
+}
+
+func (s *StateBlock) SkipSpaces(pos int) int {
+ src := s.Src
+ for pos < len(src) && byteIsSpace(src[pos]) {
+ pos++
+ }
+ return pos
+}
+
+func (s *StateBlock) SkipBytes(pos int, b byte) int {
+ src := s.Src
+ for pos < len(src) && src[pos] == b {
+ pos++
+ }
+ return pos
+}
+
+func (s *StateBlock) SkipBytesBack(pos int, b byte, min int) int {
+ for pos > min {
+ pos--
+ if s.Src[pos] != b {
+ return pos + 1
+ }
+ }
+ return pos
+}
+
+func (s *StateBlock) SkipSpacesBack(pos int, min int) int {
+ for pos > min {
+ pos--
+ if !byteIsSpace(s.Src[pos]) {
+ return pos + 1
+ }
+ }
+ return pos
+}
+
+func (s *StateBlock) Lines(begin, end, indent int, keepLastLf bool) string {
+ if begin == end {
+ return ""
+ }
+
+ src := s.Src
+
+ queue := make([]string, end-begin)
+
+ for i, line := 0, begin; line < end; i, line = i+1, line+1 {
+ lineIndent := 0
+ lineStart := s.BMarks[line]
+ first := lineStart
+ last := s.EMarks[line]
+ if (line+1 < end || keepLastLf) && last < len(src) {
+ last++
+ }
+
+ for first < last && lineIndent < indent {
+ ch := src[first]
+
+ if byteIsSpace(ch) {
+ if ch == '\t' {
+ lineIndent += 4 - (lineIndent+s.BSCount[line])%4
+ } else {
+ lineIndent++
+ }
+ } else if first-lineStart < s.TShift[line] {
+ lineIndent++
+ } else {
+ break
+ }
+
+ first++
+ }
+
+ if lineIndent > indent {
+ queue[i] = strings.Repeat(" ", lineIndent-indent) + src[first:last]
+ } else {
+ queue[i] = src[first:last]
+ }
+ }
+
+ return strings.Join(queue, "")
+}
+
+func (s *StateBlock) PushToken(tok Token) {
+ tok.SetLevel(s.Level)
+ s.Tokens = append(s.Tokens, tok)
+}
+
+func (s *StateBlock) PushOpeningToken(tok Token) {
+ tok.SetLevel(s.Level)
+ s.Level++
+ s.Tokens = append(s.Tokens, tok)
+}
+
+func (s *StateBlock) PushClosingToken(tok Token) {
+ s.Level--
+ tok.SetLevel(s.Level)
+ s.Tokens = append(s.Tokens, tok)
+}
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/state_core.go b/vendor/gitlab.com/golang-commonmark/markdown/state_core.go
new file mode 100644
index 00000000..24e51756
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/markdown/state_core.go
@@ -0,0 +1,13 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package markdown
+
+type StateCore struct {
+ Src string
+ Tokens []Token
+ bootstrap [3]Token
+ Md *Markdown
+ Env *Environment
+}
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/state_inline.go b/vendor/gitlab.com/golang-commonmark/markdown/state_inline.go
new file mode 100644
index 00000000..4bc08cf5
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/markdown/state_inline.go
@@ -0,0 +1,116 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package markdown
+
+import (
+ "bytes"
+ "unicode"
+ "unicode/utf8"
+)
+
+type StateInline struct {
+ StateCore
+
+ Pos int
+ PosMax int
+ Level int
+ Pending bytes.Buffer
+ PendingLevel int
+ Delimiters []Delimiter
+
+ Cache map[int]int
+}
+
+func (s *StateInline) PushToken(tok Token) {
+ if s.Pending.Len() > 0 {
+ s.PushPending()
+ }
+ tok.SetLevel(s.Level)
+ s.PendingLevel = s.Level
+ s.Tokens = append(s.Tokens, tok)
+}
+
+func (s *StateInline) PushOpeningToken(tok Token) {
+ if s.Pending.Len() > 0 {
+ s.PushPending()
+ }
+ tok.SetLevel(s.Level)
+ s.Level++
+ s.PendingLevel = s.Level
+ s.Tokens = append(s.Tokens, tok)
+}
+
+func (s *StateInline) PushClosingToken(tok Token) {
+ if s.Pending.Len() > 0 {
+ s.PushPending()
+ }
+ s.Level--
+ tok.SetLevel(s.Level)
+ s.PendingLevel = s.Level
+ s.Tokens = append(s.Tokens, tok)
+}
+
+func (s *StateInline) PushPending() {
+ s.Tokens = append(s.Tokens, &Text{
+ Content: s.Pending.String(),
+ Lvl: s.PendingLevel,
+ })
+ s.Pending.Reset()
+}
+
+func (s *StateInline) scanDelims(start int, canSplitWord bool) (canOpen bool, canClose bool, length int) {
+ pos := start
+ max := s.PosMax
+ src := s.Src
+ marker := src[start]
+ leftFlanking, rightFlanking := true, true
+
+ lastChar := ' '
+ if start > 0 {
+ lastChar, _ = utf8.DecodeLastRuneInString(src[:start])
+ }
+
+ for pos < max && src[pos] == marker {
+ pos++
+ }
+ length = pos - start
+
+ nextChar := ' '
+ if pos < max {
+ nextChar, _ = utf8.DecodeRuneInString(src[pos:])
+ }
+
+ isLastPunct := isMdAsciiPunct(lastChar) || unicode.IsPunct(lastChar)
+ isNextPunct := isMdAsciiPunct(nextChar) || unicode.IsPunct(nextChar)
+
+ isLastWhiteSpace := unicode.IsSpace(lastChar)
+ isNextWhiteSpace := unicode.IsSpace(nextChar)
+
+ if isNextWhiteSpace {
+ leftFlanking = false
+ } else if isNextPunct {
+ if !(isLastWhiteSpace || isLastPunct) {
+ leftFlanking = false
+ }
+ }
+
+ if isLastWhiteSpace {
+ rightFlanking = false
+ } else if isLastPunct {
+ if !(isNextWhiteSpace || isNextPunct) {
+ rightFlanking = false
+ }
+ }
+
+ if !canSplitWord {
+ canOpen = leftFlanking && (!rightFlanking || isLastPunct)
+ canClose = rightFlanking && (!leftFlanking || isNextPunct)
+ } else {
+ canOpen = leftFlanking
+ canClose = rightFlanking
+ }
+
+ return
+}
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/strikethrough.go b/vendor/gitlab.com/golang-commonmark/markdown/strikethrough.go
new file mode 100644
index 00000000..18079945
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/markdown/strikethrough.go
@@ -0,0 +1,101 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package markdown
+
+func ruleStrikeThrough(s *StateInline, silent bool) bool {
+ src := s.Src
+ start := s.Pos
+ marker := src[start]
+
+ if silent {
+ return false
+ }
+
+ if src[start] != '~' {
+ return false
+ }
+
+ canOpen, canClose, length := s.scanDelims(start, true)
+ origLength := length
+ ch := string(marker)
+ if length < 2 {
+ return false
+ }
+
+ if length%2 != 0 {
+ s.PushToken(&Text{
+ Content: ch,
+ })
+ length--
+ }
+
+ for i := 0; i < length; i += 2 {
+ s.PushToken(&Text{
+ Content: ch + ch,
+ })
+
+ s.Delimiters = append(s.Delimiters, Delimiter{
+ Marker: marker,
+ Length: -1,
+ Jump: i,
+ Token: len(s.Tokens) - 1,
+ Level: s.Level,
+ End: -1,
+ Open: canOpen,
+ Close: canClose,
+ })
+ }
+
+ s.Pos += origLength
+
+ return true
+
+}
+
+func ruleStrikethroughPostprocess(s *StateInline) {
+ var loneMarkers []int
+ delimiters := s.Delimiters
+ max := len(delimiters)
+
+ for i := 0; i < max; i++ {
+ startDelim := delimiters[i]
+
+ if startDelim.Marker != '~' {
+ continue
+ }
+
+ if startDelim.End == -1 {
+ continue
+ }
+
+ endDelim := delimiters[startDelim.End]
+
+ s.Tokens[startDelim.Token] = &StrikethroughOpen{}
+ s.Tokens[endDelim.Token] = &StrikethroughClose{}
+
+ if text, ok := s.Tokens[endDelim.Token-1].(*Text); ok && text.Content == "~" {
+ loneMarkers = append(loneMarkers, endDelim.Token-1)
+ }
+ }
+
+ for len(loneMarkers) > 0 {
+ i := loneMarkers[len(loneMarkers)-1]
+ loneMarkers = loneMarkers[:len(loneMarkers)-1]
+ j := i + 1
+
+ for j < len(s.Tokens) {
+ if _, ok := s.Tokens[j].(*StrikethroughClose); !ok {
+ break
+ }
+ j++
+ }
+
+ j--
+
+ if i != j {
+ s.Tokens[i], s.Tokens[j] = s.Tokens[j], s.Tokens[i]
+ }
+ }
+}
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/table.go b/vendor/gitlab.com/golang-commonmark/markdown/table.go
new file mode 100644
index 00000000..52ee176e
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/markdown/table.go
@@ -0,0 +1,229 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package markdown
+
+import (
+ "regexp"
+ "strings"
+)
+
+func getLine(s *StateBlock, line int) string {
+ pos := s.BMarks[line] + s.BlkIndent
+ max := s.EMarks[line]
+ if pos >= max {
+ return ""
+ }
+ return s.Src[pos:max]
+}
+
+func escapedSplit(s string) (result []string) {
+ pos := 0
+ escapes := 0
+ lastPos := 0
+ backTicked := false
+ lastBackTick := 0
+
+ for pos < len(s) {
+ ch := s[pos]
+ if ch == '`' {
+ if backTicked {
+ backTicked = false
+ lastBackTick = pos
+ } else if escapes%2 == 0 {
+ backTicked = true
+ lastBackTick = pos
+ }
+ } else if ch == '|' && (escapes%2 == 0) && !backTicked {
+ result = append(result, s[lastPos:pos])
+ lastPos = pos + 1
+ }
+
+ if ch == '\\' {
+ escapes++
+ } else {
+ escapes = 0
+ }
+
+ pos++
+
+ if pos == len(s) && backTicked {
+ backTicked = false
+ pos = lastBackTick + 1
+ }
+ }
+
+ return append(result, s[lastPos:])
+}
+
+var rColumn = regexp.MustCompile("^:?-+:?$")
+
+func ruleTable(s *StateBlock, startLine, endLine int, silent bool) bool {
+ if !s.Md.Tables {
+ return false
+ }
+
+ if startLine+2 > endLine {
+ return false
+ }
+
+ nextLine := startLine + 1
+
+ if s.SCount[nextLine] < s.BlkIndent {
+ return false
+ }
+
+ if s.SCount[nextLine]-s.BlkIndent >= 4 {
+ return false
+ }
+
+ pos := s.BMarks[nextLine] + s.TShift[nextLine]
+ if pos >= s.EMarks[nextLine] {
+ return false
+ }
+
+ src := s.Src
+ ch := src[pos]
+ pos++
+
+ if ch != '|' && ch != '-' && ch != ':' {
+ return false
+ }
+
+ for pos < s.EMarks[nextLine] {
+ ch = src[pos]
+ if ch != '|' && ch != '-' && ch != ':' && !byteIsSpace(ch) {
+ return false
+ }
+ pos++
+ }
+
+ //
+
+ lineText := getLine(s, startLine+1)
+
+ columns := strings.Split(lineText, "|")
+ var aligns []Align
+ for i := 0; i < len(columns); i++ {
+ t := strings.TrimSpace(columns[i])
+ if t == "" {
+ if i == 0 || i == len(columns)-1 {
+ continue
+ }
+ return false
+ }
+
+ if !rColumn.MatchString(t) {
+ return false
+ }
+
+ if t[len(t)-1] == ':' {
+ if t[0] == ':' {
+ aligns = append(aligns, AlignCenter)
+ } else {
+ aligns = append(aligns, AlignRight)
+ }
+ } else if t[0] == ':' {
+ aligns = append(aligns, AlignLeft)
+ } else {
+ aligns = append(aligns, AlignNone)
+ }
+ }
+
+ lineText = strings.TrimSpace(getLine(s, startLine))
+ if strings.IndexByte(lineText, '|') == -1 {
+ return false
+ }
+ if s.SCount[startLine]-s.BlkIndent >= 4 {
+ return false
+ }
+ columns = escapedSplit(strings.TrimSuffix(strings.TrimPrefix(lineText, "|"), "|"))
+ columnCount := len(columns)
+ if columnCount > len(aligns) {
+ return false
+ }
+
+ if silent {
+ return true
+ }
+
+ tableTok := &TableOpen{
+ Map: [2]int{startLine, 0},
+ }
+ s.PushOpeningToken(tableTok)
+ s.PushOpeningToken(&TheadOpen{
+ Map: [2]int{startLine, startLine + 1},
+ })
+ s.PushOpeningToken(&TrOpen{
+ Map: [2]int{startLine, startLine + 1},
+ })
+
+ for i := 0; i < len(columns); i++ {
+ s.PushOpeningToken(&ThOpen{
+ Align: aligns[i],
+ Map: [2]int{startLine, startLine + 1},
+ })
+ s.PushToken(&Inline{
+ Content: strings.TrimSpace(columns[i]),
+ Map: [2]int{startLine, startLine + 1},
+ })
+ s.PushClosingToken(&ThClose{})
+ }
+
+ s.PushClosingToken(&TrClose{})
+ s.PushClosingToken(&TheadClose{})
+
+ tbodyTok := &TbodyOpen{
+ Map: [2]int{startLine + 2, 0},
+ }
+ s.PushOpeningToken(tbodyTok)
+
+ for nextLine = startLine + 2; nextLine < endLine; nextLine++ {
+ if s.SCount[nextLine] < s.BlkIndent {
+ break
+ }
+
+ lineText = strings.TrimSpace(getLine(s, nextLine))
+ if strings.IndexByte(lineText, '|') == -1 {
+ break
+ }
+ if s.SCount[nextLine]-s.BlkIndent >= 4 {
+ break
+ }
+ columns = escapedSplit(strings.TrimPrefix(strings.TrimSuffix(lineText, "|"), "|"))
+
+ if len(columns) < len(aligns) {
+ columns = append(columns, make([]string, len(aligns)-len(columns))...)
+ } else if len(columns) > len(aligns) {
+ columns = columns[:len(aligns)]
+ }
+
+ s.PushOpeningToken(&TrOpen{})
+ for i := 0; i < columnCount; i++ {
+ tdOpen := TdOpen{}
+ if i < len(aligns) {
+ tdOpen.Align = aligns[i]
+ }
+ s.PushOpeningToken(&tdOpen)
+
+ inline := Inline{}
+ if i < len(columns) {
+ inline.Content = strings.TrimSpace(columns[i])
+ }
+ s.PushToken(&inline)
+
+ s.PushClosingToken(&TdClose{})
+ }
+ s.PushClosingToken(&TrClose{})
+ }
+
+ s.PushClosingToken(&TbodyClose{})
+ s.PushClosingToken(&TableClose{})
+
+ tableTok.Map[1] = nextLine
+ tbodyTok.Map[1] = nextLine
+ s.Line = nextLine
+
+ return true
+}
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/table_fsm.go b/vendor/gitlab.com/golang-commonmark/markdown/table_fsm.go
new file mode 100644
index 00000000..b605e45c
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/markdown/table_fsm.go
@@ -0,0 +1,108 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package markdown
+
+func isHeaderLine(s string) bool {
+ if s == "" {
+ return false
+ }
+
+ st := 0
+ n := 0
+ for i := 0; i < len(s); i++ {
+ b := s[i]
+ switch st {
+ case 0: // initial state
+ switch b {
+ case '|':
+ st = 1
+ case ':':
+ st = 2
+ case '-':
+ st = 3
+ n++
+ case ' ':
+ break
+ default:
+ return false
+ }
+
+ case 1: // |
+ switch b {
+ case ' ':
+ break
+ case ':':
+ st = 2
+ case '-':
+ st = 3
+ n++
+ default:
+ return false
+ }
+
+ case 2: // |:
+ switch b {
+ case ' ':
+ break
+ case '-':
+ st = 3
+ n++
+ default:
+ return false
+ }
+
+ case 3: // |:-
+ switch b {
+ case '-':
+ break
+ case ':':
+ st = 4
+ case '|':
+ st = 5
+ case ' ':
+ st = 6
+ default:
+ return false
+ }
+
+ case 4: // |:---:
+ switch b {
+ case ' ':
+ break
+ case '|':
+ st = 5
+ default:
+ return false
+ }
+
+ case 5: // |:---:|
+ switch b {
+ case ' ':
+ break
+ case ':':
+ st = 2
+ case '-':
+ st = 3
+ n++
+ default:
+ return false
+ }
+
+ case 6: // |:--- SPACE
+ switch b {
+ case ' ':
+ break
+ case ':':
+ st = 4
+ case '|':
+ st = 5
+ default:
+ return false
+ }
+ }
+ }
+
+ return n >= 1
+}
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/text.go b/vendor/gitlab.com/golang-commonmark/markdown/text.go
new file mode 100644
index 00000000..ae98e743
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/markdown/text.go
@@ -0,0 +1,52 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package markdown
+
+var terminatorCharTable = [256]bool{
+ '\n': true,
+ '!': true,
+ '#': true,
+ '$': true,
+ '%': true,
+ '&': true,
+ '*': true,
+ '+': true,
+ '-': true,
+ ':': true,
+ '<': true,
+ '=': true,
+ '>': true,
+ '@': true,
+ '[': true,
+ '\\': true,
+ ']': true,
+ '^': true,
+ '_': true,
+ '`': true,
+ '{': true,
+ '}': true,
+ '~': true,
+}
+
+func ruleText(s *StateInline, silent bool) bool {
+ pos := s.Pos
+ max := s.PosMax
+ src := s.Src
+
+ for pos < max && !terminatorCharTable[src[pos]] {
+ pos++
+ }
+ if pos == s.Pos {
+ return false
+ }
+
+ if !silent {
+ s.Pending.WriteString(src[s.Pos:pos])
+ }
+
+ s.Pos = pos
+
+ return true
+}
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/text_collapse.go b/vendor/gitlab.com/golang-commonmark/markdown/text_collapse.go
new file mode 100644
index 00000000..25b98b80
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/markdown/text_collapse.go
@@ -0,0 +1,42 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package markdown
+
+func ruleTextCollapse(s *StateInline) {
+ level := 0
+ tokens := s.Tokens
+ max := len(tokens)
+
+ curr := 0
+ last := 0
+ for ; curr < max; curr++ {
+ tok := tokens[curr]
+ if tok.Opening() {
+ level++
+ } else if tok.Closing() {
+ level--
+ }
+
+ tok.SetLevel(level)
+
+ if text, ok := tok.(*Text); ok && curr+1 < max {
+ if text2, ok := tokens[curr+1].(*Text); ok {
+ text2.Content = text.Content + text2.Content
+ continue
+ }
+ }
+
+ if curr != last {
+ tokens[last] = tokens[curr]
+ }
+ last++
+ }
+
+ if curr != last {
+ tokens = tokens[:last]
+ }
+
+ s.Tokens = tokens
+}
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/token.go b/vendor/gitlab.com/golang-commonmark/markdown/token.go
new file mode 100644
index 00000000..1b14e5fe
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/markdown/token.go
@@ -0,0 +1,753 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package markdown
+
+type Token interface {
+ Tag() string
+ Opening() bool
+ Closing() bool
+ Block() bool
+ Level() int
+ SetLevel(lvl int)
+}
+
+type BlockquoteOpen struct {
+ Map [2]int
+ Lvl int
+}
+
+type BlockquoteClose struct {
+ Lvl int
+}
+
+type BulletListOpen struct {
+ Map [2]int
+ Lvl int
+}
+
+type BulletListClose struct {
+ Lvl int
+}
+
+type OrderedListOpen struct {
+ Order int
+ Map [2]int
+ Lvl int
+}
+
+type OrderedListClose struct {
+ Lvl int
+}
+
+type ListItemOpen struct {
+ Map [2]int
+ Lvl int
+}
+
+type ListItemClose struct {
+ Lvl int
+}
+
+type CodeBlock struct {
+ Content string
+ Map [2]int
+ Lvl int
+}
+
+type CodeInline struct {
+ Content string
+ Lvl int
+}
+
+type EmphasisOpen struct {
+ Lvl int
+}
+
+type EmphasisClose struct {
+ Lvl int
+}
+
+type StrongOpen struct {
+ Lvl int
+}
+
+type StrongClose struct {
+ Lvl int
+}
+
+type StrikethroughOpen struct {
+ Lvl int
+}
+
+type StrikethroughClose struct {
+ Lvl int
+}
+
+type Fence struct {
+ Params string
+ Content string
+ Map [2]int
+ Lvl int
+}
+
+type Softbreak struct {
+ Lvl int
+}
+
+type Hardbreak struct {
+ Lvl int
+}
+
+type HeadingOpen struct {
+ HLevel int
+ Map [2]int
+ Lvl int
+}
+
+type HeadingClose struct {
+ HLevel int
+ Lvl int
+}
+
+type HTMLBlock struct {
+ Content string
+ Map [2]int
+ Lvl int
+}
+
+type HTMLInline struct {
+ Content string
+ Lvl int
+}
+
+type Hr struct {
+ Map [2]int
+ Lvl int
+}
+
+type Image struct {
+ Src string
+ Title string
+ Tokens []Token
+ Lvl int
+}
+
+type Inline struct {
+ Content string
+ Map [2]int
+ Children []Token
+ Lvl int
+}
+
+type LinkOpen struct {
+ Href string
+ Title string
+ Target string
+ Lvl int
+}
+
+type LinkClose struct {
+ Lvl int
+}
+
+type ParagraphOpen struct {
+ Tight bool
+ Hidden bool
+ Map [2]int
+ Lvl int
+}
+
+type ParagraphClose struct {
+ Tight bool
+ Hidden bool
+ Lvl int
+}
+
+type TableOpen struct {
+ Map [2]int
+ Lvl int
+}
+
+type TableClose struct {
+ Lvl int
+}
+
+type TheadOpen struct {
+ Map [2]int
+ Lvl int
+}
+
+type TheadClose struct {
+ Lvl int
+}
+
+type TrOpen struct {
+ Map [2]int
+ Lvl int
+}
+
+type TrClose struct {
+ Lvl int
+}
+
+type ThOpen struct {
+ Align Align
+ Map [2]int
+ Lvl int
+}
+
+type ThClose struct {
+ Lvl int
+}
+
+type TbodyOpen struct {
+ Map [2]int
+ Lvl int
+}
+
+type TbodyClose struct {
+ Lvl int
+}
+
+type TdOpen struct {
+ Align Align
+ Map [2]int
+ Lvl int
+}
+
+type TdClose struct {
+ Lvl int
+}
+
+type Text struct {
+ Content string
+ Lvl int
+}
+
+var htags = []string{
+ "",
+ "h1",
+ "h2",
+ "h3",
+ "h4",
+ "h5",
+ "h6",
+}
+
+func (t *BlockquoteOpen) Level() int { return t.Lvl }
+
+func (t *BlockquoteClose) Level() int { return t.Lvl }
+
+func (t *BulletListOpen) Level() int { return t.Lvl }
+
+func (t *BulletListClose) Level() int { return t.Lvl }
+
+func (t *OrderedListOpen) Level() int { return t.Lvl }
+
+func (t *OrderedListClose) Level() int { return t.Lvl }
+
+func (t *ListItemOpen) Level() int { return t.Lvl }
+
+func (t *ListItemClose) Level() int { return t.Lvl }
+
+func (t *CodeBlock) Level() int { return t.Lvl }
+
+func (t *CodeInline) Level() int { return t.Lvl }
+
+func (t *EmphasisOpen) Level() int { return t.Lvl }
+
+func (t *EmphasisClose) Level() int { return t.Lvl }
+
+func (t *StrongOpen) Level() int { return t.Lvl }
+
+func (t *StrongClose) Level() int { return t.Lvl }
+
+func (t *StrikethroughOpen) Level() int { return t.Lvl }
+
+func (t *StrikethroughClose) Level() int { return t.Lvl }
+
+func (t *Fence) Level() int { return t.Lvl }
+
+func (t *Softbreak) Level() int { return t.Lvl }
+
+func (t *Hardbreak) Level() int { return t.Lvl }
+
+func (t *HeadingOpen) Level() int { return t.Lvl }
+
+func (t *HeadingClose) Level() int { return t.Lvl }
+
+func (t *HTMLBlock) Level() int { return t.Lvl }
+
+func (t *HTMLInline) Level() int { return t.Lvl }
+
+func (t *Hr) Level() int { return t.Lvl }
+
+func (t *Image) Level() int { return t.Lvl }
+
+func (t *Inline) Level() int { return t.Lvl }
+
+func (t *LinkOpen) Level() int { return t.Lvl }
+
+func (t *LinkClose) Level() int { return t.Lvl }
+
+func (t *ParagraphOpen) Level() int { return t.Lvl }
+
+func (t *ParagraphClose) Level() int { return t.Lvl }
+
+func (t *TableOpen) Level() int { return t.Lvl }
+
+func (t *TableClose) Level() int { return t.Lvl }
+
+func (t *TheadOpen) Level() int { return t.Lvl }
+
+func (t *TheadClose) Level() int { return t.Lvl }
+
+func (t *TrOpen) Level() int { return t.Lvl }
+
+func (t *TrClose) Level() int { return t.Lvl }
+
+func (t *ThOpen) Level() int { return t.Lvl }
+
+func (t *ThClose) Level() int { return t.Lvl }
+
+func (t *TbodyOpen) Level() int { return t.Lvl }
+
+func (t *TbodyClose) Level() int { return t.Lvl }
+
+func (t *TdOpen) Level() int { return t.Lvl }
+
+func (t *TdClose) Level() int { return t.Lvl }
+
+func (t *Text) Level() int { return t.Lvl }
+
+func (t *BlockquoteOpen) SetLevel(lvl int) { t.Lvl = lvl }
+
+func (t *BlockquoteClose) SetLevel(lvl int) { t.Lvl = lvl }
+
+func (t *BulletListOpen) SetLevel(lvl int) { t.Lvl = lvl }
+
+func (t *BulletListClose) SetLevel(lvl int) { t.Lvl = lvl }
+
+func (t *OrderedListOpen) SetLevel(lvl int) { t.Lvl = lvl }
+
+func (t *OrderedListClose) SetLevel(lvl int) { t.Lvl = lvl }
+
+func (t *ListItemOpen) SetLevel(lvl int) { t.Lvl = lvl }
+
+func (t *ListItemClose) SetLevel(lvl int) { t.Lvl = lvl }
+
+func (t *CodeBlock) SetLevel(lvl int) { t.Lvl = lvl }
+
+func (t *CodeInline) SetLevel(lvl int) { t.Lvl = lvl }
+
+func (t *EmphasisOpen) SetLevel(lvl int) { t.Lvl = lvl }
+
+func (t *EmphasisClose) SetLevel(lvl int) { t.Lvl = lvl }
+
+func (t *StrongOpen) SetLevel(lvl int) { t.Lvl = lvl }
+
+func (t *StrongClose) SetLevel(lvl int) { t.Lvl = lvl }
+
+func (t *StrikethroughOpen) SetLevel(lvl int) { t.Lvl = lvl }
+
+func (t *StrikethroughClose) SetLevel(lvl int) { t.Lvl = lvl }
+
+func (t *Fence) SetLevel(lvl int) { t.Lvl = lvl }
+
+func (t *Softbreak) SetLevel(lvl int) { t.Lvl = lvl }
+
+func (t *Hardbreak) SetLevel(lvl int) { t.Lvl = lvl }
+
+func (t *HeadingOpen) SetLevel(lvl int) { t.Lvl = lvl }
+
+func (t *HeadingClose) SetLevel(lvl int) { t.Lvl = lvl }
+
+func (t *HTMLBlock) SetLevel(lvl int) { t.Lvl = lvl }
+
+func (t *HTMLInline) SetLevel(lvl int) { t.Lvl = lvl }
+
+func (t *Hr) SetLevel(lvl int) { t.Lvl = lvl }
+
+func (t *Image) SetLevel(lvl int) { t.Lvl = lvl }
+
+func (t *Inline) SetLevel(lvl int) { t.Lvl = lvl }
+
+func (t *LinkOpen) SetLevel(lvl int) { t.Lvl = lvl }
+
+func (t *LinkClose) SetLevel(lvl int) { t.Lvl = lvl }
+
+func (t *ParagraphOpen) SetLevel(lvl int) { t.Lvl = lvl }
+
+func (t *ParagraphClose) SetLevel(lvl int) { t.Lvl = lvl }
+
+func (t *TableOpen) SetLevel(lvl int) { t.Lvl = lvl }
+
+func (t *TableClose) SetLevel(lvl int) { t.Lvl = lvl }
+
+func (t *TheadOpen) SetLevel(lvl int) { t.Lvl = lvl }
+
+func (t *TheadClose) SetLevel(lvl int) { t.Lvl = lvl }
+
+func (t *TrOpen) SetLevel(lvl int) { t.Lvl = lvl }
+
+func (t *TrClose) SetLevel(lvl int) { t.Lvl = lvl }
+
+func (t *ThOpen) SetLevel(lvl int) { t.Lvl = lvl }
+
+func (t *ThClose) SetLevel(lvl int) { t.Lvl = lvl }
+
+func (t *TbodyOpen) SetLevel(lvl int) { t.Lvl = lvl }
+
+func (t *TbodyClose) SetLevel(lvl int) { t.Lvl = lvl }
+
+func (t *TdOpen) SetLevel(lvl int) { t.Lvl = lvl }
+
+func (t *TdClose) SetLevel(lvl int) { t.Lvl = lvl }
+
+func (t *Text) SetLevel(lvl int) { t.Lvl = lvl }
+
+func (t *BlockquoteOpen) Opening() bool { return true }
+
+func (t *BlockquoteClose) Opening() bool { return false }
+
+func (t *BulletListOpen) Opening() bool { return true }
+
+func (t *BulletListClose) Opening() bool { return false }
+
+func (t *OrderedListOpen) Opening() bool { return true }
+
+func (t *OrderedListClose) Opening() bool { return false }
+
+func (t *ListItemOpen) Opening() bool { return true }
+
+func (t *ListItemClose) Opening() bool { return false }
+
+func (t *CodeBlock) Opening() bool { return false }
+
+func (t *CodeInline) Opening() bool { return false }
+
+func (t *EmphasisOpen) Opening() bool { return true }
+
+func (t *EmphasisClose) Opening() bool { return false }
+
+func (t *StrongOpen) Opening() bool { return true }
+
+func (t *StrongClose) Opening() bool { return false }
+
+func (t *StrikethroughOpen) Opening() bool { return true }
+
+func (t *StrikethroughClose) Opening() bool { return false }
+
+func (t *Fence) Opening() bool { return false }
+
+func (t *Softbreak) Opening() bool { return false }
+
+func (t *Hardbreak) Opening() bool { return false }
+
+func (t *HeadingOpen) Opening() bool { return true }
+
+func (t *HeadingClose) Opening() bool { return false }
+
+func (t *HTMLBlock) Opening() bool { return false }
+
+func (t *HTMLInline) Opening() bool { return false }
+
+func (t *Hr) Opening() bool { return false }
+
+func (t *Image) Opening() bool { return false }
+
+func (t *Inline) Opening() bool { return false }
+
+func (t *LinkOpen) Opening() bool { return true }
+
+func (t *LinkClose) Opening() bool { return false }
+
+func (t *ParagraphOpen) Opening() bool { return true }
+
+func (t *ParagraphClose) Opening() bool { return false }
+
+func (t *TableOpen) Opening() bool { return true }
+
+func (t *TableClose) Opening() bool { return false }
+
+func (t *TheadOpen) Opening() bool { return true }
+
+func (t *TheadClose) Opening() bool { return false }
+
+func (t *TrOpen) Opening() bool { return true }
+
+func (t *TrClose) Opening() bool { return false }
+
+func (t *ThOpen) Opening() bool { return true }
+
+func (t *ThClose) Opening() bool { return false }
+
+func (t *TbodyOpen) Opening() bool { return true }
+
+func (t *TbodyClose) Opening() bool { return false }
+
+func (t *TdOpen) Opening() bool { return true }
+
+func (t *TdClose) Opening() bool { return false }
+
+func (t *Text) Opening() bool { return false }
+
+func (t *BlockquoteOpen) Closing() bool { return false }
+
+func (t *BlockquoteClose) Closing() bool { return true }
+
+func (t *BulletListOpen) Closing() bool { return false }
+
+func (t *BulletListClose) Closing() bool { return true }
+
+func (t *OrderedListOpen) Closing() bool { return false }
+
+func (t *OrderedListClose) Closing() bool { return true }
+
+func (t *ListItemOpen) Closing() bool { return false }
+
+func (t *ListItemClose) Closing() bool { return true }
+
+func (t *CodeBlock) Closing() bool { return false }
+
+func (t *CodeInline) Closing() bool { return false }
+
+func (t *EmphasisOpen) Closing() bool { return false }
+
+func (t *EmphasisClose) Closing() bool { return true }
+
+func (t *StrongOpen) Closing() bool { return false }
+
+func (t *StrongClose) Closing() bool { return true }
+
+func (t *StrikethroughOpen) Closing() bool { return false }
+
+func (t *StrikethroughClose) Closing() bool { return true }
+
+func (t *Fence) Closing() bool { return false }
+
+func (t *Softbreak) Closing() bool { return false }
+
+func (t *Hardbreak) Closing() bool { return false }
+
+func (t *HeadingOpen) Closing() bool { return false }
+
+func (t *HeadingClose) Closing() bool { return true }
+
+func (t *HTMLBlock) Closing() bool { return false }
+
+func (t *HTMLInline) Closing() bool { return false }
+
+func (t *Hr) Closing() bool { return false }
+
+func (t *Image) Closing() bool { return false }
+
+func (t *Inline) Closing() bool { return false }
+
+func (t *LinkOpen) Closing() bool { return false }
+
+func (t *LinkClose) Closing() bool { return true }
+
+func (t *ParagraphOpen) Closing() bool { return false }
+
+func (t *ParagraphClose) Closing() bool { return true }
+
+func (t *TableOpen) Closing() bool { return false }
+
+func (t *TableClose) Closing() bool { return true }
+
+func (t *TheadOpen) Closing() bool { return false }
+
+func (t *TheadClose) Closing() bool { return true }
+
+func (t *TrOpen) Closing() bool { return false }
+
+func (t *TrClose) Closing() bool { return true }
+
+func (t *ThOpen) Closing() bool { return false }
+
+func (t *ThClose) Closing() bool { return true }
+
+func (t *TbodyOpen) Closing() bool { return false }
+
+func (t *TbodyClose) Closing() bool { return true }
+
+func (t *TdOpen) Closing() bool { return false }
+
+func (t *TdClose) Closing() bool { return true }
+
+func (t *Text) Closing() bool { return false }
+
+func (t *BlockquoteOpen) Block() bool { return true }
+
+func (t *BlockquoteClose) Block() bool { return true }
+
+func (t *BulletListOpen) Block() bool { return true }
+
+func (t *BulletListClose) Block() bool { return true }
+
+func (t *OrderedListOpen) Block() bool { return true }
+
+func (t *OrderedListClose) Block() bool { return true }
+
+func (t *ListItemOpen) Block() bool { return true }
+
+func (t *ListItemClose) Block() bool { return true }
+
+func (t *CodeBlock) Block() bool { return true }
+
+func (t *CodeInline) Block() bool { return false }
+
+func (t *EmphasisOpen) Block() bool { return false }
+
+func (t *EmphasisClose) Block() bool { return false }
+
+func (t *StrongOpen) Block() bool { return false }
+
+func (t *StrongClose) Block() bool { return false }
+
+func (t *StrikethroughOpen) Block() bool { return false }
+
+func (t *StrikethroughClose) Block() bool { return false }
+
+func (t *Fence) Block() bool { return true }
+
+func (t *Softbreak) Block() bool { return false }
+
+func (t *Hardbreak) Block() bool { return false }
+
+func (t *HeadingOpen) Block() bool { return true }
+
+func (t *HeadingClose) Block() bool { return true }
+
+func (t *HTMLBlock) Block() bool { return true }
+
+func (t *HTMLInline) Block() bool { return false }
+
+func (t *Hr) Block() bool { return true }
+
+func (t *Image) Block() bool { return false }
+
+func (t *Inline) Block() bool { return false }
+
+func (t *LinkOpen) Block() bool { return false }
+
+func (t *LinkClose) Block() bool { return false }
+
+func (t *ParagraphOpen) Block() bool { return true }
+
+func (t *ParagraphClose) Block() bool { return true }
+
+func (t *TableOpen) Block() bool { return true }
+
+func (t *TableClose) Block() bool { return true }
+
+func (t *TheadOpen) Block() bool { return true }
+
+func (t *TheadClose) Block() bool { return true }
+
+func (t *TrOpen) Block() bool { return true }
+
+func (t *TrClose) Block() bool { return true }
+
+func (t *ThOpen) Block() bool { return true }
+
+func (t *ThClose) Block() bool { return true }
+
+func (t *TbodyOpen) Block() bool { return true }
+
+func (t *TbodyClose) Block() bool { return true }
+
+func (t *TdOpen) Block() bool { return true }
+
+func (t *TdClose) Block() bool { return true }
+
+func (t *Text) Block() bool { return false }
+
+func (t *BlockquoteOpen) Tag() string { return "blockquote" }
+
+func (t *BlockquoteClose) Tag() string { return "blockquote" }
+
+func (t *BulletListOpen) Tag() string { return "ul" }
+
+func (t *BulletListClose) Tag() string { return "ul" }
+
+func (t *OrderedListOpen) Tag() string { return "ol" }
+
+func (t *OrderedListClose) Tag() string { return "ol" }
+
+func (t *ListItemOpen) Tag() string { return "li" }
+
+func (t *ListItemClose) Tag() string { return "li" }
+
+func (t *CodeBlock) Tag() string { return "code" }
+
+func (t *CodeInline) Tag() string { return "code" }
+
+func (t *EmphasisOpen) Tag() string { return "em" }
+
+func (t *EmphasisClose) Tag() string { return "em" }
+
+func (t *StrongOpen) Tag() string { return "strong" }
+
+func (t *StrongClose) Tag() string { return "strong" }
+
+func (t *StrikethroughOpen) Tag() string { return "s" }
+
+func (t *StrikethroughClose) Tag() string { return "s" }
+
+func (t *Fence) Tag() string { return "code" }
+
+func (t *Softbreak) Tag() string { return "br" }
+
+func (t *Hardbreak) Tag() string { return "br" }
+
+func (t *HeadingOpen) Tag() string { return htags[t.HLevel] }
+
+func (t *HeadingClose) Tag() string { return htags[t.HLevel] }
+
+func (t *HTMLBlock) Tag() string { return "" }
+
+func (t *HTMLInline) Tag() string { return "" }
+
+func (t *Hr) Tag() string { return "hr" }
+
+func (t *Image) Tag() string { return "img" }
+
+func (t *Inline) Tag() string { return "" }
+
+func (t *LinkOpen) Tag() string { return "a" }
+
+func (t *LinkClose) Tag() string { return "a" }
+
+func (t *ParagraphOpen) Tag() string { return "p" }
+
+func (t *ParagraphClose) Tag() string { return "p" }
+
+func (t *TableOpen) Tag() string { return "table" }
+
+func (t *TableClose) Tag() string { return "table" }
+
+func (t *TheadOpen) Tag() string { return "thead" }
+
+func (t *TheadClose) Tag() string { return "thead" }
+
+func (t *TrOpen) Tag() string { return "tr" }
+
+func (t *TrClose) Tag() string { return "tr" }
+
+func (t *ThOpen) Tag() string { return "th" }
+
+func (t *ThClose) Tag() string { return "th" }
+
+func (t *TbodyOpen) Tag() string { return "tbody" }
+
+func (t *TbodyClose) Tag() string { return "tbody" }
+
+func (t *TdOpen) Tag() string { return "td" }
+
+func (t *TdClose) Tag() string { return "td" }
+
+func (t *Text) Tag() string { return "" }
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/urlschema.go b/vendor/gitlab.com/golang-commonmark/markdown/urlschema.go
new file mode 100644
index 00000000..06b9e6a1
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/markdown/urlschema.go
@@ -0,0 +1,185 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package markdown
+
+var urlSchemas = []string{
+ "aaa",
+ "aaas",
+ "about",
+ "acap",
+ "adiumxtra",
+ "afp",
+ "afs",
+ "aim",
+ "apt",
+ "attachment",
+ "aw",
+ "beshare",
+ "bitcoin",
+ "bolo",
+ "callto",
+ "cap",
+ "chrome",
+ "chrome-extension",
+ "cid",
+ "coap",
+ "com-eventbrite-attendee",
+ "content",
+ "crid",
+ "cvs",
+ "data",
+ "dav",
+ "dict",
+ "dlna-playcontainer",
+ "dlna-playsingle",
+ "dns",
+ "doi",
+ "dtn",
+ "dvb",
+ "ed2k",
+ "facetime",
+ "feed",
+ "file",
+ "finger",
+ "fish",
+ "ftp",
+ "geo",
+ "gg",
+ "git",
+ "gizmoproject",
+ "go",
+ "gopher",
+ "gtalk",
+ "h323",
+ "hcp",
+ "http",
+ "https",
+ "iax",
+ "icap",
+ "icon",
+ "im",
+ "imap",
+ "info",
+ "ipn",
+ "ipp",
+ "irc",
+ "irc6",
+ "ircs",
+ "iris",
+ "iris.beep",
+ "iris.lwz",
+ "iris.xpc",
+ "iris.xpcs",
+ "itms",
+ "jar",
+ "javascript",
+ "jms",
+ "keyparc",
+ "lastfm",
+ "ldap",
+ "ldaps",
+ "magnet",
+ "mailto",
+ "maps",
+ "market",
+ "message",
+ "mid",
+ "mms",
+ "ms-help",
+ "msnim",
+ "msrp",
+ "msrps",
+ "mtqp",
+ "mumble",
+ "mupdate",
+ "mvn",
+ "news",
+ "nfs",
+ "ni",
+ "nih",
+ "nntp",
+ "notes",
+ "oid",
+ "opaquelocktoken",
+ "palm",
+ "paparazzi",
+ "platform",
+ "pop",
+ "pres",
+ "proxy",
+ "psyc",
+ "query",
+ "res",
+ "resource",
+ "rmi",
+ "rsync",
+ "rtmp",
+ "rtsp",
+ "secondlife",
+ "service",
+ "session",
+ "sftp",
+ "sgn",
+ "shttp",
+ "sieve",
+ "sip",
+ "sips",
+ "skype",
+ "smb",
+ "sms",
+ "snmp",
+ "soap.beep",
+ "soap.beeps",
+ "soldat",
+ "spotify",
+ "ssh",
+ "steam",
+ "svn",
+ "tag",
+ "teamspeak",
+ "tel",
+ "telnet",
+ "tftp",
+ "things",
+ "thismessage",
+ "tip",
+ "tn3270",
+ "tv",
+ "udp",
+ "unreal",
+ "urn",
+ "ut2004",
+ "vemmi",
+ "ventrilo",
+ "view-source",
+ "webcal",
+ "ws",
+ "wss",
+ "wtai",
+ "wyciwyg",
+ "xcon",
+ "xcon-userid",
+ "xfire",
+ "xmlrpc.beep",
+ "xmlrpc.beeps",
+ "xmpp",
+ "xri",
+ "ymsgr",
+ "z39.50r",
+ "z39.50s",
+}
+
+var urlSchemasSet = make(map[string]bool)
+
+func init() {
+ for _, s := range urlSchemas {
+ urlSchemasSet[s] = true
+ }
+}
+
+func matchSchema(s string) bool {
+ _, ok := urlSchemasSet[s]
+ return ok
+}
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/util.go b/vendor/gitlab.com/golang-commonmark/markdown/util.go
new file mode 100644
index 00000000..d821202c
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/markdown/util.go
@@ -0,0 +1,264 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package markdown
+
+import (
+ "bytes"
+ "regexp"
+ "strings"
+ "unicode"
+
+ "gitlab.com/golang-commonmark/html"
+ "gitlab.com/golang-commonmark/mdurl"
+ "gitlab.com/golang-commonmark/puny"
+)
+
+func runeIsSpace(r rune) bool {
+ return r == ' ' || r == '\t'
+}
+
+func byteIsSpace(b byte) bool {
+ return b == ' ' || b == '\t'
+}
+
+func isLetter(b byte) bool {
+ return b >= 'a' && b <= 'z' || b >= 'A' && b <= 'Z'
+}
+
+func isUppercaseLetter(b byte) bool {
+ return b >= 'A' && b <= 'Z'
+}
+
+func mdpunct(b byte) bool {
+ return strings.IndexByte("!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~", b) != -1
+}
+
+func isMdAsciiPunct(r rune) bool {
+ if r > 0x7e {
+ return false
+ }
+ return mdpunct(byte(r))
+}
+
+func recodeHostnameFor(proto string) bool {
+ switch proto {
+ case "http", "https", "mailto":
+ return true
+ }
+ return false
+}
+
+func normalizeLink(url string) string {
+ parsed, err := mdurl.Parse(url)
+ if err != nil {
+ return ""
+ }
+
+ if parsed.Host != "" && (parsed.Scheme == "" || recodeHostnameFor(parsed.Scheme)) {
+ parsed.Host = puny.ToASCII(parsed.Host)
+ }
+
+ parsed.Scheme = parsed.RawScheme
+
+ return mdurl.Encode(parsed.String())
+}
+
+func normalizeLinkText(url string) string {
+ parsed, err := mdurl.Parse(url)
+ if err != nil {
+ return ""
+ }
+
+ if parsed.Host != "" && (parsed.Scheme == "" || recodeHostnameFor(parsed.Scheme)) {
+ parsed.Host = puny.ToUnicode(parsed.Host)
+ }
+
+ parsed.Scheme = parsed.RawScheme
+
+ return mdurl.Decode(parsed.String())
+}
+
+var badProtos = []string{"file", "javascript", "vbscript"}
+
+var rGoodData = regexp.MustCompile(`^data:image/(gif|png|jpeg|webp);`)
+
+func removeSpecial(s string) string {
+ i := 0
+ for i < len(s) && !(s[i] <= 0x20 || s[i] == 0x7f) {
+ i++
+ }
+ if i >= len(s) {
+ return s
+ }
+ buf := make([]byte, len(s))
+ j := 0
+ for i := 0; i < len(s); i++ {
+ if !(s[i] <= 0x20 || s[i] == 0x7f) {
+ buf[j] = s[i]
+ j++
+ }
+ }
+ return string(buf[:j])
+}
+
+func validateLink(url string) bool {
+ str := strings.TrimSpace(url)
+ str = strings.ToLower(str)
+
+ if strings.IndexByte(str, ':') >= 0 {
+ proto := strings.SplitN(str, ":", 2)[0]
+ proto = removeSpecial(proto)
+ for _, p := range badProtos {
+ if proto == p {
+ return false
+ }
+ }
+ if proto == "data" && !rGoodData.MatchString(str) {
+ return false
+ }
+ }
+
+ return true
+}
+
+func unescapeAll(s string) string {
+ anyChanges := false
+ i := 0
+ for i < len(s)-1 {
+ b := s[i]
+ if b == '\\' {
+ if mdpunct(s[i+1]) {
+ anyChanges = true
+ break
+ }
+ } else if b == '&' {
+ if e, n := html.ParseEntity(s[i:]); n > 0 && e != html.BadEntity {
+ anyChanges = true
+ break
+ }
+ }
+ i++
+ }
+
+ if !anyChanges {
+ return s
+ }
+
+ buf := make([]byte, len(s))
+ copy(buf[:i], s)
+ j := i
+ for i < len(s) {
+ b := s[i]
+ if b == '\\' {
+ if i+1 < len(s) {
+ b = s[i+1]
+ if mdpunct(b) {
+ buf[j] = b
+ j++
+ } else {
+ buf[j] = '\\'
+ j++
+ buf[j] = b
+ j++
+ }
+ i += 2
+ continue
+ }
+ } else if b == '&' {
+ if e, n := html.ParseEntity(s[i:]); n > 0 && e != html.BadEntity {
+ if len(e) > n && len(buf) == len(s) {
+ newBuf := make([]byte, cap(buf)*2)
+ copy(newBuf[:j], buf)
+ buf = newBuf
+ }
+ j += copy(buf[j:], e)
+ i += n
+ continue
+ }
+ }
+ buf[j] = b
+ j++
+ i++
+ }
+
+ return string(buf[:j])
+}
+
+func normalizeInlineCode(s string) string {
+ if s == "" {
+ return ""
+ }
+
+ byteFuckery := false
+ i := 0
+ for i < len(s)-1 {
+ b := s[i]
+ if b == '\n' {
+ byteFuckery = true
+ break
+ }
+ if b == ' ' {
+ i++
+ b = s[i]
+ if b == ' ' || b == '\n' {
+ i--
+ byteFuckery = true
+ break
+ }
+ }
+ i++
+ }
+
+ if !byteFuckery {
+ return strings.TrimSpace(s)
+ }
+
+ buf := make([]byte, len(s))
+ copy(buf[:i], s)
+ buf[i] = ' '
+ i++
+ j := i
+ lastSpace := true
+ for i < len(s) {
+ b := s[i]
+ switch b {
+ case ' ', '\n':
+ if lastSpace {
+ break
+ }
+
+ buf[j] = ' '
+ lastSpace = true
+ j++
+ default:
+ buf[j] = b
+ lastSpace = false
+ j++
+ }
+
+ i++
+ }
+
+ return string(bytes.TrimSpace(buf[:j]))
+}
+
+func normalizeReference(s string) string {
+ var buf bytes.Buffer
+ lastSpace := false
+ for _, r := range s {
+ if unicode.IsSpace(r) {
+ if !lastSpace {
+ buf.WriteByte(' ')
+ lastSpace = true
+ }
+ continue
+ }
+
+ buf.WriteRune(unicode.ToLower(r))
+ lastSpace = false
+ }
+
+ return string(bytes.TrimSpace(buf.Bytes()))
+}
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/writer.go b/vendor/gitlab.com/golang-commonmark/markdown/writer.go
new file mode 100644
index 00000000..886a1de4
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/markdown/writer.go
@@ -0,0 +1,69 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package markdown
+
+import (
+ "bufio"
+ "io"
+)
+
+type writer interface {
+ Write([]byte) (int, error)
+ WriteByte(byte) error
+ WriteString(string) (int, error)
+ Flush() error
+}
+
+type monadicWriter struct {
+ writer
+ err error
+}
+
+func newMonadicWriter(w io.Writer) *monadicWriter {
+ if w, ok := w.(writer); ok {
+ return &monadicWriter{writer: w}
+ }
+ return &monadicWriter{writer: bufio.NewWriter(w)}
+}
+
+func (w *monadicWriter) Write(p []byte) (n int, err error) {
+ if w.err != nil {
+ return
+ }
+
+ n, err = w.writer.Write(p)
+ w.err = err
+ return
+}
+
+func (w *monadicWriter) WriteByte(b byte) (err error) {
+ if w.err != nil {
+ return
+ }
+
+ err = w.writer.WriteByte(b)
+ w.err = err
+ return
+}
+
+func (w *monadicWriter) WriteString(s string) (n int, err error) {
+ if w.err != nil {
+ return
+ }
+
+ n, err = w.writer.WriteString(s)
+ w.err = err
+ return
+}
+
+func (w *monadicWriter) Flush() (err error) {
+ if w.err != nil {
+ return
+ }
+
+ err = w.writer.Flush()
+ w.err = err
+ return
+}
diff --git a/vendor/gitlab.com/golang-commonmark/mdurl/.gitlab-ci.yml b/vendor/gitlab.com/golang-commonmark/mdurl/.gitlab-ci.yml
new file mode 100644
index 00000000..aaf2cbdd
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/mdurl/.gitlab-ci.yml
@@ -0,0 +1,16 @@
+image: golang:1.11
+
+stages:
+ - build
+ - test
+
+build:
+ stage: build
+ script:
+ - go build ./...
+
+test:
+ stage: test
+ script:
+ - test -z "$(gofmt -l . | tee /dev/stderr)"
+ - go test ./...
diff --git a/vendor/gitlab.com/golang-commonmark/mdurl/LICENSE b/vendor/gitlab.com/golang-commonmark/mdurl/LICENSE
new file mode 100644
index 00000000..9cdcd201
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/mdurl/LICENSE
@@ -0,0 +1,10 @@
+Copyright (c) 2015, The Authors
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/vendor/gitlab.com/golang-commonmark/mdurl/README.md b/vendor/gitlab.com/golang-commonmark/mdurl/README.md
new file mode 100644
index 00000000..ff4adc14
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/mdurl/README.md
@@ -0,0 +1,8 @@
+mdurl [![License](https://img.shields.io/badge/licence-BSD--2--Clause-blue.svg)](https://opensource.org/licenses/BSD-2-Clause) [![GoDoc](http://godoc.org/gitlab.com/golang-commonmark/mdurl?status.svg)](http://godoc.org/gitlab.com/golang-commonmark/mdurl) [![Pipeline status](https://gitlab.com/golang-commonmark/mdurl/badges/master/pipeline.svg)](https://gitlab.com/golang-commonmark/mdurl/commits/master)
+=====
+
+Package mdurl provides functions for parsing, decoding and encoding URLs.
+
+## Install
+
+ go get -u gitlab.com/golang-commonmark/mdurl
diff --git a/vendor/gitlab.com/golang-commonmark/mdurl/decode.go b/vendor/gitlab.com/golang-commonmark/mdurl/decode.go
new file mode 100644
index 00000000..91430b74
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/mdurl/decode.go
@@ -0,0 +1,80 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package mdurl
+
+import (
+ "bytes"
+ "unicode/utf8"
+)
+
+func advance(s string, pos int) (byte, int) {
+ if pos >= len(s) {
+ return 0, len(s) + 1
+ }
+ if s[pos] != '%' {
+ return s[pos], pos + 1
+ }
+ if pos+2 < len(s) &&
+ hexDigit(s[pos+1]) &&
+ hexDigit(s[pos+2]) {
+ return unhex(s[pos+1])<<4 | unhex(s[pos+2]), pos + 3
+ }
+ return '%', pos + 1
+}
+
+// Decode decodes a percent-encoded URL.
+// Invalid percent-encoded sequences are left as is.
+// Invalid UTF-8 sequences are replaced with U+FFFD.
+func Decode(rawurl string) string {
+ var buf bytes.Buffer
+ i := 0
+ const replacement = "\xEF\xBF\xBD"
+outer:
+ for i < len(rawurl) {
+ r, rlen := utf8.DecodeRuneInString(rawurl[i:])
+ if r == '%' && i+2 < len(rawurl) &&
+ hexDigit(rawurl[i+1]) &&
+ hexDigit(rawurl[i+2]) {
+ b := unhex(rawurl[i+1])<<4 | unhex(rawurl[i+2])
+ if b < 0x80 {
+ buf.WriteByte(b)
+ i += 3
+ continue
+ }
+ var n int
+ if b&0xe0 == 0xc0 {
+ n = 1
+ } else if b&0xf0 == 0xe0 {
+ n = 2
+ } else if b&0xf8 == 0xf0 {
+ n = 3
+ }
+ if n == 0 {
+ buf.WriteString(replacement)
+ i += 3
+ continue
+ }
+ rb := make([]byte, n+1)
+ rb[0] = b
+ j := i + 3
+ for k := 0; k < n; k++ {
+ b, j = advance(rawurl, j)
+ if j > len(rawurl) || b&0xc0 != 0x80 {
+ buf.WriteString(replacement)
+ i += 3
+ continue outer
+ }
+ rb[k+1] = b
+ }
+ r, _ := utf8.DecodeRune(rb)
+ buf.WriteRune(r)
+ i = j
+ continue
+ }
+ buf.WriteRune(r)
+ i += rlen
+ }
+ return buf.String()
+}
diff --git a/vendor/gitlab.com/golang-commonmark/mdurl/encode.go b/vendor/gitlab.com/golang-commonmark/mdurl/encode.go
new file mode 100644
index 00000000..5596e8d3
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/mdurl/encode.go
@@ -0,0 +1,53 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package mdurl
+
+import (
+ "bytes"
+ "strings"
+ "unicode/utf8"
+)
+
+// Encode percent-encodes rawurl, avoiding double encoding.
+// It doesn't touch:
+// - alphanumeric characters ([0-9a-zA-Z]);
+// - percent-encoded characters (%[0-9a-fA-F]{2});
+// - excluded characters ([;/?:@&=+$,-_.!~*'()#]).
+// Invalid UTF-8 sequences are replaced with U+FFFD.
+func Encode(rawurl string) string {
+ const hexdigit = "0123456789ABCDEF"
+ var buf bytes.Buffer
+ i := 0
+ for i < len(rawurl) {
+ r, rlen := utf8.DecodeRuneInString(rawurl[i:])
+ if r >= 0x80 {
+ for j, n := i, i+rlen; j < n; j++ {
+ b := rawurl[j]
+ buf.WriteByte('%')
+ buf.WriteByte(hexdigit[(b>>4)&0xf])
+ buf.WriteByte(hexdigit[b&0xf])
+ }
+ } else if r == '%' {
+ if i+2 < len(rawurl) &&
+ hexDigit(rawurl[i+1]) &&
+ hexDigit(rawurl[i+2]) {
+ buf.WriteByte('%')
+ buf.WriteByte(byteToUpper(rawurl[i+1]))
+ buf.WriteByte(byteToUpper(rawurl[i+2]))
+ i += 2
+ } else {
+ buf.WriteString("%25")
+ }
+ } else if strings.IndexByte("!#$&'()*+,-./0123456789:;=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~", byte(r)) == -1 {
+ buf.WriteByte('%')
+ buf.WriteByte(hexdigit[(r>>4)&0xf])
+ buf.WriteByte(hexdigit[r&0xf])
+ } else {
+ buf.WriteByte(byte(r))
+ }
+ i += rlen
+ }
+ return buf.String()
+}
diff --git a/vendor/gitlab.com/golang-commonmark/mdurl/parse.go b/vendor/gitlab.com/golang-commonmark/mdurl/parse.go
new file mode 100644
index 00000000..595fcdea
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/mdurl/parse.go
@@ -0,0 +1,146 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package mdurl
+
+import (
+ "errors"
+ "strings"
+)
+
+// ErrMissingScheme error is returned by Parse if the passed URL starts with a colon.
+var ErrMissingScheme = errors.New("missing protocol scheme")
+
+var slashedProtocol = map[string]bool{
+ "http": true,
+ "https": true,
+ "ftp": true,
+ "gopher": true,
+ "file": true,
+}
+
+func split(s string, c byte) (string, string, bool) {
+ i := strings.IndexByte(s, c)
+ if i < 0 {
+ return s, "", false
+ }
+ return s[:i], s[i+1:], true
+}
+
+func findScheme(s string) (int, error) {
+ if s == "" {
+ return 0, nil
+ }
+
+ b := s[0]
+ if b == ':' {
+ return 0, ErrMissingScheme
+ }
+ if !letter(b) {
+ return 0, nil
+ }
+
+ for i := 1; i < len(s); i++ {
+ b := s[i]
+ switch {
+ case b == ':':
+ return i, nil
+ case strings.IndexByte("+-.0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ", b) != -1:
+ // do nothing
+ default:
+ return 0, nil
+ }
+ }
+
+ return 0, nil
+}
+
+// Parse parses rawurl into a URL structure.
+func Parse(rawurl string) (*URL, error) {
+ n, err := findScheme(rawurl)
+ if err != nil {
+ return nil, err
+ }
+
+ var url URL
+ rest := rawurl
+ hostless := false
+ if n > 0 {
+ url.RawScheme = rest[:n]
+ url.Scheme, rest = strings.ToLower(rest[:n]), rest[n+1:]
+ if url.Scheme == "javascript" {
+ hostless = true
+ }
+ }
+
+ if !hostless && strings.HasPrefix(rest, "//") {
+ url.Slashes, rest = true, rest[2:]
+ }
+
+ if !hostless && (url.Slashes || (url.Scheme != "" && !slashedProtocol[url.Scheme])) {
+ hostEnd := strings.IndexAny(rest, "#/?")
+ atSign := -1
+ i := hostEnd
+ if i == -1 {
+ i = len(rest) - 1
+ }
+ for i >= 0 {
+ if rest[i] == '@' {
+ atSign = i
+ break
+ }
+ i--
+ }
+
+ if atSign != -1 {
+ url.Auth, rest = rest[:atSign], rest[atSign+1:]
+ }
+
+ hostEnd = strings.IndexAny(rest, "\t\r\n \"#%'/;<>?\\^`{|}")
+ if hostEnd == -1 {
+ hostEnd = len(rest)
+ }
+ if hostEnd > 0 && hostEnd < len(rest) && rest[hostEnd-1] == ':' {
+ hostEnd--
+ }
+ host := rest[:hostEnd]
+
+ if len(host) > 1 {
+ b := host[hostEnd-1]
+ if digit(b) {
+ for i := len(host) - 2; i >= 0; i-- {
+ b := host[i]
+ if b == ':' {
+ url.Host, url.Port = host[:i], host[i+1:]
+ break
+ }
+ if !digit(b) {
+ break
+ }
+ }
+ } else if b == ':' {
+ host = host[:hostEnd-1]
+ hostEnd--
+ }
+ }
+ if url.Port == "" {
+ url.Host = host
+ }
+ rest = rest[hostEnd:]
+
+ if ipv6 := len(url.Host) > 2 &&
+ url.Host[0] == '[' &&
+ url.Host[len(url.Host)-1] == ']'; ipv6 {
+ url.Host = url.Host[1 : len(url.Host)-1]
+ url.IPv6 = true
+ } else if i := strings.IndexByte(url.Host, ':'); i >= 0 {
+ url.Host, rest = url.Host[:i], url.Host[i:]+rest
+ }
+ }
+
+ rest, url.Fragment, url.HasFragment = split(rest, '#')
+ url.Path, url.RawQuery, url.HasQuery = split(rest, '?')
+
+ return &url, nil
+}
diff --git a/vendor/gitlab.com/golang-commonmark/mdurl/url.go b/vendor/gitlab.com/golang-commonmark/mdurl/url.go
new file mode 100644
index 00000000..72c3f58a
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/mdurl/url.go
@@ -0,0 +1,101 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Package url provides functions for parsing, decoding and encoding URLs.
+package mdurl
+
+// A URL represents a parsed URL.
+type URL struct {
+ Scheme string
+ RawScheme string
+ Slashes bool
+ Auth string
+ Host string
+ Port string
+ Path string
+ RawQuery string
+ HasQuery bool
+ Fragment string
+ HasFragment bool
+ IPv6 bool
+}
+
+// String reassembles the URL into a URL string.
+func (u *URL) String() string {
+ size := len(u.Path)
+ if u.Scheme != "" {
+ size += len(u.Scheme) + 1
+ }
+ if u.Slashes {
+ size += 2
+ }
+ if u.Auth != "" {
+ size += len(u.Auth) + 1
+ }
+ if u.Host != "" {
+ size += len(u.Host)
+ if u.IPv6 {
+ size += 2
+ }
+ }
+ if u.Port != "" {
+ size += len(u.Port) + 1
+ }
+ if u.HasQuery {
+ size += len(u.RawQuery) + 1
+ }
+ if u.HasFragment {
+ size += len(u.Fragment) + 1
+ }
+ if size == 0 {
+ return ""
+ }
+
+ buf := make([]byte, size)
+ i := 0
+ if u.Scheme != "" {
+ i += copy(buf, u.Scheme)
+ buf[i] = ':'
+ i++
+ }
+ if u.Slashes {
+ buf[i] = '/'
+ i++
+ buf[i] = '/'
+ i++
+ }
+ if u.Auth != "" {
+ i += copy(buf[i:], u.Auth)
+ buf[i] = '@'
+ i++
+ }
+ if u.Host != "" {
+ if u.IPv6 {
+ buf[i] = '['
+ i++
+ i += copy(buf[i:], u.Host)
+ buf[i] = ']'
+ i++
+ } else {
+ i += copy(buf[i:], u.Host)
+ }
+ }
+ if u.Port != "" {
+ buf[i] = ':'
+ i++
+ i += copy(buf[i:], u.Port)
+ }
+ i += copy(buf[i:], u.Path)
+ if u.HasQuery {
+ buf[i] = '?'
+ i++
+ i += copy(buf[i:], u.RawQuery)
+ }
+ if u.HasFragment {
+ buf[i] = '#'
+ i++
+ i += copy(buf[i:], u.Fragment)
+ }
+ return string(buf)
+}
diff --git a/vendor/gitlab.com/golang-commonmark/mdurl/util.go b/vendor/gitlab.com/golang-commonmark/mdurl/util.go
new file mode 100644
index 00000000..0fd3ff33
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/mdurl/util.go
@@ -0,0 +1,36 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package mdurl
+
+func hexDigit(b byte) bool {
+ return digit(b) || b >= 'a' && b <= 'f' || b >= 'A' && b <= 'F'
+}
+
+func unhex(b byte) byte {
+ switch {
+ case digit(b):
+ return b - '0'
+ case b >= 'a' && b <= 'f':
+ return b - 'a' + 10
+ case b >= 'A' && b <= 'F':
+ return b - 'A' + 10
+ }
+ panic("unhex: not a hex digit")
+}
+
+func letter(b byte) bool {
+ return b >= 'a' && b <= 'z' || b >= 'A' && b <= 'Z'
+}
+
+func digit(b byte) bool {
+ return b >= '0' && b <= '9'
+}
+
+func byteToUpper(b byte) byte {
+ if b >= 'a' && b <= 'z' {
+ return b - 'a' + 'A'
+ }
+ return b
+}
diff --git a/vendor/gitlab.com/golang-commonmark/puny/.gitlab-ci.yml b/vendor/gitlab.com/golang-commonmark/puny/.gitlab-ci.yml
new file mode 100644
index 00000000..aaf2cbdd
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/puny/.gitlab-ci.yml
@@ -0,0 +1,16 @@
+image: golang:1.11
+
+stages:
+ - build
+ - test
+
+build:
+ stage: build
+ script:
+ - go build ./...
+
+test:
+ stage: test
+ script:
+ - test -z "$(gofmt -l . | tee /dev/stderr)"
+ - go test ./...
diff --git a/vendor/gitlab.com/golang-commonmark/puny/LICENSE b/vendor/gitlab.com/golang-commonmark/puny/LICENSE
new file mode 100644
index 00000000..9cdcd201
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/puny/LICENSE
@@ -0,0 +1,10 @@
+Copyright (c) 2015, The Authors
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/vendor/gitlab.com/golang-commonmark/puny/README.md b/vendor/gitlab.com/golang-commonmark/puny/README.md
new file mode 100644
index 00000000..1496b554
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/puny/README.md
@@ -0,0 +1,8 @@
+puny [![License](https://img.shields.io/badge/licence-BSD--2--Clause-blue.svg)](https://opensource.org/licenses/BSD-2-Clause) [![GoDoc](http://godoc.org/gitlab.com/golang-commonmark/puny?status.svg)](http://godoc.org/gitlab.com/golang-commonmark/puny) [![Pipeline status](https://gitlab.com/golang-commonmark/puny/badges/master/pipeline.svg)](https://gitlab.com/golang-commonmark/puny/commits/master)
+====
+
+Package puny provides functions for encoding/decoding to/from punycode.
+
+## Install
+
+ go get -u gitlab.com/golang-commonmark/puny
diff --git a/vendor/gitlab.com/golang-commonmark/puny/puny.go b/vendor/gitlab.com/golang-commonmark/puny/puny.go
new file mode 100644
index 00000000..8f71402c
--- /dev/null
+++ b/vendor/gitlab.com/golang-commonmark/puny/puny.go
@@ -0,0 +1,287 @@
+// Copyright 2015 The Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Package puny provides functions for encoding/decoding to/from punycode.
+package puny
+
+import (
+ "errors"
+ "strings"
+ "unicode/utf8"
+)
+
+const (
+ maxInt32 int32 = 2147483647
+ base int32 = 36
+ tMin int32 = 1
+ baseMinusTMin = base - tMin
+ tMax int32 = 26
+ skew int32 = 38
+ damp int32 = 700
+ initialBias int32 = 72
+ initialN int32 = 128
+)
+
+var (
+ ErrOverflow = errors.New("overflow: input needs wider integers to process")
+ ErrNotBasic = errors.New("illegal input >= 0x80 (not a basic code point)")
+ ErrInvalidInput = errors.New("invalid input")
+)
+
+func adapt(delta, numPoints int32, firstTime bool) int32 {
+ if firstTime {
+ delta /= damp
+ } else {
+ delta /= 2
+ }
+ delta += delta / numPoints
+ k := int32(0)
+ for delta > baseMinusTMin*tMax/2 {
+ delta = delta / baseMinusTMin
+ k += base
+ }
+ return k + (baseMinusTMin+1)*delta/(delta+skew)
+}
+
+func basicToDigit(b byte) int32 {
+ switch {
+ case b >= '0' && b <= '9':
+ return int32(b - 22)
+ case b >= 'A' && b <= 'Z':
+ return int32(b - 'A')
+ case b >= 'a' && b <= 'z':
+ return int32(b - 'a')
+ }
+ return base
+}
+
+func digitToBasic(digit int32) byte {
+ switch {
+ case digit >= 0 && digit <= 25:
+ return byte(digit) + 'a'
+ case digit >= 26 && digit <= 35:
+ return byte(digit) - 26 + '0'
+ }
+ panic("unreachable")
+}
+
+func lastIndex(s string, c byte) int {
+ for i := len(s) - 1; i >= 0; i-- {
+ if s[i] == c {
+ return i
+ }
+ }
+ return -1
+}
+
+func ascii(s string) bool {
+ for _, r := range s {
+ if r > 0x7e {
+ return false
+ }
+ }
+ return true
+}
+
+// Decode converts a Punycode string of ASCII-only symbols to a string of Unicode symbols.
+func Decode(s string) (string, error) {
+ basic := lastIndex(s, '-')
+ output := make([]rune, 0, len(s))
+ for i := 0; i < basic; i++ {
+ b := s[i]
+ if b >= 0x80 {
+ return "", ErrNotBasic
+ }
+ output = append(output, rune(b))
+ }
+
+ i, n, bias, pos := int32(0), initialN, initialBias, basic+1
+
+ for pos < len(s) {
+ oldi, w, k := i, int32(1), base
+ for {
+ digit := basicToDigit(s[pos])
+ pos++
+
+ if digit >= base || digit > (maxInt32-i)/w {
+ return "", ErrOverflow
+ }
+
+ i += digit * w
+
+ t := k - bias
+ if t < tMin {
+ t = tMin
+ } else if t > tMax {
+ t = tMax
+ }
+
+ if digit < t {
+ break
+ }
+
+ if pos == len(s) {
+ return "", ErrInvalidInput
+ }
+
+ baseMinusT := base - t
+ if w > maxInt32/baseMinusT {
+ return "", ErrOverflow
+ }
+
+ w *= baseMinusT
+ k += base
+ }
+
+ out := int32(len(output) + 1)
+ bias = adapt(i-oldi, out, oldi == 0)
+
+ if i/out > maxInt32-n {
+ return "", ErrOverflow
+ }
+
+ n += i / out
+ i %= out
+
+ output = append(output, 0)
+ copy(output[i+1:], output[i:])
+ output[i] = rune(n)
+
+ i++
+ }
+
+ return string(output), nil
+}
+
+// Encode converts a string of Unicode symbols (e.g. a domain name label) to a
+// Punycode string of ASCII-only symbols.
+func Encode(input string) (string, error) {
+ n := initialN
+ delta := int32(0)
+ bias := initialBias
+
+ var output []byte
+ runes := 0
+ for _, r := range input {
+ if r >= 0x80 {
+ runes++
+ continue
+ }
+ output = append(output, byte(r))
+ }
+
+ basicLength := len(output)
+ handledCPCount := basicLength
+
+ if basicLength > 0 {
+ output = append(output, '-')
+ }
+
+ for runes > 0 {
+ m := maxInt32
+ for _, r := range input {
+ if r >= n && r < m {
+ m = r
+ }
+ }
+
+ handledCPCountPlusOne := int32(handledCPCount + 1)
+ if m-n > (maxInt32-delta)/handledCPCountPlusOne {
+ return "", ErrOverflow
+ }
+
+ delta += (m - n) * handledCPCountPlusOne
+ n = m
+
+ for _, r := range input {
+ if r < n {
+ delta++
+ if delta < 0 {
+ return "", ErrOverflow
+ }
+ continue
+ }
+ if r > n {
+ continue
+ }
+ q := delta
+ for k := base; ; k += base {
+ t := k - bias
+ if t < tMin {
+ t = tMin
+ } else if t > tMax {
+ t = tMax
+ }
+ if q < t {
+ break
+ }
+ qMinusT := q - t
+ baseMinusT := base - t
+ output = append(output, digitToBasic(t+qMinusT%baseMinusT))
+ q = qMinusT / baseMinusT
+ }
+
+ output = append(output, digitToBasic(q))
+ bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength)
+ delta = 0
+ handledCPCount++
+ runes--
+ }
+ delta++
+ n++
+ }
+ return string(output), nil
+}
+
+func sep(r rune) bool { return r == '.' || r == '。' || r == '.' || r == '。' }
+
+func mapLabels(s string, fn func(string) string) string {
+ var result string
+ i := strings.IndexByte(s, '@')
+ if i != -1 {
+ result = s[:i+1]
+ s = s[i+1:]
+ }
+ var labels []string
+ start := 0
+ for i, r := range s {
+ if !sep(r) {
+ continue
+ }
+ labels = append(labels, fn(s[start:i]))
+ start = i + utf8.RuneLen(r)
+ }
+ labels = append(labels, fn(s[start:]))
+ return result + strings.Join(labels, ".")
+}
+
+// ToUnicode converts a Punycode string representing a domain name or an email address
+// to Unicode. Only the Punycoded parts of the input will be converted.
+func ToUnicode(s string) string {
+ return mapLabels(s, func(s string) string {
+ if !strings.HasPrefix(s, "xn--") {
+ return s
+ }
+ d, err := Decode(strings.ToLower(s[4:]))
+ if err != nil {
+ return s
+ }
+ return d
+ })
+}
+
+// ToASCII converts a Unicode string representing a domain name or an email address to
+// Punycode. Only the non-ASCII parts of the domain name will be converted.
+func ToASCII(s string) string {
+ return mapLabels(s, func(s string) string {
+ if ascii(s) {
+ return s
+ }
+ d, err := Encode(s)
+ if err != nil {
+ return s
+ }
+ return "xn--" + d
+ })
+}
diff --git a/vendor/golang.org/x/text/unicode/rangetable/gen.go b/vendor/golang.org/x/text/unicode/rangetable/gen.go
new file mode 100644
index 00000000..5b5f828a
--- /dev/null
+++ b/vendor/golang.org/x/text/unicode/rangetable/gen.go
@@ -0,0 +1,115 @@
+// Copyright 2015 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// +build ignore
+
+package main
+
+import (
+ "bytes"
+ "flag"
+ "fmt"
+ "io"
+ "log"
+ "reflect"
+ "strings"
+ "unicode"
+
+ "golang.org/x/text/collate"
+ "golang.org/x/text/internal/gen"
+ "golang.org/x/text/internal/ucd"
+ "golang.org/x/text/language"
+ "golang.org/x/text/unicode/rangetable"
+)
+
+var versionList = flag.String("versions", "",
+ "list of versions for which to generate RangeTables")
+
+const bootstrapMessage = `No versions specified.
+To bootstrap the code generation, run:
+ go run gen.go --versions=4.1.0,5.0.0,6.0.0,6.1.0,6.2.0,6.3.0,7.0.0
+
+and ensure that the latest versions are included by checking:
+ http://www.unicode.org/Public/`
+
+func getVersions() []string {
+ if *versionList == "" {
+ log.Fatal(bootstrapMessage)
+ }
+
+ c := collate.New(language.Und, collate.Numeric)
+ versions := strings.Split(*versionList, ",")
+ c.SortStrings(versions)
+
+ // Ensure that at least the current version is included.
+ for _, v := range versions {
+ if v == gen.UnicodeVersion() {
+ return versions
+ }
+ }
+
+ versions = append(versions, gen.UnicodeVersion())
+ c.SortStrings(versions)
+ return versions
+}
+
+func main() {
+ gen.Init()
+
+ versions := getVersions()
+
+ w := &bytes.Buffer{}
+
+ fmt.Fprintf(w, "//go:generate go run gen.go --versions=%s\n\n", strings.Join(versions, ","))
+ fmt.Fprintf(w, "import \"unicode\"\n\n")
+
+ vstr := func(s string) string { return strings.Replace(s, ".", "_", -1) }
+
+ fmt.Fprintf(w, "var assigned = map[string]*unicode.RangeTable{\n")
+ for _, v := range versions {
+ fmt.Fprintf(w, "\t%q: assigned%s,\n", v, vstr(v))
+ }
+ fmt.Fprintf(w, "}\n\n")
+
+ var size int
+ for _, v := range versions {
+ assigned := []rune{}
+
+ r := gen.Open("http://www.unicode.org/Public/", "", v+"/ucd/UnicodeData.txt")
+ ucd.Parse(r, func(p *ucd.Parser) {
+ assigned = append(assigned, p.Rune(0))
+ })
+
+ rt := rangetable.New(assigned...)
+ sz := int(reflect.TypeOf(unicode.RangeTable{}).Size())
+ sz += int(reflect.TypeOf(unicode.Range16{}).Size()) * len(rt.R16)
+ sz += int(reflect.TypeOf(unicode.Range32{}).Size()) * len(rt.R32)
+
+ fmt.Fprintf(w, "// size %d bytes (%d KiB)\n", sz, sz/1024)
+ fmt.Fprintf(w, "var assigned%s = ", vstr(v))
+ print(w, rt)
+
+ size += sz
+ }
+
+ fmt.Fprintf(w, "// Total size %d bytes (%d KiB)\n", size, size/1024)
+
+ gen.WriteVersionedGoFile("tables.go", "rangetable", w.Bytes())
+}
+
+func print(w io.Writer, rt *unicode.RangeTable) {
+ fmt.Fprintln(w, "&unicode.RangeTable{")
+ fmt.Fprintln(w, "\tR16: []unicode.Range16{")
+ for _, r := range rt.R16 {
+ fmt.Fprintf(w, "\t\t{%#04x, %#04x, %d},\n", r.Lo, r.Hi, r.Stride)
+ }
+ fmt.Fprintln(w, "\t},")
+ fmt.Fprintln(w, "\tR32: []unicode.Range32{")
+ for _, r := range rt.R32 {
+ fmt.Fprintf(w, "\t\t{%#08x, %#08x, %d},\n", r.Lo, r.Hi, r.Stride)
+ }
+ fmt.Fprintln(w, "\t},")
+ fmt.Fprintf(w, "\tLatinOffset: %d,\n", rt.LatinOffset)
+ fmt.Fprintf(w, "}\n\n")
+}
diff --git a/vendor/golang.org/x/text/unicode/rangetable/merge.go b/vendor/golang.org/x/text/unicode/rangetable/merge.go
new file mode 100644
index 00000000..ea2a0803
--- /dev/null
+++ b/vendor/golang.org/x/text/unicode/rangetable/merge.go
@@ -0,0 +1,260 @@
+// Copyright 2015 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package rangetable
+
+import (
+ "unicode"
+)
+
+// atEnd is used to mark a completed iteration.
+const atEnd = unicode.MaxRune + 1
+
+// Merge returns a new RangeTable that is the union of the given tables.
+// It can also be used to compact user-created RangeTables. The entries in
+// R16 and R32 for any given RangeTable should be sorted and non-overlapping.
+//
+// A lookup in the resulting table can be several times faster than using In
+// directly on the ranges. Merge is an expensive operation, however, and only
+// makes sense if one intends to use the result for more than a couple of
+// hundred lookups.
+func Merge(ranges ...*unicode.RangeTable) *unicode.RangeTable {
+ rt := &unicode.RangeTable{}
+ if len(ranges) == 0 {
+ return rt
+ }
+
+ iter := tablesIter(make([]tableIndex, len(ranges)))
+
+ for i, t := range ranges {
+ iter[i] = tableIndex{t, 0, atEnd}
+ if len(t.R16) > 0 {
+ iter[i].next = rune(t.R16[0].Lo)
+ }
+ }
+
+ if r0 := iter.next16(); r0.Stride != 0 {
+ for {
+ r1 := iter.next16()
+ if r1.Stride == 0 {
+ rt.R16 = append(rt.R16, r0)
+ break
+ }
+ stride := r1.Lo - r0.Hi
+ if (r1.Lo == r1.Hi || stride == r1.Stride) && (r0.Lo == r0.Hi || stride == r0.Stride) {
+ // Fully merge the next range into the previous one.
+ r0.Hi, r0.Stride = r1.Hi, stride
+ continue
+ } else if stride == r0.Stride {
+ // Move the first element of r1 to r0. This may eliminate an
+ // entry.
+ r0.Hi = r1.Lo
+ r0.Stride = stride
+ r1.Lo = r1.Lo + r1.Stride
+ if r1.Lo > r1.Hi {
+ continue
+ }
+ }
+ rt.R16 = append(rt.R16, r0)
+ r0 = r1
+ }
+ }
+
+ for i, t := range ranges {
+ iter[i] = tableIndex{t, 0, atEnd}
+ if len(t.R32) > 0 {
+ iter[i].next = rune(t.R32[0].Lo)
+ }
+ }
+
+ if r0 := iter.next32(); r0.Stride != 0 {
+ for {
+ r1 := iter.next32()
+ if r1.Stride == 0 {
+ rt.R32 = append(rt.R32, r0)
+ break
+ }
+ stride := r1.Lo - r0.Hi
+ if (r1.Lo == r1.Hi || stride == r1.Stride) && (r0.Lo == r0.Hi || stride == r0.Stride) {
+ // Fully merge the next range into the previous one.
+ r0.Hi, r0.Stride = r1.Hi, stride
+ continue
+ } else if stride == r0.Stride {
+ // Move the first element of r1 to r0. This may eliminate an
+ // entry.
+ r0.Hi = r1.Lo
+ r1.Lo = r1.Lo + r1.Stride
+ if r1.Lo > r1.Hi {
+ continue
+ }
+ }
+ rt.R32 = append(rt.R32, r0)
+ r0 = r1
+ }
+ }
+
+ for i := 0; i < len(rt.R16) && rt.R16[i].Hi <= unicode.MaxLatin1; i++ {
+ rt.LatinOffset = i + 1
+ }
+
+ return rt
+}
+
+type tableIndex struct {
+ t *unicode.RangeTable
+ p uint32
+ next rune
+}
+
+type tablesIter []tableIndex
+
+// sortIter does an insertion sort using the next field of tableIndex. Insertion
+// sort is a good sorting algorithm for this case.
+func sortIter(t []tableIndex) {
+ for i := range t {
+ for j := i; j > 0 && t[j-1].next > t[j].next; j-- {
+ t[j], t[j-1] = t[j-1], t[j]
+ }
+ }
+}
+
+// next16 finds the ranged to be added to the table. If ranges overlap between
+// multiple tables it clips the result to a non-overlapping range if the
+// elements are not fully subsumed. It returns a zero range if there are no more
+// ranges.
+func (ti tablesIter) next16() unicode.Range16 {
+ sortIter(ti)
+
+ t0 := ti[0]
+ if t0.next == atEnd {
+ return unicode.Range16{}
+ }
+ r0 := t0.t.R16[t0.p]
+ r0.Lo = uint16(t0.next)
+
+ // We restrict the Hi of the current range if it overlaps with another range.
+ for i := range ti {
+ tn := ti[i]
+ // Since our tableIndices are sorted by next, we can break if the there
+ // is no overlap. The first value of a next range can always be merged
+ // into the current one, so we can break in case of equality as well.
+ if rune(r0.Hi) <= tn.next {
+ break
+ }
+ rn := tn.t.R16[tn.p]
+ rn.Lo = uint16(tn.next)
+
+ // Limit r0.Hi based on next ranges in list, but allow it to overlap
+ // with ranges as long as it subsumes it.
+ m := (rn.Lo - r0.Lo) % r0.Stride
+ if m == 0 && (rn.Stride == r0.Stride || rn.Lo == rn.Hi) {
+ // Overlap, take the min of the two Hi values: for simplicity's sake
+ // we only process one range at a time.
+ if r0.Hi > rn.Hi {
+ r0.Hi = rn.Hi
+ }
+ } else {
+ // Not a compatible stride. Set to the last possible value before
+ // rn.Lo, but ensure there is at least one value.
+ if x := rn.Lo - m; r0.Lo <= x {
+ r0.Hi = x
+ }
+ break
+ }
+ }
+
+ // Update the next values for each table.
+ for i := range ti {
+ tn := &ti[i]
+ if rune(r0.Hi) < tn.next {
+ break
+ }
+ rn := tn.t.R16[tn.p]
+ stride := rune(rn.Stride)
+ tn.next += stride * (1 + ((rune(r0.Hi) - tn.next) / stride))
+ if rune(rn.Hi) < tn.next {
+ if tn.p++; int(tn.p) == len(tn.t.R16) {
+ tn.next = atEnd
+ } else {
+ tn.next = rune(tn.t.R16[tn.p].Lo)
+ }
+ }
+ }
+
+ if r0.Lo == r0.Hi {
+ r0.Stride = 1
+ }
+
+ return r0
+}
+
+// next32 finds the ranged to be added to the table. If ranges overlap between
+// multiple tables it clips the result to a non-overlapping range if the
+// elements are not fully subsumed. It returns a zero range if there are no more
+// ranges.
+func (ti tablesIter) next32() unicode.Range32 {
+ sortIter(ti)
+
+ t0 := ti[0]
+ if t0.next == atEnd {
+ return unicode.Range32{}
+ }
+ r0 := t0.t.R32[t0.p]
+ r0.Lo = uint32(t0.next)
+
+ // We restrict the Hi of the current range if it overlaps with another range.
+ for i := range ti {
+ tn := ti[i]
+ // Since our tableIndices are sorted by next, we can break if the there
+ // is no overlap. The first value of a next range can always be merged
+ // into the current one, so we can break in case of equality as well.
+ if rune(r0.Hi) <= tn.next {
+ break
+ }
+ rn := tn.t.R32[tn.p]
+ rn.Lo = uint32(tn.next)
+
+ // Limit r0.Hi based on next ranges in list, but allow it to overlap
+ // with ranges as long as it subsumes it.
+ m := (rn.Lo - r0.Lo) % r0.Stride
+ if m == 0 && (rn.Stride == r0.Stride || rn.Lo == rn.Hi) {
+ // Overlap, take the min of the two Hi values: for simplicity's sake
+ // we only process one range at a time.
+ if r0.Hi > rn.Hi {
+ r0.Hi = rn.Hi
+ }
+ } else {
+ // Not a compatible stride. Set to the last possible value before
+ // rn.Lo, but ensure there is at least one value.
+ if x := rn.Lo - m; r0.Lo <= x {
+ r0.Hi = x
+ }
+ break
+ }
+ }
+
+ // Update the next values for each table.
+ for i := range ti {
+ tn := &ti[i]
+ if rune(r0.Hi) < tn.next {
+ break
+ }
+ rn := tn.t.R32[tn.p]
+ stride := rune(rn.Stride)
+ tn.next += stride * (1 + ((rune(r0.Hi) - tn.next) / stride))
+ if rune(rn.Hi) < tn.next {
+ if tn.p++; int(tn.p) == len(tn.t.R32) {
+ tn.next = atEnd
+ } else {
+ tn.next = rune(tn.t.R32[tn.p].Lo)
+ }
+ }
+ }
+
+ if r0.Lo == r0.Hi {
+ r0.Stride = 1
+ }
+
+ return r0
+}
diff --git a/vendor/golang.org/x/text/unicode/rangetable/rangetable.go b/vendor/golang.org/x/text/unicode/rangetable/rangetable.go
new file mode 100644
index 00000000..187882cc
--- /dev/null
+++ b/vendor/golang.org/x/text/unicode/rangetable/rangetable.go
@@ -0,0 +1,70 @@
+// Copyright 2015 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Package rangetable provides utilities for creating and inspecting
+// unicode.RangeTables.
+package rangetable
+
+import (
+ "sort"
+ "unicode"
+)
+
+// New creates a RangeTable from the given runes, which may contain duplicates.
+func New(r ...rune) *unicode.RangeTable {
+ if len(r) == 0 {
+ return &unicode.RangeTable{}
+ }
+
+ sort.Sort(byRune(r))
+
+ // Remove duplicates.
+ k := 1
+ for i := 1; i < len(r); i++ {
+ if r[k-1] != r[i] {
+ r[k] = r[i]
+ k++
+ }
+ }
+
+ var rt unicode.RangeTable
+ for _, r := range r[:k] {
+ if r <= 0xFFFF {
+ rt.R16 = append(rt.R16, unicode.Range16{Lo: uint16(r), Hi: uint16(r), Stride: 1})
+ } else {
+ rt.R32 = append(rt.R32, unicode.Range32{Lo: uint32(r), Hi: uint32(r), Stride: 1})
+ }
+ }
+
+ // Optimize RangeTable.
+ return Merge(&rt)
+}
+
+type byRune []rune
+
+func (r byRune) Len() int { return len(r) }
+func (r byRune) Swap(i, j int) { r[i], r[j] = r[j], r[i] }
+func (r byRune) Less(i, j int) bool { return r[i] < r[j] }
+
+// Visit visits all runes in the given RangeTable in order, calling fn for each.
+func Visit(rt *unicode.RangeTable, fn func(rune)) {
+ for _, r16 := range rt.R16 {
+ for r := rune(r16.Lo); r <= rune(r16.Hi); r += rune(r16.Stride) {
+ fn(r)
+ }
+ }
+ for _, r32 := range rt.R32 {
+ for r := rune(r32.Lo); r <= rune(r32.Hi); r += rune(r32.Stride) {
+ fn(r)
+ }
+ }
+}
+
+// Assigned returns a RangeTable with all assigned code points for a given
+// Unicode version. This includes graphic, format, control, and private-use
+// characters. It returns nil if the data for the given version is not
+// available.
+func Assigned(version string) *unicode.RangeTable {
+ return assigned[version]
+}
diff --git a/vendor/golang.org/x/text/unicode/rangetable/tables10.0.0.go b/vendor/golang.org/x/text/unicode/rangetable/tables10.0.0.go
new file mode 100644
index 00000000..f15a873a
--- /dev/null
+++ b/vendor/golang.org/x/text/unicode/rangetable/tables10.0.0.go
@@ -0,0 +1,6378 @@
+// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
+
+// +build go1.10
+
+package rangetable
+
+//go:generate go run gen.go --versions=4.1.0,5.1.0,5.2.0,5.0.0,6.1.0,6.2.0,6.3.0,6.0.0,7.0.0,8.0.0,9.0.0,10.0.0
+
+import "unicode"
+
+var assigned = map[string]*unicode.RangeTable{
+ "4.1.0": assigned4_1_0,
+ "5.1.0": assigned5_1_0,
+ "5.2.0": assigned5_2_0,
+ "5.0.0": assigned5_0_0,
+ "6.1.0": assigned6_1_0,
+ "6.2.0": assigned6_2_0,
+ "6.3.0": assigned6_3_0,
+ "6.0.0": assigned6_0_0,
+ "7.0.0": assigned7_0_0,
+ "8.0.0": assigned8_0_0,
+ "9.0.0": assigned9_0_0,
+ "10.0.0": assigned10_0_0,
+}
+
+// size 2924 bytes (2 KiB)
+var assigned4_1_0 = &unicode.RangeTable{
+ R16: []unicode.Range16{
+ {0x0000, 0x0241, 1},
+ {0x0250, 0x036f, 1},
+ {0x0374, 0x0375, 1},
+ {0x037a, 0x037e, 4},
+ {0x0384, 0x038a, 1},
+ {0x038c, 0x038e, 2},
+ {0x038f, 0x03a1, 1},
+ {0x03a3, 0x03ce, 1},
+ {0x03d0, 0x0486, 1},
+ {0x0488, 0x04ce, 1},
+ {0x04d0, 0x04f9, 1},
+ {0x0500, 0x050f, 1},
+ {0x0531, 0x0556, 1},
+ {0x0559, 0x055f, 1},
+ {0x0561, 0x0587, 1},
+ {0x0589, 0x058a, 1},
+ {0x0591, 0x05b9, 1},
+ {0x05bb, 0x05c7, 1},
+ {0x05d0, 0x05ea, 1},
+ {0x05f0, 0x05f4, 1},
+ {0x0600, 0x0603, 1},
+ {0x060b, 0x0615, 1},
+ {0x061b, 0x061e, 3},
+ {0x061f, 0x0621, 2},
+ {0x0622, 0x063a, 1},
+ {0x0640, 0x065e, 1},
+ {0x0660, 0x070d, 1},
+ {0x070f, 0x074a, 1},
+ {0x074d, 0x076d, 1},
+ {0x0780, 0x07b1, 1},
+ {0x0901, 0x0939, 1},
+ {0x093c, 0x094d, 1},
+ {0x0950, 0x0954, 1},
+ {0x0958, 0x0970, 1},
+ {0x097d, 0x0981, 4},
+ {0x0982, 0x0983, 1},
+ {0x0985, 0x098c, 1},
+ {0x098f, 0x0990, 1},
+ {0x0993, 0x09a8, 1},
+ {0x09aa, 0x09b0, 1},
+ {0x09b2, 0x09b6, 4},
+ {0x09b7, 0x09b9, 1},
+ {0x09bc, 0x09c4, 1},
+ {0x09c7, 0x09c8, 1},
+ {0x09cb, 0x09ce, 1},
+ {0x09d7, 0x09dc, 5},
+ {0x09dd, 0x09df, 2},
+ {0x09e0, 0x09e3, 1},
+ {0x09e6, 0x09fa, 1},
+ {0x0a01, 0x0a03, 1},
+ {0x0a05, 0x0a0a, 1},
+ {0x0a0f, 0x0a10, 1},
+ {0x0a13, 0x0a28, 1},
+ {0x0a2a, 0x0a30, 1},
+ {0x0a32, 0x0a33, 1},
+ {0x0a35, 0x0a36, 1},
+ {0x0a38, 0x0a39, 1},
+ {0x0a3c, 0x0a3e, 2},
+ {0x0a3f, 0x0a42, 1},
+ {0x0a47, 0x0a48, 1},
+ {0x0a4b, 0x0a4d, 1},
+ {0x0a59, 0x0a5c, 1},
+ {0x0a5e, 0x0a66, 8},
+ {0x0a67, 0x0a74, 1},
+ {0x0a81, 0x0a83, 1},
+ {0x0a85, 0x0a8d, 1},
+ {0x0a8f, 0x0a91, 1},
+ {0x0a93, 0x0aa8, 1},
+ {0x0aaa, 0x0ab0, 1},
+ {0x0ab2, 0x0ab3, 1},
+ {0x0ab5, 0x0ab9, 1},
+ {0x0abc, 0x0ac5, 1},
+ {0x0ac7, 0x0ac9, 1},
+ {0x0acb, 0x0acd, 1},
+ {0x0ad0, 0x0ae0, 16},
+ {0x0ae1, 0x0ae3, 1},
+ {0x0ae6, 0x0aef, 1},
+ {0x0af1, 0x0b01, 16},
+ {0x0b02, 0x0b03, 1},
+ {0x0b05, 0x0b0c, 1},
+ {0x0b0f, 0x0b10, 1},
+ {0x0b13, 0x0b28, 1},
+ {0x0b2a, 0x0b30, 1},
+ {0x0b32, 0x0b33, 1},
+ {0x0b35, 0x0b39, 1},
+ {0x0b3c, 0x0b43, 1},
+ {0x0b47, 0x0b48, 1},
+ {0x0b4b, 0x0b4d, 1},
+ {0x0b56, 0x0b57, 1},
+ {0x0b5c, 0x0b5d, 1},
+ {0x0b5f, 0x0b61, 1},
+ {0x0b66, 0x0b71, 1},
+ {0x0b82, 0x0b83, 1},
+ {0x0b85, 0x0b8a, 1},
+ {0x0b8e, 0x0b90, 1},
+ {0x0b92, 0x0b95, 1},
+ {0x0b99, 0x0b9a, 1},
+ {0x0b9c, 0x0b9e, 2},
+ {0x0b9f, 0x0ba3, 4},
+ {0x0ba4, 0x0ba8, 4},
+ {0x0ba9, 0x0baa, 1},
+ {0x0bae, 0x0bb9, 1},
+ {0x0bbe, 0x0bc2, 1},
+ {0x0bc6, 0x0bc8, 1},
+ {0x0bca, 0x0bcd, 1},
+ {0x0bd7, 0x0be6, 15},
+ {0x0be7, 0x0bfa, 1},
+ {0x0c01, 0x0c03, 1},
+ {0x0c05, 0x0c0c, 1},
+ {0x0c0e, 0x0c10, 1},
+ {0x0c12, 0x0c28, 1},
+ {0x0c2a, 0x0c33, 1},
+ {0x0c35, 0x0c39, 1},
+ {0x0c3e, 0x0c44, 1},
+ {0x0c46, 0x0c48, 1},
+ {0x0c4a, 0x0c4d, 1},
+ {0x0c55, 0x0c56, 1},
+ {0x0c60, 0x0c61, 1},
+ {0x0c66, 0x0c6f, 1},
+ {0x0c82, 0x0c83, 1},
+ {0x0c85, 0x0c8c, 1},
+ {0x0c8e, 0x0c90, 1},
+ {0x0c92, 0x0ca8, 1},
+ {0x0caa, 0x0cb3, 1},
+ {0x0cb5, 0x0cb9, 1},
+ {0x0cbc, 0x0cc4, 1},
+ {0x0cc6, 0x0cc8, 1},
+ {0x0cca, 0x0ccd, 1},
+ {0x0cd5, 0x0cd6, 1},
+ {0x0cde, 0x0ce0, 2},
+ {0x0ce1, 0x0ce6, 5},
+ {0x0ce7, 0x0cef, 1},
+ {0x0d02, 0x0d03, 1},
+ {0x0d05, 0x0d0c, 1},
+ {0x0d0e, 0x0d10, 1},
+ {0x0d12, 0x0d28, 1},
+ {0x0d2a, 0x0d39, 1},
+ {0x0d3e, 0x0d43, 1},
+ {0x0d46, 0x0d48, 1},
+ {0x0d4a, 0x0d4d, 1},
+ {0x0d57, 0x0d60, 9},
+ {0x0d61, 0x0d66, 5},
+ {0x0d67, 0x0d6f, 1},
+ {0x0d82, 0x0d83, 1},
+ {0x0d85, 0x0d96, 1},
+ {0x0d9a, 0x0db1, 1},
+ {0x0db3, 0x0dbb, 1},
+ {0x0dbd, 0x0dc0, 3},
+ {0x0dc1, 0x0dc6, 1},
+ {0x0dca, 0x0dcf, 5},
+ {0x0dd0, 0x0dd4, 1},
+ {0x0dd6, 0x0dd8, 2},
+ {0x0dd9, 0x0ddf, 1},
+ {0x0df2, 0x0df4, 1},
+ {0x0e01, 0x0e3a, 1},
+ {0x0e3f, 0x0e5b, 1},
+ {0x0e81, 0x0e82, 1},
+ {0x0e84, 0x0e87, 3},
+ {0x0e88, 0x0e8a, 2},
+ {0x0e8d, 0x0e94, 7},
+ {0x0e95, 0x0e97, 1},
+ {0x0e99, 0x0e9f, 1},
+ {0x0ea1, 0x0ea3, 1},
+ {0x0ea5, 0x0ea7, 2},
+ {0x0eaa, 0x0eab, 1},
+ {0x0ead, 0x0eb9, 1},
+ {0x0ebb, 0x0ebd, 1},
+ {0x0ec0, 0x0ec4, 1},
+ {0x0ec6, 0x0ec8, 2},
+ {0x0ec9, 0x0ecd, 1},
+ {0x0ed0, 0x0ed9, 1},
+ {0x0edc, 0x0edd, 1},
+ {0x0f00, 0x0f47, 1},
+ {0x0f49, 0x0f6a, 1},
+ {0x0f71, 0x0f8b, 1},
+ {0x0f90, 0x0f97, 1},
+ {0x0f99, 0x0fbc, 1},
+ {0x0fbe, 0x0fcc, 1},
+ {0x0fcf, 0x0fd1, 1},
+ {0x1000, 0x1021, 1},
+ {0x1023, 0x1027, 1},
+ {0x1029, 0x102a, 1},
+ {0x102c, 0x1032, 1},
+ {0x1036, 0x1039, 1},
+ {0x1040, 0x1059, 1},
+ {0x10a0, 0x10c5, 1},
+ {0x10d0, 0x10fc, 1},
+ {0x1100, 0x1159, 1},
+ {0x115f, 0x11a2, 1},
+ {0x11a8, 0x11f9, 1},
+ {0x1200, 0x1248, 1},
+ {0x124a, 0x124d, 1},
+ {0x1250, 0x1256, 1},
+ {0x1258, 0x125a, 2},
+ {0x125b, 0x125d, 1},
+ {0x1260, 0x1288, 1},
+ {0x128a, 0x128d, 1},
+ {0x1290, 0x12b0, 1},
+ {0x12b2, 0x12b5, 1},
+ {0x12b8, 0x12be, 1},
+ {0x12c0, 0x12c2, 2},
+ {0x12c3, 0x12c5, 1},
+ {0x12c8, 0x12d6, 1},
+ {0x12d8, 0x1310, 1},
+ {0x1312, 0x1315, 1},
+ {0x1318, 0x135a, 1},
+ {0x135f, 0x137c, 1},
+ {0x1380, 0x1399, 1},
+ {0x13a0, 0x13f4, 1},
+ {0x1401, 0x1676, 1},
+ {0x1680, 0x169c, 1},
+ {0x16a0, 0x16f0, 1},
+ {0x1700, 0x170c, 1},
+ {0x170e, 0x1714, 1},
+ {0x1720, 0x1736, 1},
+ {0x1740, 0x1753, 1},
+ {0x1760, 0x176c, 1},
+ {0x176e, 0x1770, 1},
+ {0x1772, 0x1773, 1},
+ {0x1780, 0x17dd, 1},
+ {0x17e0, 0x17e9, 1},
+ {0x17f0, 0x17f9, 1},
+ {0x1800, 0x180e, 1},
+ {0x1810, 0x1819, 1},
+ {0x1820, 0x1877, 1},
+ {0x1880, 0x18a9, 1},
+ {0x1900, 0x191c, 1},
+ {0x1920, 0x192b, 1},
+ {0x1930, 0x193b, 1},
+ {0x1940, 0x1944, 4},
+ {0x1945, 0x196d, 1},
+ {0x1970, 0x1974, 1},
+ {0x1980, 0x19a9, 1},
+ {0x19b0, 0x19c9, 1},
+ {0x19d0, 0x19d9, 1},
+ {0x19de, 0x1a1b, 1},
+ {0x1a1e, 0x1a1f, 1},
+ {0x1d00, 0x1dc3, 1},
+ {0x1e00, 0x1e9b, 1},
+ {0x1ea0, 0x1ef9, 1},
+ {0x1f00, 0x1f15, 1},
+ {0x1f18, 0x1f1d, 1},
+ {0x1f20, 0x1f45, 1},
+ {0x1f48, 0x1f4d, 1},
+ {0x1f50, 0x1f57, 1},
+ {0x1f59, 0x1f5f, 2},
+ {0x1f60, 0x1f7d, 1},
+ {0x1f80, 0x1fb4, 1},
+ {0x1fb6, 0x1fc4, 1},
+ {0x1fc6, 0x1fd3, 1},
+ {0x1fd6, 0x1fdb, 1},
+ {0x1fdd, 0x1fef, 1},
+ {0x1ff2, 0x1ff4, 1},
+ {0x1ff6, 0x1ffe, 1},
+ {0x2000, 0x2063, 1},
+ {0x206a, 0x2071, 1},
+ {0x2074, 0x208e, 1},
+ {0x2090, 0x2094, 1},
+ {0x20a0, 0x20b5, 1},
+ {0x20d0, 0x20eb, 1},
+ {0x2100, 0x214c, 1},
+ {0x2153, 0x2183, 1},
+ {0x2190, 0x23db, 1},
+ {0x2400, 0x2426, 1},
+ {0x2440, 0x244a, 1},
+ {0x2460, 0x269c, 1},
+ {0x26a0, 0x26b1, 1},
+ {0x2701, 0x2704, 1},
+ {0x2706, 0x2709, 1},
+ {0x270c, 0x2727, 1},
+ {0x2729, 0x274b, 1},
+ {0x274d, 0x274f, 2},
+ {0x2750, 0x2752, 1},
+ {0x2756, 0x2758, 2},
+ {0x2759, 0x275e, 1},
+ {0x2761, 0x2794, 1},
+ {0x2798, 0x27af, 1},
+ {0x27b1, 0x27be, 1},
+ {0x27c0, 0x27c6, 1},
+ {0x27d0, 0x27eb, 1},
+ {0x27f0, 0x2b13, 1},
+ {0x2c00, 0x2c2e, 1},
+ {0x2c30, 0x2c5e, 1},
+ {0x2c80, 0x2cea, 1},
+ {0x2cf9, 0x2d25, 1},
+ {0x2d30, 0x2d65, 1},
+ {0x2d6f, 0x2d80, 17},
+ {0x2d81, 0x2d96, 1},
+ {0x2da0, 0x2da6, 1},
+ {0x2da8, 0x2dae, 1},
+ {0x2db0, 0x2db6, 1},
+ {0x2db8, 0x2dbe, 1},
+ {0x2dc0, 0x2dc6, 1},
+ {0x2dc8, 0x2dce, 1},
+ {0x2dd0, 0x2dd6, 1},
+ {0x2dd8, 0x2dde, 1},
+ {0x2e00, 0x2e17, 1},
+ {0x2e1c, 0x2e1d, 1},
+ {0x2e80, 0x2e99, 1},
+ {0x2e9b, 0x2ef3, 1},
+ {0x2f00, 0x2fd5, 1},
+ {0x2ff0, 0x2ffb, 1},
+ {0x3000, 0x303f, 1},
+ {0x3041, 0x3096, 1},
+ {0x3099, 0x30ff, 1},
+ {0x3105, 0x312c, 1},
+ {0x3131, 0x318e, 1},
+ {0x3190, 0x31b7, 1},
+ {0x31c0, 0x31cf, 1},
+ {0x31f0, 0x321e, 1},
+ {0x3220, 0x3243, 1},
+ {0x3250, 0x32fe, 1},
+ {0x3300, 0x4db5, 1},
+ {0x4dc0, 0x9fbb, 1},
+ {0xa000, 0xa48c, 1},
+ {0xa490, 0xa4c6, 1},
+ {0xa700, 0xa716, 1},
+ {0xa800, 0xa82b, 1},
+ {0xac00, 0xd7a3, 1},
+ {0xd800, 0xfa2d, 1},
+ {0xfa30, 0xfa6a, 1},
+ {0xfa70, 0xfad9, 1},
+ {0xfb00, 0xfb06, 1},
+ {0xfb13, 0xfb17, 1},
+ {0xfb1d, 0xfb36, 1},
+ {0xfb38, 0xfb3c, 1},
+ {0xfb3e, 0xfb40, 2},
+ {0xfb41, 0xfb43, 2},
+ {0xfb44, 0xfb46, 2},
+ {0xfb47, 0xfbb1, 1},
+ {0xfbd3, 0xfd3f, 1},
+ {0xfd50, 0xfd8f, 1},
+ {0xfd92, 0xfdc7, 1},
+ {0xfdf0, 0xfdfd, 1},
+ {0xfe00, 0xfe19, 1},
+ {0xfe20, 0xfe23, 1},
+ {0xfe30, 0xfe52, 1},
+ {0xfe54, 0xfe66, 1},
+ {0xfe68, 0xfe6b, 1},
+ {0xfe70, 0xfe74, 1},
+ {0xfe76, 0xfefc, 1},
+ {0xfeff, 0xff01, 2},
+ {0xff02, 0xffbe, 1},
+ {0xffc2, 0xffc7, 1},
+ {0xffca, 0xffcf, 1},
+ {0xffd2, 0xffd7, 1},
+ {0xffda, 0xffdc, 1},
+ {0xffe0, 0xffe6, 1},
+ {0xffe8, 0xffee, 1},
+ {0xfff9, 0xfffd, 1},
+ },
+ R32: []unicode.Range32{
+ {0x00010000, 0x0001000b, 1},
+ {0x0001000d, 0x00010026, 1},
+ {0x00010028, 0x0001003a, 1},
+ {0x0001003c, 0x0001003d, 1},
+ {0x0001003f, 0x0001004d, 1},
+ {0x00010050, 0x0001005d, 1},
+ {0x00010080, 0x000100fa, 1},
+ {0x00010100, 0x00010102, 1},
+ {0x00010107, 0x00010133, 1},
+ {0x00010137, 0x0001018a, 1},
+ {0x00010300, 0x0001031e, 1},
+ {0x00010320, 0x00010323, 1},
+ {0x00010330, 0x0001034a, 1},
+ {0x00010380, 0x0001039d, 1},
+ {0x0001039f, 0x000103c3, 1},
+ {0x000103c8, 0x000103d5, 1},
+ {0x00010400, 0x0001049d, 1},
+ {0x000104a0, 0x000104a9, 1},
+ {0x00010800, 0x00010805, 1},
+ {0x00010808, 0x0001080a, 2},
+ {0x0001080b, 0x00010835, 1},
+ {0x00010837, 0x00010838, 1},
+ {0x0001083c, 0x0001083f, 3},
+ {0x00010a00, 0x00010a03, 1},
+ {0x00010a05, 0x00010a06, 1},
+ {0x00010a0c, 0x00010a13, 1},
+ {0x00010a15, 0x00010a17, 1},
+ {0x00010a19, 0x00010a33, 1},
+ {0x00010a38, 0x00010a3a, 1},
+ {0x00010a3f, 0x00010a47, 1},
+ {0x00010a50, 0x00010a58, 1},
+ {0x0001d000, 0x0001d0f5, 1},
+ {0x0001d100, 0x0001d126, 1},
+ {0x0001d12a, 0x0001d1dd, 1},
+ {0x0001d200, 0x0001d245, 1},
+ {0x0001d300, 0x0001d356, 1},
+ {0x0001d400, 0x0001d454, 1},
+ {0x0001d456, 0x0001d49c, 1},
+ {0x0001d49e, 0x0001d49f, 1},
+ {0x0001d4a2, 0x0001d4a5, 3},
+ {0x0001d4a6, 0x0001d4a9, 3},
+ {0x0001d4aa, 0x0001d4ac, 1},
+ {0x0001d4ae, 0x0001d4b9, 1},
+ {0x0001d4bb, 0x0001d4bd, 2},
+ {0x0001d4be, 0x0001d4c3, 1},
+ {0x0001d4c5, 0x0001d505, 1},
+ {0x0001d507, 0x0001d50a, 1},
+ {0x0001d50d, 0x0001d514, 1},
+ {0x0001d516, 0x0001d51c, 1},
+ {0x0001d51e, 0x0001d539, 1},
+ {0x0001d53b, 0x0001d53e, 1},
+ {0x0001d540, 0x0001d544, 1},
+ {0x0001d546, 0x0001d54a, 4},
+ {0x0001d54b, 0x0001d550, 1},
+ {0x0001d552, 0x0001d6a5, 1},
+ {0x0001d6a8, 0x0001d7c9, 1},
+ {0x0001d7ce, 0x0001d7ff, 1},
+ {0x00020000, 0x0002a6d6, 1},
+ {0x0002f800, 0x0002fa1d, 1},
+ {0x000e0001, 0x000e0020, 31},
+ {0x000e0021, 0x000e007f, 1},
+ {0x000e0100, 0x000e01ef, 1},
+ {0x000f0000, 0x000ffffd, 1},
+ {0x00100000, 0x0010fffd, 1},
+ },
+ LatinOffset: 0,
+}
+
+// size 3152 bytes (3 KiB)
+var assigned5_1_0 = &unicode.RangeTable{
+ R16: []unicode.Range16{
+ {0x0000, 0x0377, 1},
+ {0x037a, 0x037e, 1},
+ {0x0384, 0x038a, 1},
+ {0x038c, 0x038e, 2},
+ {0x038f, 0x03a1, 1},
+ {0x03a3, 0x0523, 1},
+ {0x0531, 0x0556, 1},
+ {0x0559, 0x055f, 1},
+ {0x0561, 0x0587, 1},
+ {0x0589, 0x058a, 1},
+ {0x0591, 0x05c7, 1},
+ {0x05d0, 0x05ea, 1},
+ {0x05f0, 0x05f4, 1},
+ {0x0600, 0x0603, 1},
+ {0x0606, 0x061b, 1},
+ {0x061e, 0x061f, 1},
+ {0x0621, 0x065e, 1},
+ {0x0660, 0x070d, 1},
+ {0x070f, 0x074a, 1},
+ {0x074d, 0x07b1, 1},
+ {0x07c0, 0x07fa, 1},
+ {0x0901, 0x0939, 1},
+ {0x093c, 0x094d, 1},
+ {0x0950, 0x0954, 1},
+ {0x0958, 0x0972, 1},
+ {0x097b, 0x097f, 1},
+ {0x0981, 0x0983, 1},
+ {0x0985, 0x098c, 1},
+ {0x098f, 0x0990, 1},
+ {0x0993, 0x09a8, 1},
+ {0x09aa, 0x09b0, 1},
+ {0x09b2, 0x09b6, 4},
+ {0x09b7, 0x09b9, 1},
+ {0x09bc, 0x09c4, 1},
+ {0x09c7, 0x09c8, 1},
+ {0x09cb, 0x09ce, 1},
+ {0x09d7, 0x09dc, 5},
+ {0x09dd, 0x09df, 2},
+ {0x09e0, 0x09e3, 1},
+ {0x09e6, 0x09fa, 1},
+ {0x0a01, 0x0a03, 1},
+ {0x0a05, 0x0a0a, 1},
+ {0x0a0f, 0x0a10, 1},
+ {0x0a13, 0x0a28, 1},
+ {0x0a2a, 0x0a30, 1},
+ {0x0a32, 0x0a33, 1},
+ {0x0a35, 0x0a36, 1},
+ {0x0a38, 0x0a39, 1},
+ {0x0a3c, 0x0a3e, 2},
+ {0x0a3f, 0x0a42, 1},
+ {0x0a47, 0x0a48, 1},
+ {0x0a4b, 0x0a4d, 1},
+ {0x0a51, 0x0a59, 8},
+ {0x0a5a, 0x0a5c, 1},
+ {0x0a5e, 0x0a66, 8},
+ {0x0a67, 0x0a75, 1},
+ {0x0a81, 0x0a83, 1},
+ {0x0a85, 0x0a8d, 1},
+ {0x0a8f, 0x0a91, 1},
+ {0x0a93, 0x0aa8, 1},
+ {0x0aaa, 0x0ab0, 1},
+ {0x0ab2, 0x0ab3, 1},
+ {0x0ab5, 0x0ab9, 1},
+ {0x0abc, 0x0ac5, 1},
+ {0x0ac7, 0x0ac9, 1},
+ {0x0acb, 0x0acd, 1},
+ {0x0ad0, 0x0ae0, 16},
+ {0x0ae1, 0x0ae3, 1},
+ {0x0ae6, 0x0aef, 1},
+ {0x0af1, 0x0b01, 16},
+ {0x0b02, 0x0b03, 1},
+ {0x0b05, 0x0b0c, 1},
+ {0x0b0f, 0x0b10, 1},
+ {0x0b13, 0x0b28, 1},
+ {0x0b2a, 0x0b30, 1},
+ {0x0b32, 0x0b33, 1},
+ {0x0b35, 0x0b39, 1},
+ {0x0b3c, 0x0b44, 1},
+ {0x0b47, 0x0b48, 1},
+ {0x0b4b, 0x0b4d, 1},
+ {0x0b56, 0x0b57, 1},
+ {0x0b5c, 0x0b5d, 1},
+ {0x0b5f, 0x0b63, 1},
+ {0x0b66, 0x0b71, 1},
+ {0x0b82, 0x0b83, 1},
+ {0x0b85, 0x0b8a, 1},
+ {0x0b8e, 0x0b90, 1},
+ {0x0b92, 0x0b95, 1},
+ {0x0b99, 0x0b9a, 1},
+ {0x0b9c, 0x0b9e, 2},
+ {0x0b9f, 0x0ba3, 4},
+ {0x0ba4, 0x0ba8, 4},
+ {0x0ba9, 0x0baa, 1},
+ {0x0bae, 0x0bb9, 1},
+ {0x0bbe, 0x0bc2, 1},
+ {0x0bc6, 0x0bc8, 1},
+ {0x0bca, 0x0bcd, 1},
+ {0x0bd0, 0x0bd7, 7},
+ {0x0be6, 0x0bfa, 1},
+ {0x0c01, 0x0c03, 1},
+ {0x0c05, 0x0c0c, 1},
+ {0x0c0e, 0x0c10, 1},
+ {0x0c12, 0x0c28, 1},
+ {0x0c2a, 0x0c33, 1},
+ {0x0c35, 0x0c39, 1},
+ {0x0c3d, 0x0c44, 1},
+ {0x0c46, 0x0c48, 1},
+ {0x0c4a, 0x0c4d, 1},
+ {0x0c55, 0x0c56, 1},
+ {0x0c58, 0x0c59, 1},
+ {0x0c60, 0x0c63, 1},
+ {0x0c66, 0x0c6f, 1},
+ {0x0c78, 0x0c7f, 1},
+ {0x0c82, 0x0c83, 1},
+ {0x0c85, 0x0c8c, 1},
+ {0x0c8e, 0x0c90, 1},
+ {0x0c92, 0x0ca8, 1},
+ {0x0caa, 0x0cb3, 1},
+ {0x0cb5, 0x0cb9, 1},
+ {0x0cbc, 0x0cc4, 1},
+ {0x0cc6, 0x0cc8, 1},
+ {0x0cca, 0x0ccd, 1},
+ {0x0cd5, 0x0cd6, 1},
+ {0x0cde, 0x0ce0, 2},
+ {0x0ce1, 0x0ce3, 1},
+ {0x0ce6, 0x0cef, 1},
+ {0x0cf1, 0x0cf2, 1},
+ {0x0d02, 0x0d03, 1},
+ {0x0d05, 0x0d0c, 1},
+ {0x0d0e, 0x0d10, 1},
+ {0x0d12, 0x0d28, 1},
+ {0x0d2a, 0x0d39, 1},
+ {0x0d3d, 0x0d44, 1},
+ {0x0d46, 0x0d48, 1},
+ {0x0d4a, 0x0d4d, 1},
+ {0x0d57, 0x0d60, 9},
+ {0x0d61, 0x0d63, 1},
+ {0x0d66, 0x0d75, 1},
+ {0x0d79, 0x0d7f, 1},
+ {0x0d82, 0x0d83, 1},
+ {0x0d85, 0x0d96, 1},
+ {0x0d9a, 0x0db1, 1},
+ {0x0db3, 0x0dbb, 1},
+ {0x0dbd, 0x0dc0, 3},
+ {0x0dc1, 0x0dc6, 1},
+ {0x0dca, 0x0dcf, 5},
+ {0x0dd0, 0x0dd4, 1},
+ {0x0dd6, 0x0dd8, 2},
+ {0x0dd9, 0x0ddf, 1},
+ {0x0df2, 0x0df4, 1},
+ {0x0e01, 0x0e3a, 1},
+ {0x0e3f, 0x0e5b, 1},
+ {0x0e81, 0x0e82, 1},
+ {0x0e84, 0x0e87, 3},
+ {0x0e88, 0x0e8a, 2},
+ {0x0e8d, 0x0e94, 7},
+ {0x0e95, 0x0e97, 1},
+ {0x0e99, 0x0e9f, 1},
+ {0x0ea1, 0x0ea3, 1},
+ {0x0ea5, 0x0ea7, 2},
+ {0x0eaa, 0x0eab, 1},
+ {0x0ead, 0x0eb9, 1},
+ {0x0ebb, 0x0ebd, 1},
+ {0x0ec0, 0x0ec4, 1},
+ {0x0ec6, 0x0ec8, 2},
+ {0x0ec9, 0x0ecd, 1},
+ {0x0ed0, 0x0ed9, 1},
+ {0x0edc, 0x0edd, 1},
+ {0x0f00, 0x0f47, 1},
+ {0x0f49, 0x0f6c, 1},
+ {0x0f71, 0x0f8b, 1},
+ {0x0f90, 0x0f97, 1},
+ {0x0f99, 0x0fbc, 1},
+ {0x0fbe, 0x0fcc, 1},
+ {0x0fce, 0x0fd4, 1},
+ {0x1000, 0x1099, 1},
+ {0x109e, 0x10c5, 1},
+ {0x10d0, 0x10fc, 1},
+ {0x1100, 0x1159, 1},
+ {0x115f, 0x11a2, 1},
+ {0x11a8, 0x11f9, 1},
+ {0x1200, 0x1248, 1},
+ {0x124a, 0x124d, 1},
+ {0x1250, 0x1256, 1},
+ {0x1258, 0x125a, 2},
+ {0x125b, 0x125d, 1},
+ {0x1260, 0x1288, 1},
+ {0x128a, 0x128d, 1},
+ {0x1290, 0x12b0, 1},
+ {0x12b2, 0x12b5, 1},
+ {0x12b8, 0x12be, 1},
+ {0x12c0, 0x12c2, 2},
+ {0x12c3, 0x12c5, 1},
+ {0x12c8, 0x12d6, 1},
+ {0x12d8, 0x1310, 1},
+ {0x1312, 0x1315, 1},
+ {0x1318, 0x135a, 1},
+ {0x135f, 0x137c, 1},
+ {0x1380, 0x1399, 1},
+ {0x13a0, 0x13f4, 1},
+ {0x1401, 0x1676, 1},
+ {0x1680, 0x169c, 1},
+ {0x16a0, 0x16f0, 1},
+ {0x1700, 0x170c, 1},
+ {0x170e, 0x1714, 1},
+ {0x1720, 0x1736, 1},
+ {0x1740, 0x1753, 1},
+ {0x1760, 0x176c, 1},
+ {0x176e, 0x1770, 1},
+ {0x1772, 0x1773, 1},
+ {0x1780, 0x17dd, 1},
+ {0x17e0, 0x17e9, 1},
+ {0x17f0, 0x17f9, 1},
+ {0x1800, 0x180e, 1},
+ {0x1810, 0x1819, 1},
+ {0x1820, 0x1877, 1},
+ {0x1880, 0x18aa, 1},
+ {0x1900, 0x191c, 1},
+ {0x1920, 0x192b, 1},
+ {0x1930, 0x193b, 1},
+ {0x1940, 0x1944, 4},
+ {0x1945, 0x196d, 1},
+ {0x1970, 0x1974, 1},
+ {0x1980, 0x19a9, 1},
+ {0x19b0, 0x19c9, 1},
+ {0x19d0, 0x19d9, 1},
+ {0x19de, 0x1a1b, 1},
+ {0x1a1e, 0x1a1f, 1},
+ {0x1b00, 0x1b4b, 1},
+ {0x1b50, 0x1b7c, 1},
+ {0x1b80, 0x1baa, 1},
+ {0x1bae, 0x1bb9, 1},
+ {0x1c00, 0x1c37, 1},
+ {0x1c3b, 0x1c49, 1},
+ {0x1c4d, 0x1c7f, 1},
+ {0x1d00, 0x1de6, 1},
+ {0x1dfe, 0x1f15, 1},
+ {0x1f18, 0x1f1d, 1},
+ {0x1f20, 0x1f45, 1},
+ {0x1f48, 0x1f4d, 1},
+ {0x1f50, 0x1f57, 1},
+ {0x1f59, 0x1f5f, 2},
+ {0x1f60, 0x1f7d, 1},
+ {0x1f80, 0x1fb4, 1},
+ {0x1fb6, 0x1fc4, 1},
+ {0x1fc6, 0x1fd3, 1},
+ {0x1fd6, 0x1fdb, 1},
+ {0x1fdd, 0x1fef, 1},
+ {0x1ff2, 0x1ff4, 1},
+ {0x1ff6, 0x1ffe, 1},
+ {0x2000, 0x2064, 1},
+ {0x206a, 0x2071, 1},
+ {0x2074, 0x208e, 1},
+ {0x2090, 0x2094, 1},
+ {0x20a0, 0x20b5, 1},
+ {0x20d0, 0x20f0, 1},
+ {0x2100, 0x214f, 1},
+ {0x2153, 0x2188, 1},
+ {0x2190, 0x23e7, 1},
+ {0x2400, 0x2426, 1},
+ {0x2440, 0x244a, 1},
+ {0x2460, 0x269d, 1},
+ {0x26a0, 0x26bc, 1},
+ {0x26c0, 0x26c3, 1},
+ {0x2701, 0x2704, 1},
+ {0x2706, 0x2709, 1},
+ {0x270c, 0x2727, 1},
+ {0x2729, 0x274b, 1},
+ {0x274d, 0x274f, 2},
+ {0x2750, 0x2752, 1},
+ {0x2756, 0x2758, 2},
+ {0x2759, 0x275e, 1},
+ {0x2761, 0x2794, 1},
+ {0x2798, 0x27af, 1},
+ {0x27b1, 0x27be, 1},
+ {0x27c0, 0x27ca, 1},
+ {0x27cc, 0x27d0, 4},
+ {0x27d1, 0x2b4c, 1},
+ {0x2b50, 0x2b54, 1},
+ {0x2c00, 0x2c2e, 1},
+ {0x2c30, 0x2c5e, 1},
+ {0x2c60, 0x2c6f, 1},
+ {0x2c71, 0x2c7d, 1},
+ {0x2c80, 0x2cea, 1},
+ {0x2cf9, 0x2d25, 1},
+ {0x2d30, 0x2d65, 1},
+ {0x2d6f, 0x2d80, 17},
+ {0x2d81, 0x2d96, 1},
+ {0x2da0, 0x2da6, 1},
+ {0x2da8, 0x2dae, 1},
+ {0x2db0, 0x2db6, 1},
+ {0x2db8, 0x2dbe, 1},
+ {0x2dc0, 0x2dc6, 1},
+ {0x2dc8, 0x2dce, 1},
+ {0x2dd0, 0x2dd6, 1},
+ {0x2dd8, 0x2dde, 1},
+ {0x2de0, 0x2e30, 1},
+ {0x2e80, 0x2e99, 1},
+ {0x2e9b, 0x2ef3, 1},
+ {0x2f00, 0x2fd5, 1},
+ {0x2ff0, 0x2ffb, 1},
+ {0x3000, 0x303f, 1},
+ {0x3041, 0x3096, 1},
+ {0x3099, 0x30ff, 1},
+ {0x3105, 0x312d, 1},
+ {0x3131, 0x318e, 1},
+ {0x3190, 0x31b7, 1},
+ {0x31c0, 0x31e3, 1},
+ {0x31f0, 0x321e, 1},
+ {0x3220, 0x3243, 1},
+ {0x3250, 0x32fe, 1},
+ {0x3300, 0x4db5, 1},
+ {0x4dc0, 0x9fc3, 1},
+ {0xa000, 0xa48c, 1},
+ {0xa490, 0xa4c6, 1},
+ {0xa500, 0xa62b, 1},
+ {0xa640, 0xa65f, 1},
+ {0xa662, 0xa673, 1},
+ {0xa67c, 0xa697, 1},
+ {0xa700, 0xa78c, 1},
+ {0xa7fb, 0xa82b, 1},
+ {0xa840, 0xa877, 1},
+ {0xa880, 0xa8c4, 1},
+ {0xa8ce, 0xa8d9, 1},
+ {0xa900, 0xa953, 1},
+ {0xa95f, 0xaa00, 161},
+ {0xaa01, 0xaa36, 1},
+ {0xaa40, 0xaa4d, 1},
+ {0xaa50, 0xaa59, 1},
+ {0xaa5c, 0xaa5f, 1},
+ {0xac00, 0xd7a3, 1},
+ {0xd800, 0xfa2d, 1},
+ {0xfa30, 0xfa6a, 1},
+ {0xfa70, 0xfad9, 1},
+ {0xfb00, 0xfb06, 1},
+ {0xfb13, 0xfb17, 1},
+ {0xfb1d, 0xfb36, 1},
+ {0xfb38, 0xfb3c, 1},
+ {0xfb3e, 0xfb40, 2},
+ {0xfb41, 0xfb43, 2},
+ {0xfb44, 0xfb46, 2},
+ {0xfb47, 0xfbb1, 1},
+ {0xfbd3, 0xfd3f, 1},
+ {0xfd50, 0xfd8f, 1},
+ {0xfd92, 0xfdc7, 1},
+ {0xfdf0, 0xfdfd, 1},
+ {0xfe00, 0xfe19, 1},
+ {0xfe20, 0xfe26, 1},
+ {0xfe30, 0xfe52, 1},
+ {0xfe54, 0xfe66, 1},
+ {0xfe68, 0xfe6b, 1},
+ {0xfe70, 0xfe74, 1},
+ {0xfe76, 0xfefc, 1},
+ {0xfeff, 0xff01, 2},
+ {0xff02, 0xffbe, 1},
+ {0xffc2, 0xffc7, 1},
+ {0xffca, 0xffcf, 1},
+ {0xffd2, 0xffd7, 1},
+ {0xffda, 0xffdc, 1},
+ {0xffe0, 0xffe6, 1},
+ {0xffe8, 0xffee, 1},
+ {0xfff9, 0xfffd, 1},
+ },
+ R32: []unicode.Range32{
+ {0x00010000, 0x0001000b, 1},
+ {0x0001000d, 0x00010026, 1},
+ {0x00010028, 0x0001003a, 1},
+ {0x0001003c, 0x0001003d, 1},
+ {0x0001003f, 0x0001004d, 1},
+ {0x00010050, 0x0001005d, 1},
+ {0x00010080, 0x000100fa, 1},
+ {0x00010100, 0x00010102, 1},
+ {0x00010107, 0x00010133, 1},
+ {0x00010137, 0x0001018a, 1},
+ {0x00010190, 0x0001019b, 1},
+ {0x000101d0, 0x000101fd, 1},
+ {0x00010280, 0x0001029c, 1},
+ {0x000102a0, 0x000102d0, 1},
+ {0x00010300, 0x0001031e, 1},
+ {0x00010320, 0x00010323, 1},
+ {0x00010330, 0x0001034a, 1},
+ {0x00010380, 0x0001039d, 1},
+ {0x0001039f, 0x000103c3, 1},
+ {0x000103c8, 0x000103d5, 1},
+ {0x00010400, 0x0001049d, 1},
+ {0x000104a0, 0x000104a9, 1},
+ {0x00010800, 0x00010805, 1},
+ {0x00010808, 0x0001080a, 2},
+ {0x0001080b, 0x00010835, 1},
+ {0x00010837, 0x00010838, 1},
+ {0x0001083c, 0x0001083f, 3},
+ {0x00010900, 0x00010919, 1},
+ {0x0001091f, 0x00010939, 1},
+ {0x0001093f, 0x00010a00, 193},
+ {0x00010a01, 0x00010a03, 1},
+ {0x00010a05, 0x00010a06, 1},
+ {0x00010a0c, 0x00010a13, 1},
+ {0x00010a15, 0x00010a17, 1},
+ {0x00010a19, 0x00010a33, 1},
+ {0x00010a38, 0x00010a3a, 1},
+ {0x00010a3f, 0x00010a47, 1},
+ {0x00010a50, 0x00010a58, 1},
+ {0x00012000, 0x0001236e, 1},
+ {0x00012400, 0x00012462, 1},
+ {0x00012470, 0x00012473, 1},
+ {0x0001d000, 0x0001d0f5, 1},
+ {0x0001d100, 0x0001d126, 1},
+ {0x0001d129, 0x0001d1dd, 1},
+ {0x0001d200, 0x0001d245, 1},
+ {0x0001d300, 0x0001d356, 1},
+ {0x0001d360, 0x0001d371, 1},
+ {0x0001d400, 0x0001d454, 1},
+ {0x0001d456, 0x0001d49c, 1},
+ {0x0001d49e, 0x0001d49f, 1},
+ {0x0001d4a2, 0x0001d4a5, 3},
+ {0x0001d4a6, 0x0001d4a9, 3},
+ {0x0001d4aa, 0x0001d4ac, 1},
+ {0x0001d4ae, 0x0001d4b9, 1},
+ {0x0001d4bb, 0x0001d4bd, 2},
+ {0x0001d4be, 0x0001d4c3, 1},
+ {0x0001d4c5, 0x0001d505, 1},
+ {0x0001d507, 0x0001d50a, 1},
+ {0x0001d50d, 0x0001d514, 1},
+ {0x0001d516, 0x0001d51c, 1},
+ {0x0001d51e, 0x0001d539, 1},
+ {0x0001d53b, 0x0001d53e, 1},
+ {0x0001d540, 0x0001d544, 1},
+ {0x0001d546, 0x0001d54a, 4},
+ {0x0001d54b, 0x0001d550, 1},
+ {0x0001d552, 0x0001d6a5, 1},
+ {0x0001d6a8, 0x0001d7cb, 1},
+ {0x0001d7ce, 0x0001d7ff, 1},
+ {0x0001f000, 0x0001f02b, 1},
+ {0x0001f030, 0x0001f093, 1},
+ {0x00020000, 0x0002a6d6, 1},
+ {0x0002f800, 0x0002fa1d, 1},
+ {0x000e0001, 0x000e0020, 31},
+ {0x000e0021, 0x000e007f, 1},
+ {0x000e0100, 0x000e01ef, 1},
+ {0x000f0000, 0x000ffffd, 1},
+ {0x00100000, 0x0010fffd, 1},
+ },
+ LatinOffset: 0,
+}
+
+// size 3518 bytes (3 KiB)
+var assigned5_2_0 = &unicode.RangeTable{
+ R16: []unicode.Range16{
+ {0x0000, 0x0377, 1},
+ {0x037a, 0x037e, 1},
+ {0x0384, 0x038a, 1},
+ {0x038c, 0x038e, 2},
+ {0x038f, 0x03a1, 1},
+ {0x03a3, 0x0525, 1},
+ {0x0531, 0x0556, 1},
+ {0x0559, 0x055f, 1},
+ {0x0561, 0x0587, 1},
+ {0x0589, 0x058a, 1},
+ {0x0591, 0x05c7, 1},
+ {0x05d0, 0x05ea, 1},
+ {0x05f0, 0x05f4, 1},
+ {0x0600, 0x0603, 1},
+ {0x0606, 0x061b, 1},
+ {0x061e, 0x061f, 1},
+ {0x0621, 0x065e, 1},
+ {0x0660, 0x070d, 1},
+ {0x070f, 0x074a, 1},
+ {0x074d, 0x07b1, 1},
+ {0x07c0, 0x07fa, 1},
+ {0x0800, 0x082d, 1},
+ {0x0830, 0x083e, 1},
+ {0x0900, 0x0939, 1},
+ {0x093c, 0x094e, 1},
+ {0x0950, 0x0955, 1},
+ {0x0958, 0x0972, 1},
+ {0x0979, 0x097f, 1},
+ {0x0981, 0x0983, 1},
+ {0x0985, 0x098c, 1},
+ {0x098f, 0x0990, 1},
+ {0x0993, 0x09a8, 1},
+ {0x09aa, 0x09b0, 1},
+ {0x09b2, 0x09b6, 4},
+ {0x09b7, 0x09b9, 1},
+ {0x09bc, 0x09c4, 1},
+ {0x09c7, 0x09c8, 1},
+ {0x09cb, 0x09ce, 1},
+ {0x09d7, 0x09dc, 5},
+ {0x09dd, 0x09df, 2},
+ {0x09e0, 0x09e3, 1},
+ {0x09e6, 0x09fb, 1},
+ {0x0a01, 0x0a03, 1},
+ {0x0a05, 0x0a0a, 1},
+ {0x0a0f, 0x0a10, 1},
+ {0x0a13, 0x0a28, 1},
+ {0x0a2a, 0x0a30, 1},
+ {0x0a32, 0x0a33, 1},
+ {0x0a35, 0x0a36, 1},
+ {0x0a38, 0x0a39, 1},
+ {0x0a3c, 0x0a3e, 2},
+ {0x0a3f, 0x0a42, 1},
+ {0x0a47, 0x0a48, 1},
+ {0x0a4b, 0x0a4d, 1},
+ {0x0a51, 0x0a59, 8},
+ {0x0a5a, 0x0a5c, 1},
+ {0x0a5e, 0x0a66, 8},
+ {0x0a67, 0x0a75, 1},
+ {0x0a81, 0x0a83, 1},
+ {0x0a85, 0x0a8d, 1},
+ {0x0a8f, 0x0a91, 1},
+ {0x0a93, 0x0aa8, 1},
+ {0x0aaa, 0x0ab0, 1},
+ {0x0ab2, 0x0ab3, 1},
+ {0x0ab5, 0x0ab9, 1},
+ {0x0abc, 0x0ac5, 1},
+ {0x0ac7, 0x0ac9, 1},
+ {0x0acb, 0x0acd, 1},
+ {0x0ad0, 0x0ae0, 16},
+ {0x0ae1, 0x0ae3, 1},
+ {0x0ae6, 0x0aef, 1},
+ {0x0af1, 0x0b01, 16},
+ {0x0b02, 0x0b03, 1},
+ {0x0b05, 0x0b0c, 1},
+ {0x0b0f, 0x0b10, 1},
+ {0x0b13, 0x0b28, 1},
+ {0x0b2a, 0x0b30, 1},
+ {0x0b32, 0x0b33, 1},
+ {0x0b35, 0x0b39, 1},
+ {0x0b3c, 0x0b44, 1},
+ {0x0b47, 0x0b48, 1},
+ {0x0b4b, 0x0b4d, 1},
+ {0x0b56, 0x0b57, 1},
+ {0x0b5c, 0x0b5d, 1},
+ {0x0b5f, 0x0b63, 1},
+ {0x0b66, 0x0b71, 1},
+ {0x0b82, 0x0b83, 1},
+ {0x0b85, 0x0b8a, 1},
+ {0x0b8e, 0x0b90, 1},
+ {0x0b92, 0x0b95, 1},
+ {0x0b99, 0x0b9a, 1},
+ {0x0b9c, 0x0b9e, 2},
+ {0x0b9f, 0x0ba3, 4},
+ {0x0ba4, 0x0ba8, 4},
+ {0x0ba9, 0x0baa, 1},
+ {0x0bae, 0x0bb9, 1},
+ {0x0bbe, 0x0bc2, 1},
+ {0x0bc6, 0x0bc8, 1},
+ {0x0bca, 0x0bcd, 1},
+ {0x0bd0, 0x0bd7, 7},
+ {0x0be6, 0x0bfa, 1},
+ {0x0c01, 0x0c03, 1},
+ {0x0c05, 0x0c0c, 1},
+ {0x0c0e, 0x0c10, 1},
+ {0x0c12, 0x0c28, 1},
+ {0x0c2a, 0x0c33, 1},
+ {0x0c35, 0x0c39, 1},
+ {0x0c3d, 0x0c44, 1},
+ {0x0c46, 0x0c48, 1},
+ {0x0c4a, 0x0c4d, 1},
+ {0x0c55, 0x0c56, 1},
+ {0x0c58, 0x0c59, 1},
+ {0x0c60, 0x0c63, 1},
+ {0x0c66, 0x0c6f, 1},
+ {0x0c78, 0x0c7f, 1},
+ {0x0c82, 0x0c83, 1},
+ {0x0c85, 0x0c8c, 1},
+ {0x0c8e, 0x0c90, 1},
+ {0x0c92, 0x0ca8, 1},
+ {0x0caa, 0x0cb3, 1},
+ {0x0cb5, 0x0cb9, 1},
+ {0x0cbc, 0x0cc4, 1},
+ {0x0cc6, 0x0cc8, 1},
+ {0x0cca, 0x0ccd, 1},
+ {0x0cd5, 0x0cd6, 1},
+ {0x0cde, 0x0ce0, 2},
+ {0x0ce1, 0x0ce3, 1},
+ {0x0ce6, 0x0cef, 1},
+ {0x0cf1, 0x0cf2, 1},
+ {0x0d02, 0x0d03, 1},
+ {0x0d05, 0x0d0c, 1},
+ {0x0d0e, 0x0d10, 1},
+ {0x0d12, 0x0d28, 1},
+ {0x0d2a, 0x0d39, 1},
+ {0x0d3d, 0x0d44, 1},
+ {0x0d46, 0x0d48, 1},
+ {0x0d4a, 0x0d4d, 1},
+ {0x0d57, 0x0d60, 9},
+ {0x0d61, 0x0d63, 1},
+ {0x0d66, 0x0d75, 1},
+ {0x0d79, 0x0d7f, 1},
+ {0x0d82, 0x0d83, 1},
+ {0x0d85, 0x0d96, 1},
+ {0x0d9a, 0x0db1, 1},
+ {0x0db3, 0x0dbb, 1},
+ {0x0dbd, 0x0dc0, 3},
+ {0x0dc1, 0x0dc6, 1},
+ {0x0dca, 0x0dcf, 5},
+ {0x0dd0, 0x0dd4, 1},
+ {0x0dd6, 0x0dd8, 2},
+ {0x0dd9, 0x0ddf, 1},
+ {0x0df2, 0x0df4, 1},
+ {0x0e01, 0x0e3a, 1},
+ {0x0e3f, 0x0e5b, 1},
+ {0x0e81, 0x0e82, 1},
+ {0x0e84, 0x0e87, 3},
+ {0x0e88, 0x0e8a, 2},
+ {0x0e8d, 0x0e94, 7},
+ {0x0e95, 0x0e97, 1},
+ {0x0e99, 0x0e9f, 1},
+ {0x0ea1, 0x0ea3, 1},
+ {0x0ea5, 0x0ea7, 2},
+ {0x0eaa, 0x0eab, 1},
+ {0x0ead, 0x0eb9, 1},
+ {0x0ebb, 0x0ebd, 1},
+ {0x0ec0, 0x0ec4, 1},
+ {0x0ec6, 0x0ec8, 2},
+ {0x0ec9, 0x0ecd, 1},
+ {0x0ed0, 0x0ed9, 1},
+ {0x0edc, 0x0edd, 1},
+ {0x0f00, 0x0f47, 1},
+ {0x0f49, 0x0f6c, 1},
+ {0x0f71, 0x0f8b, 1},
+ {0x0f90, 0x0f97, 1},
+ {0x0f99, 0x0fbc, 1},
+ {0x0fbe, 0x0fcc, 1},
+ {0x0fce, 0x0fd8, 1},
+ {0x1000, 0x10c5, 1},
+ {0x10d0, 0x10fc, 1},
+ {0x1100, 0x1248, 1},
+ {0x124a, 0x124d, 1},
+ {0x1250, 0x1256, 1},
+ {0x1258, 0x125a, 2},
+ {0x125b, 0x125d, 1},
+ {0x1260, 0x1288, 1},
+ {0x128a, 0x128d, 1},
+ {0x1290, 0x12b0, 1},
+ {0x12b2, 0x12b5, 1},
+ {0x12b8, 0x12be, 1},
+ {0x12c0, 0x12c2, 2},
+ {0x12c3, 0x12c5, 1},
+ {0x12c8, 0x12d6, 1},
+ {0x12d8, 0x1310, 1},
+ {0x1312, 0x1315, 1},
+ {0x1318, 0x135a, 1},
+ {0x135f, 0x137c, 1},
+ {0x1380, 0x1399, 1},
+ {0x13a0, 0x13f4, 1},
+ {0x1400, 0x169c, 1},
+ {0x16a0, 0x16f0, 1},
+ {0x1700, 0x170c, 1},
+ {0x170e, 0x1714, 1},
+ {0x1720, 0x1736, 1},
+ {0x1740, 0x1753, 1},
+ {0x1760, 0x176c, 1},
+ {0x176e, 0x1770, 1},
+ {0x1772, 0x1773, 1},
+ {0x1780, 0x17dd, 1},
+ {0x17e0, 0x17e9, 1},
+ {0x17f0, 0x17f9, 1},
+ {0x1800, 0x180e, 1},
+ {0x1810, 0x1819, 1},
+ {0x1820, 0x1877, 1},
+ {0x1880, 0x18aa, 1},
+ {0x18b0, 0x18f5, 1},
+ {0x1900, 0x191c, 1},
+ {0x1920, 0x192b, 1},
+ {0x1930, 0x193b, 1},
+ {0x1940, 0x1944, 4},
+ {0x1945, 0x196d, 1},
+ {0x1970, 0x1974, 1},
+ {0x1980, 0x19ab, 1},
+ {0x19b0, 0x19c9, 1},
+ {0x19d0, 0x19da, 1},
+ {0x19de, 0x1a1b, 1},
+ {0x1a1e, 0x1a5e, 1},
+ {0x1a60, 0x1a7c, 1},
+ {0x1a7f, 0x1a89, 1},
+ {0x1a90, 0x1a99, 1},
+ {0x1aa0, 0x1aad, 1},
+ {0x1b00, 0x1b4b, 1},
+ {0x1b50, 0x1b7c, 1},
+ {0x1b80, 0x1baa, 1},
+ {0x1bae, 0x1bb9, 1},
+ {0x1c00, 0x1c37, 1},
+ {0x1c3b, 0x1c49, 1},
+ {0x1c4d, 0x1c7f, 1},
+ {0x1cd0, 0x1cf2, 1},
+ {0x1d00, 0x1de6, 1},
+ {0x1dfd, 0x1f15, 1},
+ {0x1f18, 0x1f1d, 1},
+ {0x1f20, 0x1f45, 1},
+ {0x1f48, 0x1f4d, 1},
+ {0x1f50, 0x1f57, 1},
+ {0x1f59, 0x1f5f, 2},
+ {0x1f60, 0x1f7d, 1},
+ {0x1f80, 0x1fb4, 1},
+ {0x1fb6, 0x1fc4, 1},
+ {0x1fc6, 0x1fd3, 1},
+ {0x1fd6, 0x1fdb, 1},
+ {0x1fdd, 0x1fef, 1},
+ {0x1ff2, 0x1ff4, 1},
+ {0x1ff6, 0x1ffe, 1},
+ {0x2000, 0x2064, 1},
+ {0x206a, 0x2071, 1},
+ {0x2074, 0x208e, 1},
+ {0x2090, 0x2094, 1},
+ {0x20a0, 0x20b8, 1},
+ {0x20d0, 0x20f0, 1},
+ {0x2100, 0x2189, 1},
+ {0x2190, 0x23e8, 1},
+ {0x2400, 0x2426, 1},
+ {0x2440, 0x244a, 1},
+ {0x2460, 0x26cd, 1},
+ {0x26cf, 0x26e1, 1},
+ {0x26e3, 0x26e8, 5},
+ {0x26e9, 0x26ff, 1},
+ {0x2701, 0x2704, 1},
+ {0x2706, 0x2709, 1},
+ {0x270c, 0x2727, 1},
+ {0x2729, 0x274b, 1},
+ {0x274d, 0x274f, 2},
+ {0x2750, 0x2752, 1},
+ {0x2756, 0x275e, 1},
+ {0x2761, 0x2794, 1},
+ {0x2798, 0x27af, 1},
+ {0x27b1, 0x27be, 1},
+ {0x27c0, 0x27ca, 1},
+ {0x27cc, 0x27d0, 4},
+ {0x27d1, 0x2b4c, 1},
+ {0x2b50, 0x2b59, 1},
+ {0x2c00, 0x2c2e, 1},
+ {0x2c30, 0x2c5e, 1},
+ {0x2c60, 0x2cf1, 1},
+ {0x2cf9, 0x2d25, 1},
+ {0x2d30, 0x2d65, 1},
+ {0x2d6f, 0x2d80, 17},
+ {0x2d81, 0x2d96, 1},
+ {0x2da0, 0x2da6, 1},
+ {0x2da8, 0x2dae, 1},
+ {0x2db0, 0x2db6, 1},
+ {0x2db8, 0x2dbe, 1},
+ {0x2dc0, 0x2dc6, 1},
+ {0x2dc8, 0x2dce, 1},
+ {0x2dd0, 0x2dd6, 1},
+ {0x2dd8, 0x2dde, 1},
+ {0x2de0, 0x2e31, 1},
+ {0x2e80, 0x2e99, 1},
+ {0x2e9b, 0x2ef3, 1},
+ {0x2f00, 0x2fd5, 1},
+ {0x2ff0, 0x2ffb, 1},
+ {0x3000, 0x303f, 1},
+ {0x3041, 0x3096, 1},
+ {0x3099, 0x30ff, 1},
+ {0x3105, 0x312d, 1},
+ {0x3131, 0x318e, 1},
+ {0x3190, 0x31b7, 1},
+ {0x31c0, 0x31e3, 1},
+ {0x31f0, 0x321e, 1},
+ {0x3220, 0x32fe, 1},
+ {0x3300, 0x4db5, 1},
+ {0x4dc0, 0x9fcb, 1},
+ {0xa000, 0xa48c, 1},
+ {0xa490, 0xa4c6, 1},
+ {0xa4d0, 0xa62b, 1},
+ {0xa640, 0xa65f, 1},
+ {0xa662, 0xa673, 1},
+ {0xa67c, 0xa697, 1},
+ {0xa6a0, 0xa6f7, 1},
+ {0xa700, 0xa78c, 1},
+ {0xa7fb, 0xa82b, 1},
+ {0xa830, 0xa839, 1},
+ {0xa840, 0xa877, 1},
+ {0xa880, 0xa8c4, 1},
+ {0xa8ce, 0xa8d9, 1},
+ {0xa8e0, 0xa8fb, 1},
+ {0xa900, 0xa953, 1},
+ {0xa95f, 0xa97c, 1},
+ {0xa980, 0xa9cd, 1},
+ {0xa9cf, 0xa9d9, 1},
+ {0xa9de, 0xa9df, 1},
+ {0xaa00, 0xaa36, 1},
+ {0xaa40, 0xaa4d, 1},
+ {0xaa50, 0xaa59, 1},
+ {0xaa5c, 0xaa7b, 1},
+ {0xaa80, 0xaac2, 1},
+ {0xaadb, 0xaadf, 1},
+ {0xabc0, 0xabed, 1},
+ {0xabf0, 0xabf9, 1},
+ {0xac00, 0xd7a3, 1},
+ {0xd7b0, 0xd7c6, 1},
+ {0xd7cb, 0xd7fb, 1},
+ {0xd800, 0xfa2d, 1},
+ {0xfa30, 0xfa6d, 1},
+ {0xfa70, 0xfad9, 1},
+ {0xfb00, 0xfb06, 1},
+ {0xfb13, 0xfb17, 1},
+ {0xfb1d, 0xfb36, 1},
+ {0xfb38, 0xfb3c, 1},
+ {0xfb3e, 0xfb40, 2},
+ {0xfb41, 0xfb43, 2},
+ {0xfb44, 0xfb46, 2},
+ {0xfb47, 0xfbb1, 1},
+ {0xfbd3, 0xfd3f, 1},
+ {0xfd50, 0xfd8f, 1},
+ {0xfd92, 0xfdc7, 1},
+ {0xfdf0, 0xfdfd, 1},
+ {0xfe00, 0xfe19, 1},
+ {0xfe20, 0xfe26, 1},
+ {0xfe30, 0xfe52, 1},
+ {0xfe54, 0xfe66, 1},
+ {0xfe68, 0xfe6b, 1},
+ {0xfe70, 0xfe74, 1},
+ {0xfe76, 0xfefc, 1},
+ {0xfeff, 0xff01, 2},
+ {0xff02, 0xffbe, 1},
+ {0xffc2, 0xffc7, 1},
+ {0xffca, 0xffcf, 1},
+ {0xffd2, 0xffd7, 1},
+ {0xffda, 0xffdc, 1},
+ {0xffe0, 0xffe6, 1},
+ {0xffe8, 0xffee, 1},
+ {0xfff9, 0xfffd, 1},
+ },
+ R32: []unicode.Range32{
+ {0x00010000, 0x0001000b, 1},
+ {0x0001000d, 0x00010026, 1},
+ {0x00010028, 0x0001003a, 1},
+ {0x0001003c, 0x0001003d, 1},
+ {0x0001003f, 0x0001004d, 1},
+ {0x00010050, 0x0001005d, 1},
+ {0x00010080, 0x000100fa, 1},
+ {0x00010100, 0x00010102, 1},
+ {0x00010107, 0x00010133, 1},
+ {0x00010137, 0x0001018a, 1},
+ {0x00010190, 0x0001019b, 1},
+ {0x000101d0, 0x000101fd, 1},
+ {0x00010280, 0x0001029c, 1},
+ {0x000102a0, 0x000102d0, 1},
+ {0x00010300, 0x0001031e, 1},
+ {0x00010320, 0x00010323, 1},
+ {0x00010330, 0x0001034a, 1},
+ {0x00010380, 0x0001039d, 1},
+ {0x0001039f, 0x000103c3, 1},
+ {0x000103c8, 0x000103d5, 1},
+ {0x00010400, 0x0001049d, 1},
+ {0x000104a0, 0x000104a9, 1},
+ {0x00010800, 0x00010805, 1},
+ {0x00010808, 0x0001080a, 2},
+ {0x0001080b, 0x00010835, 1},
+ {0x00010837, 0x00010838, 1},
+ {0x0001083c, 0x0001083f, 3},
+ {0x00010840, 0x00010855, 1},
+ {0x00010857, 0x0001085f, 1},
+ {0x00010900, 0x0001091b, 1},
+ {0x0001091f, 0x00010939, 1},
+ {0x0001093f, 0x00010a00, 193},
+ {0x00010a01, 0x00010a03, 1},
+ {0x00010a05, 0x00010a06, 1},
+ {0x00010a0c, 0x00010a13, 1},
+ {0x00010a15, 0x00010a17, 1},
+ {0x00010a19, 0x00010a33, 1},
+ {0x00010a38, 0x00010a3a, 1},
+ {0x00010a3f, 0x00010a47, 1},
+ {0x00010a50, 0x00010a58, 1},
+ {0x00010a60, 0x00010a7f, 1},
+ {0x00010b00, 0x00010b35, 1},
+ {0x00010b39, 0x00010b55, 1},
+ {0x00010b58, 0x00010b72, 1},
+ {0x00010b78, 0x00010b7f, 1},
+ {0x00010c00, 0x00010c48, 1},
+ {0x00010e60, 0x00010e7e, 1},
+ {0x00011080, 0x000110c1, 1},
+ {0x00012000, 0x0001236e, 1},
+ {0x00012400, 0x00012462, 1},
+ {0x00012470, 0x00012473, 1},
+ {0x00013000, 0x0001342e, 1},
+ {0x0001d000, 0x0001d0f5, 1},
+ {0x0001d100, 0x0001d126, 1},
+ {0x0001d129, 0x0001d1dd, 1},
+ {0x0001d200, 0x0001d245, 1},
+ {0x0001d300, 0x0001d356, 1},
+ {0x0001d360, 0x0001d371, 1},
+ {0x0001d400, 0x0001d454, 1},
+ {0x0001d456, 0x0001d49c, 1},
+ {0x0001d49e, 0x0001d49f, 1},
+ {0x0001d4a2, 0x0001d4a5, 3},
+ {0x0001d4a6, 0x0001d4a9, 3},
+ {0x0001d4aa, 0x0001d4ac, 1},
+ {0x0001d4ae, 0x0001d4b9, 1},
+ {0x0001d4bb, 0x0001d4bd, 2},
+ {0x0001d4be, 0x0001d4c3, 1},
+ {0x0001d4c5, 0x0001d505, 1},
+ {0x0001d507, 0x0001d50a, 1},
+ {0x0001d50d, 0x0001d514, 1},
+ {0x0001d516, 0x0001d51c, 1},
+ {0x0001d51e, 0x0001d539, 1},
+ {0x0001d53b, 0x0001d53e, 1},
+ {0x0001d540, 0x0001d544, 1},
+ {0x0001d546, 0x0001d54a, 4},
+ {0x0001d54b, 0x0001d550, 1},
+ {0x0001d552, 0x0001d6a5, 1},
+ {0x0001d6a8, 0x0001d7cb, 1},
+ {0x0001d7ce, 0x0001d7ff, 1},
+ {0x0001f000, 0x0001f02b, 1},
+ {0x0001f030, 0x0001f093, 1},
+ {0x0001f100, 0x0001f10a, 1},
+ {0x0001f110, 0x0001f12e, 1},
+ {0x0001f131, 0x0001f13d, 12},
+ {0x0001f13f, 0x0001f142, 3},
+ {0x0001f146, 0x0001f14a, 4},
+ {0x0001f14b, 0x0001f14e, 1},
+ {0x0001f157, 0x0001f15f, 8},
+ {0x0001f179, 0x0001f17b, 2},
+ {0x0001f17c, 0x0001f17f, 3},
+ {0x0001f18a, 0x0001f18d, 1},
+ {0x0001f190, 0x0001f200, 112},
+ {0x0001f210, 0x0001f231, 1},
+ {0x0001f240, 0x0001f248, 1},
+ {0x00020000, 0x0002a6d6, 1},
+ {0x0002a700, 0x0002b734, 1},
+ {0x0002f800, 0x0002fa1d, 1},
+ {0x000e0001, 0x000e0020, 31},
+ {0x000e0021, 0x000e007f, 1},
+ {0x000e0100, 0x000e01ef, 1},
+ {0x000f0000, 0x000ffffd, 1},
+ {0x00100000, 0x0010fffd, 1},
+ },
+ LatinOffset: 0,
+}
+
+// size 3026 bytes (2 KiB)
+var assigned5_0_0 = &unicode.RangeTable{
+ R16: []unicode.Range16{
+ {0x0000, 0x036f, 1},
+ {0x0374, 0x0375, 1},
+ {0x037a, 0x037e, 1},
+ {0x0384, 0x038a, 1},
+ {0x038c, 0x038e, 2},
+ {0x038f, 0x03a1, 1},
+ {0x03a3, 0x03ce, 1},
+ {0x03d0, 0x0486, 1},
+ {0x0488, 0x0513, 1},
+ {0x0531, 0x0556, 1},
+ {0x0559, 0x055f, 1},
+ {0x0561, 0x0587, 1},
+ {0x0589, 0x058a, 1},
+ {0x0591, 0x05c7, 1},
+ {0x05d0, 0x05ea, 1},
+ {0x05f0, 0x05f4, 1},
+ {0x0600, 0x0603, 1},
+ {0x060b, 0x0615, 1},
+ {0x061b, 0x061e, 3},
+ {0x061f, 0x0621, 2},
+ {0x0622, 0x063a, 1},
+ {0x0640, 0x065e, 1},
+ {0x0660, 0x070d, 1},
+ {0x070f, 0x074a, 1},
+ {0x074d, 0x076d, 1},
+ {0x0780, 0x07b1, 1},
+ {0x07c0, 0x07fa, 1},
+ {0x0901, 0x0939, 1},
+ {0x093c, 0x094d, 1},
+ {0x0950, 0x0954, 1},
+ {0x0958, 0x0970, 1},
+ {0x097b, 0x097f, 1},
+ {0x0981, 0x0983, 1},
+ {0x0985, 0x098c, 1},
+ {0x098f, 0x0990, 1},
+ {0x0993, 0x09a8, 1},
+ {0x09aa, 0x09b0, 1},
+ {0x09b2, 0x09b6, 4},
+ {0x09b7, 0x09b9, 1},
+ {0x09bc, 0x09c4, 1},
+ {0x09c7, 0x09c8, 1},
+ {0x09cb, 0x09ce, 1},
+ {0x09d7, 0x09dc, 5},
+ {0x09dd, 0x09df, 2},
+ {0x09e0, 0x09e3, 1},
+ {0x09e6, 0x09fa, 1},
+ {0x0a01, 0x0a03, 1},
+ {0x0a05, 0x0a0a, 1},
+ {0x0a0f, 0x0a10, 1},
+ {0x0a13, 0x0a28, 1},
+ {0x0a2a, 0x0a30, 1},
+ {0x0a32, 0x0a33, 1},
+ {0x0a35, 0x0a36, 1},
+ {0x0a38, 0x0a39, 1},
+ {0x0a3c, 0x0a3e, 2},
+ {0x0a3f, 0x0a42, 1},
+ {0x0a47, 0x0a48, 1},
+ {0x0a4b, 0x0a4d, 1},
+ {0x0a59, 0x0a5c, 1},
+ {0x0a5e, 0x0a66, 8},
+ {0x0a67, 0x0a74, 1},
+ {0x0a81, 0x0a83, 1},
+ {0x0a85, 0x0a8d, 1},
+ {0x0a8f, 0x0a91, 1},
+ {0x0a93, 0x0aa8, 1},
+ {0x0aaa, 0x0ab0, 1},
+ {0x0ab2, 0x0ab3, 1},
+ {0x0ab5, 0x0ab9, 1},
+ {0x0abc, 0x0ac5, 1},
+ {0x0ac7, 0x0ac9, 1},
+ {0x0acb, 0x0acd, 1},
+ {0x0ad0, 0x0ae0, 16},
+ {0x0ae1, 0x0ae3, 1},
+ {0x0ae6, 0x0aef, 1},
+ {0x0af1, 0x0b01, 16},
+ {0x0b02, 0x0b03, 1},
+ {0x0b05, 0x0b0c, 1},
+ {0x0b0f, 0x0b10, 1},
+ {0x0b13, 0x0b28, 1},
+ {0x0b2a, 0x0b30, 1},
+ {0x0b32, 0x0b33, 1},
+ {0x0b35, 0x0b39, 1},
+ {0x0b3c, 0x0b43, 1},
+ {0x0b47, 0x0b48, 1},
+ {0x0b4b, 0x0b4d, 1},
+ {0x0b56, 0x0b57, 1},
+ {0x0b5c, 0x0b5d, 1},
+ {0x0b5f, 0x0b61, 1},
+ {0x0b66, 0x0b71, 1},
+ {0x0b82, 0x0b83, 1},
+ {0x0b85, 0x0b8a, 1},
+ {0x0b8e, 0x0b90, 1},
+ {0x0b92, 0x0b95, 1},
+ {0x0b99, 0x0b9a, 1},
+ {0x0b9c, 0x0b9e, 2},
+ {0x0b9f, 0x0ba3, 4},
+ {0x0ba4, 0x0ba8, 4},
+ {0x0ba9, 0x0baa, 1},
+ {0x0bae, 0x0bb9, 1},
+ {0x0bbe, 0x0bc2, 1},
+ {0x0bc6, 0x0bc8, 1},
+ {0x0bca, 0x0bcd, 1},
+ {0x0bd7, 0x0be6, 15},
+ {0x0be7, 0x0bfa, 1},
+ {0x0c01, 0x0c03, 1},
+ {0x0c05, 0x0c0c, 1},
+ {0x0c0e, 0x0c10, 1},
+ {0x0c12, 0x0c28, 1},
+ {0x0c2a, 0x0c33, 1},
+ {0x0c35, 0x0c39, 1},
+ {0x0c3e, 0x0c44, 1},
+ {0x0c46, 0x0c48, 1},
+ {0x0c4a, 0x0c4d, 1},
+ {0x0c55, 0x0c56, 1},
+ {0x0c60, 0x0c61, 1},
+ {0x0c66, 0x0c6f, 1},
+ {0x0c82, 0x0c83, 1},
+ {0x0c85, 0x0c8c, 1},
+ {0x0c8e, 0x0c90, 1},
+ {0x0c92, 0x0ca8, 1},
+ {0x0caa, 0x0cb3, 1},
+ {0x0cb5, 0x0cb9, 1},
+ {0x0cbc, 0x0cc4, 1},
+ {0x0cc6, 0x0cc8, 1},
+ {0x0cca, 0x0ccd, 1},
+ {0x0cd5, 0x0cd6, 1},
+ {0x0cde, 0x0ce0, 2},
+ {0x0ce1, 0x0ce3, 1},
+ {0x0ce6, 0x0cef, 1},
+ {0x0cf1, 0x0cf2, 1},
+ {0x0d02, 0x0d03, 1},
+ {0x0d05, 0x0d0c, 1},
+ {0x0d0e, 0x0d10, 1},
+ {0x0d12, 0x0d28, 1},
+ {0x0d2a, 0x0d39, 1},
+ {0x0d3e, 0x0d43, 1},
+ {0x0d46, 0x0d48, 1},
+ {0x0d4a, 0x0d4d, 1},
+ {0x0d57, 0x0d60, 9},
+ {0x0d61, 0x0d66, 5},
+ {0x0d67, 0x0d6f, 1},
+ {0x0d82, 0x0d83, 1},
+ {0x0d85, 0x0d96, 1},
+ {0x0d9a, 0x0db1, 1},
+ {0x0db3, 0x0dbb, 1},
+ {0x0dbd, 0x0dc0, 3},
+ {0x0dc1, 0x0dc6, 1},
+ {0x0dca, 0x0dcf, 5},
+ {0x0dd0, 0x0dd4, 1},
+ {0x0dd6, 0x0dd8, 2},
+ {0x0dd9, 0x0ddf, 1},
+ {0x0df2, 0x0df4, 1},
+ {0x0e01, 0x0e3a, 1},
+ {0x0e3f, 0x0e5b, 1},
+ {0x0e81, 0x0e82, 1},
+ {0x0e84, 0x0e87, 3},
+ {0x0e88, 0x0e8a, 2},
+ {0x0e8d, 0x0e94, 7},
+ {0x0e95, 0x0e97, 1},
+ {0x0e99, 0x0e9f, 1},
+ {0x0ea1, 0x0ea3, 1},
+ {0x0ea5, 0x0ea7, 2},
+ {0x0eaa, 0x0eab, 1},
+ {0x0ead, 0x0eb9, 1},
+ {0x0ebb, 0x0ebd, 1},
+ {0x0ec0, 0x0ec4, 1},
+ {0x0ec6, 0x0ec8, 2},
+ {0x0ec9, 0x0ecd, 1},
+ {0x0ed0, 0x0ed9, 1},
+ {0x0edc, 0x0edd, 1},
+ {0x0f00, 0x0f47, 1},
+ {0x0f49, 0x0f6a, 1},
+ {0x0f71, 0x0f8b, 1},
+ {0x0f90, 0x0f97, 1},
+ {0x0f99, 0x0fbc, 1},
+ {0x0fbe, 0x0fcc, 1},
+ {0x0fcf, 0x0fd1, 1},
+ {0x1000, 0x1021, 1},
+ {0x1023, 0x1027, 1},
+ {0x1029, 0x102a, 1},
+ {0x102c, 0x1032, 1},
+ {0x1036, 0x1039, 1},
+ {0x1040, 0x1059, 1},
+ {0x10a0, 0x10c5, 1},
+ {0x10d0, 0x10fc, 1},
+ {0x1100, 0x1159, 1},
+ {0x115f, 0x11a2, 1},
+ {0x11a8, 0x11f9, 1},
+ {0x1200, 0x1248, 1},
+ {0x124a, 0x124d, 1},
+ {0x1250, 0x1256, 1},
+ {0x1258, 0x125a, 2},
+ {0x125b, 0x125d, 1},
+ {0x1260, 0x1288, 1},
+ {0x128a, 0x128d, 1},
+ {0x1290, 0x12b0, 1},
+ {0x12b2, 0x12b5, 1},
+ {0x12b8, 0x12be, 1},
+ {0x12c0, 0x12c2, 2},
+ {0x12c3, 0x12c5, 1},
+ {0x12c8, 0x12d6, 1},
+ {0x12d8, 0x1310, 1},
+ {0x1312, 0x1315, 1},
+ {0x1318, 0x135a, 1},
+ {0x135f, 0x137c, 1},
+ {0x1380, 0x1399, 1},
+ {0x13a0, 0x13f4, 1},
+ {0x1401, 0x1676, 1},
+ {0x1680, 0x169c, 1},
+ {0x16a0, 0x16f0, 1},
+ {0x1700, 0x170c, 1},
+ {0x170e, 0x1714, 1},
+ {0x1720, 0x1736, 1},
+ {0x1740, 0x1753, 1},
+ {0x1760, 0x176c, 1},
+ {0x176e, 0x1770, 1},
+ {0x1772, 0x1773, 1},
+ {0x1780, 0x17dd, 1},
+ {0x17e0, 0x17e9, 1},
+ {0x17f0, 0x17f9, 1},
+ {0x1800, 0x180e, 1},
+ {0x1810, 0x1819, 1},
+ {0x1820, 0x1877, 1},
+ {0x1880, 0x18a9, 1},
+ {0x1900, 0x191c, 1},
+ {0x1920, 0x192b, 1},
+ {0x1930, 0x193b, 1},
+ {0x1940, 0x1944, 4},
+ {0x1945, 0x196d, 1},
+ {0x1970, 0x1974, 1},
+ {0x1980, 0x19a9, 1},
+ {0x19b0, 0x19c9, 1},
+ {0x19d0, 0x19d9, 1},
+ {0x19de, 0x1a1b, 1},
+ {0x1a1e, 0x1a1f, 1},
+ {0x1b00, 0x1b4b, 1},
+ {0x1b50, 0x1b7c, 1},
+ {0x1d00, 0x1dca, 1},
+ {0x1dfe, 0x1e9b, 1},
+ {0x1ea0, 0x1ef9, 1},
+ {0x1f00, 0x1f15, 1},
+ {0x1f18, 0x1f1d, 1},
+ {0x1f20, 0x1f45, 1},
+ {0x1f48, 0x1f4d, 1},
+ {0x1f50, 0x1f57, 1},
+ {0x1f59, 0x1f5f, 2},
+ {0x1f60, 0x1f7d, 1},
+ {0x1f80, 0x1fb4, 1},
+ {0x1fb6, 0x1fc4, 1},
+ {0x1fc6, 0x1fd3, 1},
+ {0x1fd6, 0x1fdb, 1},
+ {0x1fdd, 0x1fef, 1},
+ {0x1ff2, 0x1ff4, 1},
+ {0x1ff6, 0x1ffe, 1},
+ {0x2000, 0x2063, 1},
+ {0x206a, 0x2071, 1},
+ {0x2074, 0x208e, 1},
+ {0x2090, 0x2094, 1},
+ {0x20a0, 0x20b5, 1},
+ {0x20d0, 0x20ef, 1},
+ {0x2100, 0x214e, 1},
+ {0x2153, 0x2184, 1},
+ {0x2190, 0x23e7, 1},
+ {0x2400, 0x2426, 1},
+ {0x2440, 0x244a, 1},
+ {0x2460, 0x269c, 1},
+ {0x26a0, 0x26b2, 1},
+ {0x2701, 0x2704, 1},
+ {0x2706, 0x2709, 1},
+ {0x270c, 0x2727, 1},
+ {0x2729, 0x274b, 1},
+ {0x274d, 0x274f, 2},
+ {0x2750, 0x2752, 1},
+ {0x2756, 0x2758, 2},
+ {0x2759, 0x275e, 1},
+ {0x2761, 0x2794, 1},
+ {0x2798, 0x27af, 1},
+ {0x27b1, 0x27be, 1},
+ {0x27c0, 0x27ca, 1},
+ {0x27d0, 0x27eb, 1},
+ {0x27f0, 0x2b1a, 1},
+ {0x2b20, 0x2b23, 1},
+ {0x2c00, 0x2c2e, 1},
+ {0x2c30, 0x2c5e, 1},
+ {0x2c60, 0x2c6c, 1},
+ {0x2c74, 0x2c77, 1},
+ {0x2c80, 0x2cea, 1},
+ {0x2cf9, 0x2d25, 1},
+ {0x2d30, 0x2d65, 1},
+ {0x2d6f, 0x2d80, 17},
+ {0x2d81, 0x2d96, 1},
+ {0x2da0, 0x2da6, 1},
+ {0x2da8, 0x2dae, 1},
+ {0x2db0, 0x2db6, 1},
+ {0x2db8, 0x2dbe, 1},
+ {0x2dc0, 0x2dc6, 1},
+ {0x2dc8, 0x2dce, 1},
+ {0x2dd0, 0x2dd6, 1},
+ {0x2dd8, 0x2dde, 1},
+ {0x2e00, 0x2e17, 1},
+ {0x2e1c, 0x2e1d, 1},
+ {0x2e80, 0x2e99, 1},
+ {0x2e9b, 0x2ef3, 1},
+ {0x2f00, 0x2fd5, 1},
+ {0x2ff0, 0x2ffb, 1},
+ {0x3000, 0x303f, 1},
+ {0x3041, 0x3096, 1},
+ {0x3099, 0x30ff, 1},
+ {0x3105, 0x312c, 1},
+ {0x3131, 0x318e, 1},
+ {0x3190, 0x31b7, 1},
+ {0x31c0, 0x31cf, 1},
+ {0x31f0, 0x321e, 1},
+ {0x3220, 0x3243, 1},
+ {0x3250, 0x32fe, 1},
+ {0x3300, 0x4db5, 1},
+ {0x4dc0, 0x9fbb, 1},
+ {0xa000, 0xa48c, 1},
+ {0xa490, 0xa4c6, 1},
+ {0xa700, 0xa71a, 1},
+ {0xa720, 0xa721, 1},
+ {0xa800, 0xa82b, 1},
+ {0xa840, 0xa877, 1},
+ {0xac00, 0xd7a3, 1},
+ {0xd800, 0xfa2d, 1},
+ {0xfa30, 0xfa6a, 1},
+ {0xfa70, 0xfad9, 1},
+ {0xfb00, 0xfb06, 1},
+ {0xfb13, 0xfb17, 1},
+ {0xfb1d, 0xfb36, 1},
+ {0xfb38, 0xfb3c, 1},
+ {0xfb3e, 0xfb40, 2},
+ {0xfb41, 0xfb43, 2},
+ {0xfb44, 0xfb46, 2},
+ {0xfb47, 0xfbb1, 1},
+ {0xfbd3, 0xfd3f, 1},
+ {0xfd50, 0xfd8f, 1},
+ {0xfd92, 0xfdc7, 1},
+ {0xfdf0, 0xfdfd, 1},
+ {0xfe00, 0xfe19, 1},
+ {0xfe20, 0xfe23, 1},
+ {0xfe30, 0xfe52, 1},
+ {0xfe54, 0xfe66, 1},
+ {0xfe68, 0xfe6b, 1},
+ {0xfe70, 0xfe74, 1},
+ {0xfe76, 0xfefc, 1},
+ {0xfeff, 0xff01, 2},
+ {0xff02, 0xffbe, 1},
+ {0xffc2, 0xffc7, 1},
+ {0xffca, 0xffcf, 1},
+ {0xffd2, 0xffd7, 1},
+ {0xffda, 0xffdc, 1},
+ {0xffe0, 0xffe6, 1},
+ {0xffe8, 0xffee, 1},
+ {0xfff9, 0xfffd, 1},
+ },
+ R32: []unicode.Range32{
+ {0x00010000, 0x0001000b, 1},
+ {0x0001000d, 0x00010026, 1},
+ {0x00010028, 0x0001003a, 1},
+ {0x0001003c, 0x0001003d, 1},
+ {0x0001003f, 0x0001004d, 1},
+ {0x00010050, 0x0001005d, 1},
+ {0x00010080, 0x000100fa, 1},
+ {0x00010100, 0x00010102, 1},
+ {0x00010107, 0x00010133, 1},
+ {0x00010137, 0x0001018a, 1},
+ {0x00010300, 0x0001031e, 1},
+ {0x00010320, 0x00010323, 1},
+ {0x00010330, 0x0001034a, 1},
+ {0x00010380, 0x0001039d, 1},
+ {0x0001039f, 0x000103c3, 1},
+ {0x000103c8, 0x000103d5, 1},
+ {0x00010400, 0x0001049d, 1},
+ {0x000104a0, 0x000104a9, 1},
+ {0x00010800, 0x00010805, 1},
+ {0x00010808, 0x0001080a, 2},
+ {0x0001080b, 0x00010835, 1},
+ {0x00010837, 0x00010838, 1},
+ {0x0001083c, 0x0001083f, 3},
+ {0x00010900, 0x00010919, 1},
+ {0x0001091f, 0x00010a00, 225},
+ {0x00010a01, 0x00010a03, 1},
+ {0x00010a05, 0x00010a06, 1},
+ {0x00010a0c, 0x00010a13, 1},
+ {0x00010a15, 0x00010a17, 1},
+ {0x00010a19, 0x00010a33, 1},
+ {0x00010a38, 0x00010a3a, 1},
+ {0x00010a3f, 0x00010a47, 1},
+ {0x00010a50, 0x00010a58, 1},
+ {0x00012000, 0x0001236e, 1},
+ {0x00012400, 0x00012462, 1},
+ {0x00012470, 0x00012473, 1},
+ {0x0001d000, 0x0001d0f5, 1},
+ {0x0001d100, 0x0001d126, 1},
+ {0x0001d12a, 0x0001d1dd, 1},
+ {0x0001d200, 0x0001d245, 1},
+ {0x0001d300, 0x0001d356, 1},
+ {0x0001d360, 0x0001d371, 1},
+ {0x0001d400, 0x0001d454, 1},
+ {0x0001d456, 0x0001d49c, 1},
+ {0x0001d49e, 0x0001d49f, 1},
+ {0x0001d4a2, 0x0001d4a5, 3},
+ {0x0001d4a6, 0x0001d4a9, 3},
+ {0x0001d4aa, 0x0001d4ac, 1},
+ {0x0001d4ae, 0x0001d4b9, 1},
+ {0x0001d4bb, 0x0001d4bd, 2},
+ {0x0001d4be, 0x0001d4c3, 1},
+ {0x0001d4c5, 0x0001d505, 1},
+ {0x0001d507, 0x0001d50a, 1},
+ {0x0001d50d, 0x0001d514, 1},
+ {0x0001d516, 0x0001d51c, 1},
+ {0x0001d51e, 0x0001d539, 1},
+ {0x0001d53b, 0x0001d53e, 1},
+ {0x0001d540, 0x0001d544, 1},
+ {0x0001d546, 0x0001d54a, 4},
+ {0x0001d54b, 0x0001d550, 1},
+ {0x0001d552, 0x0001d6a5, 1},
+ {0x0001d6a8, 0x0001d7cb, 1},
+ {0x0001d7ce, 0x0001d7ff, 1},
+ {0x00020000, 0x0002a6d6, 1},
+ {0x0002f800, 0x0002fa1d, 1},
+ {0x000e0001, 0x000e0020, 31},
+ {0x000e0021, 0x000e007f, 1},
+ {0x000e0100, 0x000e01ef, 1},
+ {0x000f0000, 0x000ffffd, 1},
+ {0x00100000, 0x0010fffd, 1},
+ },
+ LatinOffset: 0,
+}
+
+// size 4160 bytes (4 KiB)
+var assigned6_1_0 = &unicode.RangeTable{
+ R16: []unicode.Range16{
+ {0x0000, 0x0377, 1},
+ {0x037a, 0x037e, 1},
+ {0x0384, 0x038a, 1},
+ {0x038c, 0x038e, 2},
+ {0x038f, 0x03a1, 1},
+ {0x03a3, 0x0527, 1},
+ {0x0531, 0x0556, 1},
+ {0x0559, 0x055f, 1},
+ {0x0561, 0x0587, 1},
+ {0x0589, 0x058a, 1},
+ {0x058f, 0x0591, 2},
+ {0x0592, 0x05c7, 1},
+ {0x05d0, 0x05ea, 1},
+ {0x05f0, 0x05f4, 1},
+ {0x0600, 0x0604, 1},
+ {0x0606, 0x061b, 1},
+ {0x061e, 0x070d, 1},
+ {0x070f, 0x074a, 1},
+ {0x074d, 0x07b1, 1},
+ {0x07c0, 0x07fa, 1},
+ {0x0800, 0x082d, 1},
+ {0x0830, 0x083e, 1},
+ {0x0840, 0x085b, 1},
+ {0x085e, 0x08a0, 66},
+ {0x08a2, 0x08ac, 1},
+ {0x08e4, 0x08fe, 1},
+ {0x0900, 0x0977, 1},
+ {0x0979, 0x097f, 1},
+ {0x0981, 0x0983, 1},
+ {0x0985, 0x098c, 1},
+ {0x098f, 0x0990, 1},
+ {0x0993, 0x09a8, 1},
+ {0x09aa, 0x09b0, 1},
+ {0x09b2, 0x09b6, 4},
+ {0x09b7, 0x09b9, 1},
+ {0x09bc, 0x09c4, 1},
+ {0x09c7, 0x09c8, 1},
+ {0x09cb, 0x09ce, 1},
+ {0x09d7, 0x09dc, 5},
+ {0x09dd, 0x09df, 2},
+ {0x09e0, 0x09e3, 1},
+ {0x09e6, 0x09fb, 1},
+ {0x0a01, 0x0a03, 1},
+ {0x0a05, 0x0a0a, 1},
+ {0x0a0f, 0x0a10, 1},
+ {0x0a13, 0x0a28, 1},
+ {0x0a2a, 0x0a30, 1},
+ {0x0a32, 0x0a33, 1},
+ {0x0a35, 0x0a36, 1},
+ {0x0a38, 0x0a39, 1},
+ {0x0a3c, 0x0a3e, 2},
+ {0x0a3f, 0x0a42, 1},
+ {0x0a47, 0x0a48, 1},
+ {0x0a4b, 0x0a4d, 1},
+ {0x0a51, 0x0a59, 8},
+ {0x0a5a, 0x0a5c, 1},
+ {0x0a5e, 0x0a66, 8},
+ {0x0a67, 0x0a75, 1},
+ {0x0a81, 0x0a83, 1},
+ {0x0a85, 0x0a8d, 1},
+ {0x0a8f, 0x0a91, 1},
+ {0x0a93, 0x0aa8, 1},
+ {0x0aaa, 0x0ab0, 1},
+ {0x0ab2, 0x0ab3, 1},
+ {0x0ab5, 0x0ab9, 1},
+ {0x0abc, 0x0ac5, 1},
+ {0x0ac7, 0x0ac9, 1},
+ {0x0acb, 0x0acd, 1},
+ {0x0ad0, 0x0ae0, 16},
+ {0x0ae1, 0x0ae3, 1},
+ {0x0ae6, 0x0af1, 1},
+ {0x0b01, 0x0b03, 1},
+ {0x0b05, 0x0b0c, 1},
+ {0x0b0f, 0x0b10, 1},
+ {0x0b13, 0x0b28, 1},
+ {0x0b2a, 0x0b30, 1},
+ {0x0b32, 0x0b33, 1},
+ {0x0b35, 0x0b39, 1},
+ {0x0b3c, 0x0b44, 1},
+ {0x0b47, 0x0b48, 1},
+ {0x0b4b, 0x0b4d, 1},
+ {0x0b56, 0x0b57, 1},
+ {0x0b5c, 0x0b5d, 1},
+ {0x0b5f, 0x0b63, 1},
+ {0x0b66, 0x0b77, 1},
+ {0x0b82, 0x0b83, 1},
+ {0x0b85, 0x0b8a, 1},
+ {0x0b8e, 0x0b90, 1},
+ {0x0b92, 0x0b95, 1},
+ {0x0b99, 0x0b9a, 1},
+ {0x0b9c, 0x0b9e, 2},
+ {0x0b9f, 0x0ba3, 4},
+ {0x0ba4, 0x0ba8, 4},
+ {0x0ba9, 0x0baa, 1},
+ {0x0bae, 0x0bb9, 1},
+ {0x0bbe, 0x0bc2, 1},
+ {0x0bc6, 0x0bc8, 1},
+ {0x0bca, 0x0bcd, 1},
+ {0x0bd0, 0x0bd7, 7},
+ {0x0be6, 0x0bfa, 1},
+ {0x0c01, 0x0c03, 1},
+ {0x0c05, 0x0c0c, 1},
+ {0x0c0e, 0x0c10, 1},
+ {0x0c12, 0x0c28, 1},
+ {0x0c2a, 0x0c33, 1},
+ {0x0c35, 0x0c39, 1},
+ {0x0c3d, 0x0c44, 1},
+ {0x0c46, 0x0c48, 1},
+ {0x0c4a, 0x0c4d, 1},
+ {0x0c55, 0x0c56, 1},
+ {0x0c58, 0x0c59, 1},
+ {0x0c60, 0x0c63, 1},
+ {0x0c66, 0x0c6f, 1},
+ {0x0c78, 0x0c7f, 1},
+ {0x0c82, 0x0c83, 1},
+ {0x0c85, 0x0c8c, 1},
+ {0x0c8e, 0x0c90, 1},
+ {0x0c92, 0x0ca8, 1},
+ {0x0caa, 0x0cb3, 1},
+ {0x0cb5, 0x0cb9, 1},
+ {0x0cbc, 0x0cc4, 1},
+ {0x0cc6, 0x0cc8, 1},
+ {0x0cca, 0x0ccd, 1},
+ {0x0cd5, 0x0cd6, 1},
+ {0x0cde, 0x0ce0, 2},
+ {0x0ce1, 0x0ce3, 1},
+ {0x0ce6, 0x0cef, 1},
+ {0x0cf1, 0x0cf2, 1},
+ {0x0d02, 0x0d03, 1},
+ {0x0d05, 0x0d0c, 1},
+ {0x0d0e, 0x0d10, 1},
+ {0x0d12, 0x0d3a, 1},
+ {0x0d3d, 0x0d44, 1},
+ {0x0d46, 0x0d48, 1},
+ {0x0d4a, 0x0d4e, 1},
+ {0x0d57, 0x0d60, 9},
+ {0x0d61, 0x0d63, 1},
+ {0x0d66, 0x0d75, 1},
+ {0x0d79, 0x0d7f, 1},
+ {0x0d82, 0x0d83, 1},
+ {0x0d85, 0x0d96, 1},
+ {0x0d9a, 0x0db1, 1},
+ {0x0db3, 0x0dbb, 1},
+ {0x0dbd, 0x0dc0, 3},
+ {0x0dc1, 0x0dc6, 1},
+ {0x0dca, 0x0dcf, 5},
+ {0x0dd0, 0x0dd4, 1},
+ {0x0dd6, 0x0dd8, 2},
+ {0x0dd9, 0x0ddf, 1},
+ {0x0df2, 0x0df4, 1},
+ {0x0e01, 0x0e3a, 1},
+ {0x0e3f, 0x0e5b, 1},
+ {0x0e81, 0x0e82, 1},
+ {0x0e84, 0x0e87, 3},
+ {0x0e88, 0x0e8a, 2},
+ {0x0e8d, 0x0e94, 7},
+ {0x0e95, 0x0e97, 1},
+ {0x0e99, 0x0e9f, 1},
+ {0x0ea1, 0x0ea3, 1},
+ {0x0ea5, 0x0ea7, 2},
+ {0x0eaa, 0x0eab, 1},
+ {0x0ead, 0x0eb9, 1},
+ {0x0ebb, 0x0ebd, 1},
+ {0x0ec0, 0x0ec4, 1},
+ {0x0ec6, 0x0ec8, 2},
+ {0x0ec9, 0x0ecd, 1},
+ {0x0ed0, 0x0ed9, 1},
+ {0x0edc, 0x0edf, 1},
+ {0x0f00, 0x0f47, 1},
+ {0x0f49, 0x0f6c, 1},
+ {0x0f71, 0x0f97, 1},
+ {0x0f99, 0x0fbc, 1},
+ {0x0fbe, 0x0fcc, 1},
+ {0x0fce, 0x0fda, 1},
+ {0x1000, 0x10c5, 1},
+ {0x10c7, 0x10cd, 6},
+ {0x10d0, 0x1248, 1},
+ {0x124a, 0x124d, 1},
+ {0x1250, 0x1256, 1},
+ {0x1258, 0x125a, 2},
+ {0x125b, 0x125d, 1},
+ {0x1260, 0x1288, 1},
+ {0x128a, 0x128d, 1},
+ {0x1290, 0x12b0, 1},
+ {0x12b2, 0x12b5, 1},
+ {0x12b8, 0x12be, 1},
+ {0x12c0, 0x12c2, 2},
+ {0x12c3, 0x12c5, 1},
+ {0x12c8, 0x12d6, 1},
+ {0x12d8, 0x1310, 1},
+ {0x1312, 0x1315, 1},
+ {0x1318, 0x135a, 1},
+ {0x135d, 0x137c, 1},
+ {0x1380, 0x1399, 1},
+ {0x13a0, 0x13f4, 1},
+ {0x1400, 0x169c, 1},
+ {0x16a0, 0x16f0, 1},
+ {0x1700, 0x170c, 1},
+ {0x170e, 0x1714, 1},
+ {0x1720, 0x1736, 1},
+ {0x1740, 0x1753, 1},
+ {0x1760, 0x176c, 1},
+ {0x176e, 0x1770, 1},
+ {0x1772, 0x1773, 1},
+ {0x1780, 0x17dd, 1},
+ {0x17e0, 0x17e9, 1},
+ {0x17f0, 0x17f9, 1},
+ {0x1800, 0x180e, 1},
+ {0x1810, 0x1819, 1},
+ {0x1820, 0x1877, 1},
+ {0x1880, 0x18aa, 1},
+ {0x18b0, 0x18f5, 1},
+ {0x1900, 0x191c, 1},
+ {0x1920, 0x192b, 1},
+ {0x1930, 0x193b, 1},
+ {0x1940, 0x1944, 4},
+ {0x1945, 0x196d, 1},
+ {0x1970, 0x1974, 1},
+ {0x1980, 0x19ab, 1},
+ {0x19b0, 0x19c9, 1},
+ {0x19d0, 0x19da, 1},
+ {0x19de, 0x1a1b, 1},
+ {0x1a1e, 0x1a5e, 1},
+ {0x1a60, 0x1a7c, 1},
+ {0x1a7f, 0x1a89, 1},
+ {0x1a90, 0x1a99, 1},
+ {0x1aa0, 0x1aad, 1},
+ {0x1b00, 0x1b4b, 1},
+ {0x1b50, 0x1b7c, 1},
+ {0x1b80, 0x1bf3, 1},
+ {0x1bfc, 0x1c37, 1},
+ {0x1c3b, 0x1c49, 1},
+ {0x1c4d, 0x1c7f, 1},
+ {0x1cc0, 0x1cc7, 1},
+ {0x1cd0, 0x1cf6, 1},
+ {0x1d00, 0x1de6, 1},
+ {0x1dfc, 0x1f15, 1},
+ {0x1f18, 0x1f1d, 1},
+ {0x1f20, 0x1f45, 1},
+ {0x1f48, 0x1f4d, 1},
+ {0x1f50, 0x1f57, 1},
+ {0x1f59, 0x1f5f, 2},
+ {0x1f60, 0x1f7d, 1},
+ {0x1f80, 0x1fb4, 1},
+ {0x1fb6, 0x1fc4, 1},
+ {0x1fc6, 0x1fd3, 1},
+ {0x1fd6, 0x1fdb, 1},
+ {0x1fdd, 0x1fef, 1},
+ {0x1ff2, 0x1ff4, 1},
+ {0x1ff6, 0x1ffe, 1},
+ {0x2000, 0x2064, 1},
+ {0x206a, 0x2071, 1},
+ {0x2074, 0x208e, 1},
+ {0x2090, 0x209c, 1},
+ {0x20a0, 0x20b9, 1},
+ {0x20d0, 0x20f0, 1},
+ {0x2100, 0x2189, 1},
+ {0x2190, 0x23f3, 1},
+ {0x2400, 0x2426, 1},
+ {0x2440, 0x244a, 1},
+ {0x2460, 0x26ff, 1},
+ {0x2701, 0x2b4c, 1},
+ {0x2b50, 0x2b59, 1},
+ {0x2c00, 0x2c2e, 1},
+ {0x2c30, 0x2c5e, 1},
+ {0x2c60, 0x2cf3, 1},
+ {0x2cf9, 0x2d25, 1},
+ {0x2d27, 0x2d2d, 6},
+ {0x2d30, 0x2d67, 1},
+ {0x2d6f, 0x2d70, 1},
+ {0x2d7f, 0x2d96, 1},
+ {0x2da0, 0x2da6, 1},
+ {0x2da8, 0x2dae, 1},
+ {0x2db0, 0x2db6, 1},
+ {0x2db8, 0x2dbe, 1},
+ {0x2dc0, 0x2dc6, 1},
+ {0x2dc8, 0x2dce, 1},
+ {0x2dd0, 0x2dd6, 1},
+ {0x2dd8, 0x2dde, 1},
+ {0x2de0, 0x2e3b, 1},
+ {0x2e80, 0x2e99, 1},
+ {0x2e9b, 0x2ef3, 1},
+ {0x2f00, 0x2fd5, 1},
+ {0x2ff0, 0x2ffb, 1},
+ {0x3000, 0x303f, 1},
+ {0x3041, 0x3096, 1},
+ {0x3099, 0x30ff, 1},
+ {0x3105, 0x312d, 1},
+ {0x3131, 0x318e, 1},
+ {0x3190, 0x31ba, 1},
+ {0x31c0, 0x31e3, 1},
+ {0x31f0, 0x321e, 1},
+ {0x3220, 0x32fe, 1},
+ {0x3300, 0x4db5, 1},
+ {0x4dc0, 0x9fcc, 1},
+ {0xa000, 0xa48c, 1},
+ {0xa490, 0xa4c6, 1},
+ {0xa4d0, 0xa62b, 1},
+ {0xa640, 0xa697, 1},
+ {0xa69f, 0xa6f7, 1},
+ {0xa700, 0xa78e, 1},
+ {0xa790, 0xa793, 1},
+ {0xa7a0, 0xa7aa, 1},
+ {0xa7f8, 0xa82b, 1},
+ {0xa830, 0xa839, 1},
+ {0xa840, 0xa877, 1},
+ {0xa880, 0xa8c4, 1},
+ {0xa8ce, 0xa8d9, 1},
+ {0xa8e0, 0xa8fb, 1},
+ {0xa900, 0xa953, 1},
+ {0xa95f, 0xa97c, 1},
+ {0xa980, 0xa9cd, 1},
+ {0xa9cf, 0xa9d9, 1},
+ {0xa9de, 0xa9df, 1},
+ {0xaa00, 0xaa36, 1},
+ {0xaa40, 0xaa4d, 1},
+ {0xaa50, 0xaa59, 1},
+ {0xaa5c, 0xaa7b, 1},
+ {0xaa80, 0xaac2, 1},
+ {0xaadb, 0xaaf6, 1},
+ {0xab01, 0xab06, 1},
+ {0xab09, 0xab0e, 1},
+ {0xab11, 0xab16, 1},
+ {0xab20, 0xab26, 1},
+ {0xab28, 0xab2e, 1},
+ {0xabc0, 0xabed, 1},
+ {0xabf0, 0xabf9, 1},
+ {0xac00, 0xd7a3, 1},
+ {0xd7b0, 0xd7c6, 1},
+ {0xd7cb, 0xd7fb, 1},
+ {0xd800, 0xfa6d, 1},
+ {0xfa70, 0xfad9, 1},
+ {0xfb00, 0xfb06, 1},
+ {0xfb13, 0xfb17, 1},
+ {0xfb1d, 0xfb36, 1},
+ {0xfb38, 0xfb3c, 1},
+ {0xfb3e, 0xfb40, 2},
+ {0xfb41, 0xfb43, 2},
+ {0xfb44, 0xfb46, 2},
+ {0xfb47, 0xfbc1, 1},
+ {0xfbd3, 0xfd3f, 1},
+ {0xfd50, 0xfd8f, 1},
+ {0xfd92, 0xfdc7, 1},
+ {0xfdf0, 0xfdfd, 1},
+ {0xfe00, 0xfe19, 1},
+ {0xfe20, 0xfe26, 1},
+ {0xfe30, 0xfe52, 1},
+ {0xfe54, 0xfe66, 1},
+ {0xfe68, 0xfe6b, 1},
+ {0xfe70, 0xfe74, 1},
+ {0xfe76, 0xfefc, 1},
+ {0xfeff, 0xff01, 2},
+ {0xff02, 0xffbe, 1},
+ {0xffc2, 0xffc7, 1},
+ {0xffca, 0xffcf, 1},
+ {0xffd2, 0xffd7, 1},
+ {0xffda, 0xffdc, 1},
+ {0xffe0, 0xffe6, 1},
+ {0xffe8, 0xffee, 1},
+ {0xfff9, 0xfffd, 1},
+ },
+ R32: []unicode.Range32{
+ {0x00010000, 0x0001000b, 1},
+ {0x0001000d, 0x00010026, 1},
+ {0x00010028, 0x0001003a, 1},
+ {0x0001003c, 0x0001003d, 1},
+ {0x0001003f, 0x0001004d, 1},
+ {0x00010050, 0x0001005d, 1},
+ {0x00010080, 0x000100fa, 1},
+ {0x00010100, 0x00010102, 1},
+ {0x00010107, 0x00010133, 1},
+ {0x00010137, 0x0001018a, 1},
+ {0x00010190, 0x0001019b, 1},
+ {0x000101d0, 0x000101fd, 1},
+ {0x00010280, 0x0001029c, 1},
+ {0x000102a0, 0x000102d0, 1},
+ {0x00010300, 0x0001031e, 1},
+ {0x00010320, 0x00010323, 1},
+ {0x00010330, 0x0001034a, 1},
+ {0x00010380, 0x0001039d, 1},
+ {0x0001039f, 0x000103c3, 1},
+ {0x000103c8, 0x000103d5, 1},
+ {0x00010400, 0x0001049d, 1},
+ {0x000104a0, 0x000104a9, 1},
+ {0x00010800, 0x00010805, 1},
+ {0x00010808, 0x0001080a, 2},
+ {0x0001080b, 0x00010835, 1},
+ {0x00010837, 0x00010838, 1},
+ {0x0001083c, 0x0001083f, 3},
+ {0x00010840, 0x00010855, 1},
+ {0x00010857, 0x0001085f, 1},
+ {0x00010900, 0x0001091b, 1},
+ {0x0001091f, 0x00010939, 1},
+ {0x0001093f, 0x00010980, 65},
+ {0x00010981, 0x000109b7, 1},
+ {0x000109be, 0x000109bf, 1},
+ {0x00010a00, 0x00010a03, 1},
+ {0x00010a05, 0x00010a06, 1},
+ {0x00010a0c, 0x00010a13, 1},
+ {0x00010a15, 0x00010a17, 1},
+ {0x00010a19, 0x00010a33, 1},
+ {0x00010a38, 0x00010a3a, 1},
+ {0x00010a3f, 0x00010a47, 1},
+ {0x00010a50, 0x00010a58, 1},
+ {0x00010a60, 0x00010a7f, 1},
+ {0x00010b00, 0x00010b35, 1},
+ {0x00010b39, 0x00010b55, 1},
+ {0x00010b58, 0x00010b72, 1},
+ {0x00010b78, 0x00010b7f, 1},
+ {0x00010c00, 0x00010c48, 1},
+ {0x00010e60, 0x00010e7e, 1},
+ {0x00011000, 0x0001104d, 1},
+ {0x00011052, 0x0001106f, 1},
+ {0x00011080, 0x000110c1, 1},
+ {0x000110d0, 0x000110e8, 1},
+ {0x000110f0, 0x000110f9, 1},
+ {0x00011100, 0x00011134, 1},
+ {0x00011136, 0x00011143, 1},
+ {0x00011180, 0x000111c8, 1},
+ {0x000111d0, 0x000111d9, 1},
+ {0x00011680, 0x000116b7, 1},
+ {0x000116c0, 0x000116c9, 1},
+ {0x00012000, 0x0001236e, 1},
+ {0x00012400, 0x00012462, 1},
+ {0x00012470, 0x00012473, 1},
+ {0x00013000, 0x0001342e, 1},
+ {0x00016800, 0x00016a38, 1},
+ {0x00016f00, 0x00016f44, 1},
+ {0x00016f50, 0x00016f7e, 1},
+ {0x00016f8f, 0x00016f9f, 1},
+ {0x0001b000, 0x0001b001, 1},
+ {0x0001d000, 0x0001d0f5, 1},
+ {0x0001d100, 0x0001d126, 1},
+ {0x0001d129, 0x0001d1dd, 1},
+ {0x0001d200, 0x0001d245, 1},
+ {0x0001d300, 0x0001d356, 1},
+ {0x0001d360, 0x0001d371, 1},
+ {0x0001d400, 0x0001d454, 1},
+ {0x0001d456, 0x0001d49c, 1},
+ {0x0001d49e, 0x0001d49f, 1},
+ {0x0001d4a2, 0x0001d4a5, 3},
+ {0x0001d4a6, 0x0001d4a9, 3},
+ {0x0001d4aa, 0x0001d4ac, 1},
+ {0x0001d4ae, 0x0001d4b9, 1},
+ {0x0001d4bb, 0x0001d4bd, 2},
+ {0x0001d4be, 0x0001d4c3, 1},
+ {0x0001d4c5, 0x0001d505, 1},
+ {0x0001d507, 0x0001d50a, 1},
+ {0x0001d50d, 0x0001d514, 1},
+ {0x0001d516, 0x0001d51c, 1},
+ {0x0001d51e, 0x0001d539, 1},
+ {0x0001d53b, 0x0001d53e, 1},
+ {0x0001d540, 0x0001d544, 1},
+ {0x0001d546, 0x0001d54a, 4},
+ {0x0001d54b, 0x0001d550, 1},
+ {0x0001d552, 0x0001d6a5, 1},
+ {0x0001d6a8, 0x0001d7cb, 1},
+ {0x0001d7ce, 0x0001d7ff, 1},
+ {0x0001ee00, 0x0001ee03, 1},
+ {0x0001ee05, 0x0001ee1f, 1},
+ {0x0001ee21, 0x0001ee22, 1},
+ {0x0001ee24, 0x0001ee27, 3},
+ {0x0001ee29, 0x0001ee32, 1},
+ {0x0001ee34, 0x0001ee37, 1},
+ {0x0001ee39, 0x0001ee3b, 2},
+ {0x0001ee42, 0x0001ee47, 5},
+ {0x0001ee49, 0x0001ee4d, 2},
+ {0x0001ee4e, 0x0001ee4f, 1},
+ {0x0001ee51, 0x0001ee52, 1},
+ {0x0001ee54, 0x0001ee57, 3},
+ {0x0001ee59, 0x0001ee61, 2},
+ {0x0001ee62, 0x0001ee64, 2},
+ {0x0001ee67, 0x0001ee6a, 1},
+ {0x0001ee6c, 0x0001ee72, 1},
+ {0x0001ee74, 0x0001ee77, 1},
+ {0x0001ee79, 0x0001ee7c, 1},
+ {0x0001ee7e, 0x0001ee80, 2},
+ {0x0001ee81, 0x0001ee89, 1},
+ {0x0001ee8b, 0x0001ee9b, 1},
+ {0x0001eea1, 0x0001eea3, 1},
+ {0x0001eea5, 0x0001eea9, 1},
+ {0x0001eeab, 0x0001eebb, 1},
+ {0x0001eef0, 0x0001eef1, 1},
+ {0x0001f000, 0x0001f02b, 1},
+ {0x0001f030, 0x0001f093, 1},
+ {0x0001f0a0, 0x0001f0ae, 1},
+ {0x0001f0b1, 0x0001f0be, 1},
+ {0x0001f0c1, 0x0001f0cf, 1},
+ {0x0001f0d1, 0x0001f0df, 1},
+ {0x0001f100, 0x0001f10a, 1},
+ {0x0001f110, 0x0001f12e, 1},
+ {0x0001f130, 0x0001f16b, 1},
+ {0x0001f170, 0x0001f19a, 1},
+ {0x0001f1e6, 0x0001f202, 1},
+ {0x0001f210, 0x0001f23a, 1},
+ {0x0001f240, 0x0001f248, 1},
+ {0x0001f250, 0x0001f251, 1},
+ {0x0001f300, 0x0001f320, 1},
+ {0x0001f330, 0x0001f335, 1},
+ {0x0001f337, 0x0001f37c, 1},
+ {0x0001f380, 0x0001f393, 1},
+ {0x0001f3a0, 0x0001f3c4, 1},
+ {0x0001f3c6, 0x0001f3ca, 1},
+ {0x0001f3e0, 0x0001f3f0, 1},
+ {0x0001f400, 0x0001f43e, 1},
+ {0x0001f440, 0x0001f442, 2},
+ {0x0001f443, 0x0001f4f7, 1},
+ {0x0001f4f9, 0x0001f4fc, 1},
+ {0x0001f500, 0x0001f53d, 1},
+ {0x0001f540, 0x0001f543, 1},
+ {0x0001f550, 0x0001f567, 1},
+ {0x0001f5fb, 0x0001f640, 1},
+ {0x0001f645, 0x0001f64f, 1},
+ {0x0001f680, 0x0001f6c5, 1},
+ {0x0001f700, 0x0001f773, 1},
+ {0x00020000, 0x0002a6d6, 1},
+ {0x0002a700, 0x0002b734, 1},
+ {0x0002b740, 0x0002b81d, 1},
+ {0x0002f800, 0x0002fa1d, 1},
+ {0x000e0001, 0x000e0020, 31},
+ {0x000e0021, 0x000e007f, 1},
+ {0x000e0100, 0x000e01ef, 1},
+ {0x000f0000, 0x000ffffd, 1},
+ {0x00100000, 0x0010fffd, 1},
+ },
+ LatinOffset: 0,
+}
+
+// size 4160 bytes (4 KiB)
+var assigned6_2_0 = &unicode.RangeTable{
+ R16: []unicode.Range16{
+ {0x0000, 0x0377, 1},
+ {0x037a, 0x037e, 1},
+ {0x0384, 0x038a, 1},
+ {0x038c, 0x038e, 2},
+ {0x038f, 0x03a1, 1},
+ {0x03a3, 0x0527, 1},
+ {0x0531, 0x0556, 1},
+ {0x0559, 0x055f, 1},
+ {0x0561, 0x0587, 1},
+ {0x0589, 0x058a, 1},
+ {0x058f, 0x0591, 2},
+ {0x0592, 0x05c7, 1},
+ {0x05d0, 0x05ea, 1},
+ {0x05f0, 0x05f4, 1},
+ {0x0600, 0x0604, 1},
+ {0x0606, 0x061b, 1},
+ {0x061e, 0x070d, 1},
+ {0x070f, 0x074a, 1},
+ {0x074d, 0x07b1, 1},
+ {0x07c0, 0x07fa, 1},
+ {0x0800, 0x082d, 1},
+ {0x0830, 0x083e, 1},
+ {0x0840, 0x085b, 1},
+ {0x085e, 0x08a0, 66},
+ {0x08a2, 0x08ac, 1},
+ {0x08e4, 0x08fe, 1},
+ {0x0900, 0x0977, 1},
+ {0x0979, 0x097f, 1},
+ {0x0981, 0x0983, 1},
+ {0x0985, 0x098c, 1},
+ {0x098f, 0x0990, 1},
+ {0x0993, 0x09a8, 1},
+ {0x09aa, 0x09b0, 1},
+ {0x09b2, 0x09b6, 4},
+ {0x09b7, 0x09b9, 1},
+ {0x09bc, 0x09c4, 1},
+ {0x09c7, 0x09c8, 1},
+ {0x09cb, 0x09ce, 1},
+ {0x09d7, 0x09dc, 5},
+ {0x09dd, 0x09df, 2},
+ {0x09e0, 0x09e3, 1},
+ {0x09e6, 0x09fb, 1},
+ {0x0a01, 0x0a03, 1},
+ {0x0a05, 0x0a0a, 1},
+ {0x0a0f, 0x0a10, 1},
+ {0x0a13, 0x0a28, 1},
+ {0x0a2a, 0x0a30, 1},
+ {0x0a32, 0x0a33, 1},
+ {0x0a35, 0x0a36, 1},
+ {0x0a38, 0x0a39, 1},
+ {0x0a3c, 0x0a3e, 2},
+ {0x0a3f, 0x0a42, 1},
+ {0x0a47, 0x0a48, 1},
+ {0x0a4b, 0x0a4d, 1},
+ {0x0a51, 0x0a59, 8},
+ {0x0a5a, 0x0a5c, 1},
+ {0x0a5e, 0x0a66, 8},
+ {0x0a67, 0x0a75, 1},
+ {0x0a81, 0x0a83, 1},
+ {0x0a85, 0x0a8d, 1},
+ {0x0a8f, 0x0a91, 1},
+ {0x0a93, 0x0aa8, 1},
+ {0x0aaa, 0x0ab0, 1},
+ {0x0ab2, 0x0ab3, 1},
+ {0x0ab5, 0x0ab9, 1},
+ {0x0abc, 0x0ac5, 1},
+ {0x0ac7, 0x0ac9, 1},
+ {0x0acb, 0x0acd, 1},
+ {0x0ad0, 0x0ae0, 16},
+ {0x0ae1, 0x0ae3, 1},
+ {0x0ae6, 0x0af1, 1},
+ {0x0b01, 0x0b03, 1},
+ {0x0b05, 0x0b0c, 1},
+ {0x0b0f, 0x0b10, 1},
+ {0x0b13, 0x0b28, 1},
+ {0x0b2a, 0x0b30, 1},
+ {0x0b32, 0x0b33, 1},
+ {0x0b35, 0x0b39, 1},
+ {0x0b3c, 0x0b44, 1},
+ {0x0b47, 0x0b48, 1},
+ {0x0b4b, 0x0b4d, 1},
+ {0x0b56, 0x0b57, 1},
+ {0x0b5c, 0x0b5d, 1},
+ {0x0b5f, 0x0b63, 1},
+ {0x0b66, 0x0b77, 1},
+ {0x0b82, 0x0b83, 1},
+ {0x0b85, 0x0b8a, 1},
+ {0x0b8e, 0x0b90, 1},
+ {0x0b92, 0x0b95, 1},
+ {0x0b99, 0x0b9a, 1},
+ {0x0b9c, 0x0b9e, 2},
+ {0x0b9f, 0x0ba3, 4},
+ {0x0ba4, 0x0ba8, 4},
+ {0x0ba9, 0x0baa, 1},
+ {0x0bae, 0x0bb9, 1},
+ {0x0bbe, 0x0bc2, 1},
+ {0x0bc6, 0x0bc8, 1},
+ {0x0bca, 0x0bcd, 1},
+ {0x0bd0, 0x0bd7, 7},
+ {0x0be6, 0x0bfa, 1},
+ {0x0c01, 0x0c03, 1},
+ {0x0c05, 0x0c0c, 1},
+ {0x0c0e, 0x0c10, 1},
+ {0x0c12, 0x0c28, 1},
+ {0x0c2a, 0x0c33, 1},
+ {0x0c35, 0x0c39, 1},
+ {0x0c3d, 0x0c44, 1},
+ {0x0c46, 0x0c48, 1},
+ {0x0c4a, 0x0c4d, 1},
+ {0x0c55, 0x0c56, 1},
+ {0x0c58, 0x0c59, 1},
+ {0x0c60, 0x0c63, 1},
+ {0x0c66, 0x0c6f, 1},
+ {0x0c78, 0x0c7f, 1},
+ {0x0c82, 0x0c83, 1},
+ {0x0c85, 0x0c8c, 1},
+ {0x0c8e, 0x0c90, 1},
+ {0x0c92, 0x0ca8, 1},
+ {0x0caa, 0x0cb3, 1},
+ {0x0cb5, 0x0cb9, 1},
+ {0x0cbc, 0x0cc4, 1},
+ {0x0cc6, 0x0cc8, 1},
+ {0x0cca, 0x0ccd, 1},
+ {0x0cd5, 0x0cd6, 1},
+ {0x0cde, 0x0ce0, 2},
+ {0x0ce1, 0x0ce3, 1},
+ {0x0ce6, 0x0cef, 1},
+ {0x0cf1, 0x0cf2, 1},
+ {0x0d02, 0x0d03, 1},
+ {0x0d05, 0x0d0c, 1},
+ {0x0d0e, 0x0d10, 1},
+ {0x0d12, 0x0d3a, 1},
+ {0x0d3d, 0x0d44, 1},
+ {0x0d46, 0x0d48, 1},
+ {0x0d4a, 0x0d4e, 1},
+ {0x0d57, 0x0d60, 9},
+ {0x0d61, 0x0d63, 1},
+ {0x0d66, 0x0d75, 1},
+ {0x0d79, 0x0d7f, 1},
+ {0x0d82, 0x0d83, 1},
+ {0x0d85, 0x0d96, 1},
+ {0x0d9a, 0x0db1, 1},
+ {0x0db3, 0x0dbb, 1},
+ {0x0dbd, 0x0dc0, 3},
+ {0x0dc1, 0x0dc6, 1},
+ {0x0dca, 0x0dcf, 5},
+ {0x0dd0, 0x0dd4, 1},
+ {0x0dd6, 0x0dd8, 2},
+ {0x0dd9, 0x0ddf, 1},
+ {0x0df2, 0x0df4, 1},
+ {0x0e01, 0x0e3a, 1},
+ {0x0e3f, 0x0e5b, 1},
+ {0x0e81, 0x0e82, 1},
+ {0x0e84, 0x0e87, 3},
+ {0x0e88, 0x0e8a, 2},
+ {0x0e8d, 0x0e94, 7},
+ {0x0e95, 0x0e97, 1},
+ {0x0e99, 0x0e9f, 1},
+ {0x0ea1, 0x0ea3, 1},
+ {0x0ea5, 0x0ea7, 2},
+ {0x0eaa, 0x0eab, 1},
+ {0x0ead, 0x0eb9, 1},
+ {0x0ebb, 0x0ebd, 1},
+ {0x0ec0, 0x0ec4, 1},
+ {0x0ec6, 0x0ec8, 2},
+ {0x0ec9, 0x0ecd, 1},
+ {0x0ed0, 0x0ed9, 1},
+ {0x0edc, 0x0edf, 1},
+ {0x0f00, 0x0f47, 1},
+ {0x0f49, 0x0f6c, 1},
+ {0x0f71, 0x0f97, 1},
+ {0x0f99, 0x0fbc, 1},
+ {0x0fbe, 0x0fcc, 1},
+ {0x0fce, 0x0fda, 1},
+ {0x1000, 0x10c5, 1},
+ {0x10c7, 0x10cd, 6},
+ {0x10d0, 0x1248, 1},
+ {0x124a, 0x124d, 1},
+ {0x1250, 0x1256, 1},
+ {0x1258, 0x125a, 2},
+ {0x125b, 0x125d, 1},
+ {0x1260, 0x1288, 1},
+ {0x128a, 0x128d, 1},
+ {0x1290, 0x12b0, 1},
+ {0x12b2, 0x12b5, 1},
+ {0x12b8, 0x12be, 1},
+ {0x12c0, 0x12c2, 2},
+ {0x12c3, 0x12c5, 1},
+ {0x12c8, 0x12d6, 1},
+ {0x12d8, 0x1310, 1},
+ {0x1312, 0x1315, 1},
+ {0x1318, 0x135a, 1},
+ {0x135d, 0x137c, 1},
+ {0x1380, 0x1399, 1},
+ {0x13a0, 0x13f4, 1},
+ {0x1400, 0x169c, 1},
+ {0x16a0, 0x16f0, 1},
+ {0x1700, 0x170c, 1},
+ {0x170e, 0x1714, 1},
+ {0x1720, 0x1736, 1},
+ {0x1740, 0x1753, 1},
+ {0x1760, 0x176c, 1},
+ {0x176e, 0x1770, 1},
+ {0x1772, 0x1773, 1},
+ {0x1780, 0x17dd, 1},
+ {0x17e0, 0x17e9, 1},
+ {0x17f0, 0x17f9, 1},
+ {0x1800, 0x180e, 1},
+ {0x1810, 0x1819, 1},
+ {0x1820, 0x1877, 1},
+ {0x1880, 0x18aa, 1},
+ {0x18b0, 0x18f5, 1},
+ {0x1900, 0x191c, 1},
+ {0x1920, 0x192b, 1},
+ {0x1930, 0x193b, 1},
+ {0x1940, 0x1944, 4},
+ {0x1945, 0x196d, 1},
+ {0x1970, 0x1974, 1},
+ {0x1980, 0x19ab, 1},
+ {0x19b0, 0x19c9, 1},
+ {0x19d0, 0x19da, 1},
+ {0x19de, 0x1a1b, 1},
+ {0x1a1e, 0x1a5e, 1},
+ {0x1a60, 0x1a7c, 1},
+ {0x1a7f, 0x1a89, 1},
+ {0x1a90, 0x1a99, 1},
+ {0x1aa0, 0x1aad, 1},
+ {0x1b00, 0x1b4b, 1},
+ {0x1b50, 0x1b7c, 1},
+ {0x1b80, 0x1bf3, 1},
+ {0x1bfc, 0x1c37, 1},
+ {0x1c3b, 0x1c49, 1},
+ {0x1c4d, 0x1c7f, 1},
+ {0x1cc0, 0x1cc7, 1},
+ {0x1cd0, 0x1cf6, 1},
+ {0x1d00, 0x1de6, 1},
+ {0x1dfc, 0x1f15, 1},
+ {0x1f18, 0x1f1d, 1},
+ {0x1f20, 0x1f45, 1},
+ {0x1f48, 0x1f4d, 1},
+ {0x1f50, 0x1f57, 1},
+ {0x1f59, 0x1f5f, 2},
+ {0x1f60, 0x1f7d, 1},
+ {0x1f80, 0x1fb4, 1},
+ {0x1fb6, 0x1fc4, 1},
+ {0x1fc6, 0x1fd3, 1},
+ {0x1fd6, 0x1fdb, 1},
+ {0x1fdd, 0x1fef, 1},
+ {0x1ff2, 0x1ff4, 1},
+ {0x1ff6, 0x1ffe, 1},
+ {0x2000, 0x2064, 1},
+ {0x206a, 0x2071, 1},
+ {0x2074, 0x208e, 1},
+ {0x2090, 0x209c, 1},
+ {0x20a0, 0x20ba, 1},
+ {0x20d0, 0x20f0, 1},
+ {0x2100, 0x2189, 1},
+ {0x2190, 0x23f3, 1},
+ {0x2400, 0x2426, 1},
+ {0x2440, 0x244a, 1},
+ {0x2460, 0x26ff, 1},
+ {0x2701, 0x2b4c, 1},
+ {0x2b50, 0x2b59, 1},
+ {0x2c00, 0x2c2e, 1},
+ {0x2c30, 0x2c5e, 1},
+ {0x2c60, 0x2cf3, 1},
+ {0x2cf9, 0x2d25, 1},
+ {0x2d27, 0x2d2d, 6},
+ {0x2d30, 0x2d67, 1},
+ {0x2d6f, 0x2d70, 1},
+ {0x2d7f, 0x2d96, 1},
+ {0x2da0, 0x2da6, 1},
+ {0x2da8, 0x2dae, 1},
+ {0x2db0, 0x2db6, 1},
+ {0x2db8, 0x2dbe, 1},
+ {0x2dc0, 0x2dc6, 1},
+ {0x2dc8, 0x2dce, 1},
+ {0x2dd0, 0x2dd6, 1},
+ {0x2dd8, 0x2dde, 1},
+ {0x2de0, 0x2e3b, 1},
+ {0x2e80, 0x2e99, 1},
+ {0x2e9b, 0x2ef3, 1},
+ {0x2f00, 0x2fd5, 1},
+ {0x2ff0, 0x2ffb, 1},
+ {0x3000, 0x303f, 1},
+ {0x3041, 0x3096, 1},
+ {0x3099, 0x30ff, 1},
+ {0x3105, 0x312d, 1},
+ {0x3131, 0x318e, 1},
+ {0x3190, 0x31ba, 1},
+ {0x31c0, 0x31e3, 1},
+ {0x31f0, 0x321e, 1},
+ {0x3220, 0x32fe, 1},
+ {0x3300, 0x4db5, 1},
+ {0x4dc0, 0x9fcc, 1},
+ {0xa000, 0xa48c, 1},
+ {0xa490, 0xa4c6, 1},
+ {0xa4d0, 0xa62b, 1},
+ {0xa640, 0xa697, 1},
+ {0xa69f, 0xa6f7, 1},
+ {0xa700, 0xa78e, 1},
+ {0xa790, 0xa793, 1},
+ {0xa7a0, 0xa7aa, 1},
+ {0xa7f8, 0xa82b, 1},
+ {0xa830, 0xa839, 1},
+ {0xa840, 0xa877, 1},
+ {0xa880, 0xa8c4, 1},
+ {0xa8ce, 0xa8d9, 1},
+ {0xa8e0, 0xa8fb, 1},
+ {0xa900, 0xa953, 1},
+ {0xa95f, 0xa97c, 1},
+ {0xa980, 0xa9cd, 1},
+ {0xa9cf, 0xa9d9, 1},
+ {0xa9de, 0xa9df, 1},
+ {0xaa00, 0xaa36, 1},
+ {0xaa40, 0xaa4d, 1},
+ {0xaa50, 0xaa59, 1},
+ {0xaa5c, 0xaa7b, 1},
+ {0xaa80, 0xaac2, 1},
+ {0xaadb, 0xaaf6, 1},
+ {0xab01, 0xab06, 1},
+ {0xab09, 0xab0e, 1},
+ {0xab11, 0xab16, 1},
+ {0xab20, 0xab26, 1},
+ {0xab28, 0xab2e, 1},
+ {0xabc0, 0xabed, 1},
+ {0xabf0, 0xabf9, 1},
+ {0xac00, 0xd7a3, 1},
+ {0xd7b0, 0xd7c6, 1},
+ {0xd7cb, 0xd7fb, 1},
+ {0xd800, 0xfa6d, 1},
+ {0xfa70, 0xfad9, 1},
+ {0xfb00, 0xfb06, 1},
+ {0xfb13, 0xfb17, 1},
+ {0xfb1d, 0xfb36, 1},
+ {0xfb38, 0xfb3c, 1},
+ {0xfb3e, 0xfb40, 2},
+ {0xfb41, 0xfb43, 2},
+ {0xfb44, 0xfb46, 2},
+ {0xfb47, 0xfbc1, 1},
+ {0xfbd3, 0xfd3f, 1},
+ {0xfd50, 0xfd8f, 1},
+ {0xfd92, 0xfdc7, 1},
+ {0xfdf0, 0xfdfd, 1},
+ {0xfe00, 0xfe19, 1},
+ {0xfe20, 0xfe26, 1},
+ {0xfe30, 0xfe52, 1},
+ {0xfe54, 0xfe66, 1},
+ {0xfe68, 0xfe6b, 1},
+ {0xfe70, 0xfe74, 1},
+ {0xfe76, 0xfefc, 1},
+ {0xfeff, 0xff01, 2},
+ {0xff02, 0xffbe, 1},
+ {0xffc2, 0xffc7, 1},
+ {0xffca, 0xffcf, 1},
+ {0xffd2, 0xffd7, 1},
+ {0xffda, 0xffdc, 1},
+ {0xffe0, 0xffe6, 1},
+ {0xffe8, 0xffee, 1},
+ {0xfff9, 0xfffd, 1},
+ },
+ R32: []unicode.Range32{
+ {0x00010000, 0x0001000b, 1},
+ {0x0001000d, 0x00010026, 1},
+ {0x00010028, 0x0001003a, 1},
+ {0x0001003c, 0x0001003d, 1},
+ {0x0001003f, 0x0001004d, 1},
+ {0x00010050, 0x0001005d, 1},
+ {0x00010080, 0x000100fa, 1},
+ {0x00010100, 0x00010102, 1},
+ {0x00010107, 0x00010133, 1},
+ {0x00010137, 0x0001018a, 1},
+ {0x00010190, 0x0001019b, 1},
+ {0x000101d0, 0x000101fd, 1},
+ {0x00010280, 0x0001029c, 1},
+ {0x000102a0, 0x000102d0, 1},
+ {0x00010300, 0x0001031e, 1},
+ {0x00010320, 0x00010323, 1},
+ {0x00010330, 0x0001034a, 1},
+ {0x00010380, 0x0001039d, 1},
+ {0x0001039f, 0x000103c3, 1},
+ {0x000103c8, 0x000103d5, 1},
+ {0x00010400, 0x0001049d, 1},
+ {0x000104a0, 0x000104a9, 1},
+ {0x00010800, 0x00010805, 1},
+ {0x00010808, 0x0001080a, 2},
+ {0x0001080b, 0x00010835, 1},
+ {0x00010837, 0x00010838, 1},
+ {0x0001083c, 0x0001083f, 3},
+ {0x00010840, 0x00010855, 1},
+ {0x00010857, 0x0001085f, 1},
+ {0x00010900, 0x0001091b, 1},
+ {0x0001091f, 0x00010939, 1},
+ {0x0001093f, 0x00010980, 65},
+ {0x00010981, 0x000109b7, 1},
+ {0x000109be, 0x000109bf, 1},
+ {0x00010a00, 0x00010a03, 1},
+ {0x00010a05, 0x00010a06, 1},
+ {0x00010a0c, 0x00010a13, 1},
+ {0x00010a15, 0x00010a17, 1},
+ {0x00010a19, 0x00010a33, 1},
+ {0x00010a38, 0x00010a3a, 1},
+ {0x00010a3f, 0x00010a47, 1},
+ {0x00010a50, 0x00010a58, 1},
+ {0x00010a60, 0x00010a7f, 1},
+ {0x00010b00, 0x00010b35, 1},
+ {0x00010b39, 0x00010b55, 1},
+ {0x00010b58, 0x00010b72, 1},
+ {0x00010b78, 0x00010b7f, 1},
+ {0x00010c00, 0x00010c48, 1},
+ {0x00010e60, 0x00010e7e, 1},
+ {0x00011000, 0x0001104d, 1},
+ {0x00011052, 0x0001106f, 1},
+ {0x00011080, 0x000110c1, 1},
+ {0x000110d0, 0x000110e8, 1},
+ {0x000110f0, 0x000110f9, 1},
+ {0x00011100, 0x00011134, 1},
+ {0x00011136, 0x00011143, 1},
+ {0x00011180, 0x000111c8, 1},
+ {0x000111d0, 0x000111d9, 1},
+ {0x00011680, 0x000116b7, 1},
+ {0x000116c0, 0x000116c9, 1},
+ {0x00012000, 0x0001236e, 1},
+ {0x00012400, 0x00012462, 1},
+ {0x00012470, 0x00012473, 1},
+ {0x00013000, 0x0001342e, 1},
+ {0x00016800, 0x00016a38, 1},
+ {0x00016f00, 0x00016f44, 1},
+ {0x00016f50, 0x00016f7e, 1},
+ {0x00016f8f, 0x00016f9f, 1},
+ {0x0001b000, 0x0001b001, 1},
+ {0x0001d000, 0x0001d0f5, 1},
+ {0x0001d100, 0x0001d126, 1},
+ {0x0001d129, 0x0001d1dd, 1},
+ {0x0001d200, 0x0001d245, 1},
+ {0x0001d300, 0x0001d356, 1},
+ {0x0001d360, 0x0001d371, 1},
+ {0x0001d400, 0x0001d454, 1},
+ {0x0001d456, 0x0001d49c, 1},
+ {0x0001d49e, 0x0001d49f, 1},
+ {0x0001d4a2, 0x0001d4a5, 3},
+ {0x0001d4a6, 0x0001d4a9, 3},
+ {0x0001d4aa, 0x0001d4ac, 1},
+ {0x0001d4ae, 0x0001d4b9, 1},
+ {0x0001d4bb, 0x0001d4bd, 2},
+ {0x0001d4be, 0x0001d4c3, 1},
+ {0x0001d4c5, 0x0001d505, 1},
+ {0x0001d507, 0x0001d50a, 1},
+ {0x0001d50d, 0x0001d514, 1},
+ {0x0001d516, 0x0001d51c, 1},
+ {0x0001d51e, 0x0001d539, 1},
+ {0x0001d53b, 0x0001d53e, 1},
+ {0x0001d540, 0x0001d544, 1},
+ {0x0001d546, 0x0001d54a, 4},
+ {0x0001d54b, 0x0001d550, 1},
+ {0x0001d552, 0x0001d6a5, 1},
+ {0x0001d6a8, 0x0001d7cb, 1},
+ {0x0001d7ce, 0x0001d7ff, 1},
+ {0x0001ee00, 0x0001ee03, 1},
+ {0x0001ee05, 0x0001ee1f, 1},
+ {0x0001ee21, 0x0001ee22, 1},
+ {0x0001ee24, 0x0001ee27, 3},
+ {0x0001ee29, 0x0001ee32, 1},
+ {0x0001ee34, 0x0001ee37, 1},
+ {0x0001ee39, 0x0001ee3b, 2},
+ {0x0001ee42, 0x0001ee47, 5},
+ {0x0001ee49, 0x0001ee4d, 2},
+ {0x0001ee4e, 0x0001ee4f, 1},
+ {0x0001ee51, 0x0001ee52, 1},
+ {0x0001ee54, 0x0001ee57, 3},
+ {0x0001ee59, 0x0001ee61, 2},
+ {0x0001ee62, 0x0001ee64, 2},
+ {0x0001ee67, 0x0001ee6a, 1},
+ {0x0001ee6c, 0x0001ee72, 1},
+ {0x0001ee74, 0x0001ee77, 1},
+ {0x0001ee79, 0x0001ee7c, 1},
+ {0x0001ee7e, 0x0001ee80, 2},
+ {0x0001ee81, 0x0001ee89, 1},
+ {0x0001ee8b, 0x0001ee9b, 1},
+ {0x0001eea1, 0x0001eea3, 1},
+ {0x0001eea5, 0x0001eea9, 1},
+ {0x0001eeab, 0x0001eebb, 1},
+ {0x0001eef0, 0x0001eef1, 1},
+ {0x0001f000, 0x0001f02b, 1},
+ {0x0001f030, 0x0001f093, 1},
+ {0x0001f0a0, 0x0001f0ae, 1},
+ {0x0001f0b1, 0x0001f0be, 1},
+ {0x0001f0c1, 0x0001f0cf, 1},
+ {0x0001f0d1, 0x0001f0df, 1},
+ {0x0001f100, 0x0001f10a, 1},
+ {0x0001f110, 0x0001f12e, 1},
+ {0x0001f130, 0x0001f16b, 1},
+ {0x0001f170, 0x0001f19a, 1},
+ {0x0001f1e6, 0x0001f202, 1},
+ {0x0001f210, 0x0001f23a, 1},
+ {0x0001f240, 0x0001f248, 1},
+ {0x0001f250, 0x0001f251, 1},
+ {0x0001f300, 0x0001f320, 1},
+ {0x0001f330, 0x0001f335, 1},
+ {0x0001f337, 0x0001f37c, 1},
+ {0x0001f380, 0x0001f393, 1},
+ {0x0001f3a0, 0x0001f3c4, 1},
+ {0x0001f3c6, 0x0001f3ca, 1},
+ {0x0001f3e0, 0x0001f3f0, 1},
+ {0x0001f400, 0x0001f43e, 1},
+ {0x0001f440, 0x0001f442, 2},
+ {0x0001f443, 0x0001f4f7, 1},
+ {0x0001f4f9, 0x0001f4fc, 1},
+ {0x0001f500, 0x0001f53d, 1},
+ {0x0001f540, 0x0001f543, 1},
+ {0x0001f550, 0x0001f567, 1},
+ {0x0001f5fb, 0x0001f640, 1},
+ {0x0001f645, 0x0001f64f, 1},
+ {0x0001f680, 0x0001f6c5, 1},
+ {0x0001f700, 0x0001f773, 1},
+ {0x00020000, 0x0002a6d6, 1},
+ {0x0002a700, 0x0002b734, 1},
+ {0x0002b740, 0x0002b81d, 1},
+ {0x0002f800, 0x0002fa1d, 1},
+ {0x000e0001, 0x000e0020, 31},
+ {0x000e0021, 0x000e007f, 1},
+ {0x000e0100, 0x000e01ef, 1},
+ {0x000f0000, 0x000ffffd, 1},
+ {0x00100000, 0x0010fffd, 1},
+ },
+ LatinOffset: 0,
+}
+
+// size 4160 bytes (4 KiB)
+var assigned6_3_0 = &unicode.RangeTable{
+ R16: []unicode.Range16{
+ {0x0000, 0x0377, 1},
+ {0x037a, 0x037e, 1},
+ {0x0384, 0x038a, 1},
+ {0x038c, 0x038e, 2},
+ {0x038f, 0x03a1, 1},
+ {0x03a3, 0x0527, 1},
+ {0x0531, 0x0556, 1},
+ {0x0559, 0x055f, 1},
+ {0x0561, 0x0587, 1},
+ {0x0589, 0x058a, 1},
+ {0x058f, 0x0591, 2},
+ {0x0592, 0x05c7, 1},
+ {0x05d0, 0x05ea, 1},
+ {0x05f0, 0x05f4, 1},
+ {0x0600, 0x0604, 1},
+ {0x0606, 0x061c, 1},
+ {0x061e, 0x070d, 1},
+ {0x070f, 0x074a, 1},
+ {0x074d, 0x07b1, 1},
+ {0x07c0, 0x07fa, 1},
+ {0x0800, 0x082d, 1},
+ {0x0830, 0x083e, 1},
+ {0x0840, 0x085b, 1},
+ {0x085e, 0x08a0, 66},
+ {0x08a2, 0x08ac, 1},
+ {0x08e4, 0x08fe, 1},
+ {0x0900, 0x0977, 1},
+ {0x0979, 0x097f, 1},
+ {0x0981, 0x0983, 1},
+ {0x0985, 0x098c, 1},
+ {0x098f, 0x0990, 1},
+ {0x0993, 0x09a8, 1},
+ {0x09aa, 0x09b0, 1},
+ {0x09b2, 0x09b6, 4},
+ {0x09b7, 0x09b9, 1},
+ {0x09bc, 0x09c4, 1},
+ {0x09c7, 0x09c8, 1},
+ {0x09cb, 0x09ce, 1},
+ {0x09d7, 0x09dc, 5},
+ {0x09dd, 0x09df, 2},
+ {0x09e0, 0x09e3, 1},
+ {0x09e6, 0x09fb, 1},
+ {0x0a01, 0x0a03, 1},
+ {0x0a05, 0x0a0a, 1},
+ {0x0a0f, 0x0a10, 1},
+ {0x0a13, 0x0a28, 1},
+ {0x0a2a, 0x0a30, 1},
+ {0x0a32, 0x0a33, 1},
+ {0x0a35, 0x0a36, 1},
+ {0x0a38, 0x0a39, 1},
+ {0x0a3c, 0x0a3e, 2},
+ {0x0a3f, 0x0a42, 1},
+ {0x0a47, 0x0a48, 1},
+ {0x0a4b, 0x0a4d, 1},
+ {0x0a51, 0x0a59, 8},
+ {0x0a5a, 0x0a5c, 1},
+ {0x0a5e, 0x0a66, 8},
+ {0x0a67, 0x0a75, 1},
+ {0x0a81, 0x0a83, 1},
+ {0x0a85, 0x0a8d, 1},
+ {0x0a8f, 0x0a91, 1},
+ {0x0a93, 0x0aa8, 1},
+ {0x0aaa, 0x0ab0, 1},
+ {0x0ab2, 0x0ab3, 1},
+ {0x0ab5, 0x0ab9, 1},
+ {0x0abc, 0x0ac5, 1},
+ {0x0ac7, 0x0ac9, 1},
+ {0x0acb, 0x0acd, 1},
+ {0x0ad0, 0x0ae0, 16},
+ {0x0ae1, 0x0ae3, 1},
+ {0x0ae6, 0x0af1, 1},
+ {0x0b01, 0x0b03, 1},
+ {0x0b05, 0x0b0c, 1},
+ {0x0b0f, 0x0b10, 1},
+ {0x0b13, 0x0b28, 1},
+ {0x0b2a, 0x0b30, 1},
+ {0x0b32, 0x0b33, 1},
+ {0x0b35, 0x0b39, 1},
+ {0x0b3c, 0x0b44, 1},
+ {0x0b47, 0x0b48, 1},
+ {0x0b4b, 0x0b4d, 1},
+ {0x0b56, 0x0b57, 1},
+ {0x0b5c, 0x0b5d, 1},
+ {0x0b5f, 0x0b63, 1},
+ {0x0b66, 0x0b77, 1},
+ {0x0b82, 0x0b83, 1},
+ {0x0b85, 0x0b8a, 1},
+ {0x0b8e, 0x0b90, 1},
+ {0x0b92, 0x0b95, 1},
+ {0x0b99, 0x0b9a, 1},
+ {0x0b9c, 0x0b9e, 2},
+ {0x0b9f, 0x0ba3, 4},
+ {0x0ba4, 0x0ba8, 4},
+ {0x0ba9, 0x0baa, 1},
+ {0x0bae, 0x0bb9, 1},
+ {0x0bbe, 0x0bc2, 1},
+ {0x0bc6, 0x0bc8, 1},
+ {0x0bca, 0x0bcd, 1},
+ {0x0bd0, 0x0bd7, 7},
+ {0x0be6, 0x0bfa, 1},
+ {0x0c01, 0x0c03, 1},
+ {0x0c05, 0x0c0c, 1},
+ {0x0c0e, 0x0c10, 1},
+ {0x0c12, 0x0c28, 1},
+ {0x0c2a, 0x0c33, 1},
+ {0x0c35, 0x0c39, 1},
+ {0x0c3d, 0x0c44, 1},
+ {0x0c46, 0x0c48, 1},
+ {0x0c4a, 0x0c4d, 1},
+ {0x0c55, 0x0c56, 1},
+ {0x0c58, 0x0c59, 1},
+ {0x0c60, 0x0c63, 1},
+ {0x0c66, 0x0c6f, 1},
+ {0x0c78, 0x0c7f, 1},
+ {0x0c82, 0x0c83, 1},
+ {0x0c85, 0x0c8c, 1},
+ {0x0c8e, 0x0c90, 1},
+ {0x0c92, 0x0ca8, 1},
+ {0x0caa, 0x0cb3, 1},
+ {0x0cb5, 0x0cb9, 1},
+ {0x0cbc, 0x0cc4, 1},
+ {0x0cc6, 0x0cc8, 1},
+ {0x0cca, 0x0ccd, 1},
+ {0x0cd5, 0x0cd6, 1},
+ {0x0cde, 0x0ce0, 2},
+ {0x0ce1, 0x0ce3, 1},
+ {0x0ce6, 0x0cef, 1},
+ {0x0cf1, 0x0cf2, 1},
+ {0x0d02, 0x0d03, 1},
+ {0x0d05, 0x0d0c, 1},
+ {0x0d0e, 0x0d10, 1},
+ {0x0d12, 0x0d3a, 1},
+ {0x0d3d, 0x0d44, 1},
+ {0x0d46, 0x0d48, 1},
+ {0x0d4a, 0x0d4e, 1},
+ {0x0d57, 0x0d60, 9},
+ {0x0d61, 0x0d63, 1},
+ {0x0d66, 0x0d75, 1},
+ {0x0d79, 0x0d7f, 1},
+ {0x0d82, 0x0d83, 1},
+ {0x0d85, 0x0d96, 1},
+ {0x0d9a, 0x0db1, 1},
+ {0x0db3, 0x0dbb, 1},
+ {0x0dbd, 0x0dc0, 3},
+ {0x0dc1, 0x0dc6, 1},
+ {0x0dca, 0x0dcf, 5},
+ {0x0dd0, 0x0dd4, 1},
+ {0x0dd6, 0x0dd8, 2},
+ {0x0dd9, 0x0ddf, 1},
+ {0x0df2, 0x0df4, 1},
+ {0x0e01, 0x0e3a, 1},
+ {0x0e3f, 0x0e5b, 1},
+ {0x0e81, 0x0e82, 1},
+ {0x0e84, 0x0e87, 3},
+ {0x0e88, 0x0e8a, 2},
+ {0x0e8d, 0x0e94, 7},
+ {0x0e95, 0x0e97, 1},
+ {0x0e99, 0x0e9f, 1},
+ {0x0ea1, 0x0ea3, 1},
+ {0x0ea5, 0x0ea7, 2},
+ {0x0eaa, 0x0eab, 1},
+ {0x0ead, 0x0eb9, 1},
+ {0x0ebb, 0x0ebd, 1},
+ {0x0ec0, 0x0ec4, 1},
+ {0x0ec6, 0x0ec8, 2},
+ {0x0ec9, 0x0ecd, 1},
+ {0x0ed0, 0x0ed9, 1},
+ {0x0edc, 0x0edf, 1},
+ {0x0f00, 0x0f47, 1},
+ {0x0f49, 0x0f6c, 1},
+ {0x0f71, 0x0f97, 1},
+ {0x0f99, 0x0fbc, 1},
+ {0x0fbe, 0x0fcc, 1},
+ {0x0fce, 0x0fda, 1},
+ {0x1000, 0x10c5, 1},
+ {0x10c7, 0x10cd, 6},
+ {0x10d0, 0x1248, 1},
+ {0x124a, 0x124d, 1},
+ {0x1250, 0x1256, 1},
+ {0x1258, 0x125a, 2},
+ {0x125b, 0x125d, 1},
+ {0x1260, 0x1288, 1},
+ {0x128a, 0x128d, 1},
+ {0x1290, 0x12b0, 1},
+ {0x12b2, 0x12b5, 1},
+ {0x12b8, 0x12be, 1},
+ {0x12c0, 0x12c2, 2},
+ {0x12c3, 0x12c5, 1},
+ {0x12c8, 0x12d6, 1},
+ {0x12d8, 0x1310, 1},
+ {0x1312, 0x1315, 1},
+ {0x1318, 0x135a, 1},
+ {0x135d, 0x137c, 1},
+ {0x1380, 0x1399, 1},
+ {0x13a0, 0x13f4, 1},
+ {0x1400, 0x169c, 1},
+ {0x16a0, 0x16f0, 1},
+ {0x1700, 0x170c, 1},
+ {0x170e, 0x1714, 1},
+ {0x1720, 0x1736, 1},
+ {0x1740, 0x1753, 1},
+ {0x1760, 0x176c, 1},
+ {0x176e, 0x1770, 1},
+ {0x1772, 0x1773, 1},
+ {0x1780, 0x17dd, 1},
+ {0x17e0, 0x17e9, 1},
+ {0x17f0, 0x17f9, 1},
+ {0x1800, 0x180e, 1},
+ {0x1810, 0x1819, 1},
+ {0x1820, 0x1877, 1},
+ {0x1880, 0x18aa, 1},
+ {0x18b0, 0x18f5, 1},
+ {0x1900, 0x191c, 1},
+ {0x1920, 0x192b, 1},
+ {0x1930, 0x193b, 1},
+ {0x1940, 0x1944, 4},
+ {0x1945, 0x196d, 1},
+ {0x1970, 0x1974, 1},
+ {0x1980, 0x19ab, 1},
+ {0x19b0, 0x19c9, 1},
+ {0x19d0, 0x19da, 1},
+ {0x19de, 0x1a1b, 1},
+ {0x1a1e, 0x1a5e, 1},
+ {0x1a60, 0x1a7c, 1},
+ {0x1a7f, 0x1a89, 1},
+ {0x1a90, 0x1a99, 1},
+ {0x1aa0, 0x1aad, 1},
+ {0x1b00, 0x1b4b, 1},
+ {0x1b50, 0x1b7c, 1},
+ {0x1b80, 0x1bf3, 1},
+ {0x1bfc, 0x1c37, 1},
+ {0x1c3b, 0x1c49, 1},
+ {0x1c4d, 0x1c7f, 1},
+ {0x1cc0, 0x1cc7, 1},
+ {0x1cd0, 0x1cf6, 1},
+ {0x1d00, 0x1de6, 1},
+ {0x1dfc, 0x1f15, 1},
+ {0x1f18, 0x1f1d, 1},
+ {0x1f20, 0x1f45, 1},
+ {0x1f48, 0x1f4d, 1},
+ {0x1f50, 0x1f57, 1},
+ {0x1f59, 0x1f5f, 2},
+ {0x1f60, 0x1f7d, 1},
+ {0x1f80, 0x1fb4, 1},
+ {0x1fb6, 0x1fc4, 1},
+ {0x1fc6, 0x1fd3, 1},
+ {0x1fd6, 0x1fdb, 1},
+ {0x1fdd, 0x1fef, 1},
+ {0x1ff2, 0x1ff4, 1},
+ {0x1ff6, 0x1ffe, 1},
+ {0x2000, 0x2064, 1},
+ {0x2066, 0x2071, 1},
+ {0x2074, 0x208e, 1},
+ {0x2090, 0x209c, 1},
+ {0x20a0, 0x20ba, 1},
+ {0x20d0, 0x20f0, 1},
+ {0x2100, 0x2189, 1},
+ {0x2190, 0x23f3, 1},
+ {0x2400, 0x2426, 1},
+ {0x2440, 0x244a, 1},
+ {0x2460, 0x26ff, 1},
+ {0x2701, 0x2b4c, 1},
+ {0x2b50, 0x2b59, 1},
+ {0x2c00, 0x2c2e, 1},
+ {0x2c30, 0x2c5e, 1},
+ {0x2c60, 0x2cf3, 1},
+ {0x2cf9, 0x2d25, 1},
+ {0x2d27, 0x2d2d, 6},
+ {0x2d30, 0x2d67, 1},
+ {0x2d6f, 0x2d70, 1},
+ {0x2d7f, 0x2d96, 1},
+ {0x2da0, 0x2da6, 1},
+ {0x2da8, 0x2dae, 1},
+ {0x2db0, 0x2db6, 1},
+ {0x2db8, 0x2dbe, 1},
+ {0x2dc0, 0x2dc6, 1},
+ {0x2dc8, 0x2dce, 1},
+ {0x2dd0, 0x2dd6, 1},
+ {0x2dd8, 0x2dde, 1},
+ {0x2de0, 0x2e3b, 1},
+ {0x2e80, 0x2e99, 1},
+ {0x2e9b, 0x2ef3, 1},
+ {0x2f00, 0x2fd5, 1},
+ {0x2ff0, 0x2ffb, 1},
+ {0x3000, 0x303f, 1},
+ {0x3041, 0x3096, 1},
+ {0x3099, 0x30ff, 1},
+ {0x3105, 0x312d, 1},
+ {0x3131, 0x318e, 1},
+ {0x3190, 0x31ba, 1},
+ {0x31c0, 0x31e3, 1},
+ {0x31f0, 0x321e, 1},
+ {0x3220, 0x32fe, 1},
+ {0x3300, 0x4db5, 1},
+ {0x4dc0, 0x9fcc, 1},
+ {0xa000, 0xa48c, 1},
+ {0xa490, 0xa4c6, 1},
+ {0xa4d0, 0xa62b, 1},
+ {0xa640, 0xa697, 1},
+ {0xa69f, 0xa6f7, 1},
+ {0xa700, 0xa78e, 1},
+ {0xa790, 0xa793, 1},
+ {0xa7a0, 0xa7aa, 1},
+ {0xa7f8, 0xa82b, 1},
+ {0xa830, 0xa839, 1},
+ {0xa840, 0xa877, 1},
+ {0xa880, 0xa8c4, 1},
+ {0xa8ce, 0xa8d9, 1},
+ {0xa8e0, 0xa8fb, 1},
+ {0xa900, 0xa953, 1},
+ {0xa95f, 0xa97c, 1},
+ {0xa980, 0xa9cd, 1},
+ {0xa9cf, 0xa9d9, 1},
+ {0xa9de, 0xa9df, 1},
+ {0xaa00, 0xaa36, 1},
+ {0xaa40, 0xaa4d, 1},
+ {0xaa50, 0xaa59, 1},
+ {0xaa5c, 0xaa7b, 1},
+ {0xaa80, 0xaac2, 1},
+ {0xaadb, 0xaaf6, 1},
+ {0xab01, 0xab06, 1},
+ {0xab09, 0xab0e, 1},
+ {0xab11, 0xab16, 1},
+ {0xab20, 0xab26, 1},
+ {0xab28, 0xab2e, 1},
+ {0xabc0, 0xabed, 1},
+ {0xabf0, 0xabf9, 1},
+ {0xac00, 0xd7a3, 1},
+ {0xd7b0, 0xd7c6, 1},
+ {0xd7cb, 0xd7fb, 1},
+ {0xd800, 0xfa6d, 1},
+ {0xfa70, 0xfad9, 1},
+ {0xfb00, 0xfb06, 1},
+ {0xfb13, 0xfb17, 1},
+ {0xfb1d, 0xfb36, 1},
+ {0xfb38, 0xfb3c, 1},
+ {0xfb3e, 0xfb40, 2},
+ {0xfb41, 0xfb43, 2},
+ {0xfb44, 0xfb46, 2},
+ {0xfb47, 0xfbc1, 1},
+ {0xfbd3, 0xfd3f, 1},
+ {0xfd50, 0xfd8f, 1},
+ {0xfd92, 0xfdc7, 1},
+ {0xfdf0, 0xfdfd, 1},
+ {0xfe00, 0xfe19, 1},
+ {0xfe20, 0xfe26, 1},
+ {0xfe30, 0xfe52, 1},
+ {0xfe54, 0xfe66, 1},
+ {0xfe68, 0xfe6b, 1},
+ {0xfe70, 0xfe74, 1},
+ {0xfe76, 0xfefc, 1},
+ {0xfeff, 0xff01, 2},
+ {0xff02, 0xffbe, 1},
+ {0xffc2, 0xffc7, 1},
+ {0xffca, 0xffcf, 1},
+ {0xffd2, 0xffd7, 1},
+ {0xffda, 0xffdc, 1},
+ {0xffe0, 0xffe6, 1},
+ {0xffe8, 0xffee, 1},
+ {0xfff9, 0xfffd, 1},
+ },
+ R32: []unicode.Range32{
+ {0x00010000, 0x0001000b, 1},
+ {0x0001000d, 0x00010026, 1},
+ {0x00010028, 0x0001003a, 1},
+ {0x0001003c, 0x0001003d, 1},
+ {0x0001003f, 0x0001004d, 1},
+ {0x00010050, 0x0001005d, 1},
+ {0x00010080, 0x000100fa, 1},
+ {0x00010100, 0x00010102, 1},
+ {0x00010107, 0x00010133, 1},
+ {0x00010137, 0x0001018a, 1},
+ {0x00010190, 0x0001019b, 1},
+ {0x000101d0, 0x000101fd, 1},
+ {0x00010280, 0x0001029c, 1},
+ {0x000102a0, 0x000102d0, 1},
+ {0x00010300, 0x0001031e, 1},
+ {0x00010320, 0x00010323, 1},
+ {0x00010330, 0x0001034a, 1},
+ {0x00010380, 0x0001039d, 1},
+ {0x0001039f, 0x000103c3, 1},
+ {0x000103c8, 0x000103d5, 1},
+ {0x00010400, 0x0001049d, 1},
+ {0x000104a0, 0x000104a9, 1},
+ {0x00010800, 0x00010805, 1},
+ {0x00010808, 0x0001080a, 2},
+ {0x0001080b, 0x00010835, 1},
+ {0x00010837, 0x00010838, 1},
+ {0x0001083c, 0x0001083f, 3},
+ {0x00010840, 0x00010855, 1},
+ {0x00010857, 0x0001085f, 1},
+ {0x00010900, 0x0001091b, 1},
+ {0x0001091f, 0x00010939, 1},
+ {0x0001093f, 0x00010980, 65},
+ {0x00010981, 0x000109b7, 1},
+ {0x000109be, 0x000109bf, 1},
+ {0x00010a00, 0x00010a03, 1},
+ {0x00010a05, 0x00010a06, 1},
+ {0x00010a0c, 0x00010a13, 1},
+ {0x00010a15, 0x00010a17, 1},
+ {0x00010a19, 0x00010a33, 1},
+ {0x00010a38, 0x00010a3a, 1},
+ {0x00010a3f, 0x00010a47, 1},
+ {0x00010a50, 0x00010a58, 1},
+ {0x00010a60, 0x00010a7f, 1},
+ {0x00010b00, 0x00010b35, 1},
+ {0x00010b39, 0x00010b55, 1},
+ {0x00010b58, 0x00010b72, 1},
+ {0x00010b78, 0x00010b7f, 1},
+ {0x00010c00, 0x00010c48, 1},
+ {0x00010e60, 0x00010e7e, 1},
+ {0x00011000, 0x0001104d, 1},
+ {0x00011052, 0x0001106f, 1},
+ {0x00011080, 0x000110c1, 1},
+ {0x000110d0, 0x000110e8, 1},
+ {0x000110f0, 0x000110f9, 1},
+ {0x00011100, 0x00011134, 1},
+ {0x00011136, 0x00011143, 1},
+ {0x00011180, 0x000111c8, 1},
+ {0x000111d0, 0x000111d9, 1},
+ {0x00011680, 0x000116b7, 1},
+ {0x000116c0, 0x000116c9, 1},
+ {0x00012000, 0x0001236e, 1},
+ {0x00012400, 0x00012462, 1},
+ {0x00012470, 0x00012473, 1},
+ {0x00013000, 0x0001342e, 1},
+ {0x00016800, 0x00016a38, 1},
+ {0x00016f00, 0x00016f44, 1},
+ {0x00016f50, 0x00016f7e, 1},
+ {0x00016f8f, 0x00016f9f, 1},
+ {0x0001b000, 0x0001b001, 1},
+ {0x0001d000, 0x0001d0f5, 1},
+ {0x0001d100, 0x0001d126, 1},
+ {0x0001d129, 0x0001d1dd, 1},
+ {0x0001d200, 0x0001d245, 1},
+ {0x0001d300, 0x0001d356, 1},
+ {0x0001d360, 0x0001d371, 1},
+ {0x0001d400, 0x0001d454, 1},
+ {0x0001d456, 0x0001d49c, 1},
+ {0x0001d49e, 0x0001d49f, 1},
+ {0x0001d4a2, 0x0001d4a5, 3},
+ {0x0001d4a6, 0x0001d4a9, 3},
+ {0x0001d4aa, 0x0001d4ac, 1},
+ {0x0001d4ae, 0x0001d4b9, 1},
+ {0x0001d4bb, 0x0001d4bd, 2},
+ {0x0001d4be, 0x0001d4c3, 1},
+ {0x0001d4c5, 0x0001d505, 1},
+ {0x0001d507, 0x0001d50a, 1},
+ {0x0001d50d, 0x0001d514, 1},
+ {0x0001d516, 0x0001d51c, 1},
+ {0x0001d51e, 0x0001d539, 1},
+ {0x0001d53b, 0x0001d53e, 1},
+ {0x0001d540, 0x0001d544, 1},
+ {0x0001d546, 0x0001d54a, 4},
+ {0x0001d54b, 0x0001d550, 1},
+ {0x0001d552, 0x0001d6a5, 1},
+ {0x0001d6a8, 0x0001d7cb, 1},
+ {0x0001d7ce, 0x0001d7ff, 1},
+ {0x0001ee00, 0x0001ee03, 1},
+ {0x0001ee05, 0x0001ee1f, 1},
+ {0x0001ee21, 0x0001ee22, 1},
+ {0x0001ee24, 0x0001ee27, 3},
+ {0x0001ee29, 0x0001ee32, 1},
+ {0x0001ee34, 0x0001ee37, 1},
+ {0x0001ee39, 0x0001ee3b, 2},
+ {0x0001ee42, 0x0001ee47, 5},
+ {0x0001ee49, 0x0001ee4d, 2},
+ {0x0001ee4e, 0x0001ee4f, 1},
+ {0x0001ee51, 0x0001ee52, 1},
+ {0x0001ee54, 0x0001ee57, 3},
+ {0x0001ee59, 0x0001ee61, 2},
+ {0x0001ee62, 0x0001ee64, 2},
+ {0x0001ee67, 0x0001ee6a, 1},
+ {0x0001ee6c, 0x0001ee72, 1},
+ {0x0001ee74, 0x0001ee77, 1},
+ {0x0001ee79, 0x0001ee7c, 1},
+ {0x0001ee7e, 0x0001ee80, 2},
+ {0x0001ee81, 0x0001ee89, 1},
+ {0x0001ee8b, 0x0001ee9b, 1},
+ {0x0001eea1, 0x0001eea3, 1},
+ {0x0001eea5, 0x0001eea9, 1},
+ {0x0001eeab, 0x0001eebb, 1},
+ {0x0001eef0, 0x0001eef1, 1},
+ {0x0001f000, 0x0001f02b, 1},
+ {0x0001f030, 0x0001f093, 1},
+ {0x0001f0a0, 0x0001f0ae, 1},
+ {0x0001f0b1, 0x0001f0be, 1},
+ {0x0001f0c1, 0x0001f0cf, 1},
+ {0x0001f0d1, 0x0001f0df, 1},
+ {0x0001f100, 0x0001f10a, 1},
+ {0x0001f110, 0x0001f12e, 1},
+ {0x0001f130, 0x0001f16b, 1},
+ {0x0001f170, 0x0001f19a, 1},
+ {0x0001f1e6, 0x0001f202, 1},
+ {0x0001f210, 0x0001f23a, 1},
+ {0x0001f240, 0x0001f248, 1},
+ {0x0001f250, 0x0001f251, 1},
+ {0x0001f300, 0x0001f320, 1},
+ {0x0001f330, 0x0001f335, 1},
+ {0x0001f337, 0x0001f37c, 1},
+ {0x0001f380, 0x0001f393, 1},
+ {0x0001f3a0, 0x0001f3c4, 1},
+ {0x0001f3c6, 0x0001f3ca, 1},
+ {0x0001f3e0, 0x0001f3f0, 1},
+ {0x0001f400, 0x0001f43e, 1},
+ {0x0001f440, 0x0001f442, 2},
+ {0x0001f443, 0x0001f4f7, 1},
+ {0x0001f4f9, 0x0001f4fc, 1},
+ {0x0001f500, 0x0001f53d, 1},
+ {0x0001f540, 0x0001f543, 1},
+ {0x0001f550, 0x0001f567, 1},
+ {0x0001f5fb, 0x0001f640, 1},
+ {0x0001f645, 0x0001f64f, 1},
+ {0x0001f680, 0x0001f6c5, 1},
+ {0x0001f700, 0x0001f773, 1},
+ {0x00020000, 0x0002a6d6, 1},
+ {0x0002a700, 0x0002b734, 1},
+ {0x0002b740, 0x0002b81d, 1},
+ {0x0002f800, 0x0002fa1d, 1},
+ {0x000e0001, 0x000e0020, 31},
+ {0x000e0021, 0x000e007f, 1},
+ {0x000e0100, 0x000e01ef, 1},
+ {0x000f0000, 0x000ffffd, 1},
+ {0x00100000, 0x0010fffd, 1},
+ },
+ LatinOffset: 0,
+}
+
+// size 3812 bytes (3 KiB)
+var assigned6_0_0 = &unicode.RangeTable{
+ R16: []unicode.Range16{
+ {0x0000, 0x0377, 1},
+ {0x037a, 0x037e, 1},
+ {0x0384, 0x038a, 1},
+ {0x038c, 0x038e, 2},
+ {0x038f, 0x03a1, 1},
+ {0x03a3, 0x0527, 1},
+ {0x0531, 0x0556, 1},
+ {0x0559, 0x055f, 1},
+ {0x0561, 0x0587, 1},
+ {0x0589, 0x058a, 1},
+ {0x0591, 0x05c7, 1},
+ {0x05d0, 0x05ea, 1},
+ {0x05f0, 0x05f4, 1},
+ {0x0600, 0x0603, 1},
+ {0x0606, 0x061b, 1},
+ {0x061e, 0x070d, 1},
+ {0x070f, 0x074a, 1},
+ {0x074d, 0x07b1, 1},
+ {0x07c0, 0x07fa, 1},
+ {0x0800, 0x082d, 1},
+ {0x0830, 0x083e, 1},
+ {0x0840, 0x085b, 1},
+ {0x085e, 0x0900, 162},
+ {0x0901, 0x0977, 1},
+ {0x0979, 0x097f, 1},
+ {0x0981, 0x0983, 1},
+ {0x0985, 0x098c, 1},
+ {0x098f, 0x0990, 1},
+ {0x0993, 0x09a8, 1},
+ {0x09aa, 0x09b0, 1},
+ {0x09b2, 0x09b6, 4},
+ {0x09b7, 0x09b9, 1},
+ {0x09bc, 0x09c4, 1},
+ {0x09c7, 0x09c8, 1},
+ {0x09cb, 0x09ce, 1},
+ {0x09d7, 0x09dc, 5},
+ {0x09dd, 0x09df, 2},
+ {0x09e0, 0x09e3, 1},
+ {0x09e6, 0x09fb, 1},
+ {0x0a01, 0x0a03, 1},
+ {0x0a05, 0x0a0a, 1},
+ {0x0a0f, 0x0a10, 1},
+ {0x0a13, 0x0a28, 1},
+ {0x0a2a, 0x0a30, 1},
+ {0x0a32, 0x0a33, 1},
+ {0x0a35, 0x0a36, 1},
+ {0x0a38, 0x0a39, 1},
+ {0x0a3c, 0x0a3e, 2},
+ {0x0a3f, 0x0a42, 1},
+ {0x0a47, 0x0a48, 1},
+ {0x0a4b, 0x0a4d, 1},
+ {0x0a51, 0x0a59, 8},
+ {0x0a5a, 0x0a5c, 1},
+ {0x0a5e, 0x0a66, 8},
+ {0x0a67, 0x0a75, 1},
+ {0x0a81, 0x0a83, 1},
+ {0x0a85, 0x0a8d, 1},
+ {0x0a8f, 0x0a91, 1},
+ {0x0a93, 0x0aa8, 1},
+ {0x0aaa, 0x0ab0, 1},
+ {0x0ab2, 0x0ab3, 1},
+ {0x0ab5, 0x0ab9, 1},
+ {0x0abc, 0x0ac5, 1},
+ {0x0ac7, 0x0ac9, 1},
+ {0x0acb, 0x0acd, 1},
+ {0x0ad0, 0x0ae0, 16},
+ {0x0ae1, 0x0ae3, 1},
+ {0x0ae6, 0x0aef, 1},
+ {0x0af1, 0x0b01, 16},
+ {0x0b02, 0x0b03, 1},
+ {0x0b05, 0x0b0c, 1},
+ {0x0b0f, 0x0b10, 1},
+ {0x0b13, 0x0b28, 1},
+ {0x0b2a, 0x0b30, 1},
+ {0x0b32, 0x0b33, 1},
+ {0x0b35, 0x0b39, 1},
+ {0x0b3c, 0x0b44, 1},
+ {0x0b47, 0x0b48, 1},
+ {0x0b4b, 0x0b4d, 1},
+ {0x0b56, 0x0b57, 1},
+ {0x0b5c, 0x0b5d, 1},
+ {0x0b5f, 0x0b63, 1},
+ {0x0b66, 0x0b77, 1},
+ {0x0b82, 0x0b83, 1},
+ {0x0b85, 0x0b8a, 1},
+ {0x0b8e, 0x0b90, 1},
+ {0x0b92, 0x0b95, 1},
+ {0x0b99, 0x0b9a, 1},
+ {0x0b9c, 0x0b9e, 2},
+ {0x0b9f, 0x0ba3, 4},
+ {0x0ba4, 0x0ba8, 4},
+ {0x0ba9, 0x0baa, 1},
+ {0x0bae, 0x0bb9, 1},
+ {0x0bbe, 0x0bc2, 1},
+ {0x0bc6, 0x0bc8, 1},
+ {0x0bca, 0x0bcd, 1},
+ {0x0bd0, 0x0bd7, 7},
+ {0x0be6, 0x0bfa, 1},
+ {0x0c01, 0x0c03, 1},
+ {0x0c05, 0x0c0c, 1},
+ {0x0c0e, 0x0c10, 1},
+ {0x0c12, 0x0c28, 1},
+ {0x0c2a, 0x0c33, 1},
+ {0x0c35, 0x0c39, 1},
+ {0x0c3d, 0x0c44, 1},
+ {0x0c46, 0x0c48, 1},
+ {0x0c4a, 0x0c4d, 1},
+ {0x0c55, 0x0c56, 1},
+ {0x0c58, 0x0c59, 1},
+ {0x0c60, 0x0c63, 1},
+ {0x0c66, 0x0c6f, 1},
+ {0x0c78, 0x0c7f, 1},
+ {0x0c82, 0x0c83, 1},
+ {0x0c85, 0x0c8c, 1},
+ {0x0c8e, 0x0c90, 1},
+ {0x0c92, 0x0ca8, 1},
+ {0x0caa, 0x0cb3, 1},
+ {0x0cb5, 0x0cb9, 1},
+ {0x0cbc, 0x0cc4, 1},
+ {0x0cc6, 0x0cc8, 1},
+ {0x0cca, 0x0ccd, 1},
+ {0x0cd5, 0x0cd6, 1},
+ {0x0cde, 0x0ce0, 2},
+ {0x0ce1, 0x0ce3, 1},
+ {0x0ce6, 0x0cef, 1},
+ {0x0cf1, 0x0cf2, 1},
+ {0x0d02, 0x0d03, 1},
+ {0x0d05, 0x0d0c, 1},
+ {0x0d0e, 0x0d10, 1},
+ {0x0d12, 0x0d3a, 1},
+ {0x0d3d, 0x0d44, 1},
+ {0x0d46, 0x0d48, 1},
+ {0x0d4a, 0x0d4e, 1},
+ {0x0d57, 0x0d60, 9},
+ {0x0d61, 0x0d63, 1},
+ {0x0d66, 0x0d75, 1},
+ {0x0d79, 0x0d7f, 1},
+ {0x0d82, 0x0d83, 1},
+ {0x0d85, 0x0d96, 1},
+ {0x0d9a, 0x0db1, 1},
+ {0x0db3, 0x0dbb, 1},
+ {0x0dbd, 0x0dc0, 3},
+ {0x0dc1, 0x0dc6, 1},
+ {0x0dca, 0x0dcf, 5},
+ {0x0dd0, 0x0dd4, 1},
+ {0x0dd6, 0x0dd8, 2},
+ {0x0dd9, 0x0ddf, 1},
+ {0x0df2, 0x0df4, 1},
+ {0x0e01, 0x0e3a, 1},
+ {0x0e3f, 0x0e5b, 1},
+ {0x0e81, 0x0e82, 1},
+ {0x0e84, 0x0e87, 3},
+ {0x0e88, 0x0e8a, 2},
+ {0x0e8d, 0x0e94, 7},
+ {0x0e95, 0x0e97, 1},
+ {0x0e99, 0x0e9f, 1},
+ {0x0ea1, 0x0ea3, 1},
+ {0x0ea5, 0x0ea7, 2},
+ {0x0eaa, 0x0eab, 1},
+ {0x0ead, 0x0eb9, 1},
+ {0x0ebb, 0x0ebd, 1},
+ {0x0ec0, 0x0ec4, 1},
+ {0x0ec6, 0x0ec8, 2},
+ {0x0ec9, 0x0ecd, 1},
+ {0x0ed0, 0x0ed9, 1},
+ {0x0edc, 0x0edd, 1},
+ {0x0f00, 0x0f47, 1},
+ {0x0f49, 0x0f6c, 1},
+ {0x0f71, 0x0f97, 1},
+ {0x0f99, 0x0fbc, 1},
+ {0x0fbe, 0x0fcc, 1},
+ {0x0fce, 0x0fda, 1},
+ {0x1000, 0x10c5, 1},
+ {0x10d0, 0x10fc, 1},
+ {0x1100, 0x1248, 1},
+ {0x124a, 0x124d, 1},
+ {0x1250, 0x1256, 1},
+ {0x1258, 0x125a, 2},
+ {0x125b, 0x125d, 1},
+ {0x1260, 0x1288, 1},
+ {0x128a, 0x128d, 1},
+ {0x1290, 0x12b0, 1},
+ {0x12b2, 0x12b5, 1},
+ {0x12b8, 0x12be, 1},
+ {0x12c0, 0x12c2, 2},
+ {0x12c3, 0x12c5, 1},
+ {0x12c8, 0x12d6, 1},
+ {0x12d8, 0x1310, 1},
+ {0x1312, 0x1315, 1},
+ {0x1318, 0x135a, 1},
+ {0x135d, 0x137c, 1},
+ {0x1380, 0x1399, 1},
+ {0x13a0, 0x13f4, 1},
+ {0x1400, 0x169c, 1},
+ {0x16a0, 0x16f0, 1},
+ {0x1700, 0x170c, 1},
+ {0x170e, 0x1714, 1},
+ {0x1720, 0x1736, 1},
+ {0x1740, 0x1753, 1},
+ {0x1760, 0x176c, 1},
+ {0x176e, 0x1770, 1},
+ {0x1772, 0x1773, 1},
+ {0x1780, 0x17dd, 1},
+ {0x17e0, 0x17e9, 1},
+ {0x17f0, 0x17f9, 1},
+ {0x1800, 0x180e, 1},
+ {0x1810, 0x1819, 1},
+ {0x1820, 0x1877, 1},
+ {0x1880, 0x18aa, 1},
+ {0x18b0, 0x18f5, 1},
+ {0x1900, 0x191c, 1},
+ {0x1920, 0x192b, 1},
+ {0x1930, 0x193b, 1},
+ {0x1940, 0x1944, 4},
+ {0x1945, 0x196d, 1},
+ {0x1970, 0x1974, 1},
+ {0x1980, 0x19ab, 1},
+ {0x19b0, 0x19c9, 1},
+ {0x19d0, 0x19da, 1},
+ {0x19de, 0x1a1b, 1},
+ {0x1a1e, 0x1a5e, 1},
+ {0x1a60, 0x1a7c, 1},
+ {0x1a7f, 0x1a89, 1},
+ {0x1a90, 0x1a99, 1},
+ {0x1aa0, 0x1aad, 1},
+ {0x1b00, 0x1b4b, 1},
+ {0x1b50, 0x1b7c, 1},
+ {0x1b80, 0x1baa, 1},
+ {0x1bae, 0x1bb9, 1},
+ {0x1bc0, 0x1bf3, 1},
+ {0x1bfc, 0x1c37, 1},
+ {0x1c3b, 0x1c49, 1},
+ {0x1c4d, 0x1c7f, 1},
+ {0x1cd0, 0x1cf2, 1},
+ {0x1d00, 0x1de6, 1},
+ {0x1dfc, 0x1f15, 1},
+ {0x1f18, 0x1f1d, 1},
+ {0x1f20, 0x1f45, 1},
+ {0x1f48, 0x1f4d, 1},
+ {0x1f50, 0x1f57, 1},
+ {0x1f59, 0x1f5f, 2},
+ {0x1f60, 0x1f7d, 1},
+ {0x1f80, 0x1fb4, 1},
+ {0x1fb6, 0x1fc4, 1},
+ {0x1fc6, 0x1fd3, 1},
+ {0x1fd6, 0x1fdb, 1},
+ {0x1fdd, 0x1fef, 1},
+ {0x1ff2, 0x1ff4, 1},
+ {0x1ff6, 0x1ffe, 1},
+ {0x2000, 0x2064, 1},
+ {0x206a, 0x2071, 1},
+ {0x2074, 0x208e, 1},
+ {0x2090, 0x209c, 1},
+ {0x20a0, 0x20b9, 1},
+ {0x20d0, 0x20f0, 1},
+ {0x2100, 0x2189, 1},
+ {0x2190, 0x23f3, 1},
+ {0x2400, 0x2426, 1},
+ {0x2440, 0x244a, 1},
+ {0x2460, 0x26ff, 1},
+ {0x2701, 0x27ca, 1},
+ {0x27cc, 0x27ce, 2},
+ {0x27cf, 0x2b4c, 1},
+ {0x2b50, 0x2b59, 1},
+ {0x2c00, 0x2c2e, 1},
+ {0x2c30, 0x2c5e, 1},
+ {0x2c60, 0x2cf1, 1},
+ {0x2cf9, 0x2d25, 1},
+ {0x2d30, 0x2d65, 1},
+ {0x2d6f, 0x2d70, 1},
+ {0x2d7f, 0x2d96, 1},
+ {0x2da0, 0x2da6, 1},
+ {0x2da8, 0x2dae, 1},
+ {0x2db0, 0x2db6, 1},
+ {0x2db8, 0x2dbe, 1},
+ {0x2dc0, 0x2dc6, 1},
+ {0x2dc8, 0x2dce, 1},
+ {0x2dd0, 0x2dd6, 1},
+ {0x2dd8, 0x2dde, 1},
+ {0x2de0, 0x2e31, 1},
+ {0x2e80, 0x2e99, 1},
+ {0x2e9b, 0x2ef3, 1},
+ {0x2f00, 0x2fd5, 1},
+ {0x2ff0, 0x2ffb, 1},
+ {0x3000, 0x303f, 1},
+ {0x3041, 0x3096, 1},
+ {0x3099, 0x30ff, 1},
+ {0x3105, 0x312d, 1},
+ {0x3131, 0x318e, 1},
+ {0x3190, 0x31ba, 1},
+ {0x31c0, 0x31e3, 1},
+ {0x31f0, 0x321e, 1},
+ {0x3220, 0x32fe, 1},
+ {0x3300, 0x4db5, 1},
+ {0x4dc0, 0x9fcb, 1},
+ {0xa000, 0xa48c, 1},
+ {0xa490, 0xa4c6, 1},
+ {0xa4d0, 0xa62b, 1},
+ {0xa640, 0xa673, 1},
+ {0xa67c, 0xa697, 1},
+ {0xa6a0, 0xa6f7, 1},
+ {0xa700, 0xa78e, 1},
+ {0xa790, 0xa791, 1},
+ {0xa7a0, 0xa7a9, 1},
+ {0xa7fa, 0xa82b, 1},
+ {0xa830, 0xa839, 1},
+ {0xa840, 0xa877, 1},
+ {0xa880, 0xa8c4, 1},
+ {0xa8ce, 0xa8d9, 1},
+ {0xa8e0, 0xa8fb, 1},
+ {0xa900, 0xa953, 1},
+ {0xa95f, 0xa97c, 1},
+ {0xa980, 0xa9cd, 1},
+ {0xa9cf, 0xa9d9, 1},
+ {0xa9de, 0xa9df, 1},
+ {0xaa00, 0xaa36, 1},
+ {0xaa40, 0xaa4d, 1},
+ {0xaa50, 0xaa59, 1},
+ {0xaa5c, 0xaa7b, 1},
+ {0xaa80, 0xaac2, 1},
+ {0xaadb, 0xaadf, 1},
+ {0xab01, 0xab06, 1},
+ {0xab09, 0xab0e, 1},
+ {0xab11, 0xab16, 1},
+ {0xab20, 0xab26, 1},
+ {0xab28, 0xab2e, 1},
+ {0xabc0, 0xabed, 1},
+ {0xabf0, 0xabf9, 1},
+ {0xac00, 0xd7a3, 1},
+ {0xd7b0, 0xd7c6, 1},
+ {0xd7cb, 0xd7fb, 1},
+ {0xd800, 0xfa2d, 1},
+ {0xfa30, 0xfa6d, 1},
+ {0xfa70, 0xfad9, 1},
+ {0xfb00, 0xfb06, 1},
+ {0xfb13, 0xfb17, 1},
+ {0xfb1d, 0xfb36, 1},
+ {0xfb38, 0xfb3c, 1},
+ {0xfb3e, 0xfb40, 2},
+ {0xfb41, 0xfb43, 2},
+ {0xfb44, 0xfb46, 2},
+ {0xfb47, 0xfbc1, 1},
+ {0xfbd3, 0xfd3f, 1},
+ {0xfd50, 0xfd8f, 1},
+ {0xfd92, 0xfdc7, 1},
+ {0xfdf0, 0xfdfd, 1},
+ {0xfe00, 0xfe19, 1},
+ {0xfe20, 0xfe26, 1},
+ {0xfe30, 0xfe52, 1},
+ {0xfe54, 0xfe66, 1},
+ {0xfe68, 0xfe6b, 1},
+ {0xfe70, 0xfe74, 1},
+ {0xfe76, 0xfefc, 1},
+ {0xfeff, 0xff01, 2},
+ {0xff02, 0xffbe, 1},
+ {0xffc2, 0xffc7, 1},
+ {0xffca, 0xffcf, 1},
+ {0xffd2, 0xffd7, 1},
+ {0xffda, 0xffdc, 1},
+ {0xffe0, 0xffe6, 1},
+ {0xffe8, 0xffee, 1},
+ {0xfff9, 0xfffd, 1},
+ },
+ R32: []unicode.Range32{
+ {0x00010000, 0x0001000b, 1},
+ {0x0001000d, 0x00010026, 1},
+ {0x00010028, 0x0001003a, 1},
+ {0x0001003c, 0x0001003d, 1},
+ {0x0001003f, 0x0001004d, 1},
+ {0x00010050, 0x0001005d, 1},
+ {0x00010080, 0x000100fa, 1},
+ {0x00010100, 0x00010102, 1},
+ {0x00010107, 0x00010133, 1},
+ {0x00010137, 0x0001018a, 1},
+ {0x00010190, 0x0001019b, 1},
+ {0x000101d0, 0x000101fd, 1},
+ {0x00010280, 0x0001029c, 1},
+ {0x000102a0, 0x000102d0, 1},
+ {0x00010300, 0x0001031e, 1},
+ {0x00010320, 0x00010323, 1},
+ {0x00010330, 0x0001034a, 1},
+ {0x00010380, 0x0001039d, 1},
+ {0x0001039f, 0x000103c3, 1},
+ {0x000103c8, 0x000103d5, 1},
+ {0x00010400, 0x0001049d, 1},
+ {0x000104a0, 0x000104a9, 1},
+ {0x00010800, 0x00010805, 1},
+ {0x00010808, 0x0001080a, 2},
+ {0x0001080b, 0x00010835, 1},
+ {0x00010837, 0x00010838, 1},
+ {0x0001083c, 0x0001083f, 3},
+ {0x00010840, 0x00010855, 1},
+ {0x00010857, 0x0001085f, 1},
+ {0x00010900, 0x0001091b, 1},
+ {0x0001091f, 0x00010939, 1},
+ {0x0001093f, 0x00010a00, 193},
+ {0x00010a01, 0x00010a03, 1},
+ {0x00010a05, 0x00010a06, 1},
+ {0x00010a0c, 0x00010a13, 1},
+ {0x00010a15, 0x00010a17, 1},
+ {0x00010a19, 0x00010a33, 1},
+ {0x00010a38, 0x00010a3a, 1},
+ {0x00010a3f, 0x00010a47, 1},
+ {0x00010a50, 0x00010a58, 1},
+ {0x00010a60, 0x00010a7f, 1},
+ {0x00010b00, 0x00010b35, 1},
+ {0x00010b39, 0x00010b55, 1},
+ {0x00010b58, 0x00010b72, 1},
+ {0x00010b78, 0x00010b7f, 1},
+ {0x00010c00, 0x00010c48, 1},
+ {0x00010e60, 0x00010e7e, 1},
+ {0x00011000, 0x0001104d, 1},
+ {0x00011052, 0x0001106f, 1},
+ {0x00011080, 0x000110c1, 1},
+ {0x00012000, 0x0001236e, 1},
+ {0x00012400, 0x00012462, 1},
+ {0x00012470, 0x00012473, 1},
+ {0x00013000, 0x0001342e, 1},
+ {0x00016800, 0x00016a38, 1},
+ {0x0001b000, 0x0001b001, 1},
+ {0x0001d000, 0x0001d0f5, 1},
+ {0x0001d100, 0x0001d126, 1},
+ {0x0001d129, 0x0001d1dd, 1},
+ {0x0001d200, 0x0001d245, 1},
+ {0x0001d300, 0x0001d356, 1},
+ {0x0001d360, 0x0001d371, 1},
+ {0x0001d400, 0x0001d454, 1},
+ {0x0001d456, 0x0001d49c, 1},
+ {0x0001d49e, 0x0001d49f, 1},
+ {0x0001d4a2, 0x0001d4a5, 3},
+ {0x0001d4a6, 0x0001d4a9, 3},
+ {0x0001d4aa, 0x0001d4ac, 1},
+ {0x0001d4ae, 0x0001d4b9, 1},
+ {0x0001d4bb, 0x0001d4bd, 2},
+ {0x0001d4be, 0x0001d4c3, 1},
+ {0x0001d4c5, 0x0001d505, 1},
+ {0x0001d507, 0x0001d50a, 1},
+ {0x0001d50d, 0x0001d514, 1},
+ {0x0001d516, 0x0001d51c, 1},
+ {0x0001d51e, 0x0001d539, 1},
+ {0x0001d53b, 0x0001d53e, 1},
+ {0x0001d540, 0x0001d544, 1},
+ {0x0001d546, 0x0001d54a, 4},
+ {0x0001d54b, 0x0001d550, 1},
+ {0x0001d552, 0x0001d6a5, 1},
+ {0x0001d6a8, 0x0001d7cb, 1},
+ {0x0001d7ce, 0x0001d7ff, 1},
+ {0x0001f000, 0x0001f02b, 1},
+ {0x0001f030, 0x0001f093, 1},
+ {0x0001f0a0, 0x0001f0ae, 1},
+ {0x0001f0b1, 0x0001f0be, 1},
+ {0x0001f0c1, 0x0001f0cf, 1},
+ {0x0001f0d1, 0x0001f0df, 1},
+ {0x0001f100, 0x0001f10a, 1},
+ {0x0001f110, 0x0001f12e, 1},
+ {0x0001f130, 0x0001f169, 1},
+ {0x0001f170, 0x0001f19a, 1},
+ {0x0001f1e6, 0x0001f202, 1},
+ {0x0001f210, 0x0001f23a, 1},
+ {0x0001f240, 0x0001f248, 1},
+ {0x0001f250, 0x0001f251, 1},
+ {0x0001f300, 0x0001f320, 1},
+ {0x0001f330, 0x0001f335, 1},
+ {0x0001f337, 0x0001f37c, 1},
+ {0x0001f380, 0x0001f393, 1},
+ {0x0001f3a0, 0x0001f3c4, 1},
+ {0x0001f3c6, 0x0001f3ca, 1},
+ {0x0001f3e0, 0x0001f3f0, 1},
+ {0x0001f400, 0x0001f43e, 1},
+ {0x0001f440, 0x0001f442, 2},
+ {0x0001f443, 0x0001f4f7, 1},
+ {0x0001f4f9, 0x0001f4fc, 1},
+ {0x0001f500, 0x0001f53d, 1},
+ {0x0001f550, 0x0001f567, 1},
+ {0x0001f5fb, 0x0001f5ff, 1},
+ {0x0001f601, 0x0001f610, 1},
+ {0x0001f612, 0x0001f614, 1},
+ {0x0001f616, 0x0001f61c, 2},
+ {0x0001f61d, 0x0001f61e, 1},
+ {0x0001f620, 0x0001f625, 1},
+ {0x0001f628, 0x0001f62b, 1},
+ {0x0001f62d, 0x0001f630, 3},
+ {0x0001f631, 0x0001f633, 1},
+ {0x0001f635, 0x0001f640, 1},
+ {0x0001f645, 0x0001f64f, 1},
+ {0x0001f680, 0x0001f6c5, 1},
+ {0x0001f700, 0x0001f773, 1},
+ {0x00020000, 0x0002a6d6, 1},
+ {0x0002a700, 0x0002b734, 1},
+ {0x0002b740, 0x0002b81d, 1},
+ {0x0002f800, 0x0002fa1d, 1},
+ {0x000e0001, 0x000e0020, 31},
+ {0x000e0021, 0x000e007f, 1},
+ {0x000e0100, 0x000e01ef, 1},
+ {0x000f0000, 0x000ffffd, 1},
+ {0x00100000, 0x0010fffd, 1},
+ },
+ LatinOffset: 0,
+}
+
+// size 4898 bytes (4 KiB)
+var assigned7_0_0 = &unicode.RangeTable{
+ R16: []unicode.Range16{
+ {0x0000, 0x0377, 1},
+ {0x037a, 0x037f, 1},
+ {0x0384, 0x038a, 1},
+ {0x038c, 0x038e, 2},
+ {0x038f, 0x03a1, 1},
+ {0x03a3, 0x052f, 1},
+ {0x0531, 0x0556, 1},
+ {0x0559, 0x055f, 1},
+ {0x0561, 0x0587, 1},
+ {0x0589, 0x058a, 1},
+ {0x058d, 0x058f, 1},
+ {0x0591, 0x05c7, 1},
+ {0x05d0, 0x05ea, 1},
+ {0x05f0, 0x05f4, 1},
+ {0x0600, 0x061c, 1},
+ {0x061e, 0x070d, 1},
+ {0x070f, 0x074a, 1},
+ {0x074d, 0x07b1, 1},
+ {0x07c0, 0x07fa, 1},
+ {0x0800, 0x082d, 1},
+ {0x0830, 0x083e, 1},
+ {0x0840, 0x085b, 1},
+ {0x085e, 0x08a0, 66},
+ {0x08a1, 0x08b2, 1},
+ {0x08e4, 0x0983, 1},
+ {0x0985, 0x098c, 1},
+ {0x098f, 0x0990, 1},
+ {0x0993, 0x09a8, 1},
+ {0x09aa, 0x09b0, 1},
+ {0x09b2, 0x09b6, 4},
+ {0x09b7, 0x09b9, 1},
+ {0x09bc, 0x09c4, 1},
+ {0x09c7, 0x09c8, 1},
+ {0x09cb, 0x09ce, 1},
+ {0x09d7, 0x09dc, 5},
+ {0x09dd, 0x09df, 2},
+ {0x09e0, 0x09e3, 1},
+ {0x09e6, 0x09fb, 1},
+ {0x0a01, 0x0a03, 1},
+ {0x0a05, 0x0a0a, 1},
+ {0x0a0f, 0x0a10, 1},
+ {0x0a13, 0x0a28, 1},
+ {0x0a2a, 0x0a30, 1},
+ {0x0a32, 0x0a33, 1},
+ {0x0a35, 0x0a36, 1},
+ {0x0a38, 0x0a39, 1},
+ {0x0a3c, 0x0a3e, 2},
+ {0x0a3f, 0x0a42, 1},
+ {0x0a47, 0x0a48, 1},
+ {0x0a4b, 0x0a4d, 1},
+ {0x0a51, 0x0a59, 8},
+ {0x0a5a, 0x0a5c, 1},
+ {0x0a5e, 0x0a66, 8},
+ {0x0a67, 0x0a75, 1},
+ {0x0a81, 0x0a83, 1},
+ {0x0a85, 0x0a8d, 1},
+ {0x0a8f, 0x0a91, 1},
+ {0x0a93, 0x0aa8, 1},
+ {0x0aaa, 0x0ab0, 1},
+ {0x0ab2, 0x0ab3, 1},
+ {0x0ab5, 0x0ab9, 1},
+ {0x0abc, 0x0ac5, 1},
+ {0x0ac7, 0x0ac9, 1},
+ {0x0acb, 0x0acd, 1},
+ {0x0ad0, 0x0ae0, 16},
+ {0x0ae1, 0x0ae3, 1},
+ {0x0ae6, 0x0af1, 1},
+ {0x0b01, 0x0b03, 1},
+ {0x0b05, 0x0b0c, 1},
+ {0x0b0f, 0x0b10, 1},
+ {0x0b13, 0x0b28, 1},
+ {0x0b2a, 0x0b30, 1},
+ {0x0b32, 0x0b33, 1},
+ {0x0b35, 0x0b39, 1},
+ {0x0b3c, 0x0b44, 1},
+ {0x0b47, 0x0b48, 1},
+ {0x0b4b, 0x0b4d, 1},
+ {0x0b56, 0x0b57, 1},
+ {0x0b5c, 0x0b5d, 1},
+ {0x0b5f, 0x0b63, 1},
+ {0x0b66, 0x0b77, 1},
+ {0x0b82, 0x0b83, 1},
+ {0x0b85, 0x0b8a, 1},
+ {0x0b8e, 0x0b90, 1},
+ {0x0b92, 0x0b95, 1},
+ {0x0b99, 0x0b9a, 1},
+ {0x0b9c, 0x0b9e, 2},
+ {0x0b9f, 0x0ba3, 4},
+ {0x0ba4, 0x0ba8, 4},
+ {0x0ba9, 0x0baa, 1},
+ {0x0bae, 0x0bb9, 1},
+ {0x0bbe, 0x0bc2, 1},
+ {0x0bc6, 0x0bc8, 1},
+ {0x0bca, 0x0bcd, 1},
+ {0x0bd0, 0x0bd7, 7},
+ {0x0be6, 0x0bfa, 1},
+ {0x0c00, 0x0c03, 1},
+ {0x0c05, 0x0c0c, 1},
+ {0x0c0e, 0x0c10, 1},
+ {0x0c12, 0x0c28, 1},
+ {0x0c2a, 0x0c39, 1},
+ {0x0c3d, 0x0c44, 1},
+ {0x0c46, 0x0c48, 1},
+ {0x0c4a, 0x0c4d, 1},
+ {0x0c55, 0x0c56, 1},
+ {0x0c58, 0x0c59, 1},
+ {0x0c60, 0x0c63, 1},
+ {0x0c66, 0x0c6f, 1},
+ {0x0c78, 0x0c7f, 1},
+ {0x0c81, 0x0c83, 1},
+ {0x0c85, 0x0c8c, 1},
+ {0x0c8e, 0x0c90, 1},
+ {0x0c92, 0x0ca8, 1},
+ {0x0caa, 0x0cb3, 1},
+ {0x0cb5, 0x0cb9, 1},
+ {0x0cbc, 0x0cc4, 1},
+ {0x0cc6, 0x0cc8, 1},
+ {0x0cca, 0x0ccd, 1},
+ {0x0cd5, 0x0cd6, 1},
+ {0x0cde, 0x0ce0, 2},
+ {0x0ce1, 0x0ce3, 1},
+ {0x0ce6, 0x0cef, 1},
+ {0x0cf1, 0x0cf2, 1},
+ {0x0d01, 0x0d03, 1},
+ {0x0d05, 0x0d0c, 1},
+ {0x0d0e, 0x0d10, 1},
+ {0x0d12, 0x0d3a, 1},
+ {0x0d3d, 0x0d44, 1},
+ {0x0d46, 0x0d48, 1},
+ {0x0d4a, 0x0d4e, 1},
+ {0x0d57, 0x0d60, 9},
+ {0x0d61, 0x0d63, 1},
+ {0x0d66, 0x0d75, 1},
+ {0x0d79, 0x0d7f, 1},
+ {0x0d82, 0x0d83, 1},
+ {0x0d85, 0x0d96, 1},
+ {0x0d9a, 0x0db1, 1},
+ {0x0db3, 0x0dbb, 1},
+ {0x0dbd, 0x0dc0, 3},
+ {0x0dc1, 0x0dc6, 1},
+ {0x0dca, 0x0dcf, 5},
+ {0x0dd0, 0x0dd4, 1},
+ {0x0dd6, 0x0dd8, 2},
+ {0x0dd9, 0x0ddf, 1},
+ {0x0de6, 0x0def, 1},
+ {0x0df2, 0x0df4, 1},
+ {0x0e01, 0x0e3a, 1},
+ {0x0e3f, 0x0e5b, 1},
+ {0x0e81, 0x0e82, 1},
+ {0x0e84, 0x0e87, 3},
+ {0x0e88, 0x0e8a, 2},
+ {0x0e8d, 0x0e94, 7},
+ {0x0e95, 0x0e97, 1},
+ {0x0e99, 0x0e9f, 1},
+ {0x0ea1, 0x0ea3, 1},
+ {0x0ea5, 0x0ea7, 2},
+ {0x0eaa, 0x0eab, 1},
+ {0x0ead, 0x0eb9, 1},
+ {0x0ebb, 0x0ebd, 1},
+ {0x0ec0, 0x0ec4, 1},
+ {0x0ec6, 0x0ec8, 2},
+ {0x0ec9, 0x0ecd, 1},
+ {0x0ed0, 0x0ed9, 1},
+ {0x0edc, 0x0edf, 1},
+ {0x0f00, 0x0f47, 1},
+ {0x0f49, 0x0f6c, 1},
+ {0x0f71, 0x0f97, 1},
+ {0x0f99, 0x0fbc, 1},
+ {0x0fbe, 0x0fcc, 1},
+ {0x0fce, 0x0fda, 1},
+ {0x1000, 0x10c5, 1},
+ {0x10c7, 0x10cd, 6},
+ {0x10d0, 0x1248, 1},
+ {0x124a, 0x124d, 1},
+ {0x1250, 0x1256, 1},
+ {0x1258, 0x125a, 2},
+ {0x125b, 0x125d, 1},
+ {0x1260, 0x1288, 1},
+ {0x128a, 0x128d, 1},
+ {0x1290, 0x12b0, 1},
+ {0x12b2, 0x12b5, 1},
+ {0x12b8, 0x12be, 1},
+ {0x12c0, 0x12c2, 2},
+ {0x12c3, 0x12c5, 1},
+ {0x12c8, 0x12d6, 1},
+ {0x12d8, 0x1310, 1},
+ {0x1312, 0x1315, 1},
+ {0x1318, 0x135a, 1},
+ {0x135d, 0x137c, 1},
+ {0x1380, 0x1399, 1},
+ {0x13a0, 0x13f4, 1},
+ {0x1400, 0x169c, 1},
+ {0x16a0, 0x16f8, 1},
+ {0x1700, 0x170c, 1},
+ {0x170e, 0x1714, 1},
+ {0x1720, 0x1736, 1},
+ {0x1740, 0x1753, 1},
+ {0x1760, 0x176c, 1},
+ {0x176e, 0x1770, 1},
+ {0x1772, 0x1773, 1},
+ {0x1780, 0x17dd, 1},
+ {0x17e0, 0x17e9, 1},
+ {0x17f0, 0x17f9, 1},
+ {0x1800, 0x180e, 1},
+ {0x1810, 0x1819, 1},
+ {0x1820, 0x1877, 1},
+ {0x1880, 0x18aa, 1},
+ {0x18b0, 0x18f5, 1},
+ {0x1900, 0x191e, 1},
+ {0x1920, 0x192b, 1},
+ {0x1930, 0x193b, 1},
+ {0x1940, 0x1944, 4},
+ {0x1945, 0x196d, 1},
+ {0x1970, 0x1974, 1},
+ {0x1980, 0x19ab, 1},
+ {0x19b0, 0x19c9, 1},
+ {0x19d0, 0x19da, 1},
+ {0x19de, 0x1a1b, 1},
+ {0x1a1e, 0x1a5e, 1},
+ {0x1a60, 0x1a7c, 1},
+ {0x1a7f, 0x1a89, 1},
+ {0x1a90, 0x1a99, 1},
+ {0x1aa0, 0x1aad, 1},
+ {0x1ab0, 0x1abe, 1},
+ {0x1b00, 0x1b4b, 1},
+ {0x1b50, 0x1b7c, 1},
+ {0x1b80, 0x1bf3, 1},
+ {0x1bfc, 0x1c37, 1},
+ {0x1c3b, 0x1c49, 1},
+ {0x1c4d, 0x1c7f, 1},
+ {0x1cc0, 0x1cc7, 1},
+ {0x1cd0, 0x1cf6, 1},
+ {0x1cf8, 0x1cf9, 1},
+ {0x1d00, 0x1df5, 1},
+ {0x1dfc, 0x1f15, 1},
+ {0x1f18, 0x1f1d, 1},
+ {0x1f20, 0x1f45, 1},
+ {0x1f48, 0x1f4d, 1},
+ {0x1f50, 0x1f57, 1},
+ {0x1f59, 0x1f5f, 2},
+ {0x1f60, 0x1f7d, 1},
+ {0x1f80, 0x1fb4, 1},
+ {0x1fb6, 0x1fc4, 1},
+ {0x1fc6, 0x1fd3, 1},
+ {0x1fd6, 0x1fdb, 1},
+ {0x1fdd, 0x1fef, 1},
+ {0x1ff2, 0x1ff4, 1},
+ {0x1ff6, 0x1ffe, 1},
+ {0x2000, 0x2064, 1},
+ {0x2066, 0x2071, 1},
+ {0x2074, 0x208e, 1},
+ {0x2090, 0x209c, 1},
+ {0x20a0, 0x20bd, 1},
+ {0x20d0, 0x20f0, 1},
+ {0x2100, 0x2189, 1},
+ {0x2190, 0x23fa, 1},
+ {0x2400, 0x2426, 1},
+ {0x2440, 0x244a, 1},
+ {0x2460, 0x2b73, 1},
+ {0x2b76, 0x2b95, 1},
+ {0x2b98, 0x2bb9, 1},
+ {0x2bbd, 0x2bc8, 1},
+ {0x2bca, 0x2bd1, 1},
+ {0x2c00, 0x2c2e, 1},
+ {0x2c30, 0x2c5e, 1},
+ {0x2c60, 0x2cf3, 1},
+ {0x2cf9, 0x2d25, 1},
+ {0x2d27, 0x2d2d, 6},
+ {0x2d30, 0x2d67, 1},
+ {0x2d6f, 0x2d70, 1},
+ {0x2d7f, 0x2d96, 1},
+ {0x2da0, 0x2da6, 1},
+ {0x2da8, 0x2dae, 1},
+ {0x2db0, 0x2db6, 1},
+ {0x2db8, 0x2dbe, 1},
+ {0x2dc0, 0x2dc6, 1},
+ {0x2dc8, 0x2dce, 1},
+ {0x2dd0, 0x2dd6, 1},
+ {0x2dd8, 0x2dde, 1},
+ {0x2de0, 0x2e42, 1},
+ {0x2e80, 0x2e99, 1},
+ {0x2e9b, 0x2ef3, 1},
+ {0x2f00, 0x2fd5, 1},
+ {0x2ff0, 0x2ffb, 1},
+ {0x3000, 0x303f, 1},
+ {0x3041, 0x3096, 1},
+ {0x3099, 0x30ff, 1},
+ {0x3105, 0x312d, 1},
+ {0x3131, 0x318e, 1},
+ {0x3190, 0x31ba, 1},
+ {0x31c0, 0x31e3, 1},
+ {0x31f0, 0x321e, 1},
+ {0x3220, 0x32fe, 1},
+ {0x3300, 0x4db5, 1},
+ {0x4dc0, 0x9fcc, 1},
+ {0xa000, 0xa48c, 1},
+ {0xa490, 0xa4c6, 1},
+ {0xa4d0, 0xa62b, 1},
+ {0xa640, 0xa69d, 1},
+ {0xa69f, 0xa6f7, 1},
+ {0xa700, 0xa78e, 1},
+ {0xa790, 0xa7ad, 1},
+ {0xa7b0, 0xa7b1, 1},
+ {0xa7f7, 0xa82b, 1},
+ {0xa830, 0xa839, 1},
+ {0xa840, 0xa877, 1},
+ {0xa880, 0xa8c4, 1},
+ {0xa8ce, 0xa8d9, 1},
+ {0xa8e0, 0xa8fb, 1},
+ {0xa900, 0xa953, 1},
+ {0xa95f, 0xa97c, 1},
+ {0xa980, 0xa9cd, 1},
+ {0xa9cf, 0xa9d9, 1},
+ {0xa9de, 0xa9fe, 1},
+ {0xaa00, 0xaa36, 1},
+ {0xaa40, 0xaa4d, 1},
+ {0xaa50, 0xaa59, 1},
+ {0xaa5c, 0xaac2, 1},
+ {0xaadb, 0xaaf6, 1},
+ {0xab01, 0xab06, 1},
+ {0xab09, 0xab0e, 1},
+ {0xab11, 0xab16, 1},
+ {0xab20, 0xab26, 1},
+ {0xab28, 0xab2e, 1},
+ {0xab30, 0xab5f, 1},
+ {0xab64, 0xab65, 1},
+ {0xabc0, 0xabed, 1},
+ {0xabf0, 0xabf9, 1},
+ {0xac00, 0xd7a3, 1},
+ {0xd7b0, 0xd7c6, 1},
+ {0xd7cb, 0xd7fb, 1},
+ {0xd800, 0xfa6d, 1},
+ {0xfa70, 0xfad9, 1},
+ {0xfb00, 0xfb06, 1},
+ {0xfb13, 0xfb17, 1},
+ {0xfb1d, 0xfb36, 1},
+ {0xfb38, 0xfb3c, 1},
+ {0xfb3e, 0xfb40, 2},
+ {0xfb41, 0xfb43, 2},
+ {0xfb44, 0xfb46, 2},
+ {0xfb47, 0xfbc1, 1},
+ {0xfbd3, 0xfd3f, 1},
+ {0xfd50, 0xfd8f, 1},
+ {0xfd92, 0xfdc7, 1},
+ {0xfdf0, 0xfdfd, 1},
+ {0xfe00, 0xfe19, 1},
+ {0xfe20, 0xfe2d, 1},
+ {0xfe30, 0xfe52, 1},
+ {0xfe54, 0xfe66, 1},
+ {0xfe68, 0xfe6b, 1},
+ {0xfe70, 0xfe74, 1},
+ {0xfe76, 0xfefc, 1},
+ {0xfeff, 0xff01, 2},
+ {0xff02, 0xffbe, 1},
+ {0xffc2, 0xffc7, 1},
+ {0xffca, 0xffcf, 1},
+ {0xffd2, 0xffd7, 1},
+ {0xffda, 0xffdc, 1},
+ {0xffe0, 0xffe6, 1},
+ {0xffe8, 0xffee, 1},
+ {0xfff9, 0xfffd, 1},
+ },
+ R32: []unicode.Range32{
+ {0x00010000, 0x0001000b, 1},
+ {0x0001000d, 0x00010026, 1},
+ {0x00010028, 0x0001003a, 1},
+ {0x0001003c, 0x0001003d, 1},
+ {0x0001003f, 0x0001004d, 1},
+ {0x00010050, 0x0001005d, 1},
+ {0x00010080, 0x000100fa, 1},
+ {0x00010100, 0x00010102, 1},
+ {0x00010107, 0x00010133, 1},
+ {0x00010137, 0x0001018c, 1},
+ {0x00010190, 0x0001019b, 1},
+ {0x000101a0, 0x000101d0, 48},
+ {0x000101d1, 0x000101fd, 1},
+ {0x00010280, 0x0001029c, 1},
+ {0x000102a0, 0x000102d0, 1},
+ {0x000102e0, 0x000102fb, 1},
+ {0x00010300, 0x00010323, 1},
+ {0x00010330, 0x0001034a, 1},
+ {0x00010350, 0x0001037a, 1},
+ {0x00010380, 0x0001039d, 1},
+ {0x0001039f, 0x000103c3, 1},
+ {0x000103c8, 0x000103d5, 1},
+ {0x00010400, 0x0001049d, 1},
+ {0x000104a0, 0x000104a9, 1},
+ {0x00010500, 0x00010527, 1},
+ {0x00010530, 0x00010563, 1},
+ {0x0001056f, 0x00010600, 145},
+ {0x00010601, 0x00010736, 1},
+ {0x00010740, 0x00010755, 1},
+ {0x00010760, 0x00010767, 1},
+ {0x00010800, 0x00010805, 1},
+ {0x00010808, 0x0001080a, 2},
+ {0x0001080b, 0x00010835, 1},
+ {0x00010837, 0x00010838, 1},
+ {0x0001083c, 0x0001083f, 3},
+ {0x00010840, 0x00010855, 1},
+ {0x00010857, 0x0001089e, 1},
+ {0x000108a7, 0x000108af, 1},
+ {0x00010900, 0x0001091b, 1},
+ {0x0001091f, 0x00010939, 1},
+ {0x0001093f, 0x00010980, 65},
+ {0x00010981, 0x000109b7, 1},
+ {0x000109be, 0x000109bf, 1},
+ {0x00010a00, 0x00010a03, 1},
+ {0x00010a05, 0x00010a06, 1},
+ {0x00010a0c, 0x00010a13, 1},
+ {0x00010a15, 0x00010a17, 1},
+ {0x00010a19, 0x00010a33, 1},
+ {0x00010a38, 0x00010a3a, 1},
+ {0x00010a3f, 0x00010a47, 1},
+ {0x00010a50, 0x00010a58, 1},
+ {0x00010a60, 0x00010a9f, 1},
+ {0x00010ac0, 0x00010ae6, 1},
+ {0x00010aeb, 0x00010af6, 1},
+ {0x00010b00, 0x00010b35, 1},
+ {0x00010b39, 0x00010b55, 1},
+ {0x00010b58, 0x00010b72, 1},
+ {0x00010b78, 0x00010b91, 1},
+ {0x00010b99, 0x00010b9c, 1},
+ {0x00010ba9, 0x00010baf, 1},
+ {0x00010c00, 0x00010c48, 1},
+ {0x00010e60, 0x00010e7e, 1},
+ {0x00011000, 0x0001104d, 1},
+ {0x00011052, 0x0001106f, 1},
+ {0x0001107f, 0x000110c1, 1},
+ {0x000110d0, 0x000110e8, 1},
+ {0x000110f0, 0x000110f9, 1},
+ {0x00011100, 0x00011134, 1},
+ {0x00011136, 0x00011143, 1},
+ {0x00011150, 0x00011176, 1},
+ {0x00011180, 0x000111c8, 1},
+ {0x000111cd, 0x000111d0, 3},
+ {0x000111d1, 0x000111da, 1},
+ {0x000111e1, 0x000111f4, 1},
+ {0x00011200, 0x00011211, 1},
+ {0x00011213, 0x0001123d, 1},
+ {0x000112b0, 0x000112ea, 1},
+ {0x000112f0, 0x000112f9, 1},
+ {0x00011301, 0x00011303, 1},
+ {0x00011305, 0x0001130c, 1},
+ {0x0001130f, 0x00011310, 1},
+ {0x00011313, 0x00011328, 1},
+ {0x0001132a, 0x00011330, 1},
+ {0x00011332, 0x00011333, 1},
+ {0x00011335, 0x00011339, 1},
+ {0x0001133c, 0x00011344, 1},
+ {0x00011347, 0x00011348, 1},
+ {0x0001134b, 0x0001134d, 1},
+ {0x00011357, 0x0001135d, 6},
+ {0x0001135e, 0x00011363, 1},
+ {0x00011366, 0x0001136c, 1},
+ {0x00011370, 0x00011374, 1},
+ {0x00011480, 0x000114c7, 1},
+ {0x000114d0, 0x000114d9, 1},
+ {0x00011580, 0x000115b5, 1},
+ {0x000115b8, 0x000115c9, 1},
+ {0x00011600, 0x00011644, 1},
+ {0x00011650, 0x00011659, 1},
+ {0x00011680, 0x000116b7, 1},
+ {0x000116c0, 0x000116c9, 1},
+ {0x000118a0, 0x000118f2, 1},
+ {0x000118ff, 0x00011ac0, 449},
+ {0x00011ac1, 0x00011af8, 1},
+ {0x00012000, 0x00012398, 1},
+ {0x00012400, 0x0001246e, 1},
+ {0x00012470, 0x00012474, 1},
+ {0x00013000, 0x0001342e, 1},
+ {0x00016800, 0x00016a38, 1},
+ {0x00016a40, 0x00016a5e, 1},
+ {0x00016a60, 0x00016a69, 1},
+ {0x00016a6e, 0x00016a6f, 1},
+ {0x00016ad0, 0x00016aed, 1},
+ {0x00016af0, 0x00016af5, 1},
+ {0x00016b00, 0x00016b45, 1},
+ {0x00016b50, 0x00016b59, 1},
+ {0x00016b5b, 0x00016b61, 1},
+ {0x00016b63, 0x00016b77, 1},
+ {0x00016b7d, 0x00016b8f, 1},
+ {0x00016f00, 0x00016f44, 1},
+ {0x00016f50, 0x00016f7e, 1},
+ {0x00016f8f, 0x00016f9f, 1},
+ {0x0001b000, 0x0001b001, 1},
+ {0x0001bc00, 0x0001bc6a, 1},
+ {0x0001bc70, 0x0001bc7c, 1},
+ {0x0001bc80, 0x0001bc88, 1},
+ {0x0001bc90, 0x0001bc99, 1},
+ {0x0001bc9c, 0x0001bca3, 1},
+ {0x0001d000, 0x0001d0f5, 1},
+ {0x0001d100, 0x0001d126, 1},
+ {0x0001d129, 0x0001d1dd, 1},
+ {0x0001d200, 0x0001d245, 1},
+ {0x0001d300, 0x0001d356, 1},
+ {0x0001d360, 0x0001d371, 1},
+ {0x0001d400, 0x0001d454, 1},
+ {0x0001d456, 0x0001d49c, 1},
+ {0x0001d49e, 0x0001d49f, 1},
+ {0x0001d4a2, 0x0001d4a5, 3},
+ {0x0001d4a6, 0x0001d4a9, 3},
+ {0x0001d4aa, 0x0001d4ac, 1},
+ {0x0001d4ae, 0x0001d4b9, 1},
+ {0x0001d4bb, 0x0001d4bd, 2},
+ {0x0001d4be, 0x0001d4c3, 1},
+ {0x0001d4c5, 0x0001d505, 1},
+ {0x0001d507, 0x0001d50a, 1},
+ {0x0001d50d, 0x0001d514, 1},
+ {0x0001d516, 0x0001d51c, 1},
+ {0x0001d51e, 0x0001d539, 1},
+ {0x0001d53b, 0x0001d53e, 1},
+ {0x0001d540, 0x0001d544, 1},
+ {0x0001d546, 0x0001d54a, 4},
+ {0x0001d54b, 0x0001d550, 1},
+ {0x0001d552, 0x0001d6a5, 1},
+ {0x0001d6a8, 0x0001d7cb, 1},
+ {0x0001d7ce, 0x0001d7ff, 1},
+ {0x0001e800, 0x0001e8c4, 1},
+ {0x0001e8c7, 0x0001e8d6, 1},
+ {0x0001ee00, 0x0001ee03, 1},
+ {0x0001ee05, 0x0001ee1f, 1},
+ {0x0001ee21, 0x0001ee22, 1},
+ {0x0001ee24, 0x0001ee27, 3},
+ {0x0001ee29, 0x0001ee32, 1},
+ {0x0001ee34, 0x0001ee37, 1},
+ {0x0001ee39, 0x0001ee3b, 2},
+ {0x0001ee42, 0x0001ee47, 5},
+ {0x0001ee49, 0x0001ee4d, 2},
+ {0x0001ee4e, 0x0001ee4f, 1},
+ {0x0001ee51, 0x0001ee52, 1},
+ {0x0001ee54, 0x0001ee57, 3},
+ {0x0001ee59, 0x0001ee61, 2},
+ {0x0001ee62, 0x0001ee64, 2},
+ {0x0001ee67, 0x0001ee6a, 1},
+ {0x0001ee6c, 0x0001ee72, 1},
+ {0x0001ee74, 0x0001ee77, 1},
+ {0x0001ee79, 0x0001ee7c, 1},
+ {0x0001ee7e, 0x0001ee80, 2},
+ {0x0001ee81, 0x0001ee89, 1},
+ {0x0001ee8b, 0x0001ee9b, 1},
+ {0x0001eea1, 0x0001eea3, 1},
+ {0x0001eea5, 0x0001eea9, 1},
+ {0x0001eeab, 0x0001eebb, 1},
+ {0x0001eef0, 0x0001eef1, 1},
+ {0x0001f000, 0x0001f02b, 1},
+ {0x0001f030, 0x0001f093, 1},
+ {0x0001f0a0, 0x0001f0ae, 1},
+ {0x0001f0b1, 0x0001f0bf, 1},
+ {0x0001f0c1, 0x0001f0cf, 1},
+ {0x0001f0d1, 0x0001f0f5, 1},
+ {0x0001f100, 0x0001f10c, 1},
+ {0x0001f110, 0x0001f12e, 1},
+ {0x0001f130, 0x0001f16b, 1},
+ {0x0001f170, 0x0001f19a, 1},
+ {0x0001f1e6, 0x0001f202, 1},
+ {0x0001f210, 0x0001f23a, 1},
+ {0x0001f240, 0x0001f248, 1},
+ {0x0001f250, 0x0001f251, 1},
+ {0x0001f300, 0x0001f32c, 1},
+ {0x0001f330, 0x0001f37d, 1},
+ {0x0001f380, 0x0001f3ce, 1},
+ {0x0001f3d4, 0x0001f3f7, 1},
+ {0x0001f400, 0x0001f4fe, 1},
+ {0x0001f500, 0x0001f54a, 1},
+ {0x0001f550, 0x0001f579, 1},
+ {0x0001f57b, 0x0001f5a3, 1},
+ {0x0001f5a5, 0x0001f642, 1},
+ {0x0001f645, 0x0001f6cf, 1},
+ {0x0001f6e0, 0x0001f6ec, 1},
+ {0x0001f6f0, 0x0001f6f3, 1},
+ {0x0001f700, 0x0001f773, 1},
+ {0x0001f780, 0x0001f7d4, 1},
+ {0x0001f800, 0x0001f80b, 1},
+ {0x0001f810, 0x0001f847, 1},
+ {0x0001f850, 0x0001f859, 1},
+ {0x0001f860, 0x0001f887, 1},
+ {0x0001f890, 0x0001f8ad, 1},
+ {0x00020000, 0x0002a6d6, 1},
+ {0x0002a700, 0x0002b734, 1},
+ {0x0002b740, 0x0002b81d, 1},
+ {0x0002f800, 0x0002fa1d, 1},
+ {0x000e0001, 0x000e0020, 31},
+ {0x000e0021, 0x000e007f, 1},
+ {0x000e0100, 0x000e01ef, 1},
+ {0x000f0000, 0x000ffffd, 1},
+ {0x00100000, 0x0010fffd, 1},
+ },
+ LatinOffset: 0,
+}
+
+// size 5048 bytes (4 KiB)
+var assigned8_0_0 = &unicode.RangeTable{
+ R16: []unicode.Range16{
+ {0x0000, 0x0377, 1},
+ {0x037a, 0x037f, 1},
+ {0x0384, 0x038a, 1},
+ {0x038c, 0x038e, 2},
+ {0x038f, 0x03a1, 1},
+ {0x03a3, 0x052f, 1},
+ {0x0531, 0x0556, 1},
+ {0x0559, 0x055f, 1},
+ {0x0561, 0x0587, 1},
+ {0x0589, 0x058a, 1},
+ {0x058d, 0x058f, 1},
+ {0x0591, 0x05c7, 1},
+ {0x05d0, 0x05ea, 1},
+ {0x05f0, 0x05f4, 1},
+ {0x0600, 0x061c, 1},
+ {0x061e, 0x070d, 1},
+ {0x070f, 0x074a, 1},
+ {0x074d, 0x07b1, 1},
+ {0x07c0, 0x07fa, 1},
+ {0x0800, 0x082d, 1},
+ {0x0830, 0x083e, 1},
+ {0x0840, 0x085b, 1},
+ {0x085e, 0x08a0, 66},
+ {0x08a1, 0x08b4, 1},
+ {0x08e3, 0x0983, 1},
+ {0x0985, 0x098c, 1},
+ {0x098f, 0x0990, 1},
+ {0x0993, 0x09a8, 1},
+ {0x09aa, 0x09b0, 1},
+ {0x09b2, 0x09b6, 4},
+ {0x09b7, 0x09b9, 1},
+ {0x09bc, 0x09c4, 1},
+ {0x09c7, 0x09c8, 1},
+ {0x09cb, 0x09ce, 1},
+ {0x09d7, 0x09dc, 5},
+ {0x09dd, 0x09df, 2},
+ {0x09e0, 0x09e3, 1},
+ {0x09e6, 0x09fb, 1},
+ {0x0a01, 0x0a03, 1},
+ {0x0a05, 0x0a0a, 1},
+ {0x0a0f, 0x0a10, 1},
+ {0x0a13, 0x0a28, 1},
+ {0x0a2a, 0x0a30, 1},
+ {0x0a32, 0x0a33, 1},
+ {0x0a35, 0x0a36, 1},
+ {0x0a38, 0x0a39, 1},
+ {0x0a3c, 0x0a3e, 2},
+ {0x0a3f, 0x0a42, 1},
+ {0x0a47, 0x0a48, 1},
+ {0x0a4b, 0x0a4d, 1},
+ {0x0a51, 0x0a59, 8},
+ {0x0a5a, 0x0a5c, 1},
+ {0x0a5e, 0x0a66, 8},
+ {0x0a67, 0x0a75, 1},
+ {0x0a81, 0x0a83, 1},
+ {0x0a85, 0x0a8d, 1},
+ {0x0a8f, 0x0a91, 1},
+ {0x0a93, 0x0aa8, 1},
+ {0x0aaa, 0x0ab0, 1},
+ {0x0ab2, 0x0ab3, 1},
+ {0x0ab5, 0x0ab9, 1},
+ {0x0abc, 0x0ac5, 1},
+ {0x0ac7, 0x0ac9, 1},
+ {0x0acb, 0x0acd, 1},
+ {0x0ad0, 0x0ae0, 16},
+ {0x0ae1, 0x0ae3, 1},
+ {0x0ae6, 0x0af1, 1},
+ {0x0af9, 0x0b01, 8},
+ {0x0b02, 0x0b03, 1},
+ {0x0b05, 0x0b0c, 1},
+ {0x0b0f, 0x0b10, 1},
+ {0x0b13, 0x0b28, 1},
+ {0x0b2a, 0x0b30, 1},
+ {0x0b32, 0x0b33, 1},
+ {0x0b35, 0x0b39, 1},
+ {0x0b3c, 0x0b44, 1},
+ {0x0b47, 0x0b48, 1},
+ {0x0b4b, 0x0b4d, 1},
+ {0x0b56, 0x0b57, 1},
+ {0x0b5c, 0x0b5d, 1},
+ {0x0b5f, 0x0b63, 1},
+ {0x0b66, 0x0b77, 1},
+ {0x0b82, 0x0b83, 1},
+ {0x0b85, 0x0b8a, 1},
+ {0x0b8e, 0x0b90, 1},
+ {0x0b92, 0x0b95, 1},
+ {0x0b99, 0x0b9a, 1},
+ {0x0b9c, 0x0b9e, 2},
+ {0x0b9f, 0x0ba3, 4},
+ {0x0ba4, 0x0ba8, 4},
+ {0x0ba9, 0x0baa, 1},
+ {0x0bae, 0x0bb9, 1},
+ {0x0bbe, 0x0bc2, 1},
+ {0x0bc6, 0x0bc8, 1},
+ {0x0bca, 0x0bcd, 1},
+ {0x0bd0, 0x0bd7, 7},
+ {0x0be6, 0x0bfa, 1},
+ {0x0c00, 0x0c03, 1},
+ {0x0c05, 0x0c0c, 1},
+ {0x0c0e, 0x0c10, 1},
+ {0x0c12, 0x0c28, 1},
+ {0x0c2a, 0x0c39, 1},
+ {0x0c3d, 0x0c44, 1},
+ {0x0c46, 0x0c48, 1},
+ {0x0c4a, 0x0c4d, 1},
+ {0x0c55, 0x0c56, 1},
+ {0x0c58, 0x0c5a, 1},
+ {0x0c60, 0x0c63, 1},
+ {0x0c66, 0x0c6f, 1},
+ {0x0c78, 0x0c7f, 1},
+ {0x0c81, 0x0c83, 1},
+ {0x0c85, 0x0c8c, 1},
+ {0x0c8e, 0x0c90, 1},
+ {0x0c92, 0x0ca8, 1},
+ {0x0caa, 0x0cb3, 1},
+ {0x0cb5, 0x0cb9, 1},
+ {0x0cbc, 0x0cc4, 1},
+ {0x0cc6, 0x0cc8, 1},
+ {0x0cca, 0x0ccd, 1},
+ {0x0cd5, 0x0cd6, 1},
+ {0x0cde, 0x0ce0, 2},
+ {0x0ce1, 0x0ce3, 1},
+ {0x0ce6, 0x0cef, 1},
+ {0x0cf1, 0x0cf2, 1},
+ {0x0d01, 0x0d03, 1},
+ {0x0d05, 0x0d0c, 1},
+ {0x0d0e, 0x0d10, 1},
+ {0x0d12, 0x0d3a, 1},
+ {0x0d3d, 0x0d44, 1},
+ {0x0d46, 0x0d48, 1},
+ {0x0d4a, 0x0d4e, 1},
+ {0x0d57, 0x0d5f, 8},
+ {0x0d60, 0x0d63, 1},
+ {0x0d66, 0x0d75, 1},
+ {0x0d79, 0x0d7f, 1},
+ {0x0d82, 0x0d83, 1},
+ {0x0d85, 0x0d96, 1},
+ {0x0d9a, 0x0db1, 1},
+ {0x0db3, 0x0dbb, 1},
+ {0x0dbd, 0x0dc0, 3},
+ {0x0dc1, 0x0dc6, 1},
+ {0x0dca, 0x0dcf, 5},
+ {0x0dd0, 0x0dd4, 1},
+ {0x0dd6, 0x0dd8, 2},
+ {0x0dd9, 0x0ddf, 1},
+ {0x0de6, 0x0def, 1},
+ {0x0df2, 0x0df4, 1},
+ {0x0e01, 0x0e3a, 1},
+ {0x0e3f, 0x0e5b, 1},
+ {0x0e81, 0x0e82, 1},
+ {0x0e84, 0x0e87, 3},
+ {0x0e88, 0x0e8a, 2},
+ {0x0e8d, 0x0e94, 7},
+ {0x0e95, 0x0e97, 1},
+ {0x0e99, 0x0e9f, 1},
+ {0x0ea1, 0x0ea3, 1},
+ {0x0ea5, 0x0ea7, 2},
+ {0x0eaa, 0x0eab, 1},
+ {0x0ead, 0x0eb9, 1},
+ {0x0ebb, 0x0ebd, 1},
+ {0x0ec0, 0x0ec4, 1},
+ {0x0ec6, 0x0ec8, 2},
+ {0x0ec9, 0x0ecd, 1},
+ {0x0ed0, 0x0ed9, 1},
+ {0x0edc, 0x0edf, 1},
+ {0x0f00, 0x0f47, 1},
+ {0x0f49, 0x0f6c, 1},
+ {0x0f71, 0x0f97, 1},
+ {0x0f99, 0x0fbc, 1},
+ {0x0fbe, 0x0fcc, 1},
+ {0x0fce, 0x0fda, 1},
+ {0x1000, 0x10c5, 1},
+ {0x10c7, 0x10cd, 6},
+ {0x10d0, 0x1248, 1},
+ {0x124a, 0x124d, 1},
+ {0x1250, 0x1256, 1},
+ {0x1258, 0x125a, 2},
+ {0x125b, 0x125d, 1},
+ {0x1260, 0x1288, 1},
+ {0x128a, 0x128d, 1},
+ {0x1290, 0x12b0, 1},
+ {0x12b2, 0x12b5, 1},
+ {0x12b8, 0x12be, 1},
+ {0x12c0, 0x12c2, 2},
+ {0x12c3, 0x12c5, 1},
+ {0x12c8, 0x12d6, 1},
+ {0x12d8, 0x1310, 1},
+ {0x1312, 0x1315, 1},
+ {0x1318, 0x135a, 1},
+ {0x135d, 0x137c, 1},
+ {0x1380, 0x1399, 1},
+ {0x13a0, 0x13f5, 1},
+ {0x13f8, 0x13fd, 1},
+ {0x1400, 0x169c, 1},
+ {0x16a0, 0x16f8, 1},
+ {0x1700, 0x170c, 1},
+ {0x170e, 0x1714, 1},
+ {0x1720, 0x1736, 1},
+ {0x1740, 0x1753, 1},
+ {0x1760, 0x176c, 1},
+ {0x176e, 0x1770, 1},
+ {0x1772, 0x1773, 1},
+ {0x1780, 0x17dd, 1},
+ {0x17e0, 0x17e9, 1},
+ {0x17f0, 0x17f9, 1},
+ {0x1800, 0x180e, 1},
+ {0x1810, 0x1819, 1},
+ {0x1820, 0x1877, 1},
+ {0x1880, 0x18aa, 1},
+ {0x18b0, 0x18f5, 1},
+ {0x1900, 0x191e, 1},
+ {0x1920, 0x192b, 1},
+ {0x1930, 0x193b, 1},
+ {0x1940, 0x1944, 4},
+ {0x1945, 0x196d, 1},
+ {0x1970, 0x1974, 1},
+ {0x1980, 0x19ab, 1},
+ {0x19b0, 0x19c9, 1},
+ {0x19d0, 0x19da, 1},
+ {0x19de, 0x1a1b, 1},
+ {0x1a1e, 0x1a5e, 1},
+ {0x1a60, 0x1a7c, 1},
+ {0x1a7f, 0x1a89, 1},
+ {0x1a90, 0x1a99, 1},
+ {0x1aa0, 0x1aad, 1},
+ {0x1ab0, 0x1abe, 1},
+ {0x1b00, 0x1b4b, 1},
+ {0x1b50, 0x1b7c, 1},
+ {0x1b80, 0x1bf3, 1},
+ {0x1bfc, 0x1c37, 1},
+ {0x1c3b, 0x1c49, 1},
+ {0x1c4d, 0x1c7f, 1},
+ {0x1cc0, 0x1cc7, 1},
+ {0x1cd0, 0x1cf6, 1},
+ {0x1cf8, 0x1cf9, 1},
+ {0x1d00, 0x1df5, 1},
+ {0x1dfc, 0x1f15, 1},
+ {0x1f18, 0x1f1d, 1},
+ {0x1f20, 0x1f45, 1},
+ {0x1f48, 0x1f4d, 1},
+ {0x1f50, 0x1f57, 1},
+ {0x1f59, 0x1f5f, 2},
+ {0x1f60, 0x1f7d, 1},
+ {0x1f80, 0x1fb4, 1},
+ {0x1fb6, 0x1fc4, 1},
+ {0x1fc6, 0x1fd3, 1},
+ {0x1fd6, 0x1fdb, 1},
+ {0x1fdd, 0x1fef, 1},
+ {0x1ff2, 0x1ff4, 1},
+ {0x1ff6, 0x1ffe, 1},
+ {0x2000, 0x2064, 1},
+ {0x2066, 0x2071, 1},
+ {0x2074, 0x208e, 1},
+ {0x2090, 0x209c, 1},
+ {0x20a0, 0x20be, 1},
+ {0x20d0, 0x20f0, 1},
+ {0x2100, 0x218b, 1},
+ {0x2190, 0x23fa, 1},
+ {0x2400, 0x2426, 1},
+ {0x2440, 0x244a, 1},
+ {0x2460, 0x2b73, 1},
+ {0x2b76, 0x2b95, 1},
+ {0x2b98, 0x2bb9, 1},
+ {0x2bbd, 0x2bc8, 1},
+ {0x2bca, 0x2bd1, 1},
+ {0x2bec, 0x2bef, 1},
+ {0x2c00, 0x2c2e, 1},
+ {0x2c30, 0x2c5e, 1},
+ {0x2c60, 0x2cf3, 1},
+ {0x2cf9, 0x2d25, 1},
+ {0x2d27, 0x2d2d, 6},
+ {0x2d30, 0x2d67, 1},
+ {0x2d6f, 0x2d70, 1},
+ {0x2d7f, 0x2d96, 1},
+ {0x2da0, 0x2da6, 1},
+ {0x2da8, 0x2dae, 1},
+ {0x2db0, 0x2db6, 1},
+ {0x2db8, 0x2dbe, 1},
+ {0x2dc0, 0x2dc6, 1},
+ {0x2dc8, 0x2dce, 1},
+ {0x2dd0, 0x2dd6, 1},
+ {0x2dd8, 0x2dde, 1},
+ {0x2de0, 0x2e42, 1},
+ {0x2e80, 0x2e99, 1},
+ {0x2e9b, 0x2ef3, 1},
+ {0x2f00, 0x2fd5, 1},
+ {0x2ff0, 0x2ffb, 1},
+ {0x3000, 0x303f, 1},
+ {0x3041, 0x3096, 1},
+ {0x3099, 0x30ff, 1},
+ {0x3105, 0x312d, 1},
+ {0x3131, 0x318e, 1},
+ {0x3190, 0x31ba, 1},
+ {0x31c0, 0x31e3, 1},
+ {0x31f0, 0x321e, 1},
+ {0x3220, 0x32fe, 1},
+ {0x3300, 0x4db5, 1},
+ {0x4dc0, 0x9fd5, 1},
+ {0xa000, 0xa48c, 1},
+ {0xa490, 0xa4c6, 1},
+ {0xa4d0, 0xa62b, 1},
+ {0xa640, 0xa6f7, 1},
+ {0xa700, 0xa7ad, 1},
+ {0xa7b0, 0xa7b7, 1},
+ {0xa7f7, 0xa82b, 1},
+ {0xa830, 0xa839, 1},
+ {0xa840, 0xa877, 1},
+ {0xa880, 0xa8c4, 1},
+ {0xa8ce, 0xa8d9, 1},
+ {0xa8e0, 0xa8fd, 1},
+ {0xa900, 0xa953, 1},
+ {0xa95f, 0xa97c, 1},
+ {0xa980, 0xa9cd, 1},
+ {0xa9cf, 0xa9d9, 1},
+ {0xa9de, 0xa9fe, 1},
+ {0xaa00, 0xaa36, 1},
+ {0xaa40, 0xaa4d, 1},
+ {0xaa50, 0xaa59, 1},
+ {0xaa5c, 0xaac2, 1},
+ {0xaadb, 0xaaf6, 1},
+ {0xab01, 0xab06, 1},
+ {0xab09, 0xab0e, 1},
+ {0xab11, 0xab16, 1},
+ {0xab20, 0xab26, 1},
+ {0xab28, 0xab2e, 1},
+ {0xab30, 0xab65, 1},
+ {0xab70, 0xabed, 1},
+ {0xabf0, 0xabf9, 1},
+ {0xac00, 0xd7a3, 1},
+ {0xd7b0, 0xd7c6, 1},
+ {0xd7cb, 0xd7fb, 1},
+ {0xd800, 0xfa6d, 1},
+ {0xfa70, 0xfad9, 1},
+ {0xfb00, 0xfb06, 1},
+ {0xfb13, 0xfb17, 1},
+ {0xfb1d, 0xfb36, 1},
+ {0xfb38, 0xfb3c, 1},
+ {0xfb3e, 0xfb40, 2},
+ {0xfb41, 0xfb43, 2},
+ {0xfb44, 0xfb46, 2},
+ {0xfb47, 0xfbc1, 1},
+ {0xfbd3, 0xfd3f, 1},
+ {0xfd50, 0xfd8f, 1},
+ {0xfd92, 0xfdc7, 1},
+ {0xfdf0, 0xfdfd, 1},
+ {0xfe00, 0xfe19, 1},
+ {0xfe20, 0xfe52, 1},
+ {0xfe54, 0xfe66, 1},
+ {0xfe68, 0xfe6b, 1},
+ {0xfe70, 0xfe74, 1},
+ {0xfe76, 0xfefc, 1},
+ {0xfeff, 0xff01, 2},
+ {0xff02, 0xffbe, 1},
+ {0xffc2, 0xffc7, 1},
+ {0xffca, 0xffcf, 1},
+ {0xffd2, 0xffd7, 1},
+ {0xffda, 0xffdc, 1},
+ {0xffe0, 0xffe6, 1},
+ {0xffe8, 0xffee, 1},
+ {0xfff9, 0xfffd, 1},
+ },
+ R32: []unicode.Range32{
+ {0x00010000, 0x0001000b, 1},
+ {0x0001000d, 0x00010026, 1},
+ {0x00010028, 0x0001003a, 1},
+ {0x0001003c, 0x0001003d, 1},
+ {0x0001003f, 0x0001004d, 1},
+ {0x00010050, 0x0001005d, 1},
+ {0x00010080, 0x000100fa, 1},
+ {0x00010100, 0x00010102, 1},
+ {0x00010107, 0x00010133, 1},
+ {0x00010137, 0x0001018c, 1},
+ {0x00010190, 0x0001019b, 1},
+ {0x000101a0, 0x000101d0, 48},
+ {0x000101d1, 0x000101fd, 1},
+ {0x00010280, 0x0001029c, 1},
+ {0x000102a0, 0x000102d0, 1},
+ {0x000102e0, 0x000102fb, 1},
+ {0x00010300, 0x00010323, 1},
+ {0x00010330, 0x0001034a, 1},
+ {0x00010350, 0x0001037a, 1},
+ {0x00010380, 0x0001039d, 1},
+ {0x0001039f, 0x000103c3, 1},
+ {0x000103c8, 0x000103d5, 1},
+ {0x00010400, 0x0001049d, 1},
+ {0x000104a0, 0x000104a9, 1},
+ {0x00010500, 0x00010527, 1},
+ {0x00010530, 0x00010563, 1},
+ {0x0001056f, 0x00010600, 145},
+ {0x00010601, 0x00010736, 1},
+ {0x00010740, 0x00010755, 1},
+ {0x00010760, 0x00010767, 1},
+ {0x00010800, 0x00010805, 1},
+ {0x00010808, 0x0001080a, 2},
+ {0x0001080b, 0x00010835, 1},
+ {0x00010837, 0x00010838, 1},
+ {0x0001083c, 0x0001083f, 3},
+ {0x00010840, 0x00010855, 1},
+ {0x00010857, 0x0001089e, 1},
+ {0x000108a7, 0x000108af, 1},
+ {0x000108e0, 0x000108f2, 1},
+ {0x000108f4, 0x000108f5, 1},
+ {0x000108fb, 0x0001091b, 1},
+ {0x0001091f, 0x00010939, 1},
+ {0x0001093f, 0x00010980, 65},
+ {0x00010981, 0x000109b7, 1},
+ {0x000109bc, 0x000109cf, 1},
+ {0x000109d2, 0x00010a03, 1},
+ {0x00010a05, 0x00010a06, 1},
+ {0x00010a0c, 0x00010a13, 1},
+ {0x00010a15, 0x00010a17, 1},
+ {0x00010a19, 0x00010a33, 1},
+ {0x00010a38, 0x00010a3a, 1},
+ {0x00010a3f, 0x00010a47, 1},
+ {0x00010a50, 0x00010a58, 1},
+ {0x00010a60, 0x00010a9f, 1},
+ {0x00010ac0, 0x00010ae6, 1},
+ {0x00010aeb, 0x00010af6, 1},
+ {0x00010b00, 0x00010b35, 1},
+ {0x00010b39, 0x00010b55, 1},
+ {0x00010b58, 0x00010b72, 1},
+ {0x00010b78, 0x00010b91, 1},
+ {0x00010b99, 0x00010b9c, 1},
+ {0x00010ba9, 0x00010baf, 1},
+ {0x00010c00, 0x00010c48, 1},
+ {0x00010c80, 0x00010cb2, 1},
+ {0x00010cc0, 0x00010cf2, 1},
+ {0x00010cfa, 0x00010cff, 1},
+ {0x00010e60, 0x00010e7e, 1},
+ {0x00011000, 0x0001104d, 1},
+ {0x00011052, 0x0001106f, 1},
+ {0x0001107f, 0x000110c1, 1},
+ {0x000110d0, 0x000110e8, 1},
+ {0x000110f0, 0x000110f9, 1},
+ {0x00011100, 0x00011134, 1},
+ {0x00011136, 0x00011143, 1},
+ {0x00011150, 0x00011176, 1},
+ {0x00011180, 0x000111cd, 1},
+ {0x000111d0, 0x000111df, 1},
+ {0x000111e1, 0x000111f4, 1},
+ {0x00011200, 0x00011211, 1},
+ {0x00011213, 0x0001123d, 1},
+ {0x00011280, 0x00011286, 1},
+ {0x00011288, 0x0001128a, 2},
+ {0x0001128b, 0x0001128d, 1},
+ {0x0001128f, 0x0001129d, 1},
+ {0x0001129f, 0x000112a9, 1},
+ {0x000112b0, 0x000112ea, 1},
+ {0x000112f0, 0x000112f9, 1},
+ {0x00011300, 0x00011303, 1},
+ {0x00011305, 0x0001130c, 1},
+ {0x0001130f, 0x00011310, 1},
+ {0x00011313, 0x00011328, 1},
+ {0x0001132a, 0x00011330, 1},
+ {0x00011332, 0x00011333, 1},
+ {0x00011335, 0x00011339, 1},
+ {0x0001133c, 0x00011344, 1},
+ {0x00011347, 0x00011348, 1},
+ {0x0001134b, 0x0001134d, 1},
+ {0x00011350, 0x00011357, 7},
+ {0x0001135d, 0x00011363, 1},
+ {0x00011366, 0x0001136c, 1},
+ {0x00011370, 0x00011374, 1},
+ {0x00011480, 0x000114c7, 1},
+ {0x000114d0, 0x000114d9, 1},
+ {0x00011580, 0x000115b5, 1},
+ {0x000115b8, 0x000115dd, 1},
+ {0x00011600, 0x00011644, 1},
+ {0x00011650, 0x00011659, 1},
+ {0x00011680, 0x000116b7, 1},
+ {0x000116c0, 0x000116c9, 1},
+ {0x00011700, 0x00011719, 1},
+ {0x0001171d, 0x0001172b, 1},
+ {0x00011730, 0x0001173f, 1},
+ {0x000118a0, 0x000118f2, 1},
+ {0x000118ff, 0x00011ac0, 449},
+ {0x00011ac1, 0x00011af8, 1},
+ {0x00012000, 0x00012399, 1},
+ {0x00012400, 0x0001246e, 1},
+ {0x00012470, 0x00012474, 1},
+ {0x00012480, 0x00012543, 1},
+ {0x00013000, 0x0001342e, 1},
+ {0x00014400, 0x00014646, 1},
+ {0x00016800, 0x00016a38, 1},
+ {0x00016a40, 0x00016a5e, 1},
+ {0x00016a60, 0x00016a69, 1},
+ {0x00016a6e, 0x00016a6f, 1},
+ {0x00016ad0, 0x00016aed, 1},
+ {0x00016af0, 0x00016af5, 1},
+ {0x00016b00, 0x00016b45, 1},
+ {0x00016b50, 0x00016b59, 1},
+ {0x00016b5b, 0x00016b61, 1},
+ {0x00016b63, 0x00016b77, 1},
+ {0x00016b7d, 0x00016b8f, 1},
+ {0x00016f00, 0x00016f44, 1},
+ {0x00016f50, 0x00016f7e, 1},
+ {0x00016f8f, 0x00016f9f, 1},
+ {0x0001b000, 0x0001b001, 1},
+ {0x0001bc00, 0x0001bc6a, 1},
+ {0x0001bc70, 0x0001bc7c, 1},
+ {0x0001bc80, 0x0001bc88, 1},
+ {0x0001bc90, 0x0001bc99, 1},
+ {0x0001bc9c, 0x0001bca3, 1},
+ {0x0001d000, 0x0001d0f5, 1},
+ {0x0001d100, 0x0001d126, 1},
+ {0x0001d129, 0x0001d1e8, 1},
+ {0x0001d200, 0x0001d245, 1},
+ {0x0001d300, 0x0001d356, 1},
+ {0x0001d360, 0x0001d371, 1},
+ {0x0001d400, 0x0001d454, 1},
+ {0x0001d456, 0x0001d49c, 1},
+ {0x0001d49e, 0x0001d49f, 1},
+ {0x0001d4a2, 0x0001d4a5, 3},
+ {0x0001d4a6, 0x0001d4a9, 3},
+ {0x0001d4aa, 0x0001d4ac, 1},
+ {0x0001d4ae, 0x0001d4b9, 1},
+ {0x0001d4bb, 0x0001d4bd, 2},
+ {0x0001d4be, 0x0001d4c3, 1},
+ {0x0001d4c5, 0x0001d505, 1},
+ {0x0001d507, 0x0001d50a, 1},
+ {0x0001d50d, 0x0001d514, 1},
+ {0x0001d516, 0x0001d51c, 1},
+ {0x0001d51e, 0x0001d539, 1},
+ {0x0001d53b, 0x0001d53e, 1},
+ {0x0001d540, 0x0001d544, 1},
+ {0x0001d546, 0x0001d54a, 4},
+ {0x0001d54b, 0x0001d550, 1},
+ {0x0001d552, 0x0001d6a5, 1},
+ {0x0001d6a8, 0x0001d7cb, 1},
+ {0x0001d7ce, 0x0001da8b, 1},
+ {0x0001da9b, 0x0001da9f, 1},
+ {0x0001daa1, 0x0001daaf, 1},
+ {0x0001e800, 0x0001e8c4, 1},
+ {0x0001e8c7, 0x0001e8d6, 1},
+ {0x0001ee00, 0x0001ee03, 1},
+ {0x0001ee05, 0x0001ee1f, 1},
+ {0x0001ee21, 0x0001ee22, 1},
+ {0x0001ee24, 0x0001ee27, 3},
+ {0x0001ee29, 0x0001ee32, 1},
+ {0x0001ee34, 0x0001ee37, 1},
+ {0x0001ee39, 0x0001ee3b, 2},
+ {0x0001ee42, 0x0001ee47, 5},
+ {0x0001ee49, 0x0001ee4d, 2},
+ {0x0001ee4e, 0x0001ee4f, 1},
+ {0x0001ee51, 0x0001ee52, 1},
+ {0x0001ee54, 0x0001ee57, 3},
+ {0x0001ee59, 0x0001ee61, 2},
+ {0x0001ee62, 0x0001ee64, 2},
+ {0x0001ee67, 0x0001ee6a, 1},
+ {0x0001ee6c, 0x0001ee72, 1},
+ {0x0001ee74, 0x0001ee77, 1},
+ {0x0001ee79, 0x0001ee7c, 1},
+ {0x0001ee7e, 0x0001ee80, 2},
+ {0x0001ee81, 0x0001ee89, 1},
+ {0x0001ee8b, 0x0001ee9b, 1},
+ {0x0001eea1, 0x0001eea3, 1},
+ {0x0001eea5, 0x0001eea9, 1},
+ {0x0001eeab, 0x0001eebb, 1},
+ {0x0001eef0, 0x0001eef1, 1},
+ {0x0001f000, 0x0001f02b, 1},
+ {0x0001f030, 0x0001f093, 1},
+ {0x0001f0a0, 0x0001f0ae, 1},
+ {0x0001f0b1, 0x0001f0bf, 1},
+ {0x0001f0c1, 0x0001f0cf, 1},
+ {0x0001f0d1, 0x0001f0f5, 1},
+ {0x0001f100, 0x0001f10c, 1},
+ {0x0001f110, 0x0001f12e, 1},
+ {0x0001f130, 0x0001f16b, 1},
+ {0x0001f170, 0x0001f19a, 1},
+ {0x0001f1e6, 0x0001f202, 1},
+ {0x0001f210, 0x0001f23a, 1},
+ {0x0001f240, 0x0001f248, 1},
+ {0x0001f250, 0x0001f251, 1},
+ {0x0001f300, 0x0001f579, 1},
+ {0x0001f57b, 0x0001f5a3, 1},
+ {0x0001f5a5, 0x0001f6d0, 1},
+ {0x0001f6e0, 0x0001f6ec, 1},
+ {0x0001f6f0, 0x0001f6f3, 1},
+ {0x0001f700, 0x0001f773, 1},
+ {0x0001f780, 0x0001f7d4, 1},
+ {0x0001f800, 0x0001f80b, 1},
+ {0x0001f810, 0x0001f847, 1},
+ {0x0001f850, 0x0001f859, 1},
+ {0x0001f860, 0x0001f887, 1},
+ {0x0001f890, 0x0001f8ad, 1},
+ {0x0001f910, 0x0001f918, 1},
+ {0x0001f980, 0x0001f984, 1},
+ {0x0001f9c0, 0x00020000, 1600},
+ {0x00020001, 0x0002a6d6, 1},
+ {0x0002a700, 0x0002b734, 1},
+ {0x0002b740, 0x0002b81d, 1},
+ {0x0002b820, 0x0002cea1, 1},
+ {0x0002f800, 0x0002fa1d, 1},
+ {0x000e0001, 0x000e0020, 31},
+ {0x000e0021, 0x000e007f, 1},
+ {0x000e0100, 0x000e01ef, 1},
+ {0x000f0000, 0x000ffffd, 1},
+ {0x00100000, 0x0010fffd, 1},
+ },
+ LatinOffset: 0,
+}
+
+// size 5348 bytes (5 KiB)
+var assigned9_0_0 = &unicode.RangeTable{
+ R16: []unicode.Range16{
+ {0x0000, 0x0377, 1},
+ {0x037a, 0x037f, 1},
+ {0x0384, 0x038a, 1},
+ {0x038c, 0x038e, 2},
+ {0x038f, 0x03a1, 1},
+ {0x03a3, 0x052f, 1},
+ {0x0531, 0x0556, 1},
+ {0x0559, 0x055f, 1},
+ {0x0561, 0x0587, 1},
+ {0x0589, 0x058a, 1},
+ {0x058d, 0x058f, 1},
+ {0x0591, 0x05c7, 1},
+ {0x05d0, 0x05ea, 1},
+ {0x05f0, 0x05f4, 1},
+ {0x0600, 0x061c, 1},
+ {0x061e, 0x070d, 1},
+ {0x070f, 0x074a, 1},
+ {0x074d, 0x07b1, 1},
+ {0x07c0, 0x07fa, 1},
+ {0x0800, 0x082d, 1},
+ {0x0830, 0x083e, 1},
+ {0x0840, 0x085b, 1},
+ {0x085e, 0x08a0, 66},
+ {0x08a1, 0x08b4, 1},
+ {0x08b6, 0x08bd, 1},
+ {0x08d4, 0x0983, 1},
+ {0x0985, 0x098c, 1},
+ {0x098f, 0x0990, 1},
+ {0x0993, 0x09a8, 1},
+ {0x09aa, 0x09b0, 1},
+ {0x09b2, 0x09b6, 4},
+ {0x09b7, 0x09b9, 1},
+ {0x09bc, 0x09c4, 1},
+ {0x09c7, 0x09c8, 1},
+ {0x09cb, 0x09ce, 1},
+ {0x09d7, 0x09dc, 5},
+ {0x09dd, 0x09df, 2},
+ {0x09e0, 0x09e3, 1},
+ {0x09e6, 0x09fb, 1},
+ {0x0a01, 0x0a03, 1},
+ {0x0a05, 0x0a0a, 1},
+ {0x0a0f, 0x0a10, 1},
+ {0x0a13, 0x0a28, 1},
+ {0x0a2a, 0x0a30, 1},
+ {0x0a32, 0x0a33, 1},
+ {0x0a35, 0x0a36, 1},
+ {0x0a38, 0x0a39, 1},
+ {0x0a3c, 0x0a3e, 2},
+ {0x0a3f, 0x0a42, 1},
+ {0x0a47, 0x0a48, 1},
+ {0x0a4b, 0x0a4d, 1},
+ {0x0a51, 0x0a59, 8},
+ {0x0a5a, 0x0a5c, 1},
+ {0x0a5e, 0x0a66, 8},
+ {0x0a67, 0x0a75, 1},
+ {0x0a81, 0x0a83, 1},
+ {0x0a85, 0x0a8d, 1},
+ {0x0a8f, 0x0a91, 1},
+ {0x0a93, 0x0aa8, 1},
+ {0x0aaa, 0x0ab0, 1},
+ {0x0ab2, 0x0ab3, 1},
+ {0x0ab5, 0x0ab9, 1},
+ {0x0abc, 0x0ac5, 1},
+ {0x0ac7, 0x0ac9, 1},
+ {0x0acb, 0x0acd, 1},
+ {0x0ad0, 0x0ae0, 16},
+ {0x0ae1, 0x0ae3, 1},
+ {0x0ae6, 0x0af1, 1},
+ {0x0af9, 0x0b01, 8},
+ {0x0b02, 0x0b03, 1},
+ {0x0b05, 0x0b0c, 1},
+ {0x0b0f, 0x0b10, 1},
+ {0x0b13, 0x0b28, 1},
+ {0x0b2a, 0x0b30, 1},
+ {0x0b32, 0x0b33, 1},
+ {0x0b35, 0x0b39, 1},
+ {0x0b3c, 0x0b44, 1},
+ {0x0b47, 0x0b48, 1},
+ {0x0b4b, 0x0b4d, 1},
+ {0x0b56, 0x0b57, 1},
+ {0x0b5c, 0x0b5d, 1},
+ {0x0b5f, 0x0b63, 1},
+ {0x0b66, 0x0b77, 1},
+ {0x0b82, 0x0b83, 1},
+ {0x0b85, 0x0b8a, 1},
+ {0x0b8e, 0x0b90, 1},
+ {0x0b92, 0x0b95, 1},
+ {0x0b99, 0x0b9a, 1},
+ {0x0b9c, 0x0b9e, 2},
+ {0x0b9f, 0x0ba3, 4},
+ {0x0ba4, 0x0ba8, 4},
+ {0x0ba9, 0x0baa, 1},
+ {0x0bae, 0x0bb9, 1},
+ {0x0bbe, 0x0bc2, 1},
+ {0x0bc6, 0x0bc8, 1},
+ {0x0bca, 0x0bcd, 1},
+ {0x0bd0, 0x0bd7, 7},
+ {0x0be6, 0x0bfa, 1},
+ {0x0c00, 0x0c03, 1},
+ {0x0c05, 0x0c0c, 1},
+ {0x0c0e, 0x0c10, 1},
+ {0x0c12, 0x0c28, 1},
+ {0x0c2a, 0x0c39, 1},
+ {0x0c3d, 0x0c44, 1},
+ {0x0c46, 0x0c48, 1},
+ {0x0c4a, 0x0c4d, 1},
+ {0x0c55, 0x0c56, 1},
+ {0x0c58, 0x0c5a, 1},
+ {0x0c60, 0x0c63, 1},
+ {0x0c66, 0x0c6f, 1},
+ {0x0c78, 0x0c83, 1},
+ {0x0c85, 0x0c8c, 1},
+ {0x0c8e, 0x0c90, 1},
+ {0x0c92, 0x0ca8, 1},
+ {0x0caa, 0x0cb3, 1},
+ {0x0cb5, 0x0cb9, 1},
+ {0x0cbc, 0x0cc4, 1},
+ {0x0cc6, 0x0cc8, 1},
+ {0x0cca, 0x0ccd, 1},
+ {0x0cd5, 0x0cd6, 1},
+ {0x0cde, 0x0ce0, 2},
+ {0x0ce1, 0x0ce3, 1},
+ {0x0ce6, 0x0cef, 1},
+ {0x0cf1, 0x0cf2, 1},
+ {0x0d01, 0x0d03, 1},
+ {0x0d05, 0x0d0c, 1},
+ {0x0d0e, 0x0d10, 1},
+ {0x0d12, 0x0d3a, 1},
+ {0x0d3d, 0x0d44, 1},
+ {0x0d46, 0x0d48, 1},
+ {0x0d4a, 0x0d4f, 1},
+ {0x0d54, 0x0d63, 1},
+ {0x0d66, 0x0d7f, 1},
+ {0x0d82, 0x0d83, 1},
+ {0x0d85, 0x0d96, 1},
+ {0x0d9a, 0x0db1, 1},
+ {0x0db3, 0x0dbb, 1},
+ {0x0dbd, 0x0dc0, 3},
+ {0x0dc1, 0x0dc6, 1},
+ {0x0dca, 0x0dcf, 5},
+ {0x0dd0, 0x0dd4, 1},
+ {0x0dd6, 0x0dd8, 2},
+ {0x0dd9, 0x0ddf, 1},
+ {0x0de6, 0x0def, 1},
+ {0x0df2, 0x0df4, 1},
+ {0x0e01, 0x0e3a, 1},
+ {0x0e3f, 0x0e5b, 1},
+ {0x0e81, 0x0e82, 1},
+ {0x0e84, 0x0e87, 3},
+ {0x0e88, 0x0e8a, 2},
+ {0x0e8d, 0x0e94, 7},
+ {0x0e95, 0x0e97, 1},
+ {0x0e99, 0x0e9f, 1},
+ {0x0ea1, 0x0ea3, 1},
+ {0x0ea5, 0x0ea7, 2},
+ {0x0eaa, 0x0eab, 1},
+ {0x0ead, 0x0eb9, 1},
+ {0x0ebb, 0x0ebd, 1},
+ {0x0ec0, 0x0ec4, 1},
+ {0x0ec6, 0x0ec8, 2},
+ {0x0ec9, 0x0ecd, 1},
+ {0x0ed0, 0x0ed9, 1},
+ {0x0edc, 0x0edf, 1},
+ {0x0f00, 0x0f47, 1},
+ {0x0f49, 0x0f6c, 1},
+ {0x0f71, 0x0f97, 1},
+ {0x0f99, 0x0fbc, 1},
+ {0x0fbe, 0x0fcc, 1},
+ {0x0fce, 0x0fda, 1},
+ {0x1000, 0x10c5, 1},
+ {0x10c7, 0x10cd, 6},
+ {0x10d0, 0x1248, 1},
+ {0x124a, 0x124d, 1},
+ {0x1250, 0x1256, 1},
+ {0x1258, 0x125a, 2},
+ {0x125b, 0x125d, 1},
+ {0x1260, 0x1288, 1},
+ {0x128a, 0x128d, 1},
+ {0x1290, 0x12b0, 1},
+ {0x12b2, 0x12b5, 1},
+ {0x12b8, 0x12be, 1},
+ {0x12c0, 0x12c2, 2},
+ {0x12c3, 0x12c5, 1},
+ {0x12c8, 0x12d6, 1},
+ {0x12d8, 0x1310, 1},
+ {0x1312, 0x1315, 1},
+ {0x1318, 0x135a, 1},
+ {0x135d, 0x137c, 1},
+ {0x1380, 0x1399, 1},
+ {0x13a0, 0x13f5, 1},
+ {0x13f8, 0x13fd, 1},
+ {0x1400, 0x169c, 1},
+ {0x16a0, 0x16f8, 1},
+ {0x1700, 0x170c, 1},
+ {0x170e, 0x1714, 1},
+ {0x1720, 0x1736, 1},
+ {0x1740, 0x1753, 1},
+ {0x1760, 0x176c, 1},
+ {0x176e, 0x1770, 1},
+ {0x1772, 0x1773, 1},
+ {0x1780, 0x17dd, 1},
+ {0x17e0, 0x17e9, 1},
+ {0x17f0, 0x17f9, 1},
+ {0x1800, 0x180e, 1},
+ {0x1810, 0x1819, 1},
+ {0x1820, 0x1877, 1},
+ {0x1880, 0x18aa, 1},
+ {0x18b0, 0x18f5, 1},
+ {0x1900, 0x191e, 1},
+ {0x1920, 0x192b, 1},
+ {0x1930, 0x193b, 1},
+ {0x1940, 0x1944, 4},
+ {0x1945, 0x196d, 1},
+ {0x1970, 0x1974, 1},
+ {0x1980, 0x19ab, 1},
+ {0x19b0, 0x19c9, 1},
+ {0x19d0, 0x19da, 1},
+ {0x19de, 0x1a1b, 1},
+ {0x1a1e, 0x1a5e, 1},
+ {0x1a60, 0x1a7c, 1},
+ {0x1a7f, 0x1a89, 1},
+ {0x1a90, 0x1a99, 1},
+ {0x1aa0, 0x1aad, 1},
+ {0x1ab0, 0x1abe, 1},
+ {0x1b00, 0x1b4b, 1},
+ {0x1b50, 0x1b7c, 1},
+ {0x1b80, 0x1bf3, 1},
+ {0x1bfc, 0x1c37, 1},
+ {0x1c3b, 0x1c49, 1},
+ {0x1c4d, 0x1c88, 1},
+ {0x1cc0, 0x1cc7, 1},
+ {0x1cd0, 0x1cf6, 1},
+ {0x1cf8, 0x1cf9, 1},
+ {0x1d00, 0x1df5, 1},
+ {0x1dfb, 0x1f15, 1},
+ {0x1f18, 0x1f1d, 1},
+ {0x1f20, 0x1f45, 1},
+ {0x1f48, 0x1f4d, 1},
+ {0x1f50, 0x1f57, 1},
+ {0x1f59, 0x1f5f, 2},
+ {0x1f60, 0x1f7d, 1},
+ {0x1f80, 0x1fb4, 1},
+ {0x1fb6, 0x1fc4, 1},
+ {0x1fc6, 0x1fd3, 1},
+ {0x1fd6, 0x1fdb, 1},
+ {0x1fdd, 0x1fef, 1},
+ {0x1ff2, 0x1ff4, 1},
+ {0x1ff6, 0x1ffe, 1},
+ {0x2000, 0x2064, 1},
+ {0x2066, 0x2071, 1},
+ {0x2074, 0x208e, 1},
+ {0x2090, 0x209c, 1},
+ {0x20a0, 0x20be, 1},
+ {0x20d0, 0x20f0, 1},
+ {0x2100, 0x218b, 1},
+ {0x2190, 0x23fe, 1},
+ {0x2400, 0x2426, 1},
+ {0x2440, 0x244a, 1},
+ {0x2460, 0x2b73, 1},
+ {0x2b76, 0x2b95, 1},
+ {0x2b98, 0x2bb9, 1},
+ {0x2bbd, 0x2bc8, 1},
+ {0x2bca, 0x2bd1, 1},
+ {0x2bec, 0x2bef, 1},
+ {0x2c00, 0x2c2e, 1},
+ {0x2c30, 0x2c5e, 1},
+ {0x2c60, 0x2cf3, 1},
+ {0x2cf9, 0x2d25, 1},
+ {0x2d27, 0x2d2d, 6},
+ {0x2d30, 0x2d67, 1},
+ {0x2d6f, 0x2d70, 1},
+ {0x2d7f, 0x2d96, 1},
+ {0x2da0, 0x2da6, 1},
+ {0x2da8, 0x2dae, 1},
+ {0x2db0, 0x2db6, 1},
+ {0x2db8, 0x2dbe, 1},
+ {0x2dc0, 0x2dc6, 1},
+ {0x2dc8, 0x2dce, 1},
+ {0x2dd0, 0x2dd6, 1},
+ {0x2dd8, 0x2dde, 1},
+ {0x2de0, 0x2e44, 1},
+ {0x2e80, 0x2e99, 1},
+ {0x2e9b, 0x2ef3, 1},
+ {0x2f00, 0x2fd5, 1},
+ {0x2ff0, 0x2ffb, 1},
+ {0x3000, 0x303f, 1},
+ {0x3041, 0x3096, 1},
+ {0x3099, 0x30ff, 1},
+ {0x3105, 0x312d, 1},
+ {0x3131, 0x318e, 1},
+ {0x3190, 0x31ba, 1},
+ {0x31c0, 0x31e3, 1},
+ {0x31f0, 0x321e, 1},
+ {0x3220, 0x32fe, 1},
+ {0x3300, 0x4db5, 1},
+ {0x4dc0, 0x9fd5, 1},
+ {0xa000, 0xa48c, 1},
+ {0xa490, 0xa4c6, 1},
+ {0xa4d0, 0xa62b, 1},
+ {0xa640, 0xa6f7, 1},
+ {0xa700, 0xa7ae, 1},
+ {0xa7b0, 0xa7b7, 1},
+ {0xa7f7, 0xa82b, 1},
+ {0xa830, 0xa839, 1},
+ {0xa840, 0xa877, 1},
+ {0xa880, 0xa8c5, 1},
+ {0xa8ce, 0xa8d9, 1},
+ {0xa8e0, 0xa8fd, 1},
+ {0xa900, 0xa953, 1},
+ {0xa95f, 0xa97c, 1},
+ {0xa980, 0xa9cd, 1},
+ {0xa9cf, 0xa9d9, 1},
+ {0xa9de, 0xa9fe, 1},
+ {0xaa00, 0xaa36, 1},
+ {0xaa40, 0xaa4d, 1},
+ {0xaa50, 0xaa59, 1},
+ {0xaa5c, 0xaac2, 1},
+ {0xaadb, 0xaaf6, 1},
+ {0xab01, 0xab06, 1},
+ {0xab09, 0xab0e, 1},
+ {0xab11, 0xab16, 1},
+ {0xab20, 0xab26, 1},
+ {0xab28, 0xab2e, 1},
+ {0xab30, 0xab65, 1},
+ {0xab70, 0xabed, 1},
+ {0xabf0, 0xabf9, 1},
+ {0xac00, 0xd7a3, 1},
+ {0xd7b0, 0xd7c6, 1},
+ {0xd7cb, 0xd7fb, 1},
+ {0xd800, 0xfa6d, 1},
+ {0xfa70, 0xfad9, 1},
+ {0xfb00, 0xfb06, 1},
+ {0xfb13, 0xfb17, 1},
+ {0xfb1d, 0xfb36, 1},
+ {0xfb38, 0xfb3c, 1},
+ {0xfb3e, 0xfb40, 2},
+ {0xfb41, 0xfb43, 2},
+ {0xfb44, 0xfb46, 2},
+ {0xfb47, 0xfbc1, 1},
+ {0xfbd3, 0xfd3f, 1},
+ {0xfd50, 0xfd8f, 1},
+ {0xfd92, 0xfdc7, 1},
+ {0xfdf0, 0xfdfd, 1},
+ {0xfe00, 0xfe19, 1},
+ {0xfe20, 0xfe52, 1},
+ {0xfe54, 0xfe66, 1},
+ {0xfe68, 0xfe6b, 1},
+ {0xfe70, 0xfe74, 1},
+ {0xfe76, 0xfefc, 1},
+ {0xfeff, 0xff01, 2},
+ {0xff02, 0xffbe, 1},
+ {0xffc2, 0xffc7, 1},
+ {0xffca, 0xffcf, 1},
+ {0xffd2, 0xffd7, 1},
+ {0xffda, 0xffdc, 1},
+ {0xffe0, 0xffe6, 1},
+ {0xffe8, 0xffee, 1},
+ {0xfff9, 0xfffd, 1},
+ },
+ R32: []unicode.Range32{
+ {0x00010000, 0x0001000b, 1},
+ {0x0001000d, 0x00010026, 1},
+ {0x00010028, 0x0001003a, 1},
+ {0x0001003c, 0x0001003d, 1},
+ {0x0001003f, 0x0001004d, 1},
+ {0x00010050, 0x0001005d, 1},
+ {0x00010080, 0x000100fa, 1},
+ {0x00010100, 0x00010102, 1},
+ {0x00010107, 0x00010133, 1},
+ {0x00010137, 0x0001018e, 1},
+ {0x00010190, 0x0001019b, 1},
+ {0x000101a0, 0x000101d0, 48},
+ {0x000101d1, 0x000101fd, 1},
+ {0x00010280, 0x0001029c, 1},
+ {0x000102a0, 0x000102d0, 1},
+ {0x000102e0, 0x000102fb, 1},
+ {0x00010300, 0x00010323, 1},
+ {0x00010330, 0x0001034a, 1},
+ {0x00010350, 0x0001037a, 1},
+ {0x00010380, 0x0001039d, 1},
+ {0x0001039f, 0x000103c3, 1},
+ {0x000103c8, 0x000103d5, 1},
+ {0x00010400, 0x0001049d, 1},
+ {0x000104a0, 0x000104a9, 1},
+ {0x000104b0, 0x000104d3, 1},
+ {0x000104d8, 0x000104fb, 1},
+ {0x00010500, 0x00010527, 1},
+ {0x00010530, 0x00010563, 1},
+ {0x0001056f, 0x00010600, 145},
+ {0x00010601, 0x00010736, 1},
+ {0x00010740, 0x00010755, 1},
+ {0x00010760, 0x00010767, 1},
+ {0x00010800, 0x00010805, 1},
+ {0x00010808, 0x0001080a, 2},
+ {0x0001080b, 0x00010835, 1},
+ {0x00010837, 0x00010838, 1},
+ {0x0001083c, 0x0001083f, 3},
+ {0x00010840, 0x00010855, 1},
+ {0x00010857, 0x0001089e, 1},
+ {0x000108a7, 0x000108af, 1},
+ {0x000108e0, 0x000108f2, 1},
+ {0x000108f4, 0x000108f5, 1},
+ {0x000108fb, 0x0001091b, 1},
+ {0x0001091f, 0x00010939, 1},
+ {0x0001093f, 0x00010980, 65},
+ {0x00010981, 0x000109b7, 1},
+ {0x000109bc, 0x000109cf, 1},
+ {0x000109d2, 0x00010a03, 1},
+ {0x00010a05, 0x00010a06, 1},
+ {0x00010a0c, 0x00010a13, 1},
+ {0x00010a15, 0x00010a17, 1},
+ {0x00010a19, 0x00010a33, 1},
+ {0x00010a38, 0x00010a3a, 1},
+ {0x00010a3f, 0x00010a47, 1},
+ {0x00010a50, 0x00010a58, 1},
+ {0x00010a60, 0x00010a9f, 1},
+ {0x00010ac0, 0x00010ae6, 1},
+ {0x00010aeb, 0x00010af6, 1},
+ {0x00010b00, 0x00010b35, 1},
+ {0x00010b39, 0x00010b55, 1},
+ {0x00010b58, 0x00010b72, 1},
+ {0x00010b78, 0x00010b91, 1},
+ {0x00010b99, 0x00010b9c, 1},
+ {0x00010ba9, 0x00010baf, 1},
+ {0x00010c00, 0x00010c48, 1},
+ {0x00010c80, 0x00010cb2, 1},
+ {0x00010cc0, 0x00010cf2, 1},
+ {0x00010cfa, 0x00010cff, 1},
+ {0x00010e60, 0x00010e7e, 1},
+ {0x00011000, 0x0001104d, 1},
+ {0x00011052, 0x0001106f, 1},
+ {0x0001107f, 0x000110c1, 1},
+ {0x000110d0, 0x000110e8, 1},
+ {0x000110f0, 0x000110f9, 1},
+ {0x00011100, 0x00011134, 1},
+ {0x00011136, 0x00011143, 1},
+ {0x00011150, 0x00011176, 1},
+ {0x00011180, 0x000111cd, 1},
+ {0x000111d0, 0x000111df, 1},
+ {0x000111e1, 0x000111f4, 1},
+ {0x00011200, 0x00011211, 1},
+ {0x00011213, 0x0001123e, 1},
+ {0x00011280, 0x00011286, 1},
+ {0x00011288, 0x0001128a, 2},
+ {0x0001128b, 0x0001128d, 1},
+ {0x0001128f, 0x0001129d, 1},
+ {0x0001129f, 0x000112a9, 1},
+ {0x000112b0, 0x000112ea, 1},
+ {0x000112f0, 0x000112f9, 1},
+ {0x00011300, 0x00011303, 1},
+ {0x00011305, 0x0001130c, 1},
+ {0x0001130f, 0x00011310, 1},
+ {0x00011313, 0x00011328, 1},
+ {0x0001132a, 0x00011330, 1},
+ {0x00011332, 0x00011333, 1},
+ {0x00011335, 0x00011339, 1},
+ {0x0001133c, 0x00011344, 1},
+ {0x00011347, 0x00011348, 1},
+ {0x0001134b, 0x0001134d, 1},
+ {0x00011350, 0x00011357, 7},
+ {0x0001135d, 0x00011363, 1},
+ {0x00011366, 0x0001136c, 1},
+ {0x00011370, 0x00011374, 1},
+ {0x00011400, 0x00011459, 1},
+ {0x0001145b, 0x0001145d, 2},
+ {0x00011480, 0x000114c7, 1},
+ {0x000114d0, 0x000114d9, 1},
+ {0x00011580, 0x000115b5, 1},
+ {0x000115b8, 0x000115dd, 1},
+ {0x00011600, 0x00011644, 1},
+ {0x00011650, 0x00011659, 1},
+ {0x00011660, 0x0001166c, 1},
+ {0x00011680, 0x000116b7, 1},
+ {0x000116c0, 0x000116c9, 1},
+ {0x00011700, 0x00011719, 1},
+ {0x0001171d, 0x0001172b, 1},
+ {0x00011730, 0x0001173f, 1},
+ {0x000118a0, 0x000118f2, 1},
+ {0x000118ff, 0x00011ac0, 449},
+ {0x00011ac1, 0x00011af8, 1},
+ {0x00011c00, 0x00011c08, 1},
+ {0x00011c0a, 0x00011c36, 1},
+ {0x00011c38, 0x00011c45, 1},
+ {0x00011c50, 0x00011c6c, 1},
+ {0x00011c70, 0x00011c8f, 1},
+ {0x00011c92, 0x00011ca7, 1},
+ {0x00011ca9, 0x00011cb6, 1},
+ {0x00012000, 0x00012399, 1},
+ {0x00012400, 0x0001246e, 1},
+ {0x00012470, 0x00012474, 1},
+ {0x00012480, 0x00012543, 1},
+ {0x00013000, 0x0001342e, 1},
+ {0x00014400, 0x00014646, 1},
+ {0x00016800, 0x00016a38, 1},
+ {0x00016a40, 0x00016a5e, 1},
+ {0x00016a60, 0x00016a69, 1},
+ {0x00016a6e, 0x00016a6f, 1},
+ {0x00016ad0, 0x00016aed, 1},
+ {0x00016af0, 0x00016af5, 1},
+ {0x00016b00, 0x00016b45, 1},
+ {0x00016b50, 0x00016b59, 1},
+ {0x00016b5b, 0x00016b61, 1},
+ {0x00016b63, 0x00016b77, 1},
+ {0x00016b7d, 0x00016b8f, 1},
+ {0x00016f00, 0x00016f44, 1},
+ {0x00016f50, 0x00016f7e, 1},
+ {0x00016f8f, 0x00016f9f, 1},
+ {0x00016fe0, 0x00017000, 32},
+ {0x00017001, 0x000187ec, 1},
+ {0x00018800, 0x00018af2, 1},
+ {0x0001b000, 0x0001b001, 1},
+ {0x0001bc00, 0x0001bc6a, 1},
+ {0x0001bc70, 0x0001bc7c, 1},
+ {0x0001bc80, 0x0001bc88, 1},
+ {0x0001bc90, 0x0001bc99, 1},
+ {0x0001bc9c, 0x0001bca3, 1},
+ {0x0001d000, 0x0001d0f5, 1},
+ {0x0001d100, 0x0001d126, 1},
+ {0x0001d129, 0x0001d1e8, 1},
+ {0x0001d200, 0x0001d245, 1},
+ {0x0001d300, 0x0001d356, 1},
+ {0x0001d360, 0x0001d371, 1},
+ {0x0001d400, 0x0001d454, 1},
+ {0x0001d456, 0x0001d49c, 1},
+ {0x0001d49e, 0x0001d49f, 1},
+ {0x0001d4a2, 0x0001d4a5, 3},
+ {0x0001d4a6, 0x0001d4a9, 3},
+ {0x0001d4aa, 0x0001d4ac, 1},
+ {0x0001d4ae, 0x0001d4b9, 1},
+ {0x0001d4bb, 0x0001d4bd, 2},
+ {0x0001d4be, 0x0001d4c3, 1},
+ {0x0001d4c5, 0x0001d505, 1},
+ {0x0001d507, 0x0001d50a, 1},
+ {0x0001d50d, 0x0001d514, 1},
+ {0x0001d516, 0x0001d51c, 1},
+ {0x0001d51e, 0x0001d539, 1},
+ {0x0001d53b, 0x0001d53e, 1},
+ {0x0001d540, 0x0001d544, 1},
+ {0x0001d546, 0x0001d54a, 4},
+ {0x0001d54b, 0x0001d550, 1},
+ {0x0001d552, 0x0001d6a5, 1},
+ {0x0001d6a8, 0x0001d7cb, 1},
+ {0x0001d7ce, 0x0001da8b, 1},
+ {0x0001da9b, 0x0001da9f, 1},
+ {0x0001daa1, 0x0001daaf, 1},
+ {0x0001e000, 0x0001e006, 1},
+ {0x0001e008, 0x0001e018, 1},
+ {0x0001e01b, 0x0001e021, 1},
+ {0x0001e023, 0x0001e024, 1},
+ {0x0001e026, 0x0001e02a, 1},
+ {0x0001e800, 0x0001e8c4, 1},
+ {0x0001e8c7, 0x0001e8d6, 1},
+ {0x0001e900, 0x0001e94a, 1},
+ {0x0001e950, 0x0001e959, 1},
+ {0x0001e95e, 0x0001e95f, 1},
+ {0x0001ee00, 0x0001ee03, 1},
+ {0x0001ee05, 0x0001ee1f, 1},
+ {0x0001ee21, 0x0001ee22, 1},
+ {0x0001ee24, 0x0001ee27, 3},
+ {0x0001ee29, 0x0001ee32, 1},
+ {0x0001ee34, 0x0001ee37, 1},
+ {0x0001ee39, 0x0001ee3b, 2},
+ {0x0001ee42, 0x0001ee47, 5},
+ {0x0001ee49, 0x0001ee4d, 2},
+ {0x0001ee4e, 0x0001ee4f, 1},
+ {0x0001ee51, 0x0001ee52, 1},
+ {0x0001ee54, 0x0001ee57, 3},
+ {0x0001ee59, 0x0001ee61, 2},
+ {0x0001ee62, 0x0001ee64, 2},
+ {0x0001ee67, 0x0001ee6a, 1},
+ {0x0001ee6c, 0x0001ee72, 1},
+ {0x0001ee74, 0x0001ee77, 1},
+ {0x0001ee79, 0x0001ee7c, 1},
+ {0x0001ee7e, 0x0001ee80, 2},
+ {0x0001ee81, 0x0001ee89, 1},
+ {0x0001ee8b, 0x0001ee9b, 1},
+ {0x0001eea1, 0x0001eea3, 1},
+ {0x0001eea5, 0x0001eea9, 1},
+ {0x0001eeab, 0x0001eebb, 1},
+ {0x0001eef0, 0x0001eef1, 1},
+ {0x0001f000, 0x0001f02b, 1},
+ {0x0001f030, 0x0001f093, 1},
+ {0x0001f0a0, 0x0001f0ae, 1},
+ {0x0001f0b1, 0x0001f0bf, 1},
+ {0x0001f0c1, 0x0001f0cf, 1},
+ {0x0001f0d1, 0x0001f0f5, 1},
+ {0x0001f100, 0x0001f10c, 1},
+ {0x0001f110, 0x0001f12e, 1},
+ {0x0001f130, 0x0001f16b, 1},
+ {0x0001f170, 0x0001f1ac, 1},
+ {0x0001f1e6, 0x0001f202, 1},
+ {0x0001f210, 0x0001f23b, 1},
+ {0x0001f240, 0x0001f248, 1},
+ {0x0001f250, 0x0001f251, 1},
+ {0x0001f300, 0x0001f6d2, 1},
+ {0x0001f6e0, 0x0001f6ec, 1},
+ {0x0001f6f0, 0x0001f6f6, 1},
+ {0x0001f700, 0x0001f773, 1},
+ {0x0001f780, 0x0001f7d4, 1},
+ {0x0001f800, 0x0001f80b, 1},
+ {0x0001f810, 0x0001f847, 1},
+ {0x0001f850, 0x0001f859, 1},
+ {0x0001f860, 0x0001f887, 1},
+ {0x0001f890, 0x0001f8ad, 1},
+ {0x0001f910, 0x0001f91e, 1},
+ {0x0001f920, 0x0001f927, 1},
+ {0x0001f930, 0x0001f933, 3},
+ {0x0001f934, 0x0001f93e, 1},
+ {0x0001f940, 0x0001f94b, 1},
+ {0x0001f950, 0x0001f95e, 1},
+ {0x0001f980, 0x0001f991, 1},
+ {0x0001f9c0, 0x00020000, 1600},
+ {0x00020001, 0x0002a6d6, 1},
+ {0x0002a700, 0x0002b734, 1},
+ {0x0002b740, 0x0002b81d, 1},
+ {0x0002b820, 0x0002cea1, 1},
+ {0x0002f800, 0x0002fa1d, 1},
+ {0x000e0001, 0x000e0020, 31},
+ {0x000e0021, 0x000e007f, 1},
+ {0x000e0100, 0x000e01ef, 1},
+ {0x000f0000, 0x000ffffd, 1},
+ {0x00100000, 0x0010fffd, 1},
+ },
+ LatinOffset: 0,
+}
+
+// size 5492 bytes (5 KiB)
+var assigned10_0_0 = &unicode.RangeTable{
+ R16: []unicode.Range16{
+ {0x0000, 0x0377, 1},
+ {0x037a, 0x037f, 1},
+ {0x0384, 0x038a, 1},
+ {0x038c, 0x038e, 2},
+ {0x038f, 0x03a1, 1},
+ {0x03a3, 0x052f, 1},
+ {0x0531, 0x0556, 1},
+ {0x0559, 0x055f, 1},
+ {0x0561, 0x0587, 1},
+ {0x0589, 0x058a, 1},
+ {0x058d, 0x058f, 1},
+ {0x0591, 0x05c7, 1},
+ {0x05d0, 0x05ea, 1},
+ {0x05f0, 0x05f4, 1},
+ {0x0600, 0x061c, 1},
+ {0x061e, 0x070d, 1},
+ {0x070f, 0x074a, 1},
+ {0x074d, 0x07b1, 1},
+ {0x07c0, 0x07fa, 1},
+ {0x0800, 0x082d, 1},
+ {0x0830, 0x083e, 1},
+ {0x0840, 0x085b, 1},
+ {0x085e, 0x0860, 2},
+ {0x0861, 0x086a, 1},
+ {0x08a0, 0x08b4, 1},
+ {0x08b6, 0x08bd, 1},
+ {0x08d4, 0x0983, 1},
+ {0x0985, 0x098c, 1},
+ {0x098f, 0x0990, 1},
+ {0x0993, 0x09a8, 1},
+ {0x09aa, 0x09b0, 1},
+ {0x09b2, 0x09b6, 4},
+ {0x09b7, 0x09b9, 1},
+ {0x09bc, 0x09c4, 1},
+ {0x09c7, 0x09c8, 1},
+ {0x09cb, 0x09ce, 1},
+ {0x09d7, 0x09dc, 5},
+ {0x09dd, 0x09df, 2},
+ {0x09e0, 0x09e3, 1},
+ {0x09e6, 0x09fd, 1},
+ {0x0a01, 0x0a03, 1},
+ {0x0a05, 0x0a0a, 1},
+ {0x0a0f, 0x0a10, 1},
+ {0x0a13, 0x0a28, 1},
+ {0x0a2a, 0x0a30, 1},
+ {0x0a32, 0x0a33, 1},
+ {0x0a35, 0x0a36, 1},
+ {0x0a38, 0x0a39, 1},
+ {0x0a3c, 0x0a3e, 2},
+ {0x0a3f, 0x0a42, 1},
+ {0x0a47, 0x0a48, 1},
+ {0x0a4b, 0x0a4d, 1},
+ {0x0a51, 0x0a59, 8},
+ {0x0a5a, 0x0a5c, 1},
+ {0x0a5e, 0x0a66, 8},
+ {0x0a67, 0x0a75, 1},
+ {0x0a81, 0x0a83, 1},
+ {0x0a85, 0x0a8d, 1},
+ {0x0a8f, 0x0a91, 1},
+ {0x0a93, 0x0aa8, 1},
+ {0x0aaa, 0x0ab0, 1},
+ {0x0ab2, 0x0ab3, 1},
+ {0x0ab5, 0x0ab9, 1},
+ {0x0abc, 0x0ac5, 1},
+ {0x0ac7, 0x0ac9, 1},
+ {0x0acb, 0x0acd, 1},
+ {0x0ad0, 0x0ae0, 16},
+ {0x0ae1, 0x0ae3, 1},
+ {0x0ae6, 0x0af1, 1},
+ {0x0af9, 0x0aff, 1},
+ {0x0b01, 0x0b03, 1},
+ {0x0b05, 0x0b0c, 1},
+ {0x0b0f, 0x0b10, 1},
+ {0x0b13, 0x0b28, 1},
+ {0x0b2a, 0x0b30, 1},
+ {0x0b32, 0x0b33, 1},
+ {0x0b35, 0x0b39, 1},
+ {0x0b3c, 0x0b44, 1},
+ {0x0b47, 0x0b48, 1},
+ {0x0b4b, 0x0b4d, 1},
+ {0x0b56, 0x0b57, 1},
+ {0x0b5c, 0x0b5d, 1},
+ {0x0b5f, 0x0b63, 1},
+ {0x0b66, 0x0b77, 1},
+ {0x0b82, 0x0b83, 1},
+ {0x0b85, 0x0b8a, 1},
+ {0x0b8e, 0x0b90, 1},
+ {0x0b92, 0x0b95, 1},
+ {0x0b99, 0x0b9a, 1},
+ {0x0b9c, 0x0b9e, 2},
+ {0x0b9f, 0x0ba3, 4},
+ {0x0ba4, 0x0ba8, 4},
+ {0x0ba9, 0x0baa, 1},
+ {0x0bae, 0x0bb9, 1},
+ {0x0bbe, 0x0bc2, 1},
+ {0x0bc6, 0x0bc8, 1},
+ {0x0bca, 0x0bcd, 1},
+ {0x0bd0, 0x0bd7, 7},
+ {0x0be6, 0x0bfa, 1},
+ {0x0c00, 0x0c03, 1},
+ {0x0c05, 0x0c0c, 1},
+ {0x0c0e, 0x0c10, 1},
+ {0x0c12, 0x0c28, 1},
+ {0x0c2a, 0x0c39, 1},
+ {0x0c3d, 0x0c44, 1},
+ {0x0c46, 0x0c48, 1},
+ {0x0c4a, 0x0c4d, 1},
+ {0x0c55, 0x0c56, 1},
+ {0x0c58, 0x0c5a, 1},
+ {0x0c60, 0x0c63, 1},
+ {0x0c66, 0x0c6f, 1},
+ {0x0c78, 0x0c83, 1},
+ {0x0c85, 0x0c8c, 1},
+ {0x0c8e, 0x0c90, 1},
+ {0x0c92, 0x0ca8, 1},
+ {0x0caa, 0x0cb3, 1},
+ {0x0cb5, 0x0cb9, 1},
+ {0x0cbc, 0x0cc4, 1},
+ {0x0cc6, 0x0cc8, 1},
+ {0x0cca, 0x0ccd, 1},
+ {0x0cd5, 0x0cd6, 1},
+ {0x0cde, 0x0ce0, 2},
+ {0x0ce1, 0x0ce3, 1},
+ {0x0ce6, 0x0cef, 1},
+ {0x0cf1, 0x0cf2, 1},
+ {0x0d00, 0x0d03, 1},
+ {0x0d05, 0x0d0c, 1},
+ {0x0d0e, 0x0d10, 1},
+ {0x0d12, 0x0d44, 1},
+ {0x0d46, 0x0d48, 1},
+ {0x0d4a, 0x0d4f, 1},
+ {0x0d54, 0x0d63, 1},
+ {0x0d66, 0x0d7f, 1},
+ {0x0d82, 0x0d83, 1},
+ {0x0d85, 0x0d96, 1},
+ {0x0d9a, 0x0db1, 1},
+ {0x0db3, 0x0dbb, 1},
+ {0x0dbd, 0x0dc0, 3},
+ {0x0dc1, 0x0dc6, 1},
+ {0x0dca, 0x0dcf, 5},
+ {0x0dd0, 0x0dd4, 1},
+ {0x0dd6, 0x0dd8, 2},
+ {0x0dd9, 0x0ddf, 1},
+ {0x0de6, 0x0def, 1},
+ {0x0df2, 0x0df4, 1},
+ {0x0e01, 0x0e3a, 1},
+ {0x0e3f, 0x0e5b, 1},
+ {0x0e81, 0x0e82, 1},
+ {0x0e84, 0x0e87, 3},
+ {0x0e88, 0x0e8a, 2},
+ {0x0e8d, 0x0e94, 7},
+ {0x0e95, 0x0e97, 1},
+ {0x0e99, 0x0e9f, 1},
+ {0x0ea1, 0x0ea3, 1},
+ {0x0ea5, 0x0ea7, 2},
+ {0x0eaa, 0x0eab, 1},
+ {0x0ead, 0x0eb9, 1},
+ {0x0ebb, 0x0ebd, 1},
+ {0x0ec0, 0x0ec4, 1},
+ {0x0ec6, 0x0ec8, 2},
+ {0x0ec9, 0x0ecd, 1},
+ {0x0ed0, 0x0ed9, 1},
+ {0x0edc, 0x0edf, 1},
+ {0x0f00, 0x0f47, 1},
+ {0x0f49, 0x0f6c, 1},
+ {0x0f71, 0x0f97, 1},
+ {0x0f99, 0x0fbc, 1},
+ {0x0fbe, 0x0fcc, 1},
+ {0x0fce, 0x0fda, 1},
+ {0x1000, 0x10c5, 1},
+ {0x10c7, 0x10cd, 6},
+ {0x10d0, 0x1248, 1},
+ {0x124a, 0x124d, 1},
+ {0x1250, 0x1256, 1},
+ {0x1258, 0x125a, 2},
+ {0x125b, 0x125d, 1},
+ {0x1260, 0x1288, 1},
+ {0x128a, 0x128d, 1},
+ {0x1290, 0x12b0, 1},
+ {0x12b2, 0x12b5, 1},
+ {0x12b8, 0x12be, 1},
+ {0x12c0, 0x12c2, 2},
+ {0x12c3, 0x12c5, 1},
+ {0x12c8, 0x12d6, 1},
+ {0x12d8, 0x1310, 1},
+ {0x1312, 0x1315, 1},
+ {0x1318, 0x135a, 1},
+ {0x135d, 0x137c, 1},
+ {0x1380, 0x1399, 1},
+ {0x13a0, 0x13f5, 1},
+ {0x13f8, 0x13fd, 1},
+ {0x1400, 0x169c, 1},
+ {0x16a0, 0x16f8, 1},
+ {0x1700, 0x170c, 1},
+ {0x170e, 0x1714, 1},
+ {0x1720, 0x1736, 1},
+ {0x1740, 0x1753, 1},
+ {0x1760, 0x176c, 1},
+ {0x176e, 0x1770, 1},
+ {0x1772, 0x1773, 1},
+ {0x1780, 0x17dd, 1},
+ {0x17e0, 0x17e9, 1},
+ {0x17f0, 0x17f9, 1},
+ {0x1800, 0x180e, 1},
+ {0x1810, 0x1819, 1},
+ {0x1820, 0x1877, 1},
+ {0x1880, 0x18aa, 1},
+ {0x18b0, 0x18f5, 1},
+ {0x1900, 0x191e, 1},
+ {0x1920, 0x192b, 1},
+ {0x1930, 0x193b, 1},
+ {0x1940, 0x1944, 4},
+ {0x1945, 0x196d, 1},
+ {0x1970, 0x1974, 1},
+ {0x1980, 0x19ab, 1},
+ {0x19b0, 0x19c9, 1},
+ {0x19d0, 0x19da, 1},
+ {0x19de, 0x1a1b, 1},
+ {0x1a1e, 0x1a5e, 1},
+ {0x1a60, 0x1a7c, 1},
+ {0x1a7f, 0x1a89, 1},
+ {0x1a90, 0x1a99, 1},
+ {0x1aa0, 0x1aad, 1},
+ {0x1ab0, 0x1abe, 1},
+ {0x1b00, 0x1b4b, 1},
+ {0x1b50, 0x1b7c, 1},
+ {0x1b80, 0x1bf3, 1},
+ {0x1bfc, 0x1c37, 1},
+ {0x1c3b, 0x1c49, 1},
+ {0x1c4d, 0x1c88, 1},
+ {0x1cc0, 0x1cc7, 1},
+ {0x1cd0, 0x1cf9, 1},
+ {0x1d00, 0x1df9, 1},
+ {0x1dfb, 0x1f15, 1},
+ {0x1f18, 0x1f1d, 1},
+ {0x1f20, 0x1f45, 1},
+ {0x1f48, 0x1f4d, 1},
+ {0x1f50, 0x1f57, 1},
+ {0x1f59, 0x1f5f, 2},
+ {0x1f60, 0x1f7d, 1},
+ {0x1f80, 0x1fb4, 1},
+ {0x1fb6, 0x1fc4, 1},
+ {0x1fc6, 0x1fd3, 1},
+ {0x1fd6, 0x1fdb, 1},
+ {0x1fdd, 0x1fef, 1},
+ {0x1ff2, 0x1ff4, 1},
+ {0x1ff6, 0x1ffe, 1},
+ {0x2000, 0x2064, 1},
+ {0x2066, 0x2071, 1},
+ {0x2074, 0x208e, 1},
+ {0x2090, 0x209c, 1},
+ {0x20a0, 0x20bf, 1},
+ {0x20d0, 0x20f0, 1},
+ {0x2100, 0x218b, 1},
+ {0x2190, 0x2426, 1},
+ {0x2440, 0x244a, 1},
+ {0x2460, 0x2b73, 1},
+ {0x2b76, 0x2b95, 1},
+ {0x2b98, 0x2bb9, 1},
+ {0x2bbd, 0x2bc8, 1},
+ {0x2bca, 0x2bd2, 1},
+ {0x2bec, 0x2bef, 1},
+ {0x2c00, 0x2c2e, 1},
+ {0x2c30, 0x2c5e, 1},
+ {0x2c60, 0x2cf3, 1},
+ {0x2cf9, 0x2d25, 1},
+ {0x2d27, 0x2d2d, 6},
+ {0x2d30, 0x2d67, 1},
+ {0x2d6f, 0x2d70, 1},
+ {0x2d7f, 0x2d96, 1},
+ {0x2da0, 0x2da6, 1},
+ {0x2da8, 0x2dae, 1},
+ {0x2db0, 0x2db6, 1},
+ {0x2db8, 0x2dbe, 1},
+ {0x2dc0, 0x2dc6, 1},
+ {0x2dc8, 0x2dce, 1},
+ {0x2dd0, 0x2dd6, 1},
+ {0x2dd8, 0x2dde, 1},
+ {0x2de0, 0x2e49, 1},
+ {0x2e80, 0x2e99, 1},
+ {0x2e9b, 0x2ef3, 1},
+ {0x2f00, 0x2fd5, 1},
+ {0x2ff0, 0x2ffb, 1},
+ {0x3000, 0x303f, 1},
+ {0x3041, 0x3096, 1},
+ {0x3099, 0x30ff, 1},
+ {0x3105, 0x312e, 1},
+ {0x3131, 0x318e, 1},
+ {0x3190, 0x31ba, 1},
+ {0x31c0, 0x31e3, 1},
+ {0x31f0, 0x321e, 1},
+ {0x3220, 0x32fe, 1},
+ {0x3300, 0x4db5, 1},
+ {0x4dc0, 0x9fea, 1},
+ {0xa000, 0xa48c, 1},
+ {0xa490, 0xa4c6, 1},
+ {0xa4d0, 0xa62b, 1},
+ {0xa640, 0xa6f7, 1},
+ {0xa700, 0xa7ae, 1},
+ {0xa7b0, 0xa7b7, 1},
+ {0xa7f7, 0xa82b, 1},
+ {0xa830, 0xa839, 1},
+ {0xa840, 0xa877, 1},
+ {0xa880, 0xa8c5, 1},
+ {0xa8ce, 0xa8d9, 1},
+ {0xa8e0, 0xa8fd, 1},
+ {0xa900, 0xa953, 1},
+ {0xa95f, 0xa97c, 1},
+ {0xa980, 0xa9cd, 1},
+ {0xa9cf, 0xa9d9, 1},
+ {0xa9de, 0xa9fe, 1},
+ {0xaa00, 0xaa36, 1},
+ {0xaa40, 0xaa4d, 1},
+ {0xaa50, 0xaa59, 1},
+ {0xaa5c, 0xaac2, 1},
+ {0xaadb, 0xaaf6, 1},
+ {0xab01, 0xab06, 1},
+ {0xab09, 0xab0e, 1},
+ {0xab11, 0xab16, 1},
+ {0xab20, 0xab26, 1},
+ {0xab28, 0xab2e, 1},
+ {0xab30, 0xab65, 1},
+ {0xab70, 0xabed, 1},
+ {0xabf0, 0xabf9, 1},
+ {0xac00, 0xd7a3, 1},
+ {0xd7b0, 0xd7c6, 1},
+ {0xd7cb, 0xd7fb, 1},
+ {0xd800, 0xfa6d, 1},
+ {0xfa70, 0xfad9, 1},
+ {0xfb00, 0xfb06, 1},
+ {0xfb13, 0xfb17, 1},
+ {0xfb1d, 0xfb36, 1},
+ {0xfb38, 0xfb3c, 1},
+ {0xfb3e, 0xfb40, 2},
+ {0xfb41, 0xfb43, 2},
+ {0xfb44, 0xfb46, 2},
+ {0xfb47, 0xfbc1, 1},
+ {0xfbd3, 0xfd3f, 1},
+ {0xfd50, 0xfd8f, 1},
+ {0xfd92, 0xfdc7, 1},
+ {0xfdf0, 0xfdfd, 1},
+ {0xfe00, 0xfe19, 1},
+ {0xfe20, 0xfe52, 1},
+ {0xfe54, 0xfe66, 1},
+ {0xfe68, 0xfe6b, 1},
+ {0xfe70, 0xfe74, 1},
+ {0xfe76, 0xfefc, 1},
+ {0xfeff, 0xff01, 2},
+ {0xff02, 0xffbe, 1},
+ {0xffc2, 0xffc7, 1},
+ {0xffca, 0xffcf, 1},
+ {0xffd2, 0xffd7, 1},
+ {0xffda, 0xffdc, 1},
+ {0xffe0, 0xffe6, 1},
+ {0xffe8, 0xffee, 1},
+ {0xfff9, 0xfffd, 1},
+ },
+ R32: []unicode.Range32{
+ {0x00010000, 0x0001000b, 1},
+ {0x0001000d, 0x00010026, 1},
+ {0x00010028, 0x0001003a, 1},
+ {0x0001003c, 0x0001003d, 1},
+ {0x0001003f, 0x0001004d, 1},
+ {0x00010050, 0x0001005d, 1},
+ {0x00010080, 0x000100fa, 1},
+ {0x00010100, 0x00010102, 1},
+ {0x00010107, 0x00010133, 1},
+ {0x00010137, 0x0001018e, 1},
+ {0x00010190, 0x0001019b, 1},
+ {0x000101a0, 0x000101d0, 48},
+ {0x000101d1, 0x000101fd, 1},
+ {0x00010280, 0x0001029c, 1},
+ {0x000102a0, 0x000102d0, 1},
+ {0x000102e0, 0x000102fb, 1},
+ {0x00010300, 0x00010323, 1},
+ {0x0001032d, 0x0001034a, 1},
+ {0x00010350, 0x0001037a, 1},
+ {0x00010380, 0x0001039d, 1},
+ {0x0001039f, 0x000103c3, 1},
+ {0x000103c8, 0x000103d5, 1},
+ {0x00010400, 0x0001049d, 1},
+ {0x000104a0, 0x000104a9, 1},
+ {0x000104b0, 0x000104d3, 1},
+ {0x000104d8, 0x000104fb, 1},
+ {0x00010500, 0x00010527, 1},
+ {0x00010530, 0x00010563, 1},
+ {0x0001056f, 0x00010600, 145},
+ {0x00010601, 0x00010736, 1},
+ {0x00010740, 0x00010755, 1},
+ {0x00010760, 0x00010767, 1},
+ {0x00010800, 0x00010805, 1},
+ {0x00010808, 0x0001080a, 2},
+ {0x0001080b, 0x00010835, 1},
+ {0x00010837, 0x00010838, 1},
+ {0x0001083c, 0x0001083f, 3},
+ {0x00010840, 0x00010855, 1},
+ {0x00010857, 0x0001089e, 1},
+ {0x000108a7, 0x000108af, 1},
+ {0x000108e0, 0x000108f2, 1},
+ {0x000108f4, 0x000108f5, 1},
+ {0x000108fb, 0x0001091b, 1},
+ {0x0001091f, 0x00010939, 1},
+ {0x0001093f, 0x00010980, 65},
+ {0x00010981, 0x000109b7, 1},
+ {0x000109bc, 0x000109cf, 1},
+ {0x000109d2, 0x00010a03, 1},
+ {0x00010a05, 0x00010a06, 1},
+ {0x00010a0c, 0x00010a13, 1},
+ {0x00010a15, 0x00010a17, 1},
+ {0x00010a19, 0x00010a33, 1},
+ {0x00010a38, 0x00010a3a, 1},
+ {0x00010a3f, 0x00010a47, 1},
+ {0x00010a50, 0x00010a58, 1},
+ {0x00010a60, 0x00010a9f, 1},
+ {0x00010ac0, 0x00010ae6, 1},
+ {0x00010aeb, 0x00010af6, 1},
+ {0x00010b00, 0x00010b35, 1},
+ {0x00010b39, 0x00010b55, 1},
+ {0x00010b58, 0x00010b72, 1},
+ {0x00010b78, 0x00010b91, 1},
+ {0x00010b99, 0x00010b9c, 1},
+ {0x00010ba9, 0x00010baf, 1},
+ {0x00010c00, 0x00010c48, 1},
+ {0x00010c80, 0x00010cb2, 1},
+ {0x00010cc0, 0x00010cf2, 1},
+ {0x00010cfa, 0x00010cff, 1},
+ {0x00010e60, 0x00010e7e, 1},
+ {0x00011000, 0x0001104d, 1},
+ {0x00011052, 0x0001106f, 1},
+ {0x0001107f, 0x000110c1, 1},
+ {0x000110d0, 0x000110e8, 1},
+ {0x000110f0, 0x000110f9, 1},
+ {0x00011100, 0x00011134, 1},
+ {0x00011136, 0x00011143, 1},
+ {0x00011150, 0x00011176, 1},
+ {0x00011180, 0x000111cd, 1},
+ {0x000111d0, 0x000111df, 1},
+ {0x000111e1, 0x000111f4, 1},
+ {0x00011200, 0x00011211, 1},
+ {0x00011213, 0x0001123e, 1},
+ {0x00011280, 0x00011286, 1},
+ {0x00011288, 0x0001128a, 2},
+ {0x0001128b, 0x0001128d, 1},
+ {0x0001128f, 0x0001129d, 1},
+ {0x0001129f, 0x000112a9, 1},
+ {0x000112b0, 0x000112ea, 1},
+ {0x000112f0, 0x000112f9, 1},
+ {0x00011300, 0x00011303, 1},
+ {0x00011305, 0x0001130c, 1},
+ {0x0001130f, 0x00011310, 1},
+ {0x00011313, 0x00011328, 1},
+ {0x0001132a, 0x00011330, 1},
+ {0x00011332, 0x00011333, 1},
+ {0x00011335, 0x00011339, 1},
+ {0x0001133c, 0x00011344, 1},
+ {0x00011347, 0x00011348, 1},
+ {0x0001134b, 0x0001134d, 1},
+ {0x00011350, 0x00011357, 7},
+ {0x0001135d, 0x00011363, 1},
+ {0x00011366, 0x0001136c, 1},
+ {0x00011370, 0x00011374, 1},
+ {0x00011400, 0x00011459, 1},
+ {0x0001145b, 0x0001145d, 2},
+ {0x00011480, 0x000114c7, 1},
+ {0x000114d0, 0x000114d9, 1},
+ {0x00011580, 0x000115b5, 1},
+ {0x000115b8, 0x000115dd, 1},
+ {0x00011600, 0x00011644, 1},
+ {0x00011650, 0x00011659, 1},
+ {0x00011660, 0x0001166c, 1},
+ {0x00011680, 0x000116b7, 1},
+ {0x000116c0, 0x000116c9, 1},
+ {0x00011700, 0x00011719, 1},
+ {0x0001171d, 0x0001172b, 1},
+ {0x00011730, 0x0001173f, 1},
+ {0x000118a0, 0x000118f2, 1},
+ {0x000118ff, 0x00011a00, 257},
+ {0x00011a01, 0x00011a47, 1},
+ {0x00011a50, 0x00011a83, 1},
+ {0x00011a86, 0x00011a9c, 1},
+ {0x00011a9e, 0x00011aa2, 1},
+ {0x00011ac0, 0x00011af8, 1},
+ {0x00011c00, 0x00011c08, 1},
+ {0x00011c0a, 0x00011c36, 1},
+ {0x00011c38, 0x00011c45, 1},
+ {0x00011c50, 0x00011c6c, 1},
+ {0x00011c70, 0x00011c8f, 1},
+ {0x00011c92, 0x00011ca7, 1},
+ {0x00011ca9, 0x00011cb6, 1},
+ {0x00011d00, 0x00011d06, 1},
+ {0x00011d08, 0x00011d09, 1},
+ {0x00011d0b, 0x00011d36, 1},
+ {0x00011d3a, 0x00011d3c, 2},
+ {0x00011d3d, 0x00011d3f, 2},
+ {0x00011d40, 0x00011d47, 1},
+ {0x00011d50, 0x00011d59, 1},
+ {0x00012000, 0x00012399, 1},
+ {0x00012400, 0x0001246e, 1},
+ {0x00012470, 0x00012474, 1},
+ {0x00012480, 0x00012543, 1},
+ {0x00013000, 0x0001342e, 1},
+ {0x00014400, 0x00014646, 1},
+ {0x00016800, 0x00016a38, 1},
+ {0x00016a40, 0x00016a5e, 1},
+ {0x00016a60, 0x00016a69, 1},
+ {0x00016a6e, 0x00016a6f, 1},
+ {0x00016ad0, 0x00016aed, 1},
+ {0x00016af0, 0x00016af5, 1},
+ {0x00016b00, 0x00016b45, 1},
+ {0x00016b50, 0x00016b59, 1},
+ {0x00016b5b, 0x00016b61, 1},
+ {0x00016b63, 0x00016b77, 1},
+ {0x00016b7d, 0x00016b8f, 1},
+ {0x00016f00, 0x00016f44, 1},
+ {0x00016f50, 0x00016f7e, 1},
+ {0x00016f8f, 0x00016f9f, 1},
+ {0x00016fe0, 0x00016fe1, 1},
+ {0x00017000, 0x000187ec, 1},
+ {0x00018800, 0x00018af2, 1},
+ {0x0001b000, 0x0001b11e, 1},
+ {0x0001b170, 0x0001b2fb, 1},
+ {0x0001bc00, 0x0001bc6a, 1},
+ {0x0001bc70, 0x0001bc7c, 1},
+ {0x0001bc80, 0x0001bc88, 1},
+ {0x0001bc90, 0x0001bc99, 1},
+ {0x0001bc9c, 0x0001bca3, 1},
+ {0x0001d000, 0x0001d0f5, 1},
+ {0x0001d100, 0x0001d126, 1},
+ {0x0001d129, 0x0001d1e8, 1},
+ {0x0001d200, 0x0001d245, 1},
+ {0x0001d300, 0x0001d356, 1},
+ {0x0001d360, 0x0001d371, 1},
+ {0x0001d400, 0x0001d454, 1},
+ {0x0001d456, 0x0001d49c, 1},
+ {0x0001d49e, 0x0001d49f, 1},
+ {0x0001d4a2, 0x0001d4a5, 3},
+ {0x0001d4a6, 0x0001d4a9, 3},
+ {0x0001d4aa, 0x0001d4ac, 1},
+ {0x0001d4ae, 0x0001d4b9, 1},
+ {0x0001d4bb, 0x0001d4bd, 2},
+ {0x0001d4be, 0x0001d4c3, 1},
+ {0x0001d4c5, 0x0001d505, 1},
+ {0x0001d507, 0x0001d50a, 1},
+ {0x0001d50d, 0x0001d514, 1},
+ {0x0001d516, 0x0001d51c, 1},
+ {0x0001d51e, 0x0001d539, 1},
+ {0x0001d53b, 0x0001d53e, 1},
+ {0x0001d540, 0x0001d544, 1},
+ {0x0001d546, 0x0001d54a, 4},
+ {0x0001d54b, 0x0001d550, 1},
+ {0x0001d552, 0x0001d6a5, 1},
+ {0x0001d6a8, 0x0001d7cb, 1},
+ {0x0001d7ce, 0x0001da8b, 1},
+ {0x0001da9b, 0x0001da9f, 1},
+ {0x0001daa1, 0x0001daaf, 1},
+ {0x0001e000, 0x0001e006, 1},
+ {0x0001e008, 0x0001e018, 1},
+ {0x0001e01b, 0x0001e021, 1},
+ {0x0001e023, 0x0001e024, 1},
+ {0x0001e026, 0x0001e02a, 1},
+ {0x0001e800, 0x0001e8c4, 1},
+ {0x0001e8c7, 0x0001e8d6, 1},
+ {0x0001e900, 0x0001e94a, 1},
+ {0x0001e950, 0x0001e959, 1},
+ {0x0001e95e, 0x0001e95f, 1},
+ {0x0001ee00, 0x0001ee03, 1},
+ {0x0001ee05, 0x0001ee1f, 1},
+ {0x0001ee21, 0x0001ee22, 1},
+ {0x0001ee24, 0x0001ee27, 3},
+ {0x0001ee29, 0x0001ee32, 1},
+ {0x0001ee34, 0x0001ee37, 1},
+ {0x0001ee39, 0x0001ee3b, 2},
+ {0x0001ee42, 0x0001ee47, 5},
+ {0x0001ee49, 0x0001ee4d, 2},
+ {0x0001ee4e, 0x0001ee4f, 1},
+ {0x0001ee51, 0x0001ee52, 1},
+ {0x0001ee54, 0x0001ee57, 3},
+ {0x0001ee59, 0x0001ee61, 2},
+ {0x0001ee62, 0x0001ee64, 2},
+ {0x0001ee67, 0x0001ee6a, 1},
+ {0x0001ee6c, 0x0001ee72, 1},
+ {0x0001ee74, 0x0001ee77, 1},
+ {0x0001ee79, 0x0001ee7c, 1},
+ {0x0001ee7e, 0x0001ee80, 2},
+ {0x0001ee81, 0x0001ee89, 1},
+ {0x0001ee8b, 0x0001ee9b, 1},
+ {0x0001eea1, 0x0001eea3, 1},
+ {0x0001eea5, 0x0001eea9, 1},
+ {0x0001eeab, 0x0001eebb, 1},
+ {0x0001eef0, 0x0001eef1, 1},
+ {0x0001f000, 0x0001f02b, 1},
+ {0x0001f030, 0x0001f093, 1},
+ {0x0001f0a0, 0x0001f0ae, 1},
+ {0x0001f0b1, 0x0001f0bf, 1},
+ {0x0001f0c1, 0x0001f0cf, 1},
+ {0x0001f0d1, 0x0001f0f5, 1},
+ {0x0001f100, 0x0001f10c, 1},
+ {0x0001f110, 0x0001f12e, 1},
+ {0x0001f130, 0x0001f16b, 1},
+ {0x0001f170, 0x0001f1ac, 1},
+ {0x0001f1e6, 0x0001f202, 1},
+ {0x0001f210, 0x0001f23b, 1},
+ {0x0001f240, 0x0001f248, 1},
+ {0x0001f250, 0x0001f251, 1},
+ {0x0001f260, 0x0001f265, 1},
+ {0x0001f300, 0x0001f6d4, 1},
+ {0x0001f6e0, 0x0001f6ec, 1},
+ {0x0001f6f0, 0x0001f6f8, 1},
+ {0x0001f700, 0x0001f773, 1},
+ {0x0001f780, 0x0001f7d4, 1},
+ {0x0001f800, 0x0001f80b, 1},
+ {0x0001f810, 0x0001f847, 1},
+ {0x0001f850, 0x0001f859, 1},
+ {0x0001f860, 0x0001f887, 1},
+ {0x0001f890, 0x0001f8ad, 1},
+ {0x0001f900, 0x0001f90b, 1},
+ {0x0001f910, 0x0001f93e, 1},
+ {0x0001f940, 0x0001f94c, 1},
+ {0x0001f950, 0x0001f96b, 1},
+ {0x0001f980, 0x0001f997, 1},
+ {0x0001f9c0, 0x0001f9d0, 16},
+ {0x0001f9d1, 0x0001f9e6, 1},
+ {0x00020000, 0x0002a6d6, 1},
+ {0x0002a700, 0x0002b734, 1},
+ {0x0002b740, 0x0002b81d, 1},
+ {0x0002b820, 0x0002cea1, 1},
+ {0x0002ceb0, 0x0002ebe0, 1},
+ {0x0002f800, 0x0002fa1d, 1},
+ {0x000e0001, 0x000e0020, 31},
+ {0x000e0021, 0x000e007f, 1},
+ {0x000e0100, 0x000e01ef, 1},
+ {0x000f0000, 0x000ffffd, 1},
+ {0x00100000, 0x0010fffd, 1},
+ },
+ LatinOffset: 0,
+}
+
+// Total size 49698 bytes (48 KiB)
diff --git a/vendor/golang.org/x/text/unicode/rangetable/tables9.0.0.go b/vendor/golang.org/x/text/unicode/rangetable/tables9.0.0.go
new file mode 100644
index 00000000..aef876d9
--- /dev/null
+++ b/vendor/golang.org/x/text/unicode/rangetable/tables9.0.0.go
@@ -0,0 +1,5737 @@
+// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
+
+// +build !go1.10
+
+package rangetable
+
+//go:generate go run gen.go --versions=4.1.0,5.1.0,5.2.0,5.0.0,6.1.0,6.2.0,6.3.0,6.0.0,7.0.0,8.0.0,9.0.0
+
+import "unicode"
+
+var assigned = map[string]*unicode.RangeTable{
+ "4.1.0": assigned4_1_0,
+ "5.1.0": assigned5_1_0,
+ "5.2.0": assigned5_2_0,
+ "5.0.0": assigned5_0_0,
+ "6.1.0": assigned6_1_0,
+ "6.2.0": assigned6_2_0,
+ "6.3.0": assigned6_3_0,
+ "6.0.0": assigned6_0_0,
+ "7.0.0": assigned7_0_0,
+ "8.0.0": assigned8_0_0,
+ "9.0.0": assigned9_0_0,
+}
+
+// size 2924 bytes (2 KiB)
+var assigned4_1_0 = &unicode.RangeTable{
+ R16: []unicode.Range16{
+ {0x0000, 0x0241, 1},
+ {0x0250, 0x036f, 1},
+ {0x0374, 0x0375, 1},
+ {0x037a, 0x037e, 4},
+ {0x0384, 0x038a, 1},
+ {0x038c, 0x038e, 2},
+ {0x038f, 0x03a1, 1},
+ {0x03a3, 0x03ce, 1},
+ {0x03d0, 0x0486, 1},
+ {0x0488, 0x04ce, 1},
+ {0x04d0, 0x04f9, 1},
+ {0x0500, 0x050f, 1},
+ {0x0531, 0x0556, 1},
+ {0x0559, 0x055f, 1},
+ {0x0561, 0x0587, 1},
+ {0x0589, 0x058a, 1},
+ {0x0591, 0x05b9, 1},
+ {0x05bb, 0x05c7, 1},
+ {0x05d0, 0x05ea, 1},
+ {0x05f0, 0x05f4, 1},
+ {0x0600, 0x0603, 1},
+ {0x060b, 0x0615, 1},
+ {0x061b, 0x061e, 3},
+ {0x061f, 0x0621, 2},
+ {0x0622, 0x063a, 1},
+ {0x0640, 0x065e, 1},
+ {0x0660, 0x070d, 1},
+ {0x070f, 0x074a, 1},
+ {0x074d, 0x076d, 1},
+ {0x0780, 0x07b1, 1},
+ {0x0901, 0x0939, 1},
+ {0x093c, 0x094d, 1},
+ {0x0950, 0x0954, 1},
+ {0x0958, 0x0970, 1},
+ {0x097d, 0x0981, 4},
+ {0x0982, 0x0983, 1},
+ {0x0985, 0x098c, 1},
+ {0x098f, 0x0990, 1},
+ {0x0993, 0x09a8, 1},
+ {0x09aa, 0x09b0, 1},
+ {0x09b2, 0x09b6, 4},
+ {0x09b7, 0x09b9, 1},
+ {0x09bc, 0x09c4, 1},
+ {0x09c7, 0x09c8, 1},
+ {0x09cb, 0x09ce, 1},
+ {0x09d7, 0x09dc, 5},
+ {0x09dd, 0x09df, 2},
+ {0x09e0, 0x09e3, 1},
+ {0x09e6, 0x09fa, 1},
+ {0x0a01, 0x0a03, 1},
+ {0x0a05, 0x0a0a, 1},
+ {0x0a0f, 0x0a10, 1},
+ {0x0a13, 0x0a28, 1},
+ {0x0a2a, 0x0a30, 1},
+ {0x0a32, 0x0a33, 1},
+ {0x0a35, 0x0a36, 1},
+ {0x0a38, 0x0a39, 1},
+ {0x0a3c, 0x0a3e, 2},
+ {0x0a3f, 0x0a42, 1},
+ {0x0a47, 0x0a48, 1},
+ {0x0a4b, 0x0a4d, 1},
+ {0x0a59, 0x0a5c, 1},
+ {0x0a5e, 0x0a66, 8},
+ {0x0a67, 0x0a74, 1},
+ {0x0a81, 0x0a83, 1},
+ {0x0a85, 0x0a8d, 1},
+ {0x0a8f, 0x0a91, 1},
+ {0x0a93, 0x0aa8, 1},
+ {0x0aaa, 0x0ab0, 1},
+ {0x0ab2, 0x0ab3, 1},
+ {0x0ab5, 0x0ab9, 1},
+ {0x0abc, 0x0ac5, 1},
+ {0x0ac7, 0x0ac9, 1},
+ {0x0acb, 0x0acd, 1},
+ {0x0ad0, 0x0ae0, 16},
+ {0x0ae1, 0x0ae3, 1},
+ {0x0ae6, 0x0aef, 1},
+ {0x0af1, 0x0b01, 16},
+ {0x0b02, 0x0b03, 1},
+ {0x0b05, 0x0b0c, 1},
+ {0x0b0f, 0x0b10, 1},
+ {0x0b13, 0x0b28, 1},
+ {0x0b2a, 0x0b30, 1},
+ {0x0b32, 0x0b33, 1},
+ {0x0b35, 0x0b39, 1},
+ {0x0b3c, 0x0b43, 1},
+ {0x0b47, 0x0b48, 1},
+ {0x0b4b, 0x0b4d, 1},
+ {0x0b56, 0x0b57, 1},
+ {0x0b5c, 0x0b5d, 1},
+ {0x0b5f, 0x0b61, 1},
+ {0x0b66, 0x0b71, 1},
+ {0x0b82, 0x0b83, 1},
+ {0x0b85, 0x0b8a, 1},
+ {0x0b8e, 0x0b90, 1},
+ {0x0b92, 0x0b95, 1},
+ {0x0b99, 0x0b9a, 1},
+ {0x0b9c, 0x0b9e, 2},
+ {0x0b9f, 0x0ba3, 4},
+ {0x0ba4, 0x0ba8, 4},
+ {0x0ba9, 0x0baa, 1},
+ {0x0bae, 0x0bb9, 1},
+ {0x0bbe, 0x0bc2, 1},
+ {0x0bc6, 0x0bc8, 1},
+ {0x0bca, 0x0bcd, 1},
+ {0x0bd7, 0x0be6, 15},
+ {0x0be7, 0x0bfa, 1},
+ {0x0c01, 0x0c03, 1},
+ {0x0c05, 0x0c0c, 1},
+ {0x0c0e, 0x0c10, 1},
+ {0x0c12, 0x0c28, 1},
+ {0x0c2a, 0x0c33, 1},
+ {0x0c35, 0x0c39, 1},
+ {0x0c3e, 0x0c44, 1},
+ {0x0c46, 0x0c48, 1},
+ {0x0c4a, 0x0c4d, 1},
+ {0x0c55, 0x0c56, 1},
+ {0x0c60, 0x0c61, 1},
+ {0x0c66, 0x0c6f, 1},
+ {0x0c82, 0x0c83, 1},
+ {0x0c85, 0x0c8c, 1},
+ {0x0c8e, 0x0c90, 1},
+ {0x0c92, 0x0ca8, 1},
+ {0x0caa, 0x0cb3, 1},
+ {0x0cb5, 0x0cb9, 1},
+ {0x0cbc, 0x0cc4, 1},
+ {0x0cc6, 0x0cc8, 1},
+ {0x0cca, 0x0ccd, 1},
+ {0x0cd5, 0x0cd6, 1},
+ {0x0cde, 0x0ce0, 2},
+ {0x0ce1, 0x0ce6, 5},
+ {0x0ce7, 0x0cef, 1},
+ {0x0d02, 0x0d03, 1},
+ {0x0d05, 0x0d0c, 1},
+ {0x0d0e, 0x0d10, 1},
+ {0x0d12, 0x0d28, 1},
+ {0x0d2a, 0x0d39, 1},
+ {0x0d3e, 0x0d43, 1},
+ {0x0d46, 0x0d48, 1},
+ {0x0d4a, 0x0d4d, 1},
+ {0x0d57, 0x0d60, 9},
+ {0x0d61, 0x0d66, 5},
+ {0x0d67, 0x0d6f, 1},
+ {0x0d82, 0x0d83, 1},
+ {0x0d85, 0x0d96, 1},
+ {0x0d9a, 0x0db1, 1},
+ {0x0db3, 0x0dbb, 1},
+ {0x0dbd, 0x0dc0, 3},
+ {0x0dc1, 0x0dc6, 1},
+ {0x0dca, 0x0dcf, 5},
+ {0x0dd0, 0x0dd4, 1},
+ {0x0dd6, 0x0dd8, 2},
+ {0x0dd9, 0x0ddf, 1},
+ {0x0df2, 0x0df4, 1},
+ {0x0e01, 0x0e3a, 1},
+ {0x0e3f, 0x0e5b, 1},
+ {0x0e81, 0x0e82, 1},
+ {0x0e84, 0x0e87, 3},
+ {0x0e88, 0x0e8a, 2},
+ {0x0e8d, 0x0e94, 7},
+ {0x0e95, 0x0e97, 1},
+ {0x0e99, 0x0e9f, 1},
+ {0x0ea1, 0x0ea3, 1},
+ {0x0ea5, 0x0ea7, 2},
+ {0x0eaa, 0x0eab, 1},
+ {0x0ead, 0x0eb9, 1},
+ {0x0ebb, 0x0ebd, 1},
+ {0x0ec0, 0x0ec4, 1},
+ {0x0ec6, 0x0ec8, 2},
+ {0x0ec9, 0x0ecd, 1},
+ {0x0ed0, 0x0ed9, 1},
+ {0x0edc, 0x0edd, 1},
+ {0x0f00, 0x0f47, 1},
+ {0x0f49, 0x0f6a, 1},
+ {0x0f71, 0x0f8b, 1},
+ {0x0f90, 0x0f97, 1},
+ {0x0f99, 0x0fbc, 1},
+ {0x0fbe, 0x0fcc, 1},
+ {0x0fcf, 0x0fd1, 1},
+ {0x1000, 0x1021, 1},
+ {0x1023, 0x1027, 1},
+ {0x1029, 0x102a, 1},
+ {0x102c, 0x1032, 1},
+ {0x1036, 0x1039, 1},
+ {0x1040, 0x1059, 1},
+ {0x10a0, 0x10c5, 1},
+ {0x10d0, 0x10fc, 1},
+ {0x1100, 0x1159, 1},
+ {0x115f, 0x11a2, 1},
+ {0x11a8, 0x11f9, 1},
+ {0x1200, 0x1248, 1},
+ {0x124a, 0x124d, 1},
+ {0x1250, 0x1256, 1},
+ {0x1258, 0x125a, 2},
+ {0x125b, 0x125d, 1},
+ {0x1260, 0x1288, 1},
+ {0x128a, 0x128d, 1},
+ {0x1290, 0x12b0, 1},
+ {0x12b2, 0x12b5, 1},
+ {0x12b8, 0x12be, 1},
+ {0x12c0, 0x12c2, 2},
+ {0x12c3, 0x12c5, 1},
+ {0x12c8, 0x12d6, 1},
+ {0x12d8, 0x1310, 1},
+ {0x1312, 0x1315, 1},
+ {0x1318, 0x135a, 1},
+ {0x135f, 0x137c, 1},
+ {0x1380, 0x1399, 1},
+ {0x13a0, 0x13f4, 1},
+ {0x1401, 0x1676, 1},
+ {0x1680, 0x169c, 1},
+ {0x16a0, 0x16f0, 1},
+ {0x1700, 0x170c, 1},
+ {0x170e, 0x1714, 1},
+ {0x1720, 0x1736, 1},
+ {0x1740, 0x1753, 1},
+ {0x1760, 0x176c, 1},
+ {0x176e, 0x1770, 1},
+ {0x1772, 0x1773, 1},
+ {0x1780, 0x17dd, 1},
+ {0x17e0, 0x17e9, 1},
+ {0x17f0, 0x17f9, 1},
+ {0x1800, 0x180e, 1},
+ {0x1810, 0x1819, 1},
+ {0x1820, 0x1877, 1},
+ {0x1880, 0x18a9, 1},
+ {0x1900, 0x191c, 1},
+ {0x1920, 0x192b, 1},
+ {0x1930, 0x193b, 1},
+ {0x1940, 0x1944, 4},
+ {0x1945, 0x196d, 1},
+ {0x1970, 0x1974, 1},
+ {0x1980, 0x19a9, 1},
+ {0x19b0, 0x19c9, 1},
+ {0x19d0, 0x19d9, 1},
+ {0x19de, 0x1a1b, 1},
+ {0x1a1e, 0x1a1f, 1},
+ {0x1d00, 0x1dc3, 1},
+ {0x1e00, 0x1e9b, 1},
+ {0x1ea0, 0x1ef9, 1},
+ {0x1f00, 0x1f15, 1},
+ {0x1f18, 0x1f1d, 1},
+ {0x1f20, 0x1f45, 1},
+ {0x1f48, 0x1f4d, 1},
+ {0x1f50, 0x1f57, 1},
+ {0x1f59, 0x1f5f, 2},
+ {0x1f60, 0x1f7d, 1},
+ {0x1f80, 0x1fb4, 1},
+ {0x1fb6, 0x1fc4, 1},
+ {0x1fc6, 0x1fd3, 1},
+ {0x1fd6, 0x1fdb, 1},
+ {0x1fdd, 0x1fef, 1},
+ {0x1ff2, 0x1ff4, 1},
+ {0x1ff6, 0x1ffe, 1},
+ {0x2000, 0x2063, 1},
+ {0x206a, 0x2071, 1},
+ {0x2074, 0x208e, 1},
+ {0x2090, 0x2094, 1},
+ {0x20a0, 0x20b5, 1},
+ {0x20d0, 0x20eb, 1},
+ {0x2100, 0x214c, 1},
+ {0x2153, 0x2183, 1},
+ {0x2190, 0x23db, 1},
+ {0x2400, 0x2426, 1},
+ {0x2440, 0x244a, 1},
+ {0x2460, 0x269c, 1},
+ {0x26a0, 0x26b1, 1},
+ {0x2701, 0x2704, 1},
+ {0x2706, 0x2709, 1},
+ {0x270c, 0x2727, 1},
+ {0x2729, 0x274b, 1},
+ {0x274d, 0x274f, 2},
+ {0x2750, 0x2752, 1},
+ {0x2756, 0x2758, 2},
+ {0x2759, 0x275e, 1},
+ {0x2761, 0x2794, 1},
+ {0x2798, 0x27af, 1},
+ {0x27b1, 0x27be, 1},
+ {0x27c0, 0x27c6, 1},
+ {0x27d0, 0x27eb, 1},
+ {0x27f0, 0x2b13, 1},
+ {0x2c00, 0x2c2e, 1},
+ {0x2c30, 0x2c5e, 1},
+ {0x2c80, 0x2cea, 1},
+ {0x2cf9, 0x2d25, 1},
+ {0x2d30, 0x2d65, 1},
+ {0x2d6f, 0x2d80, 17},
+ {0x2d81, 0x2d96, 1},
+ {0x2da0, 0x2da6, 1},
+ {0x2da8, 0x2dae, 1},
+ {0x2db0, 0x2db6, 1},
+ {0x2db8, 0x2dbe, 1},
+ {0x2dc0, 0x2dc6, 1},
+ {0x2dc8, 0x2dce, 1},
+ {0x2dd0, 0x2dd6, 1},
+ {0x2dd8, 0x2dde, 1},
+ {0x2e00, 0x2e17, 1},
+ {0x2e1c, 0x2e1d, 1},
+ {0x2e80, 0x2e99, 1},
+ {0x2e9b, 0x2ef3, 1},
+ {0x2f00, 0x2fd5, 1},
+ {0x2ff0, 0x2ffb, 1},
+ {0x3000, 0x303f, 1},
+ {0x3041, 0x3096, 1},
+ {0x3099, 0x30ff, 1},
+ {0x3105, 0x312c, 1},
+ {0x3131, 0x318e, 1},
+ {0x3190, 0x31b7, 1},
+ {0x31c0, 0x31cf, 1},
+ {0x31f0, 0x321e, 1},
+ {0x3220, 0x3243, 1},
+ {0x3250, 0x32fe, 1},
+ {0x3300, 0x4db5, 1},
+ {0x4dc0, 0x9fbb, 1},
+ {0xa000, 0xa48c, 1},
+ {0xa490, 0xa4c6, 1},
+ {0xa700, 0xa716, 1},
+ {0xa800, 0xa82b, 1},
+ {0xac00, 0xd7a3, 1},
+ {0xd800, 0xfa2d, 1},
+ {0xfa30, 0xfa6a, 1},
+ {0xfa70, 0xfad9, 1},
+ {0xfb00, 0xfb06, 1},
+ {0xfb13, 0xfb17, 1},
+ {0xfb1d, 0xfb36, 1},
+ {0xfb38, 0xfb3c, 1},
+ {0xfb3e, 0xfb40, 2},
+ {0xfb41, 0xfb43, 2},
+ {0xfb44, 0xfb46, 2},
+ {0xfb47, 0xfbb1, 1},
+ {0xfbd3, 0xfd3f, 1},
+ {0xfd50, 0xfd8f, 1},
+ {0xfd92, 0xfdc7, 1},
+ {0xfdf0, 0xfdfd, 1},
+ {0xfe00, 0xfe19, 1},
+ {0xfe20, 0xfe23, 1},
+ {0xfe30, 0xfe52, 1},
+ {0xfe54, 0xfe66, 1},
+ {0xfe68, 0xfe6b, 1},
+ {0xfe70, 0xfe74, 1},
+ {0xfe76, 0xfefc, 1},
+ {0xfeff, 0xff01, 2},
+ {0xff02, 0xffbe, 1},
+ {0xffc2, 0xffc7, 1},
+ {0xffca, 0xffcf, 1},
+ {0xffd2, 0xffd7, 1},
+ {0xffda, 0xffdc, 1},
+ {0xffe0, 0xffe6, 1},
+ {0xffe8, 0xffee, 1},
+ {0xfff9, 0xfffd, 1},
+ },
+ R32: []unicode.Range32{
+ {0x00010000, 0x0001000b, 1},
+ {0x0001000d, 0x00010026, 1},
+ {0x00010028, 0x0001003a, 1},
+ {0x0001003c, 0x0001003d, 1},
+ {0x0001003f, 0x0001004d, 1},
+ {0x00010050, 0x0001005d, 1},
+ {0x00010080, 0x000100fa, 1},
+ {0x00010100, 0x00010102, 1},
+ {0x00010107, 0x00010133, 1},
+ {0x00010137, 0x0001018a, 1},
+ {0x00010300, 0x0001031e, 1},
+ {0x00010320, 0x00010323, 1},
+ {0x00010330, 0x0001034a, 1},
+ {0x00010380, 0x0001039d, 1},
+ {0x0001039f, 0x000103c3, 1},
+ {0x000103c8, 0x000103d5, 1},
+ {0x00010400, 0x0001049d, 1},
+ {0x000104a0, 0x000104a9, 1},
+ {0x00010800, 0x00010805, 1},
+ {0x00010808, 0x0001080a, 2},
+ {0x0001080b, 0x00010835, 1},
+ {0x00010837, 0x00010838, 1},
+ {0x0001083c, 0x0001083f, 3},
+ {0x00010a00, 0x00010a03, 1},
+ {0x00010a05, 0x00010a06, 1},
+ {0x00010a0c, 0x00010a13, 1},
+ {0x00010a15, 0x00010a17, 1},
+ {0x00010a19, 0x00010a33, 1},
+ {0x00010a38, 0x00010a3a, 1},
+ {0x00010a3f, 0x00010a47, 1},
+ {0x00010a50, 0x00010a58, 1},
+ {0x0001d000, 0x0001d0f5, 1},
+ {0x0001d100, 0x0001d126, 1},
+ {0x0001d12a, 0x0001d1dd, 1},
+ {0x0001d200, 0x0001d245, 1},
+ {0x0001d300, 0x0001d356, 1},
+ {0x0001d400, 0x0001d454, 1},
+ {0x0001d456, 0x0001d49c, 1},
+ {0x0001d49e, 0x0001d49f, 1},
+ {0x0001d4a2, 0x0001d4a5, 3},
+ {0x0001d4a6, 0x0001d4a9, 3},
+ {0x0001d4aa, 0x0001d4ac, 1},
+ {0x0001d4ae, 0x0001d4b9, 1},
+ {0x0001d4bb, 0x0001d4bd, 2},
+ {0x0001d4be, 0x0001d4c3, 1},
+ {0x0001d4c5, 0x0001d505, 1},
+ {0x0001d507, 0x0001d50a, 1},
+ {0x0001d50d, 0x0001d514, 1},
+ {0x0001d516, 0x0001d51c, 1},
+ {0x0001d51e, 0x0001d539, 1},
+ {0x0001d53b, 0x0001d53e, 1},
+ {0x0001d540, 0x0001d544, 1},
+ {0x0001d546, 0x0001d54a, 4},
+ {0x0001d54b, 0x0001d550, 1},
+ {0x0001d552, 0x0001d6a5, 1},
+ {0x0001d6a8, 0x0001d7c9, 1},
+ {0x0001d7ce, 0x0001d7ff, 1},
+ {0x00020000, 0x0002a6d6, 1},
+ {0x0002f800, 0x0002fa1d, 1},
+ {0x000e0001, 0x000e0020, 31},
+ {0x000e0021, 0x000e007f, 1},
+ {0x000e0100, 0x000e01ef, 1},
+ {0x000f0000, 0x000ffffd, 1},
+ {0x00100000, 0x0010fffd, 1},
+ },
+ LatinOffset: 0,
+}
+
+// size 3152 bytes (3 KiB)
+var assigned5_1_0 = &unicode.RangeTable{
+ R16: []unicode.Range16{
+ {0x0000, 0x0377, 1},
+ {0x037a, 0x037e, 1},
+ {0x0384, 0x038a, 1},
+ {0x038c, 0x038e, 2},
+ {0x038f, 0x03a1, 1},
+ {0x03a3, 0x0523, 1},
+ {0x0531, 0x0556, 1},
+ {0x0559, 0x055f, 1},
+ {0x0561, 0x0587, 1},
+ {0x0589, 0x058a, 1},
+ {0x0591, 0x05c7, 1},
+ {0x05d0, 0x05ea, 1},
+ {0x05f0, 0x05f4, 1},
+ {0x0600, 0x0603, 1},
+ {0x0606, 0x061b, 1},
+ {0x061e, 0x061f, 1},
+ {0x0621, 0x065e, 1},
+ {0x0660, 0x070d, 1},
+ {0x070f, 0x074a, 1},
+ {0x074d, 0x07b1, 1},
+ {0x07c0, 0x07fa, 1},
+ {0x0901, 0x0939, 1},
+ {0x093c, 0x094d, 1},
+ {0x0950, 0x0954, 1},
+ {0x0958, 0x0972, 1},
+ {0x097b, 0x097f, 1},
+ {0x0981, 0x0983, 1},
+ {0x0985, 0x098c, 1},
+ {0x098f, 0x0990, 1},
+ {0x0993, 0x09a8, 1},
+ {0x09aa, 0x09b0, 1},
+ {0x09b2, 0x09b6, 4},
+ {0x09b7, 0x09b9, 1},
+ {0x09bc, 0x09c4, 1},
+ {0x09c7, 0x09c8, 1},
+ {0x09cb, 0x09ce, 1},
+ {0x09d7, 0x09dc, 5},
+ {0x09dd, 0x09df, 2},
+ {0x09e0, 0x09e3, 1},
+ {0x09e6, 0x09fa, 1},
+ {0x0a01, 0x0a03, 1},
+ {0x0a05, 0x0a0a, 1},
+ {0x0a0f, 0x0a10, 1},
+ {0x0a13, 0x0a28, 1},
+ {0x0a2a, 0x0a30, 1},
+ {0x0a32, 0x0a33, 1},
+ {0x0a35, 0x0a36, 1},
+ {0x0a38, 0x0a39, 1},
+ {0x0a3c, 0x0a3e, 2},
+ {0x0a3f, 0x0a42, 1},
+ {0x0a47, 0x0a48, 1},
+ {0x0a4b, 0x0a4d, 1},
+ {0x0a51, 0x0a59, 8},
+ {0x0a5a, 0x0a5c, 1},
+ {0x0a5e, 0x0a66, 8},
+ {0x0a67, 0x0a75, 1},
+ {0x0a81, 0x0a83, 1},
+ {0x0a85, 0x0a8d, 1},
+ {0x0a8f, 0x0a91, 1},
+ {0x0a93, 0x0aa8, 1},
+ {0x0aaa, 0x0ab0, 1},
+ {0x0ab2, 0x0ab3, 1},
+ {0x0ab5, 0x0ab9, 1},
+ {0x0abc, 0x0ac5, 1},
+ {0x0ac7, 0x0ac9, 1},
+ {0x0acb, 0x0acd, 1},
+ {0x0ad0, 0x0ae0, 16},
+ {0x0ae1, 0x0ae3, 1},
+ {0x0ae6, 0x0aef, 1},
+ {0x0af1, 0x0b01, 16},
+ {0x0b02, 0x0b03, 1},
+ {0x0b05, 0x0b0c, 1},
+ {0x0b0f, 0x0b10, 1},
+ {0x0b13, 0x0b28, 1},
+ {0x0b2a, 0x0b30, 1},
+ {0x0b32, 0x0b33, 1},
+ {0x0b35, 0x0b39, 1},
+ {0x0b3c, 0x0b44, 1},
+ {0x0b47, 0x0b48, 1},
+ {0x0b4b, 0x0b4d, 1},
+ {0x0b56, 0x0b57, 1},
+ {0x0b5c, 0x0b5d, 1},
+ {0x0b5f, 0x0b63, 1},
+ {0x0b66, 0x0b71, 1},
+ {0x0b82, 0x0b83, 1},
+ {0x0b85, 0x0b8a, 1},
+ {0x0b8e, 0x0b90, 1},
+ {0x0b92, 0x0b95, 1},
+ {0x0b99, 0x0b9a, 1},
+ {0x0b9c, 0x0b9e, 2},
+ {0x0b9f, 0x0ba3, 4},
+ {0x0ba4, 0x0ba8, 4},
+ {0x0ba9, 0x0baa, 1},
+ {0x0bae, 0x0bb9, 1},
+ {0x0bbe, 0x0bc2, 1},
+ {0x0bc6, 0x0bc8, 1},
+ {0x0bca, 0x0bcd, 1},
+ {0x0bd0, 0x0bd7, 7},
+ {0x0be6, 0x0bfa, 1},
+ {0x0c01, 0x0c03, 1},
+ {0x0c05, 0x0c0c, 1},
+ {0x0c0e, 0x0c10, 1},
+ {0x0c12, 0x0c28, 1},
+ {0x0c2a, 0x0c33, 1},
+ {0x0c35, 0x0c39, 1},
+ {0x0c3d, 0x0c44, 1},
+ {0x0c46, 0x0c48, 1},
+ {0x0c4a, 0x0c4d, 1},
+ {0x0c55, 0x0c56, 1},
+ {0x0c58, 0x0c59, 1},
+ {0x0c60, 0x0c63, 1},
+ {0x0c66, 0x0c6f, 1},
+ {0x0c78, 0x0c7f, 1},
+ {0x0c82, 0x0c83, 1},
+ {0x0c85, 0x0c8c, 1},
+ {0x0c8e, 0x0c90, 1},
+ {0x0c92, 0x0ca8, 1},
+ {0x0caa, 0x0cb3, 1},
+ {0x0cb5, 0x0cb9, 1},
+ {0x0cbc, 0x0cc4, 1},
+ {0x0cc6, 0x0cc8, 1},
+ {0x0cca, 0x0ccd, 1},
+ {0x0cd5, 0x0cd6, 1},
+ {0x0cde, 0x0ce0, 2},
+ {0x0ce1, 0x0ce3, 1},
+ {0x0ce6, 0x0cef, 1},
+ {0x0cf1, 0x0cf2, 1},
+ {0x0d02, 0x0d03, 1},
+ {0x0d05, 0x0d0c, 1},
+ {0x0d0e, 0x0d10, 1},
+ {0x0d12, 0x0d28, 1},
+ {0x0d2a, 0x0d39, 1},
+ {0x0d3d, 0x0d44, 1},
+ {0x0d46, 0x0d48, 1},
+ {0x0d4a, 0x0d4d, 1},
+ {0x0d57, 0x0d60, 9},
+ {0x0d61, 0x0d63, 1},
+ {0x0d66, 0x0d75, 1},
+ {0x0d79, 0x0d7f, 1},
+ {0x0d82, 0x0d83, 1},
+ {0x0d85, 0x0d96, 1},
+ {0x0d9a, 0x0db1, 1},
+ {0x0db3, 0x0dbb, 1},
+ {0x0dbd, 0x0dc0, 3},
+ {0x0dc1, 0x0dc6, 1},
+ {0x0dca, 0x0dcf, 5},
+ {0x0dd0, 0x0dd4, 1},
+ {0x0dd6, 0x0dd8, 2},
+ {0x0dd9, 0x0ddf, 1},
+ {0x0df2, 0x0df4, 1},
+ {0x0e01, 0x0e3a, 1},
+ {0x0e3f, 0x0e5b, 1},
+ {0x0e81, 0x0e82, 1},
+ {0x0e84, 0x0e87, 3},
+ {0x0e88, 0x0e8a, 2},
+ {0x0e8d, 0x0e94, 7},
+ {0x0e95, 0x0e97, 1},
+ {0x0e99, 0x0e9f, 1},
+ {0x0ea1, 0x0ea3, 1},
+ {0x0ea5, 0x0ea7, 2},
+ {0x0eaa, 0x0eab, 1},
+ {0x0ead, 0x0eb9, 1},
+ {0x0ebb, 0x0ebd, 1},
+ {0x0ec0, 0x0ec4, 1},
+ {0x0ec6, 0x0ec8, 2},
+ {0x0ec9, 0x0ecd, 1},
+ {0x0ed0, 0x0ed9, 1},
+ {0x0edc, 0x0edd, 1},
+ {0x0f00, 0x0f47, 1},
+ {0x0f49, 0x0f6c, 1},
+ {0x0f71, 0x0f8b, 1},
+ {0x0f90, 0x0f97, 1},
+ {0x0f99, 0x0fbc, 1},
+ {0x0fbe, 0x0fcc, 1},
+ {0x0fce, 0x0fd4, 1},
+ {0x1000, 0x1099, 1},
+ {0x109e, 0x10c5, 1},
+ {0x10d0, 0x10fc, 1},
+ {0x1100, 0x1159, 1},
+ {0x115f, 0x11a2, 1},
+ {0x11a8, 0x11f9, 1},
+ {0x1200, 0x1248, 1},
+ {0x124a, 0x124d, 1},
+ {0x1250, 0x1256, 1},
+ {0x1258, 0x125a, 2},
+ {0x125b, 0x125d, 1},
+ {0x1260, 0x1288, 1},
+ {0x128a, 0x128d, 1},
+ {0x1290, 0x12b0, 1},
+ {0x12b2, 0x12b5, 1},
+ {0x12b8, 0x12be, 1},
+ {0x12c0, 0x12c2, 2},
+ {0x12c3, 0x12c5, 1},
+ {0x12c8, 0x12d6, 1},
+ {0x12d8, 0x1310, 1},
+ {0x1312, 0x1315, 1},
+ {0x1318, 0x135a, 1},
+ {0x135f, 0x137c, 1},
+ {0x1380, 0x1399, 1},
+ {0x13a0, 0x13f4, 1},
+ {0x1401, 0x1676, 1},
+ {0x1680, 0x169c, 1},
+ {0x16a0, 0x16f0, 1},
+ {0x1700, 0x170c, 1},
+ {0x170e, 0x1714, 1},
+ {0x1720, 0x1736, 1},
+ {0x1740, 0x1753, 1},
+ {0x1760, 0x176c, 1},
+ {0x176e, 0x1770, 1},
+ {0x1772, 0x1773, 1},
+ {0x1780, 0x17dd, 1},
+ {0x17e0, 0x17e9, 1},
+ {0x17f0, 0x17f9, 1},
+ {0x1800, 0x180e, 1},
+ {0x1810, 0x1819, 1},
+ {0x1820, 0x1877, 1},
+ {0x1880, 0x18aa, 1},
+ {0x1900, 0x191c, 1},
+ {0x1920, 0x192b, 1},
+ {0x1930, 0x193b, 1},
+ {0x1940, 0x1944, 4},
+ {0x1945, 0x196d, 1},
+ {0x1970, 0x1974, 1},
+ {0x1980, 0x19a9, 1},
+ {0x19b0, 0x19c9, 1},
+ {0x19d0, 0x19d9, 1},
+ {0x19de, 0x1a1b, 1},
+ {0x1a1e, 0x1a1f, 1},
+ {0x1b00, 0x1b4b, 1},
+ {0x1b50, 0x1b7c, 1},
+ {0x1b80, 0x1baa, 1},
+ {0x1bae, 0x1bb9, 1},
+ {0x1c00, 0x1c37, 1},
+ {0x1c3b, 0x1c49, 1},
+ {0x1c4d, 0x1c7f, 1},
+ {0x1d00, 0x1de6, 1},
+ {0x1dfe, 0x1f15, 1},
+ {0x1f18, 0x1f1d, 1},
+ {0x1f20, 0x1f45, 1},
+ {0x1f48, 0x1f4d, 1},
+ {0x1f50, 0x1f57, 1},
+ {0x1f59, 0x1f5f, 2},
+ {0x1f60, 0x1f7d, 1},
+ {0x1f80, 0x1fb4, 1},
+ {0x1fb6, 0x1fc4, 1},
+ {0x1fc6, 0x1fd3, 1},
+ {0x1fd6, 0x1fdb, 1},
+ {0x1fdd, 0x1fef, 1},
+ {0x1ff2, 0x1ff4, 1},
+ {0x1ff6, 0x1ffe, 1},
+ {0x2000, 0x2064, 1},
+ {0x206a, 0x2071, 1},
+ {0x2074, 0x208e, 1},
+ {0x2090, 0x2094, 1},
+ {0x20a0, 0x20b5, 1},
+ {0x20d0, 0x20f0, 1},
+ {0x2100, 0x214f, 1},
+ {0x2153, 0x2188, 1},
+ {0x2190, 0x23e7, 1},
+ {0x2400, 0x2426, 1},
+ {0x2440, 0x244a, 1},
+ {0x2460, 0x269d, 1},
+ {0x26a0, 0x26bc, 1},
+ {0x26c0, 0x26c3, 1},
+ {0x2701, 0x2704, 1},
+ {0x2706, 0x2709, 1},
+ {0x270c, 0x2727, 1},
+ {0x2729, 0x274b, 1},
+ {0x274d, 0x274f, 2},
+ {0x2750, 0x2752, 1},
+ {0x2756, 0x2758, 2},
+ {0x2759, 0x275e, 1},
+ {0x2761, 0x2794, 1},
+ {0x2798, 0x27af, 1},
+ {0x27b1, 0x27be, 1},
+ {0x27c0, 0x27ca, 1},
+ {0x27cc, 0x27d0, 4},
+ {0x27d1, 0x2b4c, 1},
+ {0x2b50, 0x2b54, 1},
+ {0x2c00, 0x2c2e, 1},
+ {0x2c30, 0x2c5e, 1},
+ {0x2c60, 0x2c6f, 1},
+ {0x2c71, 0x2c7d, 1},
+ {0x2c80, 0x2cea, 1},
+ {0x2cf9, 0x2d25, 1},
+ {0x2d30, 0x2d65, 1},
+ {0x2d6f, 0x2d80, 17},
+ {0x2d81, 0x2d96, 1},
+ {0x2da0, 0x2da6, 1},
+ {0x2da8, 0x2dae, 1},
+ {0x2db0, 0x2db6, 1},
+ {0x2db8, 0x2dbe, 1},
+ {0x2dc0, 0x2dc6, 1},
+ {0x2dc8, 0x2dce, 1},
+ {0x2dd0, 0x2dd6, 1},
+ {0x2dd8, 0x2dde, 1},
+ {0x2de0, 0x2e30, 1},
+ {0x2e80, 0x2e99, 1},
+ {0x2e9b, 0x2ef3, 1},
+ {0x2f00, 0x2fd5, 1},
+ {0x2ff0, 0x2ffb, 1},
+ {0x3000, 0x303f, 1},
+ {0x3041, 0x3096, 1},
+ {0x3099, 0x30ff, 1},
+ {0x3105, 0x312d, 1},
+ {0x3131, 0x318e, 1},
+ {0x3190, 0x31b7, 1},
+ {0x31c0, 0x31e3, 1},
+ {0x31f0, 0x321e, 1},
+ {0x3220, 0x3243, 1},
+ {0x3250, 0x32fe, 1},
+ {0x3300, 0x4db5, 1},
+ {0x4dc0, 0x9fc3, 1},
+ {0xa000, 0xa48c, 1},
+ {0xa490, 0xa4c6, 1},
+ {0xa500, 0xa62b, 1},
+ {0xa640, 0xa65f, 1},
+ {0xa662, 0xa673, 1},
+ {0xa67c, 0xa697, 1},
+ {0xa700, 0xa78c, 1},
+ {0xa7fb, 0xa82b, 1},
+ {0xa840, 0xa877, 1},
+ {0xa880, 0xa8c4, 1},
+ {0xa8ce, 0xa8d9, 1},
+ {0xa900, 0xa953, 1},
+ {0xa95f, 0xaa00, 161},
+ {0xaa01, 0xaa36, 1},
+ {0xaa40, 0xaa4d, 1},
+ {0xaa50, 0xaa59, 1},
+ {0xaa5c, 0xaa5f, 1},
+ {0xac00, 0xd7a3, 1},
+ {0xd800, 0xfa2d, 1},
+ {0xfa30, 0xfa6a, 1},
+ {0xfa70, 0xfad9, 1},
+ {0xfb00, 0xfb06, 1},
+ {0xfb13, 0xfb17, 1},
+ {0xfb1d, 0xfb36, 1},
+ {0xfb38, 0xfb3c, 1},
+ {0xfb3e, 0xfb40, 2},
+ {0xfb41, 0xfb43, 2},
+ {0xfb44, 0xfb46, 2},
+ {0xfb47, 0xfbb1, 1},
+ {0xfbd3, 0xfd3f, 1},
+ {0xfd50, 0xfd8f, 1},
+ {0xfd92, 0xfdc7, 1},
+ {0xfdf0, 0xfdfd, 1},
+ {0xfe00, 0xfe19, 1},
+ {0xfe20, 0xfe26, 1},
+ {0xfe30, 0xfe52, 1},
+ {0xfe54, 0xfe66, 1},
+ {0xfe68, 0xfe6b, 1},
+ {0xfe70, 0xfe74, 1},
+ {0xfe76, 0xfefc, 1},
+ {0xfeff, 0xff01, 2},
+ {0xff02, 0xffbe, 1},
+ {0xffc2, 0xffc7, 1},
+ {0xffca, 0xffcf, 1},
+ {0xffd2, 0xffd7, 1},
+ {0xffda, 0xffdc, 1},
+ {0xffe0, 0xffe6, 1},
+ {0xffe8, 0xffee, 1},
+ {0xfff9, 0xfffd, 1},
+ },
+ R32: []unicode.Range32{
+ {0x00010000, 0x0001000b, 1},
+ {0x0001000d, 0x00010026, 1},
+ {0x00010028, 0x0001003a, 1},
+ {0x0001003c, 0x0001003d, 1},
+ {0x0001003f, 0x0001004d, 1},
+ {0x00010050, 0x0001005d, 1},
+ {0x00010080, 0x000100fa, 1},
+ {0x00010100, 0x00010102, 1},
+ {0x00010107, 0x00010133, 1},
+ {0x00010137, 0x0001018a, 1},
+ {0x00010190, 0x0001019b, 1},
+ {0x000101d0, 0x000101fd, 1},
+ {0x00010280, 0x0001029c, 1},
+ {0x000102a0, 0x000102d0, 1},
+ {0x00010300, 0x0001031e, 1},
+ {0x00010320, 0x00010323, 1},
+ {0x00010330, 0x0001034a, 1},
+ {0x00010380, 0x0001039d, 1},
+ {0x0001039f, 0x000103c3, 1},
+ {0x000103c8, 0x000103d5, 1},
+ {0x00010400, 0x0001049d, 1},
+ {0x000104a0, 0x000104a9, 1},
+ {0x00010800, 0x00010805, 1},
+ {0x00010808, 0x0001080a, 2},
+ {0x0001080b, 0x00010835, 1},
+ {0x00010837, 0x00010838, 1},
+ {0x0001083c, 0x0001083f, 3},
+ {0x00010900, 0x00010919, 1},
+ {0x0001091f, 0x00010939, 1},
+ {0x0001093f, 0x00010a00, 193},
+ {0x00010a01, 0x00010a03, 1},
+ {0x00010a05, 0x00010a06, 1},
+ {0x00010a0c, 0x00010a13, 1},
+ {0x00010a15, 0x00010a17, 1},
+ {0x00010a19, 0x00010a33, 1},
+ {0x00010a38, 0x00010a3a, 1},
+ {0x00010a3f, 0x00010a47, 1},
+ {0x00010a50, 0x00010a58, 1},
+ {0x00012000, 0x0001236e, 1},
+ {0x00012400, 0x00012462, 1},
+ {0x00012470, 0x00012473, 1},
+ {0x0001d000, 0x0001d0f5, 1},
+ {0x0001d100, 0x0001d126, 1},
+ {0x0001d129, 0x0001d1dd, 1},
+ {0x0001d200, 0x0001d245, 1},
+ {0x0001d300, 0x0001d356, 1},
+ {0x0001d360, 0x0001d371, 1},
+ {0x0001d400, 0x0001d454, 1},
+ {0x0001d456, 0x0001d49c, 1},
+ {0x0001d49e, 0x0001d49f, 1},
+ {0x0001d4a2, 0x0001d4a5, 3},
+ {0x0001d4a6, 0x0001d4a9, 3},
+ {0x0001d4aa, 0x0001d4ac, 1},
+ {0x0001d4ae, 0x0001d4b9, 1},
+ {0x0001d4bb, 0x0001d4bd, 2},
+ {0x0001d4be, 0x0001d4c3, 1},
+ {0x0001d4c5, 0x0001d505, 1},
+ {0x0001d507, 0x0001d50a, 1},
+ {0x0001d50d, 0x0001d514, 1},
+ {0x0001d516, 0x0001d51c, 1},
+ {0x0001d51e, 0x0001d539, 1},
+ {0x0001d53b, 0x0001d53e, 1},
+ {0x0001d540, 0x0001d544, 1},
+ {0x0001d546, 0x0001d54a, 4},
+ {0x0001d54b, 0x0001d550, 1},
+ {0x0001d552, 0x0001d6a5, 1},
+ {0x0001d6a8, 0x0001d7cb, 1},
+ {0x0001d7ce, 0x0001d7ff, 1},
+ {0x0001f000, 0x0001f02b, 1},
+ {0x0001f030, 0x0001f093, 1},
+ {0x00020000, 0x0002a6d6, 1},
+ {0x0002f800, 0x0002fa1d, 1},
+ {0x000e0001, 0x000e0020, 31},
+ {0x000e0021, 0x000e007f, 1},
+ {0x000e0100, 0x000e01ef, 1},
+ {0x000f0000, 0x000ffffd, 1},
+ {0x00100000, 0x0010fffd, 1},
+ },
+ LatinOffset: 0,
+}
+
+// size 3518 bytes (3 KiB)
+var assigned5_2_0 = &unicode.RangeTable{
+ R16: []unicode.Range16{
+ {0x0000, 0x0377, 1},
+ {0x037a, 0x037e, 1},
+ {0x0384, 0x038a, 1},
+ {0x038c, 0x038e, 2},
+ {0x038f, 0x03a1, 1},
+ {0x03a3, 0x0525, 1},
+ {0x0531, 0x0556, 1},
+ {0x0559, 0x055f, 1},
+ {0x0561, 0x0587, 1},
+ {0x0589, 0x058a, 1},
+ {0x0591, 0x05c7, 1},
+ {0x05d0, 0x05ea, 1},
+ {0x05f0, 0x05f4, 1},
+ {0x0600, 0x0603, 1},
+ {0x0606, 0x061b, 1},
+ {0x061e, 0x061f, 1},
+ {0x0621, 0x065e, 1},
+ {0x0660, 0x070d, 1},
+ {0x070f, 0x074a, 1},
+ {0x074d, 0x07b1, 1},
+ {0x07c0, 0x07fa, 1},
+ {0x0800, 0x082d, 1},
+ {0x0830, 0x083e, 1},
+ {0x0900, 0x0939, 1},
+ {0x093c, 0x094e, 1},
+ {0x0950, 0x0955, 1},
+ {0x0958, 0x0972, 1},
+ {0x0979, 0x097f, 1},
+ {0x0981, 0x0983, 1},
+ {0x0985, 0x098c, 1},
+ {0x098f, 0x0990, 1},
+ {0x0993, 0x09a8, 1},
+ {0x09aa, 0x09b0, 1},
+ {0x09b2, 0x09b6, 4},
+ {0x09b7, 0x09b9, 1},
+ {0x09bc, 0x09c4, 1},
+ {0x09c7, 0x09c8, 1},
+ {0x09cb, 0x09ce, 1},
+ {0x09d7, 0x09dc, 5},
+ {0x09dd, 0x09df, 2},
+ {0x09e0, 0x09e3, 1},
+ {0x09e6, 0x09fb, 1},
+ {0x0a01, 0x0a03, 1},
+ {0x0a05, 0x0a0a, 1},
+ {0x0a0f, 0x0a10, 1},
+ {0x0a13, 0x0a28, 1},
+ {0x0a2a, 0x0a30, 1},
+ {0x0a32, 0x0a33, 1},
+ {0x0a35, 0x0a36, 1},
+ {0x0a38, 0x0a39, 1},
+ {0x0a3c, 0x0a3e, 2},
+ {0x0a3f, 0x0a42, 1},
+ {0x0a47, 0x0a48, 1},
+ {0x0a4b, 0x0a4d, 1},
+ {0x0a51, 0x0a59, 8},
+ {0x0a5a, 0x0a5c, 1},
+ {0x0a5e, 0x0a66, 8},
+ {0x0a67, 0x0a75, 1},
+ {0x0a81, 0x0a83, 1},
+ {0x0a85, 0x0a8d, 1},
+ {0x0a8f, 0x0a91, 1},
+ {0x0a93, 0x0aa8, 1},
+ {0x0aaa, 0x0ab0, 1},
+ {0x0ab2, 0x0ab3, 1},
+ {0x0ab5, 0x0ab9, 1},
+ {0x0abc, 0x0ac5, 1},
+ {0x0ac7, 0x0ac9, 1},
+ {0x0acb, 0x0acd, 1},
+ {0x0ad0, 0x0ae0, 16},
+ {0x0ae1, 0x0ae3, 1},
+ {0x0ae6, 0x0aef, 1},
+ {0x0af1, 0x0b01, 16},
+ {0x0b02, 0x0b03, 1},
+ {0x0b05, 0x0b0c, 1},
+ {0x0b0f, 0x0b10, 1},
+ {0x0b13, 0x0b28, 1},
+ {0x0b2a, 0x0b30, 1},
+ {0x0b32, 0x0b33, 1},
+ {0x0b35, 0x0b39, 1},
+ {0x0b3c, 0x0b44, 1},
+ {0x0b47, 0x0b48, 1},
+ {0x0b4b, 0x0b4d, 1},
+ {0x0b56, 0x0b57, 1},
+ {0x0b5c, 0x0b5d, 1},
+ {0x0b5f, 0x0b63, 1},
+ {0x0b66, 0x0b71, 1},
+ {0x0b82, 0x0b83, 1},
+ {0x0b85, 0x0b8a, 1},
+ {0x0b8e, 0x0b90, 1},
+ {0x0b92, 0x0b95, 1},
+ {0x0b99, 0x0b9a, 1},
+ {0x0b9c, 0x0b9e, 2},
+ {0x0b9f, 0x0ba3, 4},
+ {0x0ba4, 0x0ba8, 4},
+ {0x0ba9, 0x0baa, 1},
+ {0x0bae, 0x0bb9, 1},
+ {0x0bbe, 0x0bc2, 1},
+ {0x0bc6, 0x0bc8, 1},
+ {0x0bca, 0x0bcd, 1},
+ {0x0bd0, 0x0bd7, 7},
+ {0x0be6, 0x0bfa, 1},
+ {0x0c01, 0x0c03, 1},
+ {0x0c05, 0x0c0c, 1},
+ {0x0c0e, 0x0c10, 1},
+ {0x0c12, 0x0c28, 1},
+ {0x0c2a, 0x0c33, 1},
+ {0x0c35, 0x0c39, 1},
+ {0x0c3d, 0x0c44, 1},
+ {0x0c46, 0x0c48, 1},
+ {0x0c4a, 0x0c4d, 1},
+ {0x0c55, 0x0c56, 1},
+ {0x0c58, 0x0c59, 1},
+ {0x0c60, 0x0c63, 1},
+ {0x0c66, 0x0c6f, 1},
+ {0x0c78, 0x0c7f, 1},
+ {0x0c82, 0x0c83, 1},
+ {0x0c85, 0x0c8c, 1},
+ {0x0c8e, 0x0c90, 1},
+ {0x0c92, 0x0ca8, 1},
+ {0x0caa, 0x0cb3, 1},
+ {0x0cb5, 0x0cb9, 1},
+ {0x0cbc, 0x0cc4, 1},
+ {0x0cc6, 0x0cc8, 1},
+ {0x0cca, 0x0ccd, 1},
+ {0x0cd5, 0x0cd6, 1},
+ {0x0cde, 0x0ce0, 2},
+ {0x0ce1, 0x0ce3, 1},
+ {0x0ce6, 0x0cef, 1},
+ {0x0cf1, 0x0cf2, 1},
+ {0x0d02, 0x0d03, 1},
+ {0x0d05, 0x0d0c, 1},
+ {0x0d0e, 0x0d10, 1},
+ {0x0d12, 0x0d28, 1},
+ {0x0d2a, 0x0d39, 1},
+ {0x0d3d, 0x0d44, 1},
+ {0x0d46, 0x0d48, 1},
+ {0x0d4a, 0x0d4d, 1},
+ {0x0d57, 0x0d60, 9},
+ {0x0d61, 0x0d63, 1},
+ {0x0d66, 0x0d75, 1},
+ {0x0d79, 0x0d7f, 1},
+ {0x0d82, 0x0d83, 1},
+ {0x0d85, 0x0d96, 1},
+ {0x0d9a, 0x0db1, 1},
+ {0x0db3, 0x0dbb, 1},
+ {0x0dbd, 0x0dc0, 3},
+ {0x0dc1, 0x0dc6, 1},
+ {0x0dca, 0x0dcf, 5},
+ {0x0dd0, 0x0dd4, 1},
+ {0x0dd6, 0x0dd8, 2},
+ {0x0dd9, 0x0ddf, 1},
+ {0x0df2, 0x0df4, 1},
+ {0x0e01, 0x0e3a, 1},
+ {0x0e3f, 0x0e5b, 1},
+ {0x0e81, 0x0e82, 1},
+ {0x0e84, 0x0e87, 3},
+ {0x0e88, 0x0e8a, 2},
+ {0x0e8d, 0x0e94, 7},
+ {0x0e95, 0x0e97, 1},
+ {0x0e99, 0x0e9f, 1},
+ {0x0ea1, 0x0ea3, 1},
+ {0x0ea5, 0x0ea7, 2},
+ {0x0eaa, 0x0eab, 1},
+ {0x0ead, 0x0eb9, 1},
+ {0x0ebb, 0x0ebd, 1},
+ {0x0ec0, 0x0ec4, 1},
+ {0x0ec6, 0x0ec8, 2},
+ {0x0ec9, 0x0ecd, 1},
+ {0x0ed0, 0x0ed9, 1},
+ {0x0edc, 0x0edd, 1},
+ {0x0f00, 0x0f47, 1},
+ {0x0f49, 0x0f6c, 1},
+ {0x0f71, 0x0f8b, 1},
+ {0x0f90, 0x0f97, 1},
+ {0x0f99, 0x0fbc, 1},
+ {0x0fbe, 0x0fcc, 1},
+ {0x0fce, 0x0fd8, 1},
+ {0x1000, 0x10c5, 1},
+ {0x10d0, 0x10fc, 1},
+ {0x1100, 0x1248, 1},
+ {0x124a, 0x124d, 1},
+ {0x1250, 0x1256, 1},
+ {0x1258, 0x125a, 2},
+ {0x125b, 0x125d, 1},
+ {0x1260, 0x1288, 1},
+ {0x128a, 0x128d, 1},
+ {0x1290, 0x12b0, 1},
+ {0x12b2, 0x12b5, 1},
+ {0x12b8, 0x12be, 1},
+ {0x12c0, 0x12c2, 2},
+ {0x12c3, 0x12c5, 1},
+ {0x12c8, 0x12d6, 1},
+ {0x12d8, 0x1310, 1},
+ {0x1312, 0x1315, 1},
+ {0x1318, 0x135a, 1},
+ {0x135f, 0x137c, 1},
+ {0x1380, 0x1399, 1},
+ {0x13a0, 0x13f4, 1},
+ {0x1400, 0x169c, 1},
+ {0x16a0, 0x16f0, 1},
+ {0x1700, 0x170c, 1},
+ {0x170e, 0x1714, 1},
+ {0x1720, 0x1736, 1},
+ {0x1740, 0x1753, 1},
+ {0x1760, 0x176c, 1},
+ {0x176e, 0x1770, 1},
+ {0x1772, 0x1773, 1},
+ {0x1780, 0x17dd, 1},
+ {0x17e0, 0x17e9, 1},
+ {0x17f0, 0x17f9, 1},
+ {0x1800, 0x180e, 1},
+ {0x1810, 0x1819, 1},
+ {0x1820, 0x1877, 1},
+ {0x1880, 0x18aa, 1},
+ {0x18b0, 0x18f5, 1},
+ {0x1900, 0x191c, 1},
+ {0x1920, 0x192b, 1},
+ {0x1930, 0x193b, 1},
+ {0x1940, 0x1944, 4},
+ {0x1945, 0x196d, 1},
+ {0x1970, 0x1974, 1},
+ {0x1980, 0x19ab, 1},
+ {0x19b0, 0x19c9, 1},
+ {0x19d0, 0x19da, 1},
+ {0x19de, 0x1a1b, 1},
+ {0x1a1e, 0x1a5e, 1},
+ {0x1a60, 0x1a7c, 1},
+ {0x1a7f, 0x1a89, 1},
+ {0x1a90, 0x1a99, 1},
+ {0x1aa0, 0x1aad, 1},
+ {0x1b00, 0x1b4b, 1},
+ {0x1b50, 0x1b7c, 1},
+ {0x1b80, 0x1baa, 1},
+ {0x1bae, 0x1bb9, 1},
+ {0x1c00, 0x1c37, 1},
+ {0x1c3b, 0x1c49, 1},
+ {0x1c4d, 0x1c7f, 1},
+ {0x1cd0, 0x1cf2, 1},
+ {0x1d00, 0x1de6, 1},
+ {0x1dfd, 0x1f15, 1},
+ {0x1f18, 0x1f1d, 1},
+ {0x1f20, 0x1f45, 1},
+ {0x1f48, 0x1f4d, 1},
+ {0x1f50, 0x1f57, 1},
+ {0x1f59, 0x1f5f, 2},
+ {0x1f60, 0x1f7d, 1},
+ {0x1f80, 0x1fb4, 1},
+ {0x1fb6, 0x1fc4, 1},
+ {0x1fc6, 0x1fd3, 1},
+ {0x1fd6, 0x1fdb, 1},
+ {0x1fdd, 0x1fef, 1},
+ {0x1ff2, 0x1ff4, 1},
+ {0x1ff6, 0x1ffe, 1},
+ {0x2000, 0x2064, 1},
+ {0x206a, 0x2071, 1},
+ {0x2074, 0x208e, 1},
+ {0x2090, 0x2094, 1},
+ {0x20a0, 0x20b8, 1},
+ {0x20d0, 0x20f0, 1},
+ {0x2100, 0x2189, 1},
+ {0x2190, 0x23e8, 1},
+ {0x2400, 0x2426, 1},
+ {0x2440, 0x244a, 1},
+ {0x2460, 0x26cd, 1},
+ {0x26cf, 0x26e1, 1},
+ {0x26e3, 0x26e8, 5},
+ {0x26e9, 0x26ff, 1},
+ {0x2701, 0x2704, 1},
+ {0x2706, 0x2709, 1},
+ {0x270c, 0x2727, 1},
+ {0x2729, 0x274b, 1},
+ {0x274d, 0x274f, 2},
+ {0x2750, 0x2752, 1},
+ {0x2756, 0x275e, 1},
+ {0x2761, 0x2794, 1},
+ {0x2798, 0x27af, 1},
+ {0x27b1, 0x27be, 1},
+ {0x27c0, 0x27ca, 1},
+ {0x27cc, 0x27d0, 4},
+ {0x27d1, 0x2b4c, 1},
+ {0x2b50, 0x2b59, 1},
+ {0x2c00, 0x2c2e, 1},
+ {0x2c30, 0x2c5e, 1},
+ {0x2c60, 0x2cf1, 1},
+ {0x2cf9, 0x2d25, 1},
+ {0x2d30, 0x2d65, 1},
+ {0x2d6f, 0x2d80, 17},
+ {0x2d81, 0x2d96, 1},
+ {0x2da0, 0x2da6, 1},
+ {0x2da8, 0x2dae, 1},
+ {0x2db0, 0x2db6, 1},
+ {0x2db8, 0x2dbe, 1},
+ {0x2dc0, 0x2dc6, 1},
+ {0x2dc8, 0x2dce, 1},
+ {0x2dd0, 0x2dd6, 1},
+ {0x2dd8, 0x2dde, 1},
+ {0x2de0, 0x2e31, 1},
+ {0x2e80, 0x2e99, 1},
+ {0x2e9b, 0x2ef3, 1},
+ {0x2f00, 0x2fd5, 1},
+ {0x2ff0, 0x2ffb, 1},
+ {0x3000, 0x303f, 1},
+ {0x3041, 0x3096, 1},
+ {0x3099, 0x30ff, 1},
+ {0x3105, 0x312d, 1},
+ {0x3131, 0x318e, 1},
+ {0x3190, 0x31b7, 1},
+ {0x31c0, 0x31e3, 1},
+ {0x31f0, 0x321e, 1},
+ {0x3220, 0x32fe, 1},
+ {0x3300, 0x4db5, 1},
+ {0x4dc0, 0x9fcb, 1},
+ {0xa000, 0xa48c, 1},
+ {0xa490, 0xa4c6, 1},
+ {0xa4d0, 0xa62b, 1},
+ {0xa640, 0xa65f, 1},
+ {0xa662, 0xa673, 1},
+ {0xa67c, 0xa697, 1},
+ {0xa6a0, 0xa6f7, 1},
+ {0xa700, 0xa78c, 1},
+ {0xa7fb, 0xa82b, 1},
+ {0xa830, 0xa839, 1},
+ {0xa840, 0xa877, 1},
+ {0xa880, 0xa8c4, 1},
+ {0xa8ce, 0xa8d9, 1},
+ {0xa8e0, 0xa8fb, 1},
+ {0xa900, 0xa953, 1},
+ {0xa95f, 0xa97c, 1},
+ {0xa980, 0xa9cd, 1},
+ {0xa9cf, 0xa9d9, 1},
+ {0xa9de, 0xa9df, 1},
+ {0xaa00, 0xaa36, 1},
+ {0xaa40, 0xaa4d, 1},
+ {0xaa50, 0xaa59, 1},
+ {0xaa5c, 0xaa7b, 1},
+ {0xaa80, 0xaac2, 1},
+ {0xaadb, 0xaadf, 1},
+ {0xabc0, 0xabed, 1},
+ {0xabf0, 0xabf9, 1},
+ {0xac00, 0xd7a3, 1},
+ {0xd7b0, 0xd7c6, 1},
+ {0xd7cb, 0xd7fb, 1},
+ {0xd800, 0xfa2d, 1},
+ {0xfa30, 0xfa6d, 1},
+ {0xfa70, 0xfad9, 1},
+ {0xfb00, 0xfb06, 1},
+ {0xfb13, 0xfb17, 1},
+ {0xfb1d, 0xfb36, 1},
+ {0xfb38, 0xfb3c, 1},
+ {0xfb3e, 0xfb40, 2},
+ {0xfb41, 0xfb43, 2},
+ {0xfb44, 0xfb46, 2},
+ {0xfb47, 0xfbb1, 1},
+ {0xfbd3, 0xfd3f, 1},
+ {0xfd50, 0xfd8f, 1},
+ {0xfd92, 0xfdc7, 1},
+ {0xfdf0, 0xfdfd, 1},
+ {0xfe00, 0xfe19, 1},
+ {0xfe20, 0xfe26, 1},
+ {0xfe30, 0xfe52, 1},
+ {0xfe54, 0xfe66, 1},
+ {0xfe68, 0xfe6b, 1},
+ {0xfe70, 0xfe74, 1},
+ {0xfe76, 0xfefc, 1},
+ {0xfeff, 0xff01, 2},
+ {0xff02, 0xffbe, 1},
+ {0xffc2, 0xffc7, 1},
+ {0xffca, 0xffcf, 1},
+ {0xffd2, 0xffd7, 1},
+ {0xffda, 0xffdc, 1},
+ {0xffe0, 0xffe6, 1},
+ {0xffe8, 0xffee, 1},
+ {0xfff9, 0xfffd, 1},
+ },
+ R32: []unicode.Range32{
+ {0x00010000, 0x0001000b, 1},
+ {0x0001000d, 0x00010026, 1},
+ {0x00010028, 0x0001003a, 1},
+ {0x0001003c, 0x0001003d, 1},
+ {0x0001003f, 0x0001004d, 1},
+ {0x00010050, 0x0001005d, 1},
+ {0x00010080, 0x000100fa, 1},
+ {0x00010100, 0x00010102, 1},
+ {0x00010107, 0x00010133, 1},
+ {0x00010137, 0x0001018a, 1},
+ {0x00010190, 0x0001019b, 1},
+ {0x000101d0, 0x000101fd, 1},
+ {0x00010280, 0x0001029c, 1},
+ {0x000102a0, 0x000102d0, 1},
+ {0x00010300, 0x0001031e, 1},
+ {0x00010320, 0x00010323, 1},
+ {0x00010330, 0x0001034a, 1},
+ {0x00010380, 0x0001039d, 1},
+ {0x0001039f, 0x000103c3, 1},
+ {0x000103c8, 0x000103d5, 1},
+ {0x00010400, 0x0001049d, 1},
+ {0x000104a0, 0x000104a9, 1},
+ {0x00010800, 0x00010805, 1},
+ {0x00010808, 0x0001080a, 2},
+ {0x0001080b, 0x00010835, 1},
+ {0x00010837, 0x00010838, 1},
+ {0x0001083c, 0x0001083f, 3},
+ {0x00010840, 0x00010855, 1},
+ {0x00010857, 0x0001085f, 1},
+ {0x00010900, 0x0001091b, 1},
+ {0x0001091f, 0x00010939, 1},
+ {0x0001093f, 0x00010a00, 193},
+ {0x00010a01, 0x00010a03, 1},
+ {0x00010a05, 0x00010a06, 1},
+ {0x00010a0c, 0x00010a13, 1},
+ {0x00010a15, 0x00010a17, 1},
+ {0x00010a19, 0x00010a33, 1},
+ {0x00010a38, 0x00010a3a, 1},
+ {0x00010a3f, 0x00010a47, 1},
+ {0x00010a50, 0x00010a58, 1},
+ {0x00010a60, 0x00010a7f, 1},
+ {0x00010b00, 0x00010b35, 1},
+ {0x00010b39, 0x00010b55, 1},
+ {0x00010b58, 0x00010b72, 1},
+ {0x00010b78, 0x00010b7f, 1},
+ {0x00010c00, 0x00010c48, 1},
+ {0x00010e60, 0x00010e7e, 1},
+ {0x00011080, 0x000110c1, 1},
+ {0x00012000, 0x0001236e, 1},
+ {0x00012400, 0x00012462, 1},
+ {0x00012470, 0x00012473, 1},
+ {0x00013000, 0x0001342e, 1},
+ {0x0001d000, 0x0001d0f5, 1},
+ {0x0001d100, 0x0001d126, 1},
+ {0x0001d129, 0x0001d1dd, 1},
+ {0x0001d200, 0x0001d245, 1},
+ {0x0001d300, 0x0001d356, 1},
+ {0x0001d360, 0x0001d371, 1},
+ {0x0001d400, 0x0001d454, 1},
+ {0x0001d456, 0x0001d49c, 1},
+ {0x0001d49e, 0x0001d49f, 1},
+ {0x0001d4a2, 0x0001d4a5, 3},
+ {0x0001d4a6, 0x0001d4a9, 3},
+ {0x0001d4aa, 0x0001d4ac, 1},
+ {0x0001d4ae, 0x0001d4b9, 1},
+ {0x0001d4bb, 0x0001d4bd, 2},
+ {0x0001d4be, 0x0001d4c3, 1},
+ {0x0001d4c5, 0x0001d505, 1},
+ {0x0001d507, 0x0001d50a, 1},
+ {0x0001d50d, 0x0001d514, 1},
+ {0x0001d516, 0x0001d51c, 1},
+ {0x0001d51e, 0x0001d539, 1},
+ {0x0001d53b, 0x0001d53e, 1},
+ {0x0001d540, 0x0001d544, 1},
+ {0x0001d546, 0x0001d54a, 4},
+ {0x0001d54b, 0x0001d550, 1},
+ {0x0001d552, 0x0001d6a5, 1},
+ {0x0001d6a8, 0x0001d7cb, 1},
+ {0x0001d7ce, 0x0001d7ff, 1},
+ {0x0001f000, 0x0001f02b, 1},
+ {0x0001f030, 0x0001f093, 1},
+ {0x0001f100, 0x0001f10a, 1},
+ {0x0001f110, 0x0001f12e, 1},
+ {0x0001f131, 0x0001f13d, 12},
+ {0x0001f13f, 0x0001f142, 3},
+ {0x0001f146, 0x0001f14a, 4},
+ {0x0001f14b, 0x0001f14e, 1},
+ {0x0001f157, 0x0001f15f, 8},
+ {0x0001f179, 0x0001f17b, 2},
+ {0x0001f17c, 0x0001f17f, 3},
+ {0x0001f18a, 0x0001f18d, 1},
+ {0x0001f190, 0x0001f200, 112},
+ {0x0001f210, 0x0001f231, 1},
+ {0x0001f240, 0x0001f248, 1},
+ {0x00020000, 0x0002a6d6, 1},
+ {0x0002a700, 0x0002b734, 1},
+ {0x0002f800, 0x0002fa1d, 1},
+ {0x000e0001, 0x000e0020, 31},
+ {0x000e0021, 0x000e007f, 1},
+ {0x000e0100, 0x000e01ef, 1},
+ {0x000f0000, 0x000ffffd, 1},
+ {0x00100000, 0x0010fffd, 1},
+ },
+ LatinOffset: 0,
+}
+
+// size 3026 bytes (2 KiB)
+var assigned5_0_0 = &unicode.RangeTable{
+ R16: []unicode.Range16{
+ {0x0000, 0x036f, 1},
+ {0x0374, 0x0375, 1},
+ {0x037a, 0x037e, 1},
+ {0x0384, 0x038a, 1},
+ {0x038c, 0x038e, 2},
+ {0x038f, 0x03a1, 1},
+ {0x03a3, 0x03ce, 1},
+ {0x03d0, 0x0486, 1},
+ {0x0488, 0x0513, 1},
+ {0x0531, 0x0556, 1},
+ {0x0559, 0x055f, 1},
+ {0x0561, 0x0587, 1},
+ {0x0589, 0x058a, 1},
+ {0x0591, 0x05c7, 1},
+ {0x05d0, 0x05ea, 1},
+ {0x05f0, 0x05f4, 1},
+ {0x0600, 0x0603, 1},
+ {0x060b, 0x0615, 1},
+ {0x061b, 0x061e, 3},
+ {0x061f, 0x0621, 2},
+ {0x0622, 0x063a, 1},
+ {0x0640, 0x065e, 1},
+ {0x0660, 0x070d, 1},
+ {0x070f, 0x074a, 1},
+ {0x074d, 0x076d, 1},
+ {0x0780, 0x07b1, 1},
+ {0x07c0, 0x07fa, 1},
+ {0x0901, 0x0939, 1},
+ {0x093c, 0x094d, 1},
+ {0x0950, 0x0954, 1},
+ {0x0958, 0x0970, 1},
+ {0x097b, 0x097f, 1},
+ {0x0981, 0x0983, 1},
+ {0x0985, 0x098c, 1},
+ {0x098f, 0x0990, 1},
+ {0x0993, 0x09a8, 1},
+ {0x09aa, 0x09b0, 1},
+ {0x09b2, 0x09b6, 4},
+ {0x09b7, 0x09b9, 1},
+ {0x09bc, 0x09c4, 1},
+ {0x09c7, 0x09c8, 1},
+ {0x09cb, 0x09ce, 1},
+ {0x09d7, 0x09dc, 5},
+ {0x09dd, 0x09df, 2},
+ {0x09e0, 0x09e3, 1},
+ {0x09e6, 0x09fa, 1},
+ {0x0a01, 0x0a03, 1},
+ {0x0a05, 0x0a0a, 1},
+ {0x0a0f, 0x0a10, 1},
+ {0x0a13, 0x0a28, 1},
+ {0x0a2a, 0x0a30, 1},
+ {0x0a32, 0x0a33, 1},
+ {0x0a35, 0x0a36, 1},
+ {0x0a38, 0x0a39, 1},
+ {0x0a3c, 0x0a3e, 2},
+ {0x0a3f, 0x0a42, 1},
+ {0x0a47, 0x0a48, 1},
+ {0x0a4b, 0x0a4d, 1},
+ {0x0a59, 0x0a5c, 1},
+ {0x0a5e, 0x0a66, 8},
+ {0x0a67, 0x0a74, 1},
+ {0x0a81, 0x0a83, 1},
+ {0x0a85, 0x0a8d, 1},
+ {0x0a8f, 0x0a91, 1},
+ {0x0a93, 0x0aa8, 1},
+ {0x0aaa, 0x0ab0, 1},
+ {0x0ab2, 0x0ab3, 1},
+ {0x0ab5, 0x0ab9, 1},
+ {0x0abc, 0x0ac5, 1},
+ {0x0ac7, 0x0ac9, 1},
+ {0x0acb, 0x0acd, 1},
+ {0x0ad0, 0x0ae0, 16},
+ {0x0ae1, 0x0ae3, 1},
+ {0x0ae6, 0x0aef, 1},
+ {0x0af1, 0x0b01, 16},
+ {0x0b02, 0x0b03, 1},
+ {0x0b05, 0x0b0c, 1},
+ {0x0b0f, 0x0b10, 1},
+ {0x0b13, 0x0b28, 1},
+ {0x0b2a, 0x0b30, 1},
+ {0x0b32, 0x0b33, 1},
+ {0x0b35, 0x0b39, 1},
+ {0x0b3c, 0x0b43, 1},
+ {0x0b47, 0x0b48, 1},
+ {0x0b4b, 0x0b4d, 1},
+ {0x0b56, 0x0b57, 1},
+ {0x0b5c, 0x0b5d, 1},
+ {0x0b5f, 0x0b61, 1},
+ {0x0b66, 0x0b71, 1},
+ {0x0b82, 0x0b83, 1},
+ {0x0b85, 0x0b8a, 1},
+ {0x0b8e, 0x0b90, 1},
+ {0x0b92, 0x0b95, 1},
+ {0x0b99, 0x0b9a, 1},
+ {0x0b9c, 0x0b9e, 2},
+ {0x0b9f, 0x0ba3, 4},
+ {0x0ba4, 0x0ba8, 4},
+ {0x0ba9, 0x0baa, 1},
+ {0x0bae, 0x0bb9, 1},
+ {0x0bbe, 0x0bc2, 1},
+ {0x0bc6, 0x0bc8, 1},
+ {0x0bca, 0x0bcd, 1},
+ {0x0bd7, 0x0be6, 15},
+ {0x0be7, 0x0bfa, 1},
+ {0x0c01, 0x0c03, 1},
+ {0x0c05, 0x0c0c, 1},
+ {0x0c0e, 0x0c10, 1},
+ {0x0c12, 0x0c28, 1},
+ {0x0c2a, 0x0c33, 1},
+ {0x0c35, 0x0c39, 1},
+ {0x0c3e, 0x0c44, 1},
+ {0x0c46, 0x0c48, 1},
+ {0x0c4a, 0x0c4d, 1},
+ {0x0c55, 0x0c56, 1},
+ {0x0c60, 0x0c61, 1},
+ {0x0c66, 0x0c6f, 1},
+ {0x0c82, 0x0c83, 1},
+ {0x0c85, 0x0c8c, 1},
+ {0x0c8e, 0x0c90, 1},
+ {0x0c92, 0x0ca8, 1},
+ {0x0caa, 0x0cb3, 1},
+ {0x0cb5, 0x0cb9, 1},
+ {0x0cbc, 0x0cc4, 1},
+ {0x0cc6, 0x0cc8, 1},
+ {0x0cca, 0x0ccd, 1},
+ {0x0cd5, 0x0cd6, 1},
+ {0x0cde, 0x0ce0, 2},
+ {0x0ce1, 0x0ce3, 1},
+ {0x0ce6, 0x0cef, 1},
+ {0x0cf1, 0x0cf2, 1},
+ {0x0d02, 0x0d03, 1},
+ {0x0d05, 0x0d0c, 1},
+ {0x0d0e, 0x0d10, 1},
+ {0x0d12, 0x0d28, 1},
+ {0x0d2a, 0x0d39, 1},
+ {0x0d3e, 0x0d43, 1},
+ {0x0d46, 0x0d48, 1},
+ {0x0d4a, 0x0d4d, 1},
+ {0x0d57, 0x0d60, 9},
+ {0x0d61, 0x0d66, 5},
+ {0x0d67, 0x0d6f, 1},
+ {0x0d82, 0x0d83, 1},
+ {0x0d85, 0x0d96, 1},
+ {0x0d9a, 0x0db1, 1},
+ {0x0db3, 0x0dbb, 1},
+ {0x0dbd, 0x0dc0, 3},
+ {0x0dc1, 0x0dc6, 1},
+ {0x0dca, 0x0dcf, 5},
+ {0x0dd0, 0x0dd4, 1},
+ {0x0dd6, 0x0dd8, 2},
+ {0x0dd9, 0x0ddf, 1},
+ {0x0df2, 0x0df4, 1},
+ {0x0e01, 0x0e3a, 1},
+ {0x0e3f, 0x0e5b, 1},
+ {0x0e81, 0x0e82, 1},
+ {0x0e84, 0x0e87, 3},
+ {0x0e88, 0x0e8a, 2},
+ {0x0e8d, 0x0e94, 7},
+ {0x0e95, 0x0e97, 1},
+ {0x0e99, 0x0e9f, 1},
+ {0x0ea1, 0x0ea3, 1},
+ {0x0ea5, 0x0ea7, 2},
+ {0x0eaa, 0x0eab, 1},
+ {0x0ead, 0x0eb9, 1},
+ {0x0ebb, 0x0ebd, 1},
+ {0x0ec0, 0x0ec4, 1},
+ {0x0ec6, 0x0ec8, 2},
+ {0x0ec9, 0x0ecd, 1},
+ {0x0ed0, 0x0ed9, 1},
+ {0x0edc, 0x0edd, 1},
+ {0x0f00, 0x0f47, 1},
+ {0x0f49, 0x0f6a, 1},
+ {0x0f71, 0x0f8b, 1},
+ {0x0f90, 0x0f97, 1},
+ {0x0f99, 0x0fbc, 1},
+ {0x0fbe, 0x0fcc, 1},
+ {0x0fcf, 0x0fd1, 1},
+ {0x1000, 0x1021, 1},
+ {0x1023, 0x1027, 1},
+ {0x1029, 0x102a, 1},
+ {0x102c, 0x1032, 1},
+ {0x1036, 0x1039, 1},
+ {0x1040, 0x1059, 1},
+ {0x10a0, 0x10c5, 1},
+ {0x10d0, 0x10fc, 1},
+ {0x1100, 0x1159, 1},
+ {0x115f, 0x11a2, 1},
+ {0x11a8, 0x11f9, 1},
+ {0x1200, 0x1248, 1},
+ {0x124a, 0x124d, 1},
+ {0x1250, 0x1256, 1},
+ {0x1258, 0x125a, 2},
+ {0x125b, 0x125d, 1},
+ {0x1260, 0x1288, 1},
+ {0x128a, 0x128d, 1},
+ {0x1290, 0x12b0, 1},
+ {0x12b2, 0x12b5, 1},
+ {0x12b8, 0x12be, 1},
+ {0x12c0, 0x12c2, 2},
+ {0x12c3, 0x12c5, 1},
+ {0x12c8, 0x12d6, 1},
+ {0x12d8, 0x1310, 1},
+ {0x1312, 0x1315, 1},
+ {0x1318, 0x135a, 1},
+ {0x135f, 0x137c, 1},
+ {0x1380, 0x1399, 1},
+ {0x13a0, 0x13f4, 1},
+ {0x1401, 0x1676, 1},
+ {0x1680, 0x169c, 1},
+ {0x16a0, 0x16f0, 1},
+ {0x1700, 0x170c, 1},
+ {0x170e, 0x1714, 1},
+ {0x1720, 0x1736, 1},
+ {0x1740, 0x1753, 1},
+ {0x1760, 0x176c, 1},
+ {0x176e, 0x1770, 1},
+ {0x1772, 0x1773, 1},
+ {0x1780, 0x17dd, 1},
+ {0x17e0, 0x17e9, 1},
+ {0x17f0, 0x17f9, 1},
+ {0x1800, 0x180e, 1},
+ {0x1810, 0x1819, 1},
+ {0x1820, 0x1877, 1},
+ {0x1880, 0x18a9, 1},
+ {0x1900, 0x191c, 1},
+ {0x1920, 0x192b, 1},
+ {0x1930, 0x193b, 1},
+ {0x1940, 0x1944, 4},
+ {0x1945, 0x196d, 1},
+ {0x1970, 0x1974, 1},
+ {0x1980, 0x19a9, 1},
+ {0x19b0, 0x19c9, 1},
+ {0x19d0, 0x19d9, 1},
+ {0x19de, 0x1a1b, 1},
+ {0x1a1e, 0x1a1f, 1},
+ {0x1b00, 0x1b4b, 1},
+ {0x1b50, 0x1b7c, 1},
+ {0x1d00, 0x1dca, 1},
+ {0x1dfe, 0x1e9b, 1},
+ {0x1ea0, 0x1ef9, 1},
+ {0x1f00, 0x1f15, 1},
+ {0x1f18, 0x1f1d, 1},
+ {0x1f20, 0x1f45, 1},
+ {0x1f48, 0x1f4d, 1},
+ {0x1f50, 0x1f57, 1},
+ {0x1f59, 0x1f5f, 2},
+ {0x1f60, 0x1f7d, 1},
+ {0x1f80, 0x1fb4, 1},
+ {0x1fb6, 0x1fc4, 1},
+ {0x1fc6, 0x1fd3, 1},
+ {0x1fd6, 0x1fdb, 1},
+ {0x1fdd, 0x1fef, 1},
+ {0x1ff2, 0x1ff4, 1},
+ {0x1ff6, 0x1ffe, 1},
+ {0x2000, 0x2063, 1},
+ {0x206a, 0x2071, 1},
+ {0x2074, 0x208e, 1},
+ {0x2090, 0x2094, 1},
+ {0x20a0, 0x20b5, 1},
+ {0x20d0, 0x20ef, 1},
+ {0x2100, 0x214e, 1},
+ {0x2153, 0x2184, 1},
+ {0x2190, 0x23e7, 1},
+ {0x2400, 0x2426, 1},
+ {0x2440, 0x244a, 1},
+ {0x2460, 0x269c, 1},
+ {0x26a0, 0x26b2, 1},
+ {0x2701, 0x2704, 1},
+ {0x2706, 0x2709, 1},
+ {0x270c, 0x2727, 1},
+ {0x2729, 0x274b, 1},
+ {0x274d, 0x274f, 2},
+ {0x2750, 0x2752, 1},
+ {0x2756, 0x2758, 2},
+ {0x2759, 0x275e, 1},
+ {0x2761, 0x2794, 1},
+ {0x2798, 0x27af, 1},
+ {0x27b1, 0x27be, 1},
+ {0x27c0, 0x27ca, 1},
+ {0x27d0, 0x27eb, 1},
+ {0x27f0, 0x2b1a, 1},
+ {0x2b20, 0x2b23, 1},
+ {0x2c00, 0x2c2e, 1},
+ {0x2c30, 0x2c5e, 1},
+ {0x2c60, 0x2c6c, 1},
+ {0x2c74, 0x2c77, 1},
+ {0x2c80, 0x2cea, 1},
+ {0x2cf9, 0x2d25, 1},
+ {0x2d30, 0x2d65, 1},
+ {0x2d6f, 0x2d80, 17},
+ {0x2d81, 0x2d96, 1},
+ {0x2da0, 0x2da6, 1},
+ {0x2da8, 0x2dae, 1},
+ {0x2db0, 0x2db6, 1},
+ {0x2db8, 0x2dbe, 1},
+ {0x2dc0, 0x2dc6, 1},
+ {0x2dc8, 0x2dce, 1},
+ {0x2dd0, 0x2dd6, 1},
+ {0x2dd8, 0x2dde, 1},
+ {0x2e00, 0x2e17, 1},
+ {0x2e1c, 0x2e1d, 1},
+ {0x2e80, 0x2e99, 1},
+ {0x2e9b, 0x2ef3, 1},
+ {0x2f00, 0x2fd5, 1},
+ {0x2ff0, 0x2ffb, 1},
+ {0x3000, 0x303f, 1},
+ {0x3041, 0x3096, 1},
+ {0x3099, 0x30ff, 1},
+ {0x3105, 0x312c, 1},
+ {0x3131, 0x318e, 1},
+ {0x3190, 0x31b7, 1},
+ {0x31c0, 0x31cf, 1},
+ {0x31f0, 0x321e, 1},
+ {0x3220, 0x3243, 1},
+ {0x3250, 0x32fe, 1},
+ {0x3300, 0x4db5, 1},
+ {0x4dc0, 0x9fbb, 1},
+ {0xa000, 0xa48c, 1},
+ {0xa490, 0xa4c6, 1},
+ {0xa700, 0xa71a, 1},
+ {0xa720, 0xa721, 1},
+ {0xa800, 0xa82b, 1},
+ {0xa840, 0xa877, 1},
+ {0xac00, 0xd7a3, 1},
+ {0xd800, 0xfa2d, 1},
+ {0xfa30, 0xfa6a, 1},
+ {0xfa70, 0xfad9, 1},
+ {0xfb00, 0xfb06, 1},
+ {0xfb13, 0xfb17, 1},
+ {0xfb1d, 0xfb36, 1},
+ {0xfb38, 0xfb3c, 1},
+ {0xfb3e, 0xfb40, 2},
+ {0xfb41, 0xfb43, 2},
+ {0xfb44, 0xfb46, 2},
+ {0xfb47, 0xfbb1, 1},
+ {0xfbd3, 0xfd3f, 1},
+ {0xfd50, 0xfd8f, 1},
+ {0xfd92, 0xfdc7, 1},
+ {0xfdf0, 0xfdfd, 1},
+ {0xfe00, 0xfe19, 1},
+ {0xfe20, 0xfe23, 1},
+ {0xfe30, 0xfe52, 1},
+ {0xfe54, 0xfe66, 1},
+ {0xfe68, 0xfe6b, 1},
+ {0xfe70, 0xfe74, 1},
+ {0xfe76, 0xfefc, 1},
+ {0xfeff, 0xff01, 2},
+ {0xff02, 0xffbe, 1},
+ {0xffc2, 0xffc7, 1},
+ {0xffca, 0xffcf, 1},
+ {0xffd2, 0xffd7, 1},
+ {0xffda, 0xffdc, 1},
+ {0xffe0, 0xffe6, 1},
+ {0xffe8, 0xffee, 1},
+ {0xfff9, 0xfffd, 1},
+ },
+ R32: []unicode.Range32{
+ {0x00010000, 0x0001000b, 1},
+ {0x0001000d, 0x00010026, 1},
+ {0x00010028, 0x0001003a, 1},
+ {0x0001003c, 0x0001003d, 1},
+ {0x0001003f, 0x0001004d, 1},
+ {0x00010050, 0x0001005d, 1},
+ {0x00010080, 0x000100fa, 1},
+ {0x00010100, 0x00010102, 1},
+ {0x00010107, 0x00010133, 1},
+ {0x00010137, 0x0001018a, 1},
+ {0x00010300, 0x0001031e, 1},
+ {0x00010320, 0x00010323, 1},
+ {0x00010330, 0x0001034a, 1},
+ {0x00010380, 0x0001039d, 1},
+ {0x0001039f, 0x000103c3, 1},
+ {0x000103c8, 0x000103d5, 1},
+ {0x00010400, 0x0001049d, 1},
+ {0x000104a0, 0x000104a9, 1},
+ {0x00010800, 0x00010805, 1},
+ {0x00010808, 0x0001080a, 2},
+ {0x0001080b, 0x00010835, 1},
+ {0x00010837, 0x00010838, 1},
+ {0x0001083c, 0x0001083f, 3},
+ {0x00010900, 0x00010919, 1},
+ {0x0001091f, 0x00010a00, 225},
+ {0x00010a01, 0x00010a03, 1},
+ {0x00010a05, 0x00010a06, 1},
+ {0x00010a0c, 0x00010a13, 1},
+ {0x00010a15, 0x00010a17, 1},
+ {0x00010a19, 0x00010a33, 1},
+ {0x00010a38, 0x00010a3a, 1},
+ {0x00010a3f, 0x00010a47, 1},
+ {0x00010a50, 0x00010a58, 1},
+ {0x00012000, 0x0001236e, 1},
+ {0x00012400, 0x00012462, 1},
+ {0x00012470, 0x00012473, 1},
+ {0x0001d000, 0x0001d0f5, 1},
+ {0x0001d100, 0x0001d126, 1},
+ {0x0001d12a, 0x0001d1dd, 1},
+ {0x0001d200, 0x0001d245, 1},
+ {0x0001d300, 0x0001d356, 1},
+ {0x0001d360, 0x0001d371, 1},
+ {0x0001d400, 0x0001d454, 1},
+ {0x0001d456, 0x0001d49c, 1},
+ {0x0001d49e, 0x0001d49f, 1},
+ {0x0001d4a2, 0x0001d4a5, 3},
+ {0x0001d4a6, 0x0001d4a9, 3},
+ {0x0001d4aa, 0x0001d4ac, 1},
+ {0x0001d4ae, 0x0001d4b9, 1},
+ {0x0001d4bb, 0x0001d4bd, 2},
+ {0x0001d4be, 0x0001d4c3, 1},
+ {0x0001d4c5, 0x0001d505, 1},
+ {0x0001d507, 0x0001d50a, 1},
+ {0x0001d50d, 0x0001d514, 1},
+ {0x0001d516, 0x0001d51c, 1},
+ {0x0001d51e, 0x0001d539, 1},
+ {0x0001d53b, 0x0001d53e, 1},
+ {0x0001d540, 0x0001d544, 1},
+ {0x0001d546, 0x0001d54a, 4},
+ {0x0001d54b, 0x0001d550, 1},
+ {0x0001d552, 0x0001d6a5, 1},
+ {0x0001d6a8, 0x0001d7cb, 1},
+ {0x0001d7ce, 0x0001d7ff, 1},
+ {0x00020000, 0x0002a6d6, 1},
+ {0x0002f800, 0x0002fa1d, 1},
+ {0x000e0001, 0x000e0020, 31},
+ {0x000e0021, 0x000e007f, 1},
+ {0x000e0100, 0x000e01ef, 1},
+ {0x000f0000, 0x000ffffd, 1},
+ {0x00100000, 0x0010fffd, 1},
+ },
+ LatinOffset: 0,
+}
+
+// size 4160 bytes (4 KiB)
+var assigned6_1_0 = &unicode.RangeTable{
+ R16: []unicode.Range16{
+ {0x0000, 0x0377, 1},
+ {0x037a, 0x037e, 1},
+ {0x0384, 0x038a, 1},
+ {0x038c, 0x038e, 2},
+ {0x038f, 0x03a1, 1},
+ {0x03a3, 0x0527, 1},
+ {0x0531, 0x0556, 1},
+ {0x0559, 0x055f, 1},
+ {0x0561, 0x0587, 1},
+ {0x0589, 0x058a, 1},
+ {0x058f, 0x0591, 2},
+ {0x0592, 0x05c7, 1},
+ {0x05d0, 0x05ea, 1},
+ {0x05f0, 0x05f4, 1},
+ {0x0600, 0x0604, 1},
+ {0x0606, 0x061b, 1},
+ {0x061e, 0x070d, 1},
+ {0x070f, 0x074a, 1},
+ {0x074d, 0x07b1, 1},
+ {0x07c0, 0x07fa, 1},
+ {0x0800, 0x082d, 1},
+ {0x0830, 0x083e, 1},
+ {0x0840, 0x085b, 1},
+ {0x085e, 0x08a0, 66},
+ {0x08a2, 0x08ac, 1},
+ {0x08e4, 0x08fe, 1},
+ {0x0900, 0x0977, 1},
+ {0x0979, 0x097f, 1},
+ {0x0981, 0x0983, 1},
+ {0x0985, 0x098c, 1},
+ {0x098f, 0x0990, 1},
+ {0x0993, 0x09a8, 1},
+ {0x09aa, 0x09b0, 1},
+ {0x09b2, 0x09b6, 4},
+ {0x09b7, 0x09b9, 1},
+ {0x09bc, 0x09c4, 1},
+ {0x09c7, 0x09c8, 1},
+ {0x09cb, 0x09ce, 1},
+ {0x09d7, 0x09dc, 5},
+ {0x09dd, 0x09df, 2},
+ {0x09e0, 0x09e3, 1},
+ {0x09e6, 0x09fb, 1},
+ {0x0a01, 0x0a03, 1},
+ {0x0a05, 0x0a0a, 1},
+ {0x0a0f, 0x0a10, 1},
+ {0x0a13, 0x0a28, 1},
+ {0x0a2a, 0x0a30, 1},
+ {0x0a32, 0x0a33, 1},
+ {0x0a35, 0x0a36, 1},
+ {0x0a38, 0x0a39, 1},
+ {0x0a3c, 0x0a3e, 2},
+ {0x0a3f, 0x0a42, 1},
+ {0x0a47, 0x0a48, 1},
+ {0x0a4b, 0x0a4d, 1},
+ {0x0a51, 0x0a59, 8},
+ {0x0a5a, 0x0a5c, 1},
+ {0x0a5e, 0x0a66, 8},
+ {0x0a67, 0x0a75, 1},
+ {0x0a81, 0x0a83, 1},
+ {0x0a85, 0x0a8d, 1},
+ {0x0a8f, 0x0a91, 1},
+ {0x0a93, 0x0aa8, 1},
+ {0x0aaa, 0x0ab0, 1},
+ {0x0ab2, 0x0ab3, 1},
+ {0x0ab5, 0x0ab9, 1},
+ {0x0abc, 0x0ac5, 1},
+ {0x0ac7, 0x0ac9, 1},
+ {0x0acb, 0x0acd, 1},
+ {0x0ad0, 0x0ae0, 16},
+ {0x0ae1, 0x0ae3, 1},
+ {0x0ae6, 0x0af1, 1},
+ {0x0b01, 0x0b03, 1},
+ {0x0b05, 0x0b0c, 1},
+ {0x0b0f, 0x0b10, 1},
+ {0x0b13, 0x0b28, 1},
+ {0x0b2a, 0x0b30, 1},
+ {0x0b32, 0x0b33, 1},
+ {0x0b35, 0x0b39, 1},
+ {0x0b3c, 0x0b44, 1},
+ {0x0b47, 0x0b48, 1},
+ {0x0b4b, 0x0b4d, 1},
+ {0x0b56, 0x0b57, 1},
+ {0x0b5c, 0x0b5d, 1},
+ {0x0b5f, 0x0b63, 1},
+ {0x0b66, 0x0b77, 1},
+ {0x0b82, 0x0b83, 1},
+ {0x0b85, 0x0b8a, 1},
+ {0x0b8e, 0x0b90, 1},
+ {0x0b92, 0x0b95, 1},
+ {0x0b99, 0x0b9a, 1},
+ {0x0b9c, 0x0b9e, 2},
+ {0x0b9f, 0x0ba3, 4},
+ {0x0ba4, 0x0ba8, 4},
+ {0x0ba9, 0x0baa, 1},
+ {0x0bae, 0x0bb9, 1},
+ {0x0bbe, 0x0bc2, 1},
+ {0x0bc6, 0x0bc8, 1},
+ {0x0bca, 0x0bcd, 1},
+ {0x0bd0, 0x0bd7, 7},
+ {0x0be6, 0x0bfa, 1},
+ {0x0c01, 0x0c03, 1},
+ {0x0c05, 0x0c0c, 1},
+ {0x0c0e, 0x0c10, 1},
+ {0x0c12, 0x0c28, 1},
+ {0x0c2a, 0x0c33, 1},
+ {0x0c35, 0x0c39, 1},
+ {0x0c3d, 0x0c44, 1},
+ {0x0c46, 0x0c48, 1},
+ {0x0c4a, 0x0c4d, 1},
+ {0x0c55, 0x0c56, 1},
+ {0x0c58, 0x0c59, 1},
+ {0x0c60, 0x0c63, 1},
+ {0x0c66, 0x0c6f, 1},
+ {0x0c78, 0x0c7f, 1},
+ {0x0c82, 0x0c83, 1},
+ {0x0c85, 0x0c8c, 1},
+ {0x0c8e, 0x0c90, 1},
+ {0x0c92, 0x0ca8, 1},
+ {0x0caa, 0x0cb3, 1},
+ {0x0cb5, 0x0cb9, 1},
+ {0x0cbc, 0x0cc4, 1},
+ {0x0cc6, 0x0cc8, 1},
+ {0x0cca, 0x0ccd, 1},
+ {0x0cd5, 0x0cd6, 1},
+ {0x0cde, 0x0ce0, 2},
+ {0x0ce1, 0x0ce3, 1},
+ {0x0ce6, 0x0cef, 1},
+ {0x0cf1, 0x0cf2, 1},
+ {0x0d02, 0x0d03, 1},
+ {0x0d05, 0x0d0c, 1},
+ {0x0d0e, 0x0d10, 1},
+ {0x0d12, 0x0d3a, 1},
+ {0x0d3d, 0x0d44, 1},
+ {0x0d46, 0x0d48, 1},
+ {0x0d4a, 0x0d4e, 1},
+ {0x0d57, 0x0d60, 9},
+ {0x0d61, 0x0d63, 1},
+ {0x0d66, 0x0d75, 1},
+ {0x0d79, 0x0d7f, 1},
+ {0x0d82, 0x0d83, 1},
+ {0x0d85, 0x0d96, 1},
+ {0x0d9a, 0x0db1, 1},
+ {0x0db3, 0x0dbb, 1},
+ {0x0dbd, 0x0dc0, 3},
+ {0x0dc1, 0x0dc6, 1},
+ {0x0dca, 0x0dcf, 5},
+ {0x0dd0, 0x0dd4, 1},
+ {0x0dd6, 0x0dd8, 2},
+ {0x0dd9, 0x0ddf, 1},
+ {0x0df2, 0x0df4, 1},
+ {0x0e01, 0x0e3a, 1},
+ {0x0e3f, 0x0e5b, 1},
+ {0x0e81, 0x0e82, 1},
+ {0x0e84, 0x0e87, 3},
+ {0x0e88, 0x0e8a, 2},
+ {0x0e8d, 0x0e94, 7},
+ {0x0e95, 0x0e97, 1},
+ {0x0e99, 0x0e9f, 1},
+ {0x0ea1, 0x0ea3, 1},
+ {0x0ea5, 0x0ea7, 2},
+ {0x0eaa, 0x0eab, 1},
+ {0x0ead, 0x0eb9, 1},
+ {0x0ebb, 0x0ebd, 1},
+ {0x0ec0, 0x0ec4, 1},
+ {0x0ec6, 0x0ec8, 2},
+ {0x0ec9, 0x0ecd, 1},
+ {0x0ed0, 0x0ed9, 1},
+ {0x0edc, 0x0edf, 1},
+ {0x0f00, 0x0f47, 1},
+ {0x0f49, 0x0f6c, 1},
+ {0x0f71, 0x0f97, 1},
+ {0x0f99, 0x0fbc, 1},
+ {0x0fbe, 0x0fcc, 1},
+ {0x0fce, 0x0fda, 1},
+ {0x1000, 0x10c5, 1},
+ {0x10c7, 0x10cd, 6},
+ {0x10d0, 0x1248, 1},
+ {0x124a, 0x124d, 1},
+ {0x1250, 0x1256, 1},
+ {0x1258, 0x125a, 2},
+ {0x125b, 0x125d, 1},
+ {0x1260, 0x1288, 1},
+ {0x128a, 0x128d, 1},
+ {0x1290, 0x12b0, 1},
+ {0x12b2, 0x12b5, 1},
+ {0x12b8, 0x12be, 1},
+ {0x12c0, 0x12c2, 2},
+ {0x12c3, 0x12c5, 1},
+ {0x12c8, 0x12d6, 1},
+ {0x12d8, 0x1310, 1},
+ {0x1312, 0x1315, 1},
+ {0x1318, 0x135a, 1},
+ {0x135d, 0x137c, 1},
+ {0x1380, 0x1399, 1},
+ {0x13a0, 0x13f4, 1},
+ {0x1400, 0x169c, 1},
+ {0x16a0, 0x16f0, 1},
+ {0x1700, 0x170c, 1},
+ {0x170e, 0x1714, 1},
+ {0x1720, 0x1736, 1},
+ {0x1740, 0x1753, 1},
+ {0x1760, 0x176c, 1},
+ {0x176e, 0x1770, 1},
+ {0x1772, 0x1773, 1},
+ {0x1780, 0x17dd, 1},
+ {0x17e0, 0x17e9, 1},
+ {0x17f0, 0x17f9, 1},
+ {0x1800, 0x180e, 1},
+ {0x1810, 0x1819, 1},
+ {0x1820, 0x1877, 1},
+ {0x1880, 0x18aa, 1},
+ {0x18b0, 0x18f5, 1},
+ {0x1900, 0x191c, 1},
+ {0x1920, 0x192b, 1},
+ {0x1930, 0x193b, 1},
+ {0x1940, 0x1944, 4},
+ {0x1945, 0x196d, 1},
+ {0x1970, 0x1974, 1},
+ {0x1980, 0x19ab, 1},
+ {0x19b0, 0x19c9, 1},
+ {0x19d0, 0x19da, 1},
+ {0x19de, 0x1a1b, 1},
+ {0x1a1e, 0x1a5e, 1},
+ {0x1a60, 0x1a7c, 1},
+ {0x1a7f, 0x1a89, 1},
+ {0x1a90, 0x1a99, 1},
+ {0x1aa0, 0x1aad, 1},
+ {0x1b00, 0x1b4b, 1},
+ {0x1b50, 0x1b7c, 1},
+ {0x1b80, 0x1bf3, 1},
+ {0x1bfc, 0x1c37, 1},
+ {0x1c3b, 0x1c49, 1},
+ {0x1c4d, 0x1c7f, 1},
+ {0x1cc0, 0x1cc7, 1},
+ {0x1cd0, 0x1cf6, 1},
+ {0x1d00, 0x1de6, 1},
+ {0x1dfc, 0x1f15, 1},
+ {0x1f18, 0x1f1d, 1},
+ {0x1f20, 0x1f45, 1},
+ {0x1f48, 0x1f4d, 1},
+ {0x1f50, 0x1f57, 1},
+ {0x1f59, 0x1f5f, 2},
+ {0x1f60, 0x1f7d, 1},
+ {0x1f80, 0x1fb4, 1},
+ {0x1fb6, 0x1fc4, 1},
+ {0x1fc6, 0x1fd3, 1},
+ {0x1fd6, 0x1fdb, 1},
+ {0x1fdd, 0x1fef, 1},
+ {0x1ff2, 0x1ff4, 1},
+ {0x1ff6, 0x1ffe, 1},
+ {0x2000, 0x2064, 1},
+ {0x206a, 0x2071, 1},
+ {0x2074, 0x208e, 1},
+ {0x2090, 0x209c, 1},
+ {0x20a0, 0x20b9, 1},
+ {0x20d0, 0x20f0, 1},
+ {0x2100, 0x2189, 1},
+ {0x2190, 0x23f3, 1},
+ {0x2400, 0x2426, 1},
+ {0x2440, 0x244a, 1},
+ {0x2460, 0x26ff, 1},
+ {0x2701, 0x2b4c, 1},
+ {0x2b50, 0x2b59, 1},
+ {0x2c00, 0x2c2e, 1},
+ {0x2c30, 0x2c5e, 1},
+ {0x2c60, 0x2cf3, 1},
+ {0x2cf9, 0x2d25, 1},
+ {0x2d27, 0x2d2d, 6},
+ {0x2d30, 0x2d67, 1},
+ {0x2d6f, 0x2d70, 1},
+ {0x2d7f, 0x2d96, 1},
+ {0x2da0, 0x2da6, 1},
+ {0x2da8, 0x2dae, 1},
+ {0x2db0, 0x2db6, 1},
+ {0x2db8, 0x2dbe, 1},
+ {0x2dc0, 0x2dc6, 1},
+ {0x2dc8, 0x2dce, 1},
+ {0x2dd0, 0x2dd6, 1},
+ {0x2dd8, 0x2dde, 1},
+ {0x2de0, 0x2e3b, 1},
+ {0x2e80, 0x2e99, 1},
+ {0x2e9b, 0x2ef3, 1},
+ {0x2f00, 0x2fd5, 1},
+ {0x2ff0, 0x2ffb, 1},
+ {0x3000, 0x303f, 1},
+ {0x3041, 0x3096, 1},
+ {0x3099, 0x30ff, 1},
+ {0x3105, 0x312d, 1},
+ {0x3131, 0x318e, 1},
+ {0x3190, 0x31ba, 1},
+ {0x31c0, 0x31e3, 1},
+ {0x31f0, 0x321e, 1},
+ {0x3220, 0x32fe, 1},
+ {0x3300, 0x4db5, 1},
+ {0x4dc0, 0x9fcc, 1},
+ {0xa000, 0xa48c, 1},
+ {0xa490, 0xa4c6, 1},
+ {0xa4d0, 0xa62b, 1},
+ {0xa640, 0xa697, 1},
+ {0xa69f, 0xa6f7, 1},
+ {0xa700, 0xa78e, 1},
+ {0xa790, 0xa793, 1},
+ {0xa7a0, 0xa7aa, 1},
+ {0xa7f8, 0xa82b, 1},
+ {0xa830, 0xa839, 1},
+ {0xa840, 0xa877, 1},
+ {0xa880, 0xa8c4, 1},
+ {0xa8ce, 0xa8d9, 1},
+ {0xa8e0, 0xa8fb, 1},
+ {0xa900, 0xa953, 1},
+ {0xa95f, 0xa97c, 1},
+ {0xa980, 0xa9cd, 1},
+ {0xa9cf, 0xa9d9, 1},
+ {0xa9de, 0xa9df, 1},
+ {0xaa00, 0xaa36, 1},
+ {0xaa40, 0xaa4d, 1},
+ {0xaa50, 0xaa59, 1},
+ {0xaa5c, 0xaa7b, 1},
+ {0xaa80, 0xaac2, 1},
+ {0xaadb, 0xaaf6, 1},
+ {0xab01, 0xab06, 1},
+ {0xab09, 0xab0e, 1},
+ {0xab11, 0xab16, 1},
+ {0xab20, 0xab26, 1},
+ {0xab28, 0xab2e, 1},
+ {0xabc0, 0xabed, 1},
+ {0xabf0, 0xabf9, 1},
+ {0xac00, 0xd7a3, 1},
+ {0xd7b0, 0xd7c6, 1},
+ {0xd7cb, 0xd7fb, 1},
+ {0xd800, 0xfa6d, 1},
+ {0xfa70, 0xfad9, 1},
+ {0xfb00, 0xfb06, 1},
+ {0xfb13, 0xfb17, 1},
+ {0xfb1d, 0xfb36, 1},
+ {0xfb38, 0xfb3c, 1},
+ {0xfb3e, 0xfb40, 2},
+ {0xfb41, 0xfb43, 2},
+ {0xfb44, 0xfb46, 2},
+ {0xfb47, 0xfbc1, 1},
+ {0xfbd3, 0xfd3f, 1},
+ {0xfd50, 0xfd8f, 1},
+ {0xfd92, 0xfdc7, 1},
+ {0xfdf0, 0xfdfd, 1},
+ {0xfe00, 0xfe19, 1},
+ {0xfe20, 0xfe26, 1},
+ {0xfe30, 0xfe52, 1},
+ {0xfe54, 0xfe66, 1},
+ {0xfe68, 0xfe6b, 1},
+ {0xfe70, 0xfe74, 1},
+ {0xfe76, 0xfefc, 1},
+ {0xfeff, 0xff01, 2},
+ {0xff02, 0xffbe, 1},
+ {0xffc2, 0xffc7, 1},
+ {0xffca, 0xffcf, 1},
+ {0xffd2, 0xffd7, 1},
+ {0xffda, 0xffdc, 1},
+ {0xffe0, 0xffe6, 1},
+ {0xffe8, 0xffee, 1},
+ {0xfff9, 0xfffd, 1},
+ },
+ R32: []unicode.Range32{
+ {0x00010000, 0x0001000b, 1},
+ {0x0001000d, 0x00010026, 1},
+ {0x00010028, 0x0001003a, 1},
+ {0x0001003c, 0x0001003d, 1},
+ {0x0001003f, 0x0001004d, 1},
+ {0x00010050, 0x0001005d, 1},
+ {0x00010080, 0x000100fa, 1},
+ {0x00010100, 0x00010102, 1},
+ {0x00010107, 0x00010133, 1},
+ {0x00010137, 0x0001018a, 1},
+ {0x00010190, 0x0001019b, 1},
+ {0x000101d0, 0x000101fd, 1},
+ {0x00010280, 0x0001029c, 1},
+ {0x000102a0, 0x000102d0, 1},
+ {0x00010300, 0x0001031e, 1},
+ {0x00010320, 0x00010323, 1},
+ {0x00010330, 0x0001034a, 1},
+ {0x00010380, 0x0001039d, 1},
+ {0x0001039f, 0x000103c3, 1},
+ {0x000103c8, 0x000103d5, 1},
+ {0x00010400, 0x0001049d, 1},
+ {0x000104a0, 0x000104a9, 1},
+ {0x00010800, 0x00010805, 1},
+ {0x00010808, 0x0001080a, 2},
+ {0x0001080b, 0x00010835, 1},
+ {0x00010837, 0x00010838, 1},
+ {0x0001083c, 0x0001083f, 3},
+ {0x00010840, 0x00010855, 1},
+ {0x00010857, 0x0001085f, 1},
+ {0x00010900, 0x0001091b, 1},
+ {0x0001091f, 0x00010939, 1},
+ {0x0001093f, 0x00010980, 65},
+ {0x00010981, 0x000109b7, 1},
+ {0x000109be, 0x000109bf, 1},
+ {0x00010a00, 0x00010a03, 1},
+ {0x00010a05, 0x00010a06, 1},
+ {0x00010a0c, 0x00010a13, 1},
+ {0x00010a15, 0x00010a17, 1},
+ {0x00010a19, 0x00010a33, 1},
+ {0x00010a38, 0x00010a3a, 1},
+ {0x00010a3f, 0x00010a47, 1},
+ {0x00010a50, 0x00010a58, 1},
+ {0x00010a60, 0x00010a7f, 1},
+ {0x00010b00, 0x00010b35, 1},
+ {0x00010b39, 0x00010b55, 1},
+ {0x00010b58, 0x00010b72, 1},
+ {0x00010b78, 0x00010b7f, 1},
+ {0x00010c00, 0x00010c48, 1},
+ {0x00010e60, 0x00010e7e, 1},
+ {0x00011000, 0x0001104d, 1},
+ {0x00011052, 0x0001106f, 1},
+ {0x00011080, 0x000110c1, 1},
+ {0x000110d0, 0x000110e8, 1},
+ {0x000110f0, 0x000110f9, 1},
+ {0x00011100, 0x00011134, 1},
+ {0x00011136, 0x00011143, 1},
+ {0x00011180, 0x000111c8, 1},
+ {0x000111d0, 0x000111d9, 1},
+ {0x00011680, 0x000116b7, 1},
+ {0x000116c0, 0x000116c9, 1},
+ {0x00012000, 0x0001236e, 1},
+ {0x00012400, 0x00012462, 1},
+ {0x00012470, 0x00012473, 1},
+ {0x00013000, 0x0001342e, 1},
+ {0x00016800, 0x00016a38, 1},
+ {0x00016f00, 0x00016f44, 1},
+ {0x00016f50, 0x00016f7e, 1},
+ {0x00016f8f, 0x00016f9f, 1},
+ {0x0001b000, 0x0001b001, 1},
+ {0x0001d000, 0x0001d0f5, 1},
+ {0x0001d100, 0x0001d126, 1},
+ {0x0001d129, 0x0001d1dd, 1},
+ {0x0001d200, 0x0001d245, 1},
+ {0x0001d300, 0x0001d356, 1},
+ {0x0001d360, 0x0001d371, 1},
+ {0x0001d400, 0x0001d454, 1},
+ {0x0001d456, 0x0001d49c, 1},
+ {0x0001d49e, 0x0001d49f, 1},
+ {0x0001d4a2, 0x0001d4a5, 3},
+ {0x0001d4a6, 0x0001d4a9, 3},
+ {0x0001d4aa, 0x0001d4ac, 1},
+ {0x0001d4ae, 0x0001d4b9, 1},
+ {0x0001d4bb, 0x0001d4bd, 2},
+ {0x0001d4be, 0x0001d4c3, 1},
+ {0x0001d4c5, 0x0001d505, 1},
+ {0x0001d507, 0x0001d50a, 1},
+ {0x0001d50d, 0x0001d514, 1},
+ {0x0001d516, 0x0001d51c, 1},
+ {0x0001d51e, 0x0001d539, 1},
+ {0x0001d53b, 0x0001d53e, 1},
+ {0x0001d540, 0x0001d544, 1},
+ {0x0001d546, 0x0001d54a, 4},
+ {0x0001d54b, 0x0001d550, 1},
+ {0x0001d552, 0x0001d6a5, 1},
+ {0x0001d6a8, 0x0001d7cb, 1},
+ {0x0001d7ce, 0x0001d7ff, 1},
+ {0x0001ee00, 0x0001ee03, 1},
+ {0x0001ee05, 0x0001ee1f, 1},
+ {0x0001ee21, 0x0001ee22, 1},
+ {0x0001ee24, 0x0001ee27, 3},
+ {0x0001ee29, 0x0001ee32, 1},
+ {0x0001ee34, 0x0001ee37, 1},
+ {0x0001ee39, 0x0001ee3b, 2},
+ {0x0001ee42, 0x0001ee47, 5},
+ {0x0001ee49, 0x0001ee4d, 2},
+ {0x0001ee4e, 0x0001ee4f, 1},
+ {0x0001ee51, 0x0001ee52, 1},
+ {0x0001ee54, 0x0001ee57, 3},
+ {0x0001ee59, 0x0001ee61, 2},
+ {0x0001ee62, 0x0001ee64, 2},
+ {0x0001ee67, 0x0001ee6a, 1},
+ {0x0001ee6c, 0x0001ee72, 1},
+ {0x0001ee74, 0x0001ee77, 1},
+ {0x0001ee79, 0x0001ee7c, 1},
+ {0x0001ee7e, 0x0001ee80, 2},
+ {0x0001ee81, 0x0001ee89, 1},
+ {0x0001ee8b, 0x0001ee9b, 1},
+ {0x0001eea1, 0x0001eea3, 1},
+ {0x0001eea5, 0x0001eea9, 1},
+ {0x0001eeab, 0x0001eebb, 1},
+ {0x0001eef0, 0x0001eef1, 1},
+ {0x0001f000, 0x0001f02b, 1},
+ {0x0001f030, 0x0001f093, 1},
+ {0x0001f0a0, 0x0001f0ae, 1},
+ {0x0001f0b1, 0x0001f0be, 1},
+ {0x0001f0c1, 0x0001f0cf, 1},
+ {0x0001f0d1, 0x0001f0df, 1},
+ {0x0001f100, 0x0001f10a, 1},
+ {0x0001f110, 0x0001f12e, 1},
+ {0x0001f130, 0x0001f16b, 1},
+ {0x0001f170, 0x0001f19a, 1},
+ {0x0001f1e6, 0x0001f202, 1},
+ {0x0001f210, 0x0001f23a, 1},
+ {0x0001f240, 0x0001f248, 1},
+ {0x0001f250, 0x0001f251, 1},
+ {0x0001f300, 0x0001f320, 1},
+ {0x0001f330, 0x0001f335, 1},
+ {0x0001f337, 0x0001f37c, 1},
+ {0x0001f380, 0x0001f393, 1},
+ {0x0001f3a0, 0x0001f3c4, 1},
+ {0x0001f3c6, 0x0001f3ca, 1},
+ {0x0001f3e0, 0x0001f3f0, 1},
+ {0x0001f400, 0x0001f43e, 1},
+ {0x0001f440, 0x0001f442, 2},
+ {0x0001f443, 0x0001f4f7, 1},
+ {0x0001f4f9, 0x0001f4fc, 1},
+ {0x0001f500, 0x0001f53d, 1},
+ {0x0001f540, 0x0001f543, 1},
+ {0x0001f550, 0x0001f567, 1},
+ {0x0001f5fb, 0x0001f640, 1},
+ {0x0001f645, 0x0001f64f, 1},
+ {0x0001f680, 0x0001f6c5, 1},
+ {0x0001f700, 0x0001f773, 1},
+ {0x00020000, 0x0002a6d6, 1},
+ {0x0002a700, 0x0002b734, 1},
+ {0x0002b740, 0x0002b81d, 1},
+ {0x0002f800, 0x0002fa1d, 1},
+ {0x000e0001, 0x000e0020, 31},
+ {0x000e0021, 0x000e007f, 1},
+ {0x000e0100, 0x000e01ef, 1},
+ {0x000f0000, 0x000ffffd, 1},
+ {0x00100000, 0x0010fffd, 1},
+ },
+ LatinOffset: 0,
+}
+
+// size 4160 bytes (4 KiB)
+var assigned6_2_0 = &unicode.RangeTable{
+ R16: []unicode.Range16{
+ {0x0000, 0x0377, 1},
+ {0x037a, 0x037e, 1},
+ {0x0384, 0x038a, 1},
+ {0x038c, 0x038e, 2},
+ {0x038f, 0x03a1, 1},
+ {0x03a3, 0x0527, 1},
+ {0x0531, 0x0556, 1},
+ {0x0559, 0x055f, 1},
+ {0x0561, 0x0587, 1},
+ {0x0589, 0x058a, 1},
+ {0x058f, 0x0591, 2},
+ {0x0592, 0x05c7, 1},
+ {0x05d0, 0x05ea, 1},
+ {0x05f0, 0x05f4, 1},
+ {0x0600, 0x0604, 1},
+ {0x0606, 0x061b, 1},
+ {0x061e, 0x070d, 1},
+ {0x070f, 0x074a, 1},
+ {0x074d, 0x07b1, 1},
+ {0x07c0, 0x07fa, 1},
+ {0x0800, 0x082d, 1},
+ {0x0830, 0x083e, 1},
+ {0x0840, 0x085b, 1},
+ {0x085e, 0x08a0, 66},
+ {0x08a2, 0x08ac, 1},
+ {0x08e4, 0x08fe, 1},
+ {0x0900, 0x0977, 1},
+ {0x0979, 0x097f, 1},
+ {0x0981, 0x0983, 1},
+ {0x0985, 0x098c, 1},
+ {0x098f, 0x0990, 1},
+ {0x0993, 0x09a8, 1},
+ {0x09aa, 0x09b0, 1},
+ {0x09b2, 0x09b6, 4},
+ {0x09b7, 0x09b9, 1},
+ {0x09bc, 0x09c4, 1},
+ {0x09c7, 0x09c8, 1},
+ {0x09cb, 0x09ce, 1},
+ {0x09d7, 0x09dc, 5},
+ {0x09dd, 0x09df, 2},
+ {0x09e0, 0x09e3, 1},
+ {0x09e6, 0x09fb, 1},
+ {0x0a01, 0x0a03, 1},
+ {0x0a05, 0x0a0a, 1},
+ {0x0a0f, 0x0a10, 1},
+ {0x0a13, 0x0a28, 1},
+ {0x0a2a, 0x0a30, 1},
+ {0x0a32, 0x0a33, 1},
+ {0x0a35, 0x0a36, 1},
+ {0x0a38, 0x0a39, 1},
+ {0x0a3c, 0x0a3e, 2},
+ {0x0a3f, 0x0a42, 1},
+ {0x0a47, 0x0a48, 1},
+ {0x0a4b, 0x0a4d, 1},
+ {0x0a51, 0x0a59, 8},
+ {0x0a5a, 0x0a5c, 1},
+ {0x0a5e, 0x0a66, 8},
+ {0x0a67, 0x0a75, 1},
+ {0x0a81, 0x0a83, 1},
+ {0x0a85, 0x0a8d, 1},
+ {0x0a8f, 0x0a91, 1},
+ {0x0a93, 0x0aa8, 1},
+ {0x0aaa, 0x0ab0, 1},
+ {0x0ab2, 0x0ab3, 1},
+ {0x0ab5, 0x0ab9, 1},
+ {0x0abc, 0x0ac5, 1},
+ {0x0ac7, 0x0ac9, 1},
+ {0x0acb, 0x0acd, 1},
+ {0x0ad0, 0x0ae0, 16},
+ {0x0ae1, 0x0ae3, 1},
+ {0x0ae6, 0x0af1, 1},
+ {0x0b01, 0x0b03, 1},
+ {0x0b05, 0x0b0c, 1},
+ {0x0b0f, 0x0b10, 1},
+ {0x0b13, 0x0b28, 1},
+ {0x0b2a, 0x0b30, 1},
+ {0x0b32, 0x0b33, 1},
+ {0x0b35, 0x0b39, 1},
+ {0x0b3c, 0x0b44, 1},
+ {0x0b47, 0x0b48, 1},
+ {0x0b4b, 0x0b4d, 1},
+ {0x0b56, 0x0b57, 1},
+ {0x0b5c, 0x0b5d, 1},
+ {0x0b5f, 0x0b63, 1},
+ {0x0b66, 0x0b77, 1},
+ {0x0b82, 0x0b83, 1},
+ {0x0b85, 0x0b8a, 1},
+ {0x0b8e, 0x0b90, 1},
+ {0x0b92, 0x0b95, 1},
+ {0x0b99, 0x0b9a, 1},
+ {0x0b9c, 0x0b9e, 2},
+ {0x0b9f, 0x0ba3, 4},
+ {0x0ba4, 0x0ba8, 4},
+ {0x0ba9, 0x0baa, 1},
+ {0x0bae, 0x0bb9, 1},
+ {0x0bbe, 0x0bc2, 1},
+ {0x0bc6, 0x0bc8, 1},
+ {0x0bca, 0x0bcd, 1},
+ {0x0bd0, 0x0bd7, 7},
+ {0x0be6, 0x0bfa, 1},
+ {0x0c01, 0x0c03, 1},
+ {0x0c05, 0x0c0c, 1},
+ {0x0c0e, 0x0c10, 1},
+ {0x0c12, 0x0c28, 1},
+ {0x0c2a, 0x0c33, 1},
+ {0x0c35, 0x0c39, 1},
+ {0x0c3d, 0x0c44, 1},
+ {0x0c46, 0x0c48, 1},
+ {0x0c4a, 0x0c4d, 1},
+ {0x0c55, 0x0c56, 1},
+ {0x0c58, 0x0c59, 1},
+ {0x0c60, 0x0c63, 1},
+ {0x0c66, 0x0c6f, 1},
+ {0x0c78, 0x0c7f, 1},
+ {0x0c82, 0x0c83, 1},
+ {0x0c85, 0x0c8c, 1},
+ {0x0c8e, 0x0c90, 1},
+ {0x0c92, 0x0ca8, 1},
+ {0x0caa, 0x0cb3, 1},
+ {0x0cb5, 0x0cb9, 1},
+ {0x0cbc, 0x0cc4, 1},
+ {0x0cc6, 0x0cc8, 1},
+ {0x0cca, 0x0ccd, 1},
+ {0x0cd5, 0x0cd6, 1},
+ {0x0cde, 0x0ce0, 2},
+ {0x0ce1, 0x0ce3, 1},
+ {0x0ce6, 0x0cef, 1},
+ {0x0cf1, 0x0cf2, 1},
+ {0x0d02, 0x0d03, 1},
+ {0x0d05, 0x0d0c, 1},
+ {0x0d0e, 0x0d10, 1},
+ {0x0d12, 0x0d3a, 1},
+ {0x0d3d, 0x0d44, 1},
+ {0x0d46, 0x0d48, 1},
+ {0x0d4a, 0x0d4e, 1},
+ {0x0d57, 0x0d60, 9},
+ {0x0d61, 0x0d63, 1},
+ {0x0d66, 0x0d75, 1},
+ {0x0d79, 0x0d7f, 1},
+ {0x0d82, 0x0d83, 1},
+ {0x0d85, 0x0d96, 1},
+ {0x0d9a, 0x0db1, 1},
+ {0x0db3, 0x0dbb, 1},
+ {0x0dbd, 0x0dc0, 3},
+ {0x0dc1, 0x0dc6, 1},
+ {0x0dca, 0x0dcf, 5},
+ {0x0dd0, 0x0dd4, 1},
+ {0x0dd6, 0x0dd8, 2},
+ {0x0dd9, 0x0ddf, 1},
+ {0x0df2, 0x0df4, 1},
+ {0x0e01, 0x0e3a, 1},
+ {0x0e3f, 0x0e5b, 1},
+ {0x0e81, 0x0e82, 1},
+ {0x0e84, 0x0e87, 3},
+ {0x0e88, 0x0e8a, 2},
+ {0x0e8d, 0x0e94, 7},
+ {0x0e95, 0x0e97, 1},
+ {0x0e99, 0x0e9f, 1},
+ {0x0ea1, 0x0ea3, 1},
+ {0x0ea5, 0x0ea7, 2},
+ {0x0eaa, 0x0eab, 1},
+ {0x0ead, 0x0eb9, 1},
+ {0x0ebb, 0x0ebd, 1},
+ {0x0ec0, 0x0ec4, 1},
+ {0x0ec6, 0x0ec8, 2},
+ {0x0ec9, 0x0ecd, 1},
+ {0x0ed0, 0x0ed9, 1},
+ {0x0edc, 0x0edf, 1},
+ {0x0f00, 0x0f47, 1},
+ {0x0f49, 0x0f6c, 1},
+ {0x0f71, 0x0f97, 1},
+ {0x0f99, 0x0fbc, 1},
+ {0x0fbe, 0x0fcc, 1},
+ {0x0fce, 0x0fda, 1},
+ {0x1000, 0x10c5, 1},
+ {0x10c7, 0x10cd, 6},
+ {0x10d0, 0x1248, 1},
+ {0x124a, 0x124d, 1},
+ {0x1250, 0x1256, 1},
+ {0x1258, 0x125a, 2},
+ {0x125b, 0x125d, 1},
+ {0x1260, 0x1288, 1},
+ {0x128a, 0x128d, 1},
+ {0x1290, 0x12b0, 1},
+ {0x12b2, 0x12b5, 1},
+ {0x12b8, 0x12be, 1},
+ {0x12c0, 0x12c2, 2},
+ {0x12c3, 0x12c5, 1},
+ {0x12c8, 0x12d6, 1},
+ {0x12d8, 0x1310, 1},
+ {0x1312, 0x1315, 1},
+ {0x1318, 0x135a, 1},
+ {0x135d, 0x137c, 1},
+ {0x1380, 0x1399, 1},
+ {0x13a0, 0x13f4, 1},
+ {0x1400, 0x169c, 1},
+ {0x16a0, 0x16f0, 1},
+ {0x1700, 0x170c, 1},
+ {0x170e, 0x1714, 1},
+ {0x1720, 0x1736, 1},
+ {0x1740, 0x1753, 1},
+ {0x1760, 0x176c, 1},
+ {0x176e, 0x1770, 1},
+ {0x1772, 0x1773, 1},
+ {0x1780, 0x17dd, 1},
+ {0x17e0, 0x17e9, 1},
+ {0x17f0, 0x17f9, 1},
+ {0x1800, 0x180e, 1},
+ {0x1810, 0x1819, 1},
+ {0x1820, 0x1877, 1},
+ {0x1880, 0x18aa, 1},
+ {0x18b0, 0x18f5, 1},
+ {0x1900, 0x191c, 1},
+ {0x1920, 0x192b, 1},
+ {0x1930, 0x193b, 1},
+ {0x1940, 0x1944, 4},
+ {0x1945, 0x196d, 1},
+ {0x1970, 0x1974, 1},
+ {0x1980, 0x19ab, 1},
+ {0x19b0, 0x19c9, 1},
+ {0x19d0, 0x19da, 1},
+ {0x19de, 0x1a1b, 1},
+ {0x1a1e, 0x1a5e, 1},
+ {0x1a60, 0x1a7c, 1},
+ {0x1a7f, 0x1a89, 1},
+ {0x1a90, 0x1a99, 1},
+ {0x1aa0, 0x1aad, 1},
+ {0x1b00, 0x1b4b, 1},
+ {0x1b50, 0x1b7c, 1},
+ {0x1b80, 0x1bf3, 1},
+ {0x1bfc, 0x1c37, 1},
+ {0x1c3b, 0x1c49, 1},
+ {0x1c4d, 0x1c7f, 1},
+ {0x1cc0, 0x1cc7, 1},
+ {0x1cd0, 0x1cf6, 1},
+ {0x1d00, 0x1de6, 1},
+ {0x1dfc, 0x1f15, 1},
+ {0x1f18, 0x1f1d, 1},
+ {0x1f20, 0x1f45, 1},
+ {0x1f48, 0x1f4d, 1},
+ {0x1f50, 0x1f57, 1},
+ {0x1f59, 0x1f5f, 2},
+ {0x1f60, 0x1f7d, 1},
+ {0x1f80, 0x1fb4, 1},
+ {0x1fb6, 0x1fc4, 1},
+ {0x1fc6, 0x1fd3, 1},
+ {0x1fd6, 0x1fdb, 1},
+ {0x1fdd, 0x1fef, 1},
+ {0x1ff2, 0x1ff4, 1},
+ {0x1ff6, 0x1ffe, 1},
+ {0x2000, 0x2064, 1},
+ {0x206a, 0x2071, 1},
+ {0x2074, 0x208e, 1},
+ {0x2090, 0x209c, 1},
+ {0x20a0, 0x20ba, 1},
+ {0x20d0, 0x20f0, 1},
+ {0x2100, 0x2189, 1},
+ {0x2190, 0x23f3, 1},
+ {0x2400, 0x2426, 1},
+ {0x2440, 0x244a, 1},
+ {0x2460, 0x26ff, 1},
+ {0x2701, 0x2b4c, 1},
+ {0x2b50, 0x2b59, 1},
+ {0x2c00, 0x2c2e, 1},
+ {0x2c30, 0x2c5e, 1},
+ {0x2c60, 0x2cf3, 1},
+ {0x2cf9, 0x2d25, 1},
+ {0x2d27, 0x2d2d, 6},
+ {0x2d30, 0x2d67, 1},
+ {0x2d6f, 0x2d70, 1},
+ {0x2d7f, 0x2d96, 1},
+ {0x2da0, 0x2da6, 1},
+ {0x2da8, 0x2dae, 1},
+ {0x2db0, 0x2db6, 1},
+ {0x2db8, 0x2dbe, 1},
+ {0x2dc0, 0x2dc6, 1},
+ {0x2dc8, 0x2dce, 1},
+ {0x2dd0, 0x2dd6, 1},
+ {0x2dd8, 0x2dde, 1},
+ {0x2de0, 0x2e3b, 1},
+ {0x2e80, 0x2e99, 1},
+ {0x2e9b, 0x2ef3, 1},
+ {0x2f00, 0x2fd5, 1},
+ {0x2ff0, 0x2ffb, 1},
+ {0x3000, 0x303f, 1},
+ {0x3041, 0x3096, 1},
+ {0x3099, 0x30ff, 1},
+ {0x3105, 0x312d, 1},
+ {0x3131, 0x318e, 1},
+ {0x3190, 0x31ba, 1},
+ {0x31c0, 0x31e3, 1},
+ {0x31f0, 0x321e, 1},
+ {0x3220, 0x32fe, 1},
+ {0x3300, 0x4db5, 1},
+ {0x4dc0, 0x9fcc, 1},
+ {0xa000, 0xa48c, 1},
+ {0xa490, 0xa4c6, 1},
+ {0xa4d0, 0xa62b, 1},
+ {0xa640, 0xa697, 1},
+ {0xa69f, 0xa6f7, 1},
+ {0xa700, 0xa78e, 1},
+ {0xa790, 0xa793, 1},
+ {0xa7a0, 0xa7aa, 1},
+ {0xa7f8, 0xa82b, 1},
+ {0xa830, 0xa839, 1},
+ {0xa840, 0xa877, 1},
+ {0xa880, 0xa8c4, 1},
+ {0xa8ce, 0xa8d9, 1},
+ {0xa8e0, 0xa8fb, 1},
+ {0xa900, 0xa953, 1},
+ {0xa95f, 0xa97c, 1},
+ {0xa980, 0xa9cd, 1},
+ {0xa9cf, 0xa9d9, 1},
+ {0xa9de, 0xa9df, 1},
+ {0xaa00, 0xaa36, 1},
+ {0xaa40, 0xaa4d, 1},
+ {0xaa50, 0xaa59, 1},
+ {0xaa5c, 0xaa7b, 1},
+ {0xaa80, 0xaac2, 1},
+ {0xaadb, 0xaaf6, 1},
+ {0xab01, 0xab06, 1},
+ {0xab09, 0xab0e, 1},
+ {0xab11, 0xab16, 1},
+ {0xab20, 0xab26, 1},
+ {0xab28, 0xab2e, 1},
+ {0xabc0, 0xabed, 1},
+ {0xabf0, 0xabf9, 1},
+ {0xac00, 0xd7a3, 1},
+ {0xd7b0, 0xd7c6, 1},
+ {0xd7cb, 0xd7fb, 1},
+ {0xd800, 0xfa6d, 1},
+ {0xfa70, 0xfad9, 1},
+ {0xfb00, 0xfb06, 1},
+ {0xfb13, 0xfb17, 1},
+ {0xfb1d, 0xfb36, 1},
+ {0xfb38, 0xfb3c, 1},
+ {0xfb3e, 0xfb40, 2},
+ {0xfb41, 0xfb43, 2},
+ {0xfb44, 0xfb46, 2},
+ {0xfb47, 0xfbc1, 1},
+ {0xfbd3, 0xfd3f, 1},
+ {0xfd50, 0xfd8f, 1},
+ {0xfd92, 0xfdc7, 1},
+ {0xfdf0, 0xfdfd, 1},
+ {0xfe00, 0xfe19, 1},
+ {0xfe20, 0xfe26, 1},
+ {0xfe30, 0xfe52, 1},
+ {0xfe54, 0xfe66, 1},
+ {0xfe68, 0xfe6b, 1},
+ {0xfe70, 0xfe74, 1},
+ {0xfe76, 0xfefc, 1},
+ {0xfeff, 0xff01, 2},
+ {0xff02, 0xffbe, 1},
+ {0xffc2, 0xffc7, 1},
+ {0xffca, 0xffcf, 1},
+ {0xffd2, 0xffd7, 1},
+ {0xffda, 0xffdc, 1},
+ {0xffe0, 0xffe6, 1},
+ {0xffe8, 0xffee, 1},
+ {0xfff9, 0xfffd, 1},
+ },
+ R32: []unicode.Range32{
+ {0x00010000, 0x0001000b, 1},
+ {0x0001000d, 0x00010026, 1},
+ {0x00010028, 0x0001003a, 1},
+ {0x0001003c, 0x0001003d, 1},
+ {0x0001003f, 0x0001004d, 1},
+ {0x00010050, 0x0001005d, 1},
+ {0x00010080, 0x000100fa, 1},
+ {0x00010100, 0x00010102, 1},
+ {0x00010107, 0x00010133, 1},
+ {0x00010137, 0x0001018a, 1},
+ {0x00010190, 0x0001019b, 1},
+ {0x000101d0, 0x000101fd, 1},
+ {0x00010280, 0x0001029c, 1},
+ {0x000102a0, 0x000102d0, 1},
+ {0x00010300, 0x0001031e, 1},
+ {0x00010320, 0x00010323, 1},
+ {0x00010330, 0x0001034a, 1},
+ {0x00010380, 0x0001039d, 1},
+ {0x0001039f, 0x000103c3, 1},
+ {0x000103c8, 0x000103d5, 1},
+ {0x00010400, 0x0001049d, 1},
+ {0x000104a0, 0x000104a9, 1},
+ {0x00010800, 0x00010805, 1},
+ {0x00010808, 0x0001080a, 2},
+ {0x0001080b, 0x00010835, 1},
+ {0x00010837, 0x00010838, 1},
+ {0x0001083c, 0x0001083f, 3},
+ {0x00010840, 0x00010855, 1},
+ {0x00010857, 0x0001085f, 1},
+ {0x00010900, 0x0001091b, 1},
+ {0x0001091f, 0x00010939, 1},
+ {0x0001093f, 0x00010980, 65},
+ {0x00010981, 0x000109b7, 1},
+ {0x000109be, 0x000109bf, 1},
+ {0x00010a00, 0x00010a03, 1},
+ {0x00010a05, 0x00010a06, 1},
+ {0x00010a0c, 0x00010a13, 1},
+ {0x00010a15, 0x00010a17, 1},
+ {0x00010a19, 0x00010a33, 1},
+ {0x00010a38, 0x00010a3a, 1},
+ {0x00010a3f, 0x00010a47, 1},
+ {0x00010a50, 0x00010a58, 1},
+ {0x00010a60, 0x00010a7f, 1},
+ {0x00010b00, 0x00010b35, 1},
+ {0x00010b39, 0x00010b55, 1},
+ {0x00010b58, 0x00010b72, 1},
+ {0x00010b78, 0x00010b7f, 1},
+ {0x00010c00, 0x00010c48, 1},
+ {0x00010e60, 0x00010e7e, 1},
+ {0x00011000, 0x0001104d, 1},
+ {0x00011052, 0x0001106f, 1},
+ {0x00011080, 0x000110c1, 1},
+ {0x000110d0, 0x000110e8, 1},
+ {0x000110f0, 0x000110f9, 1},
+ {0x00011100, 0x00011134, 1},
+ {0x00011136, 0x00011143, 1},
+ {0x00011180, 0x000111c8, 1},
+ {0x000111d0, 0x000111d9, 1},
+ {0x00011680, 0x000116b7, 1},
+ {0x000116c0, 0x000116c9, 1},
+ {0x00012000, 0x0001236e, 1},
+ {0x00012400, 0x00012462, 1},
+ {0x00012470, 0x00012473, 1},
+ {0x00013000, 0x0001342e, 1},
+ {0x00016800, 0x00016a38, 1},
+ {0x00016f00, 0x00016f44, 1},
+ {0x00016f50, 0x00016f7e, 1},
+ {0x00016f8f, 0x00016f9f, 1},
+ {0x0001b000, 0x0001b001, 1},
+ {0x0001d000, 0x0001d0f5, 1},
+ {0x0001d100, 0x0001d126, 1},
+ {0x0001d129, 0x0001d1dd, 1},
+ {0x0001d200, 0x0001d245, 1},
+ {0x0001d300, 0x0001d356, 1},
+ {0x0001d360, 0x0001d371, 1},
+ {0x0001d400, 0x0001d454, 1},
+ {0x0001d456, 0x0001d49c, 1},
+ {0x0001d49e, 0x0001d49f, 1},
+ {0x0001d4a2, 0x0001d4a5, 3},
+ {0x0001d4a6, 0x0001d4a9, 3},
+ {0x0001d4aa, 0x0001d4ac, 1},
+ {0x0001d4ae, 0x0001d4b9, 1},
+ {0x0001d4bb, 0x0001d4bd, 2},
+ {0x0001d4be, 0x0001d4c3, 1},
+ {0x0001d4c5, 0x0001d505, 1},
+ {0x0001d507, 0x0001d50a, 1},
+ {0x0001d50d, 0x0001d514, 1},
+ {0x0001d516, 0x0001d51c, 1},
+ {0x0001d51e, 0x0001d539, 1},
+ {0x0001d53b, 0x0001d53e, 1},
+ {0x0001d540, 0x0001d544, 1},
+ {0x0001d546, 0x0001d54a, 4},
+ {0x0001d54b, 0x0001d550, 1},
+ {0x0001d552, 0x0001d6a5, 1},
+ {0x0001d6a8, 0x0001d7cb, 1},
+ {0x0001d7ce, 0x0001d7ff, 1},
+ {0x0001ee00, 0x0001ee03, 1},
+ {0x0001ee05, 0x0001ee1f, 1},
+ {0x0001ee21, 0x0001ee22, 1},
+ {0x0001ee24, 0x0001ee27, 3},
+ {0x0001ee29, 0x0001ee32, 1},
+ {0x0001ee34, 0x0001ee37, 1},
+ {0x0001ee39, 0x0001ee3b, 2},
+ {0x0001ee42, 0x0001ee47, 5},
+ {0x0001ee49, 0x0001ee4d, 2},
+ {0x0001ee4e, 0x0001ee4f, 1},
+ {0x0001ee51, 0x0001ee52, 1},
+ {0x0001ee54, 0x0001ee57, 3},
+ {0x0001ee59, 0x0001ee61, 2},
+ {0x0001ee62, 0x0001ee64, 2},
+ {0x0001ee67, 0x0001ee6a, 1},
+ {0x0001ee6c, 0x0001ee72, 1},
+ {0x0001ee74, 0x0001ee77, 1},
+ {0x0001ee79, 0x0001ee7c, 1},
+ {0x0001ee7e, 0x0001ee80, 2},
+ {0x0001ee81, 0x0001ee89, 1},
+ {0x0001ee8b, 0x0001ee9b, 1},
+ {0x0001eea1, 0x0001eea3, 1},
+ {0x0001eea5, 0x0001eea9, 1},
+ {0x0001eeab, 0x0001eebb, 1},
+ {0x0001eef0, 0x0001eef1, 1},
+ {0x0001f000, 0x0001f02b, 1},
+ {0x0001f030, 0x0001f093, 1},
+ {0x0001f0a0, 0x0001f0ae, 1},
+ {0x0001f0b1, 0x0001f0be, 1},
+ {0x0001f0c1, 0x0001f0cf, 1},
+ {0x0001f0d1, 0x0001f0df, 1},
+ {0x0001f100, 0x0001f10a, 1},
+ {0x0001f110, 0x0001f12e, 1},
+ {0x0001f130, 0x0001f16b, 1},
+ {0x0001f170, 0x0001f19a, 1},
+ {0x0001f1e6, 0x0001f202, 1},
+ {0x0001f210, 0x0001f23a, 1},
+ {0x0001f240, 0x0001f248, 1},
+ {0x0001f250, 0x0001f251, 1},
+ {0x0001f300, 0x0001f320, 1},
+ {0x0001f330, 0x0001f335, 1},
+ {0x0001f337, 0x0001f37c, 1},
+ {0x0001f380, 0x0001f393, 1},
+ {0x0001f3a0, 0x0001f3c4, 1},
+ {0x0001f3c6, 0x0001f3ca, 1},
+ {0x0001f3e0, 0x0001f3f0, 1},
+ {0x0001f400, 0x0001f43e, 1},
+ {0x0001f440, 0x0001f442, 2},
+ {0x0001f443, 0x0001f4f7, 1},
+ {0x0001f4f9, 0x0001f4fc, 1},
+ {0x0001f500, 0x0001f53d, 1},
+ {0x0001f540, 0x0001f543, 1},
+ {0x0001f550, 0x0001f567, 1},
+ {0x0001f5fb, 0x0001f640, 1},
+ {0x0001f645, 0x0001f64f, 1},
+ {0x0001f680, 0x0001f6c5, 1},
+ {0x0001f700, 0x0001f773, 1},
+ {0x00020000, 0x0002a6d6, 1},
+ {0x0002a700, 0x0002b734, 1},
+ {0x0002b740, 0x0002b81d, 1},
+ {0x0002f800, 0x0002fa1d, 1},
+ {0x000e0001, 0x000e0020, 31},
+ {0x000e0021, 0x000e007f, 1},
+ {0x000e0100, 0x000e01ef, 1},
+ {0x000f0000, 0x000ffffd, 1},
+ {0x00100000, 0x0010fffd, 1},
+ },
+ LatinOffset: 0,
+}
+
+// size 4160 bytes (4 KiB)
+var assigned6_3_0 = &unicode.RangeTable{
+ R16: []unicode.Range16{
+ {0x0000, 0x0377, 1},
+ {0x037a, 0x037e, 1},
+ {0x0384, 0x038a, 1},
+ {0x038c, 0x038e, 2},
+ {0x038f, 0x03a1, 1},
+ {0x03a3, 0x0527, 1},
+ {0x0531, 0x0556, 1},
+ {0x0559, 0x055f, 1},
+ {0x0561, 0x0587, 1},
+ {0x0589, 0x058a, 1},
+ {0x058f, 0x0591, 2},
+ {0x0592, 0x05c7, 1},
+ {0x05d0, 0x05ea, 1},
+ {0x05f0, 0x05f4, 1},
+ {0x0600, 0x0604, 1},
+ {0x0606, 0x061c, 1},
+ {0x061e, 0x070d, 1},
+ {0x070f, 0x074a, 1},
+ {0x074d, 0x07b1, 1},
+ {0x07c0, 0x07fa, 1},
+ {0x0800, 0x082d, 1},
+ {0x0830, 0x083e, 1},
+ {0x0840, 0x085b, 1},
+ {0x085e, 0x08a0, 66},
+ {0x08a2, 0x08ac, 1},
+ {0x08e4, 0x08fe, 1},
+ {0x0900, 0x0977, 1},
+ {0x0979, 0x097f, 1},
+ {0x0981, 0x0983, 1},
+ {0x0985, 0x098c, 1},
+ {0x098f, 0x0990, 1},
+ {0x0993, 0x09a8, 1},
+ {0x09aa, 0x09b0, 1},
+ {0x09b2, 0x09b6, 4},
+ {0x09b7, 0x09b9, 1},
+ {0x09bc, 0x09c4, 1},
+ {0x09c7, 0x09c8, 1},
+ {0x09cb, 0x09ce, 1},
+ {0x09d7, 0x09dc, 5},
+ {0x09dd, 0x09df, 2},
+ {0x09e0, 0x09e3, 1},
+ {0x09e6, 0x09fb, 1},
+ {0x0a01, 0x0a03, 1},
+ {0x0a05, 0x0a0a, 1},
+ {0x0a0f, 0x0a10, 1},
+ {0x0a13, 0x0a28, 1},
+ {0x0a2a, 0x0a30, 1},
+ {0x0a32, 0x0a33, 1},
+ {0x0a35, 0x0a36, 1},
+ {0x0a38, 0x0a39, 1},
+ {0x0a3c, 0x0a3e, 2},
+ {0x0a3f, 0x0a42, 1},
+ {0x0a47, 0x0a48, 1},
+ {0x0a4b, 0x0a4d, 1},
+ {0x0a51, 0x0a59, 8},
+ {0x0a5a, 0x0a5c, 1},
+ {0x0a5e, 0x0a66, 8},
+ {0x0a67, 0x0a75, 1},
+ {0x0a81, 0x0a83, 1},
+ {0x0a85, 0x0a8d, 1},
+ {0x0a8f, 0x0a91, 1},
+ {0x0a93, 0x0aa8, 1},
+ {0x0aaa, 0x0ab0, 1},
+ {0x0ab2, 0x0ab3, 1},
+ {0x0ab5, 0x0ab9, 1},
+ {0x0abc, 0x0ac5, 1},
+ {0x0ac7, 0x0ac9, 1},
+ {0x0acb, 0x0acd, 1},
+ {0x0ad0, 0x0ae0, 16},
+ {0x0ae1, 0x0ae3, 1},
+ {0x0ae6, 0x0af1, 1},
+ {0x0b01, 0x0b03, 1},
+ {0x0b05, 0x0b0c, 1},
+ {0x0b0f, 0x0b10, 1},
+ {0x0b13, 0x0b28, 1},
+ {0x0b2a, 0x0b30, 1},
+ {0x0b32, 0x0b33, 1},
+ {0x0b35, 0x0b39, 1},
+ {0x0b3c, 0x0b44, 1},
+ {0x0b47, 0x0b48, 1},
+ {0x0b4b, 0x0b4d, 1},
+ {0x0b56, 0x0b57, 1},
+ {0x0b5c, 0x0b5d, 1},
+ {0x0b5f, 0x0b63, 1},
+ {0x0b66, 0x0b77, 1},
+ {0x0b82, 0x0b83, 1},
+ {0x0b85, 0x0b8a, 1},
+ {0x0b8e, 0x0b90, 1},
+ {0x0b92, 0x0b95, 1},
+ {0x0b99, 0x0b9a, 1},
+ {0x0b9c, 0x0b9e, 2},
+ {0x0b9f, 0x0ba3, 4},
+ {0x0ba4, 0x0ba8, 4},
+ {0x0ba9, 0x0baa, 1},
+ {0x0bae, 0x0bb9, 1},
+ {0x0bbe, 0x0bc2, 1},
+ {0x0bc6, 0x0bc8, 1},
+ {0x0bca, 0x0bcd, 1},
+ {0x0bd0, 0x0bd7, 7},
+ {0x0be6, 0x0bfa, 1},
+ {0x0c01, 0x0c03, 1},
+ {0x0c05, 0x0c0c, 1},
+ {0x0c0e, 0x0c10, 1},
+ {0x0c12, 0x0c28, 1},
+ {0x0c2a, 0x0c33, 1},
+ {0x0c35, 0x0c39, 1},
+ {0x0c3d, 0x0c44, 1},
+ {0x0c46, 0x0c48, 1},
+ {0x0c4a, 0x0c4d, 1},
+ {0x0c55, 0x0c56, 1},
+ {0x0c58, 0x0c59, 1},
+ {0x0c60, 0x0c63, 1},
+ {0x0c66, 0x0c6f, 1},
+ {0x0c78, 0x0c7f, 1},
+ {0x0c82, 0x0c83, 1},
+ {0x0c85, 0x0c8c, 1},
+ {0x0c8e, 0x0c90, 1},
+ {0x0c92, 0x0ca8, 1},
+ {0x0caa, 0x0cb3, 1},
+ {0x0cb5, 0x0cb9, 1},
+ {0x0cbc, 0x0cc4, 1},
+ {0x0cc6, 0x0cc8, 1},
+ {0x0cca, 0x0ccd, 1},
+ {0x0cd5, 0x0cd6, 1},
+ {0x0cde, 0x0ce0, 2},
+ {0x0ce1, 0x0ce3, 1},
+ {0x0ce6, 0x0cef, 1},
+ {0x0cf1, 0x0cf2, 1},
+ {0x0d02, 0x0d03, 1},
+ {0x0d05, 0x0d0c, 1},
+ {0x0d0e, 0x0d10, 1},
+ {0x0d12, 0x0d3a, 1},
+ {0x0d3d, 0x0d44, 1},
+ {0x0d46, 0x0d48, 1},
+ {0x0d4a, 0x0d4e, 1},
+ {0x0d57, 0x0d60, 9},
+ {0x0d61, 0x0d63, 1},
+ {0x0d66, 0x0d75, 1},
+ {0x0d79, 0x0d7f, 1},
+ {0x0d82, 0x0d83, 1},
+ {0x0d85, 0x0d96, 1},
+ {0x0d9a, 0x0db1, 1},
+ {0x0db3, 0x0dbb, 1},
+ {0x0dbd, 0x0dc0, 3},
+ {0x0dc1, 0x0dc6, 1},
+ {0x0dca, 0x0dcf, 5},
+ {0x0dd0, 0x0dd4, 1},
+ {0x0dd6, 0x0dd8, 2},
+ {0x0dd9, 0x0ddf, 1},
+ {0x0df2, 0x0df4, 1},
+ {0x0e01, 0x0e3a, 1},
+ {0x0e3f, 0x0e5b, 1},
+ {0x0e81, 0x0e82, 1},
+ {0x0e84, 0x0e87, 3},
+ {0x0e88, 0x0e8a, 2},
+ {0x0e8d, 0x0e94, 7},
+ {0x0e95, 0x0e97, 1},
+ {0x0e99, 0x0e9f, 1},
+ {0x0ea1, 0x0ea3, 1},
+ {0x0ea5, 0x0ea7, 2},
+ {0x0eaa, 0x0eab, 1},
+ {0x0ead, 0x0eb9, 1},
+ {0x0ebb, 0x0ebd, 1},
+ {0x0ec0, 0x0ec4, 1},
+ {0x0ec6, 0x0ec8, 2},
+ {0x0ec9, 0x0ecd, 1},
+ {0x0ed0, 0x0ed9, 1},
+ {0x0edc, 0x0edf, 1},
+ {0x0f00, 0x0f47, 1},
+ {0x0f49, 0x0f6c, 1},
+ {0x0f71, 0x0f97, 1},
+ {0x0f99, 0x0fbc, 1},
+ {0x0fbe, 0x0fcc, 1},
+ {0x0fce, 0x0fda, 1},
+ {0x1000, 0x10c5, 1},
+ {0x10c7, 0x10cd, 6},
+ {0x10d0, 0x1248, 1},
+ {0x124a, 0x124d, 1},
+ {0x1250, 0x1256, 1},
+ {0x1258, 0x125a, 2},
+ {0x125b, 0x125d, 1},
+ {0x1260, 0x1288, 1},
+ {0x128a, 0x128d, 1},
+ {0x1290, 0x12b0, 1},
+ {0x12b2, 0x12b5, 1},
+ {0x12b8, 0x12be, 1},
+ {0x12c0, 0x12c2, 2},
+ {0x12c3, 0x12c5, 1},
+ {0x12c8, 0x12d6, 1},
+ {0x12d8, 0x1310, 1},
+ {0x1312, 0x1315, 1},
+ {0x1318, 0x135a, 1},
+ {0x135d, 0x137c, 1},
+ {0x1380, 0x1399, 1},
+ {0x13a0, 0x13f4, 1},
+ {0x1400, 0x169c, 1},
+ {0x16a0, 0x16f0, 1},
+ {0x1700, 0x170c, 1},
+ {0x170e, 0x1714, 1},
+ {0x1720, 0x1736, 1},
+ {0x1740, 0x1753, 1},
+ {0x1760, 0x176c, 1},
+ {0x176e, 0x1770, 1},
+ {0x1772, 0x1773, 1},
+ {0x1780, 0x17dd, 1},
+ {0x17e0, 0x17e9, 1},
+ {0x17f0, 0x17f9, 1},
+ {0x1800, 0x180e, 1},
+ {0x1810, 0x1819, 1},
+ {0x1820, 0x1877, 1},
+ {0x1880, 0x18aa, 1},
+ {0x18b0, 0x18f5, 1},
+ {0x1900, 0x191c, 1},
+ {0x1920, 0x192b, 1},
+ {0x1930, 0x193b, 1},
+ {0x1940, 0x1944, 4},
+ {0x1945, 0x196d, 1},
+ {0x1970, 0x1974, 1},
+ {0x1980, 0x19ab, 1},
+ {0x19b0, 0x19c9, 1},
+ {0x19d0, 0x19da, 1},
+ {0x19de, 0x1a1b, 1},
+ {0x1a1e, 0x1a5e, 1},
+ {0x1a60, 0x1a7c, 1},
+ {0x1a7f, 0x1a89, 1},
+ {0x1a90, 0x1a99, 1},
+ {0x1aa0, 0x1aad, 1},
+ {0x1b00, 0x1b4b, 1},
+ {0x1b50, 0x1b7c, 1},
+ {0x1b80, 0x1bf3, 1},
+ {0x1bfc, 0x1c37, 1},
+ {0x1c3b, 0x1c49, 1},
+ {0x1c4d, 0x1c7f, 1},
+ {0x1cc0, 0x1cc7, 1},
+ {0x1cd0, 0x1cf6, 1},
+ {0x1d00, 0x1de6, 1},
+ {0x1dfc, 0x1f15, 1},
+ {0x1f18, 0x1f1d, 1},
+ {0x1f20, 0x1f45, 1},
+ {0x1f48, 0x1f4d, 1},
+ {0x1f50, 0x1f57, 1},
+ {0x1f59, 0x1f5f, 2},
+ {0x1f60, 0x1f7d, 1},
+ {0x1f80, 0x1fb4, 1},
+ {0x1fb6, 0x1fc4, 1},
+ {0x1fc6, 0x1fd3, 1},
+ {0x1fd6, 0x1fdb, 1},
+ {0x1fdd, 0x1fef, 1},
+ {0x1ff2, 0x1ff4, 1},
+ {0x1ff6, 0x1ffe, 1},
+ {0x2000, 0x2064, 1},
+ {0x2066, 0x2071, 1},
+ {0x2074, 0x208e, 1},
+ {0x2090, 0x209c, 1},
+ {0x20a0, 0x20ba, 1},
+ {0x20d0, 0x20f0, 1},
+ {0x2100, 0x2189, 1},
+ {0x2190, 0x23f3, 1},
+ {0x2400, 0x2426, 1},
+ {0x2440, 0x244a, 1},
+ {0x2460, 0x26ff, 1},
+ {0x2701, 0x2b4c, 1},
+ {0x2b50, 0x2b59, 1},
+ {0x2c00, 0x2c2e, 1},
+ {0x2c30, 0x2c5e, 1},
+ {0x2c60, 0x2cf3, 1},
+ {0x2cf9, 0x2d25, 1},
+ {0x2d27, 0x2d2d, 6},
+ {0x2d30, 0x2d67, 1},
+ {0x2d6f, 0x2d70, 1},
+ {0x2d7f, 0x2d96, 1},
+ {0x2da0, 0x2da6, 1},
+ {0x2da8, 0x2dae, 1},
+ {0x2db0, 0x2db6, 1},
+ {0x2db8, 0x2dbe, 1},
+ {0x2dc0, 0x2dc6, 1},
+ {0x2dc8, 0x2dce, 1},
+ {0x2dd0, 0x2dd6, 1},
+ {0x2dd8, 0x2dde, 1},
+ {0x2de0, 0x2e3b, 1},
+ {0x2e80, 0x2e99, 1},
+ {0x2e9b, 0x2ef3, 1},
+ {0x2f00, 0x2fd5, 1},
+ {0x2ff0, 0x2ffb, 1},
+ {0x3000, 0x303f, 1},
+ {0x3041, 0x3096, 1},
+ {0x3099, 0x30ff, 1},
+ {0x3105, 0x312d, 1},
+ {0x3131, 0x318e, 1},
+ {0x3190, 0x31ba, 1},
+ {0x31c0, 0x31e3, 1},
+ {0x31f0, 0x321e, 1},
+ {0x3220, 0x32fe, 1},
+ {0x3300, 0x4db5, 1},
+ {0x4dc0, 0x9fcc, 1},
+ {0xa000, 0xa48c, 1},
+ {0xa490, 0xa4c6, 1},
+ {0xa4d0, 0xa62b, 1},
+ {0xa640, 0xa697, 1},
+ {0xa69f, 0xa6f7, 1},
+ {0xa700, 0xa78e, 1},
+ {0xa790, 0xa793, 1},
+ {0xa7a0, 0xa7aa, 1},
+ {0xa7f8, 0xa82b, 1},
+ {0xa830, 0xa839, 1},
+ {0xa840, 0xa877, 1},
+ {0xa880, 0xa8c4, 1},
+ {0xa8ce, 0xa8d9, 1},
+ {0xa8e0, 0xa8fb, 1},
+ {0xa900, 0xa953, 1},
+ {0xa95f, 0xa97c, 1},
+ {0xa980, 0xa9cd, 1},
+ {0xa9cf, 0xa9d9, 1},
+ {0xa9de, 0xa9df, 1},
+ {0xaa00, 0xaa36, 1},
+ {0xaa40, 0xaa4d, 1},
+ {0xaa50, 0xaa59, 1},
+ {0xaa5c, 0xaa7b, 1},
+ {0xaa80, 0xaac2, 1},
+ {0xaadb, 0xaaf6, 1},
+ {0xab01, 0xab06, 1},
+ {0xab09, 0xab0e, 1},
+ {0xab11, 0xab16, 1},
+ {0xab20, 0xab26, 1},
+ {0xab28, 0xab2e, 1},
+ {0xabc0, 0xabed, 1},
+ {0xabf0, 0xabf9, 1},
+ {0xac00, 0xd7a3, 1},
+ {0xd7b0, 0xd7c6, 1},
+ {0xd7cb, 0xd7fb, 1},
+ {0xd800, 0xfa6d, 1},
+ {0xfa70, 0xfad9, 1},
+ {0xfb00, 0xfb06, 1},
+ {0xfb13, 0xfb17, 1},
+ {0xfb1d, 0xfb36, 1},
+ {0xfb38, 0xfb3c, 1},
+ {0xfb3e, 0xfb40, 2},
+ {0xfb41, 0xfb43, 2},
+ {0xfb44, 0xfb46, 2},
+ {0xfb47, 0xfbc1, 1},
+ {0xfbd3, 0xfd3f, 1},
+ {0xfd50, 0xfd8f, 1},
+ {0xfd92, 0xfdc7, 1},
+ {0xfdf0, 0xfdfd, 1},
+ {0xfe00, 0xfe19, 1},
+ {0xfe20, 0xfe26, 1},
+ {0xfe30, 0xfe52, 1},
+ {0xfe54, 0xfe66, 1},
+ {0xfe68, 0xfe6b, 1},
+ {0xfe70, 0xfe74, 1},
+ {0xfe76, 0xfefc, 1},
+ {0xfeff, 0xff01, 2},
+ {0xff02, 0xffbe, 1},
+ {0xffc2, 0xffc7, 1},
+ {0xffca, 0xffcf, 1},
+ {0xffd2, 0xffd7, 1},
+ {0xffda, 0xffdc, 1},
+ {0xffe0, 0xffe6, 1},
+ {0xffe8, 0xffee, 1},
+ {0xfff9, 0xfffd, 1},
+ },
+ R32: []unicode.Range32{
+ {0x00010000, 0x0001000b, 1},
+ {0x0001000d, 0x00010026, 1},
+ {0x00010028, 0x0001003a, 1},
+ {0x0001003c, 0x0001003d, 1},
+ {0x0001003f, 0x0001004d, 1},
+ {0x00010050, 0x0001005d, 1},
+ {0x00010080, 0x000100fa, 1},
+ {0x00010100, 0x00010102, 1},
+ {0x00010107, 0x00010133, 1},
+ {0x00010137, 0x0001018a, 1},
+ {0x00010190, 0x0001019b, 1},
+ {0x000101d0, 0x000101fd, 1},
+ {0x00010280, 0x0001029c, 1},
+ {0x000102a0, 0x000102d0, 1},
+ {0x00010300, 0x0001031e, 1},
+ {0x00010320, 0x00010323, 1},
+ {0x00010330, 0x0001034a, 1},
+ {0x00010380, 0x0001039d, 1},
+ {0x0001039f, 0x000103c3, 1},
+ {0x000103c8, 0x000103d5, 1},
+ {0x00010400, 0x0001049d, 1},
+ {0x000104a0, 0x000104a9, 1},
+ {0x00010800, 0x00010805, 1},
+ {0x00010808, 0x0001080a, 2},
+ {0x0001080b, 0x00010835, 1},
+ {0x00010837, 0x00010838, 1},
+ {0x0001083c, 0x0001083f, 3},
+ {0x00010840, 0x00010855, 1},
+ {0x00010857, 0x0001085f, 1},
+ {0x00010900, 0x0001091b, 1},
+ {0x0001091f, 0x00010939, 1},
+ {0x0001093f, 0x00010980, 65},
+ {0x00010981, 0x000109b7, 1},
+ {0x000109be, 0x000109bf, 1},
+ {0x00010a00, 0x00010a03, 1},
+ {0x00010a05, 0x00010a06, 1},
+ {0x00010a0c, 0x00010a13, 1},
+ {0x00010a15, 0x00010a17, 1},
+ {0x00010a19, 0x00010a33, 1},
+ {0x00010a38, 0x00010a3a, 1},
+ {0x00010a3f, 0x00010a47, 1},
+ {0x00010a50, 0x00010a58, 1},
+ {0x00010a60, 0x00010a7f, 1},
+ {0x00010b00, 0x00010b35, 1},
+ {0x00010b39, 0x00010b55, 1},
+ {0x00010b58, 0x00010b72, 1},
+ {0x00010b78, 0x00010b7f, 1},
+ {0x00010c00, 0x00010c48, 1},
+ {0x00010e60, 0x00010e7e, 1},
+ {0x00011000, 0x0001104d, 1},
+ {0x00011052, 0x0001106f, 1},
+ {0x00011080, 0x000110c1, 1},
+ {0x000110d0, 0x000110e8, 1},
+ {0x000110f0, 0x000110f9, 1},
+ {0x00011100, 0x00011134, 1},
+ {0x00011136, 0x00011143, 1},
+ {0x00011180, 0x000111c8, 1},
+ {0x000111d0, 0x000111d9, 1},
+ {0x00011680, 0x000116b7, 1},
+ {0x000116c0, 0x000116c9, 1},
+ {0x00012000, 0x0001236e, 1},
+ {0x00012400, 0x00012462, 1},
+ {0x00012470, 0x00012473, 1},
+ {0x00013000, 0x0001342e, 1},
+ {0x00016800, 0x00016a38, 1},
+ {0x00016f00, 0x00016f44, 1},
+ {0x00016f50, 0x00016f7e, 1},
+ {0x00016f8f, 0x00016f9f, 1},
+ {0x0001b000, 0x0001b001, 1},
+ {0x0001d000, 0x0001d0f5, 1},
+ {0x0001d100, 0x0001d126, 1},
+ {0x0001d129, 0x0001d1dd, 1},
+ {0x0001d200, 0x0001d245, 1},
+ {0x0001d300, 0x0001d356, 1},
+ {0x0001d360, 0x0001d371, 1},
+ {0x0001d400, 0x0001d454, 1},
+ {0x0001d456, 0x0001d49c, 1},
+ {0x0001d49e, 0x0001d49f, 1},
+ {0x0001d4a2, 0x0001d4a5, 3},
+ {0x0001d4a6, 0x0001d4a9, 3},
+ {0x0001d4aa, 0x0001d4ac, 1},
+ {0x0001d4ae, 0x0001d4b9, 1},
+ {0x0001d4bb, 0x0001d4bd, 2},
+ {0x0001d4be, 0x0001d4c3, 1},
+ {0x0001d4c5, 0x0001d505, 1},
+ {0x0001d507, 0x0001d50a, 1},
+ {0x0001d50d, 0x0001d514, 1},
+ {0x0001d516, 0x0001d51c, 1},
+ {0x0001d51e, 0x0001d539, 1},
+ {0x0001d53b, 0x0001d53e, 1},
+ {0x0001d540, 0x0001d544, 1},
+ {0x0001d546, 0x0001d54a, 4},
+ {0x0001d54b, 0x0001d550, 1},
+ {0x0001d552, 0x0001d6a5, 1},
+ {0x0001d6a8, 0x0001d7cb, 1},
+ {0x0001d7ce, 0x0001d7ff, 1},
+ {0x0001ee00, 0x0001ee03, 1},
+ {0x0001ee05, 0x0001ee1f, 1},
+ {0x0001ee21, 0x0001ee22, 1},
+ {0x0001ee24, 0x0001ee27, 3},
+ {0x0001ee29, 0x0001ee32, 1},
+ {0x0001ee34, 0x0001ee37, 1},
+ {0x0001ee39, 0x0001ee3b, 2},
+ {0x0001ee42, 0x0001ee47, 5},
+ {0x0001ee49, 0x0001ee4d, 2},
+ {0x0001ee4e, 0x0001ee4f, 1},
+ {0x0001ee51, 0x0001ee52, 1},
+ {0x0001ee54, 0x0001ee57, 3},
+ {0x0001ee59, 0x0001ee61, 2},
+ {0x0001ee62, 0x0001ee64, 2},
+ {0x0001ee67, 0x0001ee6a, 1},
+ {0x0001ee6c, 0x0001ee72, 1},
+ {0x0001ee74, 0x0001ee77, 1},
+ {0x0001ee79, 0x0001ee7c, 1},
+ {0x0001ee7e, 0x0001ee80, 2},
+ {0x0001ee81, 0x0001ee89, 1},
+ {0x0001ee8b, 0x0001ee9b, 1},
+ {0x0001eea1, 0x0001eea3, 1},
+ {0x0001eea5, 0x0001eea9, 1},
+ {0x0001eeab, 0x0001eebb, 1},
+ {0x0001eef0, 0x0001eef1, 1},
+ {0x0001f000, 0x0001f02b, 1},
+ {0x0001f030, 0x0001f093, 1},
+ {0x0001f0a0, 0x0001f0ae, 1},
+ {0x0001f0b1, 0x0001f0be, 1},
+ {0x0001f0c1, 0x0001f0cf, 1},
+ {0x0001f0d1, 0x0001f0df, 1},
+ {0x0001f100, 0x0001f10a, 1},
+ {0x0001f110, 0x0001f12e, 1},
+ {0x0001f130, 0x0001f16b, 1},
+ {0x0001f170, 0x0001f19a, 1},
+ {0x0001f1e6, 0x0001f202, 1},
+ {0x0001f210, 0x0001f23a, 1},
+ {0x0001f240, 0x0001f248, 1},
+ {0x0001f250, 0x0001f251, 1},
+ {0x0001f300, 0x0001f320, 1},
+ {0x0001f330, 0x0001f335, 1},
+ {0x0001f337, 0x0001f37c, 1},
+ {0x0001f380, 0x0001f393, 1},
+ {0x0001f3a0, 0x0001f3c4, 1},
+ {0x0001f3c6, 0x0001f3ca, 1},
+ {0x0001f3e0, 0x0001f3f0, 1},
+ {0x0001f400, 0x0001f43e, 1},
+ {0x0001f440, 0x0001f442, 2},
+ {0x0001f443, 0x0001f4f7, 1},
+ {0x0001f4f9, 0x0001f4fc, 1},
+ {0x0001f500, 0x0001f53d, 1},
+ {0x0001f540, 0x0001f543, 1},
+ {0x0001f550, 0x0001f567, 1},
+ {0x0001f5fb, 0x0001f640, 1},
+ {0x0001f645, 0x0001f64f, 1},
+ {0x0001f680, 0x0001f6c5, 1},
+ {0x0001f700, 0x0001f773, 1},
+ {0x00020000, 0x0002a6d6, 1},
+ {0x0002a700, 0x0002b734, 1},
+ {0x0002b740, 0x0002b81d, 1},
+ {0x0002f800, 0x0002fa1d, 1},
+ {0x000e0001, 0x000e0020, 31},
+ {0x000e0021, 0x000e007f, 1},
+ {0x000e0100, 0x000e01ef, 1},
+ {0x000f0000, 0x000ffffd, 1},
+ {0x00100000, 0x0010fffd, 1},
+ },
+ LatinOffset: 0,
+}
+
+// size 3812 bytes (3 KiB)
+var assigned6_0_0 = &unicode.RangeTable{
+ R16: []unicode.Range16{
+ {0x0000, 0x0377, 1},
+ {0x037a, 0x037e, 1},
+ {0x0384, 0x038a, 1},
+ {0x038c, 0x038e, 2},
+ {0x038f, 0x03a1, 1},
+ {0x03a3, 0x0527, 1},
+ {0x0531, 0x0556, 1},
+ {0x0559, 0x055f, 1},
+ {0x0561, 0x0587, 1},
+ {0x0589, 0x058a, 1},
+ {0x0591, 0x05c7, 1},
+ {0x05d0, 0x05ea, 1},
+ {0x05f0, 0x05f4, 1},
+ {0x0600, 0x0603, 1},
+ {0x0606, 0x061b, 1},
+ {0x061e, 0x070d, 1},
+ {0x070f, 0x074a, 1},
+ {0x074d, 0x07b1, 1},
+ {0x07c0, 0x07fa, 1},
+ {0x0800, 0x082d, 1},
+ {0x0830, 0x083e, 1},
+ {0x0840, 0x085b, 1},
+ {0x085e, 0x0900, 162},
+ {0x0901, 0x0977, 1},
+ {0x0979, 0x097f, 1},
+ {0x0981, 0x0983, 1},
+ {0x0985, 0x098c, 1},
+ {0x098f, 0x0990, 1},
+ {0x0993, 0x09a8, 1},
+ {0x09aa, 0x09b0, 1},
+ {0x09b2, 0x09b6, 4},
+ {0x09b7, 0x09b9, 1},
+ {0x09bc, 0x09c4, 1},
+ {0x09c7, 0x09c8, 1},
+ {0x09cb, 0x09ce, 1},
+ {0x09d7, 0x09dc, 5},
+ {0x09dd, 0x09df, 2},
+ {0x09e0, 0x09e3, 1},
+ {0x09e6, 0x09fb, 1},
+ {0x0a01, 0x0a03, 1},
+ {0x0a05, 0x0a0a, 1},
+ {0x0a0f, 0x0a10, 1},
+ {0x0a13, 0x0a28, 1},
+ {0x0a2a, 0x0a30, 1},
+ {0x0a32, 0x0a33, 1},
+ {0x0a35, 0x0a36, 1},
+ {0x0a38, 0x0a39, 1},
+ {0x0a3c, 0x0a3e, 2},
+ {0x0a3f, 0x0a42, 1},
+ {0x0a47, 0x0a48, 1},
+ {0x0a4b, 0x0a4d, 1},
+ {0x0a51, 0x0a59, 8},
+ {0x0a5a, 0x0a5c, 1},
+ {0x0a5e, 0x0a66, 8},
+ {0x0a67, 0x0a75, 1},
+ {0x0a81, 0x0a83, 1},
+ {0x0a85, 0x0a8d, 1},
+ {0x0a8f, 0x0a91, 1},
+ {0x0a93, 0x0aa8, 1},
+ {0x0aaa, 0x0ab0, 1},
+ {0x0ab2, 0x0ab3, 1},
+ {0x0ab5, 0x0ab9, 1},
+ {0x0abc, 0x0ac5, 1},
+ {0x0ac7, 0x0ac9, 1},
+ {0x0acb, 0x0acd, 1},
+ {0x0ad0, 0x0ae0, 16},
+ {0x0ae1, 0x0ae3, 1},
+ {0x0ae6, 0x0aef, 1},
+ {0x0af1, 0x0b01, 16},
+ {0x0b02, 0x0b03, 1},
+ {0x0b05, 0x0b0c, 1},
+ {0x0b0f, 0x0b10, 1},
+ {0x0b13, 0x0b28, 1},
+ {0x0b2a, 0x0b30, 1},
+ {0x0b32, 0x0b33, 1},
+ {0x0b35, 0x0b39, 1},
+ {0x0b3c, 0x0b44, 1},
+ {0x0b47, 0x0b48, 1},
+ {0x0b4b, 0x0b4d, 1},
+ {0x0b56, 0x0b57, 1},
+ {0x0b5c, 0x0b5d, 1},
+ {0x0b5f, 0x0b63, 1},
+ {0x0b66, 0x0b77, 1},
+ {0x0b82, 0x0b83, 1},
+ {0x0b85, 0x0b8a, 1},
+ {0x0b8e, 0x0b90, 1},
+ {0x0b92, 0x0b95, 1},
+ {0x0b99, 0x0b9a, 1},
+ {0x0b9c, 0x0b9e, 2},
+ {0x0b9f, 0x0ba3, 4},
+ {0x0ba4, 0x0ba8, 4},
+ {0x0ba9, 0x0baa, 1},
+ {0x0bae, 0x0bb9, 1},
+ {0x0bbe, 0x0bc2, 1},
+ {0x0bc6, 0x0bc8, 1},
+ {0x0bca, 0x0bcd, 1},
+ {0x0bd0, 0x0bd7, 7},
+ {0x0be6, 0x0bfa, 1},
+ {0x0c01, 0x0c03, 1},
+ {0x0c05, 0x0c0c, 1},
+ {0x0c0e, 0x0c10, 1},
+ {0x0c12, 0x0c28, 1},
+ {0x0c2a, 0x0c33, 1},
+ {0x0c35, 0x0c39, 1},
+ {0x0c3d, 0x0c44, 1},
+ {0x0c46, 0x0c48, 1},
+ {0x0c4a, 0x0c4d, 1},
+ {0x0c55, 0x0c56, 1},
+ {0x0c58, 0x0c59, 1},
+ {0x0c60, 0x0c63, 1},
+ {0x0c66, 0x0c6f, 1},
+ {0x0c78, 0x0c7f, 1},
+ {0x0c82, 0x0c83, 1},
+ {0x0c85, 0x0c8c, 1},
+ {0x0c8e, 0x0c90, 1},
+ {0x0c92, 0x0ca8, 1},
+ {0x0caa, 0x0cb3, 1},
+ {0x0cb5, 0x0cb9, 1},
+ {0x0cbc, 0x0cc4, 1},
+ {0x0cc6, 0x0cc8, 1},
+ {0x0cca, 0x0ccd, 1},
+ {0x0cd5, 0x0cd6, 1},
+ {0x0cde, 0x0ce0, 2},
+ {0x0ce1, 0x0ce3, 1},
+ {0x0ce6, 0x0cef, 1},
+ {0x0cf1, 0x0cf2, 1},
+ {0x0d02, 0x0d03, 1},
+ {0x0d05, 0x0d0c, 1},
+ {0x0d0e, 0x0d10, 1},
+ {0x0d12, 0x0d3a, 1},
+ {0x0d3d, 0x0d44, 1},
+ {0x0d46, 0x0d48, 1},
+ {0x0d4a, 0x0d4e, 1},
+ {0x0d57, 0x0d60, 9},
+ {0x0d61, 0x0d63, 1},
+ {0x0d66, 0x0d75, 1},
+ {0x0d79, 0x0d7f, 1},
+ {0x0d82, 0x0d83, 1},
+ {0x0d85, 0x0d96, 1},
+ {0x0d9a, 0x0db1, 1},
+ {0x0db3, 0x0dbb, 1},
+ {0x0dbd, 0x0dc0, 3},
+ {0x0dc1, 0x0dc6, 1},
+ {0x0dca, 0x0dcf, 5},
+ {0x0dd0, 0x0dd4, 1},
+ {0x0dd6, 0x0dd8, 2},
+ {0x0dd9, 0x0ddf, 1},
+ {0x0df2, 0x0df4, 1},
+ {0x0e01, 0x0e3a, 1},
+ {0x0e3f, 0x0e5b, 1},
+ {0x0e81, 0x0e82, 1},
+ {0x0e84, 0x0e87, 3},
+ {0x0e88, 0x0e8a, 2},
+ {0x0e8d, 0x0e94, 7},
+ {0x0e95, 0x0e97, 1},
+ {0x0e99, 0x0e9f, 1},
+ {0x0ea1, 0x0ea3, 1},
+ {0x0ea5, 0x0ea7, 2},
+ {0x0eaa, 0x0eab, 1},
+ {0x0ead, 0x0eb9, 1},
+ {0x0ebb, 0x0ebd, 1},
+ {0x0ec0, 0x0ec4, 1},
+ {0x0ec6, 0x0ec8, 2},
+ {0x0ec9, 0x0ecd, 1},
+ {0x0ed0, 0x0ed9, 1},
+ {0x0edc, 0x0edd, 1},
+ {0x0f00, 0x0f47, 1},
+ {0x0f49, 0x0f6c, 1},
+ {0x0f71, 0x0f97, 1},
+ {0x0f99, 0x0fbc, 1},
+ {0x0fbe, 0x0fcc, 1},
+ {0x0fce, 0x0fda, 1},
+ {0x1000, 0x10c5, 1},
+ {0x10d0, 0x10fc, 1},
+ {0x1100, 0x1248, 1},
+ {0x124a, 0x124d, 1},
+ {0x1250, 0x1256, 1},
+ {0x1258, 0x125a, 2},
+ {0x125b, 0x125d, 1},
+ {0x1260, 0x1288, 1},
+ {0x128a, 0x128d, 1},
+ {0x1290, 0x12b0, 1},
+ {0x12b2, 0x12b5, 1},
+ {0x12b8, 0x12be, 1},
+ {0x12c0, 0x12c2, 2},
+ {0x12c3, 0x12c5, 1},
+ {0x12c8, 0x12d6, 1},
+ {0x12d8, 0x1310, 1},
+ {0x1312, 0x1315, 1},
+ {0x1318, 0x135a, 1},
+ {0x135d, 0x137c, 1},
+ {0x1380, 0x1399, 1},
+ {0x13a0, 0x13f4, 1},
+ {0x1400, 0x169c, 1},
+ {0x16a0, 0x16f0, 1},
+ {0x1700, 0x170c, 1},
+ {0x170e, 0x1714, 1},
+ {0x1720, 0x1736, 1},
+ {0x1740, 0x1753, 1},
+ {0x1760, 0x176c, 1},
+ {0x176e, 0x1770, 1},
+ {0x1772, 0x1773, 1},
+ {0x1780, 0x17dd, 1},
+ {0x17e0, 0x17e9, 1},
+ {0x17f0, 0x17f9, 1},
+ {0x1800, 0x180e, 1},
+ {0x1810, 0x1819, 1},
+ {0x1820, 0x1877, 1},
+ {0x1880, 0x18aa, 1},
+ {0x18b0, 0x18f5, 1},
+ {0x1900, 0x191c, 1},
+ {0x1920, 0x192b, 1},
+ {0x1930, 0x193b, 1},
+ {0x1940, 0x1944, 4},
+ {0x1945, 0x196d, 1},
+ {0x1970, 0x1974, 1},
+ {0x1980, 0x19ab, 1},
+ {0x19b0, 0x19c9, 1},
+ {0x19d0, 0x19da, 1},
+ {0x19de, 0x1a1b, 1},
+ {0x1a1e, 0x1a5e, 1},
+ {0x1a60, 0x1a7c, 1},
+ {0x1a7f, 0x1a89, 1},
+ {0x1a90, 0x1a99, 1},
+ {0x1aa0, 0x1aad, 1},
+ {0x1b00, 0x1b4b, 1},
+ {0x1b50, 0x1b7c, 1},
+ {0x1b80, 0x1baa, 1},
+ {0x1bae, 0x1bb9, 1},
+ {0x1bc0, 0x1bf3, 1},
+ {0x1bfc, 0x1c37, 1},
+ {0x1c3b, 0x1c49, 1},
+ {0x1c4d, 0x1c7f, 1},
+ {0x1cd0, 0x1cf2, 1},
+ {0x1d00, 0x1de6, 1},
+ {0x1dfc, 0x1f15, 1},
+ {0x1f18, 0x1f1d, 1},
+ {0x1f20, 0x1f45, 1},
+ {0x1f48, 0x1f4d, 1},
+ {0x1f50, 0x1f57, 1},
+ {0x1f59, 0x1f5f, 2},
+ {0x1f60, 0x1f7d, 1},
+ {0x1f80, 0x1fb4, 1},
+ {0x1fb6, 0x1fc4, 1},
+ {0x1fc6, 0x1fd3, 1},
+ {0x1fd6, 0x1fdb, 1},
+ {0x1fdd, 0x1fef, 1},
+ {0x1ff2, 0x1ff4, 1},
+ {0x1ff6, 0x1ffe, 1},
+ {0x2000, 0x2064, 1},
+ {0x206a, 0x2071, 1},
+ {0x2074, 0x208e, 1},
+ {0x2090, 0x209c, 1},
+ {0x20a0, 0x20b9, 1},
+ {0x20d0, 0x20f0, 1},
+ {0x2100, 0x2189, 1},
+ {0x2190, 0x23f3, 1},
+ {0x2400, 0x2426, 1},
+ {0x2440, 0x244a, 1},
+ {0x2460, 0x26ff, 1},
+ {0x2701, 0x27ca, 1},
+ {0x27cc, 0x27ce, 2},
+ {0x27cf, 0x2b4c, 1},
+ {0x2b50, 0x2b59, 1},
+ {0x2c00, 0x2c2e, 1},
+ {0x2c30, 0x2c5e, 1},
+ {0x2c60, 0x2cf1, 1},
+ {0x2cf9, 0x2d25, 1},
+ {0x2d30, 0x2d65, 1},
+ {0x2d6f, 0x2d70, 1},
+ {0x2d7f, 0x2d96, 1},
+ {0x2da0, 0x2da6, 1},
+ {0x2da8, 0x2dae, 1},
+ {0x2db0, 0x2db6, 1},
+ {0x2db8, 0x2dbe, 1},
+ {0x2dc0, 0x2dc6, 1},
+ {0x2dc8, 0x2dce, 1},
+ {0x2dd0, 0x2dd6, 1},
+ {0x2dd8, 0x2dde, 1},
+ {0x2de0, 0x2e31, 1},
+ {0x2e80, 0x2e99, 1},
+ {0x2e9b, 0x2ef3, 1},
+ {0x2f00, 0x2fd5, 1},
+ {0x2ff0, 0x2ffb, 1},
+ {0x3000, 0x303f, 1},
+ {0x3041, 0x3096, 1},
+ {0x3099, 0x30ff, 1},
+ {0x3105, 0x312d, 1},
+ {0x3131, 0x318e, 1},
+ {0x3190, 0x31ba, 1},
+ {0x31c0, 0x31e3, 1},
+ {0x31f0, 0x321e, 1},
+ {0x3220, 0x32fe, 1},
+ {0x3300, 0x4db5, 1},
+ {0x4dc0, 0x9fcb, 1},
+ {0xa000, 0xa48c, 1},
+ {0xa490, 0xa4c6, 1},
+ {0xa4d0, 0xa62b, 1},
+ {0xa640, 0xa673, 1},
+ {0xa67c, 0xa697, 1},
+ {0xa6a0, 0xa6f7, 1},
+ {0xa700, 0xa78e, 1},
+ {0xa790, 0xa791, 1},
+ {0xa7a0, 0xa7a9, 1},
+ {0xa7fa, 0xa82b, 1},
+ {0xa830, 0xa839, 1},
+ {0xa840, 0xa877, 1},
+ {0xa880, 0xa8c4, 1},
+ {0xa8ce, 0xa8d9, 1},
+ {0xa8e0, 0xa8fb, 1},
+ {0xa900, 0xa953, 1},
+ {0xa95f, 0xa97c, 1},
+ {0xa980, 0xa9cd, 1},
+ {0xa9cf, 0xa9d9, 1},
+ {0xa9de, 0xa9df, 1},
+ {0xaa00, 0xaa36, 1},
+ {0xaa40, 0xaa4d, 1},
+ {0xaa50, 0xaa59, 1},
+ {0xaa5c, 0xaa7b, 1},
+ {0xaa80, 0xaac2, 1},
+ {0xaadb, 0xaadf, 1},
+ {0xab01, 0xab06, 1},
+ {0xab09, 0xab0e, 1},
+ {0xab11, 0xab16, 1},
+ {0xab20, 0xab26, 1},
+ {0xab28, 0xab2e, 1},
+ {0xabc0, 0xabed, 1},
+ {0xabf0, 0xabf9, 1},
+ {0xac00, 0xd7a3, 1},
+ {0xd7b0, 0xd7c6, 1},
+ {0xd7cb, 0xd7fb, 1},
+ {0xd800, 0xfa2d, 1},
+ {0xfa30, 0xfa6d, 1},
+ {0xfa70, 0xfad9, 1},
+ {0xfb00, 0xfb06, 1},
+ {0xfb13, 0xfb17, 1},
+ {0xfb1d, 0xfb36, 1},
+ {0xfb38, 0xfb3c, 1},
+ {0xfb3e, 0xfb40, 2},
+ {0xfb41, 0xfb43, 2},
+ {0xfb44, 0xfb46, 2},
+ {0xfb47, 0xfbc1, 1},
+ {0xfbd3, 0xfd3f, 1},
+ {0xfd50, 0xfd8f, 1},
+ {0xfd92, 0xfdc7, 1},
+ {0xfdf0, 0xfdfd, 1},
+ {0xfe00, 0xfe19, 1},
+ {0xfe20, 0xfe26, 1},
+ {0xfe30, 0xfe52, 1},
+ {0xfe54, 0xfe66, 1},
+ {0xfe68, 0xfe6b, 1},
+ {0xfe70, 0xfe74, 1},
+ {0xfe76, 0xfefc, 1},
+ {0xfeff, 0xff01, 2},
+ {0xff02, 0xffbe, 1},
+ {0xffc2, 0xffc7, 1},
+ {0xffca, 0xffcf, 1},
+ {0xffd2, 0xffd7, 1},
+ {0xffda, 0xffdc, 1},
+ {0xffe0, 0xffe6, 1},
+ {0xffe8, 0xffee, 1},
+ {0xfff9, 0xfffd, 1},
+ },
+ R32: []unicode.Range32{
+ {0x00010000, 0x0001000b, 1},
+ {0x0001000d, 0x00010026, 1},
+ {0x00010028, 0x0001003a, 1},
+ {0x0001003c, 0x0001003d, 1},
+ {0x0001003f, 0x0001004d, 1},
+ {0x00010050, 0x0001005d, 1},
+ {0x00010080, 0x000100fa, 1},
+ {0x00010100, 0x00010102, 1},
+ {0x00010107, 0x00010133, 1},
+ {0x00010137, 0x0001018a, 1},
+ {0x00010190, 0x0001019b, 1},
+ {0x000101d0, 0x000101fd, 1},
+ {0x00010280, 0x0001029c, 1},
+ {0x000102a0, 0x000102d0, 1},
+ {0x00010300, 0x0001031e, 1},
+ {0x00010320, 0x00010323, 1},
+ {0x00010330, 0x0001034a, 1},
+ {0x00010380, 0x0001039d, 1},
+ {0x0001039f, 0x000103c3, 1},
+ {0x000103c8, 0x000103d5, 1},
+ {0x00010400, 0x0001049d, 1},
+ {0x000104a0, 0x000104a9, 1},
+ {0x00010800, 0x00010805, 1},
+ {0x00010808, 0x0001080a, 2},
+ {0x0001080b, 0x00010835, 1},
+ {0x00010837, 0x00010838, 1},
+ {0x0001083c, 0x0001083f, 3},
+ {0x00010840, 0x00010855, 1},
+ {0x00010857, 0x0001085f, 1},
+ {0x00010900, 0x0001091b, 1},
+ {0x0001091f, 0x00010939, 1},
+ {0x0001093f, 0x00010a00, 193},
+ {0x00010a01, 0x00010a03, 1},
+ {0x00010a05, 0x00010a06, 1},
+ {0x00010a0c, 0x00010a13, 1},
+ {0x00010a15, 0x00010a17, 1},
+ {0x00010a19, 0x00010a33, 1},
+ {0x00010a38, 0x00010a3a, 1},
+ {0x00010a3f, 0x00010a47, 1},
+ {0x00010a50, 0x00010a58, 1},
+ {0x00010a60, 0x00010a7f, 1},
+ {0x00010b00, 0x00010b35, 1},
+ {0x00010b39, 0x00010b55, 1},
+ {0x00010b58, 0x00010b72, 1},
+ {0x00010b78, 0x00010b7f, 1},
+ {0x00010c00, 0x00010c48, 1},
+ {0x00010e60, 0x00010e7e, 1},
+ {0x00011000, 0x0001104d, 1},
+ {0x00011052, 0x0001106f, 1},
+ {0x00011080, 0x000110c1, 1},
+ {0x00012000, 0x0001236e, 1},
+ {0x00012400, 0x00012462, 1},
+ {0x00012470, 0x00012473, 1},
+ {0x00013000, 0x0001342e, 1},
+ {0x00016800, 0x00016a38, 1},
+ {0x0001b000, 0x0001b001, 1},
+ {0x0001d000, 0x0001d0f5, 1},
+ {0x0001d100, 0x0001d126, 1},
+ {0x0001d129, 0x0001d1dd, 1},
+ {0x0001d200, 0x0001d245, 1},
+ {0x0001d300, 0x0001d356, 1},
+ {0x0001d360, 0x0001d371, 1},
+ {0x0001d400, 0x0001d454, 1},
+ {0x0001d456, 0x0001d49c, 1},
+ {0x0001d49e, 0x0001d49f, 1},
+ {0x0001d4a2, 0x0001d4a5, 3},
+ {0x0001d4a6, 0x0001d4a9, 3},
+ {0x0001d4aa, 0x0001d4ac, 1},
+ {0x0001d4ae, 0x0001d4b9, 1},
+ {0x0001d4bb, 0x0001d4bd, 2},
+ {0x0001d4be, 0x0001d4c3, 1},
+ {0x0001d4c5, 0x0001d505, 1},
+ {0x0001d507, 0x0001d50a, 1},
+ {0x0001d50d, 0x0001d514, 1},
+ {0x0001d516, 0x0001d51c, 1},
+ {0x0001d51e, 0x0001d539, 1},
+ {0x0001d53b, 0x0001d53e, 1},
+ {0x0001d540, 0x0001d544, 1},
+ {0x0001d546, 0x0001d54a, 4},
+ {0x0001d54b, 0x0001d550, 1},
+ {0x0001d552, 0x0001d6a5, 1},
+ {0x0001d6a8, 0x0001d7cb, 1},
+ {0x0001d7ce, 0x0001d7ff, 1},
+ {0x0001f000, 0x0001f02b, 1},
+ {0x0001f030, 0x0001f093, 1},
+ {0x0001f0a0, 0x0001f0ae, 1},
+ {0x0001f0b1, 0x0001f0be, 1},
+ {0x0001f0c1, 0x0001f0cf, 1},
+ {0x0001f0d1, 0x0001f0df, 1},
+ {0x0001f100, 0x0001f10a, 1},
+ {0x0001f110, 0x0001f12e, 1},
+ {0x0001f130, 0x0001f169, 1},
+ {0x0001f170, 0x0001f19a, 1},
+ {0x0001f1e6, 0x0001f202, 1},
+ {0x0001f210, 0x0001f23a, 1},
+ {0x0001f240, 0x0001f248, 1},
+ {0x0001f250, 0x0001f251, 1},
+ {0x0001f300, 0x0001f320, 1},
+ {0x0001f330, 0x0001f335, 1},
+ {0x0001f337, 0x0001f37c, 1},
+ {0x0001f380, 0x0001f393, 1},
+ {0x0001f3a0, 0x0001f3c4, 1},
+ {0x0001f3c6, 0x0001f3ca, 1},
+ {0x0001f3e0, 0x0001f3f0, 1},
+ {0x0001f400, 0x0001f43e, 1},
+ {0x0001f440, 0x0001f442, 2},
+ {0x0001f443, 0x0001f4f7, 1},
+ {0x0001f4f9, 0x0001f4fc, 1},
+ {0x0001f500, 0x0001f53d, 1},
+ {0x0001f550, 0x0001f567, 1},
+ {0x0001f5fb, 0x0001f5ff, 1},
+ {0x0001f601, 0x0001f610, 1},
+ {0x0001f612, 0x0001f614, 1},
+ {0x0001f616, 0x0001f61c, 2},
+ {0x0001f61d, 0x0001f61e, 1},
+ {0x0001f620, 0x0001f625, 1},
+ {0x0001f628, 0x0001f62b, 1},
+ {0x0001f62d, 0x0001f630, 3},
+ {0x0001f631, 0x0001f633, 1},
+ {0x0001f635, 0x0001f640, 1},
+ {0x0001f645, 0x0001f64f, 1},
+ {0x0001f680, 0x0001f6c5, 1},
+ {0x0001f700, 0x0001f773, 1},
+ {0x00020000, 0x0002a6d6, 1},
+ {0x0002a700, 0x0002b734, 1},
+ {0x0002b740, 0x0002b81d, 1},
+ {0x0002f800, 0x0002fa1d, 1},
+ {0x000e0001, 0x000e0020, 31},
+ {0x000e0021, 0x000e007f, 1},
+ {0x000e0100, 0x000e01ef, 1},
+ {0x000f0000, 0x000ffffd, 1},
+ {0x00100000, 0x0010fffd, 1},
+ },
+ LatinOffset: 0,
+}
+
+// size 4898 bytes (4 KiB)
+var assigned7_0_0 = &unicode.RangeTable{
+ R16: []unicode.Range16{
+ {0x0000, 0x0377, 1},
+ {0x037a, 0x037f, 1},
+ {0x0384, 0x038a, 1},
+ {0x038c, 0x038e, 2},
+ {0x038f, 0x03a1, 1},
+ {0x03a3, 0x052f, 1},
+ {0x0531, 0x0556, 1},
+ {0x0559, 0x055f, 1},
+ {0x0561, 0x0587, 1},
+ {0x0589, 0x058a, 1},
+ {0x058d, 0x058f, 1},
+ {0x0591, 0x05c7, 1},
+ {0x05d0, 0x05ea, 1},
+ {0x05f0, 0x05f4, 1},
+ {0x0600, 0x061c, 1},
+ {0x061e, 0x070d, 1},
+ {0x070f, 0x074a, 1},
+ {0x074d, 0x07b1, 1},
+ {0x07c0, 0x07fa, 1},
+ {0x0800, 0x082d, 1},
+ {0x0830, 0x083e, 1},
+ {0x0840, 0x085b, 1},
+ {0x085e, 0x08a0, 66},
+ {0x08a1, 0x08b2, 1},
+ {0x08e4, 0x0983, 1},
+ {0x0985, 0x098c, 1},
+ {0x098f, 0x0990, 1},
+ {0x0993, 0x09a8, 1},
+ {0x09aa, 0x09b0, 1},
+ {0x09b2, 0x09b6, 4},
+ {0x09b7, 0x09b9, 1},
+ {0x09bc, 0x09c4, 1},
+ {0x09c7, 0x09c8, 1},
+ {0x09cb, 0x09ce, 1},
+ {0x09d7, 0x09dc, 5},
+ {0x09dd, 0x09df, 2},
+ {0x09e0, 0x09e3, 1},
+ {0x09e6, 0x09fb, 1},
+ {0x0a01, 0x0a03, 1},
+ {0x0a05, 0x0a0a, 1},
+ {0x0a0f, 0x0a10, 1},
+ {0x0a13, 0x0a28, 1},
+ {0x0a2a, 0x0a30, 1},
+ {0x0a32, 0x0a33, 1},
+ {0x0a35, 0x0a36, 1},
+ {0x0a38, 0x0a39, 1},
+ {0x0a3c, 0x0a3e, 2},
+ {0x0a3f, 0x0a42, 1},
+ {0x0a47, 0x0a48, 1},
+ {0x0a4b, 0x0a4d, 1},
+ {0x0a51, 0x0a59, 8},
+ {0x0a5a, 0x0a5c, 1},
+ {0x0a5e, 0x0a66, 8},
+ {0x0a67, 0x0a75, 1},
+ {0x0a81, 0x0a83, 1},
+ {0x0a85, 0x0a8d, 1},
+ {0x0a8f, 0x0a91, 1},
+ {0x0a93, 0x0aa8, 1},
+ {0x0aaa, 0x0ab0, 1},
+ {0x0ab2, 0x0ab3, 1},
+ {0x0ab5, 0x0ab9, 1},
+ {0x0abc, 0x0ac5, 1},
+ {0x0ac7, 0x0ac9, 1},
+ {0x0acb, 0x0acd, 1},
+ {0x0ad0, 0x0ae0, 16},
+ {0x0ae1, 0x0ae3, 1},
+ {0x0ae6, 0x0af1, 1},
+ {0x0b01, 0x0b03, 1},
+ {0x0b05, 0x0b0c, 1},
+ {0x0b0f, 0x0b10, 1},
+ {0x0b13, 0x0b28, 1},
+ {0x0b2a, 0x0b30, 1},
+ {0x0b32, 0x0b33, 1},
+ {0x0b35, 0x0b39, 1},
+ {0x0b3c, 0x0b44, 1},
+ {0x0b47, 0x0b48, 1},
+ {0x0b4b, 0x0b4d, 1},
+ {0x0b56, 0x0b57, 1},
+ {0x0b5c, 0x0b5d, 1},
+ {0x0b5f, 0x0b63, 1},
+ {0x0b66, 0x0b77, 1},
+ {0x0b82, 0x0b83, 1},
+ {0x0b85, 0x0b8a, 1},
+ {0x0b8e, 0x0b90, 1},
+ {0x0b92, 0x0b95, 1},
+ {0x0b99, 0x0b9a, 1},
+ {0x0b9c, 0x0b9e, 2},
+ {0x0b9f, 0x0ba3, 4},
+ {0x0ba4, 0x0ba8, 4},
+ {0x0ba9, 0x0baa, 1},
+ {0x0bae, 0x0bb9, 1},
+ {0x0bbe, 0x0bc2, 1},
+ {0x0bc6, 0x0bc8, 1},
+ {0x0bca, 0x0bcd, 1},
+ {0x0bd0, 0x0bd7, 7},
+ {0x0be6, 0x0bfa, 1},
+ {0x0c00, 0x0c03, 1},
+ {0x0c05, 0x0c0c, 1},
+ {0x0c0e, 0x0c10, 1},
+ {0x0c12, 0x0c28, 1},
+ {0x0c2a, 0x0c39, 1},
+ {0x0c3d, 0x0c44, 1},
+ {0x0c46, 0x0c48, 1},
+ {0x0c4a, 0x0c4d, 1},
+ {0x0c55, 0x0c56, 1},
+ {0x0c58, 0x0c59, 1},
+ {0x0c60, 0x0c63, 1},
+ {0x0c66, 0x0c6f, 1},
+ {0x0c78, 0x0c7f, 1},
+ {0x0c81, 0x0c83, 1},
+ {0x0c85, 0x0c8c, 1},
+ {0x0c8e, 0x0c90, 1},
+ {0x0c92, 0x0ca8, 1},
+ {0x0caa, 0x0cb3, 1},
+ {0x0cb5, 0x0cb9, 1},
+ {0x0cbc, 0x0cc4, 1},
+ {0x0cc6, 0x0cc8, 1},
+ {0x0cca, 0x0ccd, 1},
+ {0x0cd5, 0x0cd6, 1},
+ {0x0cde, 0x0ce0, 2},
+ {0x0ce1, 0x0ce3, 1},
+ {0x0ce6, 0x0cef, 1},
+ {0x0cf1, 0x0cf2, 1},
+ {0x0d01, 0x0d03, 1},
+ {0x0d05, 0x0d0c, 1},
+ {0x0d0e, 0x0d10, 1},
+ {0x0d12, 0x0d3a, 1},
+ {0x0d3d, 0x0d44, 1},
+ {0x0d46, 0x0d48, 1},
+ {0x0d4a, 0x0d4e, 1},
+ {0x0d57, 0x0d60, 9},
+ {0x0d61, 0x0d63, 1},
+ {0x0d66, 0x0d75, 1},
+ {0x0d79, 0x0d7f, 1},
+ {0x0d82, 0x0d83, 1},
+ {0x0d85, 0x0d96, 1},
+ {0x0d9a, 0x0db1, 1},
+ {0x0db3, 0x0dbb, 1},
+ {0x0dbd, 0x0dc0, 3},
+ {0x0dc1, 0x0dc6, 1},
+ {0x0dca, 0x0dcf, 5},
+ {0x0dd0, 0x0dd4, 1},
+ {0x0dd6, 0x0dd8, 2},
+ {0x0dd9, 0x0ddf, 1},
+ {0x0de6, 0x0def, 1},
+ {0x0df2, 0x0df4, 1},
+ {0x0e01, 0x0e3a, 1},
+ {0x0e3f, 0x0e5b, 1},
+ {0x0e81, 0x0e82, 1},
+ {0x0e84, 0x0e87, 3},
+ {0x0e88, 0x0e8a, 2},
+ {0x0e8d, 0x0e94, 7},
+ {0x0e95, 0x0e97, 1},
+ {0x0e99, 0x0e9f, 1},
+ {0x0ea1, 0x0ea3, 1},
+ {0x0ea5, 0x0ea7, 2},
+ {0x0eaa, 0x0eab, 1},
+ {0x0ead, 0x0eb9, 1},
+ {0x0ebb, 0x0ebd, 1},
+ {0x0ec0, 0x0ec4, 1},
+ {0x0ec6, 0x0ec8, 2},
+ {0x0ec9, 0x0ecd, 1},
+ {0x0ed0, 0x0ed9, 1},
+ {0x0edc, 0x0edf, 1},
+ {0x0f00, 0x0f47, 1},
+ {0x0f49, 0x0f6c, 1},
+ {0x0f71, 0x0f97, 1},
+ {0x0f99, 0x0fbc, 1},
+ {0x0fbe, 0x0fcc, 1},
+ {0x0fce, 0x0fda, 1},
+ {0x1000, 0x10c5, 1},
+ {0x10c7, 0x10cd, 6},
+ {0x10d0, 0x1248, 1},
+ {0x124a, 0x124d, 1},
+ {0x1250, 0x1256, 1},
+ {0x1258, 0x125a, 2},
+ {0x125b, 0x125d, 1},
+ {0x1260, 0x1288, 1},
+ {0x128a, 0x128d, 1},
+ {0x1290, 0x12b0, 1},
+ {0x12b2, 0x12b5, 1},
+ {0x12b8, 0x12be, 1},
+ {0x12c0, 0x12c2, 2},
+ {0x12c3, 0x12c5, 1},
+ {0x12c8, 0x12d6, 1},
+ {0x12d8, 0x1310, 1},
+ {0x1312, 0x1315, 1},
+ {0x1318, 0x135a, 1},
+ {0x135d, 0x137c, 1},
+ {0x1380, 0x1399, 1},
+ {0x13a0, 0x13f4, 1},
+ {0x1400, 0x169c, 1},
+ {0x16a0, 0x16f8, 1},
+ {0x1700, 0x170c, 1},
+ {0x170e, 0x1714, 1},
+ {0x1720, 0x1736, 1},
+ {0x1740, 0x1753, 1},
+ {0x1760, 0x176c, 1},
+ {0x176e, 0x1770, 1},
+ {0x1772, 0x1773, 1},
+ {0x1780, 0x17dd, 1},
+ {0x17e0, 0x17e9, 1},
+ {0x17f0, 0x17f9, 1},
+ {0x1800, 0x180e, 1},
+ {0x1810, 0x1819, 1},
+ {0x1820, 0x1877, 1},
+ {0x1880, 0x18aa, 1},
+ {0x18b0, 0x18f5, 1},
+ {0x1900, 0x191e, 1},
+ {0x1920, 0x192b, 1},
+ {0x1930, 0x193b, 1},
+ {0x1940, 0x1944, 4},
+ {0x1945, 0x196d, 1},
+ {0x1970, 0x1974, 1},
+ {0x1980, 0x19ab, 1},
+ {0x19b0, 0x19c9, 1},
+ {0x19d0, 0x19da, 1},
+ {0x19de, 0x1a1b, 1},
+ {0x1a1e, 0x1a5e, 1},
+ {0x1a60, 0x1a7c, 1},
+ {0x1a7f, 0x1a89, 1},
+ {0x1a90, 0x1a99, 1},
+ {0x1aa0, 0x1aad, 1},
+ {0x1ab0, 0x1abe, 1},
+ {0x1b00, 0x1b4b, 1},
+ {0x1b50, 0x1b7c, 1},
+ {0x1b80, 0x1bf3, 1},
+ {0x1bfc, 0x1c37, 1},
+ {0x1c3b, 0x1c49, 1},
+ {0x1c4d, 0x1c7f, 1},
+ {0x1cc0, 0x1cc7, 1},
+ {0x1cd0, 0x1cf6, 1},
+ {0x1cf8, 0x1cf9, 1},
+ {0x1d00, 0x1df5, 1},
+ {0x1dfc, 0x1f15, 1},
+ {0x1f18, 0x1f1d, 1},
+ {0x1f20, 0x1f45, 1},
+ {0x1f48, 0x1f4d, 1},
+ {0x1f50, 0x1f57, 1},
+ {0x1f59, 0x1f5f, 2},
+ {0x1f60, 0x1f7d, 1},
+ {0x1f80, 0x1fb4, 1},
+ {0x1fb6, 0x1fc4, 1},
+ {0x1fc6, 0x1fd3, 1},
+ {0x1fd6, 0x1fdb, 1},
+ {0x1fdd, 0x1fef, 1},
+ {0x1ff2, 0x1ff4, 1},
+ {0x1ff6, 0x1ffe, 1},
+ {0x2000, 0x2064, 1},
+ {0x2066, 0x2071, 1},
+ {0x2074, 0x208e, 1},
+ {0x2090, 0x209c, 1},
+ {0x20a0, 0x20bd, 1},
+ {0x20d0, 0x20f0, 1},
+ {0x2100, 0x2189, 1},
+ {0x2190, 0x23fa, 1},
+ {0x2400, 0x2426, 1},
+ {0x2440, 0x244a, 1},
+ {0x2460, 0x2b73, 1},
+ {0x2b76, 0x2b95, 1},
+ {0x2b98, 0x2bb9, 1},
+ {0x2bbd, 0x2bc8, 1},
+ {0x2bca, 0x2bd1, 1},
+ {0x2c00, 0x2c2e, 1},
+ {0x2c30, 0x2c5e, 1},
+ {0x2c60, 0x2cf3, 1},
+ {0x2cf9, 0x2d25, 1},
+ {0x2d27, 0x2d2d, 6},
+ {0x2d30, 0x2d67, 1},
+ {0x2d6f, 0x2d70, 1},
+ {0x2d7f, 0x2d96, 1},
+ {0x2da0, 0x2da6, 1},
+ {0x2da8, 0x2dae, 1},
+ {0x2db0, 0x2db6, 1},
+ {0x2db8, 0x2dbe, 1},
+ {0x2dc0, 0x2dc6, 1},
+ {0x2dc8, 0x2dce, 1},
+ {0x2dd0, 0x2dd6, 1},
+ {0x2dd8, 0x2dde, 1},
+ {0x2de0, 0x2e42, 1},
+ {0x2e80, 0x2e99, 1},
+ {0x2e9b, 0x2ef3, 1},
+ {0x2f00, 0x2fd5, 1},
+ {0x2ff0, 0x2ffb, 1},
+ {0x3000, 0x303f, 1},
+ {0x3041, 0x3096, 1},
+ {0x3099, 0x30ff, 1},
+ {0x3105, 0x312d, 1},
+ {0x3131, 0x318e, 1},
+ {0x3190, 0x31ba, 1},
+ {0x31c0, 0x31e3, 1},
+ {0x31f0, 0x321e, 1},
+ {0x3220, 0x32fe, 1},
+ {0x3300, 0x4db5, 1},
+ {0x4dc0, 0x9fcc, 1},
+ {0xa000, 0xa48c, 1},
+ {0xa490, 0xa4c6, 1},
+ {0xa4d0, 0xa62b, 1},
+ {0xa640, 0xa69d, 1},
+ {0xa69f, 0xa6f7, 1},
+ {0xa700, 0xa78e, 1},
+ {0xa790, 0xa7ad, 1},
+ {0xa7b0, 0xa7b1, 1},
+ {0xa7f7, 0xa82b, 1},
+ {0xa830, 0xa839, 1},
+ {0xa840, 0xa877, 1},
+ {0xa880, 0xa8c4, 1},
+ {0xa8ce, 0xa8d9, 1},
+ {0xa8e0, 0xa8fb, 1},
+ {0xa900, 0xa953, 1},
+ {0xa95f, 0xa97c, 1},
+ {0xa980, 0xa9cd, 1},
+ {0xa9cf, 0xa9d9, 1},
+ {0xa9de, 0xa9fe, 1},
+ {0xaa00, 0xaa36, 1},
+ {0xaa40, 0xaa4d, 1},
+ {0xaa50, 0xaa59, 1},
+ {0xaa5c, 0xaac2, 1},
+ {0xaadb, 0xaaf6, 1},
+ {0xab01, 0xab06, 1},
+ {0xab09, 0xab0e, 1},
+ {0xab11, 0xab16, 1},
+ {0xab20, 0xab26, 1},
+ {0xab28, 0xab2e, 1},
+ {0xab30, 0xab5f, 1},
+ {0xab64, 0xab65, 1},
+ {0xabc0, 0xabed, 1},
+ {0xabf0, 0xabf9, 1},
+ {0xac00, 0xd7a3, 1},
+ {0xd7b0, 0xd7c6, 1},
+ {0xd7cb, 0xd7fb, 1},
+ {0xd800, 0xfa6d, 1},
+ {0xfa70, 0xfad9, 1},
+ {0xfb00, 0xfb06, 1},
+ {0xfb13, 0xfb17, 1},
+ {0xfb1d, 0xfb36, 1},
+ {0xfb38, 0xfb3c, 1},
+ {0xfb3e, 0xfb40, 2},
+ {0xfb41, 0xfb43, 2},
+ {0xfb44, 0xfb46, 2},
+ {0xfb47, 0xfbc1, 1},
+ {0xfbd3, 0xfd3f, 1},
+ {0xfd50, 0xfd8f, 1},
+ {0xfd92, 0xfdc7, 1},
+ {0xfdf0, 0xfdfd, 1},
+ {0xfe00, 0xfe19, 1},
+ {0xfe20, 0xfe2d, 1},
+ {0xfe30, 0xfe52, 1},
+ {0xfe54, 0xfe66, 1},
+ {0xfe68, 0xfe6b, 1},
+ {0xfe70, 0xfe74, 1},
+ {0xfe76, 0xfefc, 1},
+ {0xfeff, 0xff01, 2},
+ {0xff02, 0xffbe, 1},
+ {0xffc2, 0xffc7, 1},
+ {0xffca, 0xffcf, 1},
+ {0xffd2, 0xffd7, 1},
+ {0xffda, 0xffdc, 1},
+ {0xffe0, 0xffe6, 1},
+ {0xffe8, 0xffee, 1},
+ {0xfff9, 0xfffd, 1},
+ },
+ R32: []unicode.Range32{
+ {0x00010000, 0x0001000b, 1},
+ {0x0001000d, 0x00010026, 1},
+ {0x00010028, 0x0001003a, 1},
+ {0x0001003c, 0x0001003d, 1},
+ {0x0001003f, 0x0001004d, 1},
+ {0x00010050, 0x0001005d, 1},
+ {0x00010080, 0x000100fa, 1},
+ {0x00010100, 0x00010102, 1},
+ {0x00010107, 0x00010133, 1},
+ {0x00010137, 0x0001018c, 1},
+ {0x00010190, 0x0001019b, 1},
+ {0x000101a0, 0x000101d0, 48},
+ {0x000101d1, 0x000101fd, 1},
+ {0x00010280, 0x0001029c, 1},
+ {0x000102a0, 0x000102d0, 1},
+ {0x000102e0, 0x000102fb, 1},
+ {0x00010300, 0x00010323, 1},
+ {0x00010330, 0x0001034a, 1},
+ {0x00010350, 0x0001037a, 1},
+ {0x00010380, 0x0001039d, 1},
+ {0x0001039f, 0x000103c3, 1},
+ {0x000103c8, 0x000103d5, 1},
+ {0x00010400, 0x0001049d, 1},
+ {0x000104a0, 0x000104a9, 1},
+ {0x00010500, 0x00010527, 1},
+ {0x00010530, 0x00010563, 1},
+ {0x0001056f, 0x00010600, 145},
+ {0x00010601, 0x00010736, 1},
+ {0x00010740, 0x00010755, 1},
+ {0x00010760, 0x00010767, 1},
+ {0x00010800, 0x00010805, 1},
+ {0x00010808, 0x0001080a, 2},
+ {0x0001080b, 0x00010835, 1},
+ {0x00010837, 0x00010838, 1},
+ {0x0001083c, 0x0001083f, 3},
+ {0x00010840, 0x00010855, 1},
+ {0x00010857, 0x0001089e, 1},
+ {0x000108a7, 0x000108af, 1},
+ {0x00010900, 0x0001091b, 1},
+ {0x0001091f, 0x00010939, 1},
+ {0x0001093f, 0x00010980, 65},
+ {0x00010981, 0x000109b7, 1},
+ {0x000109be, 0x000109bf, 1},
+ {0x00010a00, 0x00010a03, 1},
+ {0x00010a05, 0x00010a06, 1},
+ {0x00010a0c, 0x00010a13, 1},
+ {0x00010a15, 0x00010a17, 1},
+ {0x00010a19, 0x00010a33, 1},
+ {0x00010a38, 0x00010a3a, 1},
+ {0x00010a3f, 0x00010a47, 1},
+ {0x00010a50, 0x00010a58, 1},
+ {0x00010a60, 0x00010a9f, 1},
+ {0x00010ac0, 0x00010ae6, 1},
+ {0x00010aeb, 0x00010af6, 1},
+ {0x00010b00, 0x00010b35, 1},
+ {0x00010b39, 0x00010b55, 1},
+ {0x00010b58, 0x00010b72, 1},
+ {0x00010b78, 0x00010b91, 1},
+ {0x00010b99, 0x00010b9c, 1},
+ {0x00010ba9, 0x00010baf, 1},
+ {0x00010c00, 0x00010c48, 1},
+ {0x00010e60, 0x00010e7e, 1},
+ {0x00011000, 0x0001104d, 1},
+ {0x00011052, 0x0001106f, 1},
+ {0x0001107f, 0x000110c1, 1},
+ {0x000110d0, 0x000110e8, 1},
+ {0x000110f0, 0x000110f9, 1},
+ {0x00011100, 0x00011134, 1},
+ {0x00011136, 0x00011143, 1},
+ {0x00011150, 0x00011176, 1},
+ {0x00011180, 0x000111c8, 1},
+ {0x000111cd, 0x000111d0, 3},
+ {0x000111d1, 0x000111da, 1},
+ {0x000111e1, 0x000111f4, 1},
+ {0x00011200, 0x00011211, 1},
+ {0x00011213, 0x0001123d, 1},
+ {0x000112b0, 0x000112ea, 1},
+ {0x000112f0, 0x000112f9, 1},
+ {0x00011301, 0x00011303, 1},
+ {0x00011305, 0x0001130c, 1},
+ {0x0001130f, 0x00011310, 1},
+ {0x00011313, 0x00011328, 1},
+ {0x0001132a, 0x00011330, 1},
+ {0x00011332, 0x00011333, 1},
+ {0x00011335, 0x00011339, 1},
+ {0x0001133c, 0x00011344, 1},
+ {0x00011347, 0x00011348, 1},
+ {0x0001134b, 0x0001134d, 1},
+ {0x00011357, 0x0001135d, 6},
+ {0x0001135e, 0x00011363, 1},
+ {0x00011366, 0x0001136c, 1},
+ {0x00011370, 0x00011374, 1},
+ {0x00011480, 0x000114c7, 1},
+ {0x000114d0, 0x000114d9, 1},
+ {0x00011580, 0x000115b5, 1},
+ {0x000115b8, 0x000115c9, 1},
+ {0x00011600, 0x00011644, 1},
+ {0x00011650, 0x00011659, 1},
+ {0x00011680, 0x000116b7, 1},
+ {0x000116c0, 0x000116c9, 1},
+ {0x000118a0, 0x000118f2, 1},
+ {0x000118ff, 0x00011ac0, 449},
+ {0x00011ac1, 0x00011af8, 1},
+ {0x00012000, 0x00012398, 1},
+ {0x00012400, 0x0001246e, 1},
+ {0x00012470, 0x00012474, 1},
+ {0x00013000, 0x0001342e, 1},
+ {0x00016800, 0x00016a38, 1},
+ {0x00016a40, 0x00016a5e, 1},
+ {0x00016a60, 0x00016a69, 1},
+ {0x00016a6e, 0x00016a6f, 1},
+ {0x00016ad0, 0x00016aed, 1},
+ {0x00016af0, 0x00016af5, 1},
+ {0x00016b00, 0x00016b45, 1},
+ {0x00016b50, 0x00016b59, 1},
+ {0x00016b5b, 0x00016b61, 1},
+ {0x00016b63, 0x00016b77, 1},
+ {0x00016b7d, 0x00016b8f, 1},
+ {0x00016f00, 0x00016f44, 1},
+ {0x00016f50, 0x00016f7e, 1},
+ {0x00016f8f, 0x00016f9f, 1},
+ {0x0001b000, 0x0001b001, 1},
+ {0x0001bc00, 0x0001bc6a, 1},
+ {0x0001bc70, 0x0001bc7c, 1},
+ {0x0001bc80, 0x0001bc88, 1},
+ {0x0001bc90, 0x0001bc99, 1},
+ {0x0001bc9c, 0x0001bca3, 1},
+ {0x0001d000, 0x0001d0f5, 1},
+ {0x0001d100, 0x0001d126, 1},
+ {0x0001d129, 0x0001d1dd, 1},
+ {0x0001d200, 0x0001d245, 1},
+ {0x0001d300, 0x0001d356, 1},
+ {0x0001d360, 0x0001d371, 1},
+ {0x0001d400, 0x0001d454, 1},
+ {0x0001d456, 0x0001d49c, 1},
+ {0x0001d49e, 0x0001d49f, 1},
+ {0x0001d4a2, 0x0001d4a5, 3},
+ {0x0001d4a6, 0x0001d4a9, 3},
+ {0x0001d4aa, 0x0001d4ac, 1},
+ {0x0001d4ae, 0x0001d4b9, 1},
+ {0x0001d4bb, 0x0001d4bd, 2},
+ {0x0001d4be, 0x0001d4c3, 1},
+ {0x0001d4c5, 0x0001d505, 1},
+ {0x0001d507, 0x0001d50a, 1},
+ {0x0001d50d, 0x0001d514, 1},
+ {0x0001d516, 0x0001d51c, 1},
+ {0x0001d51e, 0x0001d539, 1},
+ {0x0001d53b, 0x0001d53e, 1},
+ {0x0001d540, 0x0001d544, 1},
+ {0x0001d546, 0x0001d54a, 4},
+ {0x0001d54b, 0x0001d550, 1},
+ {0x0001d552, 0x0001d6a5, 1},
+ {0x0001d6a8, 0x0001d7cb, 1},
+ {0x0001d7ce, 0x0001d7ff, 1},
+ {0x0001e800, 0x0001e8c4, 1},
+ {0x0001e8c7, 0x0001e8d6, 1},
+ {0x0001ee00, 0x0001ee03, 1},
+ {0x0001ee05, 0x0001ee1f, 1},
+ {0x0001ee21, 0x0001ee22, 1},
+ {0x0001ee24, 0x0001ee27, 3},
+ {0x0001ee29, 0x0001ee32, 1},
+ {0x0001ee34, 0x0001ee37, 1},
+ {0x0001ee39, 0x0001ee3b, 2},
+ {0x0001ee42, 0x0001ee47, 5},
+ {0x0001ee49, 0x0001ee4d, 2},
+ {0x0001ee4e, 0x0001ee4f, 1},
+ {0x0001ee51, 0x0001ee52, 1},
+ {0x0001ee54, 0x0001ee57, 3},
+ {0x0001ee59, 0x0001ee61, 2},
+ {0x0001ee62, 0x0001ee64, 2},
+ {0x0001ee67, 0x0001ee6a, 1},
+ {0x0001ee6c, 0x0001ee72, 1},
+ {0x0001ee74, 0x0001ee77, 1},
+ {0x0001ee79, 0x0001ee7c, 1},
+ {0x0001ee7e, 0x0001ee80, 2},
+ {0x0001ee81, 0x0001ee89, 1},
+ {0x0001ee8b, 0x0001ee9b, 1},
+ {0x0001eea1, 0x0001eea3, 1},
+ {0x0001eea5, 0x0001eea9, 1},
+ {0x0001eeab, 0x0001eebb, 1},
+ {0x0001eef0, 0x0001eef1, 1},
+ {0x0001f000, 0x0001f02b, 1},
+ {0x0001f030, 0x0001f093, 1},
+ {0x0001f0a0, 0x0001f0ae, 1},
+ {0x0001f0b1, 0x0001f0bf, 1},
+ {0x0001f0c1, 0x0001f0cf, 1},
+ {0x0001f0d1, 0x0001f0f5, 1},
+ {0x0001f100, 0x0001f10c, 1},
+ {0x0001f110, 0x0001f12e, 1},
+ {0x0001f130, 0x0001f16b, 1},
+ {0x0001f170, 0x0001f19a, 1},
+ {0x0001f1e6, 0x0001f202, 1},
+ {0x0001f210, 0x0001f23a, 1},
+ {0x0001f240, 0x0001f248, 1},
+ {0x0001f250, 0x0001f251, 1},
+ {0x0001f300, 0x0001f32c, 1},
+ {0x0001f330, 0x0001f37d, 1},
+ {0x0001f380, 0x0001f3ce, 1},
+ {0x0001f3d4, 0x0001f3f7, 1},
+ {0x0001f400, 0x0001f4fe, 1},
+ {0x0001f500, 0x0001f54a, 1},
+ {0x0001f550, 0x0001f579, 1},
+ {0x0001f57b, 0x0001f5a3, 1},
+ {0x0001f5a5, 0x0001f642, 1},
+ {0x0001f645, 0x0001f6cf, 1},
+ {0x0001f6e0, 0x0001f6ec, 1},
+ {0x0001f6f0, 0x0001f6f3, 1},
+ {0x0001f700, 0x0001f773, 1},
+ {0x0001f780, 0x0001f7d4, 1},
+ {0x0001f800, 0x0001f80b, 1},
+ {0x0001f810, 0x0001f847, 1},
+ {0x0001f850, 0x0001f859, 1},
+ {0x0001f860, 0x0001f887, 1},
+ {0x0001f890, 0x0001f8ad, 1},
+ {0x00020000, 0x0002a6d6, 1},
+ {0x0002a700, 0x0002b734, 1},
+ {0x0002b740, 0x0002b81d, 1},
+ {0x0002f800, 0x0002fa1d, 1},
+ {0x000e0001, 0x000e0020, 31},
+ {0x000e0021, 0x000e007f, 1},
+ {0x000e0100, 0x000e01ef, 1},
+ {0x000f0000, 0x000ffffd, 1},
+ {0x00100000, 0x0010fffd, 1},
+ },
+ LatinOffset: 0,
+}
+
+// size 5048 bytes (4 KiB)
+var assigned8_0_0 = &unicode.RangeTable{
+ R16: []unicode.Range16{
+ {0x0000, 0x0377, 1},
+ {0x037a, 0x037f, 1},
+ {0x0384, 0x038a, 1},
+ {0x038c, 0x038e, 2},
+ {0x038f, 0x03a1, 1},
+ {0x03a3, 0x052f, 1},
+ {0x0531, 0x0556, 1},
+ {0x0559, 0x055f, 1},
+ {0x0561, 0x0587, 1},
+ {0x0589, 0x058a, 1},
+ {0x058d, 0x058f, 1},
+ {0x0591, 0x05c7, 1},
+ {0x05d0, 0x05ea, 1},
+ {0x05f0, 0x05f4, 1},
+ {0x0600, 0x061c, 1},
+ {0x061e, 0x070d, 1},
+ {0x070f, 0x074a, 1},
+ {0x074d, 0x07b1, 1},
+ {0x07c0, 0x07fa, 1},
+ {0x0800, 0x082d, 1},
+ {0x0830, 0x083e, 1},
+ {0x0840, 0x085b, 1},
+ {0x085e, 0x08a0, 66},
+ {0x08a1, 0x08b4, 1},
+ {0x08e3, 0x0983, 1},
+ {0x0985, 0x098c, 1},
+ {0x098f, 0x0990, 1},
+ {0x0993, 0x09a8, 1},
+ {0x09aa, 0x09b0, 1},
+ {0x09b2, 0x09b6, 4},
+ {0x09b7, 0x09b9, 1},
+ {0x09bc, 0x09c4, 1},
+ {0x09c7, 0x09c8, 1},
+ {0x09cb, 0x09ce, 1},
+ {0x09d7, 0x09dc, 5},
+ {0x09dd, 0x09df, 2},
+ {0x09e0, 0x09e3, 1},
+ {0x09e6, 0x09fb, 1},
+ {0x0a01, 0x0a03, 1},
+ {0x0a05, 0x0a0a, 1},
+ {0x0a0f, 0x0a10, 1},
+ {0x0a13, 0x0a28, 1},
+ {0x0a2a, 0x0a30, 1},
+ {0x0a32, 0x0a33, 1},
+ {0x0a35, 0x0a36, 1},
+ {0x0a38, 0x0a39, 1},
+ {0x0a3c, 0x0a3e, 2},
+ {0x0a3f, 0x0a42, 1},
+ {0x0a47, 0x0a48, 1},
+ {0x0a4b, 0x0a4d, 1},
+ {0x0a51, 0x0a59, 8},
+ {0x0a5a, 0x0a5c, 1},
+ {0x0a5e, 0x0a66, 8},
+ {0x0a67, 0x0a75, 1},
+ {0x0a81, 0x0a83, 1},
+ {0x0a85, 0x0a8d, 1},
+ {0x0a8f, 0x0a91, 1},
+ {0x0a93, 0x0aa8, 1},
+ {0x0aaa, 0x0ab0, 1},
+ {0x0ab2, 0x0ab3, 1},
+ {0x0ab5, 0x0ab9, 1},
+ {0x0abc, 0x0ac5, 1},
+ {0x0ac7, 0x0ac9, 1},
+ {0x0acb, 0x0acd, 1},
+ {0x0ad0, 0x0ae0, 16},
+ {0x0ae1, 0x0ae3, 1},
+ {0x0ae6, 0x0af1, 1},
+ {0x0af9, 0x0b01, 8},
+ {0x0b02, 0x0b03, 1},
+ {0x0b05, 0x0b0c, 1},
+ {0x0b0f, 0x0b10, 1},
+ {0x0b13, 0x0b28, 1},
+ {0x0b2a, 0x0b30, 1},
+ {0x0b32, 0x0b33, 1},
+ {0x0b35, 0x0b39, 1},
+ {0x0b3c, 0x0b44, 1},
+ {0x0b47, 0x0b48, 1},
+ {0x0b4b, 0x0b4d, 1},
+ {0x0b56, 0x0b57, 1},
+ {0x0b5c, 0x0b5d, 1},
+ {0x0b5f, 0x0b63, 1},
+ {0x0b66, 0x0b77, 1},
+ {0x0b82, 0x0b83, 1},
+ {0x0b85, 0x0b8a, 1},
+ {0x0b8e, 0x0b90, 1},
+ {0x0b92, 0x0b95, 1},
+ {0x0b99, 0x0b9a, 1},
+ {0x0b9c, 0x0b9e, 2},
+ {0x0b9f, 0x0ba3, 4},
+ {0x0ba4, 0x0ba8, 4},
+ {0x0ba9, 0x0baa, 1},
+ {0x0bae, 0x0bb9, 1},
+ {0x0bbe, 0x0bc2, 1},
+ {0x0bc6, 0x0bc8, 1},
+ {0x0bca, 0x0bcd, 1},
+ {0x0bd0, 0x0bd7, 7},
+ {0x0be6, 0x0bfa, 1},
+ {0x0c00, 0x0c03, 1},
+ {0x0c05, 0x0c0c, 1},
+ {0x0c0e, 0x0c10, 1},
+ {0x0c12, 0x0c28, 1},
+ {0x0c2a, 0x0c39, 1},
+ {0x0c3d, 0x0c44, 1},
+ {0x0c46, 0x0c48, 1},
+ {0x0c4a, 0x0c4d, 1},
+ {0x0c55, 0x0c56, 1},
+ {0x0c58, 0x0c5a, 1},
+ {0x0c60, 0x0c63, 1},
+ {0x0c66, 0x0c6f, 1},
+ {0x0c78, 0x0c7f, 1},
+ {0x0c81, 0x0c83, 1},
+ {0x0c85, 0x0c8c, 1},
+ {0x0c8e, 0x0c90, 1},
+ {0x0c92, 0x0ca8, 1},
+ {0x0caa, 0x0cb3, 1},
+ {0x0cb5, 0x0cb9, 1},
+ {0x0cbc, 0x0cc4, 1},
+ {0x0cc6, 0x0cc8, 1},
+ {0x0cca, 0x0ccd, 1},
+ {0x0cd5, 0x0cd6, 1},
+ {0x0cde, 0x0ce0, 2},
+ {0x0ce1, 0x0ce3, 1},
+ {0x0ce6, 0x0cef, 1},
+ {0x0cf1, 0x0cf2, 1},
+ {0x0d01, 0x0d03, 1},
+ {0x0d05, 0x0d0c, 1},
+ {0x0d0e, 0x0d10, 1},
+ {0x0d12, 0x0d3a, 1},
+ {0x0d3d, 0x0d44, 1},
+ {0x0d46, 0x0d48, 1},
+ {0x0d4a, 0x0d4e, 1},
+ {0x0d57, 0x0d5f, 8},
+ {0x0d60, 0x0d63, 1},
+ {0x0d66, 0x0d75, 1},
+ {0x0d79, 0x0d7f, 1},
+ {0x0d82, 0x0d83, 1},
+ {0x0d85, 0x0d96, 1},
+ {0x0d9a, 0x0db1, 1},
+ {0x0db3, 0x0dbb, 1},
+ {0x0dbd, 0x0dc0, 3},
+ {0x0dc1, 0x0dc6, 1},
+ {0x0dca, 0x0dcf, 5},
+ {0x0dd0, 0x0dd4, 1},
+ {0x0dd6, 0x0dd8, 2},
+ {0x0dd9, 0x0ddf, 1},
+ {0x0de6, 0x0def, 1},
+ {0x0df2, 0x0df4, 1},
+ {0x0e01, 0x0e3a, 1},
+ {0x0e3f, 0x0e5b, 1},
+ {0x0e81, 0x0e82, 1},
+ {0x0e84, 0x0e87, 3},
+ {0x0e88, 0x0e8a, 2},
+ {0x0e8d, 0x0e94, 7},
+ {0x0e95, 0x0e97, 1},
+ {0x0e99, 0x0e9f, 1},
+ {0x0ea1, 0x0ea3, 1},
+ {0x0ea5, 0x0ea7, 2},
+ {0x0eaa, 0x0eab, 1},
+ {0x0ead, 0x0eb9, 1},
+ {0x0ebb, 0x0ebd, 1},
+ {0x0ec0, 0x0ec4, 1},
+ {0x0ec6, 0x0ec8, 2},
+ {0x0ec9, 0x0ecd, 1},
+ {0x0ed0, 0x0ed9, 1},
+ {0x0edc, 0x0edf, 1},
+ {0x0f00, 0x0f47, 1},
+ {0x0f49, 0x0f6c, 1},
+ {0x0f71, 0x0f97, 1},
+ {0x0f99, 0x0fbc, 1},
+ {0x0fbe, 0x0fcc, 1},
+ {0x0fce, 0x0fda, 1},
+ {0x1000, 0x10c5, 1},
+ {0x10c7, 0x10cd, 6},
+ {0x10d0, 0x1248, 1},
+ {0x124a, 0x124d, 1},
+ {0x1250, 0x1256, 1},
+ {0x1258, 0x125a, 2},
+ {0x125b, 0x125d, 1},
+ {0x1260, 0x1288, 1},
+ {0x128a, 0x128d, 1},
+ {0x1290, 0x12b0, 1},
+ {0x12b2, 0x12b5, 1},
+ {0x12b8, 0x12be, 1},
+ {0x12c0, 0x12c2, 2},
+ {0x12c3, 0x12c5, 1},
+ {0x12c8, 0x12d6, 1},
+ {0x12d8, 0x1310, 1},
+ {0x1312, 0x1315, 1},
+ {0x1318, 0x135a, 1},
+ {0x135d, 0x137c, 1},
+ {0x1380, 0x1399, 1},
+ {0x13a0, 0x13f5, 1},
+ {0x13f8, 0x13fd, 1},
+ {0x1400, 0x169c, 1},
+ {0x16a0, 0x16f8, 1},
+ {0x1700, 0x170c, 1},
+ {0x170e, 0x1714, 1},
+ {0x1720, 0x1736, 1},
+ {0x1740, 0x1753, 1},
+ {0x1760, 0x176c, 1},
+ {0x176e, 0x1770, 1},
+ {0x1772, 0x1773, 1},
+ {0x1780, 0x17dd, 1},
+ {0x17e0, 0x17e9, 1},
+ {0x17f0, 0x17f9, 1},
+ {0x1800, 0x180e, 1},
+ {0x1810, 0x1819, 1},
+ {0x1820, 0x1877, 1},
+ {0x1880, 0x18aa, 1},
+ {0x18b0, 0x18f5, 1},
+ {0x1900, 0x191e, 1},
+ {0x1920, 0x192b, 1},
+ {0x1930, 0x193b, 1},
+ {0x1940, 0x1944, 4},
+ {0x1945, 0x196d, 1},
+ {0x1970, 0x1974, 1},
+ {0x1980, 0x19ab, 1},
+ {0x19b0, 0x19c9, 1},
+ {0x19d0, 0x19da, 1},
+ {0x19de, 0x1a1b, 1},
+ {0x1a1e, 0x1a5e, 1},
+ {0x1a60, 0x1a7c, 1},
+ {0x1a7f, 0x1a89, 1},
+ {0x1a90, 0x1a99, 1},
+ {0x1aa0, 0x1aad, 1},
+ {0x1ab0, 0x1abe, 1},
+ {0x1b00, 0x1b4b, 1},
+ {0x1b50, 0x1b7c, 1},
+ {0x1b80, 0x1bf3, 1},
+ {0x1bfc, 0x1c37, 1},
+ {0x1c3b, 0x1c49, 1},
+ {0x1c4d, 0x1c7f, 1},
+ {0x1cc0, 0x1cc7, 1},
+ {0x1cd0, 0x1cf6, 1},
+ {0x1cf8, 0x1cf9, 1},
+ {0x1d00, 0x1df5, 1},
+ {0x1dfc, 0x1f15, 1},
+ {0x1f18, 0x1f1d, 1},
+ {0x1f20, 0x1f45, 1},
+ {0x1f48, 0x1f4d, 1},
+ {0x1f50, 0x1f57, 1},
+ {0x1f59, 0x1f5f, 2},
+ {0x1f60, 0x1f7d, 1},
+ {0x1f80, 0x1fb4, 1},
+ {0x1fb6, 0x1fc4, 1},
+ {0x1fc6, 0x1fd3, 1},
+ {0x1fd6, 0x1fdb, 1},
+ {0x1fdd, 0x1fef, 1},
+ {0x1ff2, 0x1ff4, 1},
+ {0x1ff6, 0x1ffe, 1},
+ {0x2000, 0x2064, 1},
+ {0x2066, 0x2071, 1},
+ {0x2074, 0x208e, 1},
+ {0x2090, 0x209c, 1},
+ {0x20a0, 0x20be, 1},
+ {0x20d0, 0x20f0, 1},
+ {0x2100, 0x218b, 1},
+ {0x2190, 0x23fa, 1},
+ {0x2400, 0x2426, 1},
+ {0x2440, 0x244a, 1},
+ {0x2460, 0x2b73, 1},
+ {0x2b76, 0x2b95, 1},
+ {0x2b98, 0x2bb9, 1},
+ {0x2bbd, 0x2bc8, 1},
+ {0x2bca, 0x2bd1, 1},
+ {0x2bec, 0x2bef, 1},
+ {0x2c00, 0x2c2e, 1},
+ {0x2c30, 0x2c5e, 1},
+ {0x2c60, 0x2cf3, 1},
+ {0x2cf9, 0x2d25, 1},
+ {0x2d27, 0x2d2d, 6},
+ {0x2d30, 0x2d67, 1},
+ {0x2d6f, 0x2d70, 1},
+ {0x2d7f, 0x2d96, 1},
+ {0x2da0, 0x2da6, 1},
+ {0x2da8, 0x2dae, 1},
+ {0x2db0, 0x2db6, 1},
+ {0x2db8, 0x2dbe, 1},
+ {0x2dc0, 0x2dc6, 1},
+ {0x2dc8, 0x2dce, 1},
+ {0x2dd0, 0x2dd6, 1},
+ {0x2dd8, 0x2dde, 1},
+ {0x2de0, 0x2e42, 1},
+ {0x2e80, 0x2e99, 1},
+ {0x2e9b, 0x2ef3, 1},
+ {0x2f00, 0x2fd5, 1},
+ {0x2ff0, 0x2ffb, 1},
+ {0x3000, 0x303f, 1},
+ {0x3041, 0x3096, 1},
+ {0x3099, 0x30ff, 1},
+ {0x3105, 0x312d, 1},
+ {0x3131, 0x318e, 1},
+ {0x3190, 0x31ba, 1},
+ {0x31c0, 0x31e3, 1},
+ {0x31f0, 0x321e, 1},
+ {0x3220, 0x32fe, 1},
+ {0x3300, 0x4db5, 1},
+ {0x4dc0, 0x9fd5, 1},
+ {0xa000, 0xa48c, 1},
+ {0xa490, 0xa4c6, 1},
+ {0xa4d0, 0xa62b, 1},
+ {0xa640, 0xa6f7, 1},
+ {0xa700, 0xa7ad, 1},
+ {0xa7b0, 0xa7b7, 1},
+ {0xa7f7, 0xa82b, 1},
+ {0xa830, 0xa839, 1},
+ {0xa840, 0xa877, 1},
+ {0xa880, 0xa8c4, 1},
+ {0xa8ce, 0xa8d9, 1},
+ {0xa8e0, 0xa8fd, 1},
+ {0xa900, 0xa953, 1},
+ {0xa95f, 0xa97c, 1},
+ {0xa980, 0xa9cd, 1},
+ {0xa9cf, 0xa9d9, 1},
+ {0xa9de, 0xa9fe, 1},
+ {0xaa00, 0xaa36, 1},
+ {0xaa40, 0xaa4d, 1},
+ {0xaa50, 0xaa59, 1},
+ {0xaa5c, 0xaac2, 1},
+ {0xaadb, 0xaaf6, 1},
+ {0xab01, 0xab06, 1},
+ {0xab09, 0xab0e, 1},
+ {0xab11, 0xab16, 1},
+ {0xab20, 0xab26, 1},
+ {0xab28, 0xab2e, 1},
+ {0xab30, 0xab65, 1},
+ {0xab70, 0xabed, 1},
+ {0xabf0, 0xabf9, 1},
+ {0xac00, 0xd7a3, 1},
+ {0xd7b0, 0xd7c6, 1},
+ {0xd7cb, 0xd7fb, 1},
+ {0xd800, 0xfa6d, 1},
+ {0xfa70, 0xfad9, 1},
+ {0xfb00, 0xfb06, 1},
+ {0xfb13, 0xfb17, 1},
+ {0xfb1d, 0xfb36, 1},
+ {0xfb38, 0xfb3c, 1},
+ {0xfb3e, 0xfb40, 2},
+ {0xfb41, 0xfb43, 2},
+ {0xfb44, 0xfb46, 2},
+ {0xfb47, 0xfbc1, 1},
+ {0xfbd3, 0xfd3f, 1},
+ {0xfd50, 0xfd8f, 1},
+ {0xfd92, 0xfdc7, 1},
+ {0xfdf0, 0xfdfd, 1},
+ {0xfe00, 0xfe19, 1},
+ {0xfe20, 0xfe52, 1},
+ {0xfe54, 0xfe66, 1},
+ {0xfe68, 0xfe6b, 1},
+ {0xfe70, 0xfe74, 1},
+ {0xfe76, 0xfefc, 1},
+ {0xfeff, 0xff01, 2},
+ {0xff02, 0xffbe, 1},
+ {0xffc2, 0xffc7, 1},
+ {0xffca, 0xffcf, 1},
+ {0xffd2, 0xffd7, 1},
+ {0xffda, 0xffdc, 1},
+ {0xffe0, 0xffe6, 1},
+ {0xffe8, 0xffee, 1},
+ {0xfff9, 0xfffd, 1},
+ },
+ R32: []unicode.Range32{
+ {0x00010000, 0x0001000b, 1},
+ {0x0001000d, 0x00010026, 1},
+ {0x00010028, 0x0001003a, 1},
+ {0x0001003c, 0x0001003d, 1},
+ {0x0001003f, 0x0001004d, 1},
+ {0x00010050, 0x0001005d, 1},
+ {0x00010080, 0x000100fa, 1},
+ {0x00010100, 0x00010102, 1},
+ {0x00010107, 0x00010133, 1},
+ {0x00010137, 0x0001018c, 1},
+ {0x00010190, 0x0001019b, 1},
+ {0x000101a0, 0x000101d0, 48},
+ {0x000101d1, 0x000101fd, 1},
+ {0x00010280, 0x0001029c, 1},
+ {0x000102a0, 0x000102d0, 1},
+ {0x000102e0, 0x000102fb, 1},
+ {0x00010300, 0x00010323, 1},
+ {0x00010330, 0x0001034a, 1},
+ {0x00010350, 0x0001037a, 1},
+ {0x00010380, 0x0001039d, 1},
+ {0x0001039f, 0x000103c3, 1},
+ {0x000103c8, 0x000103d5, 1},
+ {0x00010400, 0x0001049d, 1},
+ {0x000104a0, 0x000104a9, 1},
+ {0x00010500, 0x00010527, 1},
+ {0x00010530, 0x00010563, 1},
+ {0x0001056f, 0x00010600, 145},
+ {0x00010601, 0x00010736, 1},
+ {0x00010740, 0x00010755, 1},
+ {0x00010760, 0x00010767, 1},
+ {0x00010800, 0x00010805, 1},
+ {0x00010808, 0x0001080a, 2},
+ {0x0001080b, 0x00010835, 1},
+ {0x00010837, 0x00010838, 1},
+ {0x0001083c, 0x0001083f, 3},
+ {0x00010840, 0x00010855, 1},
+ {0x00010857, 0x0001089e, 1},
+ {0x000108a7, 0x000108af, 1},
+ {0x000108e0, 0x000108f2, 1},
+ {0x000108f4, 0x000108f5, 1},
+ {0x000108fb, 0x0001091b, 1},
+ {0x0001091f, 0x00010939, 1},
+ {0x0001093f, 0x00010980, 65},
+ {0x00010981, 0x000109b7, 1},
+ {0x000109bc, 0x000109cf, 1},
+ {0x000109d2, 0x00010a03, 1},
+ {0x00010a05, 0x00010a06, 1},
+ {0x00010a0c, 0x00010a13, 1},
+ {0x00010a15, 0x00010a17, 1},
+ {0x00010a19, 0x00010a33, 1},
+ {0x00010a38, 0x00010a3a, 1},
+ {0x00010a3f, 0x00010a47, 1},
+ {0x00010a50, 0x00010a58, 1},
+ {0x00010a60, 0x00010a9f, 1},
+ {0x00010ac0, 0x00010ae6, 1},
+ {0x00010aeb, 0x00010af6, 1},
+ {0x00010b00, 0x00010b35, 1},
+ {0x00010b39, 0x00010b55, 1},
+ {0x00010b58, 0x00010b72, 1},
+ {0x00010b78, 0x00010b91, 1},
+ {0x00010b99, 0x00010b9c, 1},
+ {0x00010ba9, 0x00010baf, 1},
+ {0x00010c00, 0x00010c48, 1},
+ {0x00010c80, 0x00010cb2, 1},
+ {0x00010cc0, 0x00010cf2, 1},
+ {0x00010cfa, 0x00010cff, 1},
+ {0x00010e60, 0x00010e7e, 1},
+ {0x00011000, 0x0001104d, 1},
+ {0x00011052, 0x0001106f, 1},
+ {0x0001107f, 0x000110c1, 1},
+ {0x000110d0, 0x000110e8, 1},
+ {0x000110f0, 0x000110f9, 1},
+ {0x00011100, 0x00011134, 1},
+ {0x00011136, 0x00011143, 1},
+ {0x00011150, 0x00011176, 1},
+ {0x00011180, 0x000111cd, 1},
+ {0x000111d0, 0x000111df, 1},
+ {0x000111e1, 0x000111f4, 1},
+ {0x00011200, 0x00011211, 1},
+ {0x00011213, 0x0001123d, 1},
+ {0x00011280, 0x00011286, 1},
+ {0x00011288, 0x0001128a, 2},
+ {0x0001128b, 0x0001128d, 1},
+ {0x0001128f, 0x0001129d, 1},
+ {0x0001129f, 0x000112a9, 1},
+ {0x000112b0, 0x000112ea, 1},
+ {0x000112f0, 0x000112f9, 1},
+ {0x00011300, 0x00011303, 1},
+ {0x00011305, 0x0001130c, 1},
+ {0x0001130f, 0x00011310, 1},
+ {0x00011313, 0x00011328, 1},
+ {0x0001132a, 0x00011330, 1},
+ {0x00011332, 0x00011333, 1},
+ {0x00011335, 0x00011339, 1},
+ {0x0001133c, 0x00011344, 1},
+ {0x00011347, 0x00011348, 1},
+ {0x0001134b, 0x0001134d, 1},
+ {0x00011350, 0x00011357, 7},
+ {0x0001135d, 0x00011363, 1},
+ {0x00011366, 0x0001136c, 1},
+ {0x00011370, 0x00011374, 1},
+ {0x00011480, 0x000114c7, 1},
+ {0x000114d0, 0x000114d9, 1},
+ {0x00011580, 0x000115b5, 1},
+ {0x000115b8, 0x000115dd, 1},
+ {0x00011600, 0x00011644, 1},
+ {0x00011650, 0x00011659, 1},
+ {0x00011680, 0x000116b7, 1},
+ {0x000116c0, 0x000116c9, 1},
+ {0x00011700, 0x00011719, 1},
+ {0x0001171d, 0x0001172b, 1},
+ {0x00011730, 0x0001173f, 1},
+ {0x000118a0, 0x000118f2, 1},
+ {0x000118ff, 0x00011ac0, 449},
+ {0x00011ac1, 0x00011af8, 1},
+ {0x00012000, 0x00012399, 1},
+ {0x00012400, 0x0001246e, 1},
+ {0x00012470, 0x00012474, 1},
+ {0x00012480, 0x00012543, 1},
+ {0x00013000, 0x0001342e, 1},
+ {0x00014400, 0x00014646, 1},
+ {0x00016800, 0x00016a38, 1},
+ {0x00016a40, 0x00016a5e, 1},
+ {0x00016a60, 0x00016a69, 1},
+ {0x00016a6e, 0x00016a6f, 1},
+ {0x00016ad0, 0x00016aed, 1},
+ {0x00016af0, 0x00016af5, 1},
+ {0x00016b00, 0x00016b45, 1},
+ {0x00016b50, 0x00016b59, 1},
+ {0x00016b5b, 0x00016b61, 1},
+ {0x00016b63, 0x00016b77, 1},
+ {0x00016b7d, 0x00016b8f, 1},
+ {0x00016f00, 0x00016f44, 1},
+ {0x00016f50, 0x00016f7e, 1},
+ {0x00016f8f, 0x00016f9f, 1},
+ {0x0001b000, 0x0001b001, 1},
+ {0x0001bc00, 0x0001bc6a, 1},
+ {0x0001bc70, 0x0001bc7c, 1},
+ {0x0001bc80, 0x0001bc88, 1},
+ {0x0001bc90, 0x0001bc99, 1},
+ {0x0001bc9c, 0x0001bca3, 1},
+ {0x0001d000, 0x0001d0f5, 1},
+ {0x0001d100, 0x0001d126, 1},
+ {0x0001d129, 0x0001d1e8, 1},
+ {0x0001d200, 0x0001d245, 1},
+ {0x0001d300, 0x0001d356, 1},
+ {0x0001d360, 0x0001d371, 1},
+ {0x0001d400, 0x0001d454, 1},
+ {0x0001d456, 0x0001d49c, 1},
+ {0x0001d49e, 0x0001d49f, 1},
+ {0x0001d4a2, 0x0001d4a5, 3},
+ {0x0001d4a6, 0x0001d4a9, 3},
+ {0x0001d4aa, 0x0001d4ac, 1},
+ {0x0001d4ae, 0x0001d4b9, 1},
+ {0x0001d4bb, 0x0001d4bd, 2},
+ {0x0001d4be, 0x0001d4c3, 1},
+ {0x0001d4c5, 0x0001d505, 1},
+ {0x0001d507, 0x0001d50a, 1},
+ {0x0001d50d, 0x0001d514, 1},
+ {0x0001d516, 0x0001d51c, 1},
+ {0x0001d51e, 0x0001d539, 1},
+ {0x0001d53b, 0x0001d53e, 1},
+ {0x0001d540, 0x0001d544, 1},
+ {0x0001d546, 0x0001d54a, 4},
+ {0x0001d54b, 0x0001d550, 1},
+ {0x0001d552, 0x0001d6a5, 1},
+ {0x0001d6a8, 0x0001d7cb, 1},
+ {0x0001d7ce, 0x0001da8b, 1},
+ {0x0001da9b, 0x0001da9f, 1},
+ {0x0001daa1, 0x0001daaf, 1},
+ {0x0001e800, 0x0001e8c4, 1},
+ {0x0001e8c7, 0x0001e8d6, 1},
+ {0x0001ee00, 0x0001ee03, 1},
+ {0x0001ee05, 0x0001ee1f, 1},
+ {0x0001ee21, 0x0001ee22, 1},
+ {0x0001ee24, 0x0001ee27, 3},
+ {0x0001ee29, 0x0001ee32, 1},
+ {0x0001ee34, 0x0001ee37, 1},
+ {0x0001ee39, 0x0001ee3b, 2},
+ {0x0001ee42, 0x0001ee47, 5},
+ {0x0001ee49, 0x0001ee4d, 2},
+ {0x0001ee4e, 0x0001ee4f, 1},
+ {0x0001ee51, 0x0001ee52, 1},
+ {0x0001ee54, 0x0001ee57, 3},
+ {0x0001ee59, 0x0001ee61, 2},
+ {0x0001ee62, 0x0001ee64, 2},
+ {0x0001ee67, 0x0001ee6a, 1},
+ {0x0001ee6c, 0x0001ee72, 1},
+ {0x0001ee74, 0x0001ee77, 1},
+ {0x0001ee79, 0x0001ee7c, 1},
+ {0x0001ee7e, 0x0001ee80, 2},
+ {0x0001ee81, 0x0001ee89, 1},
+ {0x0001ee8b, 0x0001ee9b, 1},
+ {0x0001eea1, 0x0001eea3, 1},
+ {0x0001eea5, 0x0001eea9, 1},
+ {0x0001eeab, 0x0001eebb, 1},
+ {0x0001eef0, 0x0001eef1, 1},
+ {0x0001f000, 0x0001f02b, 1},
+ {0x0001f030, 0x0001f093, 1},
+ {0x0001f0a0, 0x0001f0ae, 1},
+ {0x0001f0b1, 0x0001f0bf, 1},
+ {0x0001f0c1, 0x0001f0cf, 1},
+ {0x0001f0d1, 0x0001f0f5, 1},
+ {0x0001f100, 0x0001f10c, 1},
+ {0x0001f110, 0x0001f12e, 1},
+ {0x0001f130, 0x0001f16b, 1},
+ {0x0001f170, 0x0001f19a, 1},
+ {0x0001f1e6, 0x0001f202, 1},
+ {0x0001f210, 0x0001f23a, 1},
+ {0x0001f240, 0x0001f248, 1},
+ {0x0001f250, 0x0001f251, 1},
+ {0x0001f300, 0x0001f579, 1},
+ {0x0001f57b, 0x0001f5a3, 1},
+ {0x0001f5a5, 0x0001f6d0, 1},
+ {0x0001f6e0, 0x0001f6ec, 1},
+ {0x0001f6f0, 0x0001f6f3, 1},
+ {0x0001f700, 0x0001f773, 1},
+ {0x0001f780, 0x0001f7d4, 1},
+ {0x0001f800, 0x0001f80b, 1},
+ {0x0001f810, 0x0001f847, 1},
+ {0x0001f850, 0x0001f859, 1},
+ {0x0001f860, 0x0001f887, 1},
+ {0x0001f890, 0x0001f8ad, 1},
+ {0x0001f910, 0x0001f918, 1},
+ {0x0001f980, 0x0001f984, 1},
+ {0x0001f9c0, 0x00020000, 1600},
+ {0x00020001, 0x0002a6d6, 1},
+ {0x0002a700, 0x0002b734, 1},
+ {0x0002b740, 0x0002b81d, 1},
+ {0x0002b820, 0x0002cea1, 1},
+ {0x0002f800, 0x0002fa1d, 1},
+ {0x000e0001, 0x000e0020, 31},
+ {0x000e0021, 0x000e007f, 1},
+ {0x000e0100, 0x000e01ef, 1},
+ {0x000f0000, 0x000ffffd, 1},
+ {0x00100000, 0x0010fffd, 1},
+ },
+ LatinOffset: 0,
+}
+
+// size 5348 bytes (5 KiB)
+var assigned9_0_0 = &unicode.RangeTable{
+ R16: []unicode.Range16{
+ {0x0000, 0x0377, 1},
+ {0x037a, 0x037f, 1},
+ {0x0384, 0x038a, 1},
+ {0x038c, 0x038e, 2},
+ {0x038f, 0x03a1, 1},
+ {0x03a3, 0x052f, 1},
+ {0x0531, 0x0556, 1},
+ {0x0559, 0x055f, 1},
+ {0x0561, 0x0587, 1},
+ {0x0589, 0x058a, 1},
+ {0x058d, 0x058f, 1},
+ {0x0591, 0x05c7, 1},
+ {0x05d0, 0x05ea, 1},
+ {0x05f0, 0x05f4, 1},
+ {0x0600, 0x061c, 1},
+ {0x061e, 0x070d, 1},
+ {0x070f, 0x074a, 1},
+ {0x074d, 0x07b1, 1},
+ {0x07c0, 0x07fa, 1},
+ {0x0800, 0x082d, 1},
+ {0x0830, 0x083e, 1},
+ {0x0840, 0x085b, 1},
+ {0x085e, 0x08a0, 66},
+ {0x08a1, 0x08b4, 1},
+ {0x08b6, 0x08bd, 1},
+ {0x08d4, 0x0983, 1},
+ {0x0985, 0x098c, 1},
+ {0x098f, 0x0990, 1},
+ {0x0993, 0x09a8, 1},
+ {0x09aa, 0x09b0, 1},
+ {0x09b2, 0x09b6, 4},
+ {0x09b7, 0x09b9, 1},
+ {0x09bc, 0x09c4, 1},
+ {0x09c7, 0x09c8, 1},
+ {0x09cb, 0x09ce, 1},
+ {0x09d7, 0x09dc, 5},
+ {0x09dd, 0x09df, 2},
+ {0x09e0, 0x09e3, 1},
+ {0x09e6, 0x09fb, 1},
+ {0x0a01, 0x0a03, 1},
+ {0x0a05, 0x0a0a, 1},
+ {0x0a0f, 0x0a10, 1},
+ {0x0a13, 0x0a28, 1},
+ {0x0a2a, 0x0a30, 1},
+ {0x0a32, 0x0a33, 1},
+ {0x0a35, 0x0a36, 1},
+ {0x0a38, 0x0a39, 1},
+ {0x0a3c, 0x0a3e, 2},
+ {0x0a3f, 0x0a42, 1},
+ {0x0a47, 0x0a48, 1},
+ {0x0a4b, 0x0a4d, 1},
+ {0x0a51, 0x0a59, 8},
+ {0x0a5a, 0x0a5c, 1},
+ {0x0a5e, 0x0a66, 8},
+ {0x0a67, 0x0a75, 1},
+ {0x0a81, 0x0a83, 1},
+ {0x0a85, 0x0a8d, 1},
+ {0x0a8f, 0x0a91, 1},
+ {0x0a93, 0x0aa8, 1},
+ {0x0aaa, 0x0ab0, 1},
+ {0x0ab2, 0x0ab3, 1},
+ {0x0ab5, 0x0ab9, 1},
+ {0x0abc, 0x0ac5, 1},
+ {0x0ac7, 0x0ac9, 1},
+ {0x0acb, 0x0acd, 1},
+ {0x0ad0, 0x0ae0, 16},
+ {0x0ae1, 0x0ae3, 1},
+ {0x0ae6, 0x0af1, 1},
+ {0x0af9, 0x0b01, 8},
+ {0x0b02, 0x0b03, 1},
+ {0x0b05, 0x0b0c, 1},
+ {0x0b0f, 0x0b10, 1},
+ {0x0b13, 0x0b28, 1},
+ {0x0b2a, 0x0b30, 1},
+ {0x0b32, 0x0b33, 1},
+ {0x0b35, 0x0b39, 1},
+ {0x0b3c, 0x0b44, 1},
+ {0x0b47, 0x0b48, 1},
+ {0x0b4b, 0x0b4d, 1},
+ {0x0b56, 0x0b57, 1},
+ {0x0b5c, 0x0b5d, 1},
+ {0x0b5f, 0x0b63, 1},
+ {0x0b66, 0x0b77, 1},
+ {0x0b82, 0x0b83, 1},
+ {0x0b85, 0x0b8a, 1},
+ {0x0b8e, 0x0b90, 1},
+ {0x0b92, 0x0b95, 1},
+ {0x0b99, 0x0b9a, 1},
+ {0x0b9c, 0x0b9e, 2},
+ {0x0b9f, 0x0ba3, 4},
+ {0x0ba4, 0x0ba8, 4},
+ {0x0ba9, 0x0baa, 1},
+ {0x0bae, 0x0bb9, 1},
+ {0x0bbe, 0x0bc2, 1},
+ {0x0bc6, 0x0bc8, 1},
+ {0x0bca, 0x0bcd, 1},
+ {0x0bd0, 0x0bd7, 7},
+ {0x0be6, 0x0bfa, 1},
+ {0x0c00, 0x0c03, 1},
+ {0x0c05, 0x0c0c, 1},
+ {0x0c0e, 0x0c10, 1},
+ {0x0c12, 0x0c28, 1},
+ {0x0c2a, 0x0c39, 1},
+ {0x0c3d, 0x0c44, 1},
+ {0x0c46, 0x0c48, 1},
+ {0x0c4a, 0x0c4d, 1},
+ {0x0c55, 0x0c56, 1},
+ {0x0c58, 0x0c5a, 1},
+ {0x0c60, 0x0c63, 1},
+ {0x0c66, 0x0c6f, 1},
+ {0x0c78, 0x0c83, 1},
+ {0x0c85, 0x0c8c, 1},
+ {0x0c8e, 0x0c90, 1},
+ {0x0c92, 0x0ca8, 1},
+ {0x0caa, 0x0cb3, 1},
+ {0x0cb5, 0x0cb9, 1},
+ {0x0cbc, 0x0cc4, 1},
+ {0x0cc6, 0x0cc8, 1},
+ {0x0cca, 0x0ccd, 1},
+ {0x0cd5, 0x0cd6, 1},
+ {0x0cde, 0x0ce0, 2},
+ {0x0ce1, 0x0ce3, 1},
+ {0x0ce6, 0x0cef, 1},
+ {0x0cf1, 0x0cf2, 1},
+ {0x0d01, 0x0d03, 1},
+ {0x0d05, 0x0d0c, 1},
+ {0x0d0e, 0x0d10, 1},
+ {0x0d12, 0x0d3a, 1},
+ {0x0d3d, 0x0d44, 1},
+ {0x0d46, 0x0d48, 1},
+ {0x0d4a, 0x0d4f, 1},
+ {0x0d54, 0x0d63, 1},
+ {0x0d66, 0x0d7f, 1},
+ {0x0d82, 0x0d83, 1},
+ {0x0d85, 0x0d96, 1},
+ {0x0d9a, 0x0db1, 1},
+ {0x0db3, 0x0dbb, 1},
+ {0x0dbd, 0x0dc0, 3},
+ {0x0dc1, 0x0dc6, 1},
+ {0x0dca, 0x0dcf, 5},
+ {0x0dd0, 0x0dd4, 1},
+ {0x0dd6, 0x0dd8, 2},
+ {0x0dd9, 0x0ddf, 1},
+ {0x0de6, 0x0def, 1},
+ {0x0df2, 0x0df4, 1},
+ {0x0e01, 0x0e3a, 1},
+ {0x0e3f, 0x0e5b, 1},
+ {0x0e81, 0x0e82, 1},
+ {0x0e84, 0x0e87, 3},
+ {0x0e88, 0x0e8a, 2},
+ {0x0e8d, 0x0e94, 7},
+ {0x0e95, 0x0e97, 1},
+ {0x0e99, 0x0e9f, 1},
+ {0x0ea1, 0x0ea3, 1},
+ {0x0ea5, 0x0ea7, 2},
+ {0x0eaa, 0x0eab, 1},
+ {0x0ead, 0x0eb9, 1},
+ {0x0ebb, 0x0ebd, 1},
+ {0x0ec0, 0x0ec4, 1},
+ {0x0ec6, 0x0ec8, 2},
+ {0x0ec9, 0x0ecd, 1},
+ {0x0ed0, 0x0ed9, 1},
+ {0x0edc, 0x0edf, 1},
+ {0x0f00, 0x0f47, 1},
+ {0x0f49, 0x0f6c, 1},
+ {0x0f71, 0x0f97, 1},
+ {0x0f99, 0x0fbc, 1},
+ {0x0fbe, 0x0fcc, 1},
+ {0x0fce, 0x0fda, 1},
+ {0x1000, 0x10c5, 1},
+ {0x10c7, 0x10cd, 6},
+ {0x10d0, 0x1248, 1},
+ {0x124a, 0x124d, 1},
+ {0x1250, 0x1256, 1},
+ {0x1258, 0x125a, 2},
+ {0x125b, 0x125d, 1},
+ {0x1260, 0x1288, 1},
+ {0x128a, 0x128d, 1},
+ {0x1290, 0x12b0, 1},
+ {0x12b2, 0x12b5, 1},
+ {0x12b8, 0x12be, 1},
+ {0x12c0, 0x12c2, 2},
+ {0x12c3, 0x12c5, 1},
+ {0x12c8, 0x12d6, 1},
+ {0x12d8, 0x1310, 1},
+ {0x1312, 0x1315, 1},
+ {0x1318, 0x135a, 1},
+ {0x135d, 0x137c, 1},
+ {0x1380, 0x1399, 1},
+ {0x13a0, 0x13f5, 1},
+ {0x13f8, 0x13fd, 1},
+ {0x1400, 0x169c, 1},
+ {0x16a0, 0x16f8, 1},
+ {0x1700, 0x170c, 1},
+ {0x170e, 0x1714, 1},
+ {0x1720, 0x1736, 1},
+ {0x1740, 0x1753, 1},
+ {0x1760, 0x176c, 1},
+ {0x176e, 0x1770, 1},
+ {0x1772, 0x1773, 1},
+ {0x1780, 0x17dd, 1},
+ {0x17e0, 0x17e9, 1},
+ {0x17f0, 0x17f9, 1},
+ {0x1800, 0x180e, 1},
+ {0x1810, 0x1819, 1},
+ {0x1820, 0x1877, 1},
+ {0x1880, 0x18aa, 1},
+ {0x18b0, 0x18f5, 1},
+ {0x1900, 0x191e, 1},
+ {0x1920, 0x192b, 1},
+ {0x1930, 0x193b, 1},
+ {0x1940, 0x1944, 4},
+ {0x1945, 0x196d, 1},
+ {0x1970, 0x1974, 1},
+ {0x1980, 0x19ab, 1},
+ {0x19b0, 0x19c9, 1},
+ {0x19d0, 0x19da, 1},
+ {0x19de, 0x1a1b, 1},
+ {0x1a1e, 0x1a5e, 1},
+ {0x1a60, 0x1a7c, 1},
+ {0x1a7f, 0x1a89, 1},
+ {0x1a90, 0x1a99, 1},
+ {0x1aa0, 0x1aad, 1},
+ {0x1ab0, 0x1abe, 1},
+ {0x1b00, 0x1b4b, 1},
+ {0x1b50, 0x1b7c, 1},
+ {0x1b80, 0x1bf3, 1},
+ {0x1bfc, 0x1c37, 1},
+ {0x1c3b, 0x1c49, 1},
+ {0x1c4d, 0x1c88, 1},
+ {0x1cc0, 0x1cc7, 1},
+ {0x1cd0, 0x1cf6, 1},
+ {0x1cf8, 0x1cf9, 1},
+ {0x1d00, 0x1df5, 1},
+ {0x1dfb, 0x1f15, 1},
+ {0x1f18, 0x1f1d, 1},
+ {0x1f20, 0x1f45, 1},
+ {0x1f48, 0x1f4d, 1},
+ {0x1f50, 0x1f57, 1},
+ {0x1f59, 0x1f5f, 2},
+ {0x1f60, 0x1f7d, 1},
+ {0x1f80, 0x1fb4, 1},
+ {0x1fb6, 0x1fc4, 1},
+ {0x1fc6, 0x1fd3, 1},
+ {0x1fd6, 0x1fdb, 1},
+ {0x1fdd, 0x1fef, 1},
+ {0x1ff2, 0x1ff4, 1},
+ {0x1ff6, 0x1ffe, 1},
+ {0x2000, 0x2064, 1},
+ {0x2066, 0x2071, 1},
+ {0x2074, 0x208e, 1},
+ {0x2090, 0x209c, 1},
+ {0x20a0, 0x20be, 1},
+ {0x20d0, 0x20f0, 1},
+ {0x2100, 0x218b, 1},
+ {0x2190, 0x23fe, 1},
+ {0x2400, 0x2426, 1},
+ {0x2440, 0x244a, 1},
+ {0x2460, 0x2b73, 1},
+ {0x2b76, 0x2b95, 1},
+ {0x2b98, 0x2bb9, 1},
+ {0x2bbd, 0x2bc8, 1},
+ {0x2bca, 0x2bd1, 1},
+ {0x2bec, 0x2bef, 1},
+ {0x2c00, 0x2c2e, 1},
+ {0x2c30, 0x2c5e, 1},
+ {0x2c60, 0x2cf3, 1},
+ {0x2cf9, 0x2d25, 1},
+ {0x2d27, 0x2d2d, 6},
+ {0x2d30, 0x2d67, 1},
+ {0x2d6f, 0x2d70, 1},
+ {0x2d7f, 0x2d96, 1},
+ {0x2da0, 0x2da6, 1},
+ {0x2da8, 0x2dae, 1},
+ {0x2db0, 0x2db6, 1},
+ {0x2db8, 0x2dbe, 1},
+ {0x2dc0, 0x2dc6, 1},
+ {0x2dc8, 0x2dce, 1},
+ {0x2dd0, 0x2dd6, 1},
+ {0x2dd8, 0x2dde, 1},
+ {0x2de0, 0x2e44, 1},
+ {0x2e80, 0x2e99, 1},
+ {0x2e9b, 0x2ef3, 1},
+ {0x2f00, 0x2fd5, 1},
+ {0x2ff0, 0x2ffb, 1},
+ {0x3000, 0x303f, 1},
+ {0x3041, 0x3096, 1},
+ {0x3099, 0x30ff, 1},
+ {0x3105, 0x312d, 1},
+ {0x3131, 0x318e, 1},
+ {0x3190, 0x31ba, 1},
+ {0x31c0, 0x31e3, 1},
+ {0x31f0, 0x321e, 1},
+ {0x3220, 0x32fe, 1},
+ {0x3300, 0x4db5, 1},
+ {0x4dc0, 0x9fd5, 1},
+ {0xa000, 0xa48c, 1},
+ {0xa490, 0xa4c6, 1},
+ {0xa4d0, 0xa62b, 1},
+ {0xa640, 0xa6f7, 1},
+ {0xa700, 0xa7ae, 1},
+ {0xa7b0, 0xa7b7, 1},
+ {0xa7f7, 0xa82b, 1},
+ {0xa830, 0xa839, 1},
+ {0xa840, 0xa877, 1},
+ {0xa880, 0xa8c5, 1},
+ {0xa8ce, 0xa8d9, 1},
+ {0xa8e0, 0xa8fd, 1},
+ {0xa900, 0xa953, 1},
+ {0xa95f, 0xa97c, 1},
+ {0xa980, 0xa9cd, 1},
+ {0xa9cf, 0xa9d9, 1},
+ {0xa9de, 0xa9fe, 1},
+ {0xaa00, 0xaa36, 1},
+ {0xaa40, 0xaa4d, 1},
+ {0xaa50, 0xaa59, 1},
+ {0xaa5c, 0xaac2, 1},
+ {0xaadb, 0xaaf6, 1},
+ {0xab01, 0xab06, 1},
+ {0xab09, 0xab0e, 1},
+ {0xab11, 0xab16, 1},
+ {0xab20, 0xab26, 1},
+ {0xab28, 0xab2e, 1},
+ {0xab30, 0xab65, 1},
+ {0xab70, 0xabed, 1},
+ {0xabf0, 0xabf9, 1},
+ {0xac00, 0xd7a3, 1},
+ {0xd7b0, 0xd7c6, 1},
+ {0xd7cb, 0xd7fb, 1},
+ {0xd800, 0xfa6d, 1},
+ {0xfa70, 0xfad9, 1},
+ {0xfb00, 0xfb06, 1},
+ {0xfb13, 0xfb17, 1},
+ {0xfb1d, 0xfb36, 1},
+ {0xfb38, 0xfb3c, 1},
+ {0xfb3e, 0xfb40, 2},
+ {0xfb41, 0xfb43, 2},
+ {0xfb44, 0xfb46, 2},
+ {0xfb47, 0xfbc1, 1},
+ {0xfbd3, 0xfd3f, 1},
+ {0xfd50, 0xfd8f, 1},
+ {0xfd92, 0xfdc7, 1},
+ {0xfdf0, 0xfdfd, 1},
+ {0xfe00, 0xfe19, 1},
+ {0xfe20, 0xfe52, 1},
+ {0xfe54, 0xfe66, 1},
+ {0xfe68, 0xfe6b, 1},
+ {0xfe70, 0xfe74, 1},
+ {0xfe76, 0xfefc, 1},
+ {0xfeff, 0xff01, 2},
+ {0xff02, 0xffbe, 1},
+ {0xffc2, 0xffc7, 1},
+ {0xffca, 0xffcf, 1},
+ {0xffd2, 0xffd7, 1},
+ {0xffda, 0xffdc, 1},
+ {0xffe0, 0xffe6, 1},
+ {0xffe8, 0xffee, 1},
+ {0xfff9, 0xfffd, 1},
+ },
+ R32: []unicode.Range32{
+ {0x00010000, 0x0001000b, 1},
+ {0x0001000d, 0x00010026, 1},
+ {0x00010028, 0x0001003a, 1},
+ {0x0001003c, 0x0001003d, 1},
+ {0x0001003f, 0x0001004d, 1},
+ {0x00010050, 0x0001005d, 1},
+ {0x00010080, 0x000100fa, 1},
+ {0x00010100, 0x00010102, 1},
+ {0x00010107, 0x00010133, 1},
+ {0x00010137, 0x0001018e, 1},
+ {0x00010190, 0x0001019b, 1},
+ {0x000101a0, 0x000101d0, 48},
+ {0x000101d1, 0x000101fd, 1},
+ {0x00010280, 0x0001029c, 1},
+ {0x000102a0, 0x000102d0, 1},
+ {0x000102e0, 0x000102fb, 1},
+ {0x00010300, 0x00010323, 1},
+ {0x00010330, 0x0001034a, 1},
+ {0x00010350, 0x0001037a, 1},
+ {0x00010380, 0x0001039d, 1},
+ {0x0001039f, 0x000103c3, 1},
+ {0x000103c8, 0x000103d5, 1},
+ {0x00010400, 0x0001049d, 1},
+ {0x000104a0, 0x000104a9, 1},
+ {0x000104b0, 0x000104d3, 1},
+ {0x000104d8, 0x000104fb, 1},
+ {0x00010500, 0x00010527, 1},
+ {0x00010530, 0x00010563, 1},
+ {0x0001056f, 0x00010600, 145},
+ {0x00010601, 0x00010736, 1},
+ {0x00010740, 0x00010755, 1},
+ {0x00010760, 0x00010767, 1},
+ {0x00010800, 0x00010805, 1},
+ {0x00010808, 0x0001080a, 2},
+ {0x0001080b, 0x00010835, 1},
+ {0x00010837, 0x00010838, 1},
+ {0x0001083c, 0x0001083f, 3},
+ {0x00010840, 0x00010855, 1},
+ {0x00010857, 0x0001089e, 1},
+ {0x000108a7, 0x000108af, 1},
+ {0x000108e0, 0x000108f2, 1},
+ {0x000108f4, 0x000108f5, 1},
+ {0x000108fb, 0x0001091b, 1},
+ {0x0001091f, 0x00010939, 1},
+ {0x0001093f, 0x00010980, 65},
+ {0x00010981, 0x000109b7, 1},
+ {0x000109bc, 0x000109cf, 1},
+ {0x000109d2, 0x00010a03, 1},
+ {0x00010a05, 0x00010a06, 1},
+ {0x00010a0c, 0x00010a13, 1},
+ {0x00010a15, 0x00010a17, 1},
+ {0x00010a19, 0x00010a33, 1},
+ {0x00010a38, 0x00010a3a, 1},
+ {0x00010a3f, 0x00010a47, 1},
+ {0x00010a50, 0x00010a58, 1},
+ {0x00010a60, 0x00010a9f, 1},
+ {0x00010ac0, 0x00010ae6, 1},
+ {0x00010aeb, 0x00010af6, 1},
+ {0x00010b00, 0x00010b35, 1},
+ {0x00010b39, 0x00010b55, 1},
+ {0x00010b58, 0x00010b72, 1},
+ {0x00010b78, 0x00010b91, 1},
+ {0x00010b99, 0x00010b9c, 1},
+ {0x00010ba9, 0x00010baf, 1},
+ {0x00010c00, 0x00010c48, 1},
+ {0x00010c80, 0x00010cb2, 1},
+ {0x00010cc0, 0x00010cf2, 1},
+ {0x00010cfa, 0x00010cff, 1},
+ {0x00010e60, 0x00010e7e, 1},
+ {0x00011000, 0x0001104d, 1},
+ {0x00011052, 0x0001106f, 1},
+ {0x0001107f, 0x000110c1, 1},
+ {0x000110d0, 0x000110e8, 1},
+ {0x000110f0, 0x000110f9, 1},
+ {0x00011100, 0x00011134, 1},
+ {0x00011136, 0x00011143, 1},
+ {0x00011150, 0x00011176, 1},
+ {0x00011180, 0x000111cd, 1},
+ {0x000111d0, 0x000111df, 1},
+ {0x000111e1, 0x000111f4, 1},
+ {0x00011200, 0x00011211, 1},
+ {0x00011213, 0x0001123e, 1},
+ {0x00011280, 0x00011286, 1},
+ {0x00011288, 0x0001128a, 2},
+ {0x0001128b, 0x0001128d, 1},
+ {0x0001128f, 0x0001129d, 1},
+ {0x0001129f, 0x000112a9, 1},
+ {0x000112b0, 0x000112ea, 1},
+ {0x000112f0, 0x000112f9, 1},
+ {0x00011300, 0x00011303, 1},
+ {0x00011305, 0x0001130c, 1},
+ {0x0001130f, 0x00011310, 1},
+ {0x00011313, 0x00011328, 1},
+ {0x0001132a, 0x00011330, 1},
+ {0x00011332, 0x00011333, 1},
+ {0x00011335, 0x00011339, 1},
+ {0x0001133c, 0x00011344, 1},
+ {0x00011347, 0x00011348, 1},
+ {0x0001134b, 0x0001134d, 1},
+ {0x00011350, 0x00011357, 7},
+ {0x0001135d, 0x00011363, 1},
+ {0x00011366, 0x0001136c, 1},
+ {0x00011370, 0x00011374, 1},
+ {0x00011400, 0x00011459, 1},
+ {0x0001145b, 0x0001145d, 2},
+ {0x00011480, 0x000114c7, 1},
+ {0x000114d0, 0x000114d9, 1},
+ {0x00011580, 0x000115b5, 1},
+ {0x000115b8, 0x000115dd, 1},
+ {0x00011600, 0x00011644, 1},
+ {0x00011650, 0x00011659, 1},
+ {0x00011660, 0x0001166c, 1},
+ {0x00011680, 0x000116b7, 1},
+ {0x000116c0, 0x000116c9, 1},
+ {0x00011700, 0x00011719, 1},
+ {0x0001171d, 0x0001172b, 1},
+ {0x00011730, 0x0001173f, 1},
+ {0x000118a0, 0x000118f2, 1},
+ {0x000118ff, 0x00011ac0, 449},
+ {0x00011ac1, 0x00011af8, 1},
+ {0x00011c00, 0x00011c08, 1},
+ {0x00011c0a, 0x00011c36, 1},
+ {0x00011c38, 0x00011c45, 1},
+ {0x00011c50, 0x00011c6c, 1},
+ {0x00011c70, 0x00011c8f, 1},
+ {0x00011c92, 0x00011ca7, 1},
+ {0x00011ca9, 0x00011cb6, 1},
+ {0x00012000, 0x00012399, 1},
+ {0x00012400, 0x0001246e, 1},
+ {0x00012470, 0x00012474, 1},
+ {0x00012480, 0x00012543, 1},
+ {0x00013000, 0x0001342e, 1},
+ {0x00014400, 0x00014646, 1},
+ {0x00016800, 0x00016a38, 1},
+ {0x00016a40, 0x00016a5e, 1},
+ {0x00016a60, 0x00016a69, 1},
+ {0x00016a6e, 0x00016a6f, 1},
+ {0x00016ad0, 0x00016aed, 1},
+ {0x00016af0, 0x00016af5, 1},
+ {0x00016b00, 0x00016b45, 1},
+ {0x00016b50, 0x00016b59, 1},
+ {0x00016b5b, 0x00016b61, 1},
+ {0x00016b63, 0x00016b77, 1},
+ {0x00016b7d, 0x00016b8f, 1},
+ {0x00016f00, 0x00016f44, 1},
+ {0x00016f50, 0x00016f7e, 1},
+ {0x00016f8f, 0x00016f9f, 1},
+ {0x00016fe0, 0x00017000, 32},
+ {0x00017001, 0x000187ec, 1},
+ {0x00018800, 0x00018af2, 1},
+ {0x0001b000, 0x0001b001, 1},
+ {0x0001bc00, 0x0001bc6a, 1},
+ {0x0001bc70, 0x0001bc7c, 1},
+ {0x0001bc80, 0x0001bc88, 1},
+ {0x0001bc90, 0x0001bc99, 1},
+ {0x0001bc9c, 0x0001bca3, 1},
+ {0x0001d000, 0x0001d0f5, 1},
+ {0x0001d100, 0x0001d126, 1},
+ {0x0001d129, 0x0001d1e8, 1},
+ {0x0001d200, 0x0001d245, 1},
+ {0x0001d300, 0x0001d356, 1},
+ {0x0001d360, 0x0001d371, 1},
+ {0x0001d400, 0x0001d454, 1},
+ {0x0001d456, 0x0001d49c, 1},
+ {0x0001d49e, 0x0001d49f, 1},
+ {0x0001d4a2, 0x0001d4a5, 3},
+ {0x0001d4a6, 0x0001d4a9, 3},
+ {0x0001d4aa, 0x0001d4ac, 1},
+ {0x0001d4ae, 0x0001d4b9, 1},
+ {0x0001d4bb, 0x0001d4bd, 2},
+ {0x0001d4be, 0x0001d4c3, 1},
+ {0x0001d4c5, 0x0001d505, 1},
+ {0x0001d507, 0x0001d50a, 1},
+ {0x0001d50d, 0x0001d514, 1},
+ {0x0001d516, 0x0001d51c, 1},
+ {0x0001d51e, 0x0001d539, 1},
+ {0x0001d53b, 0x0001d53e, 1},
+ {0x0001d540, 0x0001d544, 1},
+ {0x0001d546, 0x0001d54a, 4},
+ {0x0001d54b, 0x0001d550, 1},
+ {0x0001d552, 0x0001d6a5, 1},
+ {0x0001d6a8, 0x0001d7cb, 1},
+ {0x0001d7ce, 0x0001da8b, 1},
+ {0x0001da9b, 0x0001da9f, 1},
+ {0x0001daa1, 0x0001daaf, 1},
+ {0x0001e000, 0x0001e006, 1},
+ {0x0001e008, 0x0001e018, 1},
+ {0x0001e01b, 0x0001e021, 1},
+ {0x0001e023, 0x0001e024, 1},
+ {0x0001e026, 0x0001e02a, 1},
+ {0x0001e800, 0x0001e8c4, 1},
+ {0x0001e8c7, 0x0001e8d6, 1},
+ {0x0001e900, 0x0001e94a, 1},
+ {0x0001e950, 0x0001e959, 1},
+ {0x0001e95e, 0x0001e95f, 1},
+ {0x0001ee00, 0x0001ee03, 1},
+ {0x0001ee05, 0x0001ee1f, 1},
+ {0x0001ee21, 0x0001ee22, 1},
+ {0x0001ee24, 0x0001ee27, 3},
+ {0x0001ee29, 0x0001ee32, 1},
+ {0x0001ee34, 0x0001ee37, 1},
+ {0x0001ee39, 0x0001ee3b, 2},
+ {0x0001ee42, 0x0001ee47, 5},
+ {0x0001ee49, 0x0001ee4d, 2},
+ {0x0001ee4e, 0x0001ee4f, 1},
+ {0x0001ee51, 0x0001ee52, 1},
+ {0x0001ee54, 0x0001ee57, 3},
+ {0x0001ee59, 0x0001ee61, 2},
+ {0x0001ee62, 0x0001ee64, 2},
+ {0x0001ee67, 0x0001ee6a, 1},
+ {0x0001ee6c, 0x0001ee72, 1},
+ {0x0001ee74, 0x0001ee77, 1},
+ {0x0001ee79, 0x0001ee7c, 1},
+ {0x0001ee7e, 0x0001ee80, 2},
+ {0x0001ee81, 0x0001ee89, 1},
+ {0x0001ee8b, 0x0001ee9b, 1},
+ {0x0001eea1, 0x0001eea3, 1},
+ {0x0001eea5, 0x0001eea9, 1},
+ {0x0001eeab, 0x0001eebb, 1},
+ {0x0001eef0, 0x0001eef1, 1},
+ {0x0001f000, 0x0001f02b, 1},
+ {0x0001f030, 0x0001f093, 1},
+ {0x0001f0a0, 0x0001f0ae, 1},
+ {0x0001f0b1, 0x0001f0bf, 1},
+ {0x0001f0c1, 0x0001f0cf, 1},
+ {0x0001f0d1, 0x0001f0f5, 1},
+ {0x0001f100, 0x0001f10c, 1},
+ {0x0001f110, 0x0001f12e, 1},
+ {0x0001f130, 0x0001f16b, 1},
+ {0x0001f170, 0x0001f1ac, 1},
+ {0x0001f1e6, 0x0001f202, 1},
+ {0x0001f210, 0x0001f23b, 1},
+ {0x0001f240, 0x0001f248, 1},
+ {0x0001f250, 0x0001f251, 1},
+ {0x0001f300, 0x0001f6d2, 1},
+ {0x0001f6e0, 0x0001f6ec, 1},
+ {0x0001f6f0, 0x0001f6f6, 1},
+ {0x0001f700, 0x0001f773, 1},
+ {0x0001f780, 0x0001f7d4, 1},
+ {0x0001f800, 0x0001f80b, 1},
+ {0x0001f810, 0x0001f847, 1},
+ {0x0001f850, 0x0001f859, 1},
+ {0x0001f860, 0x0001f887, 1},
+ {0x0001f890, 0x0001f8ad, 1},
+ {0x0001f910, 0x0001f91e, 1},
+ {0x0001f920, 0x0001f927, 1},
+ {0x0001f930, 0x0001f933, 3},
+ {0x0001f934, 0x0001f93e, 1},
+ {0x0001f940, 0x0001f94b, 1},
+ {0x0001f950, 0x0001f95e, 1},
+ {0x0001f980, 0x0001f991, 1},
+ {0x0001f9c0, 0x00020000, 1600},
+ {0x00020001, 0x0002a6d6, 1},
+ {0x0002a700, 0x0002b734, 1},
+ {0x0002b740, 0x0002b81d, 1},
+ {0x0002b820, 0x0002cea1, 1},
+ {0x0002f800, 0x0002fa1d, 1},
+ {0x000e0001, 0x000e0020, 31},
+ {0x000e0021, 0x000e007f, 1},
+ {0x000e0100, 0x000e01ef, 1},
+ {0x000f0000, 0x000ffffd, 1},
+ {0x00100000, 0x0010fffd, 1},
+ },
+ LatinOffset: 0,
+}
+
+// Total size 44206 bytes (43 KiB)
diff --git a/vendor/modules.txt b/vendor/modules.txt
index ccd9061b..f4ef7057 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -147,6 +147,16 @@ github.com/valyala/bytebufferpool
github.com/valyala/fasttemplate
# github.com/zfjagann/golang-ring v0.0.0-20141111230621-17637388c9f6
github.com/zfjagann/golang-ring
+# gitlab.com/golang-commonmark/html v0.0.0-20180917080848-cfaf75183c4a
+gitlab.com/golang-commonmark/html
+# gitlab.com/golang-commonmark/linkify v0.0.0-20180917065525-c22b7bdb1179
+gitlab.com/golang-commonmark/linkify
+# gitlab.com/golang-commonmark/markdown v0.0.0-20181102083822-772775880e1f
+gitlab.com/golang-commonmark/markdown
+# gitlab.com/golang-commonmark/mdurl v0.0.0-20180912090424-e5bce34c34f2
+gitlab.com/golang-commonmark/mdurl
+# gitlab.com/golang-commonmark/puny v0.0.0-20180912090636-2cd490539afe
+gitlab.com/golang-commonmark/puny
# go.uber.org/atomic v1.3.2
go.uber.org/atomic
# go.uber.org/multierr v1.1.0
@@ -184,6 +194,7 @@ golang.org/x/text/encoding/simplifiedchinese
golang.org/x/text/encoding/traditionalchinese
golang.org/x/text/transform
golang.org/x/text/unicode/norm
+golang.org/x/text/unicode/rangetable
golang.org/x/text/encoding/internal/identifier
golang.org/x/text/encoding/internal
# gopkg.in/natefinch/lumberjack.v2 v2.0.0