summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/hustthesis
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/hustthesis
Initial commit
Diffstat (limited to 'macros/latex/contrib/hustthesis')
-rw-r--r--macros/latex/contrib/hustthesis/README.md49
-rw-r--r--macros/latex/contrib/hustthesis/fig-example.pdfbin0 -> 25418 bytes
-rw-r--r--macros/latex/contrib/hustthesis/hust-title.eps5273
-rw-r--r--macros/latex/contrib/hustthesis/hust-title.pdfbin0 -> 15223 bytes
-rw-r--r--macros/latex/contrib/hustthesis/hustthesis-en-example.pdfbin0 -> 201843 bytes
-rw-r--r--macros/latex/contrib/hustthesis/hustthesis-zh-example.pdfbin0 -> 237148 bytes
-rw-r--r--macros/latex/contrib/hustthesis/hustthesis.dtx4218
-rw-r--r--macros/latex/contrib/hustthesis/hustthesis.ins84
-rw-r--r--macros/latex/contrib/hustthesis/hustthesis.pdfbin0 -> 417324 bytes
9 files changed, 9624 insertions, 0 deletions
diff --git a/macros/latex/contrib/hustthesis/README.md b/macros/latex/contrib/hustthesis/README.md
new file mode 100644
index 0000000000..5550ef2657
--- /dev/null
+++ b/macros/latex/contrib/hustthesis/README.md
@@ -0,0 +1,49 @@
+hustthesis
+==========
+
+An Unofficial Thesis Template in LaTeX for [Huazhong University of Science and Technology](http://www.hust.edu.cn). See other templates in <http://hust-latex.github.io>.
+
+## Requirement
+
+* Install the latest version of [TeXLive](http://www.tug.org/texlive/)(Recommend) or [MiKTeX](http://miktex.org/). Please ensure that all the packages are up-to-date.
+* Install following Chinese fonts:
+ * `AdobeSongStd-Light`
+ * `AdobeKaitiStd-Regular`
+ * `AdobeHeitiStd-Regular`
+ * `AdobeFangsongStd-Regular`
+
+## Usage
+
+**Important : This template can only be compiled by XeLaTeX or LuaLaTeX[Recommend].**
+
+* Manual: See [hustthesis.pdf](https://github.com/hust-latex/hustthesis/raw/master/hustthesis/hustthesis.pdf).
+* Example: See [hustthesis-zh-example.pdf](https://github.com/hust-latex/hustthesis/raw/master/hustthesis/hustthesis-zh-example.pdf) and [hustthesis-en-example.pdf](https://github.com/hust-latex/hustthesis/raw/master/hustthesis/hustthesis-en-example.pdf).
+
+## Disclaimer
+
+This template is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+## License
+
+Original works are done by [Xu Cheng](https://github.com/xu-cheng). LPPL v1.3 is chosen to be the license of the project. Use as you desire.
+```
+Copyright (C) 2013-2014 by Xu Cheng <xucheng@me.com>
+ 2014-2016 by hust-latex <https://github.com/hust-latex>
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3
+of this license or (at your option) any later version.
+The latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of LaTeX
+version 2005/12/01 or later.
+
+This work has the LPPL maintenance status `maintained'.
+
+The Current Maintainer of this work is hust-latex Organization.
+
+This work consists of the files hustthesis.bst, hustthesis.dtx,
+hustthesis.ins and the derived file hustthesis.cls
+along with its document and example files.
+```
+
diff --git a/macros/latex/contrib/hustthesis/fig-example.pdf b/macros/latex/contrib/hustthesis/fig-example.pdf
new file mode 100644
index 0000000000..4ce333982a
--- /dev/null
+++ b/macros/latex/contrib/hustthesis/fig-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/hustthesis/hust-title.eps b/macros/latex/contrib/hustthesis/hust-title.eps
new file mode 100644
index 0000000000..e101968048
--- /dev/null
+++ b/macros/latex/contrib/hustthesis/hust-title.eps
@@ -0,0 +1,5273 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Title: (\(C:\\Documents and Settings\\Administrator\\Desktop\\hust-flash-eps.eps\))
+%%Version: 1 3
+%%Creator: Adobe Acrobat 6.0
+%%CreationDate: 20:27:11 01/02/06
+%%DocumentData: Clean7Bit
+%%BoundingBox: 0 0 176 37
+%%HiResBoundingBox: 0.0 0.0 176.0 37.0
+%%Pages: 0
+%%DocumentProcessColors:
+%%DocumentSuppliedResources:
+%%+ procset (Adobe Acrobat - PDF operators) 1.2 0
+%%EndComments
+%%BeginProlog
+%%EndProlog
+%%BeginSetup
+%ADOPrintSettings: L1 W0 VM op crd os scsa T h ef bg ucr sf ef r b fa pr SEPS ttf hb Printer/PostScript Color Management 0
+ %%BeginResource: procset Adobe_CoolType_Utility_MAKEOCF 1.18 0
+%%Copyright: Copyright 1987-2003 Adobe Systems Incorporated.
+%%Version: 1.18 0
+systemdict /languagelevel known dup
+ { currentglobal false setglobal }
+ { false }
+ifelse
+exch
+userdict /Adobe_CoolType_Utility 2 copy known
+ { 2 copy get dup maxlength 25 add dict copy }
+ { 25 dict }
+ifelse put
+Adobe_CoolType_Utility
+ begin
+ /ct_Level2? exch def
+ /ct_Clone? 1183615869 internaldict dup
+ /CCRun known not
+ exch /eCCRun known not
+ ct_Level2? and or def
+ct_Level2?
+ { globaldict begin currentglobal true setglobal }
+if
+ /ct_AddStdCIDMap
+ ct_Level2?
+ { {
+ ((Hex) 57 StartData
+ 0615 1e27 2c39 1c60 d8a8 cc31 fe2b f6e0
+ 7aa3 e541 e21c 60d8 a8c9 c3d0 6d9e 1c60
+ d8a8 c9c2 02d7 9a1c 60d8 a849 1c60 d8a8
+ cc36 74f4 1144 b13b 77) 0 () /SubFileDecode filter cvx exec
+ } }
+ { {
+ <BAB431EA07F209EB8C4348311481D9D3F76E3D15246555577D87BC510ED54E
+ 118C39697FA9F6DB58128E60EB8A12FA24D7CDD2FA94D221FA9EC8DA3E5E6A1C
+ 4ACECC8C2D39C54E7C946031DD156C3A6B4A09AD29E1867A> eexec
+ } }
+ ifelse bind def
+userdict /cid_extensions known
+ {
+ cid_extensions
+ begin
+ /cid_GetCIDSystemInfo
+ {
+ 1 index type /stringtype eq
+ { exch cvn exch }
+ if
+ cid_extensions
+ begin
+ dup load 2 index known
+ {
+ 2 copy
+ cid_GetStatusInfo
+ dup null ne
+ {
+ 1 index load
+ 3 index get
+ dup null eq
+ { pop pop cid_UpdateDB }
+ {
+ exch
+ 1 index /Created get eq
+ { exch pop exch pop }
+ { pop cid_UpdateDB }
+ ifelse
+ }
+ ifelse
+ }
+ { pop cid_UpdateDB }
+ ifelse
+ }
+ { cid_UpdateDB }
+ ifelse
+ end
+ } bind def
+ end
+ }
+if
+ct_Level2?
+ { end setglobal }
+if
+ /ct_UseNativeCapability? systemdict /composefont known def
+ /ct_MakeOCF 35 dict def
+ /ct_Vars 25 dict def
+ /ct_GlyphDirProcs 6 dict def
+ /ct_BuildCharDict 15 dict dup
+ begin
+ /charcode 2 string def
+ /dst_string 1500 string def
+ /nullstring () def
+ /usewidths? true def
+ end def
+ ct_Level2? { setglobal } { pop } ifelse
+ ct_GlyphDirProcs
+ begin
+ /GetGlyphDirectory
+ {
+ systemdict /languagelevel known
+ { pop /CIDFont findresource /GlyphDirectory get }
+ {
+ 1 index /CIDFont findresource /GlyphDirectory
+ get dup type /dicttype eq
+ {
+ dup dup maxlength exch length sub 2 index lt
+ {
+ dup length 2 index add dict copy 2 index
+ /CIDFont findresource/GlyphDirectory 2 index put
+ }
+ if
+ }
+ if
+ exch pop exch pop
+ }
+ ifelse
+ +
+ } def
+ /+
+ {
+ systemdict /languagelevel known
+ {
+ currentglobal false setglobal
+ 3 dict begin
+ /vm exch def
+ }
+ { 1 dict begin }
+ ifelse
+ /$ exch def
+ systemdict /languagelevel known
+ {
+ vm setglobal
+ /gvm currentglobal def
+ $ gcheck setglobal
+ }
+ if
+ ? { $ begin } if
+ } def
+ /? { $ type /dicttype eq } def
+ /| {
+ userdict /Adobe_CoolType_Data known
+ {
+ Adobe_CoolType_Data /AddWidths? known
+ {
+ currentdict Adobe_CoolType_Data
+ begin
+ begin
+ AddWidths?
+ {
+ Adobe_CoolType_Data /CC 3 index put
+ ? { def } { $ 3 1 roll put } ifelse
+ CC charcode exch 1 index 0 2 index 256 idiv put
+ 1 index exch 1 exch 256 mod put
+ stringwidth 2 array astore
+ currentfont /Widths get exch CC exch put
+ }
+ { ? { def } { $ 3 1 roll put } ifelse }
+ ifelse
+ end
+ end
+ }
+ { ? { def } { $ 3 1 roll put } ifelse } ifelse
+ }
+ { ? { def } { $ 3 1 roll put } ifelse }
+ ifelse
+ } def
+ /!
+ {
+ ? { end } if
+ systemdict /languagelevel known
+ { gvm setglobal }
+ if
+ end
+ } def
+ /: { string currentfile exch readstring pop } executeonly def
+ end
+ ct_MakeOCF
+ begin
+ /ct_cHexEncoding
+ [/c00/c01/c02/c03/c04/c05/c06/c07/c08/c09/c0A/c0B/c0C/c0D/c0E/c0F/c10/c11/c12
+ /c13/c14/c15/c16/c17/c18/c19/c1A/c1B/c1C/c1D/c1E/c1F/c20/c21/c22/c23/c24/c25
+ /c26/c27/c28/c29/c2A/c2B/c2C/c2D/c2E/c2F/c30/c31/c32/c33/c34/c35/c36/c37/c38
+ /c39/c3A/c3B/c3C/c3D/c3E/c3F/c40/c41/c42/c43/c44/c45/c46/c47/c48/c49/c4A/c4B
+ /c4C/c4D/c4E/c4F/c50/c51/c52/c53/c54/c55/c56/c57/c58/c59/c5A/c5B/c5C/c5D/c5E
+ /c5F/c60/c61/c62/c63/c64/c65/c66/c67/c68/c69/c6A/c6B/c6C/c6D/c6E/c6F/c70/c71
+ /c72/c73/c74/c75/c76/c77/c78/c79/c7A/c7B/c7C/c7D/c7E/c7F/c80/c81/c82/c83/c84
+ /c85/c86/c87/c88/c89/c8A/c8B/c8C/c8D/c8E/c8F/c90/c91/c92/c93/c94/c95/c96/c97
+ /c98/c99/c9A/c9B/c9C/c9D/c9E/c9F/cA0/cA1/cA2/cA3/cA4/cA5/cA6/cA7/cA8/cA9/cAA
+ /cAB/cAC/cAD/cAE/cAF/cB0/cB1/cB2/cB3/cB4/cB5/cB6/cB7/cB8/cB9/cBA/cBB/cBC/cBD
+ /cBE/cBF/cC0/cC1/cC2/cC3/cC4/cC5/cC6/cC7/cC8/cC9/cCA/cCB/cCC/cCD/cCE/cCF/cD0
+ /cD1/cD2/cD3/cD4/cD5/cD6/cD7/cD8/cD9/cDA/cDB/cDC/cDD/cDE/cDF/cE0/cE1/cE2/cE3
+ /cE4/cE5/cE6/cE7/cE8/cE9/cEA/cEB/cEC/cED/cEE/cEF/cF0/cF1/cF2/cF3/cF4/cF5/cF6
+ /cF7/cF8/cF9/cFA/cFB/cFC/cFD/cFE/cFF] def
+ /ct_CID_STR_SIZE 8000 def
+ /ct_mkocfStr100 100 string def
+ /ct_defaultFontMtx [.001 0 0 .001 0 0] def
+ /ct_1000Mtx [1000 0 0 1000 0 0] def
+ /ct_raise {exch cvx exch errordict exch get exec stop} bind def
+ /ct_reraise
+ { cvx $error /errorname get (Error: ) print dup ( ) cvs print
+ errordict exch get exec stop
+ } bind def
+ /ct_cvnsi
+ {
+ 1 index add 1 sub 1 exch 0 4 1 roll
+ {
+ 2 index exch get
+ exch 8 bitshift
+ add
+ }
+ for
+ exch pop
+ } bind def
+ /ct_GetInterval
+ {
+ Adobe_CoolType_Utility /ct_BuildCharDict get
+ begin
+ /dst_index 0 def
+ dup dst_string length gt
+ { dup string /dst_string exch def }
+ if
+ 1 index ct_CID_STR_SIZE idiv
+ /arrayIndex exch def
+ 2 index arrayIndex get
+ 2 index
+ arrayIndex ct_CID_STR_SIZE mul
+ sub
+ {
+ dup 3 index add 2 index length le
+ {
+ 2 index getinterval
+ dst_string dst_index 2 index putinterval
+ length dst_index add /dst_index exch def
+ exit
+ }
+ {
+ 1 index length 1 index sub
+ dup 4 1 roll
+ getinterval
+ dst_string dst_index 2 index putinterval
+ pop dup dst_index add /dst_index exch def
+ sub
+ /arrayIndex arrayIndex 1 add def
+ 2 index dup length arrayIndex gt
+ { arrayIndex get }
+ {
+ pop
+ exit
+ }
+ ifelse
+ 0
+ }
+ ifelse
+ }
+ loop
+ pop pop pop
+ dst_string 0 dst_index getinterval
+ end
+ } bind def
+ ct_Level2?
+ {
+ /ct_resourcestatus
+ currentglobal mark true setglobal
+ { /unknowninstancename /Category resourcestatus }
+ stopped
+ { cleartomark setglobal true }
+ { cleartomark currentglobal not exch setglobal }
+ ifelse
+ {
+ {
+ mark 3 1 roll /Category findresource
+ begin
+ ct_Vars /vm currentglobal put
+ ({ResourceStatus} stopped) 0 () /SubFileDecode filter cvx exec
+ { cleartomark false }
+ { { 3 2 roll pop true } { cleartomark false } ifelse }
+ ifelse
+ ct_Vars /vm get setglobal
+ end
+ }
+ }
+ { { resourcestatus } }
+ ifelse bind def
+ /CIDFont /Category ct_resourcestatus
+ { pop pop }
+ {
+ currentglobal true setglobal
+ /Generic /Category findresource
+ dup length dict copy
+ dup /InstanceType /dicttype put
+ /CIDFont exch /Category defineresource pop
+ setglobal
+ }
+ ifelse
+ ct_UseNativeCapability?
+ {
+ /CIDInit /ProcSet findresource begin
+ 12 dict begin
+ begincmap
+ /CIDSystemInfo 3 dict dup begin
+ /Registry (Adobe) def
+ /Ordering (Identity) def
+ /Supplement 0 def
+ end def
+ /CMapName /Identity-H def
+ /CMapVersion 1.000 def
+ /CMapType 1 def
+ 1 begincodespacerange
+ <0000> <FFFF>
+ endcodespacerange
+ 1 begincidrange
+ <0000> <FFFF> 0
+ endcidrange
+ endcmap
+ CMapName currentdict /CMap defineresource pop
+ end
+ end
+ }
+ if
+ }
+ {
+ /ct_Category 2 dict begin
+ /CIDFont 10 dict def
+ /ProcSet 2 dict def
+ currentdict
+ end
+ def
+ /defineresource
+ {
+ ct_Category 1 index 2 copy known
+ {
+ get
+ dup dup maxlength exch length eq
+ {
+ dup length 10 add dict copy
+ ct_Category 2 index 2 index put
+ }
+ if
+ 3 index 3 index put
+ pop exch pop
+ }
+ { pop pop /defineresource /undefined ct_raise }
+ ifelse
+ } bind def
+ /findresource
+ {
+ ct_Category 1 index 2 copy known
+ {
+ get
+ 2 index 2 copy known
+ { get 3 1 roll pop pop}
+ { pop pop /findresource /undefinedresource ct_raise }
+ ifelse
+ }
+ { pop pop /findresource /undefined ct_raise }
+ ifelse
+ } bind def
+ /resourcestatus
+ {
+ ct_Category 1 index 2 copy known
+ {
+ get
+ 2 index known
+ exch pop exch pop
+ {
+ 0 -1 true
+ }
+ {
+ false
+ }
+ ifelse
+ }
+ { pop pop /findresource /undefined ct_raise }
+ ifelse
+ } bind def
+ /ct_resourcestatus /resourcestatus load def
+ }
+ ifelse
+ /ct_CIDInit 2 dict
+ begin
+ /ct_cidfont_stream_init
+ {
+ {
+ dup (Binary) eq
+ {
+ pop
+ null
+ currentfile
+ ct_Level2?
+ {
+ { cid_BYTE_COUNT () /SubFileDecode filter }
+ stopped
+ { pop pop pop }
+ if
+ }
+ if
+ /readstring load
+ exit
+ }
+ if
+ dup (Hex) eq
+ {
+ pop
+ currentfile
+ ct_Level2?
+ {
+ { null exch /ASCIIHexDecode filter /readstring }
+ stopped
+ { pop exch pop (>) exch /readhexstring }
+ if
+ }
+ { (>) exch /readhexstring }
+ ifelse
+ load
+ exit
+ }
+ if
+ /StartData /typecheck ct_raise
+ }
+ loop
+ cid_BYTE_COUNT ct_CID_STR_SIZE le
+ {
+ 2 copy cid_BYTE_COUNT string exch exec
+ pop
+ 1 array dup
+ 3 -1 roll
+ 0 exch put
+ }
+ {
+ cid_BYTE_COUNT ct_CID_STR_SIZE div ceiling cvi
+ dup array exch 2 sub 0 exch 1 exch
+ {
+ 2 copy
+ 5 index
+ ct_CID_STR_SIZE
+ string
+ 6 index exec
+ pop
+ put
+ pop
+ }
+ for
+ 2 index
+ cid_BYTE_COUNT ct_CID_STR_SIZE mod string
+ 3 index exec
+ pop
+ 1 index exch
+ 1 index length 1 sub
+ exch put
+ }
+ ifelse
+ cid_CIDFONT exch /GlyphData exch put
+ 2 index null eq
+ {
+ pop pop pop
+ }
+ {
+ pop /readstring load
+ 1 string exch
+ {
+ 3 copy exec
+ pop
+ dup length 0 eq
+ {
+ pop pop pop pop pop
+ true exit
+ }
+ if
+ 4 index
+ eq
+ {
+ pop pop pop pop
+ false exit
+ }
+ if
+ }
+ loop
+ pop
+ }
+ ifelse
+ } bind def
+ /StartData
+ {
+ mark
+ {
+ currentdict
+ dup /FDArray get 0 get /FontMatrix get
+ 0 get 0.001 eq
+ {
+ dup /CDevProc known not
+ {
+ /CDevProc 1183615869 internaldict /stdCDevProc 2 copy known
+ { get }
+ {
+ pop pop
+ { pop pop pop pop pop 0 -1000 7 index 2 div 880 }
+ }
+ ifelse
+ def
+ }
+ if
+ }
+ {
+ /CDevProc
+ {
+ pop pop pop pop pop
+ 0
+ 1 cid_temp /cid_CIDFONT get
+ /FDArray get 0 get
+ /FontMatrix get 0 get div
+ 7 index 2 div
+ 1 index 0.88 mul
+ } def
+ }
+ ifelse
+ /cid_temp 15 dict def
+ cid_temp
+ begin
+ /cid_CIDFONT exch def
+ 3 copy pop
+ dup /cid_BYTE_COUNT exch def 0 gt
+ {
+ ct_cidfont_stream_init
+ FDArray
+ {
+ /Private get
+ dup /SubrMapOffset known
+ {
+ begin
+ /Subrs SubrCount array def
+ Subrs
+ SubrMapOffset
+ SubrCount
+ SDBytes
+ ct_Level2?
+ {
+ currentdict dup /SubrMapOffset undef
+ dup /SubrCount undef
+ /SDBytes undef
+ }
+ if
+ end
+ /cid_SD_BYTES exch def
+ /cid_SUBR_COUNT exch def
+ /cid_SUBR_MAP_OFFSET exch def
+ /cid_SUBRS exch def
+ cid_SUBR_COUNT 0 gt
+ {
+ GlyphData cid_SUBR_MAP_OFFSET cid_SD_BYTES ct_GetInterval
+ 0 cid_SD_BYTES ct_cvnsi
+ 0 1 cid_SUBR_COUNT 1 sub
+ {
+ exch 1 index
+ 1 add
+ cid_SD_BYTES mul cid_SUBR_MAP_OFFSET add
+ GlyphData exch cid_SD_BYTES ct_GetInterval
+ 0 cid_SD_BYTES ct_cvnsi
+ cid_SUBRS 4 2 roll
+ GlyphData exch
+ 4 index
+ 1 index
+ sub
+ ct_GetInterval
+ dup length string copy put
+ }
+ for
+ pop
+ }
+ if
+ }
+ { pop }
+ ifelse
+ }
+ forall
+ }
+ if
+ cleartomark pop pop
+ end
+ CIDFontName currentdict /CIDFont defineresource pop
+ end end
+ }
+ stopped
+ { cleartomark /StartData ct_reraise }
+ if
+ } bind def
+ currentdict
+ end def
+ /ct_saveCIDInit
+ {
+ /CIDInit /ProcSet ct_resourcestatus
+ { true }
+ { /CIDInitC /ProcSet ct_resourcestatus }
+ ifelse
+ {
+ pop pop
+ /CIDInit /ProcSet findresource
+ ct_UseNativeCapability?
+ { pop null }
+ { /CIDInit ct_CIDInit /ProcSet defineresource pop }
+ ifelse
+ }
+ { /CIDInit ct_CIDInit /ProcSet defineresource pop null }
+ ifelse
+ ct_Vars exch /ct_oldCIDInit exch put
+ } bind def
+ /ct_restoreCIDInit
+ {
+ ct_Vars /ct_oldCIDInit get dup null ne
+ { /CIDInit exch /ProcSet defineresource pop }
+ { pop }
+ ifelse
+ } bind def
+ /ct_BuildCharSetUp
+ {
+ 1 index
+ begin
+ CIDFont
+ begin
+ Adobe_CoolType_Utility /ct_BuildCharDict get
+ begin
+ /ct_dfCharCode exch def
+ /ct_dfDict exch def
+ CIDFirstByte ct_dfCharCode add
+ dup CIDCount ge
+ { pop 0 }
+ if
+ /cid exch def
+ {
+ GlyphDirectory cid 2 copy known
+ { get }
+ { pop pop nullstring }
+ ifelse
+ dup length FDBytes sub 0 gt
+ {
+ dup
+ FDBytes 0 ne
+ { 0 FDBytes ct_cvnsi }
+ { pop 0 }
+ ifelse
+ /fdIndex exch def
+ dup length FDBytes sub FDBytes exch getinterval
+ /charstring exch def
+ exit
+ }
+ {
+ pop
+ cid 0 eq
+ { /charstring nullstring def exit }
+ if
+ /cid 0 def
+ }
+ ifelse
+ }
+ loop
+ } def
+ /ct_SetCacheDevice
+ {
+ 0 0 moveto
+ dup stringwidth
+ 3 -1 roll
+ true charpath
+ pathbbox
+ 0 -1000
+ 7 index 2 div 880
+ setcachedevice2
+ 0 0 moveto
+ } def
+ /ct_CloneSetCacheProc
+ {
+ 1 eq
+ {
+ stringwidth
+ pop -2 div -880
+ 0 -1000 setcharwidth
+ moveto
+ }
+ {
+ usewidths?
+ {
+ currentfont /Widths get cid
+ 2 copy known
+ { get exch pop aload pop }
+ { pop pop stringwidth }
+ ifelse
+ }
+ { stringwidth }
+ ifelse
+ setcharwidth
+ 0 0 moveto
+ }
+ ifelse
+ } def
+ /ct_Type3ShowCharString
+ {
+ ct_FDDict fdIndex 2 copy known
+ { get }
+ {
+ currentglobal 3 1 roll
+ 1 index gcheck setglobal
+ ct_Type1FontTemplate dup maxlength dict copy
+ begin
+ FDArray fdIndex get
+ dup /FontMatrix 2 copy known
+ { get }
+ { pop pop ct_defaultFontMtx }
+ ifelse
+ /FontMatrix exch dup length array copy def
+ /Private get
+ /Private exch def
+ /Widths rootfont /Widths get def
+ /CharStrings 1 dict dup /.notdef
+ <d841272cf18f54fc13> dup length string copy put def
+ currentdict
+ end
+ /ct_Type1Font exch definefont
+ dup 5 1 roll put
+ setglobal
+ }
+ ifelse
+ dup /CharStrings get 1 index /Encoding get
+ ct_dfCharCode get charstring put
+ rootfont /WMode 2 copy known
+ { get }
+ { pop pop 0 }
+ ifelse
+ exch
+ 1000 scalefont setfont
+ ct_str1 0 ct_dfCharCode put
+ ct_str1 exch ct_dfSetCacheProc
+ ct_SyntheticBold
+ {
+ currentpoint
+ ct_str1 show
+ newpath
+ moveto
+ ct_str1 true charpath
+ ct_StrokeWidth setlinewidth
+ stroke
+ }
+ { ct_str1 show }
+ ifelse
+ } def
+ /ct_Type4ShowCharString
+ {
+ ct_dfDict ct_dfCharCode charstring
+ FDArray fdIndex get
+ dup /FontMatrix get dup ct_defaultFontMtx ct_matrixeq not
+ { ct_1000Mtx matrix concatmatrix concat }
+ { pop }
+ ifelse
+ /Private get
+ Adobe_CoolType_Utility /ct_Level2? get not
+ {
+ ct_dfDict /Private
+ 3 -1 roll
+ { put }
+ 1183615869 internaldict /superexec get exec
+ }
+ if
+ 1183615869 internaldict
+ Adobe_CoolType_Utility /ct_Level2? get
+ { 1 index }
+ { 3 index /Private get mark 6 1 roll }
+ ifelse
+ dup /RunInt known
+ { /RunInt get }
+ { pop /CCRun }
+ ifelse
+ get exec
+ Adobe_CoolType_Utility /ct_Level2? get not
+ { cleartomark }
+ if
+ } bind def
+ /ct_BuildCharIncremental
+ {
+ {
+ Adobe_CoolType_Utility /ct_MakeOCF get begin
+ ct_BuildCharSetUp
+ ct_ShowCharString
+ }
+ stopped
+ { stop }
+ if
+ end
+ end
+ end
+ end
+ } bind def
+ /BaseFontNameStr (BF00) def
+ /ct_Type1FontTemplate 14 dict
+ begin
+ /FontType 1 def
+ /FontMatrix [0.001 0 0 0.001 0 0] def
+ /FontBBox [-250 -250 1250 1250] def
+ /Encoding ct_cHexEncoding def
+ /PaintType 0 def
+ currentdict
+ end def
+ /BaseFontTemplate 11 dict
+ begin
+ /FontMatrix [0.001 0 0 0.001 0 0] def
+ /FontBBox [-250 -250 1250 1250] def
+ /Encoding ct_cHexEncoding def
+ /BuildChar /ct_BuildCharIncremental load def
+ ct_Clone?
+ {
+ /FontType 3 def
+ /ct_ShowCharString /ct_Type3ShowCharString load def
+ /ct_dfSetCacheProc /ct_CloneSetCacheProc load def
+ /ct_SyntheticBold false def
+ /ct_StrokeWidth 1 def
+ }
+ {
+ /FontType 4 def
+ /Private 1 dict dup /lenIV 4 put def
+ /CharStrings 1 dict dup /.notdef <d841272cf18f54fc13> put def
+ /PaintType 0 def
+ /ct_ShowCharString /ct_Type4ShowCharString load def
+ }
+ ifelse
+ /ct_str1 1 string def
+ currentdict
+ end def
+ /BaseFontDictSize BaseFontTemplate length 5 add def
+ /ct_matrixeq
+ {
+ true 0 1 5
+ {
+ dup 4 index exch get exch 3 index exch get eq and
+ dup not
+ { exit }
+ if
+ }
+ for
+ exch pop exch pop
+ } bind def
+ /ct_makeocf
+ {
+ 15 dict
+ begin
+ exch /WMode exch def
+ exch /FontName exch def
+ /FontType 0 def
+ /FMapType 2 def
+ dup /FontMatrix known
+ { dup /FontMatrix get /FontMatrix exch def }
+ { /FontMatrix matrix def }
+ ifelse
+ /bfCount 1 index /CIDCount get 256 idiv 1 add
+ dup 256 gt { pop 256} if def
+ /Encoding
+ 256 array 0 1 bfCount 1 sub { 2 copy dup put pop } for
+ bfCount 1 255 { 2 copy bfCount put pop } for
+ def
+ /FDepVector bfCount dup 256 lt { 1 add } if array def
+ BaseFontTemplate BaseFontDictSize dict copy
+ begin
+ /CIDFont exch def
+ CIDFont /FontBBox known
+ { CIDFont /FontBBox get /FontBBox exch def }
+ if
+ CIDFont /CDevProc known
+ { CIDFont /CDevProc get /CDevProc exch def }
+ if
+ currentdict
+ end
+ BaseFontNameStr 3 (0) putinterval
+ 0 1 bfCount dup 256 eq { 1 sub } if
+ {
+ FDepVector exch
+ 2 index BaseFontDictSize dict copy
+ begin
+ dup /CIDFirstByte exch 256 mul def
+ FontType 3 eq
+ { /ct_FDDict 2 dict def }
+ if
+ currentdict
+ end
+ 1 index 16
+ BaseFontNameStr 2 2 getinterval cvrs pop
+ BaseFontNameStr exch definefont
+ put
+ }
+ for
+ ct_Clone?
+ { /Widths 1 index /CIDFont get /GlyphDirectory get length dict def }
+ if
+ FontName
+ currentdict
+ end
+ definefont
+ ct_Clone?
+ {
+ gsave
+ dup 1000 scalefont setfont
+ ct_BuildCharDict
+ begin
+ /usewidths? false def
+ currentfont /Widths get
+ begin
+ exch /CIDFont get /GlyphDirectory get
+ {
+ pop
+ dup charcode exch 1 index 0 2 index 256 idiv put
+ 1 index exch 1 exch 256 mod put
+ stringwidth 2 array astore def
+ }
+ forall
+ end
+ /usewidths? true def
+ end
+ grestore
+ }
+ { exch pop }
+ ifelse
+ } bind def
+ /ct_ComposeFont
+ {
+ ct_UseNativeCapability?
+ {
+ 2 index /CMap ct_resourcestatus
+ { pop pop exch pop }
+ {
+ /CIDInit /ProcSet findresource
+ begin
+ 12 dict
+ begin
+ begincmap
+ /CMapName 3 index def
+ /CMapVersion 1.000 def
+ /CMapType 1 def
+ exch /WMode exch def
+ /CIDSystemInfo 3 dict dup
+ begin
+ /Registry (Adobe) def
+ /Ordering
+ CMapName ct_mkocfStr100 cvs
+ (Adobe-) search
+ {
+ pop pop
+ (-) search
+ {
+ dup length string copy
+ exch pop exch pop
+ }
+ { pop (Identity)}
+ ifelse
+ }
+ { pop (Identity) }
+ ifelse
+ def
+ /Supplement 0 def
+ end def
+ 1 begincodespacerange
+ <0000> <FFFF>
+ endcodespacerange
+ 1 begincidrange
+ <0000> <FFFF> 0
+ endcidrange
+ endcmap
+ CMapName currentdict /CMap defineresource pop
+ end
+ end
+ }
+ ifelse
+ composefont
+ }
+ {
+ 3 2 roll pop
+ 0 get /CIDFont findresource
+ ct_makeocf
+ }
+ ifelse
+ } bind def
+ /ct_MakeIdentity
+ {
+ ct_UseNativeCapability?
+ {
+ 1 index /CMap ct_resourcestatus
+ { pop pop }
+ {
+ /CIDInit /ProcSet findresource begin
+ 12 dict begin
+ begincmap
+ /CMapName 2 index def
+ /CMapVersion 1.000 def
+ /CMapType 1 def
+ /CIDSystemInfo 3 dict dup
+ begin
+ /Registry (Adobe) def
+ /Ordering
+ CMapName ct_mkocfStr100 cvs
+ (Adobe-) search
+ {
+ pop pop
+ (-) search
+ { dup length string copy exch pop exch pop }
+ { pop (Identity) }
+ ifelse
+ }
+ { pop (Identity) }
+ ifelse
+ def
+ /Supplement 0 def
+ end def
+ 1 begincodespacerange
+ <0000> <FFFF>
+ endcodespacerange
+ 1 begincidrange
+ <0000> <FFFF> 0
+ endcidrange
+ endcmap
+ CMapName currentdict /CMap defineresource pop
+ end
+ end
+ }
+ ifelse
+ composefont
+ }
+ {
+ exch pop
+ 0 get /CIDFont findresource
+ ct_makeocf
+ }
+ ifelse
+ } bind def
+ currentdict readonly pop
+ end
+ end
+%%EndResource
+/currentpacking where{pop currentpacking true setpacking}if
+%%BeginResource: procset pdfvars 6.0 1
+%%Copyright: Copyright 1987-2002 Adobe Systems Incorporated. All Rights Reserved.
+%%Title: definition of dictionary of variables used by PDF & PDFText procsets
+userdict /PDF 162 dict put
+userdict /PDFVars 89 dict dup begin put
+/docSetupDone false def
+/InitAll 0 def
+/TermAll 0 def
+/DocInitAll 0 def
+/DocTermAll 0 def
+/_pdfEncodings 2 array def
+/_pdf_str1 1 string def
+/_pdf_i 0 def
+/_pdf_na 0 def
+/_pdf_showproc 0 def
+/_italMtx [1 0 .212557 1 0 0] def
+/_italMtx_WMode1 [1 -.212557 0 1 0 0] def
+/_italMtxType0 [1 0 .1062785 1 0 0] def
+/_italMtx_WMode1Type0 [1 -.1062785 0 1 0 0] def
+/_basefont 0 def
+/_basefonto 0 def
+/_pdf_oldCIDInit null def
+/_pdf_FontDirectory 30 dict def
+/_categories 10 dict def
+/_sa? true def
+/_ColorSep5044? false def
+/nulldict 0 dict def
+/_processColors 0 def
+/overprintstack null def
+/_defaulttransfer currenttransfer def
+/_defaultflatness currentflat def
+/_defaulthalftone null def
+/_defaultcolortransfer null def
+/_defaultblackgeneration null def
+/_defaultundercolorremoval null def
+/_defaultcolortransfer null def
+PDF begin
+[/c/cs/cm/d/d0/f/h/i/j/J/l/m/M/n/q/Q/re/ri/S/sc/sh/Tf/w/W
+/applyInterpFunc/applystitchFunc/domainClip/encodeInput
+/initgs/int/limit/rangeClip
+/defineRes/undefineRes/findRes/setSA/pl
+/? /! /| /: /+ /GetGlyphDirectory
+/pdf_flushFilters /pdf_readstring /pdf_dictOp /pdf_image /pdf_maskedImage
+/pdf_shfill /pdf_sethalftone
+] {null def} bind forall
+end
+end
+%%EndResource
+PDFVars begin PDF begin
+%%BeginResource: procset pdfutil 6.0 1
+%%Copyright: Copyright 1993-2001 Adobe Systems Incorporated. All Rights Reserved.
+%%Title: Basic utilities used by other PDF procsets
+/bd {bind def} bind def
+/ld {load def} bd
+/bld {
+dup length dict begin
+{ null def } forall
+bind
+end
+def
+} bd
+/dd { PDFVars 3 1 roll put } bd
+/xdd { exch dd } bd
+/Level2?
+systemdict /languagelevel known
+{ systemdict /languagelevel get 2 ge } { false } ifelse
+def
+/Level1? Level2? not def
+/Level3?
+systemdict /languagelevel known
+{systemdict /languagelevel get 3 eq } { false } ifelse
+def
+/getifknown {
+2 copy known { get true } { pop pop false } ifelse
+} bd
+/here {
+currentdict exch getifknown
+} bd
+/isdefined? { where { pop true } { false } ifelse } bd
+%%EndResource
+%%BeginResource: procset l2compat 6.0 1
+%%Copyright: Copyright 1987-2003 Adobe Systems Incorporated. All Rights Reserved.
+%%Title: Level 1 emulation of level 2 operators
+/setcmykcolor isdefined? not
+{
+/setcmykcolor {
+1 sub 4 1 roll
+3 {
+3 index add neg dup 0 lt { pop 0 } if
+3 1 roll
+} repeat
+setrgbcolor
+pop
+} bd
+} if
+/rectclip isdefined? not
+{
+/rectclip { newpath re clip newpath } bd
+} if
+/rectfill isdefined? not
+{
+/rectfill { gsave newpath re fill grestore } bd
+} if
+/sethalftone isdefined? not
+{
+/sethalftone {
+begin
+HalftoneType 1 eq
+{ Frequency Angle /SpotFunction load setscreen }
+if
+end
+} bd
+} if
+Level1?
+{
+/pdf_show {show} bd
+/xshow
+{
+PDFVars /_pdf_showproc /pdf_show load put
+pdf_xshow
+} bd
+/yshow
+{
+PDFVars /_pdf_showproc /pdf_show load put
+pdf_yshow
+} bd
+/xyshow
+{
+PDFVars /_pdf_showproc /pdf_show load put
+pdf_xyshow
+} bd
+} if
+/getrampcolor {
+cvi
+/indx exch def
+[
+0 1 NumComp 1 sub {
+dup
+Samples exch get
+dup type /stringtype eq { indx get } if
+exch
+Scaling exch get aload pop
+3 1 roll
+mul add
+} for
+]
+L1setcolor
+} bd
+/sssetbackground { L1setcolor } bd
+%%EndResource
+%%BeginResource: procset pdf 6.0 1
+%%Copyright: Copyright 1998-2003 Adobe Systems Incorporated. All Rights Reserved.
+%%Title: General operators for PDF, common to all Language Levels.
+/cm { matrix astore concat } bd
+/d /setdash ld
+/f /fill ld
+/h /closepath ld
+/i {dup 0 eq {pop _defaultflatness} if setflat} bd
+/j /setlinejoin ld
+/J /setlinecap ld
+/M /setmiterlimit ld
+/n /newpath ld
+/S /stroke ld
+/w /setlinewidth ld
+/W /clip ld
+/sg /setgray ld
+/initgs {
+0 setgray
+[] 0 d
+0 j
+0 J
+10 M
+1 w
+false setSA
+/_defaulttransfer load settransfer
+0 i
+/RelativeColorimetric ri
+newpath
+} bd
+/int {
+dup 2 index sub 3 index 5 index sub div 6 -2 roll sub mul
+exch pop add exch pop
+} bd
+/limit {
+dup 2 index le { exch } if pop
+dup 2 index ge { exch } if pop
+} bd
+/domainClip {
+Domain aload pop 3 2 roll
+limit
+} [/Domain] bld
+/applyInterpFunc {
+0 1 DimOut 1 sub
+{
+dup C0 exch get exch
+dup C1 exch get exch
+3 1 roll
+1 index sub
+3 index
+N exp mul add
+exch
+currentdict /Range_lo known
+{
+dup Range_lo exch get exch
+Range_hi exch get
+3 2 roll limit
+}
+{
+pop
+}
+ifelse
+exch
+} for
+pop
+} [/DimOut /C0 /C1 /N /Range_lo /Range_hi] bld
+/encodeInput {
+NumParts 1 sub
+0 1 2 index
+{
+dup Bounds exch get
+2 index gt
+{ exit }
+{ dup
+3 index eq
+{ exit }
+{ pop } ifelse
+} ifelse
+} for
+3 2 roll pop
+dup Bounds exch get exch
+dup 1 add Bounds exch get exch
+2 mul
+dup Encode exch get exch
+1 add Encode exch get
+int
+} [/NumParts /Bounds /Encode] bld
+/rangeClip {
+exch dup Range_lo exch get
+exch Range_hi exch get
+3 2 roll
+limit
+} [/Range_lo /Range_hi] bld
+/applyStitchFunc {
+Functions exch get exec
+currentdict /Range_lo known {
+0 1 DimOut 1 sub {
+DimOut 1 add -1 roll
+rangeClip
+} for
+} if
+} [/Functions /Range_lo /DimOut] bld
+/pdf_flushfilters
+{
+aload length
+{ dup status
+1 index currentfile ne and
+{ dup flushfile closefile }
+{ pop }
+ifelse
+} repeat
+} bd
+/pdf_readstring
+{
+1 index dup length 1 sub get
+exch readstring pop
+exch pdf_flushfilters
+} bind def
+/pdf_dictOp
+{
+3 2 roll
+10 dict copy
+begin
+_Filters dup length 1 sub get def
+currentdict exch exec
+_Filters pdf_flushfilters
+end
+} [/_Filters] bld
+/pdf_image {{image} /DataSource pdf_dictOp} bd
+/pdf_imagemask {{imagemask} /DataSource pdf_dictOp} bd
+/pdf_shfill {{sh} /DataSource pdf_dictOp} bd
+/pdf_sethalftone {{sethalftone} /Thresholds pdf_dictOp} bd
+/pdf_maskedImage
+{
+10 dict copy begin
+/miDict currentdict def
+/DataDict DataDict 10 dict copy def
+DataDict begin
+/DataSource
+_Filters dup length 1 sub get
+def
+miDict image
+_Filters pdf_flushfilters
+end
+end
+} [/miDict /DataDict /_Filters] bld
+/RadialShade {
+40 dict begin
+/background exch def
+/ext1 exch def
+/ext0 exch def
+/BBox exch def
+/r2 exch def
+/c2y exch def
+/c2x exch def
+/r1 exch def
+/c1y exch def
+/c1x exch def
+/rampdict exch def
+gsave
+BBox length 0 gt {
+newpath
+BBox 0 get BBox 1 get moveto
+BBox 2 get BBox 0 get sub 0 rlineto
+0 BBox 3 get BBox 1 get sub rlineto
+BBox 2 get BBox 0 get sub neg 0 rlineto
+closepath
+clip
+newpath
+} if
+c1x c2x eq
+{
+c1y c2y lt {/theta 90 def}{/theta 270 def} ifelse
+}
+{
+/slope c2y c1y sub c2x c1x sub div def
+/theta slope 1 atan def
+c2x c1x lt c2y c1y ge and { /theta theta 180 sub def} if
+c2x c1x lt c2y c1y lt and { /theta theta 180 add def} if
+}
+ifelse
+gsave
+clippath
+c1x c1y translate
+theta rotate
+-90 rotate
+{ pathbbox } stopped
+{ 0 0 0 0 } if
+/yMax exch def
+/xMax exch def
+/yMin exch def
+/xMin exch def
+grestore
+xMax xMin eq yMax yMin eq or
+{
+grestore
+end
+}
+{
+/max { 2 copy gt { pop } {exch pop} ifelse } bind def
+/min { 2 copy lt { pop } {exch pop} ifelse } bind def
+rampdict begin
+40 dict begin
+background length 0 gt { background sssetbackground gsave clippath fill grestore } if
+gsave
+c1x c1y translate
+theta rotate
+-90 rotate
+/c2y c1x c2x sub dup mul c1y c2y sub dup mul add sqrt def
+/c1y 0 def
+/c1x 0 def
+/c2x 0 def
+ext0 {
+0 getrampcolor
+c2y r2 add r1 sub 0.0001 lt
+{
+c1x c1y r1 360 0 arcn
+pathbbox
+/aymax exch def
+/axmax exch def
+/aymin exch def
+/axmin exch def
+/bxMin xMin axmin min def
+/byMin yMin aymin min def
+/bxMax xMax axmax max def
+/byMax yMax aymax max def
+bxMin byMin moveto
+bxMax byMin lineto
+bxMax byMax lineto
+bxMin byMax lineto
+bxMin byMin lineto
+eofill
+}
+{
+c2y r1 add r2 le
+{
+c1x c1y r1 0 360 arc
+fill
+}
+{
+c2x c2y r2 0 360 arc fill
+r1 r2 eq
+{
+/p1x r1 neg def
+/p1y c1y def
+/p2x r1 def
+/p2y c1y def
+p1x p1y moveto p2x p2y lineto p2x yMin lineto p1x yMin lineto
+fill
+}
+{
+/AA r2 r1 sub c2y div def
+AA -1 eq
+{ /theta 89.99 def}
+{ /theta AA 1 AA dup mul sub sqrt div 1 atan def}
+ifelse
+/SS1 90 theta add dup sin exch cos div def
+/p1x r1 SS1 SS1 mul SS1 SS1 mul 1 add div sqrt mul neg def
+/p1y p1x SS1 div neg def
+/SS2 90 theta sub dup sin exch cos div def
+/p2x r1 SS2 SS2 mul SS2 SS2 mul 1 add div sqrt mul def
+/p2y p2x SS2 div neg def
+r1 r2 gt
+{
+/L1maxX p1x yMin p1y sub SS1 div add def
+/L2maxX p2x yMin p2y sub SS2 div add def
+}
+{
+/L1maxX 0 def
+/L2maxX 0 def
+}ifelse
+p1x p1y moveto p2x p2y lineto L2maxX L2maxX p2x sub SS2 mul p2y add lineto
+L1maxX L1maxX p1x sub SS1 mul p1y add lineto
+fill
+}
+ifelse
+}
+ifelse
+} ifelse
+} if
+c1x c2x sub dup mul
+c1y c2y sub dup mul
+add 0.5 exp
+0 dtransform
+dup mul exch dup mul add 0.5 exp 72 div
+0 72 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt
+72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt
+1 index 1 index lt { exch } if pop
+/hires exch def
+hires mul
+/numpix exch def
+/numsteps NumSamples def
+/rampIndxInc 1 def
+/subsampling false def
+numpix 0 ne
+{
+NumSamples numpix div 0.5 gt
+{
+/numsteps numpix 2 div round cvi dup 1 le { pop 2 } if def
+/rampIndxInc NumSamples 1 sub numsteps div def
+/subsampling true def
+} if
+} if
+/xInc c2x c1x sub numsteps div def
+/yInc c2y c1y sub numsteps div def
+/rInc r2 r1 sub numsteps div def
+/cx c1x def
+/cy c1y def
+/radius r1 def
+newpath
+xInc 0 eq yInc 0 eq rInc 0 eq and and
+{
+0 getrampcolor
+cx cy radius 0 360 arc
+stroke
+NumSamples 1 sub getrampcolor
+cx cy radius 72 hires div add 0 360 arc
+0 setlinewidth
+stroke
+}
+{
+0
+numsteps
+{
+dup
+subsampling { round } if
+getrampcolor
+cx cy radius 0 360 arc
+/cx cx xInc add def
+/cy cy yInc add def
+/radius radius rInc add def
+cx cy radius 360 0 arcn
+eofill
+rampIndxInc add
+}
+repeat
+pop
+} ifelse
+ext1 {
+c2y r2 add r1 lt
+{
+c2x c2y r2 0 360 arc
+fill
+}
+{
+c2y r1 add r2 sub 0.0001 le
+{
+c2x c2y r2 360 0 arcn
+pathbbox
+/aymax exch def
+/axmax exch def
+/aymin exch def
+/axmin exch def
+/bxMin xMin axmin min def
+/byMin yMin aymin min def
+/bxMax xMax axmax max def
+/byMax yMax aymax max def
+bxMin byMin moveto
+bxMax byMin lineto
+bxMax byMax lineto
+bxMin byMax lineto
+bxMin byMin lineto
+eofill
+}
+{
+c2x c2y r2 0 360 arc fill
+r1 r2 eq
+{
+/p1x r2 neg def
+/p1y c2y def
+/p2x r2 def
+/p2y c2y def
+p1x p1y moveto p2x p2y lineto p2x yMax lineto p1x yMax lineto
+fill
+}
+{
+/AA r2 r1 sub c2y div def
+AA -1 eq
+{ /theta 89.99 def}
+{ /theta AA 1 AA dup mul sub sqrt div 1 atan def}
+ifelse
+/SS1 90 theta add dup sin exch cos div def
+/p1x r2 SS1 SS1 mul SS1 SS1 mul 1 add div sqrt mul neg def
+/p1y c2y p1x SS1 div sub def
+/SS2 90 theta sub dup sin exch cos div def
+/p2x r2 SS2 SS2 mul SS2 SS2 mul 1 add div sqrt mul def
+/p2y c2y p2x SS2 div sub def
+r1 r2 lt
+{
+/L1maxX p1x yMax p1y sub SS1 div add def
+/L2maxX p2x yMax p2y sub SS2 div add def
+}
+{
+/L1maxX 0 def
+/L2maxX 0 def
+}ifelse
+p1x p1y moveto p2x p2y lineto L2maxX L2maxX p2x sub SS2 mul p2y add lineto
+L1maxX L1maxX p1x sub SS1 mul p1y add lineto
+fill
+}
+ifelse
+}
+ifelse
+} ifelse
+} if
+grestore
+grestore
+end
+end
+end
+} ifelse
+} bd
+/GenStrips {
+40 dict begin
+/background exch def
+/ext1 exch def
+/ext0 exch def
+/BBox exch def
+/y2 exch def
+/x2 exch def
+/y1 exch def
+/x1 exch def
+/rampdict exch def
+gsave
+BBox length 0 gt {
+newpath
+BBox 0 get BBox 1 get moveto
+BBox 2 get BBox 0 get sub 0 rlineto
+0 BBox 3 get BBox 1 get sub rlineto
+BBox 2 get BBox 0 get sub neg 0 rlineto
+closepath
+clip
+newpath
+} if
+x1 x2 eq
+{
+y1 y2 lt {/theta 90 def}{/theta 270 def} ifelse
+}
+{
+/slope y2 y1 sub x2 x1 sub div def
+/theta slope 1 atan def
+x2 x1 lt y2 y1 ge and { /theta theta 180 sub def} if
+x2 x1 lt y2 y1 lt and { /theta theta 180 add def} if
+}
+ifelse
+gsave
+clippath
+x1 y1 translate
+theta rotate
+{ pathbbox } stopped
+{ 0 0 0 0 } if
+/yMax exch def
+/xMax exch def
+/yMin exch def
+/xMin exch def
+grestore
+xMax xMin eq yMax yMin eq or
+{
+grestore
+end
+}
+{
+rampdict begin
+20 dict begin
+background length 0 gt { background sssetbackground gsave clippath fill grestore } if
+gsave
+x1 y1 translate
+theta rotate
+/xStart 0 def
+/xEnd x2 x1 sub dup mul y2 y1 sub dup mul add 0.5 exp def
+/ySpan yMax yMin sub def
+/numsteps NumSamples def
+/rampIndxInc 1 def
+/subsampling false def
+xStart 0 transform
+xEnd 0 transform
+3 -1 roll
+sub dup mul
+3 1 roll
+sub dup mul
+add 0.5 exp 72 div
+0 72 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt
+72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt
+1 index 1 index lt { exch } if pop
+mul
+/numpix exch def
+numpix 0 ne
+{
+NumSamples numpix div 0.5 gt
+{
+/numsteps numpix 2 div round cvi dup 1 le { pop 2 } if def
+/rampIndxInc NumSamples 1 sub numsteps div def
+/subsampling true def
+} if
+} if
+ext0 {
+0 getrampcolor
+xMin xStart lt
+{ xMin yMin xMin neg ySpan rectfill } if
+} if
+/xInc xEnd xStart sub numsteps div def
+/x xStart def
+0
+numsteps
+{
+dup
+subsampling { round } if
+getrampcolor
+x yMin xInc ySpan rectfill
+/x x xInc add def
+rampIndxInc add
+}
+repeat
+pop
+ext1 {
+xMax xEnd gt
+{ xEnd yMin xMax xEnd sub ySpan rectfill } if
+} if
+grestore
+grestore
+end
+end
+end
+} ifelse
+} bd
+/currentdistillerparams where { pop currentdistillerparams /CoreDistVersion get 5000 lt}{true}ifelse
+{
+/PDFMark5 {cleartomark} bd
+}
+{
+/PDFMark5 {pdfmark} bd
+}ifelse
+/ReadByPDFMark5
+{
+2 dict begin
+/makerString exch def string /tmpString exch def
+{
+currentfile tmpString readline pop
+makerString anchorsearch
+{
+pop pop cleartomark exit
+}
+{
+3 copy /PUT PDFMark5 pop 2 copy (\n) /PUT PDFMark5
+} ifelse
+}loop
+end
+}bd
+%%EndResource
+%%BeginResource: procset sep_ops 6.0 1
+%%Copyright: Copyright 1987-2001 Adobe Systems Incorporated. All Rights Reserved.
+%%Title: Support for Separations in Level 1, following the conventions of Tech Note 5044
+userdict /sep_ops 50 dict dup begin put
+/bdef {bind def} bind def
+/xdef {exch def} bdef
+/colorimagebuffer {
+0 1 2 index length 1 sub {
+dup 2 index exch get 255 exch sub 2 index 3 1 roll put
+} for
+} bdef
+/addprocs {
+[ 3 1 roll
+/exec load
+dup 3 1 roll
+] cvx
+} bdef
+/L1? {
+systemdict /languagelevel known {
+systemdict /languagelevel get 2 lt
+}{
+true
+} ifelse
+} bdef
+/colorexists {
+statusdict /processcolors known {
+statusdict /processcolors get exec
+}{
+/deviceinfo where {
+pop deviceinfo /Colors known {
+deviceinfo /Colors get
+statusdict /processcolors {
+deviceinfo /Colors known {
+deviceinfo /Colors get
+}{
+1
+} ifelse
+} put
+}{
+1
+} ifelse
+}{
+1
+} ifelse
+} ifelse
+1 gt
+} bdef
+/colorplate colorexists { 0 } { 5 } ifelse def
+/negativecolorplate false def
+/setcmykcolor where {
+pop
+gsave
+1 0 0 0 setcmykcolor systemdict /currentgray get exec 1 exch sub
+0 1 0 0 setcmykcolor systemdict /currentgray get exec 1 exch sub
+0 0 1 0 setcmykcolor systemdict /currentgray get exec 1 exch sub
+0 0 0 1 setcmykcolor systemdict /currentgray get exec 1 exch sub
+4 {4 copy} repeat
+grestore
+1 dict begin
+/foureq {
+4 index eq 8 1 roll
+4 index eq 8 1 roll
+4 index eq 8 1 roll
+4 index eq 8 1 roll
+pop pop pop pop and and and
+} def
+1 0 0 0 foureq {/colorplate 1 store} if
+0 1 0 0 foureq {/colorplate 2 store} if
+0 0 1 0 foureq {/colorplate 3 store} if
+0 0 0 1 foureq {/colorplate 4 store} if
+0 0 0 0 foureq {/colorplate 6 store} if
+end
+} if
+0 systemdict /currenttransfer get exec exec
+1 systemdict /currenttransfer get exec exec
+2 copy
+eq
+{
+/colorplate 6 store
+pop
+/negativecolorplate exch 0.5 lt store
+}
+{
+gt /negativecolorplate exch store
+}
+ifelse
+/findcmykcustomcolor where { pop }
+{
+/findcmykcustomcolor {
+[ 6 1 roll ] readonly
+} bdef
+} ifelse
+/setoverprint where {
+pop
+}{
+/setoverprint {
+pop
+} bdef
+} ifelse
+/currentoverprint where {
+pop
+}{
+/currentoverprint {
+false
+} bdef
+} ifelse
+/setcustomcolor where {
+pop
+}{
+L1? {
+/setcustomcolor {
+exch
+aload pop pop
+4 { 4 index mul 4 1 roll } repeat
+5 -1 roll pop
+setcmykcolor
+} bdef
+}{
+/setcustomcolor {
+exch
+[ exch /Separation exch dup 4 get exch /DeviceCMYK exch
+0 4 getinterval
+[ exch /dup load exch cvx {mul exch dup}
+/forall load /pop load dup] cvx
+] setcolorspace setcolor
+} bdef
+} ifelse
+} ifelse
+/ik 0 def
+/iy 0 def
+/im 0 def
+/ic 0 def
+/imagetint {
+ic .3 mul
+im .59 mul
+iy .11 mul
+ik add add add dup
+1 gt {pop 1} if
+} bdef
+/setcmykcolor where {
+pop
+}{
+/setcmykcolor {
+/ik xdef /iy xdef /im xdef /ic xdef
+imagetint
+1 exch sub setgray
+} bdef
+} ifelse
+/customcolorimage where {
+pop
+}{
+L1? {
+/customcolorimage{
+gsave
+colorexists {
+aload pop pop
+/ik xdef /iy xdef /im xdef /ic xdef
+currentcolortransfer
+{ik mul ik sub 1 add} addprocs
+4 1 roll {iy mul iy sub 1 add} addprocs
+4 1 roll {im mul im sub 1 add} addprocs
+4 1 roll {ic mul ic sub 1 add} addprocs
+4 1 roll setcolortransfer
+/magentabuf 0 string def
+/yellowbuf 0 string def
+/blackbuf 0 string def
+{
+colorimagebuffer dup length magentabuf length ne
+{
+dup length dup dup
+/magentabuf exch string def
+/yellowbuf exch string def
+/blackbuf exch string def
+} if
+dup magentabuf copy yellowbuf copy
+blackbuf copy pop
+} addprocs
+{magentabuf}{yellowbuf}{blackbuf} true 4 colorimage
+}{
+aload pop pop /ik xdef /iy xdef /im xdef /ic xdef /tint
+imagetint def
+currenttransfer
+{tint mul 1 tint sub add} addprocs settransfer image
+} ifelse
+grestore
+} bdef
+}{
+/customcolorimage {
+gsave
+[ exch /Separation exch dup 4 get exch /DeviceCMYK exch
+0 4 getinterval
+[ exch /dup load exch cvx {mul exch dup}
+/forall load /pop load dup] cvx
+] setcolorspace
+10 dict begin
+/ImageType 1 def
+/DataSource exch def
+/ImageMatrix exch def
+/BitsPerComponent exch def
+/Height exch def
+/Width exch def
+/Decode [1 0] def
+currentdict end
+image
+grestore
+} bdef
+} ifelse
+} ifelse
+/setseparationgray where {
+pop
+}{
+L1? {
+/setseparationgray { 1 exch sub dup dup dup setcmykcolor } bdef
+}{
+/setseparationgray {
+[/Separation /All /DeviceCMYK {dup dup dup}] setcolorspace
+1 exch sub setcolor
+} bdef
+} ifelse
+} ifelse
+/separationimage where { pop }
+{
+/separationimage {
+gsave
+1 1 1 1 (All)
+findcmykcustomcolor customcolorimage
+grestore
+} bdef
+} ifelse
+currentdict readonly pop end
+%%EndResource
+%%BeginResource: procset pdflev15044 6.0 1
+%%Copyright: Copyright 1987-2002 Adobe Systems Incorporated. All Rights Reserved.
+%%Title: PDF operators, Level 1, with emulated separations (TN 5044)
+/_ColorSep5044? true dd
+/docinitialize {
+PDF begin
+/_defaulthalftone
+/currenthalftone where
+{ pop currenthalftone }
+{ 4 dict dup begin
+currentscreen
+/SpotFunction exch def
+/Angle exch def
+/Frequency exch def
+/HalftoneType 1 def
+end }
+ifelse
+dd
+/currentcolortransfer where
+{ pop /_defaultcolortransfer [ currentcolortransfer ] dd }
+{ /_defaultcolortransfer [currenttransfer dup dup dup] dd }
+ifelse
+end
+} bd
+/initialize {
+/overprintstack null dd
+sep_ops begin
+50 dict begin
+_defaulthalftone sethalftone
+} bd
+/terminate {
+end end
+} bd
+/currentcolortransfer where
+{ pop }
+{
+/setcolortransfer
+{
+settransfer pop pop pop
+} bd
+} ifelse
+/pl {
+transform
+0.25 sub round 0.25 add exch
+0.25 sub round 0.25 add exch
+itransform
+} bd
+/m { _sa? { pl } if moveto } bd
+/l { _sa? { pl } if lineto } bd
+/c
+{
+_sa? {3 {pl 6 2 roll} repeat} if
+curveto
+} bd
+/ri/pop ld
+/setSA { /_sa? xdd } bd
+/re
+{
+_sa?
+{
+8 dict begin
+/:h exch def
+/:w exch def
+/:y exch def
+/:x exch def
+:x :y pl
+/:ymin exch def /:xmin exch def
+:x :w add :y :h add pl
+/:ymax exch def /:xmax exch def
+:xmin :ymin moveto
+:xmax :ymin lineto
+:xmax :ymax lineto
+:xmin :ymax lineto
+closepath
+end
+}
+{
+4 2 roll moveto
+1 index 0 rlineto
+0 exch rlineto
+neg 0 rlineto
+closepath
+} ifelse
+} bd
+/q
+{
+gsave
+[currentoverprint overprintstack] /overprintstack xdd
+}
+[/overprintstack] bld
+/Q
+{
+overprintstack aload pop /overprintstack xdd setoverprint
+grestore
+}
+[/overprintstack] bld
+/AlmostFull?
+{ dup maxlength exch length sub 2 le
+} bd
+/Expand
+{ 1 index maxlength mul cvi dict
+dup begin exch { def } forall end
+} bd
+/xput
+{ 3 2 roll
+dup 3 index known not
+{ dup AlmostFull? { 1.5 Expand } if
+} if
+dup 4 2 roll put
+} bd
+/defineRes
+{ _categories 1 index known not
+{ /_categories _categories 2 index 10 dict xput store
+} if
+_categories exch 2 copy get 5 -1 roll 4 index xput put
+} bd
+/undefineRes {
+null exch
+defineRes
+} bd
+/findRes {
+_categories exch get exch get
+} bd
+/L1setcolor {
+aload length
+dup 0 eq
+{ pop .5 setgray }
+{ dup 1 eq
+{ pop setgray }
+{ 3 eq
+{ setrgbcolor }
+{ setcmykcolor }
+ifelse }
+ifelse }
+ifelse
+} bind dd
+/concattransferfuncs {
+[ 3 1 roll /exec load exch /exec load ] cvx
+} bd
+/concatandsettransfer {
+/_defaulttransfer load concattransferfuncs settransfer
+} bd
+/concatandsetcolortransfer {
+colorplate 0 eq
+{
+_defaultcolortransfer aload pop
+8 -1 roll 5 -1 roll concattransferfuncs 7 1 roll
+6 -1 roll 4 -1 roll concattransferfuncs 5 1 roll
+4 -1 roll 3 -1 roll concattransferfuncs 3 1 roll
+concattransferfuncs
+setcolortransfer
+} if
+colorplate 1 ge colorplate 4 le and
+{
+4 colorplate sub index 4 { exch pop } repeat
+concatandsettransfer
+} if
+colorplate 5 ge
+{
+0 index 4 { exch pop } repeat
+concatandsettransfer
+} if
+} bd
+/tn5044sethalftone
+{
+begin
+HalftoneType 5 eq
+{ [/Default /Cyan /Magenta /Yellow /Black /Default /Default /Default]
+colorplate get
+here not {
+/Default here not { currentdict } if
+} if
+}
+{ currentdict }
+ifelse
+end
+begin
+/TransferFunction here
+{
+concatandsettransfer
+currentdict dup length dict
+begin
+{
+1 index /TransferFunction ne { def } { pop pop } ifelse
+} forall
+currentdict
+end
+}
+{
+currentdict
+} ifelse
+end
+sethalftone
+} bd
+/paintimage
+{
+colorplate 0 eq
+{
+{ {currentfile cyanstr readstring pop}
+{currentfile magentastr readstring pop}
+{currentfile yellowstr readstring pop}
+{currentfile blackstr readstring pop
+currentfile graystr readstring pop pop}
+}
+{ {currentfile cyanstr readhexstring pop}
+{currentfile magentastr readhexstring pop}
+{currentfile yellowstr readhexstring pop}
+{currentfile blackstr readhexstring pop
+currentfile graystr readhexstring pop pop}
+} ifelse
+true 4 colorimage
+}
+{
+3 dict begin
+/binaryOK exch def
+[
+1 1 5 {
+dup
+/currentfile cvx
+[ /cyanstr /magentastr /yellowstr /blackstr /graystr ]
+3 -1 roll 1 sub get cvx
+binaryOK { /readstring } { /readhexstring } ifelse cvx
+/pop cvx
+5 -1 roll
+colorplate dup 5 gt { pop 5 } if
+eq not { /pop cvx } if
+} for
+] cvx bind
+end
+[
+colorplate 6 eq {
+/pop cvx
+negativecolorplate { 0 } { 1 } ifelse
+} if
+colorplate 4 le
+{
+1 /exch cvx /sub cvx
+} if
+colorplate 6 ne
+{
+systemdict /currenttransfer get exec
+aload pop
+} if
+] cvx
+gsave
+systemdict /settransfer get exec
+systemdict /image get exec
+grestore
+} ifelse
+} bd
+%%EndResource
+%%BeginResource: procset pdftext 6.0 1
+%%Copyright: Copyright 1987-2001 Adobe Systems Incorporated. All Rights Reserved.
+%%Title: Text operators for PDF
+PDF /PDFText 78 dict dup begin put
+/docinitialize
+{
+/resourcestatus where {
+pop
+/CIDParams /ProcSet resourcestatus {
+pop pop
+false /CIDParams /ProcSet findresource /SetBuildCompatible get exec
+} if
+} if
+PDF begin
+PDFText /_pdfDefineIdentity-H known
+{ PDFText /_pdfDefineIdentity-H get exec}
+if
+end
+} bd
+/initialize {
+PDFText begin
+} bd
+/terminate { end } bd
+Level2?
+{
+/_safeput
+{
+3 -1 roll load 3 1 roll put
+}
+bd
+}
+{
+/_safeput
+{
+2 index load dup dup length exch maxlength ge
+{ dup length 5 add dict copy
+3 index xdd
+}
+{ pop }
+ifelse
+3 -1 roll load 3 1 roll put
+}
+bd
+}
+ifelse
+/pdf_has_composefont? systemdict /composefont known def
+/CopyFont {
+{
+1 index /FID ne 2 index /UniqueID ne and
+{ def } { pop pop } ifelse
+} forall
+} bd
+/Type0CopyFont
+{
+exch
+dup length dict
+begin
+CopyFont
+[
+exch
+FDepVector
+{
+dup /FontType get 0 eq
+{
+1 index Type0CopyFont
+/_pdfType0 exch definefont
+}
+{
+/_pdfBaseFont exch
+2 index exec
+}
+ifelse
+exch
+}
+forall
+pop
+]
+/FDepVector exch def
+currentdict
+end
+} bd
+Level2? {currentglobal true setglobal} if
+/cHexEncoding
+[/c00/c01/c02/c03/c04/c05/c06/c07/c08/c09/c0A/c0B/c0C/c0D/c0E/c0F/c10/c11/c12
+/c13/c14/c15/c16/c17/c18/c19/c1A/c1B/c1C/c1D/c1E/c1F/c20/c21/c22/c23/c24/c25
+/c26/c27/c28/c29/c2A/c2B/c2C/c2D/c2E/c2F/c30/c31/c32/c33/c34/c35/c36/c37/c38
+/c39/c3A/c3B/c3C/c3D/c3E/c3F/c40/c41/c42/c43/c44/c45/c46/c47/c48/c49/c4A/c4B
+/c4C/c4D/c4E/c4F/c50/c51/c52/c53/c54/c55/c56/c57/c58/c59/c5A/c5B/c5C/c5D/c5E
+/c5F/c60/c61/c62/c63/c64/c65/c66/c67/c68/c69/c6A/c6B/c6C/c6D/c6E/c6F/c70/c71
+/c72/c73/c74/c75/c76/c77/c78/c79/c7A/c7B/c7C/c7D/c7E/c7F/c80/c81/c82/c83/c84
+/c85/c86/c87/c88/c89/c8A/c8B/c8C/c8D/c8E/c8F/c90/c91/c92/c93/c94/c95/c96/c97
+/c98/c99/c9A/c9B/c9C/c9D/c9E/c9F/cA0/cA1/cA2/cA3/cA4/cA5/cA6/cA7/cA8/cA9/cAA
+/cAB/cAC/cAD/cAE/cAF/cB0/cB1/cB2/cB3/cB4/cB5/cB6/cB7/cB8/cB9/cBA/cBB/cBC/cBD
+/cBE/cBF/cC0/cC1/cC2/cC3/cC4/cC5/cC6/cC7/cC8/cC9/cCA/cCB/cCC/cCD/cCE/cCF/cD0
+/cD1/cD2/cD3/cD4/cD5/cD6/cD7/cD8/cD9/cDA/cDB/cDC/cDD/cDE/cDF/cE0/cE1/cE2/cE3
+/cE4/cE5/cE6/cE7/cE8/cE9/cEA/cEB/cEC/cED/cEE/cEF/cF0/cF1/cF2/cF3/cF4/cF5/cF6
+/cF7/cF8/cF9/cFA/cFB/cFC/cFD/cFE/cFF] def
+Level2? {setglobal} if
+/modEnc {
+/_enc xdd
+/_icode 0 dd
+counttomark 1 sub -1 0
+{
+index
+dup type /nametype eq
+{
+_enc _icode 3 -1 roll put
+_icode 1 add
+}
+if
+/_icode xdd
+} for
+cleartomark
+_enc
+} bd
+/trEnc {
+/_enc xdd
+255 -1 0 {
+exch dup -1 eq
+{ pop /.notdef }
+{ Encoding exch get }
+ifelse
+_enc 3 1 roll put
+} for
+pop
+_enc
+} bd
+/TE {
+/_i xdd
+StandardEncoding 256 array copy modEnc
+_pdfEncodings exch _i exch put
+} bd
+Level2?
+{
+/pdfPatchCStrings
+{
+currentdict /CharStrings known currentdict /FontType known and
+{
+FontType 1 eq CharStrings type /dicttype eq and
+{
+CharStrings /mu known CharStrings /mu1 known not and CharStrings wcheck and
+{
+CharStrings /mu get
+type /stringtype eq
+{
+currentglobal
+CharStrings /mu1
+CharStrings /mu get
+dup gcheck setglobal
+dup length string copy
+put
+setglobal
+} if
+} if
+} if
+} if
+} bd
+}
+{ /pdfPatchCStrings {} bd }
+ifelse
+/TZ
+{
+/_usePDFEncoding xdd
+findfont
+dup length 6 add dict
+begin
+{
+1 index /FID ne { def } { pop pop } ifelse
+} forall
+pdfPatchCStrings
+/pdf_origFontName FontName def
+/FontName exch def
+currentdict /PaintType known
+{ PaintType 2 eq {/PaintType 0 def} if }
+if
+_usePDFEncoding 0 ge
+{
+/Encoding _pdfEncodings _usePDFEncoding get def
+pop
+}
+{
+_usePDFEncoding -1 eq
+{
+counttomark 0 eq
+{ pop }
+{
+Encoding 256 array copy
+modEnc /Encoding exch def
+}
+ifelse
+}
+{
+256 array
+trEnc /Encoding exch def
+}
+ifelse
+}
+ifelse
+pdf_EuroProcSet pdf_origFontName known
+{
+pdf_origFontName pdf_AddEuroGlyphProc
+} if
+Level2?
+{
+currentdict /pdf_origFontName undef
+} if
+FontName currentdict
+end
+definefont pop
+}
+bd
+Level2?
+{
+/TZG
+{
+currentglobal true setglobal
+2 index _pdfFontStatus
+{
+2 index findfont
+false setglobal
+3 index findfont
+true setglobal
+ne
+{
+2 index findfont dup rcheck
+{
+dup length dict begin
+{
+1 index /FID ne { def } { pop pop } ifelse
+} forall
+pdfPatchCStrings
+currentdict end
+}
+if
+3 index exch definefont pop
+}
+if
+} if
+setglobal
+TZ
+} bd
+}
+{
+/TZG {TZ} bd
+} ifelse
+Level2?
+{
+currentglobal false setglobal
+userdict /pdftext_data 5 dict put
+pdftext_data
+begin
+/saveStacks
+{
+pdftext_data
+begin
+/vmmode currentglobal def
+false setglobal
+count array astore /os exch def
+end
+countdictstack array dictstack pdftext_data exch /ds exch put
+cleardictstack pdftext_data /dscount countdictstack put
+pdftext_data /vmmode get setglobal
+} bind def
+/restoreStacks
+{
+pdftext_data /vmmode currentglobal put false setglobal
+clear cleardictstack
+pdftext_data /ds get dup
+pdftext_data /dscount get 1 2 index length 1 sub
+{ get begin dup } for
+pop pop
+pdftext_data /os get aload pop
+pdftext_data /vmmode get setglobal
+} bind def
+/testForClonePrinterBug
+{
+currentglobal true setglobal
+/undefinedCategory /Generic /Category findresource
+dup length dict copy /Category defineresource pop
+setglobal
+pdftext_data /saveStacks get exec
+pdftext_data /vmmode currentglobal put false setglobal
+/undefined /undefinedCategory { resourcestatus } stopped
+pdftext_data exch /bugFound exch put
+pdftext_data /vmmode get setglobal
+pdftext_data /restoreStacks get exec
+pdftext_data /bugFound get
+} bind def
+end
+setglobal
+/pdf_resourcestatus
+pdftext_data /testForClonePrinterBug get exec
+{
+{
+pdftext_data /saveStacks get exec
+pdftext_data /os get dup dup length 1 sub
+dup 1 sub dup 0 lt { pop 0 } if
+exch 1 exch { get exch dup } for
+pop pop
+{ resourcestatus }
+stopped
+{
+clear cleardictstack pdftext_data /restoreStacks get exec
+{ pop pop } stopped pop false
+}
+{
+count array astore pdftext_data exch /results exch put
+pdftext_data /restoreStacks get exec pop pop
+pdftext_data /results get aload pop
+}
+ifelse
+}
+}
+{ { resourcestatus } }
+ifelse
+bd
+}
+if
+Level2?
+{
+/_pdfUndefineResource
+{
+currentglobal 3 1 roll
+_pdf_FontDirectory 2 index 2 copy known
+{undef}
+{pop pop}
+ifelse
+1 index (pdf) exch _pdfConcatNames 1 index
+1 index 1 _pdfConcatNames 1 index
+5 index 1 _pdfConcatNames 1 index
+4
+{
+2 copy pdf_resourcestatus
+{
+pop 2 lt
+{2 copy findresource gcheck setglobal undefineresource}
+{pop pop}
+ifelse
+}
+{ pop pop}
+ifelse
+} repeat
+setglobal
+} bd
+}
+{
+/_pdfUndefineResource { pop pop} bd
+}
+ifelse
+Level2?
+{
+/_pdfFontStatus
+{
+currentglobal exch
+/Font pdf_resourcestatus
+{pop pop true}
+{false}
+ifelse
+exch setglobal
+} bd
+}
+{
+/_pdfFontStatusString 50 string def
+_pdfFontStatusString 0 (fonts/) putinterval
+/_pdfFontStatus
+{
+FontDirectory 1 index known
+{ pop true }
+{
+_pdfFontStatusString 6 42 getinterval
+cvs length 6 add
+_pdfFontStatusString exch 0 exch getinterval
+{ status } stopped
+{pop false}
+{
+{ pop pop pop pop true}
+{ false }
+ifelse
+}
+ifelse
+}
+ifelse
+} bd
+}
+ifelse
+Level2?
+{
+/_pdfCIDFontStatus
+{
+/CIDFont /Category pdf_resourcestatus
+{
+pop pop
+/CIDFont pdf_resourcestatus
+{pop pop true}
+{false}
+ifelse
+}
+{ pop false }
+ifelse
+} bd
+}
+if
+/_pdfString100 100 string def
+/_pdfComposeFontName
+{
+dup length 1 eq
+{
+0 get
+1 index
+type /nametype eq
+{
+_pdfString100 cvs
+length dup dup _pdfString100 exch (-) putinterval
+_pdfString100 exch 1 add dup _pdfString100 length exch sub getinterval
+2 index exch cvs length
+add 1 add _pdfString100 exch 0 exch getinterval
+exch pop
+true
+}
+{
+pop pop
+false
+}
+ifelse
+}
+{
+false
+}
+ifelse
+dup {exch cvn exch} if
+} bd
+/_pdfConcatNames
+{
+exch
+_pdfString100 cvs
+length dup dup _pdfString100 exch (-) putinterval
+_pdfString100 exch 1 add dup _pdfString100 length exch sub getinterval
+3 -1 roll exch cvs length
+add 1 add _pdfString100 exch 0 exch getinterval
+cvn
+} bind def
+/_pdfTextTempString 50 string def
+/_pdfRegOrderingArray [(Adobe-Japan1) (Adobe-CNS1) (Adobe-Korea1) (Adobe-GB1)] def
+/_pdf_CheckCIDSystemInfo
+{
+1 index _pdfTextTempString cvs
+(Identity) anchorsearch
+{
+pop pop pop pop true
+}
+{
+false
+_pdfRegOrderingArray
+{
+2 index exch
+anchorsearch
+{ pop pop pop true exit}
+{ pop }
+ifelse
+}
+forall
+exch pop
+exch /CIDFont findresource
+/CIDSystemInfo get
+3 -1 roll /CMap findresource
+/CIDSystemInfo get
+exch
+3 -1 roll
+{
+2 copy
+/Supplement get
+exch
+dup type /dicttype eq
+{/Supplement get}
+{pop 0 }
+ifelse
+ge
+}
+{ true }
+ifelse
+{
+dup /Registry get
+2 index /Registry get eq
+{
+/Ordering get
+exch /Ordering get
+dup type /arraytype eq
+{
+1 index type /arraytype eq
+{
+true
+1 index length 1 sub -1 0
+{
+dup 2 index exch get exch 3 index exch get ne
+{ pop false exit}
+if
+} for
+exch pop exch pop
+}
+{ pop pop false }
+ifelse
+}
+{
+eq
+}
+ifelse
+}
+{ pop pop false }
+ifelse
+}
+{ pop pop false }
+ifelse
+}
+ifelse
+} bind def
+pdf_has_composefont?
+{
+/_pdfComposeFont
+{
+2 copy _pdfComposeFontName not
+{
+2 index
+}
+if
+(pdf) exch _pdfConcatNames
+dup _pdfFontStatus
+{ dup findfont 5 2 roll pop pop pop true}
+{
+4 1 roll
+1 index /CMap pdf_resourcestatus
+{
+pop pop
+true
+}
+{false}
+ifelse
+1 index true exch
+{
+_pdfCIDFontStatus not
+{pop false exit}
+if
+}
+forall
+and
+{
+1 index 1 index 0 get _pdf_CheckCIDSystemInfo
+{
+3 -1 roll pop
+2 index 3 1 roll
+composefont true
+}
+{
+pop pop exch pop false
+}
+ifelse
+}
+{
+_pdfComposeFontName
+{
+dup _pdfFontStatus
+{
+exch pop
+1 index exch
+findfont definefont true
+}
+{
+pop exch pop
+false
+}
+ifelse
+}
+{
+exch pop
+false
+}
+ifelse
+}
+ifelse
+{ true }
+{
+dup _pdfFontStatus
+{ dup findfont true }
+{ pop false }
+ifelse
+}
+ifelse
+}
+ifelse
+} bd
+}
+{
+/_pdfComposeFont
+{
+_pdfComposeFontName not
+{
+dup
+}
+if
+dup
+_pdfFontStatus
+{exch pop dup findfont true}
+{
+1 index
+dup type /nametype eq
+{pop}
+{cvn}
+ifelse
+eq
+{pop false}
+{
+dup _pdfFontStatus
+{dup findfont true}
+{pop false}
+ifelse
+}
+ifelse
+}
+ifelse
+} bd
+}
+ifelse
+/_pdfStyleDicts 4 dict dup begin
+/Adobe-Japan1 4 dict dup begin
+Level2?
+{
+/Serif
+/HeiseiMin-W3-83pv-RKSJ-H _pdfFontStatus
+{/HeiseiMin-W3}
+{
+/HeiseiMin-W3 _pdfCIDFontStatus
+{/HeiseiMin-W3}
+{/Ryumin-Light}
+ifelse
+}
+ifelse
+def
+/SansSerif
+/HeiseiKakuGo-W5-83pv-RKSJ-H _pdfFontStatus
+{/HeiseiKakuGo-W5}
+{
+/HeiseiKakuGo-W5 _pdfCIDFontStatus
+{/HeiseiKakuGo-W5}
+{/GothicBBB-Medium}
+ifelse
+}
+ifelse
+def
+/HeiseiMaruGo-W4-83pv-RKSJ-H _pdfFontStatus
+{/HeiseiMaruGo-W4}
+{
+/HeiseiMaruGo-W4 _pdfCIDFontStatus
+{/HeiseiMaruGo-W4}
+{
+/Jun101-Light-RKSJ-H _pdfFontStatus
+{ /Jun101-Light }
+{ SansSerif }
+ifelse
+}
+ifelse
+}
+ifelse
+/RoundSansSerif exch def
+/Default Serif def
+}
+{
+/Serif /Ryumin-Light def
+/SansSerif /GothicBBB-Medium def
+{
+(fonts/Jun101-Light-83pv-RKSJ-H) status
+}stopped
+{pop}{
+{ pop pop pop pop /Jun101-Light }
+{ SansSerif }
+ifelse
+/RoundSansSerif exch def
+}ifelse
+/Default Serif def
+}
+ifelse
+end
+def
+/Adobe-Korea1 4 dict dup begin
+/Serif /HYSMyeongJo-Medium def
+/SansSerif /HYGoThic-Medium def
+/RoundSansSerif SansSerif def
+/Default Serif def
+end
+def
+/Adobe-GB1 4 dict dup begin
+/Serif /STSong-Light def
+/SansSerif /STHeiti-Regular def
+/RoundSansSerif SansSerif def
+/Default Serif def
+end
+def
+/Adobe-CNS1 4 dict dup begin
+/Serif /MKai-Medium def
+/SansSerif /MHei-Medium def
+/RoundSansSerif SansSerif def
+/Default Serif def
+end
+def
+end
+def
+/TZzero
+{
+/_wmode xdd
+/_styleArr xdd
+/_regOrdering xdd
+3 copy
+_pdfComposeFont
+{
+5 2 roll pop pop pop
+}
+{
+[
+0 1 _styleArr length 1 sub
+{
+_styleArr exch get
+_pdfStyleDicts _regOrdering 2 copy known
+{
+get
+exch 2 copy known not
+{ pop /Default }
+if
+get
+}
+{
+pop pop pop /Unknown
+}
+ifelse
+}
+for
+]
+exch pop
+2 index 3 1 roll
+_pdfComposeFont
+{3 -1 roll pop}
+{
+findfont dup /FontName get exch
+}
+ifelse
+}
+ifelse
+dup /WMode 2 copy known
+{ get _wmode ne }
+{ pop pop _wmode 1 eq}
+ifelse
+{
+exch _wmode _pdfConcatNames
+dup _pdfFontStatus
+{ exch pop dup findfont false}
+{ exch true }
+ifelse
+}
+{
+dup /FontType get 0 ne
+}
+ifelse
+{
+dup /FontType get 3 eq _wmode 1 eq and
+{
+_pdfVerticalRomanT3Font dup length 10 add dict copy
+begin
+/_basefont exch
+dup length 3 add dict
+begin
+{1 index /FID ne {def}{pop pop} ifelse }
+forall
+/Encoding Encoding dup length array copy
+dup 16#27 /quotesingle put
+dup 16#60 /grave put
+_regOrdering /Adobe-Japan1 eq
+{dup 16#5c /yen put dup 16#a5 /yen put dup 16#b4 /yen put}
+if
+def
+FontName
+currentdict
+end
+definefont
+def
+/Encoding _basefont /Encoding get def
+/_fauxfont true def
+}
+{
+dup length 3 add dict
+begin
+{1 index /FID ne {def}{pop pop} ifelse }
+forall
+FontType 0 ne
+{
+/Encoding Encoding dup length array copy
+dup 16#27 /quotesingle put
+dup 16#60 /grave put
+_regOrdering /Adobe-Japan1 eq
+{dup 16#5c /yen put}
+if
+def
+/_fauxfont true def
+} if
+} ifelse
+/WMode _wmode def
+dup dup /FontName exch def
+currentdict
+end
+definefont pop
+}
+{
+pop
+}
+ifelse
+/_pdf_FontDirectory 3 1 roll _safeput
+}
+bd
+Level2?
+{
+/Tf {
+_pdf_FontDirectory 2 index 2 copy known
+{get exch 3 -1 roll pop}
+{pop pop}
+ifelse
+selectfont
+} bd
+}
+{
+/Tf {
+_pdf_FontDirectory 2 index 2 copy known
+{get exch 3 -1 roll pop}
+{pop pop}
+ifelse
+exch findfont exch
+dup type /arraytype eq
+{makefont}
+{scalefont}
+ifelse
+setfont
+} bd
+}
+ifelse
+/cshow where
+{
+pop /pdf_cshow /cshow load dd
+/pdf_remove2 {pop pop} dd
+}
+{
+/pdf_cshow {exch forall} dd
+/pdf_remove2 {} dd
+} ifelse
+/pdf_xshow
+{
+/_pdf_na xdd
+/_pdf_i 0 dd
+currentpoint
+/_pdf_y xdd
+/_pdf_x xdd
+{
+pdf_remove2
+_pdf_str1 exch 0 exch put
+_pdf_str1 /_pdf_showproc load exec
+{_pdf_na _pdf_i get} stopped
+{ pop pop }
+{
+_pdf_x _pdf_y moveto
+0
+rmoveto
+}
+ifelse
+_pdf_i 1 add /_pdf_i xdd
+currentpoint
+/_pdf_y xdd
+/_pdf_x xdd
+}
+exch
+pdf_cshow
+} bd
+/pdf_yshow
+{
+/_pdf_na xdd
+/_pdf_i 0 dd
+currentpoint
+/_pdf_y xdd
+/_pdf_x xdd
+{
+pdf_remove2
+_pdf_str1 exch 0 exch put
+_pdf_str1 /_pdf_showproc load exec
+{_pdf_na _pdf_i get} stopped
+{ pop pop }
+{
+_pdf_x _pdf_y moveto
+0 exch
+rmoveto
+}
+ifelse
+_pdf_i 1 add /_pdf_i xdd
+currentpoint
+/_pdf_y xdd
+/_pdf_x xdd
+}
+exch
+pdf_cshow
+} bd
+/pdf_xyshow
+{
+/_pdf_na xdd
+/_pdf_i 0 dd
+currentpoint
+/_pdf_y xdd
+/_pdf_x xdd
+{
+pdf_remove2
+_pdf_str1 exch 0 exch put
+_pdf_str1 /_pdf_showproc load exec
+{_pdf_na _pdf_i get} stopped
+{ pop pop }
+{
+{_pdf_na _pdf_i 1 add get} stopped
+{ pop pop pop}
+{
+_pdf_x _pdf_y moveto
+rmoveto
+}
+ifelse
+}
+ifelse
+_pdf_i 2 add /_pdf_i xdd
+currentpoint
+/_pdf_y xdd
+/_pdf_x xdd
+}
+exch
+pdf_cshow
+} bd
+/pdfl1xs {/_pdf_showproc /show load dd pdf_xshow} bd
+/pdfl1ys {/_pdf_showproc /show load dd pdf_yshow} bd
+/pdfl1xys {/_pdf_showproc /show load dd pdf_xyshow} bd
+Level2? _ColorSep5044? not and
+{
+/pdfxs {{xshow} stopped {pdfl1xs} if} bd
+/pdfys {{yshow} stopped {pdfl1ys} if} bd
+/pdfxys {{xyshow} stopped {pdfl1xys} if} bd
+}
+{
+/pdfxs /pdfl1xs load dd
+/pdfys /pdfl1ys load dd
+/pdfxys /pdfl1xys load dd
+} ifelse
+/pdf_charpath {false charpath} bd
+/pdf_xcharpath {/_pdf_showproc /pdf_charpath load dd pdf_xshow} bd
+/pdf_ycharpath {/_pdf_showproc /pdf_charpath load dd pdf_yshow} bd
+/pdf_xycharpath {/_pdf_showproc /pdf_charpath load dd pdf_xyshow} bd
+/pdf_strokepath
+{
+{
+pdf_remove2
+_pdf_str1 exch 0 exch put
+_pdf_str1 false charpath
+currentpoint S moveto
+} bind
+exch pdf_cshow
+} bd
+/pdf_xstrokepath {/_pdf_showproc {pdf_charpath S} dd pdf_xshow} bd
+/pdf_ystrokepath {/_pdf_showproc {pdf_charpath S} dd pdf_yshow} bd
+/pdf_xystrokepath {/_pdf_showproc {pdf_charpath S} dd pdf_xyshow} bd
+Level2? {currentglobal true setglobal} if
+/d0/setcharwidth ld
+/nND {{/.notdef} repeat} bd
+/T3Defs {
+/BuildChar
+{
+1 index /Encoding get exch get
+1 index /BuildGlyph get exec
+}
+def
+/BuildGlyph {
+exch begin
+GlyphProcs exch get exec
+end
+} def
+/_pdfT3Font true def
+} bd
+/_pdfBoldRomanWidthProc
+{
+stringwidth 1 index 0 ne { exch .03 add exch }if setcharwidth
+0 0
+} bd
+/_pdfType0WidthProc
+{
+dup stringwidth 0 0 moveto
+2 index true charpath pathbbox
+0 -1
+7 index 2 div .88
+setcachedevice2
+pop
+0 0
+} bd
+/_pdfType0WMode1WidthProc
+{
+dup stringwidth
+pop 2 div neg -0.88
+2 copy
+moveto
+0 -1
+5 -1 roll true charpath pathbbox
+setcachedevice
+} bd
+/_pdfBoldBaseFont
+11 dict begin
+/FontType 3 def
+/FontMatrix[1 0 0 1 0 0]def
+/FontBBox[0 0 1 1]def
+/Encoding cHexEncoding def
+/_setwidthProc /_pdfBoldRomanWidthProc load def
+/_bcstr1 1 string def
+/BuildChar
+{
+exch begin
+_basefont setfont
+_bcstr1 dup 0 4 -1 roll put
+dup
+_setwidthProc
+3 copy
+moveto
+show
+_basefonto setfont
+moveto
+show
+end
+}bd
+currentdict
+end
+def
+pdf_has_composefont?
+{
+/_pdfBoldBaseCIDFont
+11 dict begin
+/CIDFontType 1 def
+/CIDFontName /_pdfBoldBaseCIDFont def
+/FontMatrix[1 0 0 1 0 0]def
+/FontBBox[0 0 1 1]def
+/_setwidthProc /_pdfType0WidthProc load def
+/_bcstr2 2 string def
+/BuildGlyph
+{
+exch begin
+_basefont setfont
+_bcstr2 1 2 index 256 mod put
+_bcstr2 0 3 -1 roll 256 idiv put
+_bcstr2 dup _setwidthProc
+3 copy
+moveto
+show
+_basefonto setfont
+moveto
+show
+end
+}bd
+currentdict
+end
+def
+/_pdfDefineIdentity-H
+{
+/Identity-H /CMap PDFText /pdf_resourcestatus get exec
+{
+pop pop
+}
+{
+/CIDInit/ProcSet findresource begin 12 dict begin
+begincmap
+/CIDSystemInfo
+3 dict begin
+/Registry (Adobe) def
+/Ordering (Identity) def
+/Supplement 0 def
+currentdict
+end
+def
+/CMapName /Identity-H def
+/CMapVersion 1 def
+/CMapType 1 def
+1 begincodespacerange
+<0000> <ffff>
+endcodespacerange
+1 begincidrange
+<0000> <ffff> 0
+endcidrange
+endcmap
+CMapName currentdict/CMap defineresource pop
+end
+end
+} ifelse
+} def
+} if
+/_pdfVerticalRomanT3Font
+10 dict begin
+/FontType 3 def
+/FontMatrix[1 0 0 1 0 0]def
+/FontBBox[0 0 1 1]def
+/_bcstr1 1 string def
+/BuildChar
+{
+exch begin
+_basefont setfont
+_bcstr1 dup 0 4 -1 roll put
+dup
+_pdfType0WidthProc
+moveto
+show
+end
+}bd
+currentdict
+end
+def
+Level2? {setglobal} if
+/MakeBoldFont
+{
+dup /ct_SyntheticBold known
+{
+dup length 3 add dict begin
+CopyFont
+/ct_StrokeWidth .03 0 FontMatrix idtransform pop def
+/ct_SyntheticBold true def
+currentdict
+end
+definefont
+}
+{
+dup dup length 3 add dict
+begin
+CopyFont
+/PaintType 2 def
+/StrokeWidth .03 0 FontMatrix idtransform pop def
+/dummybold currentdict
+end
+definefont
+dup /FontType get dup 9 ge exch 11 le and
+{
+_pdfBoldBaseCIDFont
+dup length 3 add dict copy begin
+dup /CIDSystemInfo get /CIDSystemInfo exch def
+/_Type0Identity /Identity-H 3 -1 roll [ exch ] composefont
+/_basefont exch def
+/_Type0Identity /Identity-H 3 -1 roll [ exch ] composefont
+/_basefonto exch def
+currentdict
+end
+/CIDFont defineresource
+}
+{
+_pdfBoldBaseFont
+dup length 3 add dict copy begin
+/_basefont exch def
+/_basefonto exch def
+currentdict
+end
+definefont
+}
+ifelse
+}
+ifelse
+} bd
+/MakeBold {
+1 index
+_pdf_FontDirectory 2 index 2 copy known
+{get}
+{exch pop}
+ifelse
+findfont
+dup
+/FontType get 0 eq
+{
+dup /WMode known {dup /WMode get 1 eq }{false} ifelse
+version length 4 ge
+and
+{version 0 4 getinterval cvi 2015 ge }
+{true}
+ifelse
+{/_pdfType0WidthProc}
+{/_pdfType0WMode1WidthProc}
+ifelse
+_pdfBoldBaseFont /_setwidthProc 3 -1 roll load put
+{MakeBoldFont} Type0CopyFont definefont
+}
+{
+dup /_fauxfont known not 1 index /SubstMaster known not and
+{
+_pdfBoldBaseFont /_setwidthProc /_pdfBoldRomanWidthProc load put
+MakeBoldFont
+}
+{
+2 index 2 index eq
+{ exch pop }
+{
+dup length dict begin
+CopyFont
+currentdict
+end
+definefont
+}
+ifelse
+}
+ifelse
+}
+ifelse
+pop pop
+dup /dummybold ne
+{/_pdf_FontDirectory exch dup _safeput }
+{ pop }
+ifelse
+}bd
+/MakeItalic {
+_pdf_FontDirectory exch 2 copy known
+{get}
+{exch pop}
+ifelse
+dup findfont
+dup /FontInfo 2 copy known
+{
+get
+/ItalicAngle 2 copy known
+{get 0 eq }
+{ pop pop true}
+ifelse
+}
+{ pop pop true}
+ifelse
+{
+exch pop
+dup /FontType get 0 eq Level2? not and
+{ dup /FMapType get 6 eq }
+{ false }
+ifelse
+{
+dup /WMode 2 copy known
+{
+get 1 eq
+{ _italMtx_WMode1Type0 }
+{ _italMtxType0 }
+ifelse
+}
+{ pop pop _italMtxType0 }
+ifelse
+}
+{
+dup /WMode 2 copy known
+{
+get 1 eq
+{ _italMtx_WMode1 }
+{ _italMtx }
+ifelse
+}
+{ pop pop _italMtx }
+ifelse
+}
+ifelse
+makefont
+dup /FontType get 42 eq Level2? not or
+{
+dup length dict begin
+CopyFont
+currentdict
+end
+}
+if
+1 index exch
+definefont pop
+/_pdf_FontDirectory exch dup _safeput
+}
+{
+pop
+2 copy ne
+{
+/_pdf_FontDirectory 3 1 roll _safeput
+}
+{ pop pop }
+ifelse
+}
+ifelse
+}bd
+/MakeBoldItalic {
+/dummybold exch
+MakeBold
+/dummybold
+MakeItalic
+}bd
+Level2?
+{
+/pdf_CopyDict
+{1 index length add dict copy}
+def
+}
+{
+/pdf_CopyDict
+{
+1 index length add dict
+1 index wcheck
+{ copy }
+{ begin
+{def} forall
+currentdict
+end
+}
+ifelse
+}
+def
+}
+ifelse
+/pdf_AddEuroGlyphProc
+{
+currentdict /CharStrings known
+{
+CharStrings /Euro known not
+{
+dup
+/CharStrings
+CharStrings 1 pdf_CopyDict
+begin
+/Euro pdf_EuroProcSet 4 -1 roll get def
+currentdict
+end
+def
+/pdf_PSBuildGlyph /pdf_PSBuildGlyph load def
+/pdf_PathOps /pdf_PathOps load def
+/Symbol eq Encoding 160 get /.notdef eq and
+{
+/Encoding Encoding dup length array copy
+dup 160 /Euro put def
+}
+if
+}
+{ pop
+}
+ifelse
+}
+{ pop
+}
+ifelse
+}
+def
+Level2? {currentglobal true setglobal} if
+/pdf_PathOps 4 dict dup begin
+/m {moveto} def
+/l {lineto} def
+/c {curveto} def
+/cp {closepath} def
+end
+def
+/pdf_PSBuildGlyph
+{
+gsave
+8 -1 roll pop
+7 1 roll
+currentdict /PaintType 2 copy known {get 2 eq}{pop pop false} ifelse
+dup 9 1 roll
+{
+currentdict /StrokeWidth 2 copy known
+{
+get 2 div
+5 1 roll
+4 -1 roll 4 index sub
+4 1 roll
+3 -1 roll 4 index sub
+3 1 roll
+exch 4 index add exch
+4 index add
+5 -1 roll pop
+}
+{
+pop pop
+}
+ifelse
+}
+if
+setcachedevice
+pdf_PathOps begin
+exec
+end
+{
+currentdict /StrokeWidth 2 copy known
+{ get }
+{ pop pop 0 }
+ifelse
+setlinewidth stroke
+}
+{
+fill
+}
+ifelse
+grestore
+} def
+/pdf_EuroProcSet 13 dict def
+pdf_EuroProcSet
+begin
+/Courier-Bold
+{
+600 0 6 -12 585 612
+{
+385 274 m
+180 274 l
+179 283 179 293 179 303 c
+179 310 179 316 180 323 c
+398 323 l
+423 404 l
+197 404 l
+219 477 273 520 357 520 c
+409 520 466 490 487 454 c
+487 389 l
+579 389 l
+579 612 l
+487 612 l
+487 560 l
+449 595 394 612 349 612 c
+222 612 130 529 98 404 c
+31 404 l
+6 323 l
+86 323 l
+86 304 l
+86 294 86 284 87 274 c
+31 274 l
+6 193 l
+99 193 l
+129 77 211 -12 359 -12 c
+398 -12 509 8 585 77 c
+529 145 l
+497 123 436 80 356 80 c
+285 80 227 122 198 193 c
+360 193 l
+cp
+600 0 m
+}
+pdf_PSBuildGlyph
+} def
+/Courier-BoldOblique /Courier-Bold load def
+/Courier
+{
+600 0 17 -12 578 584
+{
+17 204 m
+97 204 l
+126 81 214 -12 361 -12 c
+440 -12 517 17 578 62 c
+554 109 l
+501 70 434 43 366 43 c
+266 43 184 101 154 204 c
+380 204 l
+400 259 l
+144 259 l
+144 270 143 281 143 292 c
+143 299 143 307 144 314 c
+418 314 l
+438 369 l
+153 369 l
+177 464 249 529 345 529 c
+415 529 484 503 522 463 c
+522 391 l
+576 391 l
+576 584 l
+522 584 l
+522 531 l
+473 566 420 584 348 584 c
+216 584 122 490 95 369 c
+37 369 l
+17 314 l
+87 314 l
+87 297 l
+87 284 88 272 89 259 c
+37 259 l
+cp
+600 0 m
+}
+pdf_PSBuildGlyph
+} def
+/Courier-Oblique /Courier load def
+/Helvetica
+{
+556 0 24 -19 541 703
+{
+541 628 m
+510 669 442 703 354 703 c
+201 703 117 607 101 444 c
+50 444 l
+25 372 l
+97 372 l
+97 301 l
+49 301 l
+24 229 l
+103 229 l
+124 67 209 -19 350 -19 c
+435 -19 501 25 509 32 c
+509 131 l
+492 105 417 60 343 60 c
+267 60 204 127 197 229 c
+406 229 l
+430 301 l
+191 301 l
+191 372 l
+455 372 l
+479 444 l
+194 444 l
+201 531 245 624 348 624 c
+433 624 484 583 509 534 c
+cp
+556 0 m
+}
+pdf_PSBuildGlyph
+} def
+/Helvetica-Oblique /Helvetica load def
+/Helvetica-Bold
+{
+556 0 12 -19 563 710
+{
+563 621 m
+537 659 463 710 363 710 c
+216 710 125 620 101 462 c
+51 462 l
+12 367 l
+92 367 l
+92 346 l
+92 337 93 328 93 319 c
+52 319 l
+12 224 l
+102 224 l
+131 58 228 -19 363 -19 c
+417 -19 471 -12 517 18 c
+517 146 l
+481 115 426 93 363 93 c
+283 93 254 166 246 224 c
+398 224 l
+438 319 l
+236 319 l
+236 367 l
+457 367 l
+497 462 l
+244 462 l
+259 552 298 598 363 598 c
+425 598 464 570 486 547 c
+507 526 513 517 517 509 c
+cp
+556 0 m
+}
+pdf_PSBuildGlyph
+} def
+/Helvetica-BoldOblique /Helvetica-Bold load def
+/Symbol
+{
+750 0 20 -12 714 685
+{
+714 581 m
+650 645 560 685 465 685 c
+304 685 165 580 128 432 c
+50 432 l
+20 369 l
+116 369 l
+115 356 115 347 115 337 c
+115 328 115 319 116 306 c
+50 306 l
+20 243 l
+128 243 l
+165 97 300 -12 465 -12 c
+560 -12 635 25 685 65 c
+685 155 l
+633 91 551 51 465 51 c
+340 51 238 131 199 243 c
+555 243 l
+585 306 l
+184 306 l
+183 317 182 326 182 336 c
+182 346 183 356 184 369 c
+614 369 l 644 432 l
+199 432 l
+233 540 340 622 465 622 c
+555 622 636 580 685 520 c
+cp
+750 0 m
+}
+pdf_PSBuildGlyph
+} def
+/Times-Bold
+{
+500 0 16 -14 478 700
+{
+367 308 m
+224 308 l
+224 368 l
+375 368 l
+380 414 l
+225 414 l
+230 589 257 653 315 653 c
+402 653 431 521 444 457 c
+473 457 l
+473 698 l
+444 697 l
+441 679 437 662 418 662 c
+393 662 365 700 310 700 c
+211 700 97 597 73 414 c
+21 414 l
+16 368 l
+69 368 l
+69 359 68 350 68 341 c
+68 330 68 319 69 308 c
+21 308 l
+16 262 l
+73 262 l
+91 119 161 -14 301 -14 c
+380 -14 443 50 478 116 c
+448 136 l
+415 84 382 40 323 40 c
+262 40 231 77 225 262 c
+362 262 l
+cp
+500 0 m
+}
+pdf_PSBuildGlyph
+} def
+/Times-BoldItalic
+{
+500 0 9 -20 542 686
+{
+542 686 m
+518 686 l
+513 673 507 660 495 660 c
+475 660 457 683 384 683 c
+285 683 170 584 122 430 c
+58 430 l
+34 369 l
+105 369 l
+101 354 92 328 90 312 c
+34 312 l
+9 251 l
+86 251 l
+85 238 84 223 84 207 c
+84 112 117 -14 272 -14 c
+326 -14 349 9 381 9 c
+393 9 393 -10 394 -20 c
+420 -20 l
+461 148 l
+429 148 l
+416 109 362 15 292 15 c
+227 15 197 55 197 128 c
+197 162 204 203 216 251 c
+378 251 l
+402 312 l
+227 312 l
+229 325 236 356 241 369 c
+425 369 l
+450 430 l
+255 430 l
+257 435 264 458 274 488 c
+298 561 337 654 394 654 c
+437 654 484 621 484 530 c
+484 516 l
+516 516 l
+cp
+500 0 m
+}
+pdf_PSBuildGlyph
+} def
+/Times-Italic
+{
+500 0 23 -10 595 692
+{
+399 317 m
+196 317 l
+199 340 203 363 209 386 c
+429 386 l
+444 424 l
+219 424 l
+246 514 307 648 418 648 c
+448 648 471 638 492 616 c
+529 576 524 529 527 479 c
+549 475 l
+595 687 l
+570 687 l
+562 674 558 664 542 664 c
+518 664 474 692 423 692 c
+275 692 162 551 116 424 c
+67 424 l
+53 386 l
+104 386 l
+98 363 93 340 90 317 c
+37 317 l
+23 279 l
+86 279 l
+85 266 85 253 85 240 c
+85 118 137 -10 277 -10 c
+370 -10 436 58 488 128 c
+466 149 l
+424 101 375 48 307 48 c
+212 48 190 160 190 234 c
+190 249 191 264 192 279 c
+384 279 l
+cp
+500 0 m
+}
+pdf_PSBuildGlyph
+} def
+/Times-Roman
+{
+500 0 10 -12 484 692
+{
+347 298 m
+171 298 l
+170 310 170 322 170 335 c
+170 362 l
+362 362 l
+374 403 l
+172 403 l
+184 580 244 642 308 642 c
+380 642 434 574 457 457 c
+481 462 l
+474 691 l
+449 691 l
+433 670 429 657 410 657 c
+394 657 360 692 299 692 c
+204 692 94 604 73 403 c
+22 403 l
+10 362 l
+70 362 l
+69 352 69 341 69 330 c
+69 319 69 308 70 298 c
+22 298 l
+10 257 l
+73 257 l
+97 57 216 -12 295 -12 c
+364 -12 427 25 484 123 c
+458 142 l
+425 101 384 37 316 37 c
+256 37 189 84 173 257 c
+335 257 l
+cp
+500 0 m
+}
+pdf_PSBuildGlyph
+} def
+end
+Level2? {setglobal} if
+currentdict readonly pop end
+%%EndResource
+PDFText begin
+[39/quotesingle 96/grave 128/Adieresis/Aring/Ccedilla/Eacute/Ntilde/Odieresis
+/Udieresis/aacute/agrave/acircumflex/adieresis/atilde/aring/ccedilla/eacute
+/egrave/ecircumflex/edieresis/iacute/igrave/icircumflex/idieresis/ntilde
+/oacute/ograve/ocircumflex/odieresis/otilde/uacute/ugrave/ucircumflex
+/udieresis/dagger/degree/cent/sterling/section/bullet/paragraph/germandbls
+/registered/copyright/trademark/acute/dieresis/.notdef/AE/Oslash
+/.notdef/plusminus/.notdef/.notdef/yen/mu/.notdef/.notdef
+/.notdef/.notdef/.notdef/ordfeminine/ordmasculine/.notdef/ae/oslash
+/questiondown/exclamdown/logicalnot/.notdef/florin/.notdef/.notdef
+/guillemotleft/guillemotright/ellipsis/space/Agrave/Atilde/Otilde/OE/oe
+/endash/emdash/quotedblleft/quotedblright/quoteleft/quoteright/divide
+/.notdef/ydieresis/Ydieresis/fraction/currency/guilsinglleft/guilsinglright
+/fi/fl/daggerdbl/periodcentered/quotesinglbase/quotedblbase/perthousand
+/Acircumflex/Ecircumflex/Aacute/Edieresis/Egrave/Iacute/Icircumflex
+/Idieresis/Igrave/Oacute/Ocircumflex/.notdef/Ograve/Uacute/Ucircumflex
+/Ugrave/dotlessi/circumflex/tilde/macron/breve/dotaccent/ring/cedilla
+/hungarumlaut/ogonek/caron
+0 TE
+[1/dotlessi/caron 39/quotesingle 96/grave
+127/bullet/Euro/bullet/quotesinglbase/florin/quotedblbase/ellipsis
+/dagger/daggerdbl/circumflex/perthousand/Scaron/guilsinglleft/OE
+/bullet/Zcaron/bullet/bullet/quoteleft/quoteright/quotedblleft
+/quotedblright/bullet/endash/emdash/tilde/trademark/scaron
+/guilsinglright/oe/bullet/zcaron/Ydieresis/space/exclamdown/cent/sterling
+/currency/yen/brokenbar/section/dieresis/copyright/ordfeminine
+/guillemotleft/logicalnot/hyphen/registered/macron/degree/plusminus
+/twosuperior/threesuperior/acute/mu/paragraph/periodcentered/cedilla
+/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters
+/questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
+/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis
+/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply/Oslash
+/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls/agrave
+/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute
+/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde
+/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute
+/ucircumflex/udieresis/yacute/thorn/ydieresis
+1 TE
+end
+%%BeginResource: procset pdfasc.prc 6.0 1
+%%Copyright: Copyright 1992-2003 Adobe Systems Incorporated. All Rights Reserved.
+/ASR {
+13 dict begin
+/mirV? exch def
+/mirH? exch def
+/center? exch def
+/autorotate? exch def
+/angle exch def
+/shrink exch def
+/Pury exch def
+/Purx exch def
+/Plly exch def
+/Pllx exch def
+/Dury exch def
+/Durx exch def
+/Dlly exch def
+/Dllx exch def
+Dury 0 eq Durx 0 eq and Dlly 0 eq Dllx 0 eq and and
+{ shrink 0 gt { GClipBBox } { GPageBBox } ifelse }
+{ ITransDBBox }
+ifelse
+/PHt Pury Plly sub def
+/PW Purx Pllx sub def
+/DHt Dury Dlly sub def
+/DW Durx Dllx sub def
+angle 90 eq angle 270 eq or
+{
+PHt /PHt PW def /PW exch def
+} if
+autorotate? PHt PW ne and DHt DW ne and
+{
+DHt DW ge
+PHt PW ge
+ne
+{ /angle angle 90 add def
+PHt /PHt PW def /PW exch def
+}
+if
+} if
+angle 0 ne
+{
+/angle angle 360 mod def
+angle rotate
+angle 90 eq
+{ 0 DW neg translate }
+if
+angle 180 eq
+{ DW neg DHt neg translate }
+if
+angle 270 eq
+{ DHt neg 0 translate }
+if
+} if
+center?
+{
+ITransBBox
+Durx Dllx add 2 div Dury Dlly add 2 div
+Purx Pllx add -2 div Pury Plly add -2 div
+3 -1 roll add exch
+3 -1 roll add exch
+translate
+}
+{
+ITransBBox
+angle 0 eq
+{Dllx Pllx sub Dury Pury sub}
+if
+angle 90 eq
+{Durx Purx sub Dury Pury sub}
+if
+angle 180 eq
+{Durx Purx sub Dlly Plly sub}
+if
+angle 270 eq
+{Dllx Pllx sub Dlly Plly sub}
+if
+translate
+}
+ifelse
+mirH? mirV? or
+{
+ITransBBox
+mirH?
+{
+-1 1 scale
+Durx Dllx add neg 0 translate
+} if
+mirV?
+{
+1 -1 scale
+0 Dury Dlly add neg translate
+} if
+} if
+shrink 0 ne
+{
+ITransBBox
+Dury Dlly sub Pury Plly sub div
+Durx Dllx sub Purx Pllx sub div
+2 copy gt { exch } if pop
+shrink 1 eq
+{
+Durx Dllx add 2 div Dury Dlly add 2 div translate
+dup scale
+Purx Pllx add -2 div Pury Plly add -2 div translate
+}
+{
+shrink 2 eq 1 index 1.0 lt and
+{
+Durx Dllx add 2 div Dury Dlly add 2 div translate
+dup scale
+Purx Pllx add -2 div Pury Plly add -2 div translate
+}
+{ pop }
+ifelse
+}
+ifelse
+} if
+end
+} [/autorotate? /shrink? /mirH? /mirV? /angle /Pury /Purx /Plly /Pllx /Durx /Dury /Dllx /Dlly /PW /PHt /DW /DHt
+/Devurx /Devury /Devllx /Devlly /pdfHt /pdfW]
+bld
+/GClipBBox
+{
+gsave newpath clippath pathbbox newpath grestore
+/Dury exch def
+/Durx exch def
+/Dlly exch def
+/Dllx exch def
+ITransDBBox
+} [/Durx /Dury /Dllx /Dlly]
+bld
+/GPageBBox
+{
+{
+currentpagedevice /PageSize get aload pop
+/Devury exch def /Devurx exch def
+/Devllx 0 def /Devlly 0 def
+ITransBBox
+}
+stopped
+{ GClipBBox }
+if
+} [/Devurx /Devury /Devllx /Devlly ]
+bld
+/ITransDBBox
+{
+Durx Dury transform matrix defaultmatrix itransform
+/Devury exch def
+/Devurx exch def
+Dllx Dlly transform matrix defaultmatrix itransform
+/Devlly exch def
+/Devllx exch def
+Devury Devlly lt {/Devlly Devury /Devury Devlly def def} if
+Devurx Devllx lt {/Devllx Devurx /Devurx Devllx def def} if
+} [/Durx /Dury /Dllx /Dlly /Devurx /Devury /Devllx /Devlly ]
+bld
+/ITransBBox
+{
+/um matrix currentmatrix matrix defaultmatrix matrix invertmatrix matrix concatmatrix def
+Devllx Devlly um itransform
+Devurx Devury um itransform
+/Dury exch def
+/Durx exch def
+/Dlly exch def
+/Dllx exch def
+Dury Dlly lt {/Dlly Dury /Dury Dlly def def} if
+Durx Dllx lt {/Dllx Durx /Durx Dllx def def} if
+} [ /um /Durx /Dury /Dllx /Dlly /Devurx /Devury /Devllx /Devlly ]
+bld
+%%EndResource
+currentdict readonly pop
+end end
+/currentpacking where {pop setpacking}if
+PDFVars/DocInitAll{[PDF PDFText]{/docinitialize get exec}forall }put
+PDFVars/InitAll{[PDF PDFText]{/initialize get exec}forall initgs}put
+PDFVars/TermAll{[PDFText PDF]{/terminate get exec}forall}put
+PDFVars begin PDF begin
+PDFVars/DocInitAll get exec PDFVars/InitAll get exec
+
+[/NamespacePush PDFMark5
+[/_objdef {Metadata_In_EPS} /type /stream /OBJ PDFMark5
+[{Metadata_In_EPS} 1162 (% &end XMP packet& %) ReadByPDFMark5
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about='uuid:77aa49a4-6115-49c5-864b-45a2f6965ad3' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='MiKTeX GPL Ghostscript 8.01'></rdf:Description>
+<rdf:Description rdf:about='uuid:77aa49a4-6115-49c5-864b-45a2f6965ad3' xmlns:xap='http://ns.adobe.com/xap/1.0/' xap:ModifyDate='2005-04-13T12:23:59Z' xap:CreateDate='2005-04-13T12:23:59Z' xap:CreatorTool='Macromedia Flash 2.0'></rdf:Description>
+<rdf:Description rdf:about='uuid:77aa49a4-6115-49c5-864b-45a2f6965ad3' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:43f130fc-7fae-40a2-8a13-7c48e936520f'/>
+<rdf:Description rdf:about='uuid:77aa49a4-6115-49c5-864b-45a2f6965ad3' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>(C:\Documents and Settings\Administrator\Desktop\hust-flash-eps.eps)</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<?xpacket end='w'?>
+
+
+% &end XMP packet& %
+
+[{Metadata_In_EPS} 2 dict begin /Type /Metadata def /Subtype /XML def currentdict end /PUT PDFMark5
+[/Document 1 dict begin /Metadata {Metadata_In_EPS} def currentdict end /BDC PDFMark5
+[/NamespacePop PDFMark5
+
+PDFVars/TermAll get exec end end
+
+%%EndSetup
+PDFVars begin PDF begin PDFVars/InitAll get exec
+0 0 176 37 rectclip
+/N4 <0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+> 15 dict begin
+/Sample exch def
+currentdict end
+[exch {begin
+/_x0 exch def
+/_tmp0 _x0
+dup 1.0 ge {pop 255.0}
+{dup 0.0 le {pop 0.0}
+{255.0 mul
+} ifelse
+} ifelse
+def
+/min0 _tmp0 cvi def
+/max0 _tmp0 ceiling cvi def
+/f0
+min0 max0 eq
+{{min0 f1}}
+{{
+[min0 f1 max0 f1
+0 1 0 {dup 3 index exch get exch 2 index exch get
+_tmp0 min0 max0 5 3 roll int
+3 1 roll} for pop pop]
+}} ifelse
+def
+/f1
+{/prm0 exch def [
+ 0 255 prm0 limit 8 mul -3 bitshift Sample exch get ]} def
+/rnd {256 mul 0.5 add floor 256 div} def
+f0 aload pop
+dup 255.0 ge {pop 1.0}
+{dup 0.0 le {pop 0.0}
+{255.0 div
+} ifelse
+} ifelse
+0.0 1.0 3 2 roll limit rnd
+end
+} bind aload pop] cvx readonly
+/Function defineRes pop
+
+/N5 <8080808080808080808080808080808080808080808080808080808080808080
+8080808080808080808080808080808080808080808080808080808080808080
+8080808080808080808080808080808080808080808080808080808080808080
+8080808080808080808080808080808080808080808080808080808080808080
+8080808080808080808080808080808080808080808080808080808080808080
+8080808080808080808080808080808080808080808080808080808080808080
+8080808080808080808080808080808080808080808080808080808080808080
+8080808080808080808080808080808080808080808080808080808080808080
+> 15 dict begin
+/Sample exch def
+currentdict end
+[exch {begin
+/_x0 exch def
+/_tmp0 _x0
+dup 1.0 ge {pop 255.0}
+{dup 0.0 le {pop 0.0}
+{255.0 mul
+} ifelse
+} ifelse
+def
+/min0 _tmp0 cvi def
+/max0 _tmp0 ceiling cvi def
+/f0
+min0 max0 eq
+{{min0 f1}}
+{{
+[min0 f1 max0 f1
+0 1 0 {dup 3 index exch get exch 2 index exch get
+_tmp0 min0 max0 5 3 roll int
+3 1 roll} for pop pop]
+}} ifelse
+def
+/f1
+{/prm0 exch def [
+ 0 255 prm0 limit 8 mul -3 bitshift Sample exch get ]} def
+/rnd {256 mul 0.5 add floor 256 div} def
+f0 aload pop
+dup 255.0 ge {pop 1.0}
+{dup 0.0 le {pop -1.0}
+{2.0 255.0 div mul 1.0 sub
+} ifelse
+} ifelse
+-1.0 1.0 3 2 roll limit rnd
+end
+} bind aload pop] cvx readonly
+/Function defineRes pop
+
+0.0 0.0 176.0 37.0 re
+W
+n
+q
+0.1 0.0 0.0 0.1 0.0 0.0 cm
+q
+n
+344.114014 241.776016 m
+338.616028 235.278015 l
+323.622009 169.805008 l
+323.622009 169.305008 323.622009 168.305008 324.122009 167.306015 c
+333.118011 150.813004 347.113007 144.315002 365.605011 147.814011 c
+367.105011 148.813004 368.604004 150.313004 369.604004 151.812012 c
+378.600006 165.306015 389.096008 177.802002 401.091034 189.797012 c
+403.089996 155.311005 401.591034 120.824005 396.593018 86.338097 c
+395.094025 77.841599 394.594025 68.8452 394.594025 59.8489 c
+394.594025 46.854198 399.09201 35.358898 408.088013 24.863001 c
+415.085022 17.366199 423.082031 15.866699 431.57901 20.365002 c
+436.077026 29.861099 438.576019 39.857201 439.076019 49.353298 c
+439.575012 63.847397 439.575012 78.341599 438.076019 91.836197 c
+435.577026 118.325005 435.577026 144.315002 438.076019 170.305008 c
+461.567017 169.805008 480.059021 179.30101 493.054016 199.293015 c
+492.554016 200.292007 492.554016 201.292007 492.554016 201.792007 c
+490.055023 207.789017 485.057037 212.287003 478.559998 214.786011 c
+478.559998 219.784012 481.559021 224.782013 487.05603 229.281006 c
+496.552032 236.278015 507.048035 242.775009 517.544006 248.27301 c
+526.041016 252.771011 530.539001 259.268005 531.539001 268.265015 c
+520.04303 284.758026 l
+488.55603 288.256012 l
+441.575012 258.768005 l
+448.572021 301.251007 l
+447.073029 303.75 445.573029 305.749023 444.074036 307.749023 c
+434.078033 320.743011 421.083008 327.241028 405.589996 326.741028 c
+404.589996 326.241028 403.591034 325.241028 403.091034 324.242004 c
+399.093018 320.743011 395.594025 316.745026 392.595032 312.247009 c
+389.097015 306.749023 388.097015 301.751007 389.596008 296.753021 c
+398.093018 274.262024 402.091034 250.772018 402.091034 225.782013 c
+374.103027 200.792007 l
+372.603027 208.78801 371.104004 215.786011 368.605011 222.283005 c
+365.106018 233.778015 358.109009 240.775009 348.613007 243.274017 c
+344.115021 241.775009 l
+h
+451.071014 213.787003 m
+450.072021 211.78801 449.072021 209.789017 448.572021 207.789017 c
+448.073029 207.289993 l
+444.574036 203.791016 441.575012 201.792007 438.576019 200.292007 c
+437.577026 203.291016 437.077026 206.289993 437.577026 209.789017 c
+438.077026 210.78801 438.077026 211.78801 438.077026 212.287003 c
+438.077026 215.786011 438.576019 219.784012 440.076019 223.783005 c
+444.574036 229.779999 450.571014 235.278015 459.068024 240.276016 c
+457.569031 230.779999 455.069977 222.283005 451.571014 214.786011 c
+451.571014 214.786011 451.571014 214.786011 451.571014 214.286011 c
+451.071014 213.787003 l
+f
+n
+1751.049927 313.747009 m
+1750.549927 314.247009 1750.549927 314.247009 1750.549927 314.247009 c
+1750.549927 314.746002 1750.549927 315.246002 1750.549927 315.746002 c
+1742.549927 335.238007 1728.559937 344.734009 1708.069946 343.735016 c
+1707.069946 343.735016 1706.569946 343.735016 1706.069946 343.235016 c
+1660.589966 318.745026 l
+1662.089966 322.243011 1662.589966 325.242004 1662.589966 328.741028 c
+1662.589966 329.23999 1662.589966 329.73999 1662.589966 330.23999 c
+1656.589966 347.733002 1645.589966 357.229004 1630.099976 358.729004 c
+1628.599976 358.729004 1627.599976 358.229004 1626.599976 357.729004 c
+1625.599976 356.729004 1625.099976 355.72998 1624.599976 354.22998 c
+1621.599976 336.738007 1616.609985 327.741028 1609.609985 326.742004 c
+1608.109985 326.742004 1606.609985 326.742004 1605.109985 327.241028 c
+1588.119995 332.739014 1578.619995 332.239014 1576.619995 325.742004 c
+1577.119995 326.242004 l
+1573.619995 320.744019 1574.119995 315.746002 1578.119995 311.248016 c
+1578.619995 310.748016 l
+1581.119995 307.25 1585.619995 304.251007 1593.109985 301.752014 c
+1594.609985 299.753021 1595.109985 297.754028 1594.609985 295.754028 c
+1592.119995 293.256012 1586.619995 290.257019 1578.619995 287.258026 c
+1569.119995 300.752014 1561.130005 311.248016 1554.630005 318.745026 c
+1546.130005 327.741028 1538.640015 332.73999 1533.140015 334.239014 c
+1525.140015 336.738007 1519.640015 333.739014 1516.150024 325.742004 c
+1515.650024 324.743011 1515.650024 323.743011 1515.650024 322.743011 c
+1516.150024 322.244019 1516.650024 321.244019 1517.150024 320.245026 c
+1519.140015 317.746002 1521.140015 315.247009 1523.140015 312.748016 c
+1523.640015 312.248016 l
+1533.140015 300.753021 1540.640015 290.757019 1545.630005 281.259979 c
+1532.140015 291.756012 1523.140015 294.755005 1517.650024 290.257019 c
+1515.150024 290.257019 1514.150024 289.257019 1513.650024 286.758026 c
+1512.650024 285.759003 1512.650024 284.259979 1513.650024 281.759979 c
+1514.150024 280.261017 1515.650024 277.762024 1518.140015 274.264008 c
+1519.640015 271.765015 1521.640015 269.266022 1524.640015 265.766998 c
+1526.140015 264.268005 1527.640015 262.269012 1529.140015 260.269989 c
+1529.640015 259.769989 1529.640015 258.769989 1530.140015 257.771027 c
+1530.140015 257.271027 1530.140015 257.271027 1530.140015 256.771027 c
+1531.140015 255.272018 1532.140015 253.27301 1532.640015 251.274017 c
+1532.640015 250.774017 1532.640015 250.774017 1532.640015 250.274017 c
+1533.140015 249.275009 1534.140015 247.775009 1534.640015 246.276016 c
+1535.140015 244.777008 1536.140015 242.777008 1536.640015 241.278015 c
+1541.630005 228.283005 1545.630005 218.787018 1549.130005 213.289017 c
+1551.130005 209.791016 1553.130005 207.792007 1554.630005 206.792007 c
+1556.130005 205.293015 1558.130005 204.793015 1559.630005 204.793015 c
+1560.630005 204.793015 1561.630005 205.293015 1562.630005 205.792007 c
+1567.619995 206.792007 1570.619995 210.291016 1572.119995 216.78801 c
+1572.619995 219.287018 1572.619995 221.786011 1572.619995 225.284012 c
+1575.119995 221.786011 1578.119995 219.287018 1581.619995 217.78801 c
+1587.619995 214.789017 1593.609985 215.789017 1599.609985 220.786011 c
+1600.109985 221.286011 1600.109985 221.786011 1600.609985 222.286011 c
+1603.609985 227.283005 1604.109985 233.781006 1602.109985 241.278015 c
+1602.109985 241.778015 l
+1601.609985 242.777008 1601.609985 243.777008 1601.109985 244.776016 c
+1600.609985 244.776016 1600.609985 244.776016 1600.609985 245.276016 c
+1591.109985 268.766998 l
+1591.109985 268.766998 1591.109985 268.766998 1591.609985 269.266022 c
+1593.109985 270.266022 1594.109985 271.265015 1595.609985 271.765015 c
+1599.609985 274.764008 1603.109985 277.263 1606.109985 278.762024 c
+1605.609985 278.262024 1605.609985 278.262024 1605.609985 277.763 c
+1605.109985 277.263 1605.109985 276.763 1605.109985 276.263 c
+1603.609985 273.265015 1602.109985 269.266022 1600.109985 264.768005 c
+1599.609985 264.268005 1599.609985 264.268005 1599.609985 263.769012 c
+1599.109985 261.769989 1599.109985 259.271027 1599.609985 255.772018 c
+1600.109985 252.77301 1600.609985 249.275009 1601.609985 245.276016 c
+1601.609985 244.777008 l
+1601.609985 244.277008 1601.609985 244.277008 1601.609985 243.777008 c
+1602.109985 242.278015 1602.609985 240.279007 1603.609985 237.779999 c
+1603.609985 237.279999 1604.109985 236.279999 1604.609985 235.781006 c
+1605.109985 235.281006 1605.609985 235.281006 1606.109985 234.781006 c
+1615.099976 230.283005 1623.099976 228.284012 1630.099976 227.784012 c
+1564.119995 194.797012 l
+1563.119995 194.298004 1562.619995 193.798004 1562.130005 192.798004 c
+1561.630005 192.299011 1561.130005 191.299011 1561.130005 190.300003 c
+1559.630005 187.80101 1560.130005 185.302002 1562.619995 182.803009 c
+1605.109985 182.803009 l
+1646.089966 208.292007 l
+1645.589966 205.294006 1643.589966 200.296005 1640.089966 193.299011 c
+1638.589966 190.300003 1636.589966 186.80101 1634.599976 182.803009 c
+1706.569946 182.803009 l
+1700.569946 188.80101 1691.069946 191.799011 1678.579956 192.299011 c
+1705.569946 215.789993 l
+1706.569946 216.789017 1707.069946 217.789017 1707.069946 219.28801 c
+1708.069946 230.783005 1702.069946 239.779999 1689.569946 246.277008 c
+1689.569946 246.277008 1689.569946 246.277008 1689.069946 246.277008 c
+1689.069946 246.777008 l
+1689.569946 246.277008 l
+1693.069946 249.776016 1696.569946 253.274017 1700.069946 255.77301 c
+1700.069946 256.27301 l
+1705.069946 261.271027 1710.069946 265.269012 1715.059937 268.268005 c
+1719.559937 271.766998 1724.559937 274.266022 1729.559937 275.765015 c
+1729.059937 275.765015 l
+1732.559937 276.764008 1735.549927 277.764008 1738.049927 279.263 c
+1738.549927 279.763 1738.549927 279.763 1739.049927 279.763 c
+1752.549927 287.259979 1756.549927 298.256012 1751.049927 313.75 c
+h
+1693.069946 302.751007 m
+1693.069946 302.251007 1693.069946 301.252014 1693.069946 300.252014 c
+1663.589966 250.272018 l
+1664.589966 252.771011 1665.579956 254.771011 1666.079956 256.769989 c
+1666.079956 257.269989 l
+1667.079956 262.766998 1666.579956 269.265015 1665.089966 275.762024 c
+1664.589966 276.262024 1664.589966 276.761017 1664.589966 276.761017 c
+1664.089966 278.261017 1663.589966 279.259979 1663.589966 279.759979 c
+1663.089966 280.259979 1663.089966 280.259979 1663.089966 280.759979 c
+1661.589966 284.258026 1660.089966 288.257019 1657.589966 291.755005 c
+1658.589966 292.255005 1659.589966 292.755005 1660.089966 293.254028 c
+1660.589966 293.254028 l
+1673.579956 299.752014 1683.079956 303.25 1689.579956 303.75 c
+1691.069946 303.75 1692.069946 303.25 1693.069946 302.75 c
+h
+1633.099976 270.264008 m
+1633.599976 270.264008 1633.599976 270.264008 1634.099976 270.264008 c
+1634.599976 270.764008 1635.599976 270.764008 1637.099976 270.264008 c
+1639.599976 265.266998 1640.589966 261.268005 1640.099976 258.769012 c
+1640.099976 258.269012 l
+1636.599976 258.769012 1633.599976 259.269012 1632.099976 260.768005 c
+1630.599976 262.266998 1630.099976 264.766022 1630.599976 267.265015 c
+1630.599976 267.765015 l
+1630.599976 269.264008 1631.599976 270.264008 1633.099976 270.264008 c
+h
+1659.089966 243.775009 m
+1659.589966 244.774017 1660.589966 245.774017 1661.089966 246.774017 c
+1658.089966 241.776016 l
+1654.589966 239.777008 l
+1655.089966 240.277008 l
+1656.089966 241.276016 1657.089966 242.276016 1658.589966 243.775009 c
+1659.089966 243.775009 l
+f
+n
+1706.569946 182.799011 m
+1634.599976 182.799011 l
+1632.599976 179.80101 1630.599976 176.802002 1629.099976 173.803009 c
+1626.599976 172.304001 1623.599976 170.804001 1621.099976 168.805008 c
+1621.599976 169.305008 l
+1616.109985 166.806015 1611.609985 164.307007 1607.109985 161.308014 c
+1607.109985 161.808014 l
+1596.609985 156.311005 1587.119995 150.813004 1577.619995 145.815002 c
+1557.130005 134.819 1537.640015 124.823006 1519.140015 116.327003 c
+1510.650024 112.828003 1503.150024 108.829994 1495.650024 105.331001 c
+1494.650024 104.832008 1493.650024 103.832008 1493.159912 102.833008 c
+1492.659912 102.333008 1492.659912 101.333008 1492.659912 99.833694 c
+1492.659912 98.834198 1493.159912 97.834694 1494.150024 97.335007 c
+1498.650024 92.836899 1503.150024 88.3386 1507.650024 84.340302 c
+1507.650024 84.340302 1507.650024 84.340302 1508.150024 83.840599 c
+1508.650024 83.340797 1509.650024 82.841095 1510.150024 82.341301 c
+1510.650024 81.841599 l
+1519.640015 74.344696 1527.140015 69.846397 1533.140015 67.847198 c
+1533.640015 67.847198 l
+1538.640015 66.3479 1543.130005 66.847702 1546.630005 68.846695 c
+1547.130005 69.346397 1547.130005 69.346397 1547.630005 69.846199 c
+1548.130005 70.345901 1548.130005 70.345901 1548.630005 70.345901 c
+1549.130005 70.845695 1549.630005 70.845695 1550.130005 71.345497 c
+1555.130005 77.343002 1560.130005 82.340797 1565.130005 86.839096 c
+1565.130005 87.338898 l
+1572.619995 95.335396 1580.119995 102.333008 1586.619995 107.831009 c
+1586.619995 108.329994 l
+1600.109985 121.825005 1610.609985 130.320999 1618.099976 134.819992 c
+1618.599976 135.319 l
+1620.099976 136.319 1621.099976 136.819 1622.099976 137.318008 c
+1622.599976 128.822006 1622.599976 119.825005 1623.099976 111.329002 c
+1623.599976 105.831001 1623.599976 99.833496 1623.599976 93.835899 c
+1623.599976 88.338394 1623.599976 83.340302 1623.099976 77.842499 c
+1622.599976 70.845497 1622.099976 64.348099 1621.599976 57.850597 c
+1621.099976 56.351299 1621.099976 54.851799 1621.099976 53.352497 c
+1619.599976 46.355499 1605.109985 43.356697 1577.119995 43.8564 c
+1576.619995 43.8564 1575.619995 43.8564 1575.119995 43.356697 c
+1572.619995 41.857399 1571.119995 40.357899 1571.119995 38.358898 c
+1570.619995 36.8596 1571.619995 34.860397 1573.619995 32.861298 c
+1574.619995 31.861799 1577.119995 30.362499 1581.119995 28.363298 c
+1587.619995 24.8647 1598.109985 20.866499 1613.609985 15.3687 c
+1621.099976 13.369599 1629.099976 10.8706 1638.599976 7.37207 c
+1639.089966 7.37207 1639.089966 7.37207 1639.089966 7.37207 c
+1648.089966 4.87329 1654.589966 9.37109 1658.589966 19.866899 c
+1658.589966 20.366699 l
+1661.089966 28.363298 1661.589966 40.858398 1660.589966 58.351299 c
+1660.089966 64.848595 1659.589966 72.345695 1658.589966 79.842499 c
+1658.089966 81.841599 1658.089966 83.840797 1658.089966 85.340096 c
+1658.089966 85.839798 l
+1657.589966 89.338394 1657.589966 92.337196 1657.089966 95.335899 c
+1656.589966 101.333008 1656.589966 106.831001 1656.589966 111.829002 c
+1656.089966 121.825005 1655.589966 130.322006 1656.089966 137.319 c
+1656.589966 144.81601 1657.089966 151.313004 1658.089966 156.311005 c
+1660.089966 157.809998 1662.089966 158.309998 1663.579956 158.809998 c
+1663.089966 147.314011 1664.579956 139.818008 1668.579956 135.819 c
+1669.079956 135.319 1670.079956 134.819992 1671.579956 134.319992 c
+1672.579956 134.319992 1673.579956 134.319992 1674.579956 134.819992 c
+1700.069946 148.814011 l
+1714.559937 155.311005 1721.059937 161.809006 1719.559937 168.306015 c
+1719.559937 168.806015 1719.559937 168.806015 1719.559937 168.806015 c
+1719.059937 172.804001 1715.559937 176.303009 1709.569946 178.802002 c
+1708.569946 180.30101 1707.569946 181.80101 1706.569946 182.800003 c
+f
+n
+1605.109985 182.799011 m
+1562.630005 182.799011 l
+1564.130005 181.300003 1566.130005 179.80101 1569.619995 178.80101 c
+1574.119995 177.302002 1581.119995 175.802002 1591.109985 175.302002 c
+1592.109985 175.302002 1593.109985 175.302002 1594.109985 175.802002 c
+1605.109985 182.799011 l
+f
+n
+1408.189941 232.779007 m
+1408.689941 232.779007 l
+1392.189941 240.776016 1380.200073 238.277008 1372.700073 225.782013 c
+1358.709961 216.786011 l
+1359.209961 222.283005 1359.709961 229.281006 1361.209961 238.777008 c
+1361.709961 239.277008 1361.709961 240.276016 1361.709961 241.276016 c
+1361.709961 242.775009 1361.709961 243.774017 1362.209961 244.274017 c
+1362.209961 244.774017 1362.209961 244.774017 1362.209961 245.274017 c
+1362.709961 248.772018 1363.209961 252.271011 1364.209961 256.269012 c
+1364.209961 256.769012 1364.209961 256.769012 1364.209961 257.269012 c
+1364.700073 260.268005 1365.200073 263.266022 1365.700073 266.265015 c
+1368.200073 267.764008 1369.200073 270.263 1369.200073 273.262024 c
+1369.200073 275.761017 1367.700073 279.259979 1364.700073 283.258026 c
+1359.709961 290.255005 1349.209961 300.251007 1332.719971 312.746002 c
+1331.219971 314.245026 1329.219971 315.745026 1327.719971 317.244019 c
+1326.719971 317.744019 1325.719971 318.244019 1324.719971 318.244019 c
+1320.719971 318.244019 1317.719971 316.744019 1315.719971 314.245026 c
+1315.22998 314.245026 l
+1311.72998 311.747009 1310.72998 307.248016 1312.22998 299.751007 c
+1312.72998 294.753021 1313.22998 288.756012 1313.72998 282.258026 c
+1314.22998 275.261017 1314.72998 267.764008 1314.72998 259.766998 c
+1314.72998 258.268005 1314.72998 256.769012 1314.72998 255.269012 c
+1314.72998 250.771011 1314.72998 246.77301 1314.72998 242.275009 c
+1314.72998 241.775009 l
+1314.22998 240.276016 1314.22998 238.776016 1314.72998 237.277008 c
+1314.22998 229.779999 1314.22998 221.283005 1313.72998 212.787003 c
+1313.22998 206.289993 1312.72998 199.292007 1312.22998 191.795013 c
+1295.72998 180.300003 1280.23999 170.804001 1266.73999 164.307007 c
+1259.25 160.808014 1252.25 158.309006 1245.75 156.309998 c
+1237.26001 154.311005 1229.76001 153.311005 1222.76001 153.311005 c
+1221.26001 153.311005 1220.26001 152.812012 1219.76001 151.812012 c
+1213.77002 147.314011 1213.77002 141.31601 1219.26001 133.819 c
+1223.76001 128.322006 1232.76001 121.324005 1247.25 113.328003 c
+1256.75 103.832008 1271.23999 108.829994 1290.73999 128.322006 c
+1293.22998 130.819992 1296.22998 133.819 1299.72998 137.318008 c
+1299.22998 135.819 1298.72998 134.319 1297.72998 132.319992 c
+1298.22998 132.819992 l
+1295.22998 128.322006 1290.73999 122.324005 1284.23999 115.327003 c
+1284.23999 114.827003 l
+1280.73999 111.329002 1276.73999 107.829994 1272.23999 103.832008 c
+1272.73999 103.832008 l
+1272.23999 103.832008 l
+1258.75 92.336395 1246.75 83.839798 1235.26001 78.342003 c
+1228.76001 75.3433 1222.26001 73.3442 1216.77002 72.344498 c
+1215.27002 71.844696 1213.77002 71.345001 1213.27002 70.345497 c
+1212.27002 69.345901 1211.77002 67.846695 1212.27002 66.347198 c
+1212.77002 64.8479 1213.27002 63.8484 1214.27002 63.3484 c
+1221.76001 57.8508 l
+1222.26001 57.351097 1223.26001 56.851299 1223.76001 56.851299 c
+1243.25 53.352798 1265.25 57.8508 1288.73999 70.345695 c
+1288.73999 70.345695 1288.73999 70.345695 1289.23999 70.345695 c
+1290.23999 70.845497 1291.22998 71.845001 1292.22998 72.344696 c
+1292.22998 72.844498 l
+1300.22998 79.341797 1308.22998 86.838898 1316.219971 95.335396 c
+1316.219971 95.835197 l
+1318.719971 99.333694 1321.219971 103.832008 1324.719971 109.329994 c
+1324.719971 109.829002 l
+1326.719971 114.327003 1329.219971 119.825005 1331.719971 125.823006 c
+1332.219971 125.823006 l
+1334.719971 132.819992 1337.219971 140.317001 1340.709961 148.813004 c
+1340.709961 149.313004 l
+1341.709961 152.312012 1342.709961 155.311005 1343.709961 158.809006 c
+1343.709961 158.309998 l
+1343.709961 158.809006 1343.709961 159.309006 1343.709961 159.309006 c
+1343.709961 156.809998 1344.709961 153.312012 1346.709961 148.813004 c
+1346.709961 149.313004 l
+1348.709961 142.81601 1352.709961 133.819992 1358.209961 121.324005 c
+1358.709961 120.825005 1359.209961 119.825005 1359.709961 118.826004 c
+1361.209961 115.827003 1362.709961 112.828003 1364.200073 109.829002 c
+1364.200073 109.329994 1364.200073 109.329994 1364.700073 109.329994 c
+1371.200073 95.835197 1375.200073 85.839096 1376.700073 80.341301 c
+1376.700073 79.841599 1376.700073 79.341797 1377.200073 78.842003 c
+1379.700073 71.3452 1386.700073 66.347198 1397.189941 64.3479 c
+1398.689941 64.3479 1399.689941 64.3479 1400.689941 64.847702 c
+1407.689941 68.845901 1419.679932 73.844002 1437.179932 79.841599 c
+1443.169922 82.340302 1449.669922 84.3396 1457.169922 86.8386 c
+1457.669922 87.338394 1457.669922 87.338394 1458.169922 87.338394 c
+1458.669922 87.838097 1459.169922 87.838097 1459.669922 88.337898 c
+1463.159912 91.3367 1464.659912 94.335396 1463.659912 96.834496 c
+1463.659912 99.333298 1461.669922 101.832008 1457.169922 103.832008 c
+1456.669922 104.331001 1455.669922 104.331001 1455.169922 104.331001 c
+1439.669922 103.832008 1424.679932 107.829994 1411.189941 115.827003 c
+1397.189941 124.323006 1384.200073 136.818008 1372.700073 152.812012 c
+1372.200073 153.312012 l
+1371.700073 154.311005 1370.700073 155.311005 1370.200073 155.809998 c
+1368.200073 159.309006 1366.700073 161.808014 1365.200073 163.307007 c
+1365.200073 163.307007 1365.200073 163.307007 1365.200073 163.807007 c
+1361.209961 168.305008 1357.709961 169.804001 1354.209961 169.304001 c
+1350.709961 169.804001 1347.709961 167.805008 1345.209961 162.807007 c
+1346.209961 165.806015 1347.209961 168.805008 1348.209961 172.303009 c
+1353.709961 176.302002 1359.209961 179.800003 1364.709961 183.299011 c
+1371.200073 187.797012 1377.200073 191.295013 1383.200073 194.794006 c
+1390.689941 199.292007 1398.189941 202.791016 1404.689941 204.789993 c
+1415.179932 208.78801 1420.179932 213.286011 1420.679932 217.784012 c
+1422.179932 223.282013 1418.179932 228.279999 1408.189941 232.778015 c
+f
+n
+222.662018 343.235016 m
+222.16301 343.235016 222.16301 343.235016 222.16301 343.235016 c
+215.665009 345.734009 209.168015 341.736023 202.669998 331.73999 c
+198.672012 326.742004 194.674011 319.245026 190.675003 309.249023 c
+190.675003 308.749023 190.675003 308.749023 190.675003 308.749023 c
+190.17601 307.75 190.17601 306.75 189.67601 305.75 c
+188.177002 302.751007 187.177002 299.253021 186.177002 295.255005 c
+186.177002 295.754028 l
+185.677002 294.255005 184.678009 292.256012 184.178009 290.757019 c
+179.179993 290.757019 l
+180.179993 294.255005 180.679993 298.753021 181.179016 303.751007 c
+181.179016 304.251007 l
+181.179016 305.25 181.179016 306.25 181.179016 307.25 c
+180.679993 312.248016 180.179993 317.745026 179.679993 323.243011 c
+179.679993 323.743011 179.679993 324.742004 179.179993 325.242004 c
+176.182007 329.73999 173.183014 333.239014 169.684006 336.738007 c
+163.187012 343.235016 155.690002 347.233002 147.693008 348.733002 c
+140.197006 350.732025 135.198013 350.732025 132.199997 348.733002 c
+127.702003 347.233002 125.702003 342.735016 127.202003 335.738007 c
+127.202003 334.739014 127.702003 333.739014 128.201004 332.739014 c
+145.195007 308.749023 l
+145.694 307.75 145.694 306.75 146.194 306.25 c
+146.694 305.251007 146.694 304.251007 147.194 303.251007 c
+147.194 302.752014 l
+149.692001 296.754028 152.19101 291.756012 154.690002 288.258026 c
+140.195999 286.758026 123.203003 286.259003 102.711006 285.759003 c
+101.212006 286.259003 100.213005 286.259003 99.212898 285.759003 c
+94.714798 286.259003 89.716797 286.259003 85.218498 286.259003 c
+83.7192 286.259003 82.719696 285.759003 81.720001 284.759003 c
+80.220695 283.259979 79.720901 281.759979 79.221199 280.261017 c
+76.722397 275.763 78.221695 269.766022 82.719696 263.268005 c
+194.675003 263.268005 l
+197.174011 266.266998 l
+218.165009 273.264008 l
+214.167007 270.265015 l
+213.667007 269.765015 213.167007 269.266022 212.667007 268.766022 c
+212.168015 268.266022 211.668015 267.266998 211.668015 266.266998 c
+211.668015 263.268005 l
+239.157013 263.268005 l
+235.158005 266.766998 231.659988 270.265015 228.661011 274.264008 c
+228.161011 275.263 227.662018 275.763 227.162018 276.263 c
+235.658005 278.761017 l
+236.158005 278.761017 l
+247.154007 283.259979 253.151016 290.757019 253.651016 302.252014 c
+253.651016 302.752014 253.651016 303.251007 253.651016 303.751007 c
+253.651016 304.251007 253.651016 304.751007 253.651016 305.25 c
+253.151016 305.75 253.151016 306.25 253.151016 306.75 c
+253.151016 307.749023 253.151016 308.749023 253.151016 309.749023 c
+253.151016 310.248016 253.151016 310.748016 253.151016 311.248016 c
+250.153015 319.244019 246.154007 325.742004 240.656006 330.73999 c
+241.156006 330.73999 l
+240.656006 330.73999 l
+235.659012 336.238007 229.661011 340.236023 222.664017 343.235016 c
+h
+218.164017 301.252014 m
+218.164017 301.752014 218.164017 301.752014 218.664017 302.251007 c
+218.664017 302.751007 219.164017 303.751007 219.664017 304.75 c
+220.16301 305.25 220.16301 305.75 220.66301 306.25 c
+221.16301 305.75 222.162018 304.75 222.662018 304.25 c
+222.662018 303.751007 l
+222.162018 303.751007 l
+221.66301 303.751007 221.66301 303.751007 221.66301 303.251007 c
+220.16301 300.752014 218.164017 299.253021 216.665009 298.253021 c
+217.165009 299.253021 217.664017 300.252014 218.164017 301.252014 c
+f
+n
+239.156006 263.266998 m
+211.667007 263.266998 l
+211.667007 260.268005 l
+209.168015 248.77301 202.171005 241.276016 190.67601 237.278015 c
+182.679016 248.27301 l
+194.674011 263.266998 l
+82.719002 263.266998 l
+85.217796 259.768005 88.716599 256.269989 93.2146 252.271011 c
+93.2146 251.772018 93.2146 251.772018 93.714401 251.772018 c
+93.2146 251.772018 93.2146 251.772018 92.714798 251.772018 c
+88.216797 250.772018 85.218002 247.77301 84.7183 243.275009 c
+83.718796 240.276016 84.218498 236.278015 86.217499 231.279999 c
+90.715599 211.28801 l
+90.215797 210.78801 90.215797 210.78801 90.215797 210.78801 c
+89.716095 210.289017 89.216301 210.289017 88.716599 209.789017 c
+88.216797 209.789017 88.216797 209.789017 88.216797 209.789017 c
+84.7183 208.289993 82.7192 207.289993 81.719498 206.289993 c
+80.2202 204.791016 79.220695 203.792007 79.220695 202.292007 c
+78.720901 200.793015 78.720901 199.793015 79.720497 198.294006 c
+79.720497 198.294006 79.720497 198.294006 79.720497 197.794006 c
+81.719498 193.296005 84.7183 189.297012 88.716797 186.799011 c
+89.216599 186.799011 89.216599 186.799011 89.716301 186.299011 c
+89.216599 186.799011 l
+101.711006 176.303009 l
+189.67601 176.303009 l
+197.173004 179.802002 204.169998 182.30101 210.168015 183.800003 c
+204.669998 180.30101 200.172012 177.802002 196.673004 176.303009 c
+240.156006 176.303009 l
+274.141998 192.796005 l
+277.641022 194.295013 280.139984 196.794006 281.139008 199.293015 c
+282.638 202.292007 282.139008 205.791016 280.139984 209.789017 c
+277.641022 214.787018 272.143005 221.284012 262.647003 228.781006 c
+262.147003 228.781006 l
+259.14801 232.279999 245.154007 226.782013 220.664017 212.78801 c
+223.162018 216.286011 226.661011 220.784012 232.159012 226.282013 c
+240.156006 227.282013 249.152008 232.779999 258.64801 242.775009 c
+259.14801 243.275009 259.64801 244.275009 259.64801 245.274017 c
+259.64801 246.77301 259.64801 247.77301 259.14801 248.27301 c
+255.149994 256.269989 249.152008 260.768005 241.655014 261.268005 c
+241.155014 261.766998 241.155014 261.766998 241.155014 262.266998 c
+240.656006 262.766998 239.656006 262.766998 239.156006 263.266998 c
+h
+171.183014 261.268005 m
+170.683014 259.269012 169.184006 257.269989 167.685013 255.269989 c
+164.686005 257.769012 160.688004 258.769012 155.689011 259.269012 c
+155.190002 259.269012 155.190002 259.269012 154.690002 259.269012 c
+147.193008 258.769012 143.195007 253.771011 142.195007 244.774017 c
+142.195007 243.775009 142.695007 242.775009 143.195007 241.776016 c
+144.694 238.277008 145.693008 233.779007 145.693008 227.781006 c
+138.695999 232.279007 l
+137.697006 232.779007 136.697006 233.279007 135.198013 233.279007 c
+133.698013 233.279007 132.699005 232.779007 132.199005 231.779999 c
+126.701004 225.782013 l
+118.205002 233.779007 110.708008 240.276016 104.209999 245.274017 c
+104.709999 245.274017 l
+126.201004 250.772018 141.695007 255.269989 150.692001 258.769012 c
+150.192001 258.769012 l
+157.689011 261.266998 163.686005 262.266998 168.185013 261.766998 c
+169.684006 261.766998 170.683014 261.766998 171.183014 261.268005 c
+h
+144.194 195.794006 m
+145.193008 196.794006 146.193008 197.293015 147.692001 197.793015 c
+147.692001 197.293015 l
+147.692001 194.295013 147.692001 191.296005 147.692001 188.297012 c
+147.193008 187.298004 147.193008 185.798004 147.193008 184.299011 c
+139.695999 182.300003 133.198013 180.30101 126.701004 178.30101 c
+128.199997 179.80101 130.199005 181.800003 132.698013 183.299011 c
+132.698013 183.799011 l
+133.698013 184.798004 134.698013 185.798004 135.697006 186.798004 c
+136.197006 187.297012 136.697006 188.297012 137.197006 188.797012 c
+138.195999 191.795013 140.195007 194.294006 143.694 195.794006 c
+144.194 195.794006 l
+h
+197.672012 208.289017 m
+195.174011 202.792007 192.675003 198.793015 191.175003 197.294006 c
+190.675003 197.793015 l
+190.17601 200.292007 189.67601 203.291016 189.67601 206.289993 c
+189.67601 206.789993 l
+189.17601 211.28801 189.67601 216.786011 190.675003 222.783005 c
+195.173004 221.784012 198.672012 220.284012 200.671005 218.285004 c
+201.671005 216.786011 201.171005 213.787003 199.672012 210.289017 c
+198.672012 209.789017 198.172012 209.289017 197.673004 208.289993 c
+f
+n
+106.209007 172.803009 m
+106.709007 172.303009 l
+106.209007 172.303009 l
+106.209007 172.303009 106.209007 172.303009 106.209007 172.303009 c
+69.723595 162.308014 42.2346 156.809998 22.742399 155.309998 c
+22.242699 155.309998 l
+17.7446 154.811005 15.2456 152.812012 14.246099 148.813004 c
+13.246599 146.314011 13.246599 142.815002 14.7458 137.818008 c
+14.7458 136.818008 15.2456 135.819 16.2451 135.319 c
+30.7393 122.824005 44.733601 117.326004 59.227798 118.826004 c
+59.727497 118.826004 60.227299 118.826004 60.7271 119.325005 c
+73.221901 123.823006 l
+73.721695 123.823006 73.721695 123.823006 73.721695 123.823006 c
+76.720497 125.323006 79.7192 127.322006 82.718002 128.820999 c
+82.2183 128.820999 l
+109.207008 144.815002 131.698013 154.811005 149.19101 159.309006 c
+148.692001 158.309998 148.692001 156.809998 148.692001 154.311005 c
+133.198013 146.315002 119.703003 138.318008 107.708008 130.320999 c
+104.209999 128.322006 101.211006 126.323006 97.712395 123.824005 c
+84.218002 114.328003 73.222397 105.331001 63.726097 95.835007 c
+61.227299 94.335701 60.227497 92.836197 59.727798 90.337395 c
+57.229004 83.840096 64.2258 78.842003 81.219002 74.843796 c
+82.218498 74.843796 83.218002 74.843796 84.217796 74.843796 c
+149.69101 98.334198 l
+146.693008 65.847397 146.193008 39.8577 147.692001 19.366001 c
+147.692001 18.866199 147.692001 17.866699 148.192001 17.366899 c
+152.690002 7.87085 158.688004 2.8728 165.185013 2.8728 c
+165.685013 2.8728 166.685013 2.8728 167.184006 3.37256 c
+167.684006 3.87231 168.684006 4.37207 169.183014 4.87183 c
+182.678009 21.865002 l
+183.177002 22.3647 183.177002 22.3647 183.677002 22.8645 c
+189.675003 38.3582 191.674011 60.3494 190.175003 89.337898 c
+190.175003 89.837601 l
+189.675003 94.335701 189.675003 99.333694 190.674011 104.832008 c
+190.674011 105.331001 l
+191.174011 107.329994 191.674011 109.329994 192.174011 111.829002 c
+238.655014 129.322006 l
+239.654007 129.820999 240.654007 130.820999 241.154007 131.819992 c
+241.653015 132.819992 241.653015 133.819 241.653015 134.819 c
+240.654007 141.81601 l
+240.154007 143.315002 239.654007 144.815002 238.655014 145.315002 c
+213.665009 163.807007 l
+240.154007 176.302002 l
+196.672012 176.302002 l
+194.673004 175.302002 193.173004 174.803009 192.174011 174.303009 c
+191.174011 174.803009 190.175003 175.802002 189.675003 176.302002 c
+101.709999 176.302002 l
+106.208008 172.803009 l
+h
+140.195999 124.823006 m
+139.195999 124.323006 138.197006 123.323006 137.197006 122.823006 c
+137.697006 123.323006 l
+131.199005 120.324005 125.202003 117.826004 120.204002 116.326004 c
+121.703003 117.326004 123.702003 118.325005 125.701004 119.325005 c
+125.701004 119.325005 125.701004 119.325005 126.201004 119.325005 c
+132.698013 123.823006 140.195007 127.822006 149.192001 131.819992 c
+149.192001 131.319992 149.192001 130.320999 149.192001 129.820999 c
+146.193008 128.322006 143.194 126.822006 140.695007 125.323006 c
+140.195007 125.323006 140.195007 125.323006 140.195007 124.823006 c
+h
+192.675003 141.81601 m
+192.175003 141.31601 191.675003 140.81601 191.175003 140.31601 c
+189.67601 143.815002 189.17601 146.814011 189.67601 148.813004 c
+190.67601 147.314011 191.675003 144.815002 192.675003 141.81601 c
+f
+n
+802.929993 287.757019 m
+803.429993 292.255005 802.929993 296.254028 801.93103 299.752014 c
+798.432068 312.247009 785.937012 321.743011 763.946045 327.741028 c
+762.947021 328.241028 761.947021 328.241028 761.447021 327.741028 c
+751.45105 326.242004 747.953064 318.245026 751.45105 304.251007 c
+750.952026 304.75 l
+751.45105 303.251007 751.45105 301.252014 751.95105 299.253021 c
+752.95105 292.756012 753.950012 284.259003 754.950012 274.763 c
+754.950012 270.265015 754.950012 265.766998 755.450012 261.269012 c
+755.949036 250.27301 756.449036 237.278015 756.449036 222.784012 c
+755.949036 214.78801 755.949036 206.291016 755.949036 197.294006 c
+755.949036 194.296005 755.949036 191.297012 755.949036 187.798004 c
+755.949036 187.299011 755.949036 187.299011 755.949036 186.799011 c
+753.950012 184.800003 751.95105 182.80101 750.452026 181.30101 c
+795.934021 181.30101 l
+797.433044 182.80101 799.432068 183.800003 800.93103 184.800003 c
+800.93103 184.300003 l
+808.42804 189.298004 814.926025 194.296005 819.424011 199.794006 c
+819.424011 200.293015 l
+822.922058 205.291016 825.921021 209.789993 827.419983 214.28801 c
+827.419983 214.78801 827.419983 215.787018 827.419983 216.287018 c
+826.921021 219.286011 825.421021 223.284012 822.922058 227.782013 c
+822.922058 228.282013 822.922058 228.282013 822.423035 228.782013 c
+820.424011 231.281006 817.925049 234.279007 815.426025 237.778015 c
+815.426025 238.278015 815.426025 238.278015 814.926025 238.278015 c
+814.426025 239.777008 814.926025 243.276016 816.425049 248.274017 c
+816.425049 249.27301 816.425049 250.27301 816.425049 251.272018 c
+815.925049 252.272018 815.426025 253.271011 814.426025 253.771011 c
+813.427063 254.271011 812.427063 254.771011 811.427063 254.771011 c
+806.429016 254.771011 l
+804.929993 254.771011 803.93103 254.271011 803.43103 253.271011 c
+802.43103 252.772018 801.93103 251.772018 801.432068 250.27301 c
+799.932068 240.777008 797.933044 232.779999 795.934021 226.282013 c
+795.434021 225.283005 794.935059 224.283005 794.435059 222.784012 c
+793.935059 222.284012 793.435059 221.285004 792.936035 220.285004 c
+792.936035 221.784012 792.936035 222.784012 792.936035 223.784012 c
+793.435059 232.779999 794.935059 245.275009 797.933044 261.768005 c
+797.933044 262.268005 l
+798.433044 265.266998 798.933044 268.266022 799.433044 271.264008 c
+800.432068 276.262024 801.432068 281.259979 802.93103 286.758026 c
+802.93103 287.258026 802.93103 287.258026 802.93103 287.758026 c
+f
+n
+711.467041 291.756012 m
+710.467041 292.255005 709.468018 292.255005 708.968018 292.255005 c
+708.468018 292.255005 707.469055 291.756012 706.969055 291.256012 c
+705.469971 290.756012 704.469971 289.757019 703.969971 288.757019 c
+707.469055 292.755005 709.968018 296.754028 711.467041 300.252014 c
+715.465027 310.748016 712.966003 320.744019 703.969971 330.23999 c
+701.471008 332.739014 698.972046 335.238007 695.47406 337.73703 c
+694.97406 338.23703 693.97406 338.73703 692.975037 338.73703 c
+687.477051 339.236023 683.979004 338.23703 682.479004 335.738007 c
+679.97998 333.739014 679.47998 330.73999 680.97998 326.242004 c
+670.984009 319.744019 661.988037 313.247009 653.991028 307.25 c
+644.495056 300.252014 636.498047 293.755005 629.501038 288.257019 c
+619.005005 279.761017 611.009033 272.764008 606.51001 267.266022 c
+605.511047 265.766998 604.511047 264.766998 604.011047 263.268005 c
+603.012024 261.768005 602.512024 260.769012 603.012024 259.769012 c
+602.512024 257.769989 604.011047 256.271027 606.51001 254.771011 c
+606.011047 254.771011 l
+611.508057 252.272018 631.5 259.769012 664.987061 277.762024 c
+667.986023 279.761017 670.985046 281.759979 674.483032 283.259979 c
+682.47998 282.759979 691.476013 283.759003 700.972046 286.758026 c
+701.472046 287.258026 702.472046 287.258026 702.971008 287.758026 c
+702.472046 287.258026 701.972046 287.258026 701.972046 286.758026 c
+700.473022 284.759003 699.473022 282.759979 698.973022 280.261017 c
+699.473022 280.759979 l
+696.97406 274.763 698.473022 266.766022 704.969971 256.769989 c
+708.469055 251.27301 712.967041 244.775009 719.465027 237.278015 c
+713.467041 214.287003 l
+712.468018 214.787018 710.968018 214.787018 709.469055 214.787018 c
+707.969055 214.787018 705.969971 213.78801 702.472046 211.78801 c
+701.972046 211.289017 701.472046 210.789017 700.972046 210.289017 c
+695.975037 202.792007 690.977051 196.795013 685.979004 191.797012 c
+685.479004 191.297012 684.979004 190.797012 684.479004 190.297012 c
+682.97998 189.298004 681.97998 188.298004 680.981018 187.299011 c
+681.47998 195.795013 684.479004 205.791016 689.977051 216.287018 c
+689.977051 216.787018 689.977051 216.787018 690.477051 216.787018 c
+690.477051 217.286011 690.477051 217.286011 690.477051 217.286011 c
+692.976013 222.784012 696.47406 228.782013 700.473022 234.279999 c
+700.972046 235.279007 700.972046 236.279007 700.972046 236.778015 c
+700.972046 237.278015 700.972046 238.278015 700.972046 238.777008 c
+696.47406 249.27301 691.476013 257.269989 684.979004 261.768005 c
+679.981018 265.766022 674.483032 268.265015 668.986023 268.765015 c
+667.986023 268.765015 666.987061 268.765015 666.487061 268.265015 c
+665.987061 268.265015 665.487061 267.766022 664.988037 267.266022 c
+662.489014 265.766998 659.98999 262.768005 658.48999 259.269012 c
+655.491028 254.771011 653.492004 248.774017 651.993042 241.277008 c
+643.996033 234.779007 636.0 228.282013 627.503052 221.784012 c
+626.004028 221.285004 625.004028 220.285004 624.004028 219.286011 c
+608.511047 208.789993 591.518005 198.294006 574.024048 188.298004 c
+573.025024 188.298004 572.525024 187.798004 572.025024 187.299011 c
+571.526001 186.799011 570.526001 186.799011 570.026001 186.299011 c
+569.027039 185.799011 568.027039 185.300003 567.528015 184.300003 c
+567.028015 183.800003 566.528015 182.80101 566.528015 181.30101 c
+626.004028 181.30101 l
+646.996033 199.794006 l
+646.496033 194.796005 646.496033 189.798004 646.996033 185.300003 c
+646.996033 184.800003 l
+646.996033 184.300003 646.996033 183.800003 646.996033 183.30101 c
+646.996033 182.80101 646.996033 181.80101 646.996033 181.302002 c
+704.472046 181.302002 l
+704.972046 182.30101 705.472046 183.30101 705.972046 183.800003 c
+706.471008 183.800003 l
+706.971008 184.800003 707.471008 185.799011 707.971008 186.299011 c
+708.469971 186.799011 708.469971 186.799011 708.969971 187.299011 c
+712.469055 193.796005 714.968018 198.794006 715.967041 202.792007 c
+716.967041 199.294006 717.966064 195.795013 718.966064 192.297012 c
+718.966064 190.298004 718.966064 188.298004 719.466064 186.299011 c
+719.966064 184.800003 719.966064 182.80101 720.465027 181.30101 c
+747.454041 181.30101 l
+747.954041 183.800003 747.954041 185.799011 747.954041 187.799011 c
+747.954041 190.797012 747.454041 193.796005 745.955017 196.795013 c
+746.455017 196.295013 l
+744.956055 199.794006 742.956055 202.792007 740.457031 205.791016 c
+739.958008 206.291016 l
+736.459045 209.789993 735.459045 214.28801 735.959045 220.785004 c
+736.459045 227.282013 738.958008 235.279007 742.956055 243.776016 c
+743.456055 244.276016 743.456055 245.275009 743.456055 245.775009 c
+743.456055 251.772018 742.956055 257.269989 741.457031 261.768005 c
+738.958008 269.265015 734.459961 275.763 728.462036 281.259979 c
+723.96405 285.759003 717.967041 289.257019 711.469055 291.756012 c
+f
+n
+747.452026 181.300003 m
+720.463013 181.300003 l
+720.463013 178.80101 720.463013 176.302002 720.463013 173.803009 c
+720.463013 173.303009 l
+720.963013 170.305008 720.963013 167.306015 720.963013 163.807007 c
+713.966003 137.818008 l
+713.466003 136.818008 713.466003 135.819 713.966003 134.319 c
+714.466003 133.319992 714.966064 132.319992 715.965027 131.820999 c
+724.96106 125.323006 736.957031 129.322006 751.95105 142.81601 c
+752.450012 143.31601 753.450012 144.315002 753.950012 144.815002 c
+754.449036 30.8606 l
+754.449036 29.861099 754.949036 28.861599 755.449036 28.361799 c
+755.949036 27.362299 756.448059 26.862499 756.948059 26.362799 c
+766.444031 21.365002 773.94104 23.364 780.439026 31.860399 c
+780.439026 32.3601 780.439026 32.3601 780.439026 32.3601 c
+781.938049 35.358898 783.438049 38.857399 784.937012 42.356003 c
+784.937012 42.855698 l
+787.936035 52.351799 789.935059 66.346199 791.434021 84.339096 c
+791.434021 84.838898 791.434021 85.3386 791.434021 85.838394 c
+789.935059 93.335197 788.935059 102.332008 788.435059 111.828003 c
+787.936035 118.825005 787.936035 126.322006 788.435059 133.819 c
+788.435059 134.319 l
+788.435059 138.817001 788.435059 142.815002 788.935059 147.313004 c
+789.435059 152.811005 789.935059 158.809006 790.434021 165.306015 c
+790.434021 165.806015 l
+790.434021 167.305008 790.434021 168.304001 790.934021 169.804001 c
+790.934021 170.304001 790.934021 170.304001 790.934021 170.803009 c
+790.934021 173.302002 791.434021 176.30101 791.934021 178.800003 c
+792.933044 179.800003 794.432068 180.799011 795.932068 181.299011 c
+750.450012 181.299011 l
+748.95105 179.800003 747.45105 178.800003 745.952026 177.30101 c
+746.452026 178.800003 746.952026 179.799011 747.45105 181.299011 c
+f
+n
+626.001038 181.300003 m
+566.525024 181.300003 l
+566.525024 180.30101 567.025024 179.30101 568.024048 178.30101 c
+571.52301 174.303009 576.021057 171.304001 581.019043 168.805008 c
+581.519043 168.305008 l
+589.015015 165.807007 597.512024 164.807007 608.008057 166.306015 c
+608.508057 166.306015 609.507019 166.806015 610.507019 167.306015 c
+626.0 181.300003 l
+f
+n
+686.477051 157.309998 m
+686.477051 157.809006 686.477051 157.809006 686.977051 157.809006 c
+691.475037 163.307007 694.973022 168.305008 698.472046 172.803009 c
+698.972046 172.803009 l
+700.471008 175.802002 702.469971 178.80101 704.469055 181.300003 c
+646.992004 181.300003 l
+646.992004 179.80101 646.992004 178.80101 647.492004 177.302002 c
+647.492004 176.302002 647.492004 175.302002 647.992004 174.303009 c
+647.992004 166.306015 647.492004 159.809006 646.493042 155.311005 c
+645.993042 160.808014 645.493042 164.307007 644.494019 165.806015 c
+642.994019 167.805008 641.495056 168.805008 639.996033 169.305008 c
+638.496033 170.304001 636.497009 169.804001 634.498047 168.305008 c
+632.999023 167.805008 631.0 165.806015 629.5 162.308014 c
+622.003052 156.309998 616.506042 150.313004 613.007019 143.815002 c
+610.508057 139.817001 608.509033 136.318008 608.009033 132.819992 c
+608.509033 133.319992 l
+607.01001 129.320999 607.01001 124.823006 607.51001 120.325005 c
+607.51001 120.825005 l
+608.009033 117.326004 609.009033 114.327003 610.508057 110.829002 c
+610.508057 109.829002 611.008057 108.829994 611.508057 107.829994 c
+611.008057 104.831001 611.508057 102.832008 613.007019 101.333008 c
+614.506042 98.334007 617.005005 97.334496 621.504028 97.834198 c
+625.002014 98.334007 630.5 101.833008 637.997009 108.329994 c
+639.996033 110.329002 641.995056 112.328003 644.494019 114.827003 c
+644.994019 113.328003 644.994019 112.328003 645.494019 110.829002 c
+646.993042 106.331001 648.992004 103.332008 652.491028 101.833008 c
+651.991028 101.833008 l
+663.486023 94.835396 672.483032 96.335007 679.47998 106.331001 c
+679.979004 106.829994 680.479004 107.829994 680.479004 108.329994 c
+680.479004 109.329002 680.479004 110.329002 680.479004 110.828003 c
+679.979004 111.328003 679.979004 111.828003 679.979004 112.328003 c
+679.979004 112.827003 679.979004 112.827003 679.979004 112.827003 c
+679.47998 117.325005 678.97998 121.324005 678.47998 124.823006 c
+677.97998 131.819992 677.97998 137.817001 679.47998 142.315002 c
+679.47998 142.815002 679.47998 143.315002 679.47998 143.815002 c
+680.479004 149.812012 682.978027 154.309998 686.477051 157.309006 c
+f
+n
+1069.819946 334.239014 m
+1069.319946 333.739014 1068.319946 333.739014 1067.819946 333.239014 c
+1067.319946 332.73999 1066.819946 332.23999 1066.329956 331.23999 c
+1065.829956 330.73999 1065.829956 329.741028 1065.329956 328.241028 c
+1062.829956 321.744019 1061.829956 313.248016 1062.329956 303.751007 c
+1062.329956 303.252014 l
+1062.329956 298.254028 1061.829956 293.756012 1060.329956 289.257019 c
+1058.829956 287.758026 1057.829956 285.759003 1056.829956 283.759979 c
+1056.329956 283.759979 l
+998.853027 247.274017 l
+999.353027 250.27301 l
+1026.339966 278.262024 l
+1026.839966 278.762024 1027.339966 279.761017 1027.839966 280.761017 c
+1028.339966 281.759979 1028.339966 282.759979 1027.839966 283.259979 c
+1026.339966 286.758026 1025.339966 289.257019 1023.839966 291.256012 c
+1021.339966 294.755005 1019.339966 296.754028 1016.849976 297.254028 c
+1016.349976 297.753021 1015.349976 297.753021 1014.849976 297.753021 c
+1014.349976 297.753021 l
+1014.349976 299.253021 l
+1014.349976 300.252014 1014.349976 301.252014 1013.849976 301.751007 c
+1007.849976 312.247009 998.353027 319.744019 985.358032 324.242004 c
+984.35907 324.742004 983.35907 324.742004 982.859985 324.742004 c
+982.359985 324.742004 981.359985 324.242004 980.861023 323.743011 c
+971.864075 318.745026 l
+971.365051 318.245026 970.865051 317.745026 970.365051 317.246002 c
+969.865051 316.746002 969.365051 315.746002 969.365051 315.247009 c
+964.867065 277.262024 l
+961.369019 274.763 958.369995 272.764008 955.371033 270.765015 c
+950.374023 267.766022 945.375061 265.266998 940.877075 263.268005 c
+940.377014 263.268005 l
+937.379028 261.769012 934.380005 260.769012 931.881042 259.769012 c
+930.382019 259.269989 929.882019 258.769989 929.382019 257.769989 c
+928.383057 256.771027 927.883057 255.771011 928.383057 254.272018 c
+931.881042 235.779007 940.378052 227.782013 954.87207 229.282013 c
+955.37207 229.282013 956.371033 229.282013 956.871033 229.781006 c
+956.871033 229.282013 956.871033 229.282013 956.871033 228.782013 c
+956.371033 225.283005 955.871033 222.285004 955.37207 219.286011 c
+953.373047 209.289993 949.874023 202.793015 944.876038 199.794006 c
+944.376038 199.294006 943.876038 199.294006 943.377075 198.794006 c
+942.877075 198.294006 942.877075 198.294006 942.877075 197.795013 c
+989.858032 197.795013 l
+996.855042 235.779007 l
+998.354065 234.279999 999.854065 233.281006 1001.849976 231.781006 c
+1004.849976 229.282013 1007.849976 227.783005 1011.349976 226.783005 c
+1011.349976 226.783005 1011.349976 226.783005 1011.849976 226.783005 c
+1014.849976 226.283005 1017.849976 226.283005 1020.839966 226.783005 c
+1020.839966 226.783005 1020.839966 226.783005 1021.339966 226.783005 c
+1023.839966 227.783005 1026.339966 229.282013 1028.839966 230.781006 c
+1030.339966 231.281006 1031.339966 232.281006 1032.839966 232.781006 c
+1036.839966 235.279007 1040.339966 237.778015 1043.839966 240.277008 c
+1043.839966 239.778015 1043.839966 239.278015 1043.839966 238.778015 c
+1043.339966 237.279007 1042.839966 235.279999 1042.339966 232.781006 c
+1042.839966 233.279999 l
+1042.339966 230.781006 1041.339966 228.782013 1040.839966 226.283005 c
+1040.839966 226.783005 l
+1038.339966 220.286011 1035.839966 214.28801 1033.339966 208.789993 c
+1032.839966 208.789993 l
+1032.339966 208.291016 1031.839966 207.291016 1031.339966 206.292007 c
+1031.339966 205.292007 1031.339966 204.292007 1031.839966 203.293015 c
+1032.339966 201.294006 1033.339966 199.294006 1034.339966 197.795013 c
+1102.809937 197.795013 l
+1103.309937 201.294006 1103.309937 204.292007 1101.809937 206.792007 c
+1099.809937 211.289993 1095.809937 214.78801 1089.819946 217.787018 c
+1089.319946 217.787018 1089.319946 217.787018 1089.319946 217.787018 c
+1087.819946 218.287018 1085.819946 219.286011 1084.319946 219.786011 c
+1083.819946 220.286011 1082.819946 220.286011 1082.319946 220.286011 c
+1074.819946 220.286011 l
+1074.819946 222.285004 1074.819946 224.284012 1075.319946 226.283005 c
+1075.819946 227.782013 1076.319946 229.282013 1076.819946 230.781006 c
+1076.819946 231.281006 l
+1077.319946 233.279999 1077.819946 235.279007 1078.819946 236.779007 c
+1078.819946 237.278015 1078.819946 237.278015 1079.319946 237.778015 c
+1098.309937 273.264008 l
+1118.809937 287.258026 l
+1119.309937 287.758026 1119.800049 288.757019 1120.300049 289.257019 c
+1120.800049 290.257019 1120.800049 291.256012 1120.800049 291.756012 c
+1120.300049 303.751007 1115.309937 310.248016 1106.809937 310.748016 c
+1103.809937 317.245026 l
+1103.309937 318.245026 1102.809937 318.745026 1102.309937 319.244019 c
+1095.809937 324.742004 1090.319946 328.73999 1085.819946 331.23999 c
+1079.819946 334.238007 1074.319946 335.238007 1069.829956 334.238007 c
+h
+1074.319946 234.779007 m
+1074.819946 235.278015 l
+1075.319946 235.278015 l
+1074.319946 234.779007 l
+f
+n
+1102.809937 197.793015 m
+1034.339966 197.793015 l
+1037.339966 192.296005 1040.339966 189.297012 1043.829956 188.297012 c
+1044.329956 188.297012 1045.329956 188.297012 1045.829956 188.297012 c
+1046.329956 188.297012 1047.329956 188.297012 1047.829956 188.797012 c
+1052.329956 191.296005 1056.329956 193.295013 1059.329956 193.795013 c
+1058.829956 193.295013 1058.829956 192.296005 1058.829956 191.296005 c
+1058.829956 191.796005 l
+1056.829956 186.298004 1054.329956 181.800003 1051.329956 178.302002 c
+1036.839966 191.796005 1025.839966 196.294006 1019.339966 190.796005 c
+1018.339966 190.297012 1017.839966 189.797012 1017.339966 189.297012 c
+1016.839966 188.797012 1016.839966 187.798004 1016.839966 186.798004 c
+1016.839966 179.80101 l
+1016.839966 178.802002 1017.339966 177.802002 1017.839966 177.302002 c
+1021.839966 170.305008 1025.339966 164.308014 1028.339966 159.809998 c
+1028.339966 160.309006 l
+1030.839966 155.811005 1032.839966 152.813004 1034.839966 150.313004 c
+1034.339966 149.814011 1034.339966 148.814011 1033.839966 148.314011 c
+1026.839966 134.819992 1018.839966 123.824005 1009.349976 115.328003 c
+1008.849976 115.328003 l
+1008.349976 114.828003 1008.349976 114.328003 1007.849976 113.829002 c
+996.353027 106.332008 989.356018 103.833008 985.858032 105.332008 c
+985.358032 105.832008 l
+984.858032 107.331009 984.858032 109.329994 984.858032 111.829002 c
+984.358032 119.326004 984.858032 130.822006 985.358032 145.31601 c
+985.858032 146.315002 985.858032 147.315002 985.858032 147.815002 c
+985.858032 152.813004 985.858032 157.811005 986.357056 163.308014 c
+986.857056 169.806015 986.857056 176.303009 987.357056 183.300003 c
+989.856018 197.794006 l
+942.875061 197.794006 l
+942.375061 197.295013 941.375061 196.295013 940.876038 195.296005 c
+940.376038 194.796005 939.376038 194.296005 938.877014 193.297012 c
+938.877014 192.797012 l
+931.380005 183.80101 924.882019 175.804001 918.385071 169.306015 c
+912.387024 163.309006 906.889954 157.811005 902.392029 152.813004 c
+899.393066 150.314011 896.894043 148.315002 894.39502 145.81601 c
+894.39502 146.31601 l
+889.397034 142.318008 884.899048 139.319 880.901062 136.819992 c
+879.401062 136.319992 878.902039 135.320999 878.402039 134.320999 c
+877.902039 133.322006 877.902039 132.322006 878.402039 130.823013 c
+878.402039 129.823013 878.902039 128.823013 879.901062 128.324005 c
+903.891052 110.331009 l
+904.391052 109.831009 905.391052 109.332008 906.889954 109.332008 c
+907.389954 109.332008 908.389038 109.332008 909.389038 109.831009 c
+919.885071 115.829002 929.881042 126.324005 938.877014 141.319 c
+940.376038 142.818008 941.376038 144.817001 941.876038 146.31601 c
+941.876038 146.81601 941.876038 146.81601 942.375061 146.81601 c
+944.874023 151.814011 947.373047 156.812012 949.87207 162.309998 c
+949.87207 162.809998 949.87207 162.809998 950.37207 162.809998 c
+950.87207 164.809006 951.37207 166.308014 952.371033 167.807007 c
+948.373047 104.833008 l
+944.874023 102.334007 936.877014 102.334007 924.383057 104.833008 c
+923.883057 105.333008 923.383057 105.333008 922.883057 105.333008 c
+916.386047 104.333008 912.887024 102.334007 912.388062 99.335007 c
+909.889038 96.336197 911.388062 92.337898 916.886047 87.8396 c
+917.385071 87.339798 917.885071 87.339798 918.385071 86.840096 c
+937.877014 80.842499 951.37207 72.845695 959.868042 62.849899 c
+960.368042 62.350098 961.368042 61.8503 962.367065 61.350597 c
+962.867065 61.350597 963.866028 61.350597 964.866028 61.350597 c
+975.362061 62.849899 981.85907 68.347702 984.358032 77.344002 c
+987.357056 73.845497 990.356018 72.346199 992.855042 72.346199 c
+993.854065 72.346199 994.854065 72.346199 995.854065 72.845901 c
+1015.349976 83.341599 1031.839966 95.336899 1044.329956 108.332008 c
+1044.829956 108.332008 l
+1049.329956 113.329002 1053.829956 118.327003 1057.829956 123.825005 c
+1082.819946 91.838097 l
+1083.319946 91.338394 1084.319946 91.338394 1084.819946 90.8386 c
+1085.319946 90.338898 1086.319946 90.338898 1086.819946 90.338898 c
+1102.309937 90.8386 1121.800049 96.336395 1144.789917 107.332008 c
+1152.289917 110.831009 1159.789917 115.329002 1168.280029 120.327003 c
+1168.780029 120.826004 1169.780029 121.826004 1170.280029 122.326004 c
+1170.780029 122.825005 1170.780029 123.825005 1170.780029 124.824005 c
+1170.780029 129.822006 l
+1170.780029 130.822006 1170.780029 131.820999 1170.280029 132.320999 c
+1169.780029 133.320999 1168.780029 133.819992 1167.780029 134.319992 c
+1166.780029 134.819992 1165.780029 134.819992 1164.780029 134.319992 c
+1146.789917 130.322006 1128.300049 131.820999 1109.809937 138.318008 c
+1080.819946 160.309006 l
+1084.319946 170.305008 1089.319946 179.302002 1095.809937 186.799011 c
+1095.809937 187.298004 l
+1097.309937 188.798004 1098.309937 189.797012 1099.309937 191.297012 c
+1099.809937 191.796005 1099.809937 191.796005 1100.309937 192.296005 c
+1101.309937 194.295013 1102.309937 196.294006 1102.809937 197.794006 c
+f
+Q
+Q
+n
+[/EMC PDFMark5
+PDFVars/TermAll get exec end end
+%%PageTrailer
+%%Trailer
+%%EOF
diff --git a/macros/latex/contrib/hustthesis/hust-title.pdf b/macros/latex/contrib/hustthesis/hust-title.pdf
new file mode 100644
index 0000000000..bce78c095e
--- /dev/null
+++ b/macros/latex/contrib/hustthesis/hust-title.pdf
Binary files differ
diff --git a/macros/latex/contrib/hustthesis/hustthesis-en-example.pdf b/macros/latex/contrib/hustthesis/hustthesis-en-example.pdf
new file mode 100644
index 0000000000..cf2fddf762
--- /dev/null
+++ b/macros/latex/contrib/hustthesis/hustthesis-en-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/hustthesis/hustthesis-zh-example.pdf b/macros/latex/contrib/hustthesis/hustthesis-zh-example.pdf
new file mode 100644
index 0000000000..2d97c27d73
--- /dev/null
+++ b/macros/latex/contrib/hustthesis/hustthesis-zh-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/hustthesis/hustthesis.dtx b/macros/latex/contrib/hustthesis/hustthesis.dtx
new file mode 100644
index 0000000000..bd2d8d690f
--- /dev/null
+++ b/macros/latex/contrib/hustthesis/hustthesis.dtx
@@ -0,0 +1,4218 @@
+% \iffalse meta-comment
+% !TEX program = LuaLaTeX
+%
+% hustthesis.dtx
+%
+% Copyright (C) 2013-2014 by Xu Cheng <xucheng@me.com>
+% 2014-2016 by hust-latex <https://github.com/hust-latex>
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is hust-latex Organization.
+%
+% This work consists of the files hustthesis.bst, hustthesis.dtx,
+% hustthesis.ins and the derived file hustthesis.cls
+% along with its document and example files.
+%
+% \fi
+%
+% \iffalse
+%<*driver>
+\ProvidesFile{hustthesis.dtx}
+%</driver>
+%<class>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+%<class>\ProvidesClass{hustthesis}
+%<*class>
+[2016/11/17 v1.4 A Thesis Template for Huazhong University of Science and Technology]
+%</class>
+%
+%<*driver>
+\documentclass[12pt,a4paper,numbered,full]{l3doc}
+
+\usepackage{fontspec}
+\setmainfont[Ligatures={Common,TeX}]{Tex Gyre Pagella}
+\setsansfont[Ligatures={Common,TeX}]{Droid Sans}
+\setmonofont{CMU Typewriter Text}
+\defaultfontfeatures{Mapping=tex-text,Scale=MatchLowercase}
+
+\usepackage{luatexja-fontspec}
+\setmainjfont[BoldFont={AdobeHeitiStd-Regular},ItalicFont={AdobeKaitiStd-Regular}]{AdobeSongStd-Light}
+\setsansjfont{AdobeKaitiStd-Regular}
+\defaultjfontfeatures{JFM=kaiming}
+\newjfontfamily\KAI{AdobeKaitiStd-Regular}
+\newjfontfamily\FANGSONG{AdobeFangsongStd-Regular}
+
+\linespread{1.2}\selectfont
+
+\usepackage[top=1.2in,bottom=1.2in,left=1.5in,right=1in]{geometry}
+\pagewidth=\paperwidth
+\pageheight=\paperheight
+
+\usepackage{color}
+\usepackage[table]{xcolor}
+
+\definecolor{hyperreflinkred}{RGB}{128,23,31}
+\hypersetup{
+ unicode,
+ bookmarksnumbered=true,
+ bookmarksopen=true,
+ bookmarksopenlevel=0,
+ breaklinks=true,
+ colorlinks=true,
+ allcolors=hyperreflinkred,
+ linktoc=page,
+ plainpages=false,
+ pdfpagelabels=true,
+ pdfstartview={XYZ null null 1}
+}
+\usepackage{indentfirst}
+\setlength{\parindent}{2em}
+
+\usepackage{titlesec,titletoc}
+\usepackage[titles]{tocloft}
+\setcounter{tocdepth}{2}
+\setcounter{secnumdepth}{3}
+
+\usepackage{enumitem}
+\setlist{noitemsep,partopsep=0pt,topsep=.8ex}
+\setlist[1]{labelindent=\parindent}
+\setlist[enumerate,1]{label=\arabic*.,ref=\arabic*}
+\setlist[enumerate,2]{label*=\arabic*,ref=\theenumi.\arabic*}
+\setlist[enumerate,3]{label=\emph{\alph*}),ref=\theenumii\emph{\alph*}}
+
+\usepackage{listings}
+\definecolor{lstgreen}{rgb}{0,0.6,0}
+\definecolor{lstgray}{rgb}{0.5,0.5,0.5}
+\definecolor{lstmauve}{rgb}{0.58,0,0.82}
+\lstset{
+ basicstyle=\footnotesize\ttfamily\FANGSONG,
+ keywordstyle=\color{blue}\bfseries,
+ commentstyle=\color{lstgreen}\itshape\KAI,
+ stringstyle=\color{lstmauve},
+ showspaces=false,
+ showstringspaces=false,
+ showtabs=false,
+ numbers=left,
+ numberstyle=\tiny\color{lstgray},
+ frame=lines,
+ rulecolor=\color{black},
+ breaklines=true
+}
+
+\AtBeginEnvironment{verbatim}{\small}
+\let\AltMacroFont\MacroFont
+
+\usepackage{metalogo}
+\usepackage{notes}
+\usepackage{tabularx}
+
+\renewcommand{\cftsecleader}{\cftdotfill{\cftdotsep}}
+\setlength{\cftsecindent}{2em}
+\setlength{\cftsubsecindent}{4em}
+\makeatletter
+\newskip\HUST@oldcftbeforepartskip
+\HUST@oldcftbeforepartskip=\cftbeforepartskip
+\newskip\HUST@oldcftbeforesecskip
+\HUST@oldcftbeforesecskip=\cftbeforesecskip
+\let\HUST@oldl@part\l@part
+\let\HUST@oldl@section\l@section
+\let\HUST@oldl@subsection\l@subsection
+\def\l@part#1#2{\HUST@oldl@part{#1}{#2}\cftbeforepartskip=3pt}
+\def\l@section#1#2{\HUST@oldl@section{#1}{#2}\cftbeforepartskip=\HUST@oldcftbeforepartskip\cftbeforesecskip=3pt}
+\def\l@subsection#1#2{\HUST@oldl@subsection{#1}{#2}\cftbeforesecskip=\HUST@oldcftbeforesecskip}
+\makeatother
+
+\titleformat{\part}
+ {
+ \bfseries
+ \centering
+ \fontsize{18pt}{23.4pt}\selectfont
+ }
+ {\thepart}
+ {1em}
+ {}
+\let\oldpart\part
+\def\part#1{\newpage\oldpart{#1}}
+
+\def\orvar{\textnormal{|}}
+
+\IndexPrologue
+ {
+ \part{Index}
+ The~italic~numbers~denote~the~pages~where~the~
+ corresponding~entry~is~described,~
+ numbers~underlined~point~to~the~definition,~
+ all~others~indicate~the~places~where~it~is~used.
+ }
+
+\GlossaryPrologue
+ {
+ \part{Change History}
+ }
+
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+
+\def\email#1{
+ \href{mailto:#1}{\texttt{#1}}
+}
+
+\usepackage{xparse}
+\ExplSyntaxOn
+\DeclareDocumentCommand\pkgurl{o m}
+{
+ \IfNoValueTF{#1}
+ {
+ \href
+ {
+ http://mirrors.ctan.org/help/Catalogue/entries/
+ \str_fold_case:n {#2} .html
+ }
+ { \textsf{#2} }
+ }
+ {
+ \href
+ {
+ http://mirrors.ctan.org/help/Catalogue/entries/
+ \str_fold_case:n {#1} .html
+ }
+ { \textsf{#2} }
+ }
+}
+\ExplSyntaxOff
+
+\newcommand{\tabincell}[2]{\begin{tabular}{@{}#1@{}}#2\end{tabular}}
+
+\begin{document}
+\DocInput{hustthesis.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \CheckSum{1568}
+%
+% \iffalse
+%<*!(example-bib)>
+% \fi
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+% \iffalse
+%</!(example-bib)>
+% \fi
+%
+% \changes{v1.0}{2013/06/01}{Initial version}
+% \changes{v1.1}{2013/07/01}{Pack template using dtx and ins file}
+% \changes{v1.1}{2013/07/01}{Add language option}
+% \changes{v1.2}{2016/06/01}{Fix for TeXLive 2016. Remove \texttt{interfaces} and other problematic package}
+% \changes{v1.3}{2016/07/05}{Fix for \XeLaTeX}
+% \changes{v1.4}{2016/11/17}{Minor update to fulfill school requirement.}
+% \changes{v1.4}{2016/11/17}{Add command to custom apply name field.}
+%
+% \GetFileInfo{hustthesis.dtx}
+%
+% \DoNotIndex{\#,\$,\%,\&,\@,\\,\{,\},\^,\_,\~,\ ,\,}
+% \DoNotIndex{\def,\if,\else,\fi,\gdef,\long,\let}
+% \DoNotIndex{\@ne,\@nil}
+% \DoNotIndex{\begingroup,\endgroup,\advance}
+% \DoNotIndex{\newcommand,\renewcommand}
+% \DoNotIndex{\newenvironment,\renewenvironment}
+% \DoNotIndex{\RequirePackage}
+%
+% \title{A Thesis Template for Huazhong University of Science and Technology: the \textsf{hustthesis} class
+% \thanks{This document corresponds to \textsf{hustthesis.cls}~\fileversion, dated \filedate.}}
+% \author{Xu Cheng \\ \email{xucheng@me.com}}
+% \date{\today}
+%
+% \begingroup
+% \hypersetup{allcolors=black}
+% \maketitle
+% \endgroup
+% \tableofcontents
+%
+% \part{Introduction}
+%
+% This is a thesis template for \href{http://www.hust.edu.cn/}{Huazhong University of Science \& Technology}. This template is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+%
+% The whole project is published under LPPL v1.3 License at \href{https://github.com/hust-latex/hustthesis}{GitHub}.
+%
+% 中文使用说明见\autoref{part:中文使用说明}。
+%
+% English version instruction is in \autoref{part:English Version Instruction}.
+%
+% \part{中文使用说明}\label{part:中文使用说明}
+%
+% \section{使用必要条件}
+%
+% \begin{enumerate}
+% \item 安装最新版本的\href{http://www.tug.org/texlive/}{\texttt{TeXLive}}(推荐)或\href{http://miktex.org/}{\texttt{MiKTeX}}。因为未及时更新的宏包可能存在未修复的bug,请确保所有宏包都更新至最新。
+% \item 安装如下中文字体\footnote{本模板所用到的英文字体\textsf{Tex Gyre Termes},\textsf{Droid Sans}和\textsf{CMU Typewriter Text}均默认安装于\textsf{TeXLive}和\textsf{MiKTeX}中。}:
+% \begin{enumerate}[label=\emph{\alph*})]
+% \item \textsf{AdobeSongStd-Light}
+% \item \textsf{AdobeKaitiStd-Regular}
+% \item \textsf{AdobeHeitiStd-Regular}
+% \item \textsf{AdobeFangsongStd-Regular}
+% \end{enumerate}
+% \begin{informationnote}
+% 如果使用\textnormal{\LuaTeX},安装字体之后需运行命令\verb+mkluatexfontdb+生成字体索引。
+% \end{informationnote}
+% \end{enumerate}
+%
+% \section{安装}
+%
+% \subsection{安装到本地}
+%
+% 使用如下命令即可安装本模板到本地:
+% \begin{verbatim}
+% make install
+% \end{verbatim}
+% 如需卸载,则使用如下命令:
+% \begin{verbatim}
+% make uninstall
+% \end{verbatim}
+%
+% 对于没有安装\verb+Make+的Windows系统用户,可以使用如下命令安装:
+% \begin{verbatim}
+% makewin32.bat install
+% \end{verbatim}
+% 如需卸载,则使用如下命令:
+% \begin{verbatim}
+% makewin32.bat uninstall
+% \end{verbatim}
+% 虽然\verb+makewin32.bat+表现与\verb+Makefile+极其相似,但是还是强烈建议你安装\verb+Make+,对于Windows用户可以在\href{http://gnuwin32.sourceforge.net/packages/make.htm}{这里}下载。
+%
+% \subsection{免安装使用}
+%
+% 如果你希望临时使用本模板,而非安装到本地供长期使用。使用如下命令解压模板文件:
+% \begin{verbatim}
+% make unpack
+% \end{verbatim}
+% 对于没有安装\verb+Make+的Windows系统用户,则使用如下命令解压:
+% \begin{verbatim}
+% makewin32.bat unpack
+% \end{verbatim}
+%
+% 再将\verb+hustthesis+目录下的如下文件拷贝到你\TeX{}工程根目录下即可:
+% \begin{itemize}
+% \item \verb+hustthesis.bst+
+% \item \verb+hustthesis.cls+
+% \item \verb+hust-title.eps+
+% \item \verb+hust-title.pdf+
+% \end{itemize}
+%
+% \section{基本用法}
+%
+% \begin{importantnote}
+% 本文档只能使用\textnormal{\XeLaTeX}或\textnormal{\LuaLaTeX}(推荐)编译。
+% \end{importantnote}
+%
+% 在源文件开头处选择加载本文档类型,即可使用本模板,如下所示:
+% \begin{verbatim}
+% \documentclass{hustthesis}
+% \end{verbatim}
+%
+% \subsection{文档类型选项}
+%
+% 加载本文档类型时,有如下三个选项提供选择。
+%
+% \begin{function}{format}
+% \begin{syntax}
+% format = \meta{draft\orvar{}\textbf{final}}
+% \end{syntax}
+% 提交草稿选择\verb+draft+选项,提交最终版选\verb+final+选项。其中草稿正文页包括页眉(“华中科技大学\verb+xx+学位论文”)、页眉修饰线(双线)、页脚(页码)和页脚修饰线(单线)。而最终版正文页不包括页眉、页眉修饰线和页脚修饰线,仅包含页脚(页码)。如果不指定,默认设置为\verb+final+。
+% \end{function}
+%
+% \begin{function}{degree}
+% \begin{syntax}
+% degree = \meta{\textbf{none}\orvar{}fyp\orvar{}bachelor\orvar{}master\orvar{}phd}
+% \end{syntax}
+% 指定论文种类,它将通过设置字段\verb+\HUST@zhapplyname+和\verb+\HUST@enapplyname+来影响中英文封面处的标题和正文处的页眉(如果\verb+format+设为\verb+draft+)。各个不同的选项产生的效果见表\ref{tab:optdegree-zh}。如果不指定,默认设置为\verb+none+。如有需要,这两个字段可以通过\href{doc/function//applyname}{\texttt{\textbackslash{}zhapplyname},\texttt{\textbackslash{}enapplyname},\texttt{\textbackslash{}applyname}}命令进一步修改。
+% \end{function}
+%
+% \begin{function}[updated=2013-07-01]{language}
+% \begin{syntax}
+% language = \meta{\textbf{chinese}\orvar{}english\orvar{}english-draft}
+% \end{syntax}
+% 指定论文语言。特别的,如果设定为\verb+english-draft+,将会剔除论文中的所有中文内容,这有利于在未安装中文字体的环境中使用。如果不指定,默认设置为\verb+chinese+。
+% \end{function}
+%
+% \begin{table}[ht]
+% \centering
+% \caption{\texttt{degree}选项的作用}\label{tab:optdegree-zh}
+% \begin{tabularx}{\textwidth}{|c|X|X|}
+% \hline
+% \textbf{选项} & \tabincell{c}{\textbf{中文标题}\\(字段\verb+\HUST+\verb+@zhapplyname+)} & \tabincell{c}{\textbf{英文标题}\\(字段\verb+\HUST+\verb+@enapplyname+)} \\
+% \hline
+% \verb+none+ & 学位论文 & A Thesis Submitted in Partial Fulfillment of the Requirements for the Degree \\ \hline
+% \verb+fyp+ & 毕业论文 & A Thesis Submitted in Partial Fulfillment of the Requirements for Final Year Project \\ \hline
+% \verb+bachelor+ & 学士学位论文 & A Thesis Submitted in Partial Fulfillment of the Requirements for the Degree of Bachelor \\ \hline
+% \verb+master+ & 硕士学位论文 & A Thesis Submitted in Partial Fulfillment of the Requirements for the Degree of Master \\ \hline
+% \verb+phd+ & 博士学位论文 & A Thesis Submitted in Partial Fulfillment of the Requirements for the Degree of Philosophy \\ \hline
+% \end{tabularx}
+% \end{table}
+%
+% \subsection{基本字段设置}
+%
+% 模板中定义一些命令用于设置文档中的字段。其中一部分命令是以\verb+\zhX{<Chinese var>}+,\verb+\enX{<English var>}+和\verb+\X{<Chinese var>}{<English var>}+的形式出现,他们分别意味着设置字段\verb+X+的中文部分,英文部分及一同设定。
+%
+% \begin{function}{\zhtitle,\entitle,\title}
+% \begin{syntax}
+% \cs{zhtitle}\Arg{Chinese title}
+% \cs{entitle}\Arg{English title}
+% \cs{title}\Arg{Chinese title}\Arg{English title}
+% \end{syntax}
+% 这一组命令用于设定论文的中英文标题。
+% \end{function}
+%
+% \begin{function}{\zhauthor,\enauthor,\author}
+% \begin{syntax}
+% \cs{zhauthor}\Arg{Chinese author}
+% \cs{enauthor}\Arg{English author}
+% \cs{author}\Arg{Chinese author}\Arg{English author}
+% \end{syntax}
+% 这一组命令用于设定论文的中英文作者名。
+% \end{function}
+%
+% \begin{function}{\date}
+% \begin{syntax}
+% \cs{date}\Arg{Year}\Arg{Month}\Arg{Day}
+% \end{syntax}
+% 该命令用于设定论文的答辩日期。如果不设定,则会选择当前编译日期作为答辩日期。
+% \end{function}
+%
+% \begin{function}{\zhschoolname,\enschoolname,\schoolname}
+% \begin{syntax}
+% \cs{zhschoolname}\Arg{Chinese school name}
+% \cs{enschoolname}\Arg{English school name}
+% \cs{schoolname}\Arg{Chinese school name}\Arg{English school name}
+% \end{syntax}
+% 这一组命令用于设定论文的中英文学校名。该字段在模板中已默认设置为\verb+\schoolname{华中科技大学}{Huazhong University of Science \& Technology}+。所以除非需更改学校名,无需使用该命令。
+% \end{function}
+%
+% \begin{function}{\zhaddress,\enaddress,\address}
+% \begin{syntax}
+% \cs{zhaddress}\Arg{Chinese address}
+% \cs{enaddress}\Arg{English address}
+% \cs{address}\Arg{Chinese address}\Arg{English address}
+% \end{syntax}
+% 这一组命令用于设定论文的中英文学校地址。该字段在模板中已默认设置为\verb+\address{中国,武汉,430074}{Wuhan~430074, P.~R.~China}+。所以除非需更改学校地址,无需使用该命令。
+% \end{function}
+%
+% \begin{function}[updated=2016-11-17]{\zhapplyname,\enapplyname,\applyname}
+% \begin{syntax}
+% \cs{zhapplyname}\Arg{Chinese apply name}
+% \cs{enapplyname}\Arg{English apply name}
+% \cs{applyname}\Arg{Chinese apply name}\Arg{English apply name}
+% \end{syntax}
+% 这一组命令用于自定义中英文封面处的标题和正文处的页眉。详情见~\href{doc/function//degree}{\texttt{degree} 文档类型选项}。
+% \end{function}
+%
+% \begin{function}{\zhmajor,\enmajor,\major}
+% \begin{syntax}
+% \cs{zhmajor}\Arg{Chinese major}
+% \cs{enmajor}\Arg{English major}
+% \cs{major}\Arg{Chinese major}\Arg{English major}
+% \end{syntax}
+% 这一组命令用于设定论文的中英文专业名。
+% \end{function}
+%
+% \begin{function}{\zhsupervisor,\ensupervisor,\supervisor}
+% \begin{syntax}
+% \cs{zhsupervisor}\Arg{Chinese supervisor}
+% \cs{ensupervisor}\Arg{English supervisor}
+% \cs{supervisor}\Arg{Chinese supervisor}\Arg{English supervisor}
+% \end{syntax}
+% 这一组命令用于设定论文的中英文指导老师名(含职称)。
+% \end{function}
+%
+% \begin{function}{\zhasssupervisor,\enasssupervisor,\asssupervisor}
+% \begin{syntax}
+% \cs{zhasssupervisor}\Arg{Chinese asssupervisor}
+% \cs{enasssupervisor}\Arg{English asssupervisor}
+% \cs{asssupervisor}\Arg{Chinese asssupervisor}\Arg{English asssupervisor}
+% \end{syntax}
+% 这一组命令用于设定论文的中英文副指导老师名(含职称)。该命令是可选的,如果不加以设定,封面处不会显示相应项。
+% \end{function}
+%
+% \begin{function}{\schoolcode}
+% \begin{syntax}
+% \cs{schoolcode}\Arg{school code}
+% \end{syntax}
+% 用于设置学校代码。
+% \end{function}
+%
+% \begin{function}{\stuno}
+% \begin{syntax}
+% \cs{stuno}\Arg{student number}
+% \end{syntax}
+% 用于设置学号。
+% \end{function}
+%
+% \begin{function}{\classno}
+% \begin{syntax}
+% \cs{classno}\Arg{classify number}
+% \end{syntax}
+% 用于设置分类号。
+% \end{function}
+%
+% \begin{function}{\secretlevel}
+% \begin{syntax}
+% \cs{secretlevel}\Arg{secret level}
+% \end{syntax}
+% 用于设置密级。
+% \end{function}
+%
+% \begin{function}{\zhabstract,\enabstract,\abstract}
+% \begin{syntax}
+% \cs{zhabstract}\Arg{Chinese abstract}
+% \cs{enabstract}\Arg{English abstract}
+% \cs{abstract}\Arg{Chinese abstract}\Arg{English abstract}
+% \end{syntax}
+% 这一组命令用于设定论文的中英文摘要。
+% \end{function}
+%
+% \begin{function}{\zhkeywords,\enkeywords,\keywords}
+% \begin{syntax}
+% \cs{zhkeywords}\Arg{Chinese keywords}
+% \cs{enkeywords}\Arg{English keywords}
+% \cs{keywords}\Arg{Chinese keywords}\Arg{English keywords}
+% \end{syntax}
+% 这一组命令用于设定论文的中英文关键字。
+% \end{function}
+%
+% \subsection{其它基本命令}
+%
+% 下面来介绍其它基本命令。
+%
+% \begin{function}{\frontmatter,\mainmatter,\backmatter}
+% 这一组命令用于设定论文的状态、改变样式,其具体使用见\nameref{sec:简单示例}。\verb+\frontmatter+用在文档最开始,表明文档的前言部分(如封面,摘要,目录等)的开始。\verb+\mainmatter+表示论文正文的开始。\verb+\backmatter+表示论文正文的结束。
+% \end{function}
+%
+% \begin{function}{\maketitle,\makecover}
+% \verb+\maketitle+和\verb+\makecover+作用相同,用于生成封面和版权页面。
+% \end{function}
+%
+% \begin{function}{\makeabstract}
+% 用于生成中英文摘要页面。
+% \end{function}
+%
+% \begin{function}{\tableofcontents}
+% 用于生成目录。
+% \end{function}
+%
+% \begin{function}{\zhdateformat,\endateformat}
+% 用于打印中英文日期。
+% \end{function}
+%
+% \vskip 1ex\DescribeEnv{ack}
+% \verb+ack+环境用于致谢页面。使用方法如下:
+% \begin{verbatim}
+% \begin{ack}
+% <content>
+% \end{ack}
+% \end{verbatim}
+%
+% \begin{function}{\bibliography}
+% \begin{syntax}
+% \cs{bibliography}\Arg{.bib file}
+% \end{syntax}
+% 用于生成参考文献。
+% \end{function}
+%
+% \vskip 1ex\DescribeEnv{appendix}
+% \verb+appendix+环境用于附录环境。你可以将附录置于\verb+appendix+环境中,如:
+% \begin{verbatim}
+% \begin{appendix}
+% <content>
+% \end{appendix}
+% \end{verbatim}
+% \begin{function}{\appendix}
+% 或者使用\verb+\appendix+代表后文均为附录,如:
+% \begin{verbatim}
+% \appendix
+% <content>
+% \end{verbatim}
+% \end{function}
+%
+% \begin{function}{\listoffigures,\listoftables}
+% 这两个命令分别用于生成图片和表格索引,可以根据要求在论文前言中使用或附录中使用。
+% \end{function}
+%
+% \vskip 1ex\DescribeEnv{publications}
+% \verb+publications+环境用于已发表论文页面。一般用于附录中。使用上同\verb+enumerate+环境。如下:
+% \begin{verbatim}
+% \begin{publications}
+% \item <thesis>
+% <...>
+% \end{publications}
+% \end{verbatim}
+%
+% \begin{function}{\TurnOffTabFontSetting,\TurnOnTabFontSetting}
+% 因为模板中设定了表格的行距和字号,使得使用中无法临时自定义表格的行距和字号。故提供两个命令用于关闭和开启默认表格的行距和字号设置。比如你如果需要输出一个自己定义字号的表格,可以使用如下示例:
+% \begin{verbatim}
+% \begingroup
+% \TurnOffTabFontSetting
+% \footnotesize % 设置字号
+% \begin{tabular}{...}
+% <content>
+% \end{tabular}
+% \TurnOnTabFontSetting
+% \endgroup
+% \end{verbatim}
+% \end{function}
+%
+% \begin{function}{\email}
+% \begin{syntax}
+% \cs{email}\Arg{Email Address}
+% \end{syntax}
+% 用于生成邮箱地址。如\verb+\email{name@example.com}+会生成如下效果的地址:\email{name@example.com}。
+% \end{function}
+%
+% \section{简单示例}\label{sec:简单示例}
+% 如下为一个使用本模板的简单示例。更完整的例子请见\texttt{hustthesis-zh-example.tex}文件,其效果见\href{https://github.com/hust-latex/hustthesis/raw/master/hustthesis/hustthesis-zh-example.pdf}{\texttt{hustthesis-zh-example.pdf}}。
+%
+% \iffalse
+%<*driver>
+% \fi
+\begin{lstlisting}[language={[LaTeX]TeX}]
+\documentclass[degree=phd,language=chinese]{hustthesis}
+
+\stuno{你的学号}
+\schoolcode{10487}
+\title{中文标题}{英文标题}
+\author{作者名}{作者名拼音}
+\major{专业中文}{专业英文}
+\supervisor{指导老师中文}{指导老师英文}
+\date{2013}{7}{1} % 答辩日期
+
+\zhabstract{中文摘要}
+\zhkeywords{中文关键字}
+\enabstract{英文摘要}
+\enkeywords{英文关键字}
+
+\begin{document}
+
+\frontmatter
+\maketitle
+\makeabstract
+\tableofcontents
+\listoffigures
+\listoftables
+\mainmatter
+
+%% 正文
+
+\backmatter
+
+\begin{ack}
+%% 致谢
+\end{ack}
+\bibliography{参考文献.bib文件}
+
+\appendix
+
+\begin{publications}
+%% 发表过的论文列表
+\end{publications}
+
+%% 附录剩余部分
+
+\end{document}
+\end{lstlisting}
+% \iffalse
+%</driver>
+% \fi
+%
+% \section{预设宏包介绍}
+%
+% 本模板中预设了一些宏包,下面对其进行简单介绍。
+%
+% \begin{itemize}
+% \item \pkgurl{algorithm2e} 算法环境。
+% \item \pkgurl{enumitem} 自定义列表环境的式样。
+% \item \pkgurl{fancynum} 用于将大数每三位断开。
+% \item \pkgurl{listings} 代码环境。如需更好的代码高亮可以使用\pkgurl{minted}宏包。
+% \item \pkgurl{longtable} 跨页的超长表格环境。
+% \item \pkgurl{ltxtable} \textsf{longtable}环境和\textsf{tabularx}环境的合并。
+% \item \pkgurl{multirow} 用于表格中合并行。
+% \item \pkgurl{overpic} 用于在图片上层叠其他内容。
+% \item \pkgurl{tabularx} 扩展到表格环境。
+% \item \pkgurl{zhnumber} 用于生成中文数字。
+% \end{itemize}
+%
+% \section{高级设置}
+%
+% \subsection{切换字体}
+%
+% 模板正文字体为宋体(\textsf{AdobeSongStd-Light}),同时我们提供如下命令切换中文字体:
+%
+% \begin{function}{\HEI,\hei}
+% \begin{syntax}
+% \{\cs{HEI} \meta{content}\}
+% \cs{hei}\Arg{content}
+% \end{syntax}
+% 切换字体为黑体(\textsf{AdobeHeitiStd-Regular})。
+% \end{function}
+%
+% \begin{function}{\KAI,\kai}
+% \begin{syntax}
+% \{\cs{KAI} \meta{content}\}
+% \cs{kai}\Arg{content}
+% \end{syntax}
+% 切换字体为楷体(\textsf{AdobeKaitiStd-Regular})。
+% \end{function}
+%
+% \begin{function}{\FANGSONG,\fangsong}
+% \begin{syntax}
+% \{\cs{FANGSONG} \meta{content}\}
+% \cs{fangsong}\Arg{content}
+% \end{syntax}
+% 切换字体为仿宋(\textsf{AdobeFangsongStd-Regular})。
+% \end{function}
+%
+% 如果需要加载其他字体,请参阅宏包\pkgurl{fontspec},宏包\pkgurl{xeCJK}(对于\XeLaTeX{})和宏包\pkgurl[luatexja]{luatex-ja}(对于\LuaLaTeX{})的文档。
+%
+% \subsection{内部字段设置}
+%
+% 本模板定义了很多内部字段,其具体内容见\autoref{sec:Localization}。通过更改这些字段,可以对论文格式进行自定义。
+%
+% \part{English Version Instruction}\label{part:English Version Instruction}
+%
+% \section{Requirement}
+% Install the latest version of \href{http://www.tug.org/texlive/}{\texttt{TeXLive}}(Recommend) or \href{http://miktex.org/}{\texttt{MiKTeX}}. Please ensure that all the packages are up-to-date.
+%
+% If you need to produce the final format of thesis (see \autoref{subsec:Option} for more details), you should also need to install following Chinese fonts:
+% \begin{itemize}
+% \item \textsf{AdobeSongStd-Light}
+% \item \textsf{AdobeKaitiStd-Regular}
+% \item \textsf{AdobeHeitiStd-Regular}
+% \item \textsf{AdobeFangsongStd-Regular}
+% \end{itemize}
+% \begin{informationnote}
+% If you use \textnormal{\LuaTeX}, you need to run the command \verb+mkluatexfontdb+ to refresh font database index after installing the fonts.
+% \end{informationnote}
+%
+% \section{Installation}
+%
+% \subsection{Install into local}
+%
+% Use the command below to install this template into local.
+% \begin{verbatim}
+% make install
+% \end{verbatim}
+% If you need uninstall it, use the command below.
+% \begin{verbatim}
+% make uninstall
+% \end{verbatim}
+%
+% For Windows User who don't install \texttt{Make}, use the command below to install.
+% \begin{verbatim}
+% makewin32.bat install
+% \end{verbatim}
+% If you need uninstall it, use the command below.
+% \begin{verbatim}
+% makewin32.bat uninstall
+% \end{verbatim}
+% Although \texttt{makewin32.bat} behaves much like \texttt{Makefile}, I still
+% recommend you install \texttt{Make} into your Windows. You can download
+% it from \href{http://gnuwin32.sourceforge.net/packages/make.htm}{here}.
+%
+% \subsection{Use without installation}
+%
+% If you want to use this template temporary rather than installing it into local for long term use. Run below command to unpack the package.
+% \begin{verbatim}
+% make unpack
+% \end{verbatim}
+% For Windows User who don't install \texttt{Make}, use the command below to unpack the package.
+% \begin{verbatim}
+% makewin32.bat unpack
+% \end{verbatim}
+% Then copy the following files from directory \texttt{hustthesis} into your \TeX{} project root directory.
+% \begin{itemize}
+% \item \verb+hustthesis.bst+
+% \item \verb+hustthesis.cls+
+% \item \verb+hust-title.eps+
+% \item \verb+hust-title.pdf+
+% \end{itemize}
+%
+% \section{Usage}
+% \begin{importantnote}
+% This template can only be compiled by \\
+% \hskip 10pt \textnormal{\XeLaTeX} or\textnormal{\LuaLaTeX}(Recommend).
+% \end{importantnote}
+%
+% Insert below code in the top of source code to use this template:
+% \begin{verbatim}
+% \documentclass[language=english]{hustthesis}
+% \end{verbatim}
+%
+% \subsection{Option} \label{subsec:Option}
+%
+% There're three options available when use this template.
+%
+% % \begin{function}{format}
+% \begin{syntax}
+% format = \meta{draft\orvar{}\textbf{final}}
+% \end{syntax}
+% If \verb+format+ is set to \verb+final+, the header will be removed. This option is only valid if \verb+language+ is not set to \verb+english-draft+. The default value is \verb+final+.
+% \end{function}
+%
+% \begin{function}[updated=2013-07-01]{language}
+% \begin{syntax}
+% language = \meta{\textbf{chinese}\orvar{}english\orvar{}english-draft}
+% \end{syntax}
+% Set what language is used in the document. Specially, if it's set to \verb+english-draft+, all the Chinese characters will be removed in the document. This is extremely helpful when you don't install Chinese fonts. The default value is \verb+chinese+.
+% \end{function}
+%
+% \begin{function}{degree}
+% \begin{syntax}
+% degree = \meta{\textbf{none}\orvar{}fyp\orvar{}bachelor\orvar{}master\orvar{}phd}
+% \end{syntax}
+% Set the category of thesis. It will influence the title of document, see Table~\ref{tab:optdegree-en}. The default value is \verb+none+. Noted that the apply name field in the title page can be further customized through \href{doc/function//applyname}{\texttt{\textbackslash{}applyname}} command.
+% \end{function}
+%
+% \begin{table}[ht]
+% \centering
+% \caption{Title under different \texttt{degree}}\label{tab:optdegree-en}
+% \begin{tabularx}{\textwidth}{|c|X|}
+% \hline
+% \textbf{Option} & \textbf{Title}\\
+% \hline
+% \verb+none+ & A Thesis Submitted in Partial Fulfillment of the Requirements for the Degree \\ \hline
+% \verb+fyp+ & A Thesis Submitted in Partial Fulfillment of the Requirements for Final Year Project \\ \hline
+% \verb+bachelor+ & A Thesis Submitted in Partial Fulfillment of the Requirements for the Degree of Bachelor \\ \hline
+% \verb+master+ & A Thesis Submitted in Partial Fulfillment of the Requirements for the Degree of Master \\ \hline
+% \verb+phd+ & A Thesis Submitted in Partial Fulfillment of the Requirements for the Degree of Philosophy \\ \hline
+% \end{tabularx}
+% \end{table}
+%
+% \subsection{Variables setting}
+%
+% There're some commands which are used to set the variables for the thesis.
+%
+% \begin{function}{\title}
+% \begin{syntax}
+% \cs{title}\Arg{title}
+% \end{syntax}
+% Set title.
+% \end{function}
+%
+% \begin{function}{\author}
+% \begin{syntax}
+% \cs{author}\Arg{author}
+% \end{syntax}
+% Set author.
+% \end{function}
+%
+% \begin{function}{\date}
+% \begin{syntax}
+% \cs{date}\Arg{Year}\Arg{Month}\Arg{Day}
+% \end{syntax}
+% Set date. If you don't set it, template will use current date.
+% \end{function}
+%
+% \begin{function}{\schoolname}
+% \begin{syntax}
+% \cs{schoolname}\Arg{school name}
+% \end{syntax}
+% Set the name of school which has been set as \\*\hbox{\verb+\schoolname{Huazhong University of Science \& Technology}+} by default. So unless you want to change the name, you don't need to use this command.
+% \end{function}
+%
+% \begin{function}{\address}
+% \begin{syntax}
+% \cs{address}\Arg{address}
+% \end{syntax}
+% Set the address of school which has been set as \\*\hbox{\verb+\address{Wuhan~430074, P.~R.~China}+} by default. So unless you want to change the address, you don't need to use this command.
+% \end{function}
+%
+% \begin{function}[updated=2016-11-17]{\applyname}
+% \begin{syntax}
+% \cs{applyname}\Arg{apply name}
+% \end{syntax}
+% Custom the apply name which affects English title page. See more detail at~\href{doc/function//degree}{\texttt{degree} option}.
+% \end{function}
+%
+% \begin{function}{\major}
+% \begin{syntax}
+% \cs{major}\Arg{major}
+% \end{syntax}
+% Set your major.
+% \end{function}
+%
+% \begin{function}{\supervisor}
+% \begin{syntax}
+% \cs{supervisor}\Arg{supervisor}
+% \end{syntax}
+% Set your supervisor.
+% \end{function}
+%
+% \begin{function}{\asssupervisor}
+% \begin{syntax}
+% \cs{asssupervisor}\Arg{ass-supervisor}
+% \end{syntax}
+% Set your ass-supervisor if you have.
+% \end{function}
+%
+% \begin{function}{\abstract}
+% \begin{syntax}
+% \cs{abstract}\Arg{abstract}
+% \end{syntax}
+% Put your abstract.
+% \end{function}
+%
+% \begin{function}{\keywords}
+% \begin{syntax}
+% \cs{keywords}\Arg{keywords}
+% \end{syntax}
+% Put your keywords.
+% \end{function}
+%
+% \subsection{Other commands}
+%
+% \begin{function}{\frontmatter,\mainmatter,\backmatter}
+% Used to determine the different part of document. You can see the example at \autoref{sec:simple-example}.
+% \end{function}
+%
+% \begin{function}{\maketitle,\makecover}
+% \verb+\maketitle+ and \verb+\makecover+ are the same. Used to create the title page.
+% \end{function}
+%
+% \begin{function}{\makeabstract}
+% Used to create abstract page.
+% \end{function}
+%
+% \begin{function}{\tableofcontents}
+% Used to create table of contents.
+% \end{function}
+%
+% \begin{function}{\endateformat}
+% Used to print the date.
+% \end{function}
+%
+% \vskip 1ex\DescribeEnv{ack}
+% The \verb+ack+ environment is used to create acknowledge page.
+% \begin{verbatim}
+% \begin{ack}
+% <content>
+% \end{ack}
+% \end{verbatim}
+%
+% \begin{function}{\bibliography}
+% \begin{syntax}
+% \cs{bibliography}\Arg{.bib file}
+% \end{syntax}
+% Used to create bibliography page.
+% \end{function}
+%
+% \vskip 1ex\DescribeEnv{appendix}
+% The \verb+appendix+ environment is for appendix of course. Used like this:
+% \begin{verbatim}
+% \begin{appendix}
+% <content>
+% \end{appendix}
+% \end{verbatim}
+% \begin{function}{\appendix}
+% Or simple use \verb+\appendix+ to indicate that the rest of document are all in appendix, like this:
+% \begin{verbatim}
+% \appendix
+% <content>
+% \end{verbatim}
+% \end{function}
+%
+% \begin{function}{\listoffigures,\listoftables}
+% Create the index for all the figures and tables separately.
+% \end{function}
+%
+% \vskip 1ex\DescribeEnv{publications}
+% The \verb+publications+ environment is where you list all of your published thesises. It's usually putted in appendix.
+% \begin{verbatim}
+% \begin{publications}
+% \item <thesis>
+% <...>
+% \end{publications}
+% \end{verbatim}
+%
+% \begin{function}{\TurnOffTabFontSetting,\TurnOnTabFontSetting}
+% This template has set the font size and line spread for all the tables which makes it's impossible to change font format temporary in one table. So it provides these to command to temporary disable or enable default font setting in table. For example, if you want to change table font size, you can use the code like this:
+% \begin{verbatim}
+% \begingroup
+% \TurnOffTabFontSetting
+% \footnotesize % Set your font format as you like.
+% \begin{tabular}{...}
+% <content>
+% \end{tabular}
+% \TurnOnTabFontSetting
+% \endgroup
+% \end{verbatim}
+% \end{function}
+%
+% \begin{function}{\email}
+% \begin{syntax}
+% \cs{email}\Arg{Email Address}
+% \end{syntax}
+% A command to display email address. For example, \verb+\email{name@example.com}+ would look like this: \email{name@example.com}.
+% \end{function}
+%
+% \section{Simple example}\label{sec:simple-example}
+% Below is a simple example of using this template. For a complete example see \texttt{hustthesis-en-example.tex} which will generate \href{https://github.com/hust-latex/hustthesis/raw/master/hustthesis/hustthesis-en-example.pdf}{\texttt{hustthesis-en-example.pdf}}.
+%
+% \iffalse
+%<*driver>
+% \fi
+\begin{lstlisting}[language={[LaTeX]TeX}]
+\documentclass[degree=phd,language=english]{hustthesis}
+
+\title{your title}
+\author{your name}
+\major{your major}
+\supervisor{your supervisor}
+\date{2013}{7}{1}
+
+\abstract{the abstract}
+\keywords{the keywords}
+
+\begin{document}
+
+\frontmatter
+\maketitle
+\makeabstract
+\tableofcontents
+\listoffigures
+\listoftables
+\mainmatter
+
+%% main body
+
+\backmatter
+
+\begin{ack}
+%% acknowledge
+\end{ack}
+\bibliography{.bib file}
+
+\appendix
+
+\begin{publications}
+%% your publications
+\end{publications}
+
+%% rest of appendix
+
+\end{document}
+\end{lstlisting}
+% \iffalse
+%</driver>
+% \fi
+%
+%
+% \section{Introduction to some packages used in the template}
+%
+% Here's a list of some packages used in the template.
+%
+% \begin{itemize}
+% \item \pkgurl{algorithm2e} For display algorithm.
+% \item \pkgurl{enumitem} For set the style of enumerate, itemize and description environment.
+% \item \pkgurl{fancynum} Display the really big number.
+% \item \pkgurl{listings} For display the highlighted code. If you need better quality, use the package \pkgurl{minted}.
+% \item \pkgurl{longtable} Create a very long table.
+% \item \pkgurl{ltxtable} Combine the features of \textsf{longtable} anb \textsf{tabularx}.
+% \item \pkgurl{multirow} Combine multi-rows in table.
+% \item \pkgurl{overpic} Put something over a picture,
+% \item \pkgurl{tabularx} A better table environment.
+% \end{itemize}
+%
+% \StopEventually{
+% \PrintIndex
+% \PrintChanges
+% }
+%
+% \part{Implementation}\label{part:Implementation}
+%
+% \begin{macrocode}
+%<*class>
+\RequirePackage{ifthen}
+% \end{macrocode}
+%
+% \section{Process Options}
+% Use \pkgurl{xkeyval} to process options.
+% \begin{macrocode}
+\RequirePackage{xkeyval}
+% \end{macrocode}
+%
+% Option |format|.
+% \begin{macrocode}
+\newif\ifHUST@finalformat
+\HUST@finalformattrue
+\DeclareOptionX{format}[final]{
+ \ifthenelse{\equal{#1}{final}}{
+ \HUST@finalformattrue
+ }{
+ \ifthenelse{\equal{#1}{draft}}{
+ \HUST@finalformatfalse
+ }{
+ \ClassError{hustthesis}
+ {Option format can only be 'final' or 'draft'}
+ {Try to remove option format^^J}
+ }
+ }
+}
+% \end{macrocode}
+%
+% Option |language|.
+% \begin{macrocode}
+\gdef\HUST@language{chinese}
+\DeclareOptionX{language}[chinese]{
+ \ifthenelse{\equal{#1}{chinese} \OR \equal{#1}{english} \OR \equal{#1}{english-draft}}{
+ \gdef\HUST@language{#1}
+ }{
+ \ClassError{hustthesis}
+ {Option language can only be 'chinese', 'english' or 'english-draft'}
+ {Try to remove option language^^J}
+ }
+}
+% \end{macrocode}
+%
+% Option |degree|.
+% \begin{macrocode}
+\gdef\HUST@degree{none}
+\DeclareOptionX{degree}[none]{
+ \ifthenelse{\equal{#1}{none} \OR \equal{#1}{fyp} \OR \equal{#1}{bachelor} \OR \equal{#1}{master} \OR \equal{#1}{phd}}{
+ \gdef\HUST@degree{#1}
+ }{
+ \ClassError{hustthesis}
+ {Option degree can only be 'none', 'fyp', 'bachelor', 'master' or 'phd'}
+ {Try to remove option degree^^J}
+ }
+}
+% \end{macrocode}
+%
+% Process options and load class |book|.
+% \begin{macrocode}
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{book}}
+\ProcessOptionsX
+\LoadClass[12pt, a4paper, openany]{book}
+% \end{macrocode}
+%
+% \section{Check Engine}
+% Check engine, only \XeLaTeX{} and \LuaLaTeX{} are supported.
+% \begin{macrocode}
+\RequirePackage{iftex}
+\ifXeTeX\else
+ \ifLuaTeX\else
+ \begingroup
+ \errorcontextlines=-1\relax
+ \newlinechar=10\relax
+ \errmessage{^^J
+ *******************************************************^^J
+ * XeTeX or LuaTeX is required to compile this document.^^J
+ * Sorry!^^J
+ *******************************************************^^J
+ }%
+ \endgroup
+ \fi
+\fi
+% \end{macrocode}
+%
+% \section{Font Setting}
+% Set font used in document. Firstly, it's font setting for English font under |english-draft| mode. We use \pkgurl{fontspec} package to handle font. We choose \textsf{Tex Gyre Termes}, \textsf{Droid Sans} and \textsf{CMU Typewriter Text} as document main font, sans font and mono font.
+% \begin{macrocode}
+\ifthenelse{\equal{\HUST@language}{english-draft}}{
+ \RequirePackage{fontspec}
+ \setmainfont[
+ Ligatures={Common,TeX},
+ Extension=.otf,
+ UprightFont=*-regular,
+ BoldFont=*-bold,
+ ItalicFont=*-italic,
+ BoldItalicFont=*-bolditalic]{texgyretermes}
+ \setsansfont[Ligatures={Common,TeX}]{Droid Sans}
+ \setmonofont{CMU Typewriter Text}
+ \defaultfontfeatures{Mapping=tex-text}
+% \end{macrocode}
+%
+% Now let's set the Chinese font commands into empty, when document is under |english-draft| mode.
+% \begin{macrocode}
+ \let\HEI\relax
+ \let\KAI\relax
+ \let\FANGSONG\relax
+ \newcommand{\hei}[1]{#1}
+ \newcommand{\kai}[1]{#1}
+ \newcommand{\fangsong}[1]{#1}
+}{}
+% \end{macrocode}
+%
+% Below is the font setting under |chinese| or |english| mode. We chooses the same English font as under |english-draft| mode. We use \pkgurl{xecjk} package (for \XeLaTeX) or \pkgurl[luatexja]{luatex-ja} package (for \LuaLaTeX, recommend) to handle Chinese font. We will use font: \textsf{AdobeSongStd-Light}, \textsf{AdobeKaitiStd-Regular}, \textsf{AdobeHeitiStd-Regular} and \textsf{AdobeFangsongStd-Regular}.
+% \begin{macrocode}
+\ifthenelse{\equal{\HUST@language}{english-draft}}{}{
+ \ifXeTeX % XeTeX下使用fontspec + xeCJK处理字体
+ % 英文字体
+ \RequirePackage{fontspec}
+ \RequirePackage{xunicode}
+ \setmainfont[
+ Ligatures={Common,TeX},
+ Extension=.otf,
+ UprightFont=*-regular,
+ BoldFont=*-bold,
+ ItalicFont=*-italic,
+ BoldItalicFont=*-bolditalic]{texgyretermes}
+ \setsansfont[Ligatures={Common,TeX}]{Droid Sans}
+ \setmonofont{CMU Typewriter Text}
+ \defaultfontfeatures{Mapping=tex-text}
+ % 中文字体
+ \RequirePackage[CJKmath]{xeCJK}
+ \setCJKmainfont[
+ BoldFont={Adobe Heiti Std},
+ ItalicFont={Adobe Kaiti Std}]{Adobe Song Std}
+ \setCJKsansfont{Adobe Kaiti Std}
+ \setCJKmonofont{Adobe Fangsong Std}
+ \xeCJKsetup{PunctStyle=kaiming}
+
+ \newcommand\ziju[2]{{\renewcommand{\CJKglue}{\hskip #1} #2}}
+% \end{macrocode}
+%
+% \begin{macro}{\HEI}
+% \begin{macrocode}
+ \newCJKfontfamily\HEI{Adobe Heiti Std}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\KAI}
+% \begin{macrocode}
+ \newCJKfontfamily\KAI{Adobe Kaiti Std}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\FANGSONG}
+% \begin{macrocode}
+ \newCJKfontfamily\FANGSONG{Adobe Fangsong Std}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\hei}
+% \begin{macrocode}
+ \newcommand{\hei}[1]{{\HEI #1}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\kai}
+% \begin{macrocode}
+ \newcommand{\kai}[1]{{\KAI #1}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\fangsong}
+% \begin{macrocode}
+ \newcommand{\fangsong}[1]{{\FANGSONG #1}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+ \else\fi
+ \ifLuaTeX % LuaTeX下使用luatex-ja处理字体 [推荐]
+ \RequirePackage{luatexja-fontspec}
+ % 英文字体
+ \setmainfont[Ligatures={Common,TeX}]{Tex Gyre Termes}
+ \setsansfont[Ligatures={Common,TeX}]{Droid Sans}
+ \setmonofont{CMU Typewriter Text}
+ \defaultfontfeatures{Mapping=tex-text,Scale=MatchLowercase}
+ % 中文字体
+ \setmainjfont[
+ BoldFont={AdobeHeitiStd-Regular},
+ ItalicFont={AdobeKaitiStd-Regular}]{AdobeSongStd-Light}
+ \setsansjfont{AdobeKaitiStd-Regular}
+ \defaultjfontfeatures{JFM=kaiming}
+
+ \newcommand\ziju[2]{\vbox{\ltjsetparameter{kanjiskip=#1} #2}}
+% \end{macrocode}
+%
+% \begin{macro}{\HEI}
+% \begin{macrocode}
+ \newjfontfamily\HEI{AdobeHeitiStd-Regular}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\KAI}
+% \begin{macrocode}
+ \newjfontfamily\KAI{AdobeKaitiStd-Regular}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\FANGSONG}
+% \begin{macrocode}
+ \newjfontfamily\FANGSONG{AdobeFangsongStd-Regular}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\hei}
+% \begin{macrocode}
+ \newcommand{\hei}[1]{{\jfontspec{AdobeHeitiStd-Regular} #1}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\kai}
+% \begin{macrocode}
+ \newcommand{\kai}[1]{{\jfontspec{AdobeKaitiStd-Regular} #1}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\fangsong}
+% \begin{macrocode}
+ \newcommand{\fangsong}[1]{{\jfontspec{AdobeFangsongStd-Regular} #1}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+ \else\fi
+% \end{macrocode}
+%
+% Generate Chinese number using \pkgurl{zhnumber}.
+% \begin{macrocode}
+ \RequirePackage{zhnumber}
+ \def\CJKnumber#1{\zhnumber{#1}} % 兼容CJKnumb
+}
+% \end{macrocode}
+%
+% \section{Basic Format}
+% We set global line spread to 1.3.
+% \begin{macrocode}
+\linespread{1.3}\selectfont
+% \end{macrocode}
+%
+% Use \pkgurl{geometry} package to handle paper page.
+% \begin{macrocode}
+\RequirePackage{geometry}
+\geometry{
+ top=1.77in,
+ bottom=0.8in,
+ left=1.1in,
+ right=1.1in,
+ includefoot
+}
+\ifthenelse{\isundefined{\pagewidth}}{
+ \pdfpagewidth=\paperwidth
+ \pdfpageheight=\paperheight
+}{
+ \pagewidth=\paperwidth
+ \pageheight=\paperheight
+}
+% \end{macrocode}
+%
+% Indent of paragraph and skip between paragraphs.
+% \begin{macrocode}
+\RequirePackage{indentfirst}
+\setlength{\parindent}{2em}
+\setlength{\parskip}{0pt plus 2pt minus 1pt}
+% \end{macrocode}
+%
+% Packages to handle color.
+% \begin{macrocode}
+\RequirePackage{color}
+\RequirePackage[table]{xcolor}
+% \end{macrocode}
+%
+% Use \pkgurl{hyperref} package to generate cross-reference link.
+% \begin{macrocode}
+\RequirePackage[unicode]{hyperref}
+\hypersetup{
+ bookmarksnumbered=true,
+ bookmarksopen=true,
+ bookmarksopenlevel=1,
+ breaklinks=true,
+ colorlinks=true,
+ allcolors=black,
+ linktoc=all,
+ plainpages=false,
+ pdfpagelabels=true,
+ pdfstartview={XYZ null null 1},
+ pdfinfo={Template.Info={hustthesis.cls v1.1 2013/07/01, Copyright (C) 2013-2014 by Xu Cheng 2014 by hust-latex, https://github.com/hust-latex/hustthesis}}
+}
+% \end{macrocode}
+%
+% \section{Load Packages}
+% Load packages for math.
+% \begin{macrocode}
+\RequirePackage{amsmath,amssymb,amsfonts}
+\RequirePackage[amsmath,amsthm,thmmarks,hyperref,thref]{ntheorem}
+\RequirePackage{fancynum}
+\setfnumgsym{\,}
+\RequirePackage[lined,boxed,linesnumbered,ruled,vlined,algochapter]{algorithm2e}
+% \end{macrocode}
+%
+% Load packages for picture.
+% \begin{macrocode}
+\RequirePackage{overpic}
+\RequirePackage{graphicx,caption,subcaption}
+% \end{macrocode}
+%
+% Load packages for table.
+% \begin{macrocode}
+\RequirePackage{array}
+\RequirePackage{multirow,tabularx,ltxtable}
+% \end{macrocode}
+%
+% Load package for code highlight. Here we use \pkgurl{listings} to highlight the code. But if you need more features, use \pkgurl{minted}.
+% \begin{macrocode}
+\RequirePackage{listings}
+% \end{macrocode}
+%
+% Load package for bibliography cite style.
+% \begin{macrocode}
+\RequirePackage[numbers,square,comma,super,sort&compress]{natbib}
+% \end{macrocode}
+%
+% Other packages for style setting.
+% \begin{macrocode}
+\RequirePackage{titlesec}
+\RequirePackage{titletoc}
+\RequirePackage{tocvsec2}
+\RequirePackage[inline]{enumitem}
+\RequirePackage{fancyhdr}
+\RequirePackage{afterpage}
+\RequirePackage{datenumber}
+\RequirePackage{etoolbox}
+\RequirePackage{appendix}
+\RequirePackage[titles]{tocloft}
+\RequirePackage{xstring}
+\RequirePackage{perpage}
+% \end{macrocode}
+%
+% \section{Variables Setting}
+% \begin{macro}{\zhtitle,\entitle,\title}
+% Commands to set the title.
+% \begin{macrocode}
+\def\zhtitle#1{\gdef\HUST@zhtitle{#1}\hypersetup{pdftitle={#1}}}
+\def\entitle#1{\gdef\HUST@entitle{#1}}
+\DeclareDocumentCommand\title{m g}
+{
+ \IfNoValueTF{#2}{
+ \zhtitle{#1}\entitle{#1}
+ }{
+ \zhtitle{#1}\entitle{#2}
+ }
+}
+\title{}{}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\zhauthor,\enauthor,\author}
+% Commands to set the author.
+% \begin{macrocode}
+\def\zhauthor#1{\gdef\HUST@zhauthor{#1}\hypersetup{pdfauthor={#1}}}
+\def\enauthor#1{\gdef\HUST@enauthor{#1}}
+\DeclareDocumentCommand\author{m g}
+{
+ \IfNoValueTF{#2}{
+ \zhauthor{#1}\enauthor{#1}
+ }{
+ \zhauthor{#1}\enauthor{#2}
+ }
+}
+\author{}{}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\date,\zhdateformat,\endateformat,\dateformat}
+% A command to set the date and several commands to display date.
+% \begin{macrocode}
+\def\date#1#2#3{
+ \setdate{#1}{#2}{#3}
+}
+\setdatetoday
+\def\zhdateformat{~\thedateyear~年~\thedatemonth~月~\thedateday~日}
+\def\endateformat{\datedate}
+\ifthenelse{\equal{\HUST@language}{chinese}}{
+ \let\dateformat\zhdateformat
+}{
+ \let\dateformat\endateformat
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\zhschoolname,\enschoolname,\schoolname}
+% Commands to set the school name.
+% \begin{macrocode}
+\def\zhschoolname#1{\gdef\HUST@zhschoolname{#1}}
+\def\enschoolname#1{\gdef\HUST@enschoolname{#1}}
+\DeclareDocumentCommand\schoolname{m g}
+{
+ \IfNoValueTF{#2}{
+ \zhschoolname{#1}\enschoolname{#1}
+ }{
+ \zhschoolname{#1}\enschoolname{#2}
+ }
+}
+\schoolname{华中科技大学}{Huazhong University of Science~\char38~Technology}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\zhaddress,\enaddress,\address}
+% Commands to set the address.
+% \begin{macrocode}
+\def\zhaddress#1{\gdef\HUST@zhaddress{#1}}
+\def\enaddress#1{\gdef\HUST@enaddress{#1}}
+\DeclareDocumentCommand\address{m g}
+{
+ \IfNoValueTF{#2}{
+ \zhaddress{#1}\enaddress{#1}
+ }{
+ \zhaddress{#1}\enaddress{#2}
+ }
+}
+\address{中国,武汉,430074}{Wuhan~430074, P.~R.~China}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\zhapplyname,\enapplyname,\applyname}
+% Commands to custom apply name.
+% \begin{macrocode}
+\def\zhapplyname#1{\def\HUST@zhapplyname{#1}}
+\def\enapplyname#1{\def\HUST@enapplyname{#1}}
+\DeclareDocumentCommand\applyname{m g}
+{
+ \IfNoValueTF{#2}{
+ \enapplyname{#1}
+ }{
+ \zhapplyname{#1}\enapplyname{#2}
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\zhmajor,\enmajor,\major}
+% Commands to set the major.
+% \begin{macrocode}
+\def\zhmajor#1{\gdef\HUST@zhmajor{#1}}
+\def\enmajor#1{\gdef\HUST@enmajor{#1}}
+\DeclareDocumentCommand\major{m g}
+{
+ \IfNoValueTF{#2}{
+ \zhmajor{#1}\enmajor{#1}
+ }{
+ \zhmajor{#1}\enmajor{#2}
+ }
+}
+\major{}{}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\zhsupervisor,\ensupervisor,\supervisor}
+% Commands to set the supervisor.
+% \begin{macrocode}
+\def\zhsupervisor#1{\gdef\HUST@zhsupervisor{#1}}
+\def\ensupervisor#1{\gdef\HUST@ensupervisor{#1}}
+\DeclareDocumentCommand\supervisor{m g}
+{
+ \IfNoValueTF{#2}{
+ \zhsupervisor{#1}\ensupervisor{#1}
+ }{
+ \zhsupervisor{#1}\ensupervisor{#2}
+ }
+}
+\supervisor{}{}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\zhasssupervisor,\enasssupervisor,\asssupervisor}
+% Commands to set the asssupervisor.
+% \begin{macrocode}
+\def\zhasssupervisor#1{\gdef\HUST@zhasssupervisor{#1}}
+\def\enasssupervisor#1{\gdef\HUST@enasssupervisor{#1}}
+\DeclareDocumentCommand\asssupervisor{m g}
+{
+ \IfNoValueTF{#2}{
+ \zhasssupervisor{#1}\enasssupervisor{#1}
+ }{
+ \zhasssupervisor{#1}\enasssupervisor{#2}
+ }
+}
+\asssupervisor{}{}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\schoolcode}
+% A command to set school code.
+% \begin{macrocode}
+\def\schoolcode#1{\gdef\HUST@schoolcode{#1}}
+\schoolcode{}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\stuno}
+% A command to set student number.
+% \begin{macrocode}
+\def\stuno#1{\gdef\HUST@stuno{#1}}
+\stuno{}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\classno}
+% A command to set classification number.
+% \begin{macrocode}
+\def\classno#1{\gdef\HUST@classno{#1}}
+\classno{}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\secretlevel}
+% A command to set secret level.
+% \begin{macrocode}
+\def\secretlevel#1{\gdef\HUST@secretlevel{#1}}
+\secretlevel{}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\zhabstract,\enabstract,\abstract}
+% Commands to set the abstract.
+% \begin{macrocode}
+\long\def\zhabstract#1{\long\gdef\HUST@zhabstract{#1}}
+\long\def\enabstract#1{\long\gdef\HUST@enabstract{#1}}
+\DeclareDocumentCommand\abstract{+m +g}
+{
+ \IfNoValueTF{#2}{
+ \zhabstract{#1}\enabstract{#1}
+ }{
+ \zhabstract{#1}\enabstract{#2}
+ }
+}
+\abstract{}{}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\zhkeywords,\enkeywords,\keywords}
+% Commands to set the keywords.
+% \begin{macrocode}
+\def\zhkeywords#1{\gdef\HUST@zhkeywords{#1}\hypersetup{pdfkeywords={#1}}}
+\def\enkeywords#1{\gdef\HUST@enkeywords{#1}}
+\DeclareDocumentCommand\keywords{m g}
+{
+ \IfNoValueTF{#2}{
+ \zhkeywords{#1}\enkeywords{#1}
+ }{
+ \zhkeywords{#1}\enkeywords{#2}
+ }
+}
+\keywords{}{}
+% \end{macrocode}
+% \end{macro}
+%
+% \section{Localization}\label{sec:Localization}
+% Chinese localization.
+% \footnote{The |autorefname| Reference:\url{http://tex.stackexchange.com/questions/52410/how-to-use-the-command-autoref-to-implement-the-same-effect-when-use-the-comman}}
+% \begin{macrocode}
+\ifthenelse{\equal{\HUST@language}{chinese}}{
+ \def\indexname{索引}
+ \def\figurename{图}
+ \def\tablename{表}
+ \AtBeginDocument{\def\listingscaption{代码}}
+ \def\bibname{参考文献}
+ \def\contentsname{目\hspace{1em}录}
+ \def\contentsnamenospace{目录}
+ \def\appendixname{附录}
+ \def\HUST@listfigurename{插图索引}
+ \def\HUST@listtablename{表格索引}
+ \def\equationautorefname{公式}
+ \def\footnoteautorefname{脚注}
+ \def\itemautorefname~#1\null{第~#1~项\null}
+ \def\figureautorefname{图}
+ \def\tableautorefname{表}
+ \def\appendixautorefname{附录}
+ \expandafter\def\csname\appendixname autorefname\endcsname{\appendixname}
+ \def\chapterautorefname~#1\null{第\zhnumber{#1}章\null}
+ \def\sectionautorefname~#1\null{#1~小节\null}
+ \def\subsectionautorefname~#1\null{#1~小节\null}
+ \def\subsubsectionautorefname~#1\null{#1~小节\null}
+ \def\FancyVerbLineautorefname~#1\null{第~#1~行\null}
+ \def\pageautorefname~#1\null{第~#1~页\null}
+ \def\lstlistingautorefname{代码}
+ \def\definitionautorefname{定义}
+ \def\propositionautorefname{命题}
+ \def\lemmaautorefname{引理}
+ \def\theoremautorefname{定理}
+ \def\axiomautorefname{公理}
+ \def\corollaryautorefname{推论}
+ \def\exerciseautorefname{练习}
+ \def\exampleautorefname{例}
+ \def\proofautorefname{证明}
+ \SetAlgorithmName{算法}{算法}{算法索引}
+ \SetAlgoProcName{过程}{过程}
+ \SetAlgoFuncName{函数}{函数}
+ \def\AlgoLineautorefname~#1\null{第~#1~行\null}
+}{}
+% \end{macrocode}
+%
+% English localization.
+% \begin{macrocode}
+\ifthenelse{\equal{\HUST@language}{chinese}}{}{
+ \def\HUST@listfigurename{List of Figures}
+ \def\HUST@listtablename{List of Tables}
+ \def\equationautorefname{Equation}
+ \def\footnoteautorefname{Footnote}
+ \def\itemautorefname{Item}
+ \def\figureautorefname{Figure}
+ \def\tableautorefname{Table}
+ \def\appendixautorefname{Appendix}
+ \expandafter\def\csname\appendixname autorefname\endcsname{\appendixname}
+ \def\chapterautorefname{Chapter}
+ \def\sectionautorefname{Section}
+ \def\subsectionautorefname{Subsection}
+ \def\subsubsectionautorefname{Sub-subsection}
+ \def\FancyVerbLineautorefname{Line}
+ \def\pageautorefname{Page}
+ \def\lstlistingautorefname{Code Fragment}
+ \def\definitionautorefname{Definition}
+ \def\propositionautorefname{Proposition}
+ \def\lemmaautorefname{Lemma}
+ \def\theoremautorefname{Theorem}
+ \def\axiomautorefname{Axiom}
+ \def\corollaryautorefname{Corollary}
+ \def\exerciseautorefname{Exercise}
+ \def\exampleautorefname{Example}
+ \def\proofautorefname{Proof}
+ \SetAlgorithmName{Algorithm}{Algorithm}{List of Algorithms}
+ \SetAlgoProcName{Procedure}{Procedure}
+ \SetAlgoFuncName{Function}{Function}
+ \def\AlgoLineautorefname{Line}
+}
+% \end{macrocode}
+%
+% Internal variables.
+% \begin{macrocode}
+\def\HUST@classnotitle{{分}\hfill{类}\hfill{号}}
+\def\HUST@stunotitle{学号}
+\def\HUST@schoolcodetitle{学校代码}
+\def\HUST@secrettile{密级}
+\def\HUST@zhauthortitle{{学}\hfill{位}\hfill{申}\hfill{请}\hfill{人}}
+\def\HUST@zhmajortitle{{学}\hfill{科}\hfill{专}\hfill{业}}
+\def\HUST@zhsupervisortitle{{指}\hfill{导}\hfill{教}\hfill{师}}
+\def\HUST@zhasssupervisortitle{{副}\hfill{指}\hfill{导}\hfill{教}\hfill{师}}
+\def\HUST@zhdatetitle{{答}\hfill{辩}\hfill{日}\hfill{期}}
+
+\def\HUST@enauthortitle{Student}
+\def\HUST@enmajortitle{Major}
+\def\HUST@ensupervisortitle{Supervisor}
+\def\HUST@enasssupervisortitle{Co-Supervisor}
+
+\def\HUST@originaldeclare{独创性声明}
+\long\def\HUST@originaldeclaretext{
+ 本人声明所呈交的学位论文是我个人在导师的指导下进行的研究工作及取得的研究成果。尽我所知,除文中已标明引用的内容外,本论文不包含任何其他人或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。
+}
+\def\HUST@zhauthorsig{学位论文作者签名:}
+\def\HUST@zhdatefield{日期:\hspace{2em}年\hspace{2em}月\hspace{2em}日}
+
+\def\HUST@authtitle{学位论文版权使用授权书}
+\long\def\HUST@authorizationtext{
+ 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
+}
+\long\def\HUST@authorizationaddon{
+ 本论文属于
+ \tabincell{l}{
+ 保密$\square$,在~\makebox[2em]{\hrulefill} 年解密后适用本授权书。\\
+ 不保密~$\square$。
+ }
+}
+\def\HUST@authorizationcheck{(请在以上方框内打“$\surd$”)}
+\def\HUST@zhteachersig{指导教师签名:}
+
+\def\HUST@zhabstractname{摘\hspace{1em}要}
+\def\HUST@zhabstractnamenospace{摘要}
+\def\HUST@zhkeywordstitle{关键词:}
+\def\HUST@enabstractname{Abstract}
+\def\HUST@enkeywordstitle{Key words:}
+
+\ifthenelse{\equal{\HUST@language}{chinese}}{
+ \def\HUST@ackname{致\hspace{1em}谢}
+ \def\HUST@acknamenospace{致谢}
+ \def\HUST@publicationtitle{攻读学位期间发表的学术论文}
+}{
+ \def\HUST@ackname{Acknowledge}
+ \def\HUST@acknamenospace{Acknowledge}
+ \def\HUST@publicationtitle{Publication}
+}
+
+\ifthenelse{\equal{\HUST@degree}{none}}{
+ \def\HUST@zhapplyname{学位论文}
+ \def\HUST@enapplyname{A Thesis Submitted in Partial Fulfillment of the Requirements for the Degree}
+}{}
+
+\ifthenelse{\equal{\HUST@degree}{fyp}}{
+ \def\HUST@zhapplyname{毕业设计论文}
+ \def\HUST@enapplyname{A Thesis Submitted in Partial Fulfillment of the Requirements for Final Year Project}
+}{}
+
+\ifthenelse{\equal{\HUST@degree}{bachelor}}{
+ \def\HUST@zhapplyname{学士学位论文}
+ \def\HUST@enapplyname{A Thesis Submitted in Partial Fulfillment of the Requirements for the Degree of Bachelor}
+}{}
+
+\ifthenelse{\equal{\HUST@degree}{master}}{
+ \def\HUST@zhapplyname{硕士学位论文}
+ \def\HUST@enapplyname{A Thesis Submitted in Partial Fulfillment of the Requirements for the Degree of Master}
+}{}
+
+\ifthenelse{\equal{\HUST@degree}{phd}}{
+ \def\HUST@zhapplyname{博士学位论文}
+ \def\HUST@enapplyname{A Thesis Submitted in Partial Fulfillment of the Requirements for the Degree of Philosophy}
+}{}
+
+\ifthenelse{\equal{\HUST@language}{chinese}}{
+ \hypersetup{pdfsubject={\HUST@zhschoolname\HUST@zhapplyname}}
+}{
+ \hypersetup{pdfsubject={\HUST@enapplyname}}
+}
+% \end{macrocode}
+%
+% Set |\listfigurename| and |\listtablename|.
+% \begin{macrocode}
+\def\listfigurename{\HUST@listfigurename}
+\def\listtablename{\HUST@listtablename}
+% \end{macrocode}
+%
+% \section{Style Setting}
+% \subsection{Equation Style}
+% Allow long equation breaking between lines or pages.
+% \begin{macrocode}
+\allowdisplaybreaks[4]
+% \end{macrocode}
+%
+% Set skip between equation and context.
+% \begin{macrocode}
+\abovedisplayskip=10bp plus 2bp minus 2bp
+\abovedisplayshortskip=10bp plus 2bp minus 2bp
+\belowdisplayskip=\abovedisplayskip
+\belowdisplayshortskip=\abovedisplayshortskip
+% \end{macrocode}
+%
+% Set equation numbering style.
+% \begin{macrocode}
+\numberwithin{equation}{chapter}
+% \end{macrocode}
+%
+% \subsection{Theorem Style}
+% We use \pkgurl{amsthm} to handle the proof environment and use \pkgurl{ntheorem} to handle other theorem environments.
+% \begin{macrocode}
+\theoremnumbering{arabic}
+\ifthenelse{\equal{\HUST@language}{chinese}}{
+ \theoremseparator{:}
+}{
+ \theoremseparator{:}
+}
+\theorempreskip{1.2ex plus 0ex minus 1ex}
+\theorempostskip{1.2ex plus 0ex minus 1ex}
+\theoremheaderfont{\normalfont\bfseries\HEI}
+\theoremsymbol{}
+
+\theoremstyle{definition}
+\theorembodyfont{\normalfont}
+\ifthenelse{\equal{\HUST@language}{chinese}}{
+ \newtheorem{definition}{定义}[chapter]
+}{
+ \newtheorem{definition}{Definition}[chapter]
+}
+
+\theoremstyle{plain}
+\theorembodyfont{\itshape}
+\ifthenelse{\equal{\HUST@language}{chinese}}{
+ \newtheorem{proposition}{命题}[chapter]
+ \newtheorem{lemma}{引理}[chapter]
+ \newtheorem{theorem}{定理}[chapter]
+ \newtheorem{axiom}{公理}[chapter]
+ \newtheorem{corollary}{推论}[chapter]
+ \newtheorem{exercise}{练习}[chapter]
+ \newtheorem{example}{例}[chapter]
+ \def\proofname{\hei{证明}}
+}{
+ \newtheorem{proposition}{Proposition}[chapter]
+ \newtheorem{lemma}{Lemma}[chapter]
+ \newtheorem{theorem}{Theorem}[chapter]
+ \newtheorem{axiom}{Axiom}[chapter]
+ \newtheorem{corollary}{Corollary}[chapter]
+ \newtheorem{exercise}{Exercise}[chapter]
+ \newtheorem{example}{Example}[chapter]
+ \def\proofname{\textbf{Proof}}
+}
+% \end{macrocode}
+%
+% \subsection{Floating Objects Style}
+% Set the skip to the context for floating object with argument `h'.
+% \begin{macrocode}
+\setlength{\intextsep}{0.7\baselineskip plus 0.1\baselineskip minus 0.1\baselineskip}
+% \end{macrocode}
+%
+% Set the skip to the context for top or bottom floating object.
+% \begin{macrocode}
+\setlength{\textfloatsep}{0.8\baselineskip plus 0.1\baselineskip minus 0.2\baselineskip}
+% \end{macrocode}
+%
+% Set the fraction of floating object. Make the fraction less crowded than default value to prevent floating object occupying too much space.
+% \begin{macrocode}
+\renewcommand{\textfraction}{0.15}
+\renewcommand{\topfraction}{0.85}
+\renewcommand{\bottomfraction}{0.65}
+\renewcommand{\floatpagefraction}{0.60}
+% \end{macrocode}
+%
+% \subsection{Table Style}
+%
+% \begin{macro}{\tabincell}
+% A command make it easier to insert a new table into an existing cell.
+% \begin{macrocode}
+\newcommand{\tabincell}[2]{\begin{tabular}{@{}#1@{}}#2\end{tabular}}
+% \end{macrocode}
+% \end{macro}
+%
+% To prevent |\cline| breaking page in \pkgurl{longtable} environment, use in this way:
+% \meta{table content} |\\* \nopagebreak \cline{i-j}|
+% \footnote{Reference:\url{http://tex.stackexchange.com/questions/52100/longtable-multirow-problem-with-cline-and-nopagebreak}}
+% \begin{macrocode}
+\def\@cline#1-#2\@nil{%
+ \omit
+ \@multicnt#1%
+ \advance\@multispan\m@ne
+ \ifnum\@multicnt=\@ne\@firstofone{&\omit}\fi
+ \@multicnt#2%
+ \advance\@multicnt-#1%
+ \advance\@multispan\@ne
+ \leaders\hrule\@height\arrayrulewidth\hfill
+ \cr
+ \noalign{\nobreak\vskip-\arrayrulewidth}}
+% \end{macrocode}
+%
+% Here we set the global font setting (font size: 11pt and line spread: 1.4) for tables. But first we will declare a variable to determine whether table global font setting is activated.
+% \begin{macrocode}
+\newif\ifHUST@useoldtabular
+\HUST@useoldtabularfalse
+% \end{macrocode}
+%
+% \begin{macro}{\TurnOffTabFontSetting}
+% Use |\TurnOffTabFontSetting| to deactivate global font setting.
+% \begin{macrocode}
+\def\TurnOffTabFontSetting{\HUST@useoldtabulartrue}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\TurnOnTabFontSetting}
+% Use |\TurnOnTabFontSetting| to activate global font setting.
+% \begin{macrocode}
+\def\TurnOnTabFontSetting{\HUST@useoldtabularfalse}
+% \end{macrocode}
+% \end{macro}
+%
+% Hook the \pkgurl{tabular}, \pkgurl{tabularx} and \pkgurl{longtable} environment to imply the global font setting.
+% \begin{macrocode}
+\AtBeginEnvironment{tabular}{
+ \ifHUST@useoldtabular\else
+ \fontsize{11pt}{15.4pt}\selectfont
+ \fi
+}
+\AtBeginEnvironment{tabularx}{
+ \ifHUST@useoldtabular\else
+ \fontsize{11pt}{15.4pt}\selectfont
+ \fi
+}
+\AtBeginEnvironment{longtable}{
+ \ifHUST@useoldtabular\else
+ \fontsize{11pt}{15.4pt}\selectfont
+ \fi
+}
+% \end{macrocode}
+%
+% \subsection{Caption Style}
+% Set caption font size as 11pt, use hang format, remove `:' after number and set the skip between context as 12pt.
+% \begin{macrocode}
+\DeclareCaptionFont{HUST@captionfont}{\fontsize{11pt}{14.3pt}\selectfont}
+\DeclareCaptionLabelFormat{HUST@caplabel}{#1~#2}
+\captionsetup{
+ font=HUST@captionfont,
+ labelformat=HUST@caplabel,
+ format=hang,
+ labelsep=quad,
+ skip=12pt
+}
+% \end{macrocode}
+%
+% Set figure and table numbering style.
+% \begin{macrocode}
+\renewcommand{\thetable}{\arabic{chapter}.\arabic{table}}
+\renewcommand{\thefigure}{\arabic{chapter}-\arabic{figure}}
+% \end{macrocode}
+%
+% \subsection{Code Highlight Style}
+% \begin{macrocode}
+\definecolor{HUST@lstgreen}{rgb}{0,0.6,0}
+\definecolor{HUST@lstmauve}{rgb}{0.58,0,0.82}
+
+\lstset{
+ basicstyle=\footnotesize\ttfamily\linespread{1}\selectfont\FANGSONG,
+ keywordstyle=\color{blue}\bfseries,
+ commentstyle=\color{HUST@lstgreen}\itshape\KAI,
+ stringstyle=\color{HUST@lstmauve},
+ showspaces=false,
+ showstringspaces=false,
+ showtabs=false,
+ numbers=left,
+ numberstyle=\tiny\color{black},
+ frame=lines,
+ rulecolor=\color{black},
+ breaklines=true
+}
+% \end{macrocode}
+%
+% \subsection{Section Title Style}
+% Set the numbering depth for section.
+% \begin{macrocode}
+\setcounter{secnumdepth}{3}
+% \end{macrocode}
+%
+% Chapter tilte format and spacing setting.
+% \begin{macrocode}
+\titleformat{\chapter}
+ {
+ \bfseries
+ \HEI
+ \centering
+ \fontsize{18pt}{23.4pt}\selectfont
+ }
+ {
+ \ifthenelse{\equal{\HUST@language}{chinese}}
+ {\zhnumber{\thechapter}}
+ {Chapter~\thechapter}
+ }
+ {1em}
+ {}
+\titlespacing*{\chapter}{0pt}{0pt}{20pt}
+% \end{macrocode}
+%
+% Section tilte format and spacing setting.
+% \begin{macrocode}
+\titleformat*{\section}{\bfseries\HEI\fontsize{16pt}{20.8pt}\selectfont}
+\titlespacing*{\section}{0pt}{18pt}{6pt}
+% \end{macrocode}
+%
+% Subsection tilte format and spacing setting.
+% \begin{macrocode}
+\titleformat*{\subsection}{\bfseries\HEI\fontsize{14pt}{18.2pt}\selectfont}
+\titlespacing*{\subsection}{0pt}{12pt}{6pt}
+% \end{macrocode}
+%
+% Subsubsection tilte format and spacing setting.
+% \begin{macrocode}
+\titleformat*{\subsubsection}{\bfseries\HEI\fontsize{13pt}{16.9pt}\selectfont}
+\titlespacing*{\subsubsection}{0pt}{12pt}{6pt}
+% \end{macrocode}
+%
+% \subsection{TOC Style}
+% TOC depth.
+% \begin{macrocode}
+\setcounter{tocdepth}{1}
+% \end{macrocode}
+%
+% TOC right margin.
+% \begin{macrocode}
+\contentsmargin{2.0em}
+% \end{macrocode}
+%
+% Remove vertical space between two continues chapter entries.
+% \footnote{Reference:\url{http://tex.stackexchange.com/questions/89103/remove-vertical-space-between-two-chapters-in-table-of-contents-in-latex}}
+% \begin{macrocode}
+\newskip\HUST@oldcftbeforechapskip
+\HUST@oldcftbeforechapskip=\cftbeforechapskip
+\newskip\HUST@oldcftbeforesecskip
+\HUST@oldcftbeforesecskip=\cftbeforesecskip
+\let\HUST@oldl@chapter\l@chapter
+\let\HUST@oldl@section\l@section
+\let\HUST@oldl@subsection\l@subsection
+\def\l@chapter#1#2{\HUST@oldl@chapter{#1}{#2}\cftbeforechapskip=3pt}
+\def\l@section#1#2{\HUST@oldl@section{#1}{#2}\cftbeforechapskip=\HUST@oldcftbeforechapskip\cftbeforesecskip=3pt}
+\def\l@subsection#1#2{\HUST@oldl@subsection{#1}{#2}\cftbeforesecskip=\HUST@oldcftbeforesecskip}
+% \end{macrocode}
+%
+% Set LOF LOT style.
+% \footnote{Reference:\url{http://www.latex-community.org/viewtopic.php?f=5&t=1838}}
+% \begin{macrocode}
+\renewcommand*\cftfigpresnum{\figurename~}
+\newlength{\HUST@cftfignumwidth@tmp}
+\settowidth{\HUST@cftfignumwidth@tmp}{\cftfigpresnum}
+\addtolength{\cftfignumwidth}{\HUST@cftfignumwidth@tmp}
+\renewcommand{\cftfigaftersnumb}{\quad~}
+\renewcommand*\cfttabpresnum{\tablename~}
+\newlength{\HUST@cfttabnumwidth@tmp}
+\settowidth{\HUST@cfttabnumwidth@tmp}{\cfttabpresnum}
+\addtolength{\cfttabnumwidth}{\HUST@cfttabnumwidth@tmp}
+\renewcommand{\cfttabaftersnumb}{\quad~}
+% \end{macrocode}
+%
+% \subsection{Head \& Foot Style}
+% \begin{macrocode}
+\let\ps@plain\ps@fancy
+\pagestyle{fancy}
+\fancyhf{}
+\renewcommand{\headrulewidth}{0pt}
+\renewcommand{\footrulewidth}{0pt}
+
+\ifthenelse{\equal{\HUST@degree}{fyp}}{
+ \fancyfoot[R]{\thepage}
+}{
+ \fancyfoot[C]{\thepage}
+}
+
+\ifthenelse{\equal{\HUST@language}{english-draft}}{}{
+ \ifHUST@finalformat\else
+ \fancyhead[C]{
+ \ziju{1em}{\kai{\fontsize{14pt}{18.2pt}\selectfont\HUST@zhschoolname\HUST@zhapplyname}}
+ \vskip -5pt
+ \vbox{
+ \hrule width \textwidth height 2pt
+ }
+ }
+ \fi
+}
+% \end{macrocode}
+%
+% \subsection{List Environment Style}
+% \begin{macrocode}
+\setlist{noitemsep,partopsep=0pt,topsep=.8ex}
+\setlist[1]{labelindent=\parindent}
+\setlist[enumerate,1]{label=\arabic*.,ref=\arabic*}
+\setlist[enumerate,2]{label*=\arabic*,ref=\theenumi.\arabic*}
+\setlist[enumerate,3]{label=\emph{\alph*}),ref=\theenumii\emph{\alph*}}
+\setlist[description]{font=\bfseries\HEI}
+% \end{macrocode}
+%
+% \subsection{Footnote Style}
+% \begin{macrocode}
+\MakePerPage{footnote}
+% \end{macrocode}
+%
+% \section{Specical Page}
+% \begin{macro}{\frontmatter,\mainmatter,\backmatter}
+% \begin{macrocode}
+\def\frontmatter{
+ \clearpage
+ \@mainmatterfalse
+ \pagenumbering{Roman}
+}
+\def\mainmatter{
+ \clearpage
+ \@mainmattertrue
+ \pagenumbering{arabic}
+}
+\def\backmatter{
+ \clearpage
+ \@mainmatterfalse
+ \settocdepth{chapter}
+ \hypersetup{bookmarksopenlevel=0}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% Chinese title page.
+% \begin{macrocode}
+\def\HUST@zhtitlepage{
+ \begin{center}
+ \vspace*{-1.0cm}
+ \parbox[t][2.2cm][t]{\textwidth}{
+ \begin{center}
+ \setlength{\tabcolsep}{0pt}
+ \setlength{\extrarowheight}{12pt}
+ \TurnOffTabFontSetting
+ \fontsize{14pt}{16.8pt}\selectfont
+ \begin{tabularx}{\textwidth}{p{4em}p{5em}Xp{2em}p{12em}}
+ \HUST@classnotitle & \makebox[5em][l]{\rule[-2.0pt]{5em}{1pt}\hspace{-5em}\hfill\texttt{\HUST@classno}\hfill} & &
+ \HUST@stunotitle & \makebox[12em][l]{\rule[-2.0pt]{12em}{1pt}\hspace{-12em}\hfill\texttt{\HUST@stuno}\hfill} \\
+ \HUST@schoolcodetitle & \makebox[5em][l]{\rule[-2.0pt]{5em}{1pt}\hspace{-5em}\hfill\texttt{\HUST@schoolcode}\hfill} & &
+ \HUST@secrettile & \makebox[12em][l]{\rule[-2.0pt]{12em}{1pt}\hspace{-12em}\hfill\texttt{\HUST@secretlevel}\hfill}
+ \end{tabularx}
+ \TurnOnTabFontSetting
+ \end{center}
+ }
+ \parbox[t][6cm][t]{\textwidth}{
+ \vspace{1.0cm}
+ \begin{center}
+ \includegraphics[scale=1.1]{hust-title.pdf}\\[0.8cm]
+ \ziju{10bp}{\fontsize{42pt}{54.6pt}\selectfont\HEI\HUST@zhapplyname}
+ \end{center}
+ }
+ \parbox[t][4.8cm][t]{.8\textwidth}{
+ \vspace{1.4cm}
+ \begin{center}
+ \fontsize{22pt}{35.2pt}\selectfont\hei{\HUST@zhtitle}
+ \end{center}
+ }
+ \parbox[t][7.4cm][t]{\textwidth}{
+ \vspace{1.2cm}
+ \begin{center}
+ \fontsize{18pt}{27.0pt}\selectfont
+ \setlength{\extrarowheight}{0pt}
+ \TurnOffTabFontSetting
+ \begin{tabular}{p{5em}@{{:\hspace{1em}}}l}
+ \HUST@zhauthortitle & {\HUST@zhauthor} \\
+ \HUST@zhmajortitle & {\HUST@zhmajor} \\
+ \HUST@zhsupervisortitle & {\HUST@zhsupervisor} \\
+ \ifthenelse{\equal{\HUST@zhasssupervisor}{}}{}{
+ \HUST@zhasssupervisortitle & {\HUST@zhasssupervisor} \\
+ }
+ \HUST@zhdatetitle & \zhdateformat
+ \end{tabular}
+ \TurnOnTabFontSetting
+ \end{center}
+ }
+ \end{center}
+}
+% \end{macrocode}
+%
+% English title page.
+% \begin{macrocode}
+\def\HUST@entitlepage{
+ \begin{center}
+ \parbox[t][4.5cm][t]{.9\textwidth}{
+ \begin{center}
+ \fontsize{16pt}{17.6pt}\selectfont
+ \HUST@enapplyname
+ \end{center}
+ }
+ \parbox[t][5.7cm][t]{\textwidth}{
+ \begin{center}
+ \fontsize{18pt}{23.4pt}\selectfont
+ \textbf{\textsf{\HUST@entitle}}
+ \end{center}
+ }
+ \parbox[t][5cm][t]{.8\textwidth}{
+ \begin{center}
+ \setlength{\extrarowheight}{5pt}
+ \fontsize{16pt}{24.0pt}\selectfont
+ \TurnOffTabFontSetting
+ \begin{tabular}{l@{~:~}p{18em}}
+ \HUST@enauthortitle & {\HUST@enauthor} \\
+ \HUST@enmajortitle & {\HUST@enmajor} \\
+ \HUST@ensupervisortitle & {\HUST@ensupervisor}
+ \ifthenelse{\equal{\HUST@enasssupervisor}{}}{}{
+ \\ \HUST@enasssupervisortitle & {\HUST@enasssupervisor}
+ }
+ \end{tabular}
+ \TurnOnTabFontSetting
+ \end{center}
+ }
+ \parbox[t][7cm][b]{.8\textwidth}{
+ \begin{center}
+ \bfseries
+ \fontsize{14pt}{28.0pt}\selectfont
+ \HUST@enschoolname \\
+ \HUST@enaddress \\
+ \endateformat
+ \end{center}
+ }
+ \end{center}
+}
+% \end{macrocode}
+%
+% Copyright page.
+% \begin{macrocode}
+\def\HUST@authorization{
+ \centerline{\fontsize{16pt}{20.8pt}\selectfont \HEI \HUST@originaldeclare}
+ \vspace{1cm}
+ {
+ \fontsize{12pt}{24.0pt}\selectfont
+ \indent\HUST@originaldeclaretext
+ }
+ \\[1.9cm]
+ \parbox[t]{\textwidth}{
+ \fontsize{12pt}{18.0pt}\selectfont
+ \TurnOffTabFontSetting
+ \hfill\begin{tabular}{ll}
+ \HUST@zhauthorsig & \hspace{2em}\\
+ \HUST@zhdatefield & \hspace{2em}\\
+ \end{tabular}
+ \TurnOnTabFontSetting
+ }
+ \\[1.9cm]
+ \centerline{\fontsize{16pt}{20.8pt}\selectfont \HEI \HUST@authtitle}
+ \\[1cm]
+ {
+ \fontsize{12pt}{24.0pt}\selectfont
+ \indent\HUST@authorizationtext \\
+ \indent\HUST@authorizationaddon \\
+ \indent\HUST@authorizationcheck
+ }
+ \\[1.9cm]
+ \hspace{2em}\parbox[t]{.9\textwidth}{
+ \fontsize{12pt}{18.0pt}\selectfont
+ \TurnOffTabFontSetting
+ \begin{tabular}{ll}
+ \HUST@zhauthorsig & \hspace{2em}\\
+ \HUST@zhdatefield & \hspace{2em}\\
+ \end{tabular}
+ \hfill
+ \begin{tabular}{ll}
+ \HUST@zhteachersig & \hspace{2em}\\
+ \HUST@zhdatefield & \hspace{2em}\\
+ \end{tabular}
+ \TurnOnTabFontSetting
+ }
+ \vfill
+}
+% \end{macrocode}
+%
+% \begin{macro}{\maketitle,\makecover}
+% Commands to generate title page.
+% \begin{macrocode}
+\def\maketitle{
+ \newgeometry{
+ top=1.2in,
+ bottom=1.2in,
+ left=1in,
+ right=1in,
+ }
+ \let\HUST@oldthepage\thepage
+ \ifthenelse{\equal{\HUST@language}{english-draft}}
+ {\def\thepage{Titlepage}}
+ {\def\thepage{封面}}
+ \begin{titlepage}
+ \ifthenelse{\equal{\HUST@language}{english-draft}}{}{
+ \thispagestyle{empty}
+ \HUST@zhtitlepage
+ \clearpage
+ }
+ \thispagestyle{empty}
+ \HUST@entitlepage
+ \end{titlepage}
+ \ifthenelse{\equal{\HUST@language}{english-draft}}{}{
+ \def\thepage{版权页}
+ \thispagestyle{empty}
+ \HUST@authorization
+ \clearpage
+ }
+ \restoregeometry
+ \let\thepage\HUST@oldthepage
+ \setcounter{page}{1}
+}
+\let\makecover\maketitle
+% \end{macrocode}
+% \end{macro}
+%
+% Chinese abstract page.
+% \begin{macrocode}
+\def\HUST@zhabstractpage{
+ \chapter*{\HUST@zhabstractname}
+ \begingroup
+ \fontsize{10.5pt}{13.7pt}\selectfont
+ \HUST@zhabstract \par
+ \vskip 1.2ex
+ \noindent\hei{\HUST@zhkeywordstitle}\hspace{.8em} \HUST@zhkeywords
+ \endgroup
+}
+% \end{macrocode}
+%
+% English abstract page.
+% \begin{macrocode}
+\def\HUST@enabstractpage{
+ \chapter*{\textsf{\HUST@enabstractname}}
+ \begingroup
+ \fontsize{10.5pt}{13.7pt}\selectfont
+ \HUST@enabstract \par
+ \vskip 1.2ex
+ \noindent\textbf{\HUST@enkeywordstitle}\hspace{.8em} \HUST@enkeywords
+ \endgroup
+}
+% \end{macrocode}
+%
+% \begin{macro}{\makeabstract}
+% A command to generate abstract page.
+% \begin{macrocode}
+\def\makeabstract{
+ \phantomsection
+ \ifthenelse{\equal{\HUST@language}{chinese}}{
+ \addcontentsline{toc}{chapter}{\HUST@zhabstractnamenospace}
+ }{
+ \addcontentsline{toc}{chapter}{\HUST@enabstractname}
+ }
+ \ifthenelse{\equal{\HUST@language}{english-draft}}{}{
+ \HUST@zhabstractpage
+ \clearpage
+ }
+ \HUST@enabstractpage
+ \clearpage
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\tableofcontents}
+% A command to generate table of contents.
+% \begin{macrocode}
+\let\HUST@tableofcontents\tableofcontents
+\def\tableofcontents{
+ \ifthenelse{\equal{\HUST@language}{chinese}}{
+ \pdfbookmark{\contentsnamenospace}{\contentsnamenospace}
+ }{
+ \pdfbookmark{\contentsname}{\contentsname}
+ }
+ \HUST@tableofcontents
+ \clearpage
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{environment}{ack}
+% A command to generate acknowledge page.
+% \begin{macrocode}
+\newenvironment{ack}{
+ \clearpage
+ \phantomsection
+ \addcontentsline{toc}{chapter}{\HUST@acknamenospace}
+ \chapter*{\HUST@ackname}
+ \begingroup
+ \fontsize{10.5pt}{13.7pt}\selectfont
+}{
+ \endgroup
+}
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{environment}{publications}
+% A command to generate publications page.
+% \begin{macrocode}
+\newenvironment{publications}{
+ \clearpage
+ \ifHUST@inappendix
+ \chapter{\HUST@publicationtitle}
+ \else
+ \phantomsection
+ \addcontentsline{toc}{chapter}{\HUST@publicationtitle}
+ \chapter*{\HUST@publicationtitle}
+ \fi
+ \begin{enumerate}[labelindent=0pt,label={[\arabic*]},itemsep=0.5ex]
+ \fontsize{10.5pt}{10.5pt}\selectfont
+}{
+ \end{enumerate}
+}
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{macro}{\bibliography}
+% A command to generate bibliography page.
+% \begin{macrocode}
+\bibliographystyle{hustthesis}
+\let\HUST@bibliography\bibliography
+\def\bibliography#1{
+ \clearpage
+ \phantomsection
+ \addcontentsline{toc}{chapter}{\bibname}
+ \begingroup
+ \fontsize{10.5pt}{10.5pt}\selectfont
+ \setlength\bibsep{0.5ex}
+ \HUST@bibliography{#1}
+ \endgroup
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{environment}{appendix}
+% The appendix environment.
+% \begin{macrocode}
+\newif\ifHUST@inappendix
+\HUST@inappendixfalse
+\newif\ifHUST@appendix@resetmainmatter
+\HUST@appendix@resetmainmatterfalse
+\renewenvironment{appendix}{
+ \if@mainmatter
+ \HUST@appendix@resetmainmatterfalse
+ \else
+ \HUST@appendix@resetmainmattertrue
+ \@mainmattertrue
+ \fi
+ \appendixtitletocon
+ \appendices
+ \titleformat{\chapter}
+ {
+ \bfseries\HEI
+ \centering
+ \fontsize{18pt}{23.4pt}\selectfont
+ }
+ {\appendixname\,\thechapter}
+ {1em}
+ {}
+ \HUST@inappendixtrue
+}{
+ \endappendices
+ \HUST@inappendixfalse
+ \ifHUST@appendix@resetmainmatter
+ \HUST@appendix@resetmainmatterfalse
+ \@mainmatterfalse
+ \else\fi
+}
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{macro}{\listoffigures}
+% A command to generate list of figures.
+% \begin{macrocode}
+\let\HUST@listoffigures\listoffigures
+\def\listoffigures{
+ \clearpage
+ \ifHUST@inappendix
+ \addtocounter{chapter}{1}
+ \def\listfigurename{\appendixname\,\thechapter\hspace{1em}\HUST@listfigurename}
+ \else
+ \def\listfigurename{\HUST@listfigurename}
+ \fi
+ \phantomsection
+ \ifHUST@inappendix
+ \addcontentsline{toc}{chapter}{\thechapter\hspace{1em}\HUST@listfigurename}
+ \else
+ \addcontentsline{toc}{chapter}{\listfigurename}
+ \fi
+ \HUST@listoffigures
+ \def\listfigurename{\HUST@listfigurename}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\listoftables}
+% A command to generate list of tables.
+% \begin{macrocode}
+\let\HUST@listoftables\listoftables
+\def\listoftables{
+ \clearpage
+ \ifHUST@inappendix
+ \addtocounter{chapter}{1}
+ \def\listtablename{\appendixname\,\thechapter\hspace{1em}\HUST@listtablename}
+ \else
+ \def\listtablename{\HUST@listtablename}
+ \fi
+ \phantomsection
+ \ifHUST@inappendix
+ \addcontentsline{toc}{chapter}{\thechapter\hspace{1em}\HUST@listtablename}
+ \else
+ \addcontentsline{toc}{chapter}{\listtablename}
+ \fi
+ \HUST@listoftables
+ \def\listtablename{\HUST@listtablename}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \section{Other Command}
+% \begin{macro}{\email}
+% \begin{macrocode}
+\def\email#1{
+ \href{mailto:#1}{\texttt{#1}}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+%</class>
+% \end{macrocode}
+%
+% \Finale
+%
+% ^^A Other files
+% \iffalse
+%
+%<*example-zh|example-en>
+%<example-zh>\documentclass[format=draft,language=chinese,degree=bachelor]{hustthesis}
+%<example-en>\documentclass[format=draft,language=english,degree=bachelor]{hustthesis}
+
+\stuno{U2009xxxxx}
+\schoolcode{10487}
+%<example-zh>\title{\LaTeX 模板使用示例}{An Example of Using hustthesis \LaTeX{} Template}
+%<example-en>\title{An Example of Using hustthesis \LaTeX{} Template}
+\author
+%<example-zh>{许铖}{Xu Cheng}
+%<example-en>{}
+\major
+%<example-zh>{电子信息工程}{Electronic and Information Engineering}
+%<example-en>{}
+\supervisor
+%<example-zh>{黑晓军\hspace{1em}副教授}{Ass. Prof. Xiaojun Hei}
+%<example-en>{}
+\date{2013}{7}{1}
+
+%<*example-zh>
+\zhabstract{
+ 这这是一个\LaTeX{}模板使用实例文件,该模板用于华中科技大学毕业设计、学士论文、硕士论文和博士论文写作中。
+
+ 该模板基于LPPL v1.3发行。
+
+}
+\zhkeywords{\LaTeX{},华中科技大学,论文,模板}
+%</example-zh>
+
+%<example-zh>\enabstract
+%<example-en>\abstract
+{
+ This is a \LaTeX{} template example file. This template is used in written thesis for Huazhong Univ. of Sci. \& Tech.
+
+ This template is published under LPPL v1.3 License.
+
+}
+%<example-zh>\enkeywords
+%<example-en>\keywords
+{\LaTeX{}, Huazhong Univ. of Sci. \& Tech., Thesis, Template}
+
+\begin{document}
+
+\frontmatter
+\maketitle
+\makeabstract
+\tableofcontents
+\listoffigures
+\listoftables
+\mainmatter
+
+%<*example-zh>
+\chapter{基本格式测试}\label{chapter:1}
+
+\section{第一层}\label{sec:1}
+\subsection{第二层}\label{sec:2}
+\subsubsection{第三层}\label{sec:3}
+测试测试测试测试测试测试测试测试测试测试测试测试。
+\footnote{\label{footnote:1}脚注}
+
+\section{字体}
+
+普通\textbf{粗体}\emph{斜体}
+
+\hei{黑体}\kai{楷体}\fangsong{仿宋}
+
+\section{公式}
+
+单个公式,公式引用:\autoref{eq:1}。
+\begin{equation}
+ c^2 = a^2 + b^2 \label{eq:1}
+\end{equation}
+
+多个公式,公式引用:\autoref{eq:2},\autoref{eq:3}。
+
+\begin{subequations}
+\begin{equation}
+ F = ma \label{eq:2}
+\end{equation}
+\begin{equation}
+ E = mc^2 \label{eq:3}
+\end{equation}
+\end{subequations}
+
+\section{罗列环境}
+
+\begin{enumerate}
+ \item 第一层\label{item:1}
+ \item 第一层
+ \begin{enumerate}
+ \item 第二层\label{item:2}
+ \item 第二层
+ \begin{enumerate}
+ \item 第三层\label{item:3}
+ \item 第三层
+ \end{enumerate}
+ \end{enumerate}
+\end{enumerate}
+
+\begin{description}
+ \item[解释环境] 解释内容
+\end{description}
+
+\chapter{其他格式测试}
+
+\section{代码环境}
+
+\begin{lstlisting}[language=python]
+import os
+
+def main():
+ '''
+ doc here
+ '''
+ print 'hello, world' # Abc
+ print 'hello, 中文' # 中文
+\end{lstlisting}
+
+\section{定律证明环境}
+
+\begin{definition}\label{def:1}
+这是一个定义。
+\end{definition}
+\begin{proposition}\label{proposition:1}
+这是一个命题。
+\end{proposition}
+\begin{axiom}\label{axiom:1}
+这是一个公理。
+\end{axiom}
+\begin{lemma}\label{lemma:1}
+这是一个引理。
+\end{lemma}
+\begin{theorem}\label{theorem:1}
+这是一个定理。
+\end{theorem}
+\begin{proof}\label{proof:1}
+这是一个证明。
+\end{proof}
+
+\section{算法环境}
+
+\begin{algorithm}[H]
+\SetAlgoLined
+\KwData{this text}
+\KwResult{how to write algorithm with \LaTeX2e }
+initialization\;\label{alg_line:1}
+\While{not at end of this document}{
+read current\;
+\eIf{understand}{
+go to next section\;
+current section becomes this one\;
+}{
+go back to the beginning of current section\;
+}
+}
+\caption{How to write algorithms}\label{alg:1}
+\end{algorithm}
+
+\section{表格}
+表格见\autoref{tab:1}。
+
+\begin{table}[!h]
+\centering
+\caption{一个表格}\label{tab:1}
+\begin{tabular}{|c|c|}
+\hline
+a & b \\
+\hline
+c & d \\
+\hline
+\end{tabular}
+\end{table}
+\section{图片}
+图片见\autoref{fig:1}。图片格式支持eps,png,pdf等。多个图片见\autoref{fig:2},分开引用:\autoref{fig:2-1},\autoref{fig:2-2}。
+
+\begin{figure}[!h]
+\centering
+\includegraphics[width=.4\textwidth]{fig-example.pdf}
+\caption{一个图片}\label{fig:1}
+\end{figure}
+
+\begin{figure}[!h]
+\centering
+ \begin{subfigure}[b]{0.3\textwidth}
+ \includegraphics[width=\textwidth]{fig-example.pdf}
+ \caption{图片1}\label{fig:2-1}
+ \end{subfigure}
+ ~
+ \begin{subfigure}[b]{0.3\textwidth}
+ \includegraphics[width=\textwidth]{fig-example.pdf}
+ \caption{图片2}\label{fig:2-2}
+ \end{subfigure}
+\caption{多个图片}\label{fig:2}
+\end{figure}
+
+\section{参考文献示例}
+这是一篇中文参考文献\cite{TEXGURU99};这是一篇英文参考文献\cite{knuth};同时引用\cite{TEXGURU99,knuth}。
+
+\section[\textbackslash{}autoref 测试]{\texttt{\textbackslash{}autoref} 测试}
+
+\begin{description}
+ \item[公式] \autoref{eq:1}
+ \item[脚注] \autoref{footnote:1}
+ \item[项] \autoref{item:1},\autoref{item:2},\autoref{item:3}
+ \item[图] \autoref{fig:1}
+ \item[表] \autoref{tab:1}
+ \item[附录] \autoref{appendix:1}
+ \item[章] \autoref{chapter:1}
+ \item[小节] \autoref{sec:1},\autoref{sec:2},\autoref{sec:3}
+ \item[算法] \autoref{alg:1},\autoref{alg_line:1}
+ \item[证明环境] \autoref{def:1},\autoref{proposition:1},\autoref{axiom:1},\autoref{lemma:1},\autoref{theorem:1},\autoref{proof:1}
+\end{description}
+
+
+\backmatter
+
+\begin{ack}
+致谢正文。
+\end{ack}
+
+\bibliography{ref-example}
+
+\appendix
+
+\begin{publications}
+ \item 论文1
+ \item 论文2
+\end{publications}
+
+\chapter{这是一个附录}\label{appendix:1}
+附录正文。
+
+%</example-zh>
+%<*example-en>
+\chapter{Simple Test}\label{chapter:1}
+
+\section{Level 1}\label{sec:1}
+\subsection{Level 2}\label{sec:2}
+\subsubsection{Level 3}\label{sec:3}
+Content
+\footnote{\label{footnote:1}A footnote.}
+
+\section{Font}
+
+Normal \textbf{Bold} \emph{Italic} \textsf{Sans}
+
+The quick brown fox jumps over the lazy dog.
+
+\section{Equation}
+
+Single equation, see \autoref{eq:1}.
+\begin{equation}
+ c^2 = a^2 + b^2 \label{eq:1}
+\end{equation}
+
+Multi-equations, see \autoref{eq:2} and \autoref{eq:3}.
+
+\begin{subequations}
+\begin{equation}
+ F = ma \label{eq:2}
+\end{equation}
+\begin{equation}
+ E = mc^2 \label{eq:3}
+\end{equation}
+\end{subequations}
+
+\section{List Environment}
+
+\begin{enumerate}
+ \item Level 1\label{item:1}
+ \item Level 1
+ \begin{enumerate}
+ \item Level 2\label{item:2}
+ \item Level 2
+ \begin{enumerate}
+ \item Level 3\label{item:3}
+ \item Level 3
+ \end{enumerate}
+ \end{enumerate}
+\end{enumerate}
+
+\begin{description}
+ \item[Discription] Content
+\end{description}
+
+\chapter{Other Test}
+
+\section{Code Highlight}
+
+\begin{lstlisting}[language=python]
+import os
+
+def main():
+ '''
+ doc here
+ '''
+ print 'hello, world' # Abc
+\end{lstlisting}
+
+\section{Theorem}
+
+\begin{definition}\label{def:1}
+This is a definition.
+\end{definition}
+\begin{proposition}\label{proposition:1}
+This is a proposition.
+\end{proposition}
+\begin{axiom}\label{axiom:1}
+This is an axiom.
+\end{axiom}
+\begin{lemma}\label{lemma:1}
+This is a lemma.
+\end{lemma}
+\begin{theorem}\label{theorem:1}
+This is a theorem.
+\end{theorem}
+\begin{proof}\label{proof:1}
+This is a proof.
+\end{proof}
+
+\section{Algorithm}
+
+\begin{algorithm}[H]
+\SetAlgoLined
+\KwData{this text}
+\KwResult{how to write algorithm with \LaTeX2e }
+initialization\;\label{alg_line:1}
+\While{not at end of this document}{
+read current\;
+\eIf{understand}{
+go to next section\;
+current section becomes this one\;
+}{
+go back to the beginning of current section\;
+}
+}
+\caption{How to write algorithms}\label{alg:1}
+\end{algorithm}
+
+\section{Table}
+See \autoref{tab:1}.
+
+\begin{table}[!h]
+\centering
+\caption{A table}\label{tab:1}
+\begin{tabular}{|c|c|}
+\hline
+a & b \\
+\hline
+c & d \\
+\hline
+\end{tabular}
+\end{table}
+
+\section{Figure}
+See \autoref{fig:1}.Figure supports format in eps, png, pdf and so on. Multi-figures, see \autoref{fig:2}. Reference separately: \autoref{fig:2-1}, \autoref{fig:2-2}.
+
+\begin{figure}[!h]
+\centering
+\includegraphics[width=.4\textwidth]{fig-example.pdf}
+\caption{A figure}\label{fig:1}
+\end{figure}
+
+\begin{figure}[!h]
+\centering
+ \begin{subfigure}[b]{0.3\textwidth}
+ \includegraphics[width=\textwidth]{fig-example.pdf}
+ \caption{Figure A}\label{fig:2-1}
+ \end{subfigure}
+ ~
+ \begin{subfigure}[b]{0.3\textwidth}
+ \includegraphics[width=\textwidth]{fig-example.pdf}
+ \caption{Figure B}\label{fig:2-2}
+ \end{subfigure}
+\caption{Multi-figures}\label{fig:2}
+\end{figure}
+
+\section{Bibliography}
+Cite one bib\cite{knuth}, cite two\cite{TEXGURU99,knuth}.
+
+\section[\textbackslash{}autoref Test]{\texttt{\textbackslash{}autoref} Test}
+
+\begin{description}
+ \item[Equation] \autoref{eq:1}
+ \item[Footnote] \autoref{footnote:1}
+ \item[Item] \autoref{item:1},\autoref{item:2},\autoref{item:3}
+ \item[Figure] \autoref{fig:1}
+ \item[Table] \autoref{tab:1}
+ \item[Appendix] \autoref{appendix:1}
+ \item[Chapter] \autoref{chapter:1}
+ \item[Section] \autoref{sec:1},\autoref{sec:2},\autoref{sec:3}
+ \item[Algorithm] \autoref{alg:1},\autoref{alg_line:1}
+ \item[Theorem] \autoref{def:1},\autoref{proposition:1},\autoref{axiom:1},\autoref{lemma:1},\autoref{theorem:1},\autoref{proof:1}
+\end{description}
+
+\backmatter
+
+\begin{ack}
+Acknowledge
+\end{ack}
+
+\bibliography{ref-example}
+
+\appendix
+
+\begin{publications}
+ \item Thesis 1
+ \item Thesis 2
+\end{publications}
+
+\chapter{This is an appendix}\label{appendix:1}
+Content.
+
+%</example-en>
+
+\end{document}
+
+%</example-zh|example-en>
+%
+%<*example-bib>
+@BOOK{TEXGURU99,
+ AUTHOR = "{\TeX}Guru",
+ TITLE = "{\LaTeXe} Manual",
+ YEAR = "1999"
+}
+
+@BOOK{knuth,
+ AUTHOR = "{Donald E. Knuth}",
+ TITLE = "The \TeX{}book",
+ publisher = "Addison–Wesley Pub. Co.",
+ address = "MA",
+ YEAR = "1984"
+}
+%</example-bib>
+%
+%<*bst>
+%<<BSTFILE
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% PREDEFINED STRING MACROS %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+MACRO {jan} {"January"}
+MACRO {feb} {"February"}
+MACRO {mar} {"March"}
+MACRO {apr} {"April"}
+MACRO {may} {"May"}
+MACRO {jun} {"June"}
+MACRO {jul} {"July"}
+MACRO {aug} {"August"}
+MACRO {sep} {"September"}
+MACRO {oct} {"October"}
+MACRO {nov} {"November"}
+MACRO {dec} {"December"}
+
+
+MACRO {IEEE_J_MTT} {"{IEEE} Trans. Microwave Theory Tech."}
+
+
+%%%%%%%%%%%%%%%%%%
+%% ENTRY FIELDS %%
+%%%%%%%%%%%%%%%%%%
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ lang
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ url
+ nationality
+ }
+ {}
+ { label }
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% INTEGER VARIABLES, STRING VARIABLES and FUNCTIONS %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+INTEGERS { longest.label.width multiresult nameptr namesleft number.label numnames }
+
+
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {is.num}
+{ chr.to.int$
+ duplicate$ "0" chr.to.int$ < not
+ swap$ "9" chr.to.int$ > not and
+}
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+STRINGS {z}
+FUNCTION {remove.dots}
+{ 'z :=
+ ""
+ { z empty$ not}
+ { z #1 #1 substring$
+ z #2 global.max$ substring$ 'z :=
+ duplicate$ "." = 'pop$
+ { * }
+ if$
+ }
+ while$
+ %z
+}
+
+FUNCTION {bibinfo.check}
+{ swap$
+ duplicate$ missing$
+ {
+ pop$ pop$
+ ""
+ }
+ { duplicate$ empty$
+ {
+ swap$ pop$
+ }
+ { swap$
+ pop$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {bibinfo.warn}
+{ swap$
+ duplicate$ missing$
+ {
+ swap$ "missing " swap$ * " in " * cite$ * warning$ pop$
+ ""
+ }
+ { duplicate$ empty$
+ {
+ swap$ "empty " swap$ * " in " * cite$ * warning$
+ }
+ { swap$
+ pop$
+ }
+ if$
+ }
+ if$
+}
+
+% IEEE separates large numbers with more than 4 digits into groups of
+% three. IEEE uses a small space to separate these number groups.
+% Typical applications include patent and page numbers.
+
+% number of consecutive digits required to trigger the group separation.
+FUNCTION {large.number.trigger}{ #5 }
+
+% For numbers longer than the trigger, this is the blocksize of the groups.
+% The blocksize must be less than the trigger threshold, and 2 * blocksize
+% must be greater than the trigger threshold (can't do more than one
+% separation on the initial trigger).
+FUNCTION {large.number.blocksize}{ #3 }
+
+% What is actually inserted between the number groups.
+FUNCTION {large.number.separator}{ "\," }
+
+% So as to save on integer variables by reusing existing ones, numnames
+% holds the current number of consecutive digits read and nameptr holds
+% the number that will trigger an inserted space.
+FUNCTION {large.number.separate}
+{ 't :=
+ ""
+ #0 'numnames :=
+ large.number.trigger 'nameptr :=
+ { t empty$ not }
+ { t #-1 #1 substring$ is.num
+ { numnames #1 + 'numnames := }
+ { #0 'numnames :=
+ large.number.trigger 'nameptr :=
+ }
+ if$
+ t #-1 #1 substring$ swap$ *
+ t #-2 global.max$ substring$ 't :=
+ numnames nameptr =
+ { duplicate$ #1 nameptr large.number.blocksize - substring$ swap$
+ nameptr large.number.blocksize - #1 + global.max$ substring$
+ large.number.separator swap$ * *
+ nameptr large.number.blocksize - 'numnames :=
+ large.number.blocksize #1 + 'nameptr :=
+ }
+ { skip$ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.note}
+{
+ note empty$
+ { "" }
+ { note #1 #1 substring$
+ duplicate$ "{" =
+ 'skip$
+ { output.state mid.sentence =
+ { "l" }
+ { "u" }
+ if$
+ change.case$
+ }
+ if$
+ note #2 global.max$ substring$ * "note" bibinfo.check
+ }
+ if$
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {bbl.etal}
+{ "et~al." }
+
+FUNCTION {bbl.cn.etal}
+{ "等." }
+
+FUNCTION {format.lang}
+{ lang empty$
+ 'skip$
+ 'skip$
+ if$
+ }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{ll}{ f{~}}"
+ format.name$
+ %remove.dots
+ %bibinfo bibinfo.check
+ 't :=
+ nameptr #1 >
+ {
+ nameptr #3
+ #1 + =
+ numnames #3
+ > and
+ { "others" 't :=
+ #1 'namesleft := }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ { numnames #2 >
+ { "" * }
+ 'skip$
+ if$
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ lang empty$
+ { ", " * bbl.etal * }
+ { lang "chinese" =
+ { ", " * bbl.cn.etal * }
+ 'skip$
+ if$
+ }
+ if$
+ }
+ {
+ lang empty$
+ { ", " * t * }
+ { lang "chinese" =
+ { ", " * t * }
+ 'skip$
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+%FUNCTION {format.editors}
+%{ editor empty$
+% { "" }
+% { editor format.names
+% editor num.names$ #1 >
+% { ", editors" * }
+% { ", editor" * }
+% if$
+% }
+% if$
+%}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { lang empty$
+ { editor format.names
+ editor num.names$ #1 >
+ { ", editors" * }
+ { ", editor" * }
+ if$
+ }
+ { editor format.names * ", " }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title }
+ if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month ", " * year * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ edition empty$
+ { title }
+ { title empty$
+ { title }
+ {
+ lang empty$
+ { " " title * ", " * edition * " ed." * }
+ { lang "chinese" =
+ { " " title * ", 第~" * edition * " 版" * }
+ 'skip$
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { "volume" volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " cite$ * warning$ }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ { new.block " {\url{" url * "}}" * }
+ if$
+}
+
+
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { lang empty$
+ {"pages" pages n.dashify tie.or.space.connect }
+ { lang "chinese" =
+ { "" pages n.dashify tie.or.space.connect }
+ 'skip$
+ if$
+ }
+ if$
+ }
+ { "page" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ format.pages }
+ { ":" * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { "chapter" }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+ { "" }
+ { editor empty$
+ { lang empty$
+ { "in: Proceedings of " booktitle * }
+ { "见: " booktitle * }
+ if$
+ }
+ { lang empty$
+ { "in: " format.editors * ", Proceedings of " * booktitle * }
+ { ". 见: " * format.editors * booktitle * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+ { journal empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref *
+ warning$
+ ""
+ }
+ { "In {\em " journal * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{ll }{f{~}}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ll }{f{~}}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{ll }{f{~}}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ ""
+ }
+ { "In {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.patent.nationality.type.number}
+{
+ nationality duplicate$ empty$
+ { "nationality" bibinfo.warn pop$ "" }
+ { "nationality" bibinfo.check
+ duplicate$ "l" change.case$ "china" =
+ { pop$ "中国" }
+ { skip$ }
+ if$
+ " " *
+ }
+ if$
+ type empty$
+ { "Patent" "type" bibinfo.check }
+ { type "type" bibinfo.check }
+ if$
+ *
+ number duplicate$ empty$
+ { "number" bibinfo.warn pop$ }
+ { "number" bibinfo.check
+ large.number.separate
+ swap$ " " * swap$ *
+ }
+ if$
+}
+
+FUNCTION {format.address.publisher}
+{ address empty$
+ { publisher empty$
+ { "" }
+ { "there's a publisher but no address in " cite$ * warning$
+ publisher
+ }
+ if$
+ }
+ { publisher empty$
+ 'address
+ { address ": " * publisher * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.address.school}
+{ address empty$
+ { school empty$
+ { "" }
+ { "there's a school but no address in " cite$ * warning$
+ school
+ }
+ if$
+ }
+ { school empty$
+ 'address
+ { address ": " * school * }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.title.type}
+{ title empty$
+ { type empty$
+ { "" }
+ { "there's a type but no title in " cite$ * warning$
+ type
+ }
+ if$
+ }
+ { type empty$
+ 'title
+ { title ": " * type * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {book} { output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle
+ "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ %format.edition output
+ format.address.publisher output
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { %journal emphasize "journal" output.check
+ journal "journal" output.check
+ %format.date "year" output.check
+ %new.block
+ year output
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished address new.block.checkb
+ howpublished output
+ address output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook} { output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ %format.edition output
+ format.address.publisher output
+ format.date "year" output.check
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ publisher "publisher" output.check
+ address output
+ %format.edition output
+ format.date "year" output.check
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ %format.bvolume output
+ %format.number.series output
+ %format.pages output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.date "year" output.check
+ %year output
+ }
+ { %address output.nonnull
+ format.address.publisher output
+ format.date "year" output.check
+ %year output
+ %new.sentence
+ organization output
+ }
+ if$
+ %new.block
+ pages output
+ %remove.dots
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ address output
+ }
+ if$
+ %format.edition output
+ format.date output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {masterthesis.type}
+{ lang empty$
+ { "[Master Thesis]" }
+ { "[硕士学位论文]" }
+ if$
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" add.period$ output.check
+ new.block
+ format.title remove.dots ": " * masterthesis.type * output
+ new.block
+ format.address.school output
+ %format.madd "address" output.check
+ %school "school" output.check
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.date output
+ format.url output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {phdthesis.type}
+{ lang empty$
+ { "[PhD Dissertation]" }
+ { "[博士学位论文]" }
+ if$
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" add.period$ output.check
+ new.block
+ format.title remove.dots ": " * phdthesis.type * output
+ new.block
+ format.address.school output
+ %address output
+ %school "school" output.check
+ format.date "year" output.check
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ publisher output
+ format.date "year" output.check
+ }
+ { address output.nonnull
+ format.date "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ publisher output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ format.date "year" output.check
+ format.url output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {patent} { output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ format.patent.nationality.type.number output
+ format.date "year" output.check
+ format.pages output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+
+%%%%%%%%%%%%%%%%%%
+%% MAIN PROGRAM %%
+%%%%%%%%%%%%%%%%%%
+
+READ
+
+STRINGS { longest.label }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
+%BSTFILE
+%<\bst>
+%
+% \fi
+%
+\endinput
diff --git a/macros/latex/contrib/hustthesis/hustthesis.ins b/macros/latex/contrib/hustthesis/hustthesis.ins
new file mode 100644
index 0000000000..9f965add94
--- /dev/null
+++ b/macros/latex/contrib/hustthesis/hustthesis.ins
@@ -0,0 +1,84 @@
+% !TEX program = LuaLaTeX
+%% hustthesis.ins
+%%
+%% Copyright (C) 2013-2014 by Xu Cheng <xucheng@me.com>
+%% 2014-2016 by hust-latex <https://github.com/hust-latex>
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is hust-latex Organization.
+%%
+%% This work consists of the files hustthesis.bst, hustthesis.dtx,
+%% hustthesis.ins and the derived file hustthesis.cls
+%% along with its document and example files.
+%%
+\input l3docstrip.tex
+\keepsilent
+\askforoverwritefalse
+
+\preamble
+
+This is a generated file.
+
+Copyright (C) 2013-2014 by Xu Cheng <xucheng@me.com>
+ 2014-2016 by hust-latex <https://github.com/hust-latex>
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3
+of this license or (at your option) any later version.
+The latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of LaTeX
+version 2005/12/01 or later.
+
+This work has the LPPL maintenance status `maintained'.
+
+The Current Maintainer of this work is hust-latex Organization.
+
+This work consists of the files hustthesis.bst, hustthesis.dtx,
+hustthesis.ins and the derived file hustthesis.cls
+along with its document and example files.
+
+\endpreamble
+
+
+\generate{
+ \usedir{tex/latex/\jobname}
+ \file{\jobname.cls}{\from{\jobname.dtx}{class}}
+ \usedir{doc/latex/\jobname/example}
+ \file{\jobname-zh-example.tex}{\from{\jobname.dtx}{example-zh}}
+ \file{\jobname-en-example.tex}{\from{\jobname.dtx}{example-en}}
+ \usedir{bibtex/bst/\jobname}
+ \nopostamble
+ \file{\jobname.bst}{\from{\jobname.dtx}{bst}}
+ \nopreamble\nopostamble
+ \usedir{doc/latex/\jobname/example}
+ \file{ref-example.bib}{\from{\jobname.dtx}{example-bib}}
+}
+
+\Msg{*********************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the}
+\Msg{* following file into a directory searched by TeX:}
+\Msg{*}
+\Msg{* \space\space \jobname.cls}
+\Msg{* \space\space \jobname.bst}
+\Msg{* \space\space hust-title.eps}
+\Msg{* \space\space hust-title.pdf}
+\Msg{*}
+\Msg{* To produce the documentation run the file \jobname.dtx}
+\Msg{* through LuaLaTeX.}
+\Msg{*}
+\Msg{* Happy TeXing!}
+\Msg{*}
+\Msg{*********************************************************}
+
+\endbatchfile
diff --git a/macros/latex/contrib/hustthesis/hustthesis.pdf b/macros/latex/contrib/hustthesis/hustthesis.pdf
new file mode 100644
index 0000000000..f0bda4f9c7
--- /dev/null
+++ b/macros/latex/contrib/hustthesis/hustthesis.pdf
Binary files differ