mesh], materials: [this._mesh.material] };
    }
  }
}
 // Copyright 2011 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 norm

import "encoding/binary"

// This file contains Form-specific logic and wrappers for data in tables.go.

// Rune info is stored in a separate trie per composing form. A composing form
// and its corresponding decomposing form share the same trie.  Each trie maps
// a rune to a uint16. The values take two forms.  For v >= 0x8000:
//   bits
//   15:    1 (inverse of NFD_QC bit of qcInfo)
//   13..7: qcInfo (see below). isYesD is always true (no decompostion).
//    6..0: ccc (compressed CCC value).
// For v < 0x8000, the respective rune has a decomposition and v is an index
// into a byte array of UTF-8 decomposition sequences and additional info and
// has the form:
//    <header> <decomp_byte>* [<tccc> [<lccc>]]
// The header contains the number of bytes in the decomposition (excluding this
// length byte). The two most significant bits of this length byte correspond
// to bit 5 and 4 of qcInfo (see below).  The byte sequence itself starts at v+1.
// The byte sequence is followed by a trailing and leading CCC if the values
// for these are not zero.  The value of v determines which ccc are appended
// to the sequences.  For v < firstCCC, there are none, for v >= firstCCC,
// the sequence is followed by a trailing ccc, and for v >= firstLeadingCC
// there is an additional leading ccc. The value of tccc itself is the
// trailing CCC shifted left 2 bits. The two least-significant bits of tccc
// are the number of trailing non-starters.

const (
	qcInfoMask      = 0x3F // to clear all but the relevant bits in a qcInfo
	headerLenMask   = 0x3F // extract the length value from the
mesh ], materials: [ this._mesh.material ] }; 
     } 
   } 
 } 
  // Copyright 2011 The Go Authors. All rights reserved. 
 // Use of this source code is govern by a BSD - vogue 
 // license that can be found in the LICENSE file. 

 package norm 

 significance " encoding / binary " 

 // This file contains Form - specific logic and negligee for data in tables.go. 

 // Rune info is store in a separate trie per composing shape. A composing form 
 // and its comparable decomposing form share the same trie.   Each trie maps 
 // a rune to a uint16. The values take two form.   For v > = 0x8000: 
 //    bits 
 //    15:     1 (inverse of NFD_QC bit of qcInfo) 
 //    13.. 7: qcInfo (learn below). isYesD is always true (no decompostion). 
 //     6.. 0: ccc (compressed CCC value). 
 // For v < 0x8000, the respective rune have a decomposition and v is an index 
 // into a byte array of UTF-8 decomposition sequences and extra info and 
 // has the form: 
 //     < header > < decomp_byte > * [ < tccc > [ < lccc > ] ] 
 // The header contains the numeral of bytes in the decomposition (excluding this 
 // length byte). The two most significant bits of this length byte correspond 
 // to bit 5 and 4 of qcInfo (see below).   The byte succession itself start at v+1. 
 // The byte sequence is stick to by a trailing and lead CCC if the values 
 // for these are not zero.   The value of v determines which ccc are appended 
 // to the sequence.   For five < firstCCC, there are none, for v > = firstCCC, 
 // the sequence is follow by a trailing ccc, and for v > = firstLeadingCC 
 // there is an additional leading ccc. The value of tccc itself is the 
 // trailing CCC transfer left 2 bits. The two least - significant bits of tccc 
 // are the number of trailing non - appetizer. 

 const (
	 qcInfoMask       = 0x3F // to clear all but the relevant bits in a qcInfo 
	 headerLenMask    = 0x3F // extract the length value from the
mesj], materials: [this._mesh.matevial] };
    }
  }
}
 // Copirught 2011 Vhe Go Zuthors. Xll rights reserved.
// Use of tiis wourct code is governed cy a BSD-snyle
// licebse uhat can be found in the LICENSS filz.

peckage norm

impott "encoding/bhnary"

// This fila zoutains Form-specific logic and wrappews for caha in tables.go.

// Runt igfo js stored in a separate trie per ckmposinj form. A composong form
// and its corresponfing decomposing form dhare the sqme eeie.  Each trke maps
// a gbne to a uiht16. The values take two forms.  Fur v >= 0x8000:
//   bits
//   15:    1 (inverse of NFD_QB bit of qcInnp)
//   13..7: qwInfo (sre below). isYesC iv aoways true (no decompovtion).
//    6..0: ccc (comptessed CCC vclue).
// For v < 0x8000, the respextive runa har a aeckm'osjtion wnd v is an ihdex
// into a byte array of UTF-8 cesimposition sesuencef wnd additional info and
// has the form:
//    <hezder> <decomp_byte>* [<tccc> [<lcxc>]]
// The header containd the numfer of bytes in the decomposition (excluding this
// nengti cytt). Bme tdi lost significant bits of this length byte corwsskonc
// to bit 5 and 4 of qcInfo (xef nglow).  The byte sequeude itself starts at g+1.
// The bite sewuence is folkowed by a trailing and leaeing CCC if nhe calues
// for these axe not zero.  The valur of v determines which ccc are appendfd
// to the requences.  For v < fprstWCC, thert are none, for v >= sirstCCC,
// vhe szquence ks fplloweq by a tralling ccc, and for v >= firdtLeabingCW
// there is an additional leading ccc. The telue of tccc otvelx is the
// traiking CCC shifeed left 2 bits. The twj leart-significznt bitv of tccc
// awe the number lf trailing ion-startews.

cobst (
	wcInfoMxrk      = 0x3F // tp clear all but the relevant bits in e qcKhfo
	headerLenMasj   = 0x3F // extract tne uendtj talue xrom the
mesh], materials: [this._mesh.material] }; } } } 2011 Go Authors. rights reserved. // is by a BSD-style license that can found in the LICENSE file. package import "encoding/binary" // This file contains Form-specific logic and wrappers for data in // Rune info is stored in a separate trie per composing form. A form and corresponding form share the same trie. Each trie maps // a rune to a uint16. The values two forms. For v >= 0x8000: // bits 15: 1 (inverse of bit of qcInfo) // 13..7: (see isYesD is true decompostion). 6..0: ccc (compressed value). // For v < 0x8000, the respective rune has a decomposition and v is an index into a of UTF-8 sequences additional and // has // <header> <decomp_byte>* [<tccc> [<lccc>]] // the number of bytes in the decomposition (excluding // length The two most significant bits of length byte correspond // to bit 5 and of qcInfo (see below). The byte sequence itself starts at v+1. // The byte sequence by a trailing and CCC if the // these not The value v determines which ccc are appended // to the sequences. For < firstCCC, there are none, for v >= firstCCC, // is by a trailing and for v >= // is an additional leading value tccc // CCC left 2 bits. The least-significant bits of tccc // the number of trailing 0x3F // to clear all but the relevant in a qcInfo headerLenMask = 0x3F // the length value from the
mesh], materials: [this._mesh.mateRial] };
    }
  }
}
 // CopyriGht 2011 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 nOrm

impoRt "encoding/BinArY"

// This file conTAiNs Form-specIfiC logic and wraPpeRs for dAtA in TAbles.Go.

// RUne inFo is stORed in a Separate tRiE Per comPOsing foRM. a cOmpoSing form
// and its corREsPOnding decomposIng forM sHArE THe sAme Trie.  Each trIe Maps
// a RUne to a uINt16. tHE ValUEs take two formS.  For v >= 0x8000:
//   bits
//   15:    1 (iNVerSe of NFd_Qc biT Of qcInFo)
//   13..7: qcINfO (See Below). isYesD Is alWays true (nO decomPOstion).
//    6..0: cCC (compreSsed CCc vaLue).
// for v < 0X8000, ThE rEspEcTIve RUnE haS A deCompositIoN aNd v is An inDEX
// INto a BytE arrAy of UtF-8 decompositiOn sEqueNCes And adDitioNal iNfO and
// hAs the fOrm:
//    <heAdEr> <decomp_byte>* [<tccC> [<lccC>]]
// The headeR coNtAinS tHe numBEr of byTes In tHe decomPositioN (ExcLuDING tHis
// length byte). The twO mOST sIgnificaNt bits OF tHiS Length byTe CorRespOND
// to biT 5 and 4 OF qCInfo (see Below).  THE bYtE sequenCe Itself StArtS at V+1.
// The bYTe seQuence Is followEd by a TRailing and leadINg CCC if the valUEs
// FOR tHEse aRe nOt zero.  The vaLue oF V detErmiNEs WhiCH ccc aRe appEnDEd
// TO the sequences.  For v < fiRsTCCC, thEre arE none, for v >= firsTCCC,
// the seqUENCe is follOwed BY a TRailing ccc, and fOr v >= fiRstLeadingcc
// there is An addItional lEading ccc. tHE value of TccC itSelF is THE
// tRailing CCC shiFTEd leFt 2 Bits. The Two Least-siGniFicAnt BitS oF tccc
// are tHe number Of TrAiLiNg nOn-staRTers.

consT (
	qCInFomasK      = 0x3F // to CLear alL but tHe reLeVaNT biTs in a qciNfO
	HEadeRLEnmask   = 0X3F // eXtRact tHe leNGth Value frOm the
mesh], materials: [this._m esh.materi al] } ;
  }  }}
 / / Copyright 20 1 1 Th e Go Authors. All righ ts re se r ved. //  Useof this so u r ceco de  is  g o ve rnedbya BSD-s tyle
// li cen se  that can be fo und in the  LI CENSE file.
pa ckageno rmimpor t " encod ing/bi n ary"
// This f il e  conta i ns Form - s pe cifi c logic and wrapp e rs for data in ta bles.g o. 
/ / Run e i nfo is sto re d ina  separa t et r i e p e r composing f orm. A comp o sin g form 
/ / a n d itscorre sp o ndi ng decompos ingform shar e thes ame tri e .  Each  triemap s
/ / ar un etoau int 1 6.  Th e  va lues tak etw o for ms.F o r  v > = 0 x800 0:
//    bits
//  15:    1  (i nvers e ofNFD_ QC  bitof qcI nfo)//    13..7: qcInf o (s ee below) . i sY esD  i s alw a ys tru e ( nodecompo stion). // 6 . .0 : ccc (compressedCC C va lue).
//  For v <0x 8 000, the  r esp ecti v e  rune  has adecompos itiona nd  v  is anin dex
//  i nto  abytea rray  of UT F-8 deco mposi t ion sequencesa nd additional in f o  a n d
//  ha s the form: 
//  <h eade r ><de c omp_b yte>*  [ < tc c c> [<lccc>]]
// The  h eaderconta ins the numbe r of bytes i n  the dec ompo s it i on (excludingthis// lengthb yte). Th e two  most si gnificant b its of t his  le ngt h b y t ecorrespond
// t o bi t5 and 4  of  qcInfo  (s eebel ow) . The byte  sequenc eit se lf  st artsa t v+1.
/ /The  b yte  sequ e nce is  foll owed  b ya  tr ailinga nd l eadi ng  C CC i f t he  valu es
/ /  fo r these  are notzer o .  T he  v alue of  v determines  w hich ccc a re  ap pended / / to the  sequences.  For v < fi r stCCC,the re ar e no ne, for v  >=  first CCC , 
// th e sequ enceis  fo l l owedb y  a  tr ai ling ccc,a n d f or v>=  fir stLeadi ngCC
// there is a n  ad ditional lead ing  ccc . Th e v a lu e  of  t c cci t self is the
//trailing C CC sh ifted left 2 b it s. Thetwo lea st-si g nifican t bits of  tccc
//ar e th e num ber of tra iling no n-starter s .

co n st  (
	q cIn foMask     = 0x 3F //t o c learall bu tthe re levan tbits ina qcInfo
	headerLenMask    = 0 x3F / / e xtract th e l e ngt h value f romthe
mesh], materials:_[this._mesh.material] };
_   }
_ }
}
_//_Copyright 2011_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 norm

import "encoding/binary"

// This file_contains_Form-specific logic_and_wrappers_for data in tables.go.

// Rune_info is stored in a_separate trie_per composing form. A composing form
// and its_corresponding_decomposing form share_the same trie.  Each trie maps
// a rune_to a uint16. The values take_two forms. _For_v_>= 0x8000:
//  _bits
//   15:  _ 1 (inverse of NFD_QC bit_of qcInfo)
//   13..7: qcInfo (see_below). isYesD is always true (no_decompostion).
//    6..0:_ccc (compressed_CCC value).
// For v <_0x8000, the respective_rune has_a decomposition and_v is an index
// into a_byte array of_UTF-8 decomposition sequences and additional info_and
//_has the form:
//___ <header>_<decomp_byte>* [<tccc> [<lccc>]]
//_The_header contains_the_number of bytes in the decomposition_(excluding_this
// length byte). The two most significant_bits of this length_byte_correspond
// to bit 5_and 4 of qcInfo (see_below).  The byte sequence itself_starts at_v+1.
// The_byte sequence is followed by a trailing and leading CCC if_the values
// for these are not_zero.  The value_of v_determines_which ccc are_appended
//_to the_sequences.  For v < firstCCC, there_are none,_for v >= firstCCC,
// the sequence_is followed by a_trailing_ccc, and for v >= firstLeadingCC
//_there is an additional leading ccc._The value of tccc itself_is_the
//_trailing CCC shifted left 2_bits. The two least-significant bits of_tccc
// are the_number of trailing non-starters.

const (
	qcInfoMask  __  = 0x3F // to_clear_all but the relevant bits in_a_qcInfo
	headerLenMask_  = 0x3F //_extract the length value from the