// This file is generated by gen_props.go. DO NOT EDIT.

package segment

type eaProp byte

const (
	eaPropNone = eaProp(iota)
	eaPropF
	eaPropH
	eaPropW
)

var eaAsciiLookupTbl = [256]eaProp{
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
	eaPropNone,
}

var eaRanges = [129]struct {
	Prop  eaProp
	Start rune
	End   rune
}{
	{
		Prop:  eaPropW,
		Start: 4352,
		End:   4447,
	},
	{
		Prop:  eaPropH,
		Start: 8361,
		End:   8361,
	},
	{
		Prop:  eaPropW,
		Start: 8986,
		End:   8987,
	},
	{
		Prop:  eaPropW,
		Start: 9001,
		End:   9002,
	},
	{
		Prop:  eaPropW,
		Start: 9193,
		End:   9196,
	},
	{
		Prop:  eaPropW,
		Start: 9200,
		End:   9200,
	},
	{
		Prop:  eaPropW,
		Start: 9203,
		End:   9203,
	},
	{
		Prop:  eaPropW,
		Start: 9725,
		End:   9726,
	},
	{
		Prop:  eaPropW,
		Start: 9748,
		End:   9749,
	},
	{
		Prop:  eaPropW,
		Start: 9800,
		End:   9811,
	},
	{
		Prop:  eaPropW,
		Start: 9855,
		End:   9855,
	},
	{
		Prop:  eaPropW,
		Start: 9875,
		End:   9875,
	},
	{
		Prop:  eaPropW,
		Start: 9889,
		End:   9889,
	},
	{
		Prop:  eaPropW,
		Start: 9898,
		End:   9899,
	},
	{
		Prop:  eaPropW,
		Start: 9917,
		End:   9918,
	},
	{
		Prop:  eaPropW,
		Start: 9924,
		End:   9925,
	},
	{
		Prop:  eaPropW,
		Start: 9934,
		End:   9934,
	},
	{
		Prop:  eaPropW,
		Start: 9940,
		End:   9940,
	},
	{
		Prop:  eaPropW,
		Start: 9962,
		End:   9962,
	},
	{
		Prop:  eaPropW,
		Start: 9970,
		End:   9971,
	},
	{
		Prop:  eaPropW,
		Start: 9973,
		End:   9973,
	},
	{
		Prop:  eaPropW,
		Start: 9978,
		End:   9978,
	},
	{
		Prop:  eaPropW,
		Start: 9981,
		End:   9981,
	},
	{
		Prop:  eaPropW,
		Start: 9989,
		End:   9989,
	},
	{
		Prop:  eaPropW,
		Start: 9994,
		End:   9995,
	},
	{
		Prop:  eaPropW,
		Start: 10024,
		End:   10024,
	},
	{
		Prop:  eaPropW,
		Start: 10060,
		End:   10060,
	},
	{
		Prop:  eaPropW,
		Start: 10062,
		End:   10062,
	},
	{
		Prop:  eaPropW,
		Start: 10067,
		End:   10069,
	},
	{
		Prop:  eaPropW,
		Start: 10071,
		End:   10071,
	},
	{
		Prop:  eaPropW,
		Start: 10133,
		End:   10135,
	},
	{
		Prop:  eaPropW,
		Start: 10160,
		End:   10160,
	},
	{
		Prop:  eaPropW,
		Start: 10175,
		End:   10175,
	},
	{
		Prop:  eaPropW,
		Start: 11035,
		End:   11036,
	},
	{
		Prop:  eaPropW,
		Start: 11088,
		End:   11088,
	},
	{
		Prop:  eaPropW,
		Start: 11093,
		End:   11093,
	},
	{
		Prop:  eaPropW,
		Start: 11904,
		End:   11929,
	},
	{
		Prop:  eaPropW,
		Start: 11931,
		End:   12019,
	},
	{
		Prop:  eaPropW,
		Start: 12032,
		End:   12245,
	},
	{
		Prop:  eaPropW,
		Start: 12272,
		End:   12283,
	},
	{
		Prop:  eaPropF,
		Start: 12288,
		End:   12288,
	},
	{
		Prop:  eaPropW,
		Start: 12289,
		End:   12350,
	},
	{
		Prop:  eaPropW,
		Start: 12353,
		End:   12438,
	},
	{
		Prop:  eaPropW,
		Start: 12441,
		End:   12543,
	},
	{
		Prop:  eaPropW,
		Start: 12549,
		End:   12591,
	},
	{
		Prop:  eaPropW,
		Start: 12593,
		End:   12686,
	},
	{
		Prop:  eaPropW,
		Start: 12688,
		End:   12771,
	},
	{
		Prop:  eaPropW,
		Start: 12784,
		End:   12830,
	},
	{
		Prop:  eaPropW,
		Start: 12832,
		End:   12871,
	},
	{
		Prop:  eaPropW,
		Start: 12880,
		End:   19903,
	},
	{
		Prop:  eaPropW,
		Start: 19968,
		End:   42124,
	},
	{
		Prop:  eaPropW,
		Start: 42128,
		End:   42182,
	},
	{
		Prop:  eaPropW,
		Start: 43360,
		End:   43388,
	},
	{
		Prop:  eaPropW,
		Start: 44032,
		End:   55203,
	},
	{
		Prop:  eaPropW,
		Start: 63744,
		End:   64255,
	},
	{
		Prop:  eaPropW,
		Start: 65040,
		End:   65049,
	},
	{
		Prop:  eaPropW,
		Start: 65072,
		End:   65106,
	},
	{
		Prop:  eaPropW,
		Start: 65108,
		End:   65126,
	},
	{
		Prop:  eaPropW,
		Start: 65128,
		End:   65131,
	},
	{
		Prop:  eaPropF,
		Start: 65281,
		End:   65376,
	},
	{
		Prop:  eaPropH,
		Start: 65377,
		End:   65470,
	},
	{
		Prop:  eaPropH,
		Start: 65474,
		End:   65479,
	},
	{
		Prop:  eaPropH,
		Start: 65482,
		End:   65487,
	},
	{
		Prop:  eaPropH,
		Start: 65490,
		End:   65495,
	},
	{
		Prop:  eaPropH,
		Start: 65498,
		End:   65500,
	},
	{
		Prop:  eaPropF,
		Start: 65504,
		End:   65510,
	},
	{
		Prop:  eaPropH,
		Start: 65512,
		End:   65518,
	},
	{
		Prop:  eaPropW,
		Start: 94176,
		End:   94180,
	},
	{
		Prop:  eaPropW,
		Start: 94192,
		End:   94193,
	},
	{
		Prop:  eaPropW,
		Start: 94208,
		End:   100343,
	},
	{
		Prop:  eaPropW,
		Start: 100352,
		End:   101589,
	},
	{
		Prop:  eaPropW,
		Start: 101632,
		End:   101640,
	},
	{
		Prop:  eaPropW,
		Start: 110576,
		End:   110579,
	},
	{
		Prop:  eaPropW,
		Start: 110581,
		End:   110587,
	},
	{
		Prop:  eaPropW,
		Start: 110589,
		End:   110590,
	},
	{
		Prop:  eaPropW,
		Start: 110592,
		End:   110882,
	},
	{
		Prop:  eaPropW,
		Start: 110898,
		End:   110898,
	},
	{
		Prop:  eaPropW,
		Start: 110928,
		End:   110930,
	},
	{
		Prop:  eaPropW,
		Start: 110933,
		End:   110933,
	},
	{
		Prop:  eaPropW,
		Start: 110948,
		End:   110951,
	},
	{
		Prop:  eaPropW,
		Start: 110960,
		End:   111355,
	},
	{
		Prop:  eaPropW,
		Start: 126980,
		End:   126980,
	},
	{
		Prop:  eaPropW,
		Start: 127183,
		End:   127183,
	},
	{
		Prop:  eaPropW,
		Start: 127374,
		End:   127374,
	},
	{
		Prop:  eaPropW,
		Start: 127377,
		End:   127386,
	},
	{
		Prop:  eaPropW,
		Start: 127488,
		End:   127490,
	},
	{
		Prop:  eaPropW,
		Start: 127504,
		End:   127547,
	},
	{
		Prop:  eaPropW,
		Start: 127552,
		End:   127560,
	},
	{
		Prop:  eaPropW,
		Start: 127568,
		End:   127569,
	},
	{
		Prop:  eaPropW,
		Start: 127584,
		End:   127589,
	},
	{
		Prop:  eaPropW,
		Start: 127744,
		End:   127776,
	},
	{
		Prop:  eaPropW,
		Start: 127789,
		End:   127797,
	},
	{
		Prop:  eaPropW,
		Start: 127799,
		End:   127868,
	},
	{
		Prop:  eaPropW,
		Start: 127870,
		End:   127891,
	},
	{
		Prop:  eaPropW,
		Start: 127904,
		End:   127946,
	},
	{
		Prop:  eaPropW,
		Start: 127951,
		End:   127955,
	},
	{
		Prop:  eaPropW,
		Start: 127968,
		End:   127984,
	},
	{
		Prop:  eaPropW,
		Start: 127988,
		End:   127988,
	},
	{
		Prop:  eaPropW,
		Start: 127992,
		End:   128062,
	},
	{
		Prop:  eaPropW,
		Start: 128064,
		End:   128064,
	},
	{
		Prop:  eaPropW,
		Start: 128066,
		End:   128252,
	},
	{
		Prop:  eaPropW,
		Start: 128255,
		End:   128317,
	},
	{
		Prop:  eaPropW,
		Start: 128331,
		End:   128334,
	},
	{
		Prop:  eaPropW,
		Start: 128336,
		End:   128359,
	},
	{
		Prop:  eaPropW,
		Start: 128378,
		End:   128378,
	},
	{
		Prop:  eaPropW,
		Start: 128405,
		End:   128406,
	},
	{
		Prop:  eaPropW,
		Start: 128420,
		End:   128420,
	},
	{
		Prop:  eaPropW,
		Start: 128507,
		End:   128591,
	},
	{
		Prop:  eaPropW,
		Start: 128640,
		End:   128709,
	},
	{
		Prop:  eaPropW,
		Start: 128716,
		End:   128716,
	},
	{
		Prop:  eaPropW,
		Start: 128720,
		End:   128722,
	},
	{
		Prop:  eaPropW,
		Start: 128725,
		End:   128727,
	},
	{
		Prop:  eaPropW,
		Start: 128732,
		End:   128735,
	},
	{
		Prop:  eaPropW,
		Start: 128747,
		End:   128748,
	},
	{
		Prop:  eaPropW,
		Start: 128756,
		End:   128764,
	},
	{
		Prop:  eaPropW,
		Start: 128992,
		End:   129003,
	},
	{
		Prop:  eaPropW,
		Start: 129008,
		End:   129008,
	},
	{
		Prop:  eaPropW,
		Start: 129292,
		End:   129338,
	},
	{
		Prop:  eaPropW,
		Start: 129340,
		End:   129349,
	},
	{
		Prop:  eaPropW,
		Start: 129351,
		End:   129535,
	},
	{
		Prop:  eaPropW,
		Start: 129648,
		End:   129660,
	},
	{
		Prop:  eaPropW,
		Start: 129664,
		End:   129672,
	},
	{
		Prop:  eaPropW,
		Start: 129680,
		End:   129725,
	},
	{
		Prop:  eaPropW,
		Start: 129727,
		End:   129733,
	},
	{
		Prop:  eaPropW,
		Start: 129742,
		End:   129755,
	},
	{
		Prop:  eaPropW,
		Start: 129760,
		End:   129768,
	},
	{
		Prop:  eaPropW,
		Start: 129776,
		End:   129784,
	},
	{
		Prop:  eaPropW,
		Start: 131072,
		End:   196605,
	},
	{
		Prop:  eaPropW,
		Start: 196608,
		End:   262141,
	},
}

func eaPropForRune(r rune) eaProp {
	if r < 256 {
		return eaAsciiLookupTbl[r]
	}

	i, j := 0, len(eaRanges)
	for i < j {
		mid := i + (j-i)/2
		rng := eaRanges[mid]
		if rng.Start <= r && r <= rng.End {
			return rng.Prop
		} else if r < rng.Start {
			j = mid
		} else {
			i = mid + 1
		}
	}
	return eaPropNone
}
