diff --git a/20230606/rtech-20230606.pdf b/20230606/rtech-20230606.pdf index 2af7520ecbfc3a8cf5e8597b6d750a351357da14..5fc4a584cadfba71ab109fd17361b4a61844743b 100644 Binary files a/20230606/rtech-20230606.pdf and b/20230606/rtech-20230606.pdf differ diff --git a/20230606/rtech-20230606.tex b/20230606/rtech-20230606.tex index 0db3fc198c70fc575bd59ff18888ef571d23ab7c..0cd489840c2b89dde04bf5c98763981236501c97 100644 --- a/20230606/rtech-20230606.tex +++ b/20230606/rtech-20230606.tex @@ -86,16 +86,18 @@ \item[4.2] I/O-Ports \color{red} \item[4.3] Interrupts - \item[4.4] Byte-Reihenfolge -- Endianness + \item[4.4] volatile-Variable + \color{black} + \item[4.5] Byte-Reihenfolge -- Endianness \end{itemize} \item[\textbf{5}] \textbf{Dateiformate} - \begin{itemize} - \color{red} - \item[5.1] Ausführbare Dateien - \item[5.2] Die Toolchain - \item[5.3] Besonderheiten von Mikrocontrollern - \item[\dots] - \end{itemize} +% \begin{itemize} +% \color{red} +% \item[5.1] Ausführbare Dateien +% \item[5.2] Die Toolchain +% \item[5.3] Besonderheiten von Mikrocontrollern +% \item[\dots] +% \end{itemize} \item[\textbf{6}] \textbf{Pipelining} % \item[\textbf{7}] \textbf{Bus-Systeme} % \item[\textbf{8}] \textbf{Ausblick} @@ -556,6 +558,8 @@ \end{frame} +\iffalse + \begin{frame}[fragile] \showsubsection @@ -600,6 +604,8 @@ \end{frame} +\fi + \subsection{volatile-Variable} \begin{frame}[fragile] diff --git a/20230613/a.out b/20230613/a.out new file mode 100755 index 0000000000000000000000000000000000000000..c8409c9b97d63f1fbd62f0b99c557a3498ba60e5 Binary files /dev/null and b/20230613/a.out differ diff --git a/20230613/a.out-static b/20230613/a.out-static new file mode 100755 index 0000000000000000000000000000000000000000..59a9b8a667483f56e96da7501c6b5488a78dcfad Binary files /dev/null and b/20230613/a.out-static differ diff --git a/20230613/chaos.png b/20230613/chaos.png new file mode 100644 index 0000000000000000000000000000000000000000..38998f279aa1bafb2ffcdd047bc8b47fd1e532fa Binary files /dev/null and b/20230613/chaos.png differ diff --git a/20230613/chaos.ppm b/20230613/chaos.ppm new file mode 100644 index 0000000000000000000000000000000000000000..db6317083b3850dfb3753cedf1d78b6559ac3f82 --- /dev/null +++ b/20230613/chaos.ppm @@ -0,0 +1,33 @@ +P6 14 14 255 +smiley.pbm: + +00000000 50 34 0a 23 20 43 72 65 61 74 65 64 20 62 79 20 |P4.# Created by | +00000010 47 49 4d 50 20 76 65 72 73 69 6f 6e 20 32 2e 31 |GIMP version 2.1| +00000020 30 2e 38 20 50 4e 4d 20 70 6c 75 67 2d 69 6e 0a |0.8 PNM plug-in.| +00000030 31 34 20 31 34 0a 00 00 00 00 00 00 08 40 08 40 |14 14........@.@| +00000040 08 40 00 00 00 00 40 08 20 10 1f e0 00 00 00 00 |.@....@. .......| +00000050 00 00 |..| +00000052 + +"Magische" Signatur: P4 +Kommentar: eingeleitet mit "#" +Breite in Pixel +Höhe in Pixel +1 Whitespace (hier: Zeilenschaltung) +Bilddaten: + - auf volle Bytes auffüllen (Alignment) + - MSB first + +smiley.xbm: C-Quelltext + +#define smiley_width 14 +#define smiley_height 14 +static unsigned char smiley_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x02, 0x10, 0x02, 0x10, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x10, 0x04, 0x08, 0xf8, 0x07, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00 }; + +Breite und Höhe in Pixel: #define +Bilddaten: C-Array + - auf volle Bytes auffüllen (Alignment) + - LSB first diff --git a/20230613/hello.c b/20230613/hello.c new file mode 100644 index 0000000000000000000000000000000000000000..b19d80e9bd0bd7c5ed8f54b20c6a50d9166f03ac --- /dev/null +++ b/20230613/hello.c @@ -0,0 +1,7 @@ +#include <stdio.h> + +int main (void) +{ + printf ("Hello, world!\n"); + return 0; +} diff --git a/20230613/hello.o b/20230613/hello.o new file mode 100644 index 0000000000000000000000000000000000000000..b80d98930b45784562177fa9bfe03180f462fff6 Binary files /dev/null and b/20230613/hello.o differ diff --git a/20230613/hello.odt b/20230613/hello.odt new file mode 100644 index 0000000000000000000000000000000000000000..dd59d3d89fa281a4cc0f1a80affc175ac28c8f5e Binary files /dev/null and b/20230613/hello.odt differ diff --git a/20230613/hello.pdf b/20230613/hello.pdf new file mode 100644 index 0000000000000000000000000000000000000000..03cdbad523d4ec43034a7fe635c4869b400ce7ff Binary files /dev/null and b/20230613/hello.pdf differ diff --git a/20230613/hello.s b/20230613/hello.s new file mode 100644 index 0000000000000000000000000000000000000000..f81a80564a1674eb3b9b1119691c7cfd502bb2bd --- /dev/null +++ b/20230613/hello.s @@ -0,0 +1,24 @@ + .file "hello.c" + .text + .section .rodata.str1.1,"aMS",@progbits,1 +.LC0: + .string "Hello, world!" + .text + .globl main + .type main, @function +main: +.LFB11: + .cfi_startproc + subq $8, %rsp + .cfi_def_cfa_offset 16 + leaq .LC0(%rip), %rdi + call puts@PLT + movl $0, %eax + addq $8, %rsp + .cfi_def_cfa_offset 8 + ret + .cfi_endproc +.LFE11: + .size main, .-main + .ident "GCC: (Debian 8.3.0-6) 8.3.0" + .section .note.GNU-stack,"",@progbits diff --git a/20230613/hello.tex b/20230613/hello.tex new file mode 100644 index 0000000000000000000000000000000000000000..dad5f8f293189cdb6af48d25cffa9c5f065e6be1 --- /dev/null +++ b/20230613/hello.tex @@ -0,0 +1,7 @@ +\documentclass{article} + +\pagestyle{empty} + +\begin{document} + Hello, world! +\end{document} diff --git a/20230613/hello.txt b/20230613/hello.txt new file mode 100644 index 0000000000000000000000000000000000000000..828dc790e9dee59b630aeaa503ab397dc114a7a1 --- /dev/null +++ b/20230613/hello.txt @@ -0,0 +1,23 @@ +#include <stdio.h> + +int main (void) +{ + printf ("Hello, world!\n"); + return 0; +} +~ +~ +"hello.c" [Neu] 7L, 82C geschrieben +cassini/home/peter/bo/2023ss/rtech/20230613> gcc -Wall -O hello.c +cassini/home/peter/bo/2023ss/rtech/20230613> ./a.out +Hello, world! +cassini/home/peter/bo/2023ss/rtech/20230613> file a.out +a.out: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=54b8af01026f86937ad063d491bc35aa5ebd32ab, not stripped +cassini/home/peter/bo/2023ss/rtech/20230613> +cassini/home/peter/bo/2023ss/rtech/20230613> gcc -Wall -O hello.c -static -o a.out-static +cassini/home/peter/bo/2023ss/rtech/20230613> file a.out-static +a.out-static: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), statically linked, for GNU/Linux 3.2.0, BuildID[sha1]=7c7fad844d7661d88b4cd6e36a414bf9f6ce8bf0, not stripped +cassini/home/peter/bo/2023ss/rtech/20230613> ls -l a.out* +-rwxr-xr-x 1 peter peter 16608 Jun 13 14:16 a.out +-rwxr-xr-x 1 peter peter 755648 Jun 13 14:20 a.out-static +cassini/home/peter/bo/2023ss/rtech/20230613> diff --git a/20230613/hello/META-INF/manifest.xml b/20230613/hello/META-INF/manifest.xml new file mode 100644 index 0000000000000000000000000000000000000000..d976c8d3bb749a479579622ac1d676b9bd1084fd --- /dev/null +++ b/20230613/hello/META-INF/manifest.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<manifest:manifest xmlns:manifest="urn:oasis:names:tc:opendocument:xmlns:manifest:1.0" manifest:version="1.2" xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0"> + <manifest:file-entry manifest:full-path="/" manifest:version="1.2" manifest:media-type="application/vnd.oasis.opendocument.text"/> + <manifest:file-entry manifest:full-path="Thumbnails/thumbnail.png" manifest:media-type="image/png"/> + <manifest:file-entry manifest:full-path="Configurations2/" manifest:media-type="application/vnd.sun.xml.ui.configuration"/> + <manifest:file-entry manifest:full-path="content.xml" manifest:media-type="text/xml"/> + <manifest:file-entry manifest:full-path="meta.xml" manifest:media-type="text/xml"/> + <manifest:file-entry manifest:full-path="manifest.rdf" manifest:media-type="application/rdf+xml"/> + <manifest:file-entry manifest:full-path="settings.xml" manifest:media-type="text/xml"/> + <manifest:file-entry manifest:full-path="styles.xml" manifest:media-type="text/xml"/> +</manifest:manifest> \ No newline at end of file diff --git a/20230613/hello/Thumbnails/thumbnail.png b/20230613/hello/Thumbnails/thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..599ee7ea7ad00c92b7ab8b511297f322955cce6d Binary files /dev/null and b/20230613/hello/Thumbnails/thumbnail.png differ diff --git a/20230613/hello/content.xml b/20230613/hello/content.xml new file mode 100644 index 0000000000000000000000000000000000000000..bd8b938daeb80a5e64b4b3cac9e98ab192a15577 --- /dev/null +++ b/20230613/hello/content.xml @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<office:document-content xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rpt="http://openoffice.org/2005/report" xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:grddl="http://www.w3.org/2003/g/data-view#" xmlns:officeooo="http://openoffice.org/2009/office" xmlns:tableooo="http://openoffice.org/2009/table" xmlns:drawooo="http://openoffice.org/2010/draw" xmlns:calcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0" xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0" xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0" xmlns:css3t="http://www.w3.org/TR/css3-text/" office:version="1.2"><office:scripts/><office:font-face-decls><style:font-face style:name="FreeSans1" svg:font-family="FreeSans" style:font-family-generic="swiss"/><style:font-face style:name="Liberation Serif" svg:font-family="'Liberation Serif'" style:font-family-generic="roman" style:font-pitch="variable"/><style:font-face style:name="Liberation Sans" svg:font-family="'Liberation Sans'" style:font-family-generic="swiss" style:font-pitch="variable"/><style:font-face style:name="DejaVu Sans" svg:font-family="'DejaVu Sans'" style:font-family-generic="system" style:font-pitch="variable"/><style:font-face style:name="FreeSans" svg:font-family="FreeSans" style:font-family-generic="system" style:font-pitch="variable"/></office:font-face-decls><office:automatic-styles><style:style style:name="P1" style:family="paragraph" style:parent-style-name="Standard"><style:text-properties officeooo:rsid="00152f23" officeooo:paragraph-rsid="00152f23"/></style:style></office:automatic-styles><office:body><office:text><text:sequence-decls><text:sequence-decl text:display-outline-level="0" text:name="Illustration"/><text:sequence-decl text:display-outline-level="0" text:name="Table"/><text:sequence-decl text:display-outline-level="0" text:name="Text"/><text:sequence-decl text:display-outline-level="0" text:name="Drawing"/><text:sequence-decl text:display-outline-level="0" text:name="Figure"/></text:sequence-decls><text:p text:style-name="P1">Hello, world!</text:p></office:text></office:body></office:document-content> \ No newline at end of file diff --git a/20230613/hello/manifest.rdf b/20230613/hello/manifest.rdf new file mode 100644 index 0000000000000000000000000000000000000000..927e206bb226cff37be31987614b54fb0b96e158 --- /dev/null +++ b/20230613/hello/manifest.rdf @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> + <rdf:Description rdf:about="styles.xml"> + <rdf:type rdf:resource="http://docs.oasis-open.org/ns/office/1.2/meta/odf#StylesFile"/> + </rdf:Description> + <rdf:Description rdf:about=""> + <ns0:hasPart xmlns:ns0="http://docs.oasis-open.org/ns/office/1.2/meta/pkg#" rdf:resource="styles.xml"/> + </rdf:Description> + <rdf:Description rdf:about="content.xml"> + <rdf:type rdf:resource="http://docs.oasis-open.org/ns/office/1.2/meta/odf#ContentFile"/> + </rdf:Description> + <rdf:Description rdf:about=""> + <ns0:hasPart xmlns:ns0="http://docs.oasis-open.org/ns/office/1.2/meta/pkg#" rdf:resource="content.xml"/> + </rdf:Description> + <rdf:Description rdf:about=""> + <rdf:type rdf:resource="http://docs.oasis-open.org/ns/office/1.2/meta/pkg#Document"/> + </rdf:Description> +</rdf:RDF> diff --git a/20230613/hello/meta.xml b/20230613/hello/meta.xml new file mode 100644 index 0000000000000000000000000000000000000000..b44ad432e78b2fdb09b38db9b569f5743d1bc114 --- /dev/null +++ b/20230613/hello/meta.xml @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<office:document-meta xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:grddl="http://www.w3.org/2003/g/data-view#" office:version="1.2"><office:meta><meta:creation-date>2023-06-13T13:57:43.322386944</meta:creation-date><dc:date>2023-06-13T13:57:57.225856228</dc:date><meta:editing-duration>PT14S</meta:editing-duration><meta:editing-cycles>1</meta:editing-cycles><meta:document-statistic meta:table-count="0" meta:image-count="0" meta:object-count="0" meta:page-count="1" meta:paragraph-count="1" meta:word-count="2" meta:character-count="13" meta:non-whitespace-character-count="12"/><meta:generator>LibreOffice/6.1.5.2$Linux_X86_64 LibreOffice_project/10$Build-2</meta:generator></office:meta></office:document-meta> \ No newline at end of file diff --git a/20230613/hello/mimetype b/20230613/hello/mimetype new file mode 100644 index 0000000000000000000000000000000000000000..2e95b81c92b07506a82c593c4b3df6e799802d65 --- /dev/null +++ b/20230613/hello/mimetype @@ -0,0 +1 @@ +application/vnd.oasis.opendocument.text \ No newline at end of file diff --git a/20230613/hello/settings.xml b/20230613/hello/settings.xml new file mode 100644 index 0000000000000000000000000000000000000000..050f64a3969cfee1a6fc547aca5abd6545142afa --- /dev/null +++ b/20230613/hello/settings.xml @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<office:document-settings xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" xmlns:ooo="http://openoffice.org/2004/office" office:version="1.2"><office:settings><config:config-item-set config:name="ooo:view-settings"><config:config-item config:name="ViewAreaTop" config:type="long">0</config:config-item><config:config-item config:name="ViewAreaLeft" config:type="long">0</config:config-item><config:config-item config:name="ViewAreaWidth" config:type="long">22043</config:config-item><config:config-item config:name="ViewAreaHeight" config:type="long">11559</config:config-item><config:config-item config:name="ShowRedlineChanges" config:type="boolean">true</config:config-item><config:config-item config:name="InBrowseMode" config:type="boolean">false</config:config-item><config:config-item-map-indexed config:name="Views"><config:config-item-map-entry><config:config-item config:name="ViewId" config:type="string">view2</config:config-item><config:config-item config:name="ViewLeft" config:type="long">4801</config:config-item><config:config-item config:name="ViewTop" config:type="long">2501</config:config-item><config:config-item config:name="VisibleLeft" config:type="long">0</config:config-item><config:config-item config:name="VisibleTop" config:type="long">0</config:config-item><config:config-item config:name="VisibleRight" config:type="long">22042</config:config-item><config:config-item config:name="VisibleBottom" config:type="long">11557</config:config-item><config:config-item config:name="ZoomType" config:type="short">3</config:config-item><config:config-item config:name="ViewLayoutColumns" config:type="short">0</config:config-item><config:config-item config:name="ViewLayoutBookMode" config:type="boolean">false</config:config-item><config:config-item config:name="ZoomFactor" config:type="short">211</config:config-item><config:config-item config:name="IsSelectedFrame" config:type="boolean">false</config:config-item><config:config-item config:name="AnchoredTextOverflowLegacy" config:type="boolean">false</config:config-item></config:config-item-map-entry></config:config-item-map-indexed></config:config-item-set><config:config-item-set config:name="ooo:configuration-settings"><config:config-item config:name="PrintPaperFromSetup" config:type="boolean">false</config:config-item><config:config-item config:name="PrintFaxName" config:type="string"/><config:config-item config:name="PrintSingleJobs" config:type="boolean">false</config:config-item><config:config-item config:name="PrintProspectRTL" config:type="boolean">false</config:config-item><config:config-item config:name="PrintProspect" config:type="boolean">false</config:config-item><config:config-item config:name="PrintReversed" config:type="boolean">false</config:config-item><config:config-item config:name="PrintTextPlaceholder" config:type="boolean">false</config:config-item><config:config-item config:name="PrintTables" config:type="boolean">true</config:config-item><config:config-item config:name="PrintPageBackground" config:type="boolean">true</config:config-item><config:config-item config:name="PrintLeftPages" config:type="boolean">true</config:config-item><config:config-item config:name="DoNotJustifyLinesWithManualBreak" config:type="boolean">false</config:config-item><config:config-item config:name="AlignTabStopPosition" config:type="boolean">true</config:config-item><config:config-item config:name="IgnoreFirstLineIndentInNumbering" config:type="boolean">false</config:config-item><config:config-item config:name="PrinterSetup" config:type="base64Binary"/><config:config-item config:name="CollapseEmptyCellPara" config:type="boolean">true</config:config-item><config:config-item config:name="RedlineProtectionKey" config:type="base64Binary"/><config:config-item config:name="UseOldPrinterMetrics" config:type="boolean">false</config:config-item><config:config-item config:name="UseOldNumbering" config:type="boolean">false</config:config-item><config:config-item config:name="AddExternalLeading" config:type="boolean">true</config:config-item><config:config-item config:name="TreatSingleColumnBreakAsPageBreak" config:type="boolean">false</config:config-item><config:config-item config:name="IsLabelDocument" config:type="boolean">false</config:config-item><config:config-item config:name="RsidRoot" config:type="int">1388323</config:config-item><config:config-item config:name="ConsiderTextWrapOnObjPos" config:type="boolean">false</config:config-item><config:config-item config:name="TableRowKeep" config:type="boolean">false</config:config-item><config:config-item config:name="TabsRelativeToIndent" config:type="boolean">true</config:config-item><config:config-item config:name="UpdateFromTemplate" config:type="boolean">true</config:config-item><config:config-item config:name="SaveVersionOnClose" config:type="boolean">false</config:config-item><config:config-item config:name="UseFormerTextWrapping" config:type="boolean">false</config:config-item><config:config-item config:name="ChartAutoUpdate" config:type="boolean">true</config:config-item><config:config-item config:name="AddParaTableSpacingAtStart" config:type="boolean">true</config:config-item><config:config-item config:name="AllowPrintJobCancel" config:type="boolean">true</config:config-item><config:config-item config:name="AddParaTableSpacing" config:type="boolean">true</config:config-item><config:config-item config:name="PrintDrawings" config:type="boolean">true</config:config-item><config:config-item config:name="AddParaSpacingToTableCells" config:type="boolean">true</config:config-item><config:config-item config:name="UseFormerLineSpacing" config:type="boolean">false</config:config-item><config:config-item config:name="OutlineLevelYieldsNumbering" config:type="boolean">false</config:config-item><config:config-item config:name="LinkUpdateMode" config:type="short">1</config:config-item><config:config-item config:name="ApplyUserData" config:type="boolean">true</config:config-item><config:config-item config:name="StylesNoDefault" config:type="boolean">false</config:config-item><config:config-item config:name="EmbeddedDatabaseName" config:type="string"/><config:config-item config:name="FloattableNomargins" config:type="boolean">false</config:config-item><config:config-item config:name="BackgroundParaOverDrawings" config:type="boolean">false</config:config-item><config:config-item config:name="PrinterName" config:type="string"/><config:config-item config:name="UseFormerObjectPositioning" config:type="boolean">false</config:config-item><config:config-item config:name="TabOverMargin" config:type="boolean">false</config:config-item><config:config-item config:name="SaveGlobalDocumentLinks" config:type="boolean">false</config:config-item><config:config-item config:name="CurrentDatabaseDataSource" config:type="string"/><config:config-item config:name="IsKernAsianPunctuation" config:type="boolean">false</config:config-item><config:config-item config:name="CurrentDatabaseCommandType" config:type="int">0</config:config-item><config:config-item config:name="CharacterCompressionType" config:type="short">0</config:config-item><config:config-item config:name="SmallCapsPercentage66" config:type="boolean">false</config:config-item><config:config-item config:name="CurrentDatabaseCommand" config:type="string"/><config:config-item config:name="DoNotResetParaAttrsForNumFont" config:type="boolean">false</config:config-item><config:config-item config:name="FieldAutoUpdate" config:type="boolean">true</config:config-item><config:config-item config:name="IgnoreTabsAndBlanksForLineCalculation" config:type="boolean">false</config:config-item><config:config-item config:name="LoadReadonly" config:type="boolean">false</config:config-item><config:config-item config:name="DoNotCaptureDrawObjsOnPage" config:type="boolean">false</config:config-item><config:config-item config:name="ClipAsCharacterAnchoredWriterFlyFrames" config:type="boolean">false</config:config-item><config:config-item config:name="PrintBlackFonts" config:type="boolean">false</config:config-item><config:config-item config:name="DisableOffPagePositioning" config:type="boolean">false</config:config-item><config:config-item config:name="SurroundTextWrapSmall" config:type="boolean">false</config:config-item><config:config-item config:name="UnxForceZeroExtLeading" config:type="boolean">false</config:config-item><config:config-item config:name="TabAtLeftIndentForParagraphsInList" config:type="boolean">false</config:config-item><config:config-item config:name="PrintRightPages" config:type="boolean">true</config:config-item><config:config-item config:name="Rsid" config:type="int">1388323</config:config-item><config:config-item config:name="MathBaselineAlignment" config:type="boolean">true</config:config-item><config:config-item config:name="MsWordCompTrailingBlanks" config:type="boolean">false</config:config-item><config:config-item config:name="InvertBorderSpacing" config:type="boolean">false</config:config-item><config:config-item config:name="EmbedFonts" config:type="boolean">false</config:config-item><config:config-item config:name="PrinterPaperFromSetup" config:type="boolean">false</config:config-item><config:config-item config:name="PrinterIndependentLayout" config:type="string">high-resolution</config:config-item><config:config-item config:name="TabOverflow" config:type="boolean">true</config:config-item><config:config-item config:name="PrintGraphics" config:type="boolean">true</config:config-item><config:config-item config:name="PropLineSpacingShrinksFirstLine" config:type="boolean">true</config:config-item><config:config-item config:name="UnbreakableNumberings" config:type="boolean">false</config:config-item><config:config-item config:name="AddFrameOffsets" config:type="boolean">false</config:config-item><config:config-item config:name="ClippedPictures" config:type="boolean">false</config:config-item><config:config-item config:name="EmbedSystemFonts" config:type="boolean">false</config:config-item><config:config-item config:name="ApplyParagraphMarkFormatToNumbering" config:type="boolean">false</config:config-item><config:config-item config:name="SubtractFlysAnchoredAtFlys" config:type="boolean">false</config:config-item><config:config-item config:name="EmptyDbFieldHidesPara" config:type="boolean">true</config:config-item><config:config-item config:name="AddVerticalFrameOffsets" config:type="boolean">false</config:config-item><config:config-item config:name="ProtectForm" config:type="boolean">false</config:config-item><config:config-item config:name="PrintEmptyPages" config:type="boolean">false</config:config-item><config:config-item config:name="PrintControls" config:type="boolean">true</config:config-item><config:config-item config:name="PrintHiddenText" config:type="boolean">false</config:config-item><config:config-item config:name="PrintAnnotationMode" config:type="short">0</config:config-item></config:config-item-set></office:settings></office:document-settings> \ No newline at end of file diff --git a/20230613/hello/styles.xml b/20230613/hello/styles.xml new file mode 100644 index 0000000000000000000000000000000000000000..5bb3cf691fc12a280bff5f22c5e30fd11223074c --- /dev/null +++ b/20230613/hello/styles.xml @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<office:document-styles xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:rpt="http://openoffice.org/2005/report" xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:grddl="http://www.w3.org/2003/g/data-view#" xmlns:officeooo="http://openoffice.org/2009/office" xmlns:tableooo="http://openoffice.org/2009/table" xmlns:drawooo="http://openoffice.org/2010/draw" xmlns:calcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0" xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0" xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" xmlns:css3t="http://www.w3.org/TR/css3-text/" office:version="1.2"><office:font-face-decls><style:font-face style:name="FreeSans1" svg:font-family="FreeSans" style:font-family-generic="swiss"/><style:font-face style:name="Liberation Serif" svg:font-family="'Liberation Serif'" style:font-family-generic="roman" style:font-pitch="variable"/><style:font-face style:name="Liberation Sans" svg:font-family="'Liberation Sans'" style:font-family-generic="swiss" style:font-pitch="variable"/><style:font-face style:name="DejaVu Sans" svg:font-family="'DejaVu Sans'" style:font-family-generic="system" style:font-pitch="variable"/><style:font-face style:name="FreeSans" svg:font-family="FreeSans" style:font-family-generic="system" style:font-pitch="variable"/></office:font-face-decls><office:styles><style:default-style style:family="graphic"><style:graphic-properties svg:stroke-color="#3465a4" draw:fill-color="#729fcf" fo:wrap-option="no-wrap" draw:shadow-offset-x="0.3cm" draw:shadow-offset-y="0.3cm" draw:start-line-spacing-horizontal="0.283cm" draw:start-line-spacing-vertical="0.283cm" draw:end-line-spacing-horizontal="0.283cm" draw:end-line-spacing-vertical="0.283cm" style:flow-with-text="false"/><style:paragraph-properties style:text-autospace="ideograph-alpha" style:line-break="strict" style:font-independent-line-spacing="false"><style:tab-stops/></style:paragraph-properties><style:text-properties style:use-window-font-color="true" style:font-name="Liberation Serif" fo:font-size="12pt" fo:language="de" fo:country="DE" style:letter-kerning="true" style:font-name-asian="DejaVu Sans" style:font-size-asian="10.5pt" style:language-asian="zh" style:country-asian="CN" style:font-name-complex="FreeSans" style:font-size-complex="12pt" style:language-complex="hi" style:country-complex="IN"/></style:default-style><style:default-style style:family="paragraph"><style:paragraph-properties fo:orphans="2" fo:widows="2" fo:hyphenation-ladder-count="no-limit" style:text-autospace="ideograph-alpha" style:punctuation-wrap="hanging" style:line-break="strict" style:tab-stop-distance="1.251cm" style:writing-mode="page"/><style:text-properties style:use-window-font-color="true" style:font-name="Liberation Serif" fo:font-size="12pt" fo:language="de" fo:country="DE" style:letter-kerning="true" style:font-name-asian="DejaVu Sans" style:font-size-asian="10.5pt" style:language-asian="zh" style:country-asian="CN" style:font-name-complex="FreeSans" style:font-size-complex="12pt" style:language-complex="hi" style:country-complex="IN" fo:hyphenate="false" fo:hyphenation-push-char-count="2"/></style:default-style><style:default-style style:family="table"><style:table-properties table:border-model="collapsing"/></style:default-style><style:default-style style:family="table-row"><style:table-row-properties fo:keep-together="auto"/></style:default-style><style:style style:name="Standard" style:family="paragraph" style:class="text"/><style:style style:name="Heading" style:family="paragraph" style:parent-style-name="Standard" style:next-style-name="Text_20_body" style:class="text"><style:paragraph-properties fo:margin-top="0.423cm" fo:margin-bottom="0.212cm" loext:contextual-spacing="false" fo:keep-with-next="always"/><style:text-properties style:font-name="Liberation Sans" fo:font-family="'Liberation Sans'" style:font-family-generic="swiss" style:font-pitch="variable" fo:font-size="14pt" style:font-name-asian="DejaVu Sans" style:font-family-asian="'DejaVu Sans'" style:font-family-generic-asian="system" style:font-pitch-asian="variable" style:font-size-asian="14pt" style:font-name-complex="FreeSans" style:font-family-complex="FreeSans" style:font-family-generic-complex="system" style:font-pitch-complex="variable" style:font-size-complex="14pt"/></style:style><style:style style:name="Text_20_body" style:display-name="Text body" style:family="paragraph" style:parent-style-name="Standard" style:class="text"><style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0.247cm" loext:contextual-spacing="false" fo:line-height="115%"/></style:style><style:style style:name="List" style:family="paragraph" style:parent-style-name="Text_20_body" style:class="list"><style:text-properties style:font-size-asian="12pt" style:font-name-complex="FreeSans1" style:font-family-complex="FreeSans" style:font-family-generic-complex="swiss"/></style:style><style:style style:name="Caption" style:family="paragraph" style:parent-style-name="Standard" style:class="extra"><style:paragraph-properties fo:margin-top="0.212cm" fo:margin-bottom="0.212cm" loext:contextual-spacing="false" text:number-lines="false" text:line-number="0"/><style:text-properties fo:font-size="12pt" fo:font-style="italic" style:font-size-asian="12pt" style:font-style-asian="italic" style:font-name-complex="FreeSans1" style:font-family-complex="FreeSans" style:font-family-generic-complex="swiss" style:font-size-complex="12pt" style:font-style-complex="italic"/></style:style><style:style style:name="Index" style:family="paragraph" style:parent-style-name="Standard" style:class="index"><style:paragraph-properties text:number-lines="false" text:line-number="0"/><style:text-properties style:font-size-asian="12pt" style:font-name-complex="FreeSans1" style:font-family-complex="FreeSans" style:font-family-generic-complex="swiss"/></style:style><text:outline-style style:name="Outline"><text:outline-level-style text:level="1" style:num-format=""><style:list-level-properties text:list-level-position-and-space-mode="label-alignment"><style:list-level-label-alignment text:label-followed-by="listtab"/></style:list-level-properties></text:outline-level-style><text:outline-level-style text:level="2" style:num-format=""><style:list-level-properties text:list-level-position-and-space-mode="label-alignment"><style:list-level-label-alignment text:label-followed-by="listtab"/></style:list-level-properties></text:outline-level-style><text:outline-level-style text:level="3" style:num-format=""><style:list-level-properties text:list-level-position-and-space-mode="label-alignment"><style:list-level-label-alignment text:label-followed-by="listtab"/></style:list-level-properties></text:outline-level-style><text:outline-level-style text:level="4" style:num-format=""><style:list-level-properties text:list-level-position-and-space-mode="label-alignment"><style:list-level-label-alignment text:label-followed-by="listtab"/></style:list-level-properties></text:outline-level-style><text:outline-level-style text:level="5" style:num-format=""><style:list-level-properties text:list-level-position-and-space-mode="label-alignment"><style:list-level-label-alignment text:label-followed-by="listtab"/></style:list-level-properties></text:outline-level-style><text:outline-level-style text:level="6" style:num-format=""><style:list-level-properties text:list-level-position-and-space-mode="label-alignment"><style:list-level-label-alignment text:label-followed-by="listtab"/></style:list-level-properties></text:outline-level-style><text:outline-level-style text:level="7" style:num-format=""><style:list-level-properties text:list-level-position-and-space-mode="label-alignment"><style:list-level-label-alignment text:label-followed-by="listtab"/></style:list-level-properties></text:outline-level-style><text:outline-level-style text:level="8" style:num-format=""><style:list-level-properties text:list-level-position-and-space-mode="label-alignment"><style:list-level-label-alignment text:label-followed-by="listtab"/></style:list-level-properties></text:outline-level-style><text:outline-level-style text:level="9" style:num-format=""><style:list-level-properties text:list-level-position-and-space-mode="label-alignment"><style:list-level-label-alignment text:label-followed-by="listtab"/></style:list-level-properties></text:outline-level-style><text:outline-level-style text:level="10" style:num-format=""><style:list-level-properties text:list-level-position-and-space-mode="label-alignment"><style:list-level-label-alignment text:label-followed-by="listtab"/></style:list-level-properties></text:outline-level-style></text:outline-style><text:notes-configuration text:note-class="footnote" style:num-format="1" text:start-value="0" text:footnotes-position="page" text:start-numbering-at="document"/><text:notes-configuration text:note-class="endnote" style:num-format="i" text:start-value="0"/><text:linenumbering-configuration text:number-lines="false" text:offset="0.499cm" style:num-format="1" text:number-position="left" text:increment="5"/></office:styles><office:automatic-styles><style:page-layout style:name="Mpm1"><style:page-layout-properties fo:page-width="21.001cm" fo:page-height="29.7cm" style:num-format="1" style:print-orientation="portrait" fo:margin-top="2cm" fo:margin-bottom="2cm" fo:margin-left="2cm" fo:margin-right="2cm" style:writing-mode="lr-tb" style:footnote-max-height="0cm"><style:footnote-sep style:width="0.018cm" style:distance-before-sep="0.101cm" style:distance-after-sep="0.101cm" style:line-style="solid" style:adjustment="left" style:rel-width="25%" style:color="#000000"/></style:page-layout-properties><style:header-style/><style:footer-style/></style:page-layout></office:automatic-styles><office:master-styles><style:master-page style:name="Standard" style:page-layout-name="Mpm1"/></office:master-styles></office:document-styles> \ No newline at end of file diff --git a/20230613/io-ports-and-interrupts.pdf b/20230613/io-ports-and-interrupts.pdf new file mode 120000 index 0000000000000000000000000000000000000000..bcd46f7afb35605b20bdb05637e6de0a039893ec --- /dev/null +++ b/20230613/io-ports-and-interrupts.pdf @@ -0,0 +1 @@ +../common/io-ports-and-interrupts.pdf \ No newline at end of file diff --git a/20230613/logo-hochschule-bochum-cvh-text-v2.pdf b/20230613/logo-hochschule-bochum-cvh-text-v2.pdf new file mode 120000 index 0000000000000000000000000000000000000000..4aa99b8f81061aca6dcaf43eed2d9efef40555f8 --- /dev/null +++ b/20230613/logo-hochschule-bochum-cvh-text-v2.pdf @@ -0,0 +1 @@ +../common/logo-hochschule-bochum-cvh-text-v2.pdf \ No newline at end of file diff --git a/20230613/logo-hochschule-bochum.jpg b/20230613/logo-hochschule-bochum.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e3b22f3ea34ce6d95eae92ffe5f932f755997756 Binary files /dev/null and b/20230613/logo-hochschule-bochum.jpg differ diff --git a/20230613/logo-hochschule-bochum.pdf b/20230613/logo-hochschule-bochum.pdf new file mode 120000 index 0000000000000000000000000000000000000000..b6b9491e370e499c9276918182cdb82cb311bcd1 --- /dev/null +++ b/20230613/logo-hochschule-bochum.pdf @@ -0,0 +1 @@ +../common/logo-hochschule-bochum.pdf \ No newline at end of file diff --git a/20230613/logo-hochschule-bochum.png b/20230613/logo-hochschule-bochum.png new file mode 100644 index 0000000000000000000000000000000000000000..b91da515399ed3e46efd4f1738f817d1fe8a0056 Binary files /dev/null and b/20230613/logo-hochschule-bochum.png differ diff --git a/20230613/logo-hochschule-bochum.ppm.xz b/20230613/logo-hochschule-bochum.ppm.xz new file mode 100644 index 0000000000000000000000000000000000000000..831ccd4415004b881c3d137de14e75655f5a1cce Binary files /dev/null and b/20230613/logo-hochschule-bochum.ppm.xz differ diff --git a/20230613/logo-hochschule-bochum.ps b/20230613/logo-hochschule-bochum.ps new file mode 100644 index 0000000000000000000000000000000000000000..49b92fb932179cb92c923843695ff778e0c5f625 --- /dev/null +++ b/20230613/logo-hochschule-bochum.ps @@ -0,0 +1,13465 @@ +%!PS-Adobe-3.0 +%%BoundingBox: 0 0 241 57 +%%HiResBoundingBox: 0 0 241.00 57.00 +%%Creator: GPL Ghostscript 927 (ps2write) +%%LanguageLevel: 2 +%%CreationDate: D:20230613124035+02'00' +%%Pages: 1 +%%EndComments +%%BeginProlog +/DSC_OPDFREAD true def +/SetPageSize true def +/EPS2Write false def +currentdict/DSC_OPDFREAD known{ +currentdict/DSC_OPDFREAD get +}{ +false +}ifelse +10 dict begin +/DSC_OPDFREAD exch def +/this currentdict def +/y 720 def +/ebuf 200 string def +/prnt{ +36//this/y get moveto//ebuf cvs show +//this/y 2 copy get 12 sub put +}bind def +/newline{ +36//this/y get moveto +//this/y 2 copy get 12 sub put +}bind def +errordict/handleerror +{systemdict begin +$error begin +newerror +{(%%[ Error handled by opdfread.ps : )print errorname//ebuf cvs print(; OffendingCommand: ) +print/command load//ebuf cvs print( ]%%)= flush +/newerror false store vmstatus pop pop 0 ne +{grestoreall +}if +errorname(VMerror)ne +{showpage +}if +initgraphics +0 720 moveto +errorname(VMerror)eq +{//this/ehsave known +{clear//this/ehsave get restore 2 vmreclaim +}if +vmstatus exch pop exch pop +} +/Courier 12 selectfont +{ +(ERROR: )//prnt exec errorname//prnt exec +(OFFENDING COMMAND: )//prnt exec +/command load//prnt exec +$error/ostack known{ +(%%[STACK:)= +(STACK:)//prnt exec +$error/ostack get aload length{ +//newline exec +dup mark eq{ +(-mark-)dup = show +}{ +dup type/nametype eq{ +dup xcheck not{ +(/)show +(/)print +}if +}if +dup =//ebuf cvs show +}ifelse +}repeat +}if +}ifelse +(%%]%)= +//systemdict/showpage get exec +quit +}if +end +end +}bind readonly put +end +50 dict begin +/DefaultSwitch +{ +dup where{ +pop pop +}{ +false def +}ifelse +}bind def +/=string 256 string def +/=only{ +//=string cvs print +}bind def +/HexDigits(0123456789ABCDEF)readonly def +/PrintHex +{8{ +dup -28 bitshift 15 and//HexDigits exch 1 getinterval//=only exec +4 bitshift +}repeat +pop +}bind def +/PDFR_DEBUG DefaultSwitch +/PDFR_DUMP DefaultSwitch +/PDFR_STREAM DefaultSwitch +/TTFDEBUG DefaultSwitch +/RotatePages DefaultSwitch +/FitPages DefaultSwitch +/CenterPages DefaultSwitch +/SetPageSize DefaultSwitch +/error +{ +counttomark 1 sub -1 0{ +index dup type/arraytype eq{==}{=only}ifelse +}for +()= +cleartomark +....Undefined +}bind def +//SetPageSize{ +//RotatePages//FitPages or//CenterPages or{ +mark(/RotatePages, /FitPages and CenterPages are not allowed with /SetPageSize)//error exec +}if +} +{ +//FitPages//CenterPages and{ +mark(CenterPages is not allowed with /FitPages)//error exec +}if +} +ifelse +/knownget +{ +2 copy known{ +get true +}{ +pop pop false +}ifelse +}bind def +/IsUpper +{dup(A)0 get ge exch(Z)0 get le and +}bind def +/cpa2g{ +dup length array +0 1 2 index length 1 sub{ +dup 3 index exch get cp2g +3 copy put pop pop +}for +exch pop +}bind def +/cpd2g{ +dup length dict exch{ +cp2g 2 index 3 1 roll put +}forall +}bind def +/cps2g{ +dup length string copy +}bind def +/cp2gprocs +<</arraytype//cpa2g/dicttype//cpd2g/packedarraytype//cpa2g/stringtype//cps2g >> +def +/cp2g{ +dup gcheck not{ +dup//cp2gprocs 1 index type +2 copy known{ +get currentglobal 3 1 roll true setglobal exec exch setglobal +1 index wcheck not{readonly}if +1 index xcheck{cvx}if +exch pop +}{ +pop pop +}ifelse +}if +}bind def +/BlockBuffer 65535 string def +/PDFReader currentdict def +/ObjectRegistryMaxLength 50000 def +/ObjectRegistry 10 dict def +ObjectRegistry +begin +0 ObjectRegistryMaxLength dict def +end +/CurrentObject null def +/DoneDocumentStructure false def +/GraphicState 20 dict begin +/InitialTextMatrix matrix def +/InitialMatrix matrix currentmatrix def +currentdict end def +/TempMatrix matrix def +/GraphicStateStack 20 array def +/GraphicStateStackPointer 0 def +/InitialTextMatrixStack 20 array def +/InitialTextMatrixStackPointer 0 def +/PDFColorSpaces 50 dict def +/InstalledFonts 50 dict def +/MacRomanEncodingInverse null def +currentglobal false setglobal +userdict/PDFR_InitialGS gstate put +userdict/PDFR_Patterns 50 dict put +userdict/FuncDataReader 10 dict put +setglobal +/InitialExtGState 20 dict begin +/BG2 currentblackgeneration cp2g def +/UCR2 currentundercolorremoval cp2g def +/TR2 currentglobal false setglobal[currentcolortransfer]exch setglobal cp2g def +/HT currenthalftone cp2g def +currentdict end readonly def +/InitialGraphicState 20 dict begin +/FontSize 0 def +/CharacterSpacing 0 def +/TextLeading 0 def +/TextRenderingMode 0 def +/WordSpacing 0 def +currentdict end readonly def +/SimpleColorSpaceNames 15 dict begin +/DeviceGray true def +/DeviceRGB true def +/DeviceCMYK true def +currentdict end readonly def +/1_24_bitshift_1_sub 1 24 bitshift 1 sub def +/ReadFontProcs 10 dict def +/GetObject +{ +dup ObjectRegistryMaxLength idiv +//PDFReader/ObjectRegistry get exch knownget{ +exch knownget +}{ +pop false +}ifelse +}bind def +/PutObject +{ +1 index ObjectRegistryMaxLength idiv +//PDFReader/ObjectRegistry get 1 index knownget{ +exch pop +3 1 roll put +}{ +//PDFReader/ObjectRegistry get dup +begin +1 index ObjectRegistryMaxLength dict def +end +exch get +3 1 roll put +}ifelse +}bind def +/Register +{ +1 index GetObject{ +dup xcheck{ +4 3 roll pop +//PDFR_DEBUG{ +(Have a daemon for )print 2 index == +}if +exec +}{ +dup null ne{ +mark(The object )4 index(is already defined : )4 index//error exec +}{ +pop +}ifelse +3 2 roll +exec +}ifelse +}{ +3 2 roll +exec +}ifelse +PutObject +}bind def +/IsRegistered +{ +GetObject{ +null ne +}{ +false +}ifelse +}bind def +/GetRegistered +{ +dup GetObject not{ +exch mark exch(Object )exch( isn't defined before needed (1).)//error exec +}if +dup xcheck{ +exch mark exch(Object )exch( isn't defined before needed (2).)//error exec +}{ +dup null eq{ +exch mark exch(Object )exch( isn't defined before needed (3).)//error exec +}if +exch pop +}ifelse +}bind def +/StandardFontNames<< +/Times-Roman true +/Helvetica true +/Courier true +/Symbol true +/Times-Bold true +/Helvetica-Bold true +/Courier-Bold true +/ZapfDingbats true +/Times-Italic true +/Helvetica-Oblique true +/Courier-Oblique true +/Times-BoldItalic true +/Helvetica-BoldOblique true +/Courier-BoldOblique true +>>def +/CleanAllResources +{//PDFR_DEBUG{ +(CleanAllResources beg)= +}if +//PDFReader/ObjectRegistry get{ +dup length 0 exch 1 exch 1 sub{ +2 copy get dup xcheck{ +pop pop +}{ +dup null eq{ +pop pop +}{ +dup type/dicttype eq{/.Global known}{pop false}ifelse{ +pop +}{ +//PDFR_DEBUG{ +(Dropping )print dup = +}if +1 index exch/DroppedObject put +}ifelse +}ifelse +}ifelse +}for +pop +}forall +FontDirectory length dict begin +FontDirectory{ +pop +dup//StandardFontNames exch known not{ +dup null def +}if +pop +}forall +currentdict +end{ +pop +//PDFR_DEBUG{ +(Undefining font )print dup = +}if +undefinefont +}forall +//PDFR_DEBUG{ +(CleanAllResources end)= +}if +}bind def +/PrintReference +{ +//PDFR_DEBUG{ +({ )print +dup{ +=only( )print +}forall +( })= +}if +}bind def +/R +{ +0 ne{ +exch mark exch(A referred object generation )exch( isn't 0.)//error exec +}if +[ +exch//GetRegistered/exec load +]cvx +//PrintReference exec +}bind def +/IsObjRef +{ +dup type/arraytype eq{ +dup length 3 eq{ +dup xcheck exch +dup 0 get type/integertype eq 3 2 roll and exch +dup 1 get//GetRegistered eq 3 2 roll and exch +2 get/exec load eq and +}{ +pop false +}ifelse +}{ +pop false +}ifelse +}bind def +/DoNothing +{ +}def +/RunTypeDaemon +{ +dup type/dicttype eq{ +dup/Type//knownget exec{ +//PDFReader/TypeDaemons get exch +//knownget exec{ +exec +}if +}if +}if +}bind def +/obj +{ +//PDFR_DEBUG{ +(Defining )print 1 index =only( )print dup =only( obj)= +}if +0 ne{ +exch mark exch(An object generation )exch( isn't 0.)//error exec +}if +}bind def +/endobj +{ +//PDFR_DEBUG{ +(endobj )= +}if +count 1 eq{ +pop +}{ +dup type/dicttype eq{ +dup/.endobj_daemon//knownget exec{ +//PDFR_DEBUG{(.endobj_daemon for )print 2 index =}if +exec +}if +}if +dup type/dicttype eq{dup/ImmediateExec known}{false}ifelse{ +pop pop +}{ +//PDFR_DEBUG{ +(Storing )print 1 index = +}if +//RunTypeDaemon exec +//DoNothing 3 1 roll//Register exec +}ifelse +}ifelse +}bind def +/StoreBlock +{ +//PDFR_DEBUG{ +(StoreBlock )print//PDFReader/BlockCount get =only(, Length = )print dup length = +}if +dup length string copy +//PDFReader/BlockCount get exch +//PDFReader/CurrentObject get 3 1 roll +put +//PDFReader/BlockCount get 1 add +//PDFReader exch/BlockCount exch put +}bind def +/CheckLength +{dup type/integertype ne{ +mark(Object length isn't an integer.)//error exec +}if +}bind def +/ResolveD +{ +3 copy pop get +dup//IsObjRef exec{ +//PDFR_DEBUG{ +(Resolving )print//PrintReference exec +}if +exec +exch exec +}{ +exch pop +}ifelse +dup 4 1 roll +put +}bind def +/ResolveA +{2 index 2 index get +dup//IsObjRef exec{ +exec +exch exec +3 copy put +}{ +exch pop +}ifelse +exch pop exch pop +}bind def +/StoreStream +{ +dup//PDFReader exch/CurrentObject exch put +//PDFReader/BlockCount 0 put +dup/Length//CheckLength//ResolveD exec +//PDFR_DEBUG{ +(StoreStream Length = )print dup = +}if +currentfile exch()/SubFileDecode filter +{dup//BlockBuffer readstring{ +//StoreBlock exec +}{ +//StoreBlock exec +exit +}ifelse +}loop +pop +//PDFReader/CurrentObject null put +//PDFR_DEBUG{ +(StoreStream end.)= +}if +}bind def +/MakeStreamDumper +{ +//PDFR_DEBUG{ +(MakeStreamDumper beg.)= +}if +currentglobal exch dup gcheck setglobal +[exch +1 dict dup/c 0 put exch +1024 string +{readstring pop +(StreamDumper )print 1 index/c get =string cvs print( )print +dup length =string cvs print( <)print dup print(>\n)print +dup length +3 2 roll +dup/c get +3 2 roll +add/c exch put +}/exec load +] +cvx 0()/SubFileDecode filter +exch setglobal +//PDFR_DEBUG{ +(MakeStreamDumper end.)= +}if +}bind def +/ShortFilterNames 15 dict begin +/AHx/ASCIIHexDecode def +/A85/ASCII85Decode def +/LZW/LZWDecode def +/Fl/FlateDecode def +/RL/RunLengthDecode def +/CCF/CCITTFaxDecode def +/DCT/DCTDecode def +currentdict end readonly def +/AppendFilters +{ +//PDFR_DEBUG{ +(AppendFilters beg.)= +}if +dup 3 1 roll +/Filter//knownget exec{ +dup type/nametype eq{ +dup//ShortFilterNames exch//knownget exec{ +exch pop +}if +2 index/DecodeParms//knownget exec{ +exch +}if +filter +}{ +dup 0 exch 1 exch length 1 sub{ +2 copy get +dup//ShortFilterNames exch//knownget exec{ +exch pop +}if +3 1 roll +4 index/DecodeParms//knownget exec{ +exch get +}{ +pop null +}ifelse +dup null eq{ +pop 3 1 roll filter exch +}{ +3 1 roll +4 1 roll filter exch +}ifelse +}for +pop +}ifelse +//PDFR_DEBUG//PDFR_DUMP and{ +//MakeStreamDumper exec +}if +}if +exch pop +//PDFR_DEBUG{ +(AppendFilters end.)= +}if +}bind def +/ExecuteStream +{ +dup//PDFReader exch/CurrentObject exch put +dup/Length//CheckLength//ResolveD exec +//PDFR_DEBUG{ +(ExecuteStream id = )print 2 index =only( Length = )print dup = +}if +//PDFReader/InitialGraphicState get +//PDFReader/GraphicState get copy pop +//PDFReader/Operators get begin +currentfile exch()/SubFileDecode filter +1 index//AppendFilters exec +cvx mark exch +exec +counttomark 0 ne{ +mark(Data left on ostack after an immediate stream execution.)//error exec +}if +cleartomark +end +//PDFR_DEBUG{ +(ExecuteStream end.)= +}if +//PDFReader/CurrentObject null put +dup/IsPage known{ +dup/Context get/NumCopies//knownget exec{ +1 sub{ +copypage +}repeat +}if +EPS2Write not{showpage}if +pagesave restore +}if +}bind def +/stream +{ +//PDFR_DEBUG{ +1 index =only( stream)= +}if +1 index GetObject{ +dup xcheck{ +exec +1 index null PutObject +}{ +pop +}ifelse +}if +dup/ImmediateExec known{ +dup/GlobalExec//knownget exec{ +currentglobal 4 1 roll +setglobal +//ExecuteStream exec +3 2 roll setglobal +}{ +//ExecuteStream exec +}ifelse +}{ +//StoreStream exec +}ifelse +dup/.CleanResources//knownget exec{ +/All eq{ +//CleanAllResources exec +}if +}if +}bind def +/HookFont +{ +//PDFR_DEBUG{ +(Loaded the font )print dup/FontName get = +}if +{ +dup/FontFileType get dup/Type1 eq exch/MMType1 eq or{ +dup/FontName get +//PDFReader/RemoveFontNamePrefix get exec +findfont +exit +}if +dup/FontFileType get/TrueType eq{ +//PDFReader/MakeType42 get exec +//PDFR_DEBUG{ +(Font dict <<)= +dup{ +1 index/sfnts eq{ +exch pop +(/sfnts [)print +{ +(-string\()print length//=only exec(\)- )= +}forall +(])= +}{ +exch//=only exec( )print == +}ifelse +}forall +(>>)= +}if +dup/FontName get exch definefont +exit +}if +mark(FontHook has no proc for )2 index/FontFileType get//error exec +}loop +/Font exch put +}bind def +/endstream +{ +}bind def +/xref +{ +//PDFR_DEBUG{ +(xref)= +//PDFR_DUMP{ +//PDFReader/ObjectRegistry get == +}if +}if +end +count 0 ne{ +mark(Excessive data on estack at the end of the interpretation.)//error exec +}if +currentfile 1(%%EOF)/SubFileDecode filter +flushfile +cleardictstack +}bind def +/ResolveDict +{dup{ +pop 1 index exch +//DoNothing//ResolveD exec +pop +}forall +pop +}bind def +/SetupPageView +{ +//PDFR_DEBUG{ +(SetupPageView beg)= +}if +//DSC_OPDFREAD not{ +//GraphicState/InitialMatrix get setmatrix +}if +/MediaBox get aload pop +3 index neg 3 index neg translate +3 -1 roll sub 3 1 roll exch sub exch +userdict/.HWMargins//knownget exec{ +aload pop +}{ +currentpagedevice/.HWMargins//knownget exec{ +aload pop +}{ +0 0 0 0 +}ifelse +}ifelse +currentpagedevice/PageSize get aload pop +3 -1 roll sub 3 1 roll exch sub exch +exch 3 index sub exch 3 index sub +//SetPageSize{ +//PDFR_DEBUG{ +(Setting page size to )print 1 index//=only exec( )print dup = +}if +pop pop 3 index 3 index 2 copy +currentglobal false setglobal 3 1 roll +currentpagedevice dup/PageSize known{ +/PageSize get aload pop +}{ +0 0 +}ifelse +round cvi 2 index round cvi eq +exch round cvi 3 index round cvi eq and +{ +//PDFR_DEBUG{(PageSize matches request)== flush}if +pop pop +}{ +/MediaRequested where{ +//PDFR_DEBUG{(MediaRequested is true, check against new request)== flush}if +/MediaRequested get aload pop +round cvi 2 index round cvi eq +exch round cvi 3 index round cvi eq and +{ +//PDFR_DEBUG{(MediaRequested same as current request, ignore)== flush}if +pop pop false +}{ +//PDFR_DEBUG{(MediaRequested different to current request)== flush}if +true +}ifelse +}{ +//PDFR_DEBUG{(No MediaRequested yet)== flush}if +true +}ifelse +{ +//PDFR_DEBUG{(Setting pagesize)== flush}if +2 array astore +dup/MediaRequested exch def +<< exch/PageSize exch >>setpagedevice +}if +}ifelse +userdict/PDFR_InitialGS gstate put +setglobal +}if +//RotatePages{ +2 copy gt 6 index 6 index gt ne{ +1 index 5 index le 1 index 5 index le and not +}{ +false +}ifelse +}{ +false +}ifelse +{//CenterPages{ +//PDFR_DEBUG{ +(Rotating page, and then centering it)== +}if +90 rotate +0 5 index neg translate +5 index 1 index exch sub 2 div +2 index 6 index sub 2 div neg +translate +}{ +//FitPages{ +1 index 5 index div 1 index 7 index div +2 copy gt{ +exch +}if +pop dup scale +}if +90 rotate +0 5 index neg translate +}ifelse +}{ +//CenterPages{ +//PDFR_DEBUG{ +(Ccentering page)== +}if +1 index 6 index sub 2 div +1 index 6 index sub 2 div +translate +}{ +//FitPages{ +1 index 6 index div 1 index 6 index div +2 copy gt{ +exch +}if +pop dup scale +}if +}ifelse +}ifelse +pop pop +translate +pop pop +//PDFR_DEBUG{ +(SetupPageView end)= +}if +}bind def +/PageContentsDaemon +{ +//PDFR_DEBUG{ +(Executing PageContentsDaemon for )print 2 index = +}if +1 index exch/Context exch put +dup/ImmediateExec true put +dup/IsPage true put +SetPageSize{dup/Context get//SetupPageView exec}if +/pagesave save def +}bind def +/FontFileDaemon +{ +//PDFR_DEBUG{ +(Executing FontFileDaemon for )print 2 index = +}if +dup/FontFileType get +2 index exch +dup//ReadFontProcs exch//knownget exec{ +exch pop exec +}{ +mark(FontFile reader for )2 index( isn't implemented yet.)//error exec +}ifelse +//PDFR_DEBUG{ +(FontFileDaemon end)= +}if +pop +}bind def +/FontDescriptorDaemon +{ +//PDFR_DEBUG{ +(Executing FontDescriptorDaemon for )print 2 index = +}if +2 copy/FontResource exch put +/Subtype get 1 index exch/FontFileType exch put +}bind def +/UnPDFEscape{ +dup dup length string cvs +dup(#)search{ +{ +pop +(16#--)2 index 0 2 getinterval +1 index 3 2 getinterval copy pop +cvi +0 exch put +0 +1 index 2 1 index length 2 sub getinterval +3 copy putinterval +length +3 copy exch put +getinterval +(#)search not{ +pop exit +}if +}loop +(\0)search pop exch pop exch pop +cvn +exch pop +}{ +pop pop +}ifelse +}bind def +/TypeDaemons<< +/Page +{//PDFR_DEBUG{ +(Recognized a page.)= +}if +dup/Contents//knownget exec{ +0 get//DoNothing exch +[ +3 index//PageContentsDaemon/exec load +]cvx +//Register exec +}{ +(fixme: page with no Contents won't be printed.)= +}ifelse +}bind +/FontDescriptor +{//PDFR_DEBUG{ +(Recognized a font descriptor.)= +}if +dup/FontName//knownget exec{ +1 index/FontName 3 -1 roll//UnPDFEscape exec put +}if +dup dup/FontFile known{/FontFile}{/FontFile2}ifelse +//knownget exec{ +0 get//DoNothing exch +[ +3 index//FontFileDaemon/exec load +]cvx +//Register exec +}{ +(Font descriptor )print 1 index =only( has no FontFile.)= +}ifelse +}bind +/Font +{//PDFR_DEBUG{ +(Recognized a font resource.)= +}if +dup/BaseFont//knownget exec{ +//UnPDFEscape exec 2 copy/BaseFont exch put +//PDFReader/RemoveFontNamePrefix get exec +currentglobal exch +dup/Font resourcestatus{ +pop pop +//PDFReader/GetInstalledFont get exec pop +}{ +pop +}ifelse +setglobal +}if +dup/FontDescriptor//knownget exec{ +0 get +dup//IsRegistered exec{ +//PDFR_DEBUG{ +(already registered )print dup = +}if +pop +}{ +//DoNothing exch +[ +3 index//FontDescriptorDaemon/exec load +]cvx +//Register exec +}ifelse +}if +}bind +>>def +/MakeStreamReader +{dup +[ +exch +//PDFR_DEBUG{ +(Stream proc ) +/print load +//PDFR_STREAM{ +(<) +/print load +}if +}if +1 dict dup/i -1 put +/dup load +/i +/get load +1 +/add load +/dup load +3 +1 +/roll load +/i +/exch load +/put load +//knownget +/exec load +/not load +{()} +/if load +//PDFR_DEBUG{ +//PDFR_STREAM{ +/dup load +/print load +(>) +/print load +}if +( end of stream proc.\n) +/print load +}if +]cvx +//PDFR_DEBUG{ +(Stream reader )print dup == +}if +0()/SubFileDecode filter +exch//AppendFilters exec +}bind def +/RunDelayedStream +{ +//GraphicState/InitialTextMatrix get +//InitialTextMatrixStack//PDFReader/InitialTextMatrixStackPointer get +2 copy get null eq{ +2 copy currentglobal true setglobal matrix exch setglobal put +}if +get copy pop +//PDFReader/InitialTextMatrixStackPointer 2 copy get 1 add put +//MakeStreamReader exec +mark exch +cvx exec +counttomark 0 ne{ +mark(Data left on ostack after a delayed stream execution.)//error exec +}if +cleartomark +//PDFReader/InitialTextMatrixStackPointer 2 copy get 1 sub put +//InitialTextMatrixStack//PDFReader/InitialTextMatrixStackPointer get get +//GraphicState/InitialTextMatrix get +copy pop +}bind def +//ReadFontProcs begin +/Type1 +{//PDFR_DEBUG{ +(ReadFontProcs.Type1)= +}if +dup/.endobj_daemon[4 index//HookFont/exec load]cvx put +dup/ImmediateExec true put +/GlobalExec true put +}bind def +/MMType1//Type1 def +/TrueType +{//PDFR_DEBUG{ +(ReadFontProcs.TrueType)= +}if +dup/.endobj_daemon[4 index//HookFont/exec load]cvx put +pop +}bind def +end +/.opdloadttfontdict 50 dict def +.opdloadttfontdict begin +/maxstring 65400 def +end +/.InsertionSort +{ +/CompareProc exch def +/Array exch def +1 1 Array length 1 sub +{ +/Ix exch def +/Value1 Array Ix get def +/Jx Ix 1 sub def +{ +Jx 0 lt{ +exit +}if +/Value2 Array Jx get def +Value1 Value2 CompareProc{ +exit +}if +Array Jx 1 add Value2 put +/Jx Jx 1 sub def +}loop +Array Jx 1 add Value1 put +}for +Array +}bind def +/putu16{ +3 copy -8 bitshift put +exch 1 add exch 16#ff and put +}bind def +/putu32{ +3 copy -16 bitshift putu16 +exch 2 add exch 16#ffff and putu16 +}bind def +/.readtable{ +dup dup 1 and add string +dup 0 4 -1 roll getinterval +3 -1 roll exch +dup()ne{readstring}if pop pop +}bind def +/.readbigtable{ +dup maxstring lt{ +.readtable +}{ +currentuserparams/VMReclaim get -2 vmreclaim +[4 2 roll{ +dup maxstring le{exit}if +1 index maxstring string readstring pop 3 1 roll maxstring sub +}loop .readtable] +exch vmreclaim +}ifelse +}bind def +/ReadTTF +{ +.opdloadttfontdict begin +/TTFontFile exch def +/TableDir TTFontFile 12 string readstring pop def +/tables TTFontFile TableDir 4 getu16 16 mul string readstring pop def +/tabarray tables length 16 idiv array def +TableDir 0 4 getinterval(ttcf)eq{ +QUIET not{(Can't handle TrueType font Collections.)=}if +/.loadttfonttables cvx/invalidfont signalerror +}{ +0 16 tables length 1 sub{ +dup +tables exch 16 getinterval +exch 16 div cvi exch +tabarray 3 1 roll put +}for +}ifelse +tabarray{exch 8 getu32 exch 8 getu32 gt}.InsertionSort pop +/Read TableDir length tables length add def +/tabs[ +tabarray{ +dup 8 getu32 +Read sub +dup 0 gt{ +dup string TTFontFile exch readstring pop pop +Read add/Read exch def +}{ +pop +}ifelse +12 getu32 +dup Read add +/Read exch def +TTFontFile exch .readbigtable +}forall +]def +end +}bind def +/GetLocaType +{ +0 1 tabarray length 1 sub{ +dup tabarray exch get +0 4 getinterval(head)eq{ +tabs exch get +50 gets16 +/LocaType exch def +exit +}{ +pop +}ifelse +}for +}bind def +/GetNumGlyphs +{ +0 1 tabarray length 1 sub{ +dup tabarray exch get +0 4 getinterval(maxp)eq{ +tabs exch get +4 getu16 +/NumGlyphs exch def +exit +}{ +pop +}ifelse +}for +}bind def +/StringToLoca +{ +/LocaIndex exch def +/StringOffset 0 def +{ +dup length StringOffset gt{ +dup +LocaType 1 eq{ +StringOffset getu32 +LocaArray LocaIndex 3 -1 roll put +/LocaIndex LocaIndex 1 add def +/StringOffset StringOffset 4 add +def +}{ +StringOffset getu16 2 mul +LocaArray length LocaIndex gt{ +LocaArray LocaIndex 3 -1 roll put +}{ +pop +}ifelse +/LocaIndex LocaIndex 1 add def +/StringOffset StringOffset 2 add +def +}ifelse +}{ +pop +LocaIndex +exit +}ifelse +}loop +}bind def +/GetSortedLoca +{ +NumGlyphs 1 add array/LocaArray exch def +0 1 tabarray length 1 sub{ +dup tabarray exch get +0 4 getinterval(loca)eq{ +tabs exch get +exit +}{ +pop +}ifelse +}for +dup type/stringtype eq{ +0 StringToLoca pop +}{ +0 exch +{ +exch StringToLoca +}forall +pop +}ifelse +LocaArray{gt}.InsertionSort pop +}bind def +/GetWorkingString +{ +WorkString 0 +GlyfArray GlyfStringIndex get +putinterval +/WorkBytes GlyfArray GlyfStringIndex get length def +/GlyfStringIndex GlyfStringIndex 1 add def +}bind def +/GetWorkingBytes +{ +/BytesToRead exch def +WorkString 0 BytesToRead getinterval +dup length string copy +WorkString BytesToRead WorkBytes BytesToRead sub getinterval +dup length string copy +WorkString 0 3 -1 roll putinterval +/WorkBytes WorkBytes BytesToRead sub def +}bind def +/GetGlyfBytes +{ +/ToRead exch def +WorkBytes 0 eq{ +GetWorkingString +}if +WorkBytes ToRead ge{ +ToRead string dup 0 +ToRead GetWorkingBytes putinterval +}{ +ToRead string +dup +0 +WorkString 0 WorkBytes getinterval +putinterval +dup +WorkBytes +ToRead WorkBytes sub +GetWorkingString +GetWorkingBytes +putinterval +}ifelse +}bind def +/SplitGlyf +{ +/GlyfArray exch def +/DestArray GlyfArray length 2 mul array def +/DestArrayIndex 0 def +/LastLoca 0 def +/NextLocaIndex 0 def +/LastLocaIndex 0 def +/GlyfStringIndex 0 def +/WorkString maxstring string def +/WorkBytes 0 def +{ +LocaArray NextLocaIndex get +LastLoca sub maxstring gt +{ +LocaArray LastLocaIndex get LastLoca sub +GetGlyfBytes +DestArray DestArrayIndex 3 -1 roll put +/DestArrayIndex DestArrayIndex 1 add def +LocaArray LastLocaIndex get/LastLoca exch def +}{ +/LastLocaIndex NextLocaIndex def +/NextLocaIndex NextLocaIndex 1 add def +NextLocaIndex NumGlyphs gt +{ +WorkBytes +GlyfStringIndex GlyfArray length lt{ +GlyfArray GlyfStringIndex get length +add string dup +0 +WorkString 0 WorkBytes getinterval +putinterval +dup +WorkBytes +GetWorkingString +WorkString 0 WorkBytes getinterval +putinterval +}{ +pop +WorkString 0 WorkBytes getinterval +}ifelse +dup length string copy +DestArray DestArrayIndex 3 -1 roll put +exit +}if +}ifelse +}loop +DestArray +}bind def +/ProcessTTData +{ +.opdloadttfontdict begin +0 1 tabarray length 1 sub{ +/ix exch def +tabarray ix get +12 getu32 dup maxstring le{ +dup 4 mod 0 ne{ +4 div cvi 1 add 4 mul string/newstring exch def +/oldstring tabs ix get def +newstring 0 oldstring putinterval +0 1 newstring length oldstring length sub 1 sub{ +newstring exch oldstring length add 0 put +}for +tabs ix newstring put +}{ +pop +}ifelse +}{ +dup 4 mod 0 ne{ +dup maxstring idiv maxstring mul sub +4 idiv 1 add 4 mul string/newstring exch def +tabs ix get +dup length 1 sub dup/iy exch def get/oldstring exch def +newstring 0 oldstring putinterval +0 1 newstring length oldstring length sub 1 sub{ +newstring exch oldstring length add 0 put +}for +tabs ix get iy newstring put +}{ +pop +}ifelse +}ifelse +}for +0 1 tabarray length 1 sub{ +dup tabarray exch get +dup 12 getu32 maxstring gt{ +0 4 getinterval dup(glyf)eq{ +pop +GetLocaType +GetNumGlyphs +GetSortedLoca +dup tabs exch get +SplitGlyf +tabs 3 1 roll put +}{ +(Warning, table )print print( > 64Kb\n)print +pop +}ifelse +}{ +pop +pop +}ifelse +}for +end +}bind def +/Makesfnts +{ +.opdloadttfontdict begin +0 +tabs{ +dup type/stringtype eq{ +pop +1 add +}{ +{ +type/stringtype eq{ +1 add +}if +}forall +}ifelse +}forall +1 add +/TTOffset +TableDir length +tabarray length 16 mul add +def +0 +tabarray{ +exch dup 1 add +3 1 roll +dup +tabs exch get +dup type/stringtype eq{ +length +2 index exch +TTOffset +dup 3 1 roll add +/TTOffset exch def +8 exch putu32 +exch tabarray 3 1 roll +put +}{ +0 exch +{ +dup type/stringtype eq{ +length add +}{ +pop +}ifelse +}forall +2 index exch +TTOffset +dup 3 1 roll add +/TTOffset exch def +8 exch putu32 +exch tabarray 3 1 roll +put +}ifelse +}forall +pop +array +dup 0 +TableDir length +tables length add +string +dup 0 TableDir putinterval +dup 12 tables putinterval +put +dup +/ix 1 def +tabs{ +dup type/stringtype eq{ +ix exch +put dup +/ix ix 1 add def +}{ +{ +dup type/stringtype eq{ +ix exch put dup +/ix ix 1 add def +}{ +pop +}ifelse +}forall +}ifelse +}forall +pop +end +}bind def +/MakeType42 +{ +//PDFR_DEBUG{ +(MakeType42 beg)= +}if +10 dict begin +/FontName 1 index/FontName get def +/FontType 42 def +/FontMatrix[1 0 0 1 0 0]def +/FontBBox 1 index/FontBBox get def +dup/FontResource get +dup/Encoding known{ +//PDFReader/ObtainEncoding get exec +/Encoding get +}{ +pop null +}ifelse +/PDFEncoding exch def +/CharStrings 2 index//PDFReader/MakeTTCharStrings get exec def +/sfnts 2 index//MakeStreamReader exec +ReadTTF +ProcessTTData +Makesfnts +def +/Encoding StandardEncoding def +/PaintType 0 def +currentdict end +//PDFR_DEBUG{ +(MakeType42 end)= +}if +}bind def +/GetInstalledFont +{ +dup//InstalledFonts exch knownget{ +exch pop +}{ +dup findfont dup 3 1 roll +//InstalledFonts 3 1 roll put +}ifelse +}bind def +/RemoveFontNamePrefix +{//=string cvs true +0 1 5{ +2 index exch get//IsUpper exec not{ +pop false exit +}if +}for +{(+)search{ +pop pop +}if +}if +cvn +}bind def +/CheckFont +{dup/Type get/Font ne{ +mark(Resource )3 index( must have /Type/Font .)//error exec +}if +}bind def +/CheckEncoding +{dup type/nametype ne{ +dup/Type get/Encoding ne{ +mark(Resource )3 index( must have /Type/Encoding .)//error exec +}if +}if +}bind def +/ObtainEncoding +{dup/Encoding known{ +dup dup/Encoding//CheckEncoding//ResolveD exec +dup type dup/arraytype eq exch/packedarraytype eq or{ +pop pop +}{ +dup type/nametype eq{ +/Encoding findresource +}{ +dup/BaseEncoding//knownget exec not{ +/StandardEncoding +}if +/Encoding findresource +exch +/Differences//knownget exec{ +exch dup length array copy exch +0 exch +{ +dup type/integertype eq{ +exch pop +}{ +3 copy put pop +1 add +}ifelse +}forall +pop +}if +}ifelse +/Encoding exch put +}ifelse +}{ +dup/Encoding/StandardEncoding/Encoding findresource put +}ifelse +}bind def +/ObtainMetrics +{dup/Widths//knownget exec{ +1 index/Encoding get +256 dict +3 index/Subtype get/TrueType eq{ +1000 +}{ +1 +}ifelse +4 index/MissingWidth//knownget exec not{ +0 +}if +5 index/FirstChar//knownget exec not{ +0 +}if +6 5 roll +dup 0 exch 1 exch length 1 sub{ +2 copy get +exch 3 index add +7 index exch get +dup dup null ne exch/.notdef ne and{ +6 index 3 1 roll exch +6 index div +3 copy pop//knownget exec{ +0 eq +}{ +true +}ifelse +{put +}{ +pop pop pop +}ifelse +}{ +pop pop +}ifelse +}for +pop pop pop pop exch pop +1 index exch/Metrics exch put +}{ +dup/MissingWidth//knownget exec{ +256 dict +2 index/Encoding get{ +dup null ne{ +3 copy 3 2 roll put +}if +pop +}forall +exch pop +1 index exch/Metrics exch put +}if +}ifelse +}bind def +/NotDef +{ +FontMatrix aload pop pop pop exch pop exch pop +1 exch div exch +1 exch div exch +1 index 0 setcharwidth +0 setlinewidth +0 0 moveto +2 copy rlineto +1 index 0 rlineto +neg exch neg exch rlineto +closepath stroke +}bind def +/SaveResourcesToStack +{ +[ +//PDFReader/OldResources known{ +//PDFReader/OldResources get +}{ +null +}ifelse +//PDFReader/CurrentObject get/Context get/Resources get +] +//PDFReader/OldResources 3 -1 roll put +}bind def +/RestoreResourcesFromStack +{ +//PDFReader/OldResources get dup +0 get//PDFReader/OldResources 3 -1 roll put +1 get//PDFReader/CurrentObject get/Context get/Resources 3 -1 roll put +}bind def +/BuildChar +{//PDFR_DEBUG{ +(BuildChar )print dup//=only exec( )print +}if +exch begin +Encoding exch get +//PDFR_DEBUG{ +dup = +}if +dup null eq{ +pop//NotDef exec +} +{ +CharProcs exch//knownget exec +{ +currentfont/Font get/Resources//knownget exec{ +exec +SaveResourcesToStack +//PDFReader/CurrentObject get/Context get +/Resources 3 -1 roll put +//RunDelayedStream exec +RestoreResourcesFromStack +}{ +//RunDelayedStream exec +}ifelse +} +{ +//NotDef exec +}ifelse +}ifelse +end +}bind def +/printdict +{(<<)= +{exch = ==}forall +(>>)= +}bind def +/printfont +{ +dup{ +exch dup = +dup/Encoding eq{ +pop = +}{ +dup/FontInfo eq exch/Private eq or{ +//printdict exec +}{ +== +}ifelse +}ifelse +}forall +}bind def +/ScaleMetrics +{1 index{ +2 index div +3 index +3 1 roll put +}forall +pop +}bind def +/ResolveAndSetFontAux +{exch dup +//PDFReader/CurrentObject get/Context get/Resources get +/Font//DoNothing//ResolveD exec +exch//CheckFont//ResolveD exec +dup/Font//knownget exec{ +exch pop exch pop +}{ +{ +dup/Subtype get dup dup/Type1 eq exch/TrueType eq or exch/MMType1 eq or{ +exch pop +dup/BaseFont get +//RemoveFontNamePrefix exec +//PDFR_DEBUG{ +(Font )print dup = +}if +1 index/FontDescriptor known{ +//PDFR_DEBUG{ +(Font from a font descriptor.)= +}if +1 index +/FontDescriptor//DoNothing//ResolveD exec +/Font//knownget exec{ +exch pop +}{ +//PDFR_DEBUG{ +(Font descriptor has no Font resolved.)= +}if +//GetInstalledFont exec +}ifelse +}{ +//GetInstalledFont exec +}ifelse +exch +dup/Encoding known not{ +1 index/Encoding get 1 index exch/Encoding exch put +}if +//ObtainEncoding exec +//ObtainMetrics exec +exch +dup length dict copy +dup 2 index/Encoding get +/Encoding exch put +1 index/Metrics//knownget exec{ +2 index/Subtype get/TrueType ne{ +1 index/FontMatrix get 0 get +dup 0 eq{ +pop +1 index/FontMatrix get 1 get +dup 0 eq{pop 1}if +}if +0.001 div +//ScaleMetrics exec +}{ +1 index/sfnts known not{ +1 index/FontMatrix get 0 get +dup 0 eq{ +pop +1 index/FontMatrix get 1 get +dup 0 eq{pop 1}if +}if +//ScaleMetrics exec +}if +}ifelse +1 index exch/Metrics exch put +}if +1 index/BaseFont get +exch +dup/FID undef +dup/UniqueID undef +definefont +dup 3 1 roll +/Font exch put +exit +}if +dup/Subtype get/Type3 eq{ +//ObtainEncoding exec +2 copy exch/FontName exch put +dup/CharProcs get//ResolveDict exec +dup/FontType 3 put +dup/BuildChar//BuildChar put +dup dup/Font exch put +dup 3 1 roll +definefont +2 copy ne{ +2 copy/Font exch put +}if +exch pop +exit +}if +dup/Subtype get/Type0 eq{ +}if +dup/Subtype get/CIDFontType0 eq{ +}if +dup/Subtype get/CIDFontType2 eq{ +}if +mark(Unknown font type )2 index/Subtype get//error exec +}loop +}ifelse +exch scalefont setfont +}bind def +/ResolveAndSetFont +{ +//ResolveAndSetFontAux exec +}bind def +/.knownget +{2 copy known{ +get true +}{ +pop pop false +}ifelse +}bind def +/.min +{2 copy lt{ +exch +}if +pop +}bind def +/.max +{2 copy gt{ +exch +}if +pop +}bind def +/.dicttomark +{>> +}bind def +/getu16{ +2 copy get 8 bitshift 3 1 roll 1 add get add +}bind def +/gets16{ +getu16 16#8000 xor 16#8000 sub +}bind def +/getu32{ +2 copy getu16 16 bitshift 3 1 roll 2 add getu16 add +}bind def +/gets32{ +2 copy gets16 16 bitshift 3 1 roll 2 add getu16 add +}bind def +/cmapformats mark +0{ +6 256 getinterval{}forall 256 packedarray +}bind +2{ +/sHK_sz 2 def +/sH_sz 8 def +dup 2 getu16/cmapf2_tblen exch def +dup 4 getu16/cmapf2_lang exch def +dup 6 256 sHK_sz mul getinterval/sHKs exch def +0 +0 1 255{ +sHKs exch +2 mul getu16 +1 index +1 index +lt{exch}if pop +}for +/sH_len exch def +dup 6 256 sHK_sz mul add +cmapf2_tblen 1 index sub getinterval +/sH_gIA exch def +/cmapf2_glyph_array 65535 array def +/.cmapf2_putGID{ +/cmapf2_ch cmapf2_ch_hi 8 bitshift cmapf2_ch_lo add def +firstCode cmapf2_ch_lo le +cmapf2_ch_lo firstCode entryCount add lt +and{ +sH_offset idRangeOffset add +cmapf2_ch_lo firstCode sub 2 mul +add 6 add +sH_gIA exch getu16 +dup 0 gt{ +idDelta add +cmapf2_glyph_array exch cmapf2_ch exch put +}{ +pop +}ifelse +}{ +}ifelse +}def +16#00 1 16#ff{ +/cmapf2_ch_hi exch def +sHKs cmapf2_ch_hi sHK_sz mul getu16 +/sH_offset exch def +sH_gIA sH_offset sH_sz getinterval +dup 0 getu16/firstCode exch def +dup 2 getu16/entryCount exch def +dup 4 gets16/idDelta exch def +dup 6 getu16/idRangeOffset exch def +pop +sH_offset 0 eq{ +/cmapf2_ch_lo cmapf2_ch_hi def +/cmapf2_ch_hi 0 def +.cmapf2_putGID +}{ +16#00 1 16#ff{ +/cmapf2_ch_lo exch def +.cmapf2_putGID +}for +}ifelse +}for +pop +0 1 cmapf2_glyph_array length 1 sub{ +dup cmapf2_glyph_array exch get +null eq{cmapf2_glyph_array exch 0 put}{pop}ifelse +}for +cmapf2_glyph_array +}bind +4{ +/etab exch def +/nseg2 etab 6 getu16 def +14/endc etab 2 index nseg2 getinterval def +2 add +nseg2 add/startc etab 2 index nseg2 getinterval def +nseg2 add/iddelta etab 2 index nseg2 getinterval def +nseg2 add/idroff etab 2 index nseg2 getinterval def +pop +/firstcode startc 0 getu16 16#ff00 and dup 16#f000 ne{pop 0}if def +/lastcode firstcode def +/striptopbyte false def +/putglyph{ +glyphs code 3 -1 roll put/code code 1 add def +}bind def +/numcodes 0 def/glyphs 0 0 2 nseg2 3 sub{ +/i2 exch def +/scode startc i2 getu16 def +/ecode endc i2 getu16 def +ecode lastcode gt{ +/lastcode ecode def +}if +}for pop +firstcode 16#f000 ge lastcode firstcode sub 255 le and{ +lastcode 255 and +/striptopbyte true def +}{ +lastcode +}ifelse +1 add +array def +glyphs length 1024 ge{ +.array1024z 0 1024 glyphs length 1023 sub{glyphs exch 2 index putinterval}for +glyphs dup length 1024 sub 3 -1 roll +putinterval +}{ +0 1 glyphs length 1 sub{glyphs exch 0 put}for +}ifelse +/numcodes 0 def/code 0 def +0 2 nseg2 3 sub{ +/i2 exch def +/scode startc i2 getu16 def +/ecode endc i2 getu16 def +numcodes scode firstcode sub +exch sub 0 .max dup/code exch code exch add def +ecode scode sub 1 add add numcodes add/numcodes exch def +/delta iddelta i2 gets16 def +TTFDEBUG{ +(scode=)print scode =only +( ecode=)print ecode =only +( delta=)print delta =only +( droff=)print idroff i2 getu16 = +}if +idroff i2 getu16 dup 0 eq{ +pop scode delta add 65535 and 1 ecode delta add 65535 and +striptopbyte{ +/code scode 255 and def +}{ +/code scode def +}ifelse +{putglyph}for +}{ +/gloff exch 14 nseg2 3 mul add 2 add i2 add add def +striptopbyte{ +/code scode 255 and def +}{ +/code scode def +}ifelse +0 1 ecode scode sub{ +2 mul gloff add etab exch getu16 +dup 0 ne{delta add 65535 and}if putglyph +}for +}ifelse +}for glyphs/glyphs null def +}bind +6{ +dup 6 getu16/firstcode exch def dup 8 getu16/ng exch def +firstcode ng add array +0 1 firstcode 1 sub{2 copy 0 put pop}for +dup firstcode ng getinterval +0 1 ng 1 sub{ +dup 2 mul 10 add 4 index exch getu16 3 copy put pop pop +}for pop exch pop +}bind +.dicttomark readonly def +/cmaparray{ +dup 0 getu16 cmapformats exch .knownget{ +TTFDEBUG{ +(cmap: format )print 1 index 0 getu16 = flush +}if exec +}{ +(Can't handle format )print 0 getu16 = flush +0 1 255{}for 256 packedarray +}ifelse +TTFDEBUG{ +(cmap: length=)print dup length = dup == +}if +}bind def +/postremap mark +/Cdot/Cdotaccent +/Edot/Edotaccent +/Eoverdot/Edotaccent +/Gdot/Gdotaccent +/Ldot/Ldotaccent +/Zdot/Zdotaccent +/cdot/cdotaccent +/edot/edotaccent +/eoverdot/edotaccent +/gdot/gdotaccent +/ldot/ldotaccent +/zdot/zdotaccent +.dicttomark readonly def +/get_from_stringarray +{1 index type/stringtype eq{ +get +}{ +exch{ +2 copy length ge{ +length sub +}{ +exch get exit +}ifelse +}forall +}ifelse +}bind def +/getinterval_from_stringarray +{ +2 index type/stringtype eq{ +getinterval +}{ +string exch 0 +4 3 roll{ +dup length +dup 4 index lt{ +3 index exch sub +exch pop 3 1 roll exch pop +}{ +dup 3 1 roll +4 index sub +5 index length 4 index sub +2 copy gt{exch}if pop +dup 3 1 roll +5 index exch getinterval +5 index 4 index 3 index +getinterval +copy pop +exch pop add exch pop 0 exch +dup 3 index length ge{exit}if +}ifelse +}forall +pop pop +}ifelse +}bind def +/string_array_size +{dup type/stringtype eq{ +length +}{ +0 exch{length add}forall +}ifelse +}bind def +/postformats mark +16#00010000{ +pop MacGlyphEncoding +} +16#00020000{ +dup dup type/arraytype eq{0 get}if length 36 lt{ +TTFDEBUG{(post format 2.0 invalid.)= flush}if +pop[] +}{ +/postglyphs exch def +/post_first postglyphs dup type/arraytype eq{0 get}if def +post_first 32 getu16/numglyphs exch def +/glyphnames numglyphs 2 mul 34 add def +/postpos glyphnames def +/total_length postglyphs//string_array_size exec def +numglyphs array 0 1 numglyphs 1 sub{ +postpos total_length ge{ +1 numglyphs 1 sub{1 index exch/.notdef put}for +exit +}if +postglyphs postpos//get_from_stringarray exec +postglyphs postpos 1 add 2 index//getinterval_from_stringarray exec cvn +exch postpos add 1 add/postpos exch def +2 index 3 1 roll +put +}for +/postnames exch def +numglyphs array 0 1 numglyphs 1 sub{ +dup 2 mul 34 add postglyphs exch 2//getinterval_from_stringarray exec +dup 0 get 8 bitshift exch 1 get add dup 258 lt{ +MacGlyphEncoding exch get +}{ +dup 32768 ge{ +pop/.notdef +}{ +258 sub dup postnames length ge{ +TTFDEBUG{( *** warning: glyph index past end of 'post' table)= flush}if +pop +exit +}if +postnames exch get +postremap 1 index .knownget{exch pop}if +}ifelse +}ifelse +2 index 3 1 roll put +}for +} +ifelse +}bind +16#00030000{ +pop[] +}bind +.dicttomark readonly def +/first_post_string +{ +post dup type/arraytype eq{0 get}if +}bind def +/.getpost{ +/glyphencoding post null eq{ +TTFDEBUG{(post missing)= flush}if[] +}{ +postformats first_post_string 0 getu32 .knownget{ +TTFDEBUG{ +(post: format )print +first_post_string +dup 0 getu16 =only(,)print 2 getu16 = flush +}if +post exch exec +}{ +TTFDEBUG{(post: unknown format )print post 0 getu32 = flush}if[] +}ifelse +}ifelse def +}bind def +/MacRomanEncoding[ +StandardEncoding 0 39 getinterval aload pop +/quotesingle +StandardEncoding 40 56 getinterval aload pop +/grave +StandardEncoding 97 31 getinterval aload pop +/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 +]/Encoding defineresource pop +/TTParser<< +/Pos 0 +/post null +>>def +/readu8 +{read not{ +mark(Insufficient data in the stream.)//error exec +}if +}bind def +/readu16 +{dup//readu8 exec 8 bitshift exch//readu8 exec or +}bind def +/reads16 +{//readu16 exec 16#8000 xor 16#8000 sub +}bind def +/readu32 +{dup//readu16 exec 16 bitshift exch//readu16 exec or +}bind def +/reads32 +{dup//reads16 exec 16 bitshift exch//readu16 exec or +}bind def +/SkipToPosition +{dup//TTParser/Pos get +exch//TTParser exch/Pos exch put +sub +//PDFR_DEBUG{ +(Skipping )print dup//=only exec( bytes.)= +}if +dup 0 eq{ +pop pop +}{ +dup 3 1 roll +()/SubFileDecode filter +exch +{1 index//BlockBuffer readstring pop length +dup 0 eq{pop exch pop exit}if +sub +}loop +0 ne{ +mark(Insufficient data in the stream for SkipToPosition.)//error exec +}if +}ifelse +}bind def +/TagBuffer 4 string def +/ParseTTTableDirectory +{//PDFR_DEBUG{ +(ParseTTTableDirectory beg)= +}if +15 dict begin +dup//readu32 exec 16#00010000 ne{ +mark(Unknown True Type version.)//error exec +}if +dup//readu16 exec/NumTables exch def +dup//readu16 exec/SearchRange exch def +dup//readu16 exec/EntrySelector exch def +dup//readu16 exec/RangeShift exch def +//PDFR_DEBUG{ +(NumTables = )print NumTables = +}if +NumTables{ +dup//TagBuffer readstring not{ +mark(Could not read TT tag.)//error exec +}if +cvn +[2 index//readu32 exec pop +2 index//readu32 exec +3 index//readu32 exec +] +//PDFR_DEBUG{ +2 copy exch//=only exec( )print == +}if +def +}repeat +pop +//TTParser/Pos 12 NumTables 16 mul add put +currentdict end +//PDFR_DEBUG{ +(ParseTTTableDirectory end)= +}if +}bind def +/ParseTTcmap +{//PDFR_DEBUG{ +(ParseTTcmap beg)= +}if +/cmap get aload pop +3 1 roll +7 dict begin +//PDFR_DEBUG{ +(Current position = )print//TTParser/Pos get = +(cmap position = )print dup = +}if +1 index exch//SkipToPosition exec +//TTParser/Pos get/TablePos exch def +dup//readu16 exec pop +dup//readu16 exec/NumEncodings exch def +//PDFR_DEBUG{ +(NumEncodings = )print NumEncodings = +}if +null +NumEncodings{ +1 index//readu32 exec +2 index//readu32 exec +3 array dup 3 2 roll 0 exch put +2 index null ne{ +dup 0 get 3 index 0 get sub +3 index exch 1 exch put +}if +dup 4 3 roll pop 3 1 roll +def +}repeat +dup 0 get +4 3 roll exch sub +1 exch put +//PDFR_DEBUG{ +currentdict{ +exch dup type/integertype eq{ +//PrintHex exec( )print == +}{ +pop pop +}ifelse +}forall +}if +4 NumEncodings 8 mul add/HeaderLength exch def +//TTParser/Pos//TTParser/Pos get HeaderLength add put +0 +NumEncodings{ +16#7FFFFFF null +currentdict{ +1 index type/integertype eq{ +exch pop dup 0 get +dup 5 index gt{ +dup 4 index lt{ +4 1 roll +exch pop exch pop +}{ +pop pop +}ifelse +}{ +pop pop +}ifelse +}{ +pop pop +}ifelse +}forall +//PDFR_DEBUG{ +(Obtaining subtable for )print dup == +}if +3 2 roll pop +3 copy pop +TablePos add//SkipToPosition exec +3 copy exch pop 1 get +//TTParser/Pos//TTParser/Pos get 3 index add put +string +readstring not{ +mark(Can't read a cmap subtable.)//error exec +}if +2 exch put +}repeat +pop pop +currentdict end +//PDFR_DEBUG{ +(ParseTTcmap end)= +}if +}bind def +/GetTTEncoding +{//PDFR_DEBUG{ +(GetTTEncoding beg)= +}if +get +exch pop +2 get +10 dict begin +/TTFDEBUG//PDFR_DEBUG def +//cmaparray exec +end +//PDFR_DEBUG{ +(GetTTEncoding end)= +dup == +}if +}bind def +/InverseEncoding +{ +256 dict begin +dup length 1 sub -1 0{ +2 copy get +exch +1 index currentdict exch//knownget exec{ +dup type/arraytype eq{ +aload length 1 add array astore +}{ +2 array astore +}ifelse +}if +def +}for +pop +currentdict end +}bind def +/GetMacRomanEncodingInverse +{//PDFReader/MacRomanEncodingInverse get +dup null eq{ +pop +MacRomanEncoding//InverseEncoding exec +dup//PDFReader exch/MacRomanEncodingInverse exch put +}if +}bind def +/PutCharStringSingle +{ +dup 3 index length lt{ +2 index exch get +dup 0 ne{ +def +}{ +pop pop +}ifelse +}{ +pop pop +}ifelse +}bind def +/PutCharString +{1 index type/nametype ne{ +mark(Bad charstring name)//error exec +}if +dup type/arraytype eq{ +{ +3 copy//PutCharStringSingle exec +pop pop +}forall +pop +}{ +//PutCharStringSingle exec +}ifelse +}bind def +/ComposeCharStrings +{ +//PDFR_DEBUG{ +(ComposeCharStrings beg)= +}if +1 index length 1 add dict begin +/.notdef 0 def +exch +//TTParser/post get +dup null ne{ +exch +1 index length 1 sub -1 0{ +dup 3 index exch get exch +dup 0 eq 2 index/.notdef eq or{ +pop pop +}{ +def +}ifelse +}for +}if +exch pop exch +{ +//PutCharString exec +}forall +pop +currentdict end +//PDFR_DEBUG{ +(ComposeCharStrings end)= +}if +}bind def +/ParseTTpost +{ +//PDFR_DEBUG{ +(ParseTTpost beg)= +}if +/post get aload pop +3 1 roll +//PDFR_DEBUG{ +(Current position = )print//TTParser/Pos get = +(post position = )print dup = +}if +1 index exch//SkipToPosition exec +//TTParser/Pos//TTParser/Pos get 4 index add put +exch dup 65535 le{ +string +readstring not{ +mark(Insufficient data in the stream for ParseTTpost.)//error exec +}if +}{ +[3 1 roll +dup 16384 div floor cvi +exch 1 index 16384 mul +sub exch +1 sub 0 1 3 -1 roll +{ +1 add index +16384 string readstring not{ +mark(Insufficient data in the stream for ParseTTpost.)//error exec +}if +}for +counttomark -2 roll +string readstring not{ +mark(Insufficient data in the stream for ParseTTpost.)//error exec +}if +] +}ifelse +1 dict begin +/post exch def +//.getpost exec +//TTParser/post glyphencoding put +//PDFR_DEBUG{ +(ParseTTpost end)= +glyphencoding == +}if +end +}bind def +/MakeTTCharStrings +{//MakeStreamReader exec +dup dup//ParseTTTableDirectory exec +//TTParser/post null put +dup/post//knownget exec{ +0 get +1 index/cmap get 0 get +lt{ +2 copy//ParseTTpost exec +//ParseTTcmap exec +}{ +2 copy//ParseTTcmap exec +3 1 roll +//ParseTTpost exec +}ifelse +}{ +//ParseTTcmap exec +}ifelse +{ +dup 16#00030001 known{ +//PDFR_DEBUG{ +(Using the TT cmap encoding for Windows Unicode.)= +}if +16#00030001//GetTTEncoding exec +AdobeGlyphList//ComposeCharStrings exec +exit +}if +dup 16#00010000 known{ +//PDFR_DEBUG{ +(Using the TT cmap encoding for Macintosh Roman.)= +}if +16#00010000//GetTTEncoding exec +PDFEncoding dup null eq{ +pop//GetMacRomanEncodingInverse exec +}{ +//InverseEncoding exec +}ifelse +//ComposeCharStrings exec +exit +}if +dup 16#00030000 known{ +//PDFR_DEBUG{ +(Using the TT cmap encoding 3.0 - not sure why Ghostscript writes it since old versions.)= +}if +16#00030000//GetTTEncoding exec +PDFEncoding dup null eq{ +pop//GetMacRomanEncodingInverse exec +}{ +//InverseEncoding exec +}ifelse +//ComposeCharStrings exec +exit +}if +mark(True Type cmap has no useful encodings.)//error exec +}loop +//PDFR_DEBUG{ +(CharStrings <<)= +dup{ +exch +dup type/nametype eq{ +//=only exec +}{ +== +}ifelse +( )print == +}forall +(>>)= +}if +}bind def +/ScaleVal +{ +aload pop +1 index sub +3 2 roll mul add +}bind def +/ScaleArg +{ +aload pop +1 index sub +3 1 roll +sub exch div +}bind def +/ScaleArgN +{ +dup length 2 sub -2 0{ +2 +2 index 3 1 roll getinterval +3 2 roll +exch//ScaleArg exec +1 index length 2 idiv 1 add 1 roll +}for +pop +}bind def +/ComputeFunction_10 +{ +//PDFR_DEBUG{ +(ComputeFunction_10 beg )print 1 index//=only exec( stack=)print count = +}if +exch +dup 1 eq{ +pop dup length 1 sub get +}{ +1 index length 1 sub mul +dup dup floor sub +dup 0 eq{ +pop cvi get +}{ +3 1 roll floor cvi +2 getinterval +aload pop +2 index mul 3 2 roll 1 exch sub 3 2 roll mul add +}ifelse +}ifelse +//PDFR_DEBUG{ +(ComputeFunction_10 end )print dup//=only exec( stack=)print count = +}if +}bind def +/ComputeFunction_n0 +{ +//PDFR_DEBUG{ +(ComputeFunction_n0 beg N=)print dup//=only exec( stack=)print count = +}if +dup 0 eq{ +pop +}{ +dup 2 add -1 roll +dup 3 index length 1 sub ge{ +pop 1 sub +exch dup length 1 sub get exch +//PDFReader/ComputeFunction_n0 get exec +}{ +dup floor cvi dup +4 index exch get +3 index dup +5 add copy +6 2 roll +pop pop pop pop +1 sub +//PDFReader/ComputeFunction_n0 get exec +3 2 roll pop +exch +4 3 roll exch +4 add 2 roll 1 add +3 2 roll exch get +exch 1 sub +//PDFReader/ComputeFunction_n0 get exec +1 index mul +3 1 roll +1 exch sub mul add +}ifelse +}ifelse +//PDFR_DEBUG{ +(ComputeFunction_n0 end )print dup//=only exec( stack=)print count = +}if +}bind def +/FunctionToProc_x01 +{ +dup/Domain get exch +dup/Data get 0 get exch +/Size get length +[4 1 roll +//PDFR_DEBUG{ +{(function beg, stack =)print count//=only exec(\n)print}/exec load +5 2 roll +}if +dup 1 gt{ +{mark exch +3 add 2 roll +//ScaleArgN exec +counttomark dup +3 add -2 roll +pop exch +//ComputeFunction_n0 exec +}/exec load +}{ +pop +3 1/roll load//ScaleArg/exec load +/exch load +//ComputeFunction_10/exec load +}ifelse +//PDFR_DEBUG{ +(function end, stack =)/print load/count load//=only/exec load(\n)/print load +}if +]cvx +//PDFR_DEBUG{ +(Made a procedure for the 1-result function :)= +dup == +}if +}bind def +/FunctionProcDebugBeg +{(FunctionProcDebugBeg )print count = +}bind def +/FunctionProcDebugEnd +{(FunctionProcDebugEnd )print count = +}bind def +/FunctionToProc_x0n +{ +PDFR_DEBUG{ +(FunctionToProc_x0n beg m=)print dup = +}if +1 index/Size get length exch +dup 7 mul 2 add array +PDFR_DEBUG{ +dup 0//FunctionProcDebugBeg put +}{ +dup 0//DoNothing put +}ifelse +dup 1/exec load put +dup 2 5 index/Domain get put +2 index 1 eq{ +dup 3//ScaleArg put +}{ +dup 3//ScaleArgN put +}ifelse +dup 4/exec load put +1 index 1 sub 0 exch 1 exch{ +dup 7 mul 5 add +1 index 4 index 1 sub ne{ +dup 3 index exch 6 index put 1 add +dup 3 index exch/copy load put 1 add +}if +[ +6 index/Data get 3 index get +6 index 1 eq{ +//ComputeFunction_10/exec load +}{ +6 index +//ComputeFunction_n0/exec load +}ifelse +]cvx +3 index exch 2 index exch put 1 add +2 index 1 index/exec load put 1 add +1 index 4 index 1 sub ne{ +2 index 1 index 6 index 1 add put 1 add +2 index 1 index 1 put 1 add +2 index 1 index/roll load put +}if +pop pop +}for +PDFR_DEBUG{ +dup dup length 2 sub//FunctionProcDebugEnd put +}{ +dup dup length 2 sub//DoNothing put +}ifelse +dup dup length 1 sub/exec load put +cvx exch pop exch pop exch pop +//PDFR_DEBUG{ +(Made a procedure for the n-argument function :)= +dup == +}if +PDFR_DEBUG{ +(FunctionToProc_x0n end)= +}if +}bind def +/MakeTableRec +{ +0 +exec +}bind def +/MakeTable +{//PDFR_DEBUG{ +(MakeTable beg )print count = +}if +1 index/Size get exch +1 sub dup +3 1 roll +get +array +1 index 0 eq{ +exch pop exch pop +}{ +dup length 1 sub -1 0{ +3 index 3 index//MakeTableRec exec +2 index 3 1 roll put +}for +exch pop exch pop +}ifelse +//PDFR_DEBUG{ +(MakeTable end )print count = +}if +}bind def +//MakeTableRec 0//MakeTable put +/StoreSample +{ +1 sub +dup 0 eq{ +pop +}{ +-1 1{ +I exch get get +}for +}ifelse +I 0 get 3 2 roll put +}bind def +/ReadSample32 +{ +4{ +File read not{ +mark(Insufficient data for function.)//error exec +}if +}repeat +pop +3 1 roll exch +256 mul add 256 mul add +//1_24_bitshift_1_sub div +}bind def +/ReadSample +{ +Buffer BitsLeft BitsPerSample +{2 copy ge{ +exit +}if +3 1 roll +8 add 3 1 roll +256 mul File read not{ +mark(Insufficient data for function.)//error exec +}if +add +3 1 roll +}loop +sub dup +2 index exch +neg bitshift +2 copy exch bitshift +4 3 roll exch sub +/Buffer exch def +exch/BitsLeft exch def +Div div +}bind def +/ReadSamplesRec +{0 +exec +}bind def +/ReadSamples +{ +//PDFR_DEBUG{ +(ReadSamples beg )print count = +}if +dup 1 eq{ +pop +0 1 Size 0 get 1 sub{ +I exch 0 exch put +0 1 M 1 sub{ +dup Range exch 2 mul 2 getinterval +//PDFR_DEBUG{ +(Will read a sample ... )print +}if +BitsPerSample 32 eq{//ReadSample32}{//ReadSample}ifelse +exec exch//ScaleVal exec +//PDFR_DEBUG{ +(value=)print dup = +}if +exch Table exch get +Size length//StoreSample exec +}for +}for +}{ +1 sub +dup Size exch get 0 exch 1 exch 1 sub{ +I exch 2 index exch put +dup//ReadSamplesRec exec +}for +pop +}ifelse +//PDFR_DEBUG{ +(ReadSamples end )print count = +}if +}bind def +//ReadSamplesRec 0//ReadSamples put +/StreamToArray +{//PDFR_DEBUG{ +(StreamToArray beg )print count = +}if +userdict/FuncDataReader get begin +dup/BitsPerSample get/BitsPerSample exch def +dup/Size get length/N exch def +dup/Range get length 2 idiv/M exch def +1 BitsPerSample bitshift 1 sub/Div exch def +/BitsLeft 0 def +/Buffer 0 def +dup/Size get/Size exch def +dup/Range get/Range exch def +/File 1 index//MakeStreamReader exec def +/I[N{0}repeat]def +M array +dup length 1 sub -1 0{ +2 index N//MakeTable exec +2 index 3 1 roll put +}for +/Table exch def +N//ReadSamples exec +PDFR_DEBUG{ +(Table = )print Table == +}if +/Data Table put +end +//PDFR_DEBUG{ +(StreamToArray end )print count = +}if +}bind def +/FunctionToProc10 +{ +PDFR_DEBUG{ +(FunctionToProc10 beg, Range = )print dup/Range get == +}if +dup/Order//knownget exec{ +1 ne{ +(Underimplemented function Type 0 Order 3.)= +}if +}if +dup//StreamToArray exec +dup/Range get length dup 2 eq{ +pop//FunctionToProc_x01 exec +}{ +2 idiv//FunctionToProc_x0n exec +}ifelse +PDFR_DEBUG{ +(FunctionToProc10 end)= +}if +}bind def +/FunctionToProc12 +{begin +currentdict/C0//knownget exec{length 1 eq}{true}ifelse{ +N +currentdict/C0//knownget exec{ +0 get +}{ +0 +}ifelse +currentdict/C1//knownget exec{ +0 get +}{ +1 +}ifelse +1 index sub +[4 1 roll +{ +4 2 roll +exp mul add +}aload pop +]cvx +}{ +[ +0 1 C0 length 1 sub{ +N +C0 2 index get +C1 3 index get +4 3 roll pop +1 index sub +[/dup load +5 2 roll +{ +4 2 roll +exp mul add +exch +}aload pop +]cvx +/exec load +}for +/pop load +]cvx +}ifelse +end +//PDFR_DEBUG{ +(FunctionType2Proc : )print dup == +}if +}bind def +/FunctionToProc14 +{//MakeStreamReader exec cvx exec +//PDFR_DEBUG{ +(FunctionType4Proc : )print dup == +}if +}bind def +/FunctionToProc1 +{ +dup/FunctionType get +{dup 0 eq{ +pop//FunctionToProc10 exec exit +}if +dup 2 eq{ +pop//FunctionToProc12 exec exit +}if +dup 4 eq{ +pop//FunctionToProc14 exec exit +}if +mark exch(Function type )exch( isn't implemented yet.)//error exec +}loop +}bind def +/FunctionToProc20 +{ +PDFR_DEBUG{ +(FunctionToProc20, Range = )print dup/Range get == +}if +dup/Order//knownget exec{ +1 ne{ +(Underimplemented function Type 0 Order 3.)= +}if +}if +dup//StreamToArray exec +dup/Range get length dup 2 eq{ +pop//FunctionToProc_x01 exec +}{ +2 idiv//FunctionToProc_x0n exec +}ifelse +}bind def +/FunctionToProc +{//PDFR_DEBUG{ +(FunctionToProc beg )print count = +}if +dup type/dicttype eq{ +dup/Domain get length 2 idiv +{ +dup 1 eq{ +pop//FunctionToProc1 exec exit +}if +dup 2 eq{ +pop//FunctionToProc20 exec exit +}if +mark(Functions with many arguments aren't implemented yet.)//error exec +}loop +}{ +//PDFR_DEBUG{(Not a function dict, assume already a procedure.)print}if +}ifelse +//PDFR_DEBUG{ +(FunctionToProc end )print count = +}if +}bind def +/spotfunctions mark +/Round{ +abs exch abs 2 copy add 1 le{ +dup mul exch dup mul add 1 exch sub +}{ +1 sub dup mul exch 1 sub dup mul add 1 sub +}ifelse +} +/Diamond{ +abs exch abs 2 copy add .75 le{ +dup mul exch dup mul add 1 exch sub +}{ +2 copy add 1.23 le{ +.85 mul add 1 exch sub +}{ +1 sub dup mul exch 1 sub dup mul add 1 sub +}ifelse +}ifelse +} +/Ellipse{ +abs exch abs 2 copy 3 mul exch 4 mul add 3 sub dup 0 lt{ +pop dup mul exch .75 div dup mul add 4 div 1 exch sub +}{ +dup 1 gt{ +pop 1 exch sub dup mul exch 1 exch sub +.75 div dup mul add 4 div 1 sub +}{ +.5 exch sub exch pop exch pop +}ifelse +}ifelse +} +/EllipseA{dup mul .9 mul exch dup mul add 1 exch sub} +/InvertedEllipseA{dup mul .9 mul exch dup mul add 1 sub} +/EllipseB{dup 5 mul 8 div mul exch dup mul exch add sqrt 1 exch sub} +/EllipseC{dup mul .9 mul exch dup mul add 1 exch sub} +/InvertedEllipseC{dup mul .9 mul exch dup mul add 1 sub} +/Line{exch pop abs neg} +/LineX{pop} +/LineY{exch pop} +/Square{abs exch abs 2 copy lt{exch}if pop neg} +/Cross{abs exch abs 2 copy gt{exch}if pop neg} +/Rhomboid{abs exch abs 0.9 mul add 2 div} +/DoubleDot{2{360 mul sin 2 div exch}repeat add} +/InvertedDoubleDot{2{360 mul sin 2 div exch}repeat add neg} +/SimpleDot{dup mul exch dup mul add 1 exch sub} +/InvertedSimpleDot{dup mul exch dup mul add 1 sub} +/CosineDot{180 mul cos exch 180 mul cos add 2 div} +/Double{exch 2 div exch 2{360 mul sin 2 div exch}repeat add} +/InvertedDouble{ +exch 2 div exch 2{360 mul sin 2 div exch}repeat add neg +} +.dicttomark readonly def +/CheckColorSpace +{ +dup type/arraytype ne{ +mark(Resource )3 index( must be an array.)//error exec +}if +}bind def +/SubstitutePDFColorSpaceRec +{0 +exec +}bind def +/SubstitutePDFColorSpace +{ +{ +dup 0 get/Pattern eq{ +dup length 1 gt{ +dup dup 1//CheckColorSpace//ResolveA exec +dup type/nametype ne{ +//SubstitutePDFColorSpaceRec exec +}if +1 exch put +}if +exit +}if +dup 0 get/Indexed eq{ +exit +}if +dup 0 get/Separation eq{ +dup dup 2//CheckColorSpace//ResolveA exec +dup type/nametype ne{ +//SubstitutePDFColorSpaceRec exec +}if +2 exch put +exit +}if +dup 0 get/CalGray eq{ +1 get +dup/Gamma//knownget exec{ +[exch[exch/exp load]cvx dup dup] +1 index exch/DecodeLMN exch put +}if +[exch/CIEBasedA exch] +exit +}if +dup 0 get/CalRGB eq{ +1 get +dup/Matrix//knownget exec{ +1 index exch/MatrixLMN exch put +}if +dup/Gamma//knownget exec{ +aload pop +[exch/exp load]cvx +3 1 roll +[exch/exp load]cvx +3 1 roll +[exch/exp load]cvx +3 1 roll +3 array astore +1 index exch/DecodeLMN exch put +}if +[exch/CIEBasedABC exch] +exit +}if +dup 0 get/Lab eq{ +1 get +begin +currentdict/Range//knownget exec{aload pop}{-100 100 -100 100}ifelse +0 100 6 2 roll 6 array astore +/RangeABC exch def +/DecodeABC[{16 add 116 div}bind{500 div}bind{200 div}bind]def +/MatrixABC[1 1 1 1 0 0 0 0 -1]def +{dup 6 29 div ge{dup dup mul mul}{4 29 div sub 108 841 div mul}ifelse} +/DecodeLMN[ +[3 index aload pop WhitePoint 0 get/mul load]cvx +[4 index aload pop WhitePoint 1 get/mul load]cvx +[5 index aload pop WhitePoint 2 get/mul load]cvx +]def pop +//PDFR_DEBUG{ +(Constructed from Lab <<)= +currentdict{exch = ==}forall +(>>)= +}if +[/CIEBasedABC currentdict] +end +exit +pop +}if +dup 0 get/CIEBasedA eq{exit}if +dup 0 get/CIEBasedABC eq{exit}if +mark exch(Unimplemented color space )exch//error exec +}loop +}bind def +//SubstitutePDFColorSpaceRec 0//SubstitutePDFColorSpace put +/ResolveArrayElement +{2 copy get +dup type dup/arraytype eq exch +/packedarraytype eq or{ +dup length 1 ge exch xcheck and{ +2 copy get +dup 0 get type/integertype eq +1 index 1 get type dup/arraytype +eq exch +/packedarraytype eq or +and{ +exec +2 index 4 1 roll put +}{ +pop pop +}ifelse +}{ +pop +}ifelse +}{ +pop pop +}ifelse +}bind def +/ResolveColorSpaceArrayRec +{0 +exec +}bind def +/SetColorSpaceSafe +{ +PDFR_DEBUG{ +(SetColorSpaceSafe beg)= +}if +currentcolorspace dup type/arraytype eq{ +1 index type/arraytype eq{ +dup length 2 index length eq{ +false exch +dup length 0 exch 1 exch 1 sub{ +dup +4 index exch get exch +2 index exch get +ne{ +exch pop true exch exit +}if +}for +pop +{ +setcolorspace +}{ +pop +}ifelse +}{ +pop setcolorspace +}ifelse +}{ +pop setcolorspace +}ifelse +}{ +pop setcolorspace +}ifelse +PDFR_DEBUG{ +(SetColorSpaceSafe end)= +}if +}bind def +/ResolveColorSpaceArray +{ +//PDFR_DEBUG{ +(ResolveColorSpaceArray beg )print dup == +}if +dup 0 get/Indexed eq{ +1//ResolveArrayElement exec +dup dup 1 get +dup type/arraytype eq{ +//SubstitutePDFColorSpace exec +//ResolveColorSpaceArrayRec exec +1 exch put +}{ +pop pop +}ifelse +}if +dup 0 get/Separation eq{ +dup dup 1 get UnPDFEscape 1 exch put +3//ResolveArrayElement exec +dup 3 get//FunctionToProc exec +2 copy 3 exch put +pop +}if +dup 0 get/Pattern eq{ +dup length 1 gt{ +dup 1 get dup type/arraytype eq{ +ResolveColorSpaceArray +1 index 1 3 -1 roll put +}{ +pop +}ifelse +}if +}if +PDFR_DEBUG{ +(Construcrted color space :)= +dup == +}if +//PDFR_DEBUG{ +(ResolveColorSpaceArray end )print dup == +}if +}bind def +//ResolveColorSpaceArrayRec 0//ResolveColorSpaceArray put +/ResolveColorSpace +{ +//PDFR_DEBUG{ +(ResolveColorSpace beg )print dup = +}if +dup//SimpleColorSpaceNames exch known not{ +dup//PDFColorSpaces exch//knownget exec{ +exch pop +//PDFR_DEBUG{ +(ResolveColorSpace known )= +}if +}{ +dup +//PDFReader/CurrentObject get/Context get/Resources get +/ColorSpace//DoNothing//ResolveD exec +exch//CheckColorSpace//ResolveD exec +dup type/arraytype eq{ +//SubstitutePDFColorSpace exec +//ResolveColorSpaceArray exec +dup//PDFColorSpaces 4 2 roll put +}if +}ifelse +}if +//PDFR_DEBUG{ +(ResolveColorSpace end )print dup == +}if +}bind def +/CheckPattern +{ +dup/PatternType//knownget exec{ +dup 1 ne{ +mark(Resource )4 index( is a shading, which can't be handled at level 2. )//error exec +}if +pop +}if +dup/Type knownget{ +/Pattern ne{ +mark(Resource )4 index( must have /Type/Pattern .)//error exec +}if +}if +}bind def +/PaintProc +{/Context get +//RunDelayedStream exec +}bind def +/ResolvePattern +{ +dup +userdict/PDFR_Patterns get +exch//knownget exec{ +exch pop +}{ +dup +//PDFReader/CurrentObject get/Context get/Resources get +/Pattern//DoNothing//ResolveD exec +exch//CheckPattern//ResolveD exec +dup dup/Context exch put +dup/Resources//DoNothing//ResolveD exec pop +dup/PaintProc//PaintProc put +gsave userdict/PDFR_InitialGS get setgstate +currentglobal exch false setglobal +dup/Matrix get +makepattern +exch setglobal +grestore +dup userdict/PDFR_Patterns get +4 2 roll +put +}ifelse +}bind def +/SetColor +{//PDFR_DEBUG{ +(SetColor beg)= +}if +currentcolorspace dup type/nametype eq{ +pop setcolor +}{ +0 get/Pattern eq{ +//ResolvePattern exec setpattern +}{ +setcolor +}ifelse +}ifelse +//PDFR_DEBUG{ +(SetColor end)= +}if +}bind def +/ImageKeys 15 dict begin +/BPC/BitsPerComponent def +/CS/ColorSpace def +/D/Decode def +/DP/DecodeParms def +/F/Filter def +/H/Height def +/IM/ImageMask def +/I/Interpolate def +/W/Width def +currentdict end readonly def +/ImageValues 15 dict begin +/G/DeviceGray def +/RGB/DeviceRGB def +/CMYK/DeviceCMYK def +/I/Indexed def +/AHx/ASCIIHexDecode def +/A85/ASCII85Decode def +/LZW/LZWDecode def +/Fl/FlateDecode def +/RL/RunLengthDecode def +/CCF/CCITTFaxDecode def +/DCT/DCTDecode def +currentdict end readonly def +/GetColorSpaceRange +{2 index/ColorSpace get +dup type/arraytype eq{ +1 get +}if +exch//knownget exec{ +exch pop +}if +}bind def +/DecodeArrays 15 dict begin +/DeviceGray{[0 1]}def +/DeviceRGB{[0 1 0 1 0 1]}def +/DeviceCMYK{[0 1 0 1 0 1 0 1]}def +/Indexed{ +dup/BitsPerComponent get 1 exch bitshift 1 sub[exch 0 exch] +}def +/Separation{[0 1]}def +/CIEBasedA{[0 1]/RangeA//GetColorSpaceRange exec}def +/CIEBasedABC{[0 1 0 1 0 1]/RangeABC//GetColorSpaceRange exec}def +currentdict end readonly def +/Substitute +{1 index//knownget exec{ +exch pop +}if +}bind def +/DebugImagePrinting +{ +//PDFR_DEBUG{ +(Image :)= +dup{exch//=only exec( )print == +}forall +}if +}bind def +/CompleteImage +{ +dup/ColorSpace known{ +dup/ColorSpace//CheckColorSpace//ResolveD exec pop +}if +dup/Decode known not{ +dup/ColorSpace//knownget exec{ +dup type/arraytype eq{ +0 get +}if +//DecodeArrays exch get exec +}{ +[0 1] +}ifelse +1 index exch/Decode exch put +}if +dup/ImageMatrix[2 index/Width get 0 0 5 index/Height get neg +0 7 index/Height get]put +//DebugImagePrinting exec +}bind def +/CompleteInlineImage +{ +//PDFR_DEBUG{ +(CompleteInlineImage beg)= +}if +dup/ImageType known not{ +dup/ImageType 1 put +}if +dup length dict exch{ +exch//ImageKeys//Substitute exec +dup/Filter eq{ +exch//ImageValues//Substitute exec exch +}if +dup/ColorSpace eq{ +exch +dup//ImageValues exch//knownget exec{ +exch pop +}{ +//ResolveColorSpace exec +}ifelse +exch +}if +exch +2 index 3 1 roll put +}forall +//CompleteImage exec +dup/DataSource 2 copy get +2 index//AppendFilters exec put +//PDFR_DEBUG{ +(CompleteInlineImage end)= +}if +}bind def +/CompleteOutlineImage +{ +currentglobal exch dup gcheck setglobal +//PDFR_DEBUG{ +(CompleteOutlineImage beg)= +}if +dup dup//MakeStreamReader exec/DataSource exch put +dup/ImageType known not{ +//CompleteImage exec +dup/ImageType 1 put +dup/ColorSpace known{ +dup/ColorSpace//CheckColorSpace//ResolveD exec +dup type/arraytype eq{ +//ResolveColorSpaceArray exec +//SubstitutePDFColorSpace exec +1 index exch/ColorSpace exch put +}{ +pop +}ifelse +}if +}if +//PDFR_DEBUG{ +(CompleteOutlineImage end)= +}if +exch setglobal +}bind def +/DoImage +{ +//PDFR_DEBUG{ +(DoImage beg)= +}if +gsave +dup/ColorSpace//knownget exec{setcolorspace}if +dup/ImageMask//knownget exec not{false}if +{imagemask}{image}ifelse +grestore +//PDFR_DEBUG{ +(DoImage end)= +}if +}bind def +/GSave +{ +gsave +//PDFReader/GraphicStateStackPointer get +dup//GraphicStateStack exch get null eq{ +dup//GraphicStateStack exch//InitialGraphicState length dict put +}if +dup//GraphicStateStack exch get +//GraphicState exch copy pop +1 add//PDFReader exch/GraphicStateStackPointer exch put +}bind def +/GRestore +{ +grestore +//PDFReader/GraphicStateStackPointer get +1 sub dup +//PDFReader exch/GraphicStateStackPointer exch put +//GraphicStateStack exch get +//GraphicState copy pop +}bind def +/SetFont +{dup//GraphicState exch/FontSize exch put +//ResolveAndSetFont exec +//GraphicState/FontMatrixNonHV currentfont/FontMatrix get 1 get 0 ne put +}bind def +/ShowText +{//GraphicState/TextRenderingMode get 0 eq{ +//GraphicState/WordSpacing get 0 +32 +//GraphicState/CharacterSpacing get 0 +6 5 roll +//GraphicState/FontMatrixNonHV get{ +[ +7 -2 roll pop +5 -2 roll pop +5 -1 roll +{ +exch +pop +3 index add +exch 2 index eq{3 index add}if +4 1 roll +} +currentfont/FontMatrix get 0 get 0 ne{ +1 1 index length 1 sub getinterval cvx +}if +5 index +cshow +pop pop pop] +xshow +}{ +awidthshow +}ifelse +}{ +//GraphicState/CharacterSpacing get 0 eq +//GraphicState/FontMatrixNonHV get not and +//GraphicState/WordSpacing get 0 eq and{ +true charpath +}{ +{ +exch +pop 0 +currentpoint 5 4 roll +( )dup 0 3 index put true charpath +5 1 roll +moveto rmoveto +//GraphicState/CharacterSpacing get 0 rmoveto +32 eq{ +//GraphicState/WordSpacing get 0 rmoveto +}if +} +//GraphicState/FontMatrixNonHV get dup not exch{ +pop currentfont/FontMatrix get 0 get 0 ne +}if{ +1 1 index length 1 sub getinterval cvx +}if +exch cshow +}ifelse +}ifelse +}bind def +/ShowTextBeg +{//GraphicState/TextRenderingMode get 0 ne{ +currentpoint newpath moveto +}if +}bind def +/ShowTextEnd +{//GraphicState/TextRenderingMode get +{dup 1 eq{ +stroke exit +}if +dup 2 eq{ +gsave fill grestore stroke exit +}if +dup 3 eq{ +currentpoint newpath moveto +}if +dup 4 eq{ +gsave fill grestore clip exit +}if +dup 5 eq{ +gsave stroke grestore clip exit +}if +dup 6 eq{ +gsave fill grestore gsave stroke grestore fill exit +}if +dup 7 eq{ +clip exit +}if +exit +}loop +pop +}bind def +/ShowTextWithGlyphPositioning +{//ShowTextBeg exec +{dup type/stringtype eq{ +//ShowText exec +}{ +neg 1000 div//GraphicState/FontSize get mul 0 rmoveto +}ifelse +}forall +//ShowTextEnd exec +}bind def +/CheckFont +{dup/Type get/ExtGState ne{ +mark(Resource )3 index( must have /Type/ExtGState.)//error exec +}if +}bind def +/SetTransfer +{ +//PDFR_DEBUG{(SetTransfer beg )print count =}if +dup type/arraytype eq 1 index xcheck not and{ +0 4 getinterval aload pop +setcolortransfer +}{ +settransfer +}ifelse +//PDFR_DEBUG{(SetTransfer end )print count =}if +}bind def +/CheckExtGState +{dup/Type get/ExtGState ne{ +mark(Resource )3 index( must have /Type/ExtGState.)//error exec +}if +}bind def +/CheckHalftone +{dup/HalftoneType known not{ +mark(Resource )3 index( must have /HalftoneType.)//error exec +}if +}bind def +/ResolveFunction +{ +//PDFR_DEBUG{(ResolveFunction beg )print dup = count =}if +2 copy get//IsObjRef exec{ +2 copy//DoNothing//ResolveD exec +3 copy put pop +}if +2 copy get dup type/arraytype eq exch xcheck and not{ +2 copy get +dup type/arraytype eq 1 index xcheck not and{ +dup length 1 sub -1 0{ +2 copy//DoNothing ResolveA +dup/Identity eq{ +pop 2 copy{}put +}{ +//FunctionToProc exec +3 copy put pop +}ifelse +pop +}for +}{ +dup/Default eq{ +}{ +dup/Identity eq{ +pop{} +}{dup type/nametype eq{ +//spotfunctions exch get +}{ +//FunctionToProc exec +}ifelse +}ifelse +}ifelse +}ifelse +3 copy put +exch pop +}{ +1 index exch get +}ifelse +//PDFR_DEBUG{(ResolveFunction end )print dup == count =}if +}bind def +/ResolveFunctionSafe +{2 copy known{ +//ResolveFunction exec +}if +pop +}bind def +/CreateHalftoneThresholds +{ +dup/Thresholds known not{ +dup/HalftoneType get 10 eq{ +dup dup//MakeStreamReader exec +/Thresholds exch put +}if +dup/HalftoneType get dup 3 eq exch 6 eq or{ +dup dup//MakeStreamReader exec +//BlockBuffer readstring pop +dup length +dup 0 eq{ +mark(Could not read Thresholds)//error exec +}if +string copy/Thresholds exch put +dup/HalftoneType 3 put +}if +}if +}bind def +/SetExtGState +{ +//PDFReader/CurrentObject get/Context get/Resources get +/ExtGState//DoNothing//ResolveD exec +exch//CheckExtGState//ResolveD exec +dup/LW//knownget exec{ +setlinewidth +}if +dup/LC//knownget exec{ +setlinecap +}if +dup/LJ//knownget exec{ +setlinejoin +}if +dup/ML//knownget exec{ +setmeterlimit +}if +dup/D//knownget exec{ +setdash +}if +dup/RI//knownget exec{ +mark(Unimplemented ExtGState.RI)//error exec +}if +dup/OP//knownget exec{ +setoverprint +}if +dup/op//knownget exec{ +setoverprint +}if +dup/OPM//knownget exec{ +mark(Unimplemented ExtGState.OPM)//error exec +}if +dup/Font//knownget exec{ +mark(Unimplemented ExtGState.Font)//error exec +}if +dup/BG known{ +/BG//ResolveFunction exec +setblackgeneration +}if +dup/BG2 known{ +/BG2//ResolveFunction exec +dup/Default eq{ +//InitialExtGState/BG2 get +}if +setblackgeneration +}if +dup/UCR known{ +/UCR//ResolveFunction exec +setundercolorremoval +}if +dup/UCR2 known{ +/UCR2//ResolveFunction exec +dup/Default eq{ +//InitialExtGState/UCR2 get +}if +setundercolorremoval +}if +dup/TR known{ +/TR//ResolveFunction exec +//SetTransfer exec +}if +dup/TR2 known{ +/TR2//ResolveFunction exec +dup/Default eq{ +pop//InitialExtGState/TR2 get +aload pop setcolortransfer +}{ +//SetTransfer exec +}ifelse +}if +dup/HT//knownget exec{ +dup/Default eq{ +pop//InitialExtGState/HT get +sethalftone +}{ +//PDFR_DEBUG{(Ht beg)=}if +pop dup/HT//CheckHalftone//ResolveD exec +/SpotFunction//ResolveFunctionSafe exec +/TransferFunction//ResolveFunctionSafe exec +null exch +dup/HalftoneType get dup 5 eq exch dup 4 eq exch 2 eq or or{ +dup{ +dup//IsObjRef exec{ +pop +1 index exch//CheckHalftone ResolveD +}if +dup type/dicttype eq{ +dup/SpotFunction//ResolveFunctionSafe exec +/TransferFunction//ResolveFunctionSafe exec +//CreateHalftoneThresholds exec +dup/HalftoneType get 5 gt{ +4 3 roll pop +dup 4 1 roll +}if +}if +pop pop +}forall +}if +//CreateHalftoneThresholds exec +//PDFR_DEBUG{ +(HT:)= +dup{ +1 index/Default eq{ +(Default <<)= +exch pop +{exch = ==}forall +(>>)= +}{ +exch = == +}ifelse +}forall +(HT end)= flush +}if +exch dup null ne{ +(Warning: Ignoring a halftone with a Level 3 component halftone Type )print dup/HalftoneType get = +pop pop +}{ +pop +dup/HalftoneType get 5 gt{ +(Warning: Ignoring a Level 3 halftone Type )print dup/HalftoneType get = +pop +}{ +sethalftone +}ifelse +}ifelse +//PDFR_DEBUG{(HT set)= flush}if +}ifelse +}if +dup/FL//knownget exec{ +setflattness +}if +dup/SM//knownget exec{ +setsmoothness +}if +dup/SA//knownget exec{ +setstrokeadjust +}if +dup/BM//knownget exec{ +mark(Unimplemented ExtGState.BM)//error exec +}if +dup/SMask//knownget exec{ +mark(Unimplemented ExtGState.SMask)//error exec +}if +dup/CA//knownget exec{ +mark(Unimplemented ExtGState.CA)//error exec +}if +dup/ca//knownget exec{ +mark(Unimplemented ExtGState.ca)//error exec +}if +dup/AIS//knownget exec{ +mark(Unimplemented ExtGState.AIS)//error exec +}if +dup/TK//knownget exec{ +mark(Unimplemented ExtGState.TK)//error exec +}if +pop +}bind def +/CheckXObject +{dup/Subtype get dup/Image ne exch dup/Form ne exch/PS ne and and{ +mark(Resource )3 index( must have /Subtype /Image or /Form or /PS.)//error exec +}if +}bind def +/DoXObject +{ +//PDFReader/CurrentObject get/Context get/Resources get +/XObject//DoNothing//ResolveD exec +exch//CheckXObject//ResolveD exec +dup/Subtype get +dup/Image eq{ +pop +//CompleteOutlineImage exec +//DoImage exec +}{ +dup/PS eq{ +PDFR_DEBUG{ +(Executing a PS Xobject)= +}if +pop +//RunDelayedStream exec +}{ +dup/Form eq{ +pop +PDFR_DEBUG{ +(Executing a Form XObject)= +}if +//PDFReader/CurrentObject get exch +dup//PDFReader exch<< exch/Context exch >>/CurrentObject exch put +dup/Matrix get concat +dup/BBox get aload pop exch 3 index sub exch 2 index sub rectclip +//RunDelayedStream exec +//PDFReader exch/CurrentObject exch put +}{ +mark exch(unimplemented XObject type )exch//error exec +}ifelse +}ifelse +}ifelse +}bind def +/Operators 50 dict begin +/q{//GSave exec}bind def +/Q{//GRestore exec}bind def +/cm{//TempMatrix astore concat}bind def +/i{1 .min setflat}bind def +/J/setlinecap load def +/d/setdash load def +/j/setlinejoin load def +/w/setlinewidth load def +/M/setmiterlimit load def +/gs{SetExtGState}bind def +/g/setgray load def +/rg/setrgbcolor load def +/k/setcmykcolor load def +/cs{//ResolveColorSpace exec//SetColorSpaceSafe exec +}bind def +/sc/setcolor load def +/scn{//SetColor exec}bind def +/G/setgray load def +/RG/setrgbcolor load def +/K/setcmykcolor load def +/CS//cs def +/ri{SetColorRenderingIntent}bind def +/SC/setcolor load def +/SCN{//SetColor exec}bind def +/m/moveto load def +/l/lineto load def +/c/curveto load def +/v{currentpoint 6 2 roll curveto}bind def +/y{2 copy curveto}bind def +/re{ +4 2 roll moveto exch dup 0 rlineto 0 3 -1 roll rlineto neg 0 rlineto +closepath +}def +/h/closepath load def +/n/newpath load def +/S/stroke load def +/s{closepath stroke}bind def +/f/fill load def +/f*/eofill load def +/B{gsave fill grestore stroke}bind def +/b{closepath gsave fill grestore stroke}bind def +/B*{gsave eofill grestore stroke}bind def +/b*{closepath gsave eofill grestore stroke}bind def +/W/clip load def +/W*/eoclip load def +/sh{ +ResolveShading +dup/Background known{ +gsave +dup/ColorSpace get setcolorspace +dup/Background get aload pop setcolor +pathbbox +2 index sub exch 3 index sub exch +rectfill +grestore +}if +shfill +}bind def +/Do{//DoXObject exec}bind def +/BI{currentglobal false setglobal<<}bind def +/ID{>> +dup/DataSource currentfile +2 index/F//knownget exec{ +/A85 eq{ +0(~>)/SubFileDecode filter +}if +}if +put +//CompleteInlineImage exec +exch setglobal +//DoImage exec +}bind def +/EI{}bind def +/BT{gsave//GraphicState/InitialTextMatrix get currentmatrix pop}bind def +/ET{grestore}bind def +/Tc{//GraphicState exch/CharacterSpacing exch put}bind def +/TL{//GraphicState exch/TextLeading exch put}bind def +/Tr{//GraphicState exch/TextRenderingMode exch put}bind def +/Ts{ +mark(Unimplemented SetTextRise)//error exec +}bind def +/Tw{//GraphicState exch/WordSpacing exch put}bind def +/Tz{ +mark(Unimplemented SetHorizontalTextScaling)//error exec +}bind def +/Td{translate 0 0 moveto}bind def +/TD{dup neg//TL exec//Td exec}bind def +/Tm{//GraphicState/InitialTextMatrix get setmatrix +//TempMatrix astore concat +0 0 moveto}bind def +/T*{0//GraphicState/TextLeading get neg//Td exec}bind def +/Tj{//ShowTextBeg exec//ShowText exec//ShowTextEnd exec}bind def +/'{//T* exec//ShowText exec//ShowTextEnd exec}bind def +/"{3 2 roll//Tw exec exch//Tc exec//' exec}bind def +/TJ//ShowTextWithGlyphPositioning def +/Tf//SetFont def +/d0/setcharwidth load def +/d1/setcachedevice load def +/BDC{pop pop}bind def +/BMC{pop}bind def +/EMC{}bind def +/BX{BeginCompatibilitySection}bind def +/EX{EndCompatibilitySection}bind def +/DP{DefineMarkedContentPointWithPropertyList}bind def +/MP{DefineMarkedContentPoint}bind def +/PS{cvx exec}bind def +currentdict end def +//PDFR_STREAM{ +//Operators length dict begin +//Operators{ +exch dup +[exch//=only/exec load +( )/print load +8 7 roll +dup type/arraytype eq{ +/exec load +}if +( )/print load +]cvx +def +}forall +currentdict end/Operators exch def +}if +/.registerencoding +{pop pop +}bind def +/.defineencoding +{def +}bind def +/.findencoding +{load +}bind def +/currentglobal where +{pop currentglobal{setglobal}true setglobal} +{{}} +ifelse +/MacRomanEncoding +StandardEncoding 0 39 getinterval aload pop +/quotesingle +StandardEncoding 40 56 getinterval aload pop +/grave +StandardEncoding 97 31 getinterval aload pop +/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 +256 packedarray +5 1 index .registerencoding +.defineencoding +exec +/AdobeGlyphList mark +/A 16#0041 +/AE 16#00c6 +/AEacute 16#01fc +/AEmacron 16#01e2 +/AEsmall 16#f7e6 +/Aacute 16#00c1 +/Aacutesmall 16#f7e1 +/Abreve 16#0102 +/Abreveacute 16#1eae +/Abrevecyrillic 16#04d0 +/Abrevedotbelow 16#1eb6 +/Abrevegrave 16#1eb0 +/Abrevehookabove 16#1eb2 +/Abrevetilde 16#1eb4 +/Acaron 16#01cd +/Acircle 16#24b6 +/Acircumflex 16#00c2 +/Acircumflexacute 16#1ea4 +/Acircumflexdotbelow 16#1eac +/Acircumflexgrave 16#1ea6 +/Acircumflexhookabove 16#1ea8 +/Acircumflexsmall 16#f7e2 +/Acircumflextilde 16#1eaa +/Acute 16#f6c9 +/Acutesmall 16#f7b4 +/Acyrillic 16#0410 +/Adblgrave 16#0200 +/Adieresis 16#00c4 +/Adieresiscyrillic 16#04d2 +/Adieresismacron 16#01de +/Adieresissmall 16#f7e4 +/Adotbelow 16#1ea0 +/Adotmacron 16#01e0 +/Agrave 16#00c0 +/Agravesmall 16#f7e0 +/Ahookabove 16#1ea2 +/Aiecyrillic 16#04d4 +/Ainvertedbreve 16#0202 +/Alpha 16#0391 +/Alphatonos 16#0386 +/Amacron 16#0100 +/Amonospace 16#ff21 +/Aogonek 16#0104 +/Aring 16#00c5 +/Aringacute 16#01fa +/Aringbelow 16#1e00 +/Aringsmall 16#f7e5 +/Asmall 16#f761 +/Atilde 16#00c3 +/Atildesmall 16#f7e3 +/Aybarmenian 16#0531 +/B 16#0042 +/Bcircle 16#24b7 +/Bdotaccent 16#1e02 +/Bdotbelow 16#1e04 +/Becyrillic 16#0411 +/Benarmenian 16#0532 +/Beta 16#0392 +/Bhook 16#0181 +/Blinebelow 16#1e06 +/Bmonospace 16#ff22 +/Brevesmall 16#f6f4 +/Bsmall 16#f762 +/Btopbar 16#0182 +/C 16#0043 +/Caarmenian 16#053e +/Cacute 16#0106 +/Caron 16#f6ca +/Caronsmall 16#f6f5 +/Ccaron 16#010c +/Ccedilla 16#00c7 +/Ccedillaacute 16#1e08 +/Ccedillasmall 16#f7e7 +/Ccircle 16#24b8 +/Ccircumflex 16#0108 +/Cdot 16#010a +/Cdotaccent 16#010a +/Cedillasmall 16#f7b8 +/Chaarmenian 16#0549 +/Cheabkhasiancyrillic 16#04bc +/Checyrillic 16#0427 +/Chedescenderabkhasiancyrillic 16#04be +/Chedescendercyrillic 16#04b6 +/Chedieresiscyrillic 16#04f4 +/Cheharmenian 16#0543 +/Chekhakassiancyrillic 16#04cb +/Cheverticalstrokecyrillic 16#04b8 +/Chi 16#03a7 +/Chook 16#0187 +/Circumflexsmall 16#f6f6 +/Cmonospace 16#ff23 +/Coarmenian 16#0551 +/Csmall 16#f763 +/D 16#0044 +/DZ 16#01f1 +/DZcaron 16#01c4 +/Daarmenian 16#0534 +/Dafrican 16#0189 +/Dcaron 16#010e +/Dcedilla 16#1e10 +/Dcircle 16#24b9 +/Dcircumflexbelow 16#1e12 +/Dcroat 16#0110 +/Ddotaccent 16#1e0a +/Ddotbelow 16#1e0c +/Decyrillic 16#0414 +/Deicoptic 16#03ee +/Delta 16#2206 +/Deltagreek 16#0394 +/Dhook 16#018a +/Dieresis 16#f6cb +/DieresisAcute 16#f6cc +/DieresisGrave 16#f6cd +/Dieresissmall 16#f7a8 +/Digammagreek 16#03dc +/Djecyrillic 16#0402 +/Dlinebelow 16#1e0e +/Dmonospace 16#ff24 +/Dotaccentsmall 16#f6f7 +/Dslash 16#0110 +/Dsmall 16#f764 +/Dtopbar 16#018b +/Dz 16#01f2 +/Dzcaron 16#01c5 +/Dzeabkhasiancyrillic 16#04e0 +/Dzecyrillic 16#0405 +/Dzhecyrillic 16#040f +/E 16#0045 +/Eacute 16#00c9 +/Eacutesmall 16#f7e9 +/Ebreve 16#0114 +/Ecaron 16#011a +/Ecedillabreve 16#1e1c +/Echarmenian 16#0535 +/Ecircle 16#24ba +/Ecircumflex 16#00ca +/Ecircumflexacute 16#1ebe +/Ecircumflexbelow 16#1e18 +/Ecircumflexdotbelow 16#1ec6 +/Ecircumflexgrave 16#1ec0 +/Ecircumflexhookabove 16#1ec2 +/Ecircumflexsmall 16#f7ea +/Ecircumflextilde 16#1ec4 +/Ecyrillic 16#0404 +/Edblgrave 16#0204 +/Edieresis 16#00cb +/Edieresissmall 16#f7eb +/Edot 16#0116 +/Edotaccent 16#0116 +/Edotbelow 16#1eb8 +/Efcyrillic 16#0424 +/Egrave 16#00c8 +/Egravesmall 16#f7e8 +/Eharmenian 16#0537 +/Ehookabove 16#1eba +/Eightroman 16#2167 +/Einvertedbreve 16#0206 +/Eiotifiedcyrillic 16#0464 +/Elcyrillic 16#041b +/Elevenroman 16#216a +/Emacron 16#0112 +/Emacronacute 16#1e16 +/Emacrongrave 16#1e14 +/Emcyrillic 16#041c +/Emonospace 16#ff25 +/Encyrillic 16#041d +/Endescendercyrillic 16#04a2 +/Eng 16#014a +/Enghecyrillic 16#04a4 +/Enhookcyrillic 16#04c7 +/Eogonek 16#0118 +/Eopen 16#0190 +/Epsilon 16#0395 +/Epsilontonos 16#0388 +/Ercyrillic 16#0420 +/Ereversed 16#018e +/Ereversedcyrillic 16#042d +/Escyrillic 16#0421 +/Esdescendercyrillic 16#04aa +/Esh 16#01a9 +/Esmall 16#f765 +/Eta 16#0397 +/Etarmenian 16#0538 +/Etatonos 16#0389 +/Eth 16#00d0 +/Ethsmall 16#f7f0 +/Etilde 16#1ebc +/Etildebelow 16#1e1a +/Euro 16#20ac +/Ezh 16#01b7 +/Ezhcaron 16#01ee +/Ezhreversed 16#01b8 +/F 16#0046 +/Fcircle 16#24bb +/Fdotaccent 16#1e1e +/Feharmenian 16#0556 +/Feicoptic 16#03e4 +/Fhook 16#0191 +/Fitacyrillic 16#0472 +/Fiveroman 16#2164 +/Fmonospace 16#ff26 +/Fourroman 16#2163 +/Fsmall 16#f766 +/G 16#0047 +/GBsquare 16#3387 +/Gacute 16#01f4 +/Gamma 16#0393 +/Gammaafrican 16#0194 +/Gangiacoptic 16#03ea +/Gbreve 16#011e +/Gcaron 16#01e6 +/Gcedilla 16#0122 +/Gcircle 16#24bc +/Gcircumflex 16#011c +/Gcommaaccent 16#0122 +/Gdot 16#0120 +/Gdotaccent 16#0120 +/Gecyrillic 16#0413 +/Ghadarmenian 16#0542 +/Ghemiddlehookcyrillic 16#0494 +/Ghestrokecyrillic 16#0492 +/Gheupturncyrillic 16#0490 +/Ghook 16#0193 +/Gimarmenian 16#0533 +/Gjecyrillic 16#0403 +/Gmacron 16#1e20 +/Gmonospace 16#ff27 +/Grave 16#f6ce +/Gravesmall 16#f760 +/Gsmall 16#f767 +/Gsmallhook 16#029b +/Gstroke 16#01e4 +/H 16#0048 +/H18533 16#25cf +/H18543 16#25aa +/H18551 16#25ab +/H22073 16#25a1 +/HPsquare 16#33cb +/Haabkhasiancyrillic 16#04a8 +/Hadescendercyrillic 16#04b2 +/Hardsigncyrillic 16#042a +/Hbar 16#0126 +/Hbrevebelow 16#1e2a +/Hcedilla 16#1e28 +/Hcircle 16#24bd +/Hcircumflex 16#0124 +/Hdieresis 16#1e26 +/Hdotaccent 16#1e22 +/Hdotbelow 16#1e24 +/Hmonospace 16#ff28 +/Hoarmenian 16#0540 +/Horicoptic 16#03e8 +/Hsmall 16#f768 +/Hungarumlaut 16#f6cf +/Hungarumlautsmall 16#f6f8 +/Hzsquare 16#3390 +/I 16#0049 +/IAcyrillic 16#042f +/IJ 16#0132 +/IUcyrillic 16#042e +/Iacute 16#00cd +/Iacutesmall 16#f7ed +/Ibreve 16#012c +/Icaron 16#01cf +/Icircle 16#24be +/Icircumflex 16#00ce +/Icircumflexsmall 16#f7ee +/Icyrillic 16#0406 +/Idblgrave 16#0208 +/Idieresis 16#00cf +/Idieresisacute 16#1e2e +/Idieresiscyrillic 16#04e4 +/Idieresissmall 16#f7ef +/Idot 16#0130 +/Idotaccent 16#0130 +/Idotbelow 16#1eca +/Iebrevecyrillic 16#04d6 +/Iecyrillic 16#0415 +/Ifraktur 16#2111 +/Igrave 16#00cc +/Igravesmall 16#f7ec +/Ihookabove 16#1ec8 +/Iicyrillic 16#0418 +/Iinvertedbreve 16#020a +/Iishortcyrillic 16#0419 +/Imacron 16#012a +/Imacroncyrillic 16#04e2 +/Imonospace 16#ff29 +/Iniarmenian 16#053b +/Iocyrillic 16#0401 +/Iogonek 16#012e +/Iota 16#0399 +/Iotaafrican 16#0196 +/Iotadieresis 16#03aa +/Iotatonos 16#038a +/Ismall 16#f769 +/Istroke 16#0197 +/Itilde 16#0128 +/Itildebelow 16#1e2c +/Izhitsacyrillic 16#0474 +/Izhitsadblgravecyrillic 16#0476 +/J 16#004a +/Jaarmenian 16#0541 +/Jcircle 16#24bf +/Jcircumflex 16#0134 +/Jecyrillic 16#0408 +/Jheharmenian 16#054b +/Jmonospace 16#ff2a +/Jsmall 16#f76a +/K 16#004b +/KBsquare 16#3385 +/KKsquare 16#33cd +/Kabashkircyrillic 16#04a0 +/Kacute 16#1e30 +/Kacyrillic 16#041a +/Kadescendercyrillic 16#049a +/Kahookcyrillic 16#04c3 +/Kappa 16#039a +/Kastrokecyrillic 16#049e +/Kaverticalstrokecyrillic 16#049c +/Kcaron 16#01e8 +/Kcedilla 16#0136 +/Kcircle 16#24c0 +/Kcommaaccent 16#0136 +/Kdotbelow 16#1e32 +/Keharmenian 16#0554 +/Kenarmenian 16#053f +/Khacyrillic 16#0425 +/Kheicoptic 16#03e6 +/Khook 16#0198 +/Kjecyrillic 16#040c +/Klinebelow 16#1e34 +/Kmonospace 16#ff2b +/Koppacyrillic 16#0480 +/Koppagreek 16#03de +/Ksicyrillic 16#046e +/Ksmall 16#f76b +/L 16#004c +/LJ 16#01c7 +/LL 16#f6bf +/Lacute 16#0139 +/Lambda 16#039b +/Lcaron 16#013d +/Lcedilla 16#013b +/Lcircle 16#24c1 +/Lcircumflexbelow 16#1e3c +/Lcommaaccent 16#013b +/Ldot 16#013f +/Ldotaccent 16#013f +/Ldotbelow 16#1e36 +/Ldotbelowmacron 16#1e38 +/Liwnarmenian 16#053c +/Lj 16#01c8 +/Ljecyrillic 16#0409 +/Llinebelow 16#1e3a +/Lmonospace 16#ff2c +/Lslash 16#0141 +/Lslashsmall 16#f6f9 +/Lsmall 16#f76c +/M 16#004d +/MBsquare 16#3386 +/Macron 16#f6d0 +/Macronsmall 16#f7af +/Macute 16#1e3e +/Mcircle 16#24c2 +/Mdotaccent 16#1e40 +/Mdotbelow 16#1e42 +/Menarmenian 16#0544 +/Mmonospace 16#ff2d +/Msmall 16#f76d +/Mturned 16#019c +/Mu 16#039c +/N 16#004e +/NJ 16#01ca +/Nacute 16#0143 +/Ncaron 16#0147 +/Ncedilla 16#0145 +/Ncircle 16#24c3 +/Ncircumflexbelow 16#1e4a +/Ncommaaccent 16#0145 +/Ndotaccent 16#1e44 +/Ndotbelow 16#1e46 +/Nhookleft 16#019d +/Nineroman 16#2168 +/Nj 16#01cb +/Njecyrillic 16#040a +/Nlinebelow 16#1e48 +/Nmonospace 16#ff2e +/Nowarmenian 16#0546 +/Nsmall 16#f76e +/Ntilde 16#00d1 +/Ntildesmall 16#f7f1 +/Nu 16#039d +/O 16#004f +/OE 16#0152 +/OEsmall 16#f6fa +/Oacute 16#00d3 +/Oacutesmall 16#f7f3 +/Obarredcyrillic 16#04e8 +/Obarreddieresiscyrillic 16#04ea +/Obreve 16#014e +/Ocaron 16#01d1 +/Ocenteredtilde 16#019f +/Ocircle 16#24c4 +/Ocircumflex 16#00d4 +/Ocircumflexacute 16#1ed0 +/Ocircumflexdotbelow 16#1ed8 +/Ocircumflexgrave 16#1ed2 +/Ocircumflexhookabove 16#1ed4 +/Ocircumflexsmall 16#f7f4 +/Ocircumflextilde 16#1ed6 +/Ocyrillic 16#041e +/Odblacute 16#0150 +/Odblgrave 16#020c +/Odieresis 16#00d6 +/Odieresiscyrillic 16#04e6 +/Odieresissmall 16#f7f6 +/Odotbelow 16#1ecc +/Ogoneksmall 16#f6fb +/Ograve 16#00d2 +/Ogravesmall 16#f7f2 +/Oharmenian 16#0555 +/Ohm 16#2126 +/Ohookabove 16#1ece +/Ohorn 16#01a0 +/Ohornacute 16#1eda +/Ohorndotbelow 16#1ee2 +/Ohorngrave 16#1edc +/Ohornhookabove 16#1ede +/Ohorntilde 16#1ee0 +/Ohungarumlaut 16#0150 +/Oi 16#01a2 +/Oinvertedbreve 16#020e +/Omacron 16#014c +/Omacronacute 16#1e52 +/Omacrongrave 16#1e50 +/Omega 16#2126 +/Omegacyrillic 16#0460 +/Omegagreek 16#03a9 +/Omegaroundcyrillic 16#047a +/Omegatitlocyrillic 16#047c +/Omegatonos 16#038f +/Omicron 16#039f +/Omicrontonos 16#038c +/Omonospace 16#ff2f +/Oneroman 16#2160 +/Oogonek 16#01ea +/Oogonekmacron 16#01ec +/Oopen 16#0186 +/Oslash 16#00d8 +/Oslashacute 16#01fe +/Oslashsmall 16#f7f8 +/Osmall 16#f76f +/Ostrokeacute 16#01fe +/Otcyrillic 16#047e +/Otilde 16#00d5 +/Otildeacute 16#1e4c +/Otildedieresis 16#1e4e +/Otildesmall 16#f7f5 +/P 16#0050 +/Pacute 16#1e54 +/Pcircle 16#24c5 +/Pdotaccent 16#1e56 +/Pecyrillic 16#041f +/Peharmenian 16#054a +/Pemiddlehookcyrillic 16#04a6 +/Phi 16#03a6 +/Phook 16#01a4 +/Pi 16#03a0 +/Piwrarmenian 16#0553 +/Pmonospace 16#ff30 +/Psi 16#03a8 +/Psicyrillic 16#0470 +/Psmall 16#f770 +/Q 16#0051 +/Qcircle 16#24c6 +/Qmonospace 16#ff31 +/Qsmall 16#f771 +/R 16#0052 +/Raarmenian 16#054c +/Racute 16#0154 +/Rcaron 16#0158 +/Rcedilla 16#0156 +/Rcircle 16#24c7 +/Rcommaaccent 16#0156 +/Rdblgrave 16#0210 +/Rdotaccent 16#1e58 +/Rdotbelow 16#1e5a +/Rdotbelowmacron 16#1e5c +/Reharmenian 16#0550 +/Rfraktur 16#211c +/Rho 16#03a1 +/Ringsmall 16#f6fc +/Rinvertedbreve 16#0212 +/Rlinebelow 16#1e5e +/Rmonospace 16#ff32 +/Rsmall 16#f772 +/Rsmallinverted 16#0281 +/Rsmallinvertedsuperior 16#02b6 +/S 16#0053 +/SF010000 16#250c +/SF020000 16#2514 +/SF030000 16#2510 +/SF040000 16#2518 +/SF050000 16#253c +/SF060000 16#252c +/SF070000 16#2534 +/SF080000 16#251c +/SF090000 16#2524 +/SF100000 16#2500 +/SF110000 16#2502 +/SF190000 16#2561 +/SF200000 16#2562 +/SF210000 16#2556 +/SF220000 16#2555 +/SF230000 16#2563 +/SF240000 16#2551 +/SF250000 16#2557 +/SF260000 16#255d +/SF270000 16#255c +/SF280000 16#255b +/SF360000 16#255e +/SF370000 16#255f +/SF380000 16#255a +/SF390000 16#2554 +/SF400000 16#2569 +/SF410000 16#2566 +/SF420000 16#2560 +/SF430000 16#2550 +/SF440000 16#256c +/SF450000 16#2567 +/SF460000 16#2568 +/SF470000 16#2564 +/SF480000 16#2565 +/SF490000 16#2559 +/SF500000 16#2558 +/SF510000 16#2552 +/SF520000 16#2553 +/SF530000 16#256b +/SF540000 16#256a +/Sacute 16#015a +/Sacutedotaccent 16#1e64 +/Sampigreek 16#03e0 +/Scaron 16#0160 +/Scarondotaccent 16#1e66 +/Scaronsmall 16#f6fd +/Scedilla 16#015e +/Schwa 16#018f +/Schwacyrillic 16#04d8 +/Schwadieresiscyrillic 16#04da +/Scircle 16#24c8 +/Scircumflex 16#015c +/Scommaaccent 16#0218 +/Sdotaccent 16#1e60 +/Sdotbelow 16#1e62 +/Sdotbelowdotaccent 16#1e68 +/Seharmenian 16#054d +/Sevenroman 16#2166 +/Shaarmenian 16#0547 +/Shacyrillic 16#0428 +/Shchacyrillic 16#0429 +/Sheicoptic 16#03e2 +/Shhacyrillic 16#04ba +/Shimacoptic 16#03ec +/Sigma 16#03a3 +/Sixroman 16#2165 +/Smonospace 16#ff33 +/Softsigncyrillic 16#042c +/Ssmall 16#f773 +/Stigmagreek 16#03da +/T 16#0054 +/Tau 16#03a4 +/Tbar 16#0166 +/Tcaron 16#0164 +/Tcedilla 16#0162 +/Tcircle 16#24c9 +/Tcircumflexbelow 16#1e70 +/Tcommaaccent 16#0162 +/Tdotaccent 16#1e6a +/Tdotbelow 16#1e6c +/Tecyrillic 16#0422 +/Tedescendercyrillic 16#04ac +/Tenroman 16#2169 +/Tetsecyrillic 16#04b4 +/Theta 16#0398 +/Thook 16#01ac +/Thorn 16#00de +/Thornsmall 16#f7fe +/Threeroman 16#2162 +/Tildesmall 16#f6fe +/Tiwnarmenian 16#054f +/Tlinebelow 16#1e6e +/Tmonospace 16#ff34 +/Toarmenian 16#0539 +/Tonefive 16#01bc +/Tonesix 16#0184 +/Tonetwo 16#01a7 +/Tretroflexhook 16#01ae +/Tsecyrillic 16#0426 +/Tshecyrillic 16#040b +/Tsmall 16#f774 +/Twelveroman 16#216b +/Tworoman 16#2161 +/U 16#0055 +/Uacute 16#00da +/Uacutesmall 16#f7fa +/Ubreve 16#016c +/Ucaron 16#01d3 +/Ucircle 16#24ca +/Ucircumflex 16#00db +/Ucircumflexbelow 16#1e76 +/Ucircumflexsmall 16#f7fb +/Ucyrillic 16#0423 +/Udblacute 16#0170 +/Udblgrave 16#0214 +/Udieresis 16#00dc +/Udieresisacute 16#01d7 +/Udieresisbelow 16#1e72 +/Udieresiscaron 16#01d9 +/Udieresiscyrillic 16#04f0 +/Udieresisgrave 16#01db +/Udieresismacron 16#01d5 +/Udieresissmall 16#f7fc +/Udotbelow 16#1ee4 +/Ugrave 16#00d9 +/Ugravesmall 16#f7f9 +/Uhookabove 16#1ee6 +/Uhorn 16#01af +/Uhornacute 16#1ee8 +/Uhorndotbelow 16#1ef0 +/Uhorngrave 16#1eea +/Uhornhookabove 16#1eec +/Uhorntilde 16#1eee +/Uhungarumlaut 16#0170 +/Uhungarumlautcyrillic 16#04f2 +/Uinvertedbreve 16#0216 +/Ukcyrillic 16#0478 +/Umacron 16#016a +/Umacroncyrillic 16#04ee +/Umacrondieresis 16#1e7a +/Umonospace 16#ff35 +/Uogonek 16#0172 +/Upsilon 16#03a5 +/Upsilon1 16#03d2 +/Upsilonacutehooksymbolgreek 16#03d3 +/Upsilonafrican 16#01b1 +/Upsilondieresis 16#03ab +/Upsilondieresishooksymbolgreek 16#03d4 +/Upsilonhooksymbol 16#03d2 +/Upsilontonos 16#038e +/Uring 16#016e +/Ushortcyrillic 16#040e +/Usmall 16#f775 +/Ustraightcyrillic 16#04ae +/Ustraightstrokecyrillic 16#04b0 +/Utilde 16#0168 +/Utildeacute 16#1e78 +/Utildebelow 16#1e74 +/V 16#0056 +/Vcircle 16#24cb +/Vdotbelow 16#1e7e +/Vecyrillic 16#0412 +/Vewarmenian 16#054e +/Vhook 16#01b2 +/Vmonospace 16#ff36 +/Voarmenian 16#0548 +/Vsmall 16#f776 +/Vtilde 16#1e7c +/W 16#0057 +/Wacute 16#1e82 +/Wcircle 16#24cc +/Wcircumflex 16#0174 +/Wdieresis 16#1e84 +/Wdotaccent 16#1e86 +/Wdotbelow 16#1e88 +/Wgrave 16#1e80 +/Wmonospace 16#ff37 +/Wsmall 16#f777 +/X 16#0058 +/Xcircle 16#24cd +/Xdieresis 16#1e8c +/Xdotaccent 16#1e8a +/Xeharmenian 16#053d +/Xi 16#039e +/Xmonospace 16#ff38 +/Xsmall 16#f778 +/Y 16#0059 +/Yacute 16#00dd +/Yacutesmall 16#f7fd +/Yatcyrillic 16#0462 +/Ycircle 16#24ce +/Ycircumflex 16#0176 +/Ydieresis 16#0178 +/Ydieresissmall 16#f7ff +/Ydotaccent 16#1e8e +/Ydotbelow 16#1ef4 +/Yericyrillic 16#042b +/Yerudieresiscyrillic 16#04f8 +/Ygrave 16#1ef2 +/Yhook 16#01b3 +/Yhookabove 16#1ef6 +/Yiarmenian 16#0545 +/Yicyrillic 16#0407 +/Yiwnarmenian 16#0552 +/Ymonospace 16#ff39 +/Ysmall 16#f779 +/Ytilde 16#1ef8 +/Yusbigcyrillic 16#046a +/Yusbigiotifiedcyrillic 16#046c +/Yuslittlecyrillic 16#0466 +/Yuslittleiotifiedcyrillic 16#0468 +/Z 16#005a +/Zaarmenian 16#0536 +/Zacute 16#0179 +/Zcaron 16#017d +/Zcaronsmall 16#f6ff +/Zcircle 16#24cf +/Zcircumflex 16#1e90 +/Zdot 16#017b +/Zdotaccent 16#017b +/Zdotbelow 16#1e92 +/Zecyrillic 16#0417 +/Zedescendercyrillic 16#0498 +/Zedieresiscyrillic 16#04de +/Zeta 16#0396 +/Zhearmenian 16#053a +/Zhebrevecyrillic 16#04c1 +/Zhecyrillic 16#0416 +/Zhedescendercyrillic 16#0496 +/Zhedieresiscyrillic 16#04dc +/Zlinebelow 16#1e94 +/Zmonospace 16#ff3a +/Zsmall 16#f77a +/Zstroke 16#01b5 +/a 16#0061 +/aabengali 16#0986 +/aacute 16#00e1 +/aadeva 16#0906 +/aagujarati 16#0a86 +/aagurmukhi 16#0a06 +/aamatragurmukhi 16#0a3e +/aarusquare 16#3303 +/aavowelsignbengali 16#09be +/aavowelsigndeva 16#093e +/aavowelsigngujarati 16#0abe +/abbreviationmarkarmenian 16#055f +/abbreviationsigndeva 16#0970 +/abengali 16#0985 +/abopomofo 16#311a +/abreve 16#0103 +/abreveacute 16#1eaf +/abrevecyrillic 16#04d1 +/abrevedotbelow 16#1eb7 +/abrevegrave 16#1eb1 +/abrevehookabove 16#1eb3 +/abrevetilde 16#1eb5 +/acaron 16#01ce +/acircle 16#24d0 +/acircumflex 16#00e2 +/acircumflexacute 16#1ea5 +/acircumflexdotbelow 16#1ead +/acircumflexgrave 16#1ea7 +/acircumflexhookabove 16#1ea9 +/acircumflextilde 16#1eab +/acute 16#00b4 +/acutebelowcmb 16#0317 +/acutecmb 16#0301 +/acutecomb 16#0301 +/acutedeva 16#0954 +/acutelowmod 16#02cf +/acutetonecmb 16#0341 +/acyrillic 16#0430 +/adblgrave 16#0201 +/addakgurmukhi 16#0a71 +/adeva 16#0905 +/adieresis 16#00e4 +/adieresiscyrillic 16#04d3 +/adieresismacron 16#01df +/adotbelow 16#1ea1 +/adotmacron 16#01e1 +/ae 16#00e6 +/aeacute 16#01fd +/aekorean 16#3150 +/aemacron 16#01e3 +/afii00208 16#2015 +/afii08941 16#20a4 +/afii10017 16#0410 +/afii10018 16#0411 +/afii10019 16#0412 +/afii10020 16#0413 +/afii10021 16#0414 +/afii10022 16#0415 +/afii10023 16#0401 +/afii10024 16#0416 +/afii10025 16#0417 +/afii10026 16#0418 +/afii10027 16#0419 +/afii10028 16#041a +/afii10029 16#041b +/afii10030 16#041c +/afii10031 16#041d +/afii10032 16#041e +/afii10033 16#041f +/afii10034 16#0420 +/afii10035 16#0421 +/afii10036 16#0422 +/afii10037 16#0423 +/afii10038 16#0424 +/afii10039 16#0425 +/afii10040 16#0426 +/afii10041 16#0427 +/afii10042 16#0428 +/afii10043 16#0429 +/afii10044 16#042a +/afii10045 16#042b +/afii10046 16#042c +/afii10047 16#042d +/afii10048 16#042e +/afii10049 16#042f +/afii10050 16#0490 +/afii10051 16#0402 +/afii10052 16#0403 +/afii10053 16#0404 +/afii10054 16#0405 +/afii10055 16#0406 +/afii10056 16#0407 +/afii10057 16#0408 +/afii10058 16#0409 +/afii10059 16#040a +/afii10060 16#040b +/afii10061 16#040c +/afii10062 16#040e +/afii10063 16#f6c4 +/afii10064 16#f6c5 +/afii10065 16#0430 +/afii10066 16#0431 +/afii10067 16#0432 +/afii10068 16#0433 +/afii10069 16#0434 +/afii10070 16#0435 +/afii10071 16#0451 +/afii10072 16#0436 +/afii10073 16#0437 +/afii10074 16#0438 +/afii10075 16#0439 +/afii10076 16#043a +/afii10077 16#043b +/afii10078 16#043c +/afii10079 16#043d +/afii10080 16#043e +/afii10081 16#043f +/afii10082 16#0440 +/afii10083 16#0441 +/afii10084 16#0442 +/afii10085 16#0443 +/afii10086 16#0444 +/afii10087 16#0445 +/afii10088 16#0446 +/afii10089 16#0447 +/afii10090 16#0448 +/afii10091 16#0449 +/afii10092 16#044a +/afii10093 16#044b +/afii10094 16#044c +/afii10095 16#044d +/afii10096 16#044e +/afii10097 16#044f +/afii10098 16#0491 +/afii10099 16#0452 +/afii10100 16#0453 +/afii10101 16#0454 +/afii10102 16#0455 +/afii10103 16#0456 +/afii10104 16#0457 +/afii10105 16#0458 +/afii10106 16#0459 +/afii10107 16#045a +/afii10108 16#045b +/afii10109 16#045c +/afii10110 16#045e +/afii10145 16#040f +/afii10146 16#0462 +/afii10147 16#0472 +/afii10148 16#0474 +/afii10192 16#f6c6 +/afii10193 16#045f +/afii10194 16#0463 +/afii10195 16#0473 +/afii10196 16#0475 +/afii10831 16#f6c7 +/afii10832 16#f6c8 +/afii10846 16#04d9 +/afii299 16#200e +/afii300 16#200f +/afii301 16#200d +/afii57381 16#066a +/afii57388 16#060c +/afii57392 16#0660 +/afii57393 16#0661 +/afii57394 16#0662 +/afii57395 16#0663 +/afii57396 16#0664 +/afii57397 16#0665 +/afii57398 16#0666 +/afii57399 16#0667 +/afii57400 16#0668 +/afii57401 16#0669 +/afii57403 16#061b +/afii57407 16#061f +/afii57409 16#0621 +/afii57410 16#0622 +/afii57411 16#0623 +/afii57412 16#0624 +/afii57413 16#0625 +/afii57414 16#0626 +/afii57415 16#0627 +/afii57416 16#0628 +/afii57417 16#0629 +/afii57418 16#062a +/afii57419 16#062b +/afii57420 16#062c +/afii57421 16#062d +/afii57422 16#062e +/afii57423 16#062f +/afii57424 16#0630 +/afii57425 16#0631 +/afii57426 16#0632 +/afii57427 16#0633 +/afii57428 16#0634 +/afii57429 16#0635 +/afii57430 16#0636 +/afii57431 16#0637 +/afii57432 16#0638 +/afii57433 16#0639 +/afii57434 16#063a +/afii57440 16#0640 +/afii57441 16#0641 +/afii57442 16#0642 +/afii57443 16#0643 +/afii57444 16#0644 +/afii57445 16#0645 +/afii57446 16#0646 +/afii57448 16#0648 +/afii57449 16#0649 +/afii57450 16#064a +/afii57451 16#064b +/afii57452 16#064c +/afii57453 16#064d +/afii57454 16#064e +/afii57455 16#064f +/afii57456 16#0650 +/afii57457 16#0651 +/afii57458 16#0652 +/afii57470 16#0647 +/afii57505 16#06a4 +/afii57506 16#067e +/afii57507 16#0686 +/afii57508 16#0698 +/afii57509 16#06af +/afii57511 16#0679 +/afii57512 16#0688 +/afii57513 16#0691 +/afii57514 16#06ba +/afii57519 16#06d2 +/afii57534 16#06d5 +/afii57636 16#20aa +/afii57645 16#05be +/afii57658 16#05c3 +/afii57664 16#05d0 +/afii57665 16#05d1 +/afii57666 16#05d2 +/afii57667 16#05d3 +/afii57668 16#05d4 +/afii57669 16#05d5 +/afii57670 16#05d6 +/afii57671 16#05d7 +/afii57672 16#05d8 +/afii57673 16#05d9 +/afii57674 16#05da +/afii57675 16#05db +/afii57676 16#05dc +/afii57677 16#05dd +/afii57678 16#05de +/afii57679 16#05df +/afii57680 16#05e0 +/afii57681 16#05e1 +/afii57682 16#05e2 +/afii57683 16#05e3 +/afii57684 16#05e4 +/afii57685 16#05e5 +/afii57686 16#05e6 +/afii57687 16#05e7 +/afii57688 16#05e8 +/afii57689 16#05e9 +/afii57690 16#05ea +/afii57694 16#fb2a +/afii57695 16#fb2b +/afii57700 16#fb4b +/afii57705 16#fb1f +/afii57716 16#05f0 +/afii57717 16#05f1 +/afii57718 16#05f2 +/afii57723 16#fb35 +/afii57793 16#05b4 +/afii57794 16#05b5 +/afii57795 16#05b6 +/afii57796 16#05bb +/afii57797 16#05b8 +/afii57798 16#05b7 +/afii57799 16#05b0 +/afii57800 16#05b2 +/afii57801 16#05b1 +/afii57802 16#05b3 +/afii57803 16#05c2 +/afii57804 16#05c1 +/afii57806 16#05b9 +/afii57807 16#05bc +/afii57839 16#05bd +/afii57841 16#05bf +/afii57842 16#05c0 +/afii57929 16#02bc +/afii61248 16#2105 +/afii61289 16#2113 +/afii61352 16#2116 +/afii61573 16#202c +/afii61574 16#202d +/afii61575 16#202e +/afii61664 16#200c +/afii63167 16#066d +/afii64937 16#02bd +/agrave 16#00e0 +/agujarati 16#0a85 +/agurmukhi 16#0a05 +/ahiragana 16#3042 +/ahookabove 16#1ea3 +/aibengali 16#0990 +/aibopomofo 16#311e +/aideva 16#0910 +/aiecyrillic 16#04d5 +/aigujarati 16#0a90 +/aigurmukhi 16#0a10 +/aimatragurmukhi 16#0a48 +/ainarabic 16#0639 +/ainfinalarabic 16#feca +/aininitialarabic 16#fecb +/ainmedialarabic 16#fecc +/ainvertedbreve 16#0203 +/aivowelsignbengali 16#09c8 +/aivowelsigndeva 16#0948 +/aivowelsigngujarati 16#0ac8 +/akatakana 16#30a2 +/akatakanahalfwidth 16#ff71 +/akorean 16#314f +/alef 16#05d0 +/alefarabic 16#0627 +/alefdageshhebrew 16#fb30 +/aleffinalarabic 16#fe8e +/alefhamzaabovearabic 16#0623 +/alefhamzaabovefinalarabic 16#fe84 +/alefhamzabelowarabic 16#0625 +/alefhamzabelowfinalarabic 16#fe88 +/alefhebrew 16#05d0 +/aleflamedhebrew 16#fb4f +/alefmaddaabovearabic 16#0622 +/alefmaddaabovefinalarabic 16#fe82 +/alefmaksuraarabic 16#0649 +/alefmaksurafinalarabic 16#fef0 +/alefmaksurainitialarabic 16#fef3 +/alefmaksuramedialarabic 16#fef4 +/alefpatahhebrew 16#fb2e +/alefqamatshebrew 16#fb2f +/aleph 16#2135 +/allequal 16#224c +/alpha 16#03b1 +/alphatonos 16#03ac +/amacron 16#0101 +/amonospace 16#ff41 +/ampersand 16#0026 +/ampersandmonospace 16#ff06 +/ampersandsmall 16#f726 +/amsquare 16#33c2 +/anbopomofo 16#3122 +/angbopomofo 16#3124 +/angkhankhuthai 16#0e5a +/angle 16#2220 +/anglebracketleft 16#3008 +/anglebracketleftvertical 16#fe3f +/anglebracketright 16#3009 +/anglebracketrightvertical 16#fe40 +/angleleft 16#2329 +/angleright 16#232a +/angstrom 16#212b +/anoteleia 16#0387 +/anudattadeva 16#0952 +/anusvarabengali 16#0982 +/anusvaradeva 16#0902 +/anusvaragujarati 16#0a82 +/aogonek 16#0105 +/apaatosquare 16#3300 +/aparen 16#249c +/apostrophearmenian 16#055a +/apostrophemod 16#02bc +/apple 16#f8ff +/approaches 16#2250 +/approxequal 16#2248 +/approxequalorimage 16#2252 +/approximatelyequal 16#2245 +/araeaekorean 16#318e +/araeakorean 16#318d +/arc 16#2312 +/arighthalfring 16#1e9a +/aring 16#00e5 +/aringacute 16#01fb +/aringbelow 16#1e01 +/arrowboth 16#2194 +/arrowdashdown 16#21e3 +/arrowdashleft 16#21e0 +/arrowdashright 16#21e2 +/arrowdashup 16#21e1 +/arrowdblboth 16#21d4 +/arrowdbldown 16#21d3 +/arrowdblleft 16#21d0 +/arrowdblright 16#21d2 +/arrowdblup 16#21d1 +/arrowdown 16#2193 +/arrowdownleft 16#2199 +/arrowdownright 16#2198 +/arrowdownwhite 16#21e9 +/arrowheaddownmod 16#02c5 +/arrowheadleftmod 16#02c2 +/arrowheadrightmod 16#02c3 +/arrowheadupmod 16#02c4 +/arrowhorizex 16#f8e7 +/arrowleft 16#2190 +/arrowleftdbl 16#21d0 +/arrowleftdblstroke 16#21cd +/arrowleftoverright 16#21c6 +/arrowleftwhite 16#21e6 +/arrowright 16#2192 +/arrowrightdblstroke 16#21cf +/arrowrightheavy 16#279e +/arrowrightoverleft 16#21c4 +/arrowrightwhite 16#21e8 +/arrowtableft 16#21e4 +/arrowtabright 16#21e5 +/arrowup 16#2191 +/arrowupdn 16#2195 +/arrowupdnbse 16#21a8 +/arrowupdownbase 16#21a8 +/arrowupleft 16#2196 +/arrowupleftofdown 16#21c5 +/arrowupright 16#2197 +/arrowupwhite 16#21e7 +/arrowvertex 16#f8e6 +/asciicircum 16#005e +/asciicircummonospace 16#ff3e +/asciitilde 16#007e +/asciitildemonospace 16#ff5e +/ascript 16#0251 +/ascriptturned 16#0252 +/asmallhiragana 16#3041 +/asmallkatakana 16#30a1 +/asmallkatakanahalfwidth 16#ff67 +/asterisk 16#002a +/asteriskaltonearabic 16#066d +/asteriskarabic 16#066d +/asteriskmath 16#2217 +/asteriskmonospace 16#ff0a +/asterisksmall 16#fe61 +/asterism 16#2042 +/asuperior 16#f6e9 +/asymptoticallyequal 16#2243 +/at 16#0040 +/atilde 16#00e3 +/atmonospace 16#ff20 +/atsmall 16#fe6b +/aturned 16#0250 +/aubengali 16#0994 +/aubopomofo 16#3120 +/audeva 16#0914 +/augujarati 16#0a94 +/augurmukhi 16#0a14 +/aulengthmarkbengali 16#09d7 +/aumatragurmukhi 16#0a4c +/auvowelsignbengali 16#09cc +/auvowelsigndeva 16#094c +/auvowelsigngujarati 16#0acc +/avagrahadeva 16#093d +/aybarmenian 16#0561 +/ayin 16#05e2 +/ayinaltonehebrew 16#fb20 +/ayinhebrew 16#05e2 +/b 16#0062 +/babengali 16#09ac +/backslash 16#005c +/backslashmonospace 16#ff3c +/badeva 16#092c +/bagujarati 16#0aac +/bagurmukhi 16#0a2c +/bahiragana 16#3070 +/bahtthai 16#0e3f +/bakatakana 16#30d0 +/bar 16#007c +/barmonospace 16#ff5c +/bbopomofo 16#3105 +/bcircle 16#24d1 +/bdotaccent 16#1e03 +/bdotbelow 16#1e05 +/beamedsixteenthnotes 16#266c +/because 16#2235 +/becyrillic 16#0431 +/beharabic 16#0628 +/behfinalarabic 16#fe90 +/behinitialarabic 16#fe91 +/behiragana 16#3079 +/behmedialarabic 16#fe92 +/behmeeminitialarabic 16#fc9f +/behmeemisolatedarabic 16#fc08 +/behnoonfinalarabic 16#fc6d +/bekatakana 16#30d9 +/benarmenian 16#0562 +/bet 16#05d1 +/beta 16#03b2 +/betasymbolgreek 16#03d0 +/betdagesh 16#fb31 +/betdageshhebrew 16#fb31 +/bethebrew 16#05d1 +/betrafehebrew 16#fb4c +/bhabengali 16#09ad +/bhadeva 16#092d +/bhagujarati 16#0aad +/bhagurmukhi 16#0a2d +/bhook 16#0253 +/bihiragana 16#3073 +/bikatakana 16#30d3 +/bilabialclick 16#0298 +/bindigurmukhi 16#0a02 +/birusquare 16#3331 +/blackcircle 16#25cf +/blackdiamond 16#25c6 +/blackdownpointingtriangle 16#25bc +/blackleftpointingpointer 16#25c4 +/blackleftpointingtriangle 16#25c0 +/blacklenticularbracketleft 16#3010 +/blacklenticularbracketleftvertical 16#fe3b +/blacklenticularbracketright 16#3011 +/blacklenticularbracketrightvertical 16#fe3c +/blacklowerlefttriangle 16#25e3 +/blacklowerrighttriangle 16#25e2 +/blackrectangle 16#25ac +/blackrightpointingpointer 16#25ba +/blackrightpointingtriangle 16#25b6 +/blacksmallsquare 16#25aa +/blacksmilingface 16#263b +/blacksquare 16#25a0 +/blackstar 16#2605 +/blackupperlefttriangle 16#25e4 +/blackupperrighttriangle 16#25e5 +/blackuppointingsmalltriangle 16#25b4 +/blackuppointingtriangle 16#25b2 +/blank 16#2423 +/blinebelow 16#1e07 +/block 16#2588 +/bmonospace 16#ff42 +/bobaimaithai 16#0e1a +/bohiragana 16#307c +/bokatakana 16#30dc +/bparen 16#249d +/bqsquare 16#33c3 +/braceex 16#f8f4 +/braceleft 16#007b +/braceleftbt 16#f8f3 +/braceleftmid 16#f8f2 +/braceleftmonospace 16#ff5b +/braceleftsmall 16#fe5b +/bracelefttp 16#f8f1 +/braceleftvertical 16#fe37 +/braceright 16#007d +/bracerightbt 16#f8fe +/bracerightmid 16#f8fd +/bracerightmonospace 16#ff5d +/bracerightsmall 16#fe5c +/bracerighttp 16#f8fc +/bracerightvertical 16#fe38 +/bracketleft 16#005b +/bracketleftbt 16#f8f0 +/bracketleftex 16#f8ef +/bracketleftmonospace 16#ff3b +/bracketlefttp 16#f8ee +/bracketright 16#005d +/bracketrightbt 16#f8fb +/bracketrightex 16#f8fa +/bracketrightmonospace 16#ff3d +/bracketrighttp 16#f8f9 +/breve 16#02d8 +/brevebelowcmb 16#032e +/brevecmb 16#0306 +/breveinvertedbelowcmb 16#032f +/breveinvertedcmb 16#0311 +/breveinverteddoublecmb 16#0361 +/bridgebelowcmb 16#032a +/bridgeinvertedbelowcmb 16#033a +/brokenbar 16#00a6 +/bstroke 16#0180 +/bsuperior 16#f6ea +/btopbar 16#0183 +/buhiragana 16#3076 +/bukatakana 16#30d6 +/bullet 16#2022 +/bulletinverse 16#25d8 +/bulletoperator 16#2219 +/bullseye 16#25ce +/c 16#0063 +/caarmenian 16#056e +/cabengali 16#099a +/cacute 16#0107 +/cadeva 16#091a +/cagujarati 16#0a9a +/cagurmukhi 16#0a1a +/calsquare 16#3388 +/candrabindubengali 16#0981 +/candrabinducmb 16#0310 +/candrabindudeva 16#0901 +/candrabindugujarati 16#0a81 +/capslock 16#21ea +/careof 16#2105 +/caron 16#02c7 +/caronbelowcmb 16#032c +/caroncmb 16#030c +/carriagereturn 16#21b5 +/cbopomofo 16#3118 +/ccaron 16#010d +/ccedilla 16#00e7 +/ccedillaacute 16#1e09 +/ccircle 16#24d2 +/ccircumflex 16#0109 +/ccurl 16#0255 +/cdot 16#010b +/cdotaccent 16#010b +/cdsquare 16#33c5 +/cedilla 16#00b8 +/cedillacmb 16#0327 +/cent 16#00a2 +/centigrade 16#2103 +/centinferior 16#f6df +/centmonospace 16#ffe0 +/centoldstyle 16#f7a2 +/centsuperior 16#f6e0 +/chaarmenian 16#0579 +/chabengali 16#099b +/chadeva 16#091b +/chagujarati 16#0a9b +/chagurmukhi 16#0a1b +/chbopomofo 16#3114 +/cheabkhasiancyrillic 16#04bd +/checkmark 16#2713 +/checyrillic 16#0447 +/chedescenderabkhasiancyrillic 16#04bf +/chedescendercyrillic 16#04b7 +/chedieresiscyrillic 16#04f5 +/cheharmenian 16#0573 +/chekhakassiancyrillic 16#04cc +/cheverticalstrokecyrillic 16#04b9 +/chi 16#03c7 +/chieuchacirclekorean 16#3277 +/chieuchaparenkorean 16#3217 +/chieuchcirclekorean 16#3269 +/chieuchkorean 16#314a +/chieuchparenkorean 16#3209 +/chochangthai 16#0e0a +/chochanthai 16#0e08 +/chochingthai 16#0e09 +/chochoethai 16#0e0c +/chook 16#0188 +/cieucacirclekorean 16#3276 +/cieucaparenkorean 16#3216 +/cieuccirclekorean 16#3268 +/cieuckorean 16#3148 +/cieucparenkorean 16#3208 +/cieucuparenkorean 16#321c +/circle 16#25cb +/circlemultiply 16#2297 +/circleot 16#2299 +/circleplus 16#2295 +/circlepostalmark 16#3036 +/circlewithlefthalfblack 16#25d0 +/circlewithrighthalfblack 16#25d1 +/circumflex 16#02c6 +/circumflexbelowcmb 16#032d +/circumflexcmb 16#0302 +/clear 16#2327 +/clickalveolar 16#01c2 +/clickdental 16#01c0 +/clicklateral 16#01c1 +/clickretroflex 16#01c3 +/club 16#2663 +/clubsuitblack 16#2663 +/clubsuitwhite 16#2667 +/cmcubedsquare 16#33a4 +/cmonospace 16#ff43 +/cmsquaredsquare 16#33a0 +/coarmenian 16#0581 +/colon 16#003a +/colonmonetary 16#20a1 +/colonmonospace 16#ff1a +/colonsign 16#20a1 +/colonsmall 16#fe55 +/colontriangularhalfmod 16#02d1 +/colontriangularmod 16#02d0 +/comma 16#002c +/commaabovecmb 16#0313 +/commaaboverightcmb 16#0315 +/commaaccent 16#f6c3 +/commaarabic 16#060c +/commaarmenian 16#055d +/commainferior 16#f6e1 +/commamonospace 16#ff0c +/commareversedabovecmb 16#0314 +/commareversedmod 16#02bd +/commasmall 16#fe50 +/commasuperior 16#f6e2 +/commaturnedabovecmb 16#0312 +/commaturnedmod 16#02bb +/compass 16#263c +/congruent 16#2245 +/contourintegral 16#222e +/control 16#2303 +/controlACK 16#0006 +/controlBEL 16#0007 +/controlBS 16#0008 +/controlCAN 16#0018 +/controlCR 16#000d +/controlDC1 16#0011 +/controlDC2 16#0012 +/controlDC3 16#0013 +/controlDC4 16#0014 +/controlDEL 16#007f +/controlDLE 16#0010 +/controlEM 16#0019 +/controlENQ 16#0005 +/controlEOT 16#0004 +/controlESC 16#001b +/controlETB 16#0017 +/controlETX 16#0003 +/controlFF 16#000c +/controlFS 16#001c +/controlGS 16#001d +/controlHT 16#0009 +/controlLF 16#000a +/controlNAK 16#0015 +/controlRS 16#001e +/controlSI 16#000f +/controlSO 16#000e +/controlSOT 16#0002 +/controlSTX 16#0001 +/controlSUB 16#001a +/controlSYN 16#0016 +/controlUS 16#001f +/controlVT 16#000b +/copyright 16#00a9 +/copyrightsans 16#f8e9 +/copyrightserif 16#f6d9 +/cornerbracketleft 16#300c +/cornerbracketlefthalfwidth 16#ff62 +/cornerbracketleftvertical 16#fe41 +/cornerbracketright 16#300d +/cornerbracketrighthalfwidth 16#ff63 +/cornerbracketrightvertical 16#fe42 +/corporationsquare 16#337f +/cosquare 16#33c7 +/coverkgsquare 16#33c6 +/cparen 16#249e +/cruzeiro 16#20a2 +/cstretched 16#0297 +/curlyand 16#22cf +/curlyor 16#22ce +/currency 16#00a4 +/cyrBreve 16#f6d1 +/cyrFlex 16#f6d2 +/cyrbreve 16#f6d4 +/cyrflex 16#f6d5 +/d 16#0064 +/daarmenian 16#0564 +/dabengali 16#09a6 +/dadarabic 16#0636 +/dadeva 16#0926 +/dadfinalarabic 16#febe +/dadinitialarabic 16#febf +/dadmedialarabic 16#fec0 +/dagesh 16#05bc +/dageshhebrew 16#05bc +/dagger 16#2020 +/daggerdbl 16#2021 +/dagujarati 16#0aa6 +/dagurmukhi 16#0a26 +/dahiragana 16#3060 +/dakatakana 16#30c0 +/dalarabic 16#062f +/dalet 16#05d3 +/daletdagesh 16#fb33 +/daletdageshhebrew 16#fb33 +/dalethebrew 16#05d3 +/dalfinalarabic 16#feaa +/dammaarabic 16#064f +/dammalowarabic 16#064f +/dammatanaltonearabic 16#064c +/dammatanarabic 16#064c +/danda 16#0964 +/dargahebrew 16#05a7 +/dargalefthebrew 16#05a7 +/dasiapneumatacyrilliccmb 16#0485 +/dblGrave 16#f6d3 +/dblanglebracketleft 16#300a +/dblanglebracketleftvertical 16#fe3d +/dblanglebracketright 16#300b +/dblanglebracketrightvertical 16#fe3e +/dblarchinvertedbelowcmb 16#032b +/dblarrowleft 16#21d4 +/dblarrowright 16#21d2 +/dbldanda 16#0965 +/dblgrave 16#f6d6 +/dblgravecmb 16#030f +/dblintegral 16#222c +/dbllowline 16#2017 +/dbllowlinecmb 16#0333 +/dbloverlinecmb 16#033f +/dblprimemod 16#02ba +/dblverticalbar 16#2016 +/dblverticallineabovecmb 16#030e +/dbopomofo 16#3109 +/dbsquare 16#33c8 +/dcaron 16#010f +/dcedilla 16#1e11 +/dcircle 16#24d3 +/dcircumflexbelow 16#1e13 +/dcroat 16#0111 +/ddabengali 16#09a1 +/ddadeva 16#0921 +/ddagujarati 16#0aa1 +/ddagurmukhi 16#0a21 +/ddalarabic 16#0688 +/ddalfinalarabic 16#fb89 +/dddhadeva 16#095c +/ddhabengali 16#09a2 +/ddhadeva 16#0922 +/ddhagujarati 16#0aa2 +/ddhagurmukhi 16#0a22 +/ddotaccent 16#1e0b +/ddotbelow 16#1e0d +/decimalseparatorarabic 16#066b +/decimalseparatorpersian 16#066b +/decyrillic 16#0434 +/degree 16#00b0 +/dehihebrew 16#05ad +/dehiragana 16#3067 +/deicoptic 16#03ef +/dekatakana 16#30c7 +/deleteleft 16#232b +/deleteright 16#2326 +/delta 16#03b4 +/deltaturned 16#018d +/denominatorminusonenumeratorbengali 16#09f8 +/dezh 16#02a4 +/dhabengali 16#09a7 +/dhadeva 16#0927 +/dhagujarati 16#0aa7 +/dhagurmukhi 16#0a27 +/dhook 16#0257 +/dialytikatonos 16#0385 +/dialytikatonoscmb 16#0344 +/diamond 16#2666 +/diamondsuitwhite 16#2662 +/dieresis 16#00a8 +/dieresisacute 16#f6d7 +/dieresisbelowcmb 16#0324 +/dieresiscmb 16#0308 +/dieresisgrave 16#f6d8 +/dieresistonos 16#0385 +/dihiragana 16#3062 +/dikatakana 16#30c2 +/dittomark 16#3003 +/divide 16#00f7 +/divides 16#2223 +/divisionslash 16#2215 +/djecyrillic 16#0452 +/dkshade 16#2593 +/dlinebelow 16#1e0f +/dlsquare 16#3397 +/dmacron 16#0111 +/dmonospace 16#ff44 +/dnblock 16#2584 +/dochadathai 16#0e0e +/dodekthai 16#0e14 +/dohiragana 16#3069 +/dokatakana 16#30c9 +/dollar 16#0024 +/dollarinferior 16#f6e3 +/dollarmonospace 16#ff04 +/dollaroldstyle 16#f724 +/dollarsmall 16#fe69 +/dollarsuperior 16#f6e4 +/dong 16#20ab +/dorusquare 16#3326 +/dotaccent 16#02d9 +/dotaccentcmb 16#0307 +/dotbelowcmb 16#0323 +/dotbelowcomb 16#0323 +/dotkatakana 16#30fb +/dotlessi 16#0131 +/dotlessj 16#f6be +/dotlessjstrokehook 16#0284 +/dotmath 16#22c5 +/dottedcircle 16#25cc +/doubleyodpatah 16#fb1f +/doubleyodpatahhebrew 16#fb1f +/downtackbelowcmb 16#031e +/downtackmod 16#02d5 +/dparen 16#249f +/dsuperior 16#f6eb +/dtail 16#0256 +/dtopbar 16#018c +/duhiragana 16#3065 +/dukatakana 16#30c5 +/dz 16#01f3 +/dzaltone 16#02a3 +/dzcaron 16#01c6 +/dzcurl 16#02a5 +/dzeabkhasiancyrillic 16#04e1 +/dzecyrillic 16#0455 +/dzhecyrillic 16#045f +/e 16#0065 +/eacute 16#00e9 +/earth 16#2641 +/ebengali 16#098f +/ebopomofo 16#311c +/ebreve 16#0115 +/ecandradeva 16#090d +/ecandragujarati 16#0a8d +/ecandravowelsigndeva 16#0945 +/ecandravowelsigngujarati 16#0ac5 +/ecaron 16#011b +/ecedillabreve 16#1e1d +/echarmenian 16#0565 +/echyiwnarmenian 16#0587 +/ecircle 16#24d4 +/ecircumflex 16#00ea +/ecircumflexacute 16#1ebf +/ecircumflexbelow 16#1e19 +/ecircumflexdotbelow 16#1ec7 +/ecircumflexgrave 16#1ec1 +/ecircumflexhookabove 16#1ec3 +/ecircumflextilde 16#1ec5 +/ecyrillic 16#0454 +/edblgrave 16#0205 +/edeva 16#090f +/edieresis 16#00eb +/edot 16#0117 +/edotaccent 16#0117 +/edotbelow 16#1eb9 +/eegurmukhi 16#0a0f +/eematragurmukhi 16#0a47 +/efcyrillic 16#0444 +/egrave 16#00e8 +/egujarati 16#0a8f +/eharmenian 16#0567 +/ehbopomofo 16#311d +/ehiragana 16#3048 +/ehookabove 16#1ebb +/eibopomofo 16#311f +/eight 16#0038 +/eightarabic 16#0668 +/eightbengali 16#09ee +/eightcircle 16#2467 +/eightcircleinversesansserif 16#2791 +/eightdeva 16#096e +/eighteencircle 16#2471 +/eighteenparen 16#2485 +/eighteenperiod 16#2499 +/eightgujarati 16#0aee +/eightgurmukhi 16#0a6e +/eighthackarabic 16#0668 +/eighthangzhou 16#3028 +/eighthnotebeamed 16#266b +/eightideographicparen 16#3227 +/eightinferior 16#2088 +/eightmonospace 16#ff18 +/eightoldstyle 16#f738 +/eightparen 16#247b +/eightperiod 16#248f +/eightpersian 16#06f8 +/eightroman 16#2177 +/eightsuperior 16#2078 +/eightthai 16#0e58 +/einvertedbreve 16#0207 +/eiotifiedcyrillic 16#0465 +/ekatakana 16#30a8 +/ekatakanahalfwidth 16#ff74 +/ekonkargurmukhi 16#0a74 +/ekorean 16#3154 +/elcyrillic 16#043b +/element 16#2208 +/elevencircle 16#246a +/elevenparen 16#247e +/elevenperiod 16#2492 +/elevenroman 16#217a +/ellipsis 16#2026 +/ellipsisvertical 16#22ee +/emacron 16#0113 +/emacronacute 16#1e17 +/emacrongrave 16#1e15 +/emcyrillic 16#043c +/emdash 16#2014 +/emdashvertical 16#fe31 +/emonospace 16#ff45 +/emphasismarkarmenian 16#055b +/emptyset 16#2205 +/enbopomofo 16#3123 +/encyrillic 16#043d +/endash 16#2013 +/endashvertical 16#fe32 +/endescendercyrillic 16#04a3 +/eng 16#014b +/engbopomofo 16#3125 +/enghecyrillic 16#04a5 +/enhookcyrillic 16#04c8 +/enspace 16#2002 +/eogonek 16#0119 +/eokorean 16#3153 +/eopen 16#025b +/eopenclosed 16#029a +/eopenreversed 16#025c +/eopenreversedclosed 16#025e +/eopenreversedhook 16#025d +/eparen 16#24a0 +/epsilon 16#03b5 +/epsilontonos 16#03ad +/equal 16#003d +/equalmonospace 16#ff1d +/equalsmall 16#fe66 +/equalsuperior 16#207c +/equivalence 16#2261 +/erbopomofo 16#3126 +/ercyrillic 16#0440 +/ereversed 16#0258 +/ereversedcyrillic 16#044d +/escyrillic 16#0441 +/esdescendercyrillic 16#04ab +/esh 16#0283 +/eshcurl 16#0286 +/eshortdeva 16#090e +/eshortvowelsigndeva 16#0946 +/eshreversedloop 16#01aa +/eshsquatreversed 16#0285 +/esmallhiragana 16#3047 +/esmallkatakana 16#30a7 +/esmallkatakanahalfwidth 16#ff6a +/estimated 16#212e +/esuperior 16#f6ec +/eta 16#03b7 +/etarmenian 16#0568 +/etatonos 16#03ae +/eth 16#00f0 +/etilde 16#1ebd +/etildebelow 16#1e1b +/etnahtafoukhhebrew 16#0591 +/etnahtafoukhlefthebrew 16#0591 +/etnahtahebrew 16#0591 +/etnahtalefthebrew 16#0591 +/eturned 16#01dd +/eukorean 16#3161 +/euro 16#20ac +/evowelsignbengali 16#09c7 +/evowelsigndeva 16#0947 +/evowelsigngujarati 16#0ac7 +/exclam 16#0021 +/exclamarmenian 16#055c +/exclamdbl 16#203c +/exclamdown 16#00a1 +/exclamdownsmall 16#f7a1 +/exclammonospace 16#ff01 +/exclamsmall 16#f721 +/existential 16#2203 +/ezh 16#0292 +/ezhcaron 16#01ef +/ezhcurl 16#0293 +/ezhreversed 16#01b9 +/ezhtail 16#01ba +/f 16#0066 +/fadeva 16#095e +/fagurmukhi 16#0a5e +/fahrenheit 16#2109 +/fathaarabic 16#064e +/fathalowarabic 16#064e +/fathatanarabic 16#064b +/fbopomofo 16#3108 +/fcircle 16#24d5 +/fdotaccent 16#1e1f +/feharabic 16#0641 +/feharmenian 16#0586 +/fehfinalarabic 16#fed2 +/fehinitialarabic 16#fed3 +/fehmedialarabic 16#fed4 +/feicoptic 16#03e5 +/female 16#2640 +/ff 16#fb00 +/ffi 16#fb03 +/ffl 16#fb04 +/fi 16#fb01 +/fifteencircle 16#246e +/fifteenparen 16#2482 +/fifteenperiod 16#2496 +/figuredash 16#2012 +/filledbox 16#25a0 +/filledrect 16#25ac +/finalkaf 16#05da +/finalkafdagesh 16#fb3a +/finalkafdageshhebrew 16#fb3a +/finalkafhebrew 16#05da +/finalmem 16#05dd +/finalmemhebrew 16#05dd +/finalnun 16#05df +/finalnunhebrew 16#05df +/finalpe 16#05e3 +/finalpehebrew 16#05e3 +/finaltsadi 16#05e5 +/finaltsadihebrew 16#05e5 +/firsttonechinese 16#02c9 +/fisheye 16#25c9 +/fitacyrillic 16#0473 +/five 16#0035 +/fivearabic 16#0665 +/fivebengali 16#09eb +/fivecircle 16#2464 +/fivecircleinversesansserif 16#278e +/fivedeva 16#096b +/fiveeighths 16#215d +/fivegujarati 16#0aeb +/fivegurmukhi 16#0a6b +/fivehackarabic 16#0665 +/fivehangzhou 16#3025 +/fiveideographicparen 16#3224 +/fiveinferior 16#2085 +/fivemonospace 16#ff15 +/fiveoldstyle 16#f735 +/fiveparen 16#2478 +/fiveperiod 16#248c +/fivepersian 16#06f5 +/fiveroman 16#2174 +/fivesuperior 16#2075 +/fivethai 16#0e55 +/fl 16#fb02 +/florin 16#0192 +/fmonospace 16#ff46 +/fmsquare 16#3399 +/fofanthai 16#0e1f +/fofathai 16#0e1d +/fongmanthai 16#0e4f +/forall 16#2200 +/four 16#0034 +/fourarabic 16#0664 +/fourbengali 16#09ea +/fourcircle 16#2463 +/fourcircleinversesansserif 16#278d +/fourdeva 16#096a +/fourgujarati 16#0aea +/fourgurmukhi 16#0a6a +/fourhackarabic 16#0664 +/fourhangzhou 16#3024 +/fourideographicparen 16#3223 +/fourinferior 16#2084 +/fourmonospace 16#ff14 +/fournumeratorbengali 16#09f7 +/fouroldstyle 16#f734 +/fourparen 16#2477 +/fourperiod 16#248b +/fourpersian 16#06f4 +/fourroman 16#2173 +/foursuperior 16#2074 +/fourteencircle 16#246d +/fourteenparen 16#2481 +/fourteenperiod 16#2495 +/fourthai 16#0e54 +/fourthtonechinese 16#02cb +/fparen 16#24a1 +/fraction 16#2044 +/franc 16#20a3 +/g 16#0067 +/gabengali 16#0997 +/gacute 16#01f5 +/gadeva 16#0917 +/gafarabic 16#06af +/gaffinalarabic 16#fb93 +/gafinitialarabic 16#fb94 +/gafmedialarabic 16#fb95 +/gagujarati 16#0a97 +/gagurmukhi 16#0a17 +/gahiragana 16#304c +/gakatakana 16#30ac +/gamma 16#03b3 +/gammalatinsmall 16#0263 +/gammasuperior 16#02e0 +/gangiacoptic 16#03eb +/gbopomofo 16#310d +/gbreve 16#011f +/gcaron 16#01e7 +/gcedilla 16#0123 +/gcircle 16#24d6 +/gcircumflex 16#011d +/gcommaaccent 16#0123 +/gdot 16#0121 +/gdotaccent 16#0121 +/gecyrillic 16#0433 +/gehiragana 16#3052 +/gekatakana 16#30b2 +/geometricallyequal 16#2251 +/gereshaccenthebrew 16#059c +/gereshhebrew 16#05f3 +/gereshmuqdamhebrew 16#059d +/germandbls 16#00df +/gershayimaccenthebrew 16#059e +/gershayimhebrew 16#05f4 +/getamark 16#3013 +/ghabengali 16#0998 +/ghadarmenian 16#0572 +/ghadeva 16#0918 +/ghagujarati 16#0a98 +/ghagurmukhi 16#0a18 +/ghainarabic 16#063a +/ghainfinalarabic 16#fece +/ghaininitialarabic 16#fecf +/ghainmedialarabic 16#fed0 +/ghemiddlehookcyrillic 16#0495 +/ghestrokecyrillic 16#0493 +/gheupturncyrillic 16#0491 +/ghhadeva 16#095a +/ghhagurmukhi 16#0a5a +/ghook 16#0260 +/ghzsquare 16#3393 +/gihiragana 16#304e +/gikatakana 16#30ae +/gimarmenian 16#0563 +/gimel 16#05d2 +/gimeldagesh 16#fb32 +/gimeldageshhebrew 16#fb32 +/gimelhebrew 16#05d2 +/gjecyrillic 16#0453 +/glottalinvertedstroke 16#01be +/glottalstop 16#0294 +/glottalstopinverted 16#0296 +/glottalstopmod 16#02c0 +/glottalstopreversed 16#0295 +/glottalstopreversedmod 16#02c1 +/glottalstopreversedsuperior 16#02e4 +/glottalstopstroke 16#02a1 +/glottalstopstrokereversed 16#02a2 +/gmacron 16#1e21 +/gmonospace 16#ff47 +/gohiragana 16#3054 +/gokatakana 16#30b4 +/gparen 16#24a2 +/gpasquare 16#33ac +/gradient 16#2207 +/grave 16#0060 +/gravebelowcmb 16#0316 +/gravecmb 16#0300 +/gravecomb 16#0300 +/gravedeva 16#0953 +/gravelowmod 16#02ce +/gravemonospace 16#ff40 +/gravetonecmb 16#0340 +/greater 16#003e +/greaterequal 16#2265 +/greaterequalorless 16#22db +/greatermonospace 16#ff1e +/greaterorequivalent 16#2273 +/greaterorless 16#2277 +/greateroverequal 16#2267 +/greatersmall 16#fe65 +/gscript 16#0261 +/gstroke 16#01e5 +/guhiragana 16#3050 +/guillemotleft 16#00ab +/guillemotright 16#00bb +/guilsinglleft 16#2039 +/guilsinglright 16#203a +/gukatakana 16#30b0 +/guramusquare 16#3318 +/gysquare 16#33c9 +/h 16#0068 +/haabkhasiancyrillic 16#04a9 +/haaltonearabic 16#06c1 +/habengali 16#09b9 +/hadescendercyrillic 16#04b3 +/hadeva 16#0939 +/hagujarati 16#0ab9 +/hagurmukhi 16#0a39 +/haharabic 16#062d +/hahfinalarabic 16#fea2 +/hahinitialarabic 16#fea3 +/hahiragana 16#306f +/hahmedialarabic 16#fea4 +/haitusquare 16#332a +/hakatakana 16#30cf +/hakatakanahalfwidth 16#ff8a +/halantgurmukhi 16#0a4d +/hamzaarabic 16#0621 +/hamzalowarabic 16#0621 +/hangulfiller 16#3164 +/hardsigncyrillic 16#044a +/harpoonleftbarbup 16#21bc +/harpoonrightbarbup 16#21c0 +/hasquare 16#33ca +/hatafpatah 16#05b2 +/hatafpatah16 16#05b2 +/hatafpatah23 16#05b2 +/hatafpatah2f 16#05b2 +/hatafpatahhebrew 16#05b2 +/hatafpatahnarrowhebrew 16#05b2 +/hatafpatahquarterhebrew 16#05b2 +/hatafpatahwidehebrew 16#05b2 +/hatafqamats 16#05b3 +/hatafqamats1b 16#05b3 +/hatafqamats28 16#05b3 +/hatafqamats34 16#05b3 +/hatafqamatshebrew 16#05b3 +/hatafqamatsnarrowhebrew 16#05b3 +/hatafqamatsquarterhebrew 16#05b3 +/hatafqamatswidehebrew 16#05b3 +/hatafsegol 16#05b1 +/hatafsegol17 16#05b1 +/hatafsegol24 16#05b1 +/hatafsegol30 16#05b1 +/hatafsegolhebrew 16#05b1 +/hatafsegolnarrowhebrew 16#05b1 +/hatafsegolquarterhebrew 16#05b1 +/hatafsegolwidehebrew 16#05b1 +/hbar 16#0127 +/hbopomofo 16#310f +/hbrevebelow 16#1e2b +/hcedilla 16#1e29 +/hcircle 16#24d7 +/hcircumflex 16#0125 +/hdieresis 16#1e27 +/hdotaccent 16#1e23 +/hdotbelow 16#1e25 +/he 16#05d4 +/heart 16#2665 +/heartsuitblack 16#2665 +/heartsuitwhite 16#2661 +/hedagesh 16#fb34 +/hedageshhebrew 16#fb34 +/hehaltonearabic 16#06c1 +/heharabic 16#0647 +/hehebrew 16#05d4 +/hehfinalaltonearabic 16#fba7 +/hehfinalalttwoarabic 16#feea +/hehfinalarabic 16#feea +/hehhamzaabovefinalarabic 16#fba5 +/hehhamzaaboveisolatedarabic 16#fba4 +/hehinitialaltonearabic 16#fba8 +/hehinitialarabic 16#feeb +/hehiragana 16#3078 +/hehmedialaltonearabic 16#fba9 +/hehmedialarabic 16#feec +/heiseierasquare 16#337b +/hekatakana 16#30d8 +/hekatakanahalfwidth 16#ff8d +/hekutaarusquare 16#3336 +/henghook 16#0267 +/herutusquare 16#3339 +/het 16#05d7 +/hethebrew 16#05d7 +/hhook 16#0266 +/hhooksuperior 16#02b1 +/hieuhacirclekorean 16#327b +/hieuhaparenkorean 16#321b +/hieuhcirclekorean 16#326d +/hieuhkorean 16#314e +/hieuhparenkorean 16#320d +/hihiragana 16#3072 +/hikatakana 16#30d2 +/hikatakanahalfwidth 16#ff8b +/hiriq 16#05b4 +/hiriq14 16#05b4 +/hiriq21 16#05b4 +/hiriq2d 16#05b4 +/hiriqhebrew 16#05b4 +/hiriqnarrowhebrew 16#05b4 +/hiriqquarterhebrew 16#05b4 +/hiriqwidehebrew 16#05b4 +/hlinebelow 16#1e96 +/hmonospace 16#ff48 +/hoarmenian 16#0570 +/hohipthai 16#0e2b +/hohiragana 16#307b +/hokatakana 16#30db +/hokatakanahalfwidth 16#ff8e +/holam 16#05b9 +/holam19 16#05b9 +/holam26 16#05b9 +/holam32 16#05b9 +/holamhebrew 16#05b9 +/holamnarrowhebrew 16#05b9 +/holamquarterhebrew 16#05b9 +/holamwidehebrew 16#05b9 +/honokhukthai 16#0e2e +/hookabovecomb 16#0309 +/hookcmb 16#0309 +/hookpalatalizedbelowcmb 16#0321 +/hookretroflexbelowcmb 16#0322 +/hoonsquare 16#3342 +/horicoptic 16#03e9 +/horizontalbar 16#2015 +/horncmb 16#031b +/hotsprings 16#2668 +/house 16#2302 +/hparen 16#24a3 +/hsuperior 16#02b0 +/hturned 16#0265 +/huhiragana 16#3075 +/huiitosquare 16#3333 +/hukatakana 16#30d5 +/hukatakanahalfwidth 16#ff8c +/hungarumlaut 16#02dd +/hungarumlautcmb 16#030b +/hv 16#0195 +/hyphen 16#002d +/hypheninferior 16#f6e5 +/hyphenmonospace 16#ff0d +/hyphensmall 16#fe63 +/hyphensuperior 16#f6e6 +/hyphentwo 16#2010 +/i 16#0069 +/iacute 16#00ed +/iacyrillic 16#044f +/ibengali 16#0987 +/ibopomofo 16#3127 +/ibreve 16#012d +/icaron 16#01d0 +/icircle 16#24d8 +/icircumflex 16#00ee +/icyrillic 16#0456 +/idblgrave 16#0209 +/ideographearthcircle 16#328f +/ideographfirecircle 16#328b +/ideographicallianceparen 16#323f +/ideographiccallparen 16#323a +/ideographiccentrecircle 16#32a5 +/ideographicclose 16#3006 +/ideographiccomma 16#3001 +/ideographiccommaleft 16#ff64 +/ideographiccongratulationparen 16#3237 +/ideographiccorrectcircle 16#32a3 +/ideographicearthparen 16#322f +/ideographicenterpriseparen 16#323d +/ideographicexcellentcircle 16#329d +/ideographicfestivalparen 16#3240 +/ideographicfinancialcircle 16#3296 +/ideographicfinancialparen 16#3236 +/ideographicfireparen 16#322b +/ideographichaveparen 16#3232 +/ideographichighcircle 16#32a4 +/ideographiciterationmark 16#3005 +/ideographiclaborcircle 16#3298 +/ideographiclaborparen 16#3238 +/ideographicleftcircle 16#32a7 +/ideographiclowcircle 16#32a6 +/ideographicmedicinecircle 16#32a9 +/ideographicmetalparen 16#322e +/ideographicmoonparen 16#322a +/ideographicnameparen 16#3234 +/ideographicperiod 16#3002 +/ideographicprintcircle 16#329e +/ideographicreachparen 16#3243 +/ideographicrepresentparen 16#3239 +/ideographicresourceparen 16#323e +/ideographicrightcircle 16#32a8 +/ideographicsecretcircle 16#3299 +/ideographicselfparen 16#3242 +/ideographicsocietyparen 16#3233 +/ideographicspace 16#3000 +/ideographicspecialparen 16#3235 +/ideographicstockparen 16#3231 +/ideographicstudyparen 16#323b +/ideographicsunparen 16#3230 +/ideographicsuperviseparen 16#323c +/ideographicwaterparen 16#322c +/ideographicwoodparen 16#322d +/ideographiczero 16#3007 +/ideographmetalcircle 16#328e +/ideographmooncircle 16#328a +/ideographnamecircle 16#3294 +/ideographsuncircle 16#3290 +/ideographwatercircle 16#328c +/ideographwoodcircle 16#328d +/ideva 16#0907 +/idieresis 16#00ef +/idieresisacute 16#1e2f +/idieresiscyrillic 16#04e5 +/idotbelow 16#1ecb +/iebrevecyrillic 16#04d7 +/iecyrillic 16#0435 +/ieungacirclekorean 16#3275 +/ieungaparenkorean 16#3215 +/ieungcirclekorean 16#3267 +/ieungkorean 16#3147 +/ieungparenkorean 16#3207 +/igrave 16#00ec +/igujarati 16#0a87 +/igurmukhi 16#0a07 +/ihiragana 16#3044 +/ihookabove 16#1ec9 +/iibengali 16#0988 +/iicyrillic 16#0438 +/iideva 16#0908 +/iigujarati 16#0a88 +/iigurmukhi 16#0a08 +/iimatragurmukhi 16#0a40 +/iinvertedbreve 16#020b +/iishortcyrillic 16#0439 +/iivowelsignbengali 16#09c0 +/iivowelsigndeva 16#0940 +/iivowelsigngujarati 16#0ac0 +/ij 16#0133 +/ikatakana 16#30a4 +/ikatakanahalfwidth 16#ff72 +/ikorean 16#3163 +/ilde 16#02dc +/iluyhebrew 16#05ac +/imacron 16#012b +/imacroncyrillic 16#04e3 +/imageorapproximatelyequal 16#2253 +/imatragurmukhi 16#0a3f +/imonospace 16#ff49 +/increment 16#2206 +/infinity 16#221e +/iniarmenian 16#056b +/integral 16#222b +/integralbottom 16#2321 +/integralbt 16#2321 +/integralex 16#f8f5 +/integraltop 16#2320 +/integraltp 16#2320 +/intersection 16#2229 +/intisquare 16#3305 +/invbullet 16#25d8 +/invcircle 16#25d9 +/invsmileface 16#263b +/iocyrillic 16#0451 +/iogonek 16#012f +/iota 16#03b9 +/iotadieresis 16#03ca +/iotadieresistonos 16#0390 +/iotalatin 16#0269 +/iotatonos 16#03af +/iparen 16#24a4 +/irigurmukhi 16#0a72 +/ismallhiragana 16#3043 +/ismallkatakana 16#30a3 +/ismallkatakanahalfwidth 16#ff68 +/issharbengali 16#09fa +/istroke 16#0268 +/isuperior 16#f6ed +/iterationhiragana 16#309d +/iterationkatakana 16#30fd +/itilde 16#0129 +/itildebelow 16#1e2d +/iubopomofo 16#3129 +/iucyrillic 16#044e +/ivowelsignbengali 16#09bf +/ivowelsigndeva 16#093f +/ivowelsigngujarati 16#0abf +/izhitsacyrillic 16#0475 +/izhitsadblgravecyrillic 16#0477 +/j 16#006a +/jaarmenian 16#0571 +/jabengali 16#099c +/jadeva 16#091c +/jagujarati 16#0a9c +/jagurmukhi 16#0a1c +/jbopomofo 16#3110 +/jcaron 16#01f0 +/jcircle 16#24d9 +/jcircumflex 16#0135 +/jcrossedtail 16#029d +/jdotlessstroke 16#025f +/jecyrillic 16#0458 +/jeemarabic 16#062c +/jeemfinalarabic 16#fe9e +/jeeminitialarabic 16#fe9f +/jeemmedialarabic 16#fea0 +/jeharabic 16#0698 +/jehfinalarabic 16#fb8b +/jhabengali 16#099d +/jhadeva 16#091d +/jhagujarati 16#0a9d +/jhagurmukhi 16#0a1d +/jheharmenian 16#057b +/jis 16#3004 +/jmonospace 16#ff4a +/jparen 16#24a5 +/jsuperior 16#02b2 +/k 16#006b +/kabashkircyrillic 16#04a1 +/kabengali 16#0995 +/kacute 16#1e31 +/kacyrillic 16#043a +/kadescendercyrillic 16#049b +/kadeva 16#0915 +/kaf 16#05db +/kafarabic 16#0643 +/kafdagesh 16#fb3b +/kafdageshhebrew 16#fb3b +/kaffinalarabic 16#feda +/kafhebrew 16#05db +/kafinitialarabic 16#fedb +/kafmedialarabic 16#fedc +/kafrafehebrew 16#fb4d +/kagujarati 16#0a95 +/kagurmukhi 16#0a15 +/kahiragana 16#304b +/kahookcyrillic 16#04c4 +/kakatakana 16#30ab +/kakatakanahalfwidth 16#ff76 +/kappa 16#03ba +/kappasymbolgreek 16#03f0 +/kapyeounmieumkorean 16#3171 +/kapyeounphieuphkorean 16#3184 +/kapyeounpieupkorean 16#3178 +/kapyeounssangpieupkorean 16#3179 +/karoriisquare 16#330d +/kashidaautoarabic 16#0640 +/kashidaautonosidebearingarabic 16#0640 +/kasmallkatakana 16#30f5 +/kasquare 16#3384 +/kasraarabic 16#0650 +/kasratanarabic 16#064d +/kastrokecyrillic 16#049f +/katahiraprolongmarkhalfwidth 16#ff70 +/kaverticalstrokecyrillic 16#049d +/kbopomofo 16#310e +/kcalsquare 16#3389 +/kcaron 16#01e9 +/kcedilla 16#0137 +/kcircle 16#24da +/kcommaaccent 16#0137 +/kdotbelow 16#1e33 +/keharmenian 16#0584 +/kehiragana 16#3051 +/kekatakana 16#30b1 +/kekatakanahalfwidth 16#ff79 +/kenarmenian 16#056f +/kesmallkatakana 16#30f6 +/kgreenlandic 16#0138 +/khabengali 16#0996 +/khacyrillic 16#0445 +/khadeva 16#0916 +/khagujarati 16#0a96 +/khagurmukhi 16#0a16 +/khaharabic 16#062e +/khahfinalarabic 16#fea6 +/khahinitialarabic 16#fea7 +/khahmedialarabic 16#fea8 +/kheicoptic 16#03e7 +/khhadeva 16#0959 +/khhagurmukhi 16#0a59 +/khieukhacirclekorean 16#3278 +/khieukhaparenkorean 16#3218 +/khieukhcirclekorean 16#326a +/khieukhkorean 16#314b +/khieukhparenkorean 16#320a +/khokhaithai 16#0e02 +/khokhonthai 16#0e05 +/khokhuatthai 16#0e03 +/khokhwaithai 16#0e04 +/khomutthai 16#0e5b +/khook 16#0199 +/khorakhangthai 16#0e06 +/khzsquare 16#3391 +/kihiragana 16#304d +/kikatakana 16#30ad +/kikatakanahalfwidth 16#ff77 +/kiroguramusquare 16#3315 +/kiromeetorusquare 16#3316 +/kirosquare 16#3314 +/kiyeokacirclekorean 16#326e +/kiyeokaparenkorean 16#320e +/kiyeokcirclekorean 16#3260 +/kiyeokkorean 16#3131 +/kiyeokparenkorean 16#3200 +/kiyeoksioskorean 16#3133 +/kjecyrillic 16#045c +/klinebelow 16#1e35 +/klsquare 16#3398 +/kmcubedsquare 16#33a6 +/kmonospace 16#ff4b +/kmsquaredsquare 16#33a2 +/kohiragana 16#3053 +/kohmsquare 16#33c0 +/kokaithai 16#0e01 +/kokatakana 16#30b3 +/kokatakanahalfwidth 16#ff7a +/kooposquare 16#331e +/koppacyrillic 16#0481 +/koreanstandardsymbol 16#327f +/koroniscmb 16#0343 +/kparen 16#24a6 +/kpasquare 16#33aa +/ksicyrillic 16#046f +/ktsquare 16#33cf +/kturned 16#029e +/kuhiragana 16#304f +/kukatakana 16#30af +/kukatakanahalfwidth 16#ff78 +/kvsquare 16#33b8 +/kwsquare 16#33be +/l 16#006c +/labengali 16#09b2 +/lacute 16#013a +/ladeva 16#0932 +/lagujarati 16#0ab2 +/lagurmukhi 16#0a32 +/lakkhangyaothai 16#0e45 +/lamaleffinalarabic 16#fefc +/lamalefhamzaabovefinalarabic 16#fef8 +/lamalefhamzaaboveisolatedarabic 16#fef7 +/lamalefhamzabelowfinalarabic 16#fefa +/lamalefhamzabelowisolatedarabic 16#fef9 +/lamalefisolatedarabic 16#fefb +/lamalefmaddaabovefinalarabic 16#fef6 +/lamalefmaddaaboveisolatedarabic 16#fef5 +/lamarabic 16#0644 +/lambda 16#03bb +/lambdastroke 16#019b +/lamed 16#05dc +/lameddagesh 16#fb3c +/lameddageshhebrew 16#fb3c +/lamedhebrew 16#05dc +/lamfinalarabic 16#fede +/lamhahinitialarabic 16#fcca +/laminitialarabic 16#fedf +/lamjeeminitialarabic 16#fcc9 +/lamkhahinitialarabic 16#fccb +/lamlamhehisolatedarabic 16#fdf2 +/lammedialarabic 16#fee0 +/lammeemhahinitialarabic 16#fd88 +/lammeeminitialarabic 16#fccc +/largecircle 16#25ef +/lbar 16#019a +/lbelt 16#026c +/lbopomofo 16#310c +/lcaron 16#013e +/lcedilla 16#013c +/lcircle 16#24db +/lcircumflexbelow 16#1e3d +/lcommaaccent 16#013c +/ldot 16#0140 +/ldotaccent 16#0140 +/ldotbelow 16#1e37 +/ldotbelowmacron 16#1e39 +/leftangleabovecmb 16#031a +/lefttackbelowcmb 16#0318 +/less 16#003c +/lessequal 16#2264 +/lessequalorgreater 16#22da +/lessmonospace 16#ff1c +/lessorequivalent 16#2272 +/lessorgreater 16#2276 +/lessoverequal 16#2266 +/lesssmall 16#fe64 +/lezh 16#026e +/lfblock 16#258c +/lhookretroflex 16#026d +/lira 16#20a4 +/liwnarmenian 16#056c +/lj 16#01c9 +/ljecyrillic 16#0459 +/ll 16#f6c0 +/lladeva 16#0933 +/llagujarati 16#0ab3 +/llinebelow 16#1e3b +/llladeva 16#0934 +/llvocalicbengali 16#09e1 +/llvocalicdeva 16#0961 +/llvocalicvowelsignbengali 16#09e3 +/llvocalicvowelsigndeva 16#0963 +/lmiddletilde 16#026b +/lmonospace 16#ff4c +/lmsquare 16#33d0 +/lochulathai 16#0e2c +/logicaland 16#2227 +/logicalnot 16#00ac +/logicalnotreversed 16#2310 +/logicalor 16#2228 +/lolingthai 16#0e25 +/longs 16#017f +/lowlinecenterline 16#fe4e +/lowlinecmb 16#0332 +/lowlinedashed 16#fe4d +/lozenge 16#25ca +/lparen 16#24a7 +/lslash 16#0142 +/lsquare 16#2113 +/lsuperior 16#f6ee +/ltshade 16#2591 +/luthai 16#0e26 +/lvocalicbengali 16#098c +/lvocalicdeva 16#090c +/lvocalicvowelsignbengali 16#09e2 +/lvocalicvowelsigndeva 16#0962 +/lxsquare 16#33d3 +/m 16#006d +/mabengali 16#09ae +/macron 16#00af +/macronbelowcmb 16#0331 +/macroncmb 16#0304 +/macronlowmod 16#02cd +/macronmonospace 16#ffe3 +/macute 16#1e3f +/madeva 16#092e +/magujarati 16#0aae +/magurmukhi 16#0a2e +/mahapakhhebrew 16#05a4 +/mahapakhlefthebrew 16#05a4 +/mahiragana 16#307e +/maichattawalowleftthai 16#f895 +/maichattawalowrightthai 16#f894 +/maichattawathai 16#0e4b +/maichattawaupperleftthai 16#f893 +/maieklowleftthai 16#f88c +/maieklowrightthai 16#f88b +/maiekthai 16#0e48 +/maiekupperleftthai 16#f88a +/maihanakatleftthai 16#f884 +/maihanakatthai 16#0e31 +/maitaikhuleftthai 16#f889 +/maitaikhuthai 16#0e47 +/maitholowleftthai 16#f88f +/maitholowrightthai 16#f88e +/maithothai 16#0e49 +/maithoupperleftthai 16#f88d +/maitrilowleftthai 16#f892 +/maitrilowrightthai 16#f891 +/maitrithai 16#0e4a +/maitriupperleftthai 16#f890 +/maiyamokthai 16#0e46 +/makatakana 16#30de +/makatakanahalfwidth 16#ff8f +/male 16#2642 +/mansyonsquare 16#3347 +/maqafhebrew 16#05be +/mars 16#2642 +/masoracirclehebrew 16#05af +/masquare 16#3383 +/mbopomofo 16#3107 +/mbsquare 16#33d4 +/mcircle 16#24dc +/mcubedsquare 16#33a5 +/mdotaccent 16#1e41 +/mdotbelow 16#1e43 +/meemarabic 16#0645 +/meemfinalarabic 16#fee2 +/meeminitialarabic 16#fee3 +/meemmedialarabic 16#fee4 +/meemmeeminitialarabic 16#fcd1 +/meemmeemisolatedarabic 16#fc48 +/meetorusquare 16#334d +/mehiragana 16#3081 +/meizierasquare 16#337e +/mekatakana 16#30e1 +/mekatakanahalfwidth 16#ff92 +/mem 16#05de +/memdagesh 16#fb3e +/memdageshhebrew 16#fb3e +/memhebrew 16#05de +/menarmenian 16#0574 +/merkhahebrew 16#05a5 +/merkhakefulahebrew 16#05a6 +/merkhakefulalefthebrew 16#05a6 +/merkhalefthebrew 16#05a5 +/mhook 16#0271 +/mhzsquare 16#3392 +/middledotkatakanahalfwidth 16#ff65 +/middot 16#00b7 +/mieumacirclekorean 16#3272 +/mieumaparenkorean 16#3212 +/mieumcirclekorean 16#3264 +/mieumkorean 16#3141 +/mieumpansioskorean 16#3170 +/mieumparenkorean 16#3204 +/mieumpieupkorean 16#316e +/mieumsioskorean 16#316f +/mihiragana 16#307f +/mikatakana 16#30df +/mikatakanahalfwidth 16#ff90 +/minus 16#2212 +/minusbelowcmb 16#0320 +/minuscircle 16#2296 +/minusmod 16#02d7 +/minusplus 16#2213 +/minute 16#2032 +/miribaarusquare 16#334a +/mirisquare 16#3349 +/mlonglegturned 16#0270 +/mlsquare 16#3396 +/mmcubedsquare 16#33a3 +/mmonospace 16#ff4d +/mmsquaredsquare 16#339f +/mohiragana 16#3082 +/mohmsquare 16#33c1 +/mokatakana 16#30e2 +/mokatakanahalfwidth 16#ff93 +/molsquare 16#33d6 +/momathai 16#0e21 +/moverssquare 16#33a7 +/moverssquaredsquare 16#33a8 +/mparen 16#24a8 +/mpasquare 16#33ab +/mssquare 16#33b3 +/msuperior 16#f6ef +/mturned 16#026f +/mu 16#00b5 +/mu1 16#00b5 +/muasquare 16#3382 +/muchgreater 16#226b +/muchless 16#226a +/mufsquare 16#338c +/mugreek 16#03bc +/mugsquare 16#338d +/muhiragana 16#3080 +/mukatakana 16#30e0 +/mukatakanahalfwidth 16#ff91 +/mulsquare 16#3395 +/multiply 16#00d7 +/mumsquare 16#339b +/munahhebrew 16#05a3 +/munahlefthebrew 16#05a3 +/musicalnote 16#266a +/musicalnotedbl 16#266b +/musicflatsign 16#266d +/musicsharpsign 16#266f +/mussquare 16#33b2 +/muvsquare 16#33b6 +/muwsquare 16#33bc +/mvmegasquare 16#33b9 +/mvsquare 16#33b7 +/mwmegasquare 16#33bf +/mwsquare 16#33bd +/n 16#006e +/nabengali 16#09a8 +/nabla 16#2207 +/nacute 16#0144 +/nadeva 16#0928 +/nagujarati 16#0aa8 +/nagurmukhi 16#0a28 +/nahiragana 16#306a +/nakatakana 16#30ca +/nakatakanahalfwidth 16#ff85 +/napostrophe 16#0149 +/nasquare 16#3381 +/nbopomofo 16#310b +/nbspace 16#00a0 +/ncaron 16#0148 +/ncedilla 16#0146 +/ncircle 16#24dd +/ncircumflexbelow 16#1e4b +/ncommaaccent 16#0146 +/ndotaccent 16#1e45 +/ndotbelow 16#1e47 +/nehiragana 16#306d +/nekatakana 16#30cd +/nekatakanahalfwidth 16#ff88 +/newsheqelsign 16#20aa +/nfsquare 16#338b +/ngabengali 16#0999 +/ngadeva 16#0919 +/ngagujarati 16#0a99 +/ngagurmukhi 16#0a19 +/ngonguthai 16#0e07 +/nhiragana 16#3093 +/nhookleft 16#0272 +/nhookretroflex 16#0273 +/nieunacirclekorean 16#326f +/nieunaparenkorean 16#320f +/nieuncieuckorean 16#3135 +/nieuncirclekorean 16#3261 +/nieunhieuhkorean 16#3136 +/nieunkorean 16#3134 +/nieunpansioskorean 16#3168 +/nieunparenkorean 16#3201 +/nieunsioskorean 16#3167 +/nieuntikeutkorean 16#3166 +/nihiragana 16#306b +/nikatakana 16#30cb +/nikatakanahalfwidth 16#ff86 +/nikhahitleftthai 16#f899 +/nikhahitthai 16#0e4d +/nine 16#0039 +/ninearabic 16#0669 +/ninebengali 16#09ef +/ninecircle 16#2468 +/ninecircleinversesansserif 16#2792 +/ninedeva 16#096f +/ninegujarati 16#0aef +/ninegurmukhi 16#0a6f +/ninehackarabic 16#0669 +/ninehangzhou 16#3029 +/nineideographicparen 16#3228 +/nineinferior 16#2089 +/ninemonospace 16#ff19 +/nineoldstyle 16#f739 +/nineparen 16#247c +/nineperiod 16#2490 +/ninepersian 16#06f9 +/nineroman 16#2178 +/ninesuperior 16#2079 +/nineteencircle 16#2472 +/nineteenparen 16#2486 +/nineteenperiod 16#249a +/ninethai 16#0e59 +/nj 16#01cc +/njecyrillic 16#045a +/nkatakana 16#30f3 +/nkatakanahalfwidth 16#ff9d +/nlegrightlong 16#019e +/nlinebelow 16#1e49 +/nmonospace 16#ff4e +/nmsquare 16#339a +/nnabengali 16#09a3 +/nnadeva 16#0923 +/nnagujarati 16#0aa3 +/nnagurmukhi 16#0a23 +/nnnadeva 16#0929 +/nohiragana 16#306e +/nokatakana 16#30ce +/nokatakanahalfwidth 16#ff89 +/nonbreakingspace 16#00a0 +/nonenthai 16#0e13 +/nonuthai 16#0e19 +/noonarabic 16#0646 +/noonfinalarabic 16#fee6 +/noonghunnaarabic 16#06ba +/noonghunnafinalarabic 16#fb9f +/nooninitialarabic 16#fee7 +/noonjeeminitialarabic 16#fcd2 +/noonjeemisolatedarabic 16#fc4b +/noonmedialarabic 16#fee8 +/noonmeeminitialarabic 16#fcd5 +/noonmeemisolatedarabic 16#fc4e +/noonnoonfinalarabic 16#fc8d +/notcontains 16#220c +/notelement 16#2209 +/notelementof 16#2209 +/notequal 16#2260 +/notgreater 16#226f +/notgreaternorequal 16#2271 +/notgreaternorless 16#2279 +/notidentical 16#2262 +/notless 16#226e +/notlessnorequal 16#2270 +/notparallel 16#2226 +/notprecedes 16#2280 +/notsubset 16#2284 +/notsucceeds 16#2281 +/notsuperset 16#2285 +/nowarmenian 16#0576 +/nparen 16#24a9 +/nssquare 16#33b1 +/nsuperior 16#207f +/ntilde 16#00f1 +/nu 16#03bd +/nuhiragana 16#306c +/nukatakana 16#30cc +/nukatakanahalfwidth 16#ff87 +/nuktabengali 16#09bc +/nuktadeva 16#093c +/nuktagujarati 16#0abc +/nuktagurmukhi 16#0a3c +/numbersign 16#0023 +/numbersignmonospace 16#ff03 +/numbersignsmall 16#fe5f +/numeralsigngreek 16#0374 +/numeralsignlowergreek 16#0375 +/numero 16#2116 +/nun 16#05e0 +/nundagesh 16#fb40 +/nundageshhebrew 16#fb40 +/nunhebrew 16#05e0 +/nvsquare 16#33b5 +/nwsquare 16#33bb +/nyabengali 16#099e +/nyadeva 16#091e +/nyagujarati 16#0a9e +/nyagurmukhi 16#0a1e +/o 16#006f +/oacute 16#00f3 +/oangthai 16#0e2d +/obarred 16#0275 +/obarredcyrillic 16#04e9 +/obarreddieresiscyrillic 16#04eb +/obengali 16#0993 +/obopomofo 16#311b +/obreve 16#014f +/ocandradeva 16#0911 +/ocandragujarati 16#0a91 +/ocandravowelsigndeva 16#0949 +/ocandravowelsigngujarati 16#0ac9 +/ocaron 16#01d2 +/ocircle 16#24de +/ocircumflex 16#00f4 +/ocircumflexacute 16#1ed1 +/ocircumflexdotbelow 16#1ed9 +/ocircumflexgrave 16#1ed3 +/ocircumflexhookabove 16#1ed5 +/ocircumflextilde 16#1ed7 +/ocyrillic 16#043e +/odblacute 16#0151 +/odblgrave 16#020d +/odeva 16#0913 +/odieresis 16#00f6 +/odieresiscyrillic 16#04e7 +/odotbelow 16#1ecd +/oe 16#0153 +/oekorean 16#315a +/ogonek 16#02db +/ogonekcmb 16#0328 +/ograve 16#00f2 +/ogujarati 16#0a93 +/oharmenian 16#0585 +/ohiragana 16#304a +/ohookabove 16#1ecf +/ohorn 16#01a1 +/ohornacute 16#1edb +/ohorndotbelow 16#1ee3 +/ohorngrave 16#1edd +/ohornhookabove 16#1edf +/ohorntilde 16#1ee1 +/ohungarumlaut 16#0151 +/oi 16#01a3 +/oinvertedbreve 16#020f +/okatakana 16#30aa +/okatakanahalfwidth 16#ff75 +/okorean 16#3157 +/olehebrew 16#05ab +/omacron 16#014d +/omacronacute 16#1e53 +/omacrongrave 16#1e51 +/omdeva 16#0950 +/omega 16#03c9 +/omega1 16#03d6 +/omegacyrillic 16#0461 +/omegalatinclosed 16#0277 +/omegaroundcyrillic 16#047b +/omegatitlocyrillic 16#047d +/omegatonos 16#03ce +/omgujarati 16#0ad0 +/omicron 16#03bf +/omicrontonos 16#03cc +/omonospace 16#ff4f +/one 16#0031 +/onearabic 16#0661 +/onebengali 16#09e7 +/onecircle 16#2460 +/onecircleinversesansserif 16#278a +/onedeva 16#0967 +/onedotenleader 16#2024 +/oneeighth 16#215b +/onefitted 16#f6dc +/onegujarati 16#0ae7 +/onegurmukhi 16#0a67 +/onehackarabic 16#0661 +/onehalf 16#00bd +/onehangzhou 16#3021 +/oneideographicparen 16#3220 +/oneinferior 16#2081 +/onemonospace 16#ff11 +/onenumeratorbengali 16#09f4 +/oneoldstyle 16#f731 +/oneparen 16#2474 +/oneperiod 16#2488 +/onepersian 16#06f1 +/onequarter 16#00bc +/oneroman 16#2170 +/onesuperior 16#00b9 +/onethai 16#0e51 +/onethird 16#2153 +/oogonek 16#01eb +/oogonekmacron 16#01ed +/oogurmukhi 16#0a13 +/oomatragurmukhi 16#0a4b +/oopen 16#0254 +/oparen 16#24aa +/openbullet 16#25e6 +/option 16#2325 +/ordfeminine 16#00aa +/ordmasculine 16#00ba +/orthogonal 16#221f +/oshortdeva 16#0912 +/oshortvowelsigndeva 16#094a +/oslash 16#00f8 +/oslashacute 16#01ff +/osmallhiragana 16#3049 +/osmallkatakana 16#30a9 +/osmallkatakanahalfwidth 16#ff6b +/ostrokeacute 16#01ff +/osuperior 16#f6f0 +/otcyrillic 16#047f +/otilde 16#00f5 +/otildeacute 16#1e4d +/otildedieresis 16#1e4f +/oubopomofo 16#3121 +/overline 16#203e +/overlinecenterline 16#fe4a +/overlinecmb 16#0305 +/overlinedashed 16#fe49 +/overlinedblwavy 16#fe4c +/overlinewavy 16#fe4b +/overscore 16#00af +/ovowelsignbengali 16#09cb +/ovowelsigndeva 16#094b +/ovowelsigngujarati 16#0acb +/p 16#0070 +/paampssquare 16#3380 +/paasentosquare 16#332b +/pabengali 16#09aa +/pacute 16#1e55 +/padeva 16#092a +/pagedown 16#21df +/pageup 16#21de +/pagujarati 16#0aaa +/pagurmukhi 16#0a2a +/pahiragana 16#3071 +/paiyannoithai 16#0e2f +/pakatakana 16#30d1 +/palatalizationcyrilliccmb 16#0484 +/palochkacyrillic 16#04c0 +/pansioskorean 16#317f +/paragraph 16#00b6 +/parallel 16#2225 +/parenleft 16#0028 +/parenleftaltonearabic 16#fd3e +/parenleftbt 16#f8ed +/parenleftex 16#f8ec +/parenleftinferior 16#208d +/parenleftmonospace 16#ff08 +/parenleftsmall 16#fe59 +/parenleftsuperior 16#207d +/parenlefttp 16#f8eb +/parenleftvertical 16#fe35 +/parenright 16#0029 +/parenrightaltonearabic 16#fd3f +/parenrightbt 16#f8f8 +/parenrightex 16#f8f7 +/parenrightinferior 16#208e +/parenrightmonospace 16#ff09 +/parenrightsmall 16#fe5a +/parenrightsuperior 16#207e +/parenrighttp 16#f8f6 +/parenrightvertical 16#fe36 +/partialdiff 16#2202 +/paseqhebrew 16#05c0 +/pashtahebrew 16#0599 +/pasquare 16#33a9 +/patah 16#05b7 +/patah11 16#05b7 +/patah1d 16#05b7 +/patah2a 16#05b7 +/patahhebrew 16#05b7 +/patahnarrowhebrew 16#05b7 +/patahquarterhebrew 16#05b7 +/patahwidehebrew 16#05b7 +/pazerhebrew 16#05a1 +/pbopomofo 16#3106 +/pcircle 16#24df +/pdotaccent 16#1e57 +/pe 16#05e4 +/pecyrillic 16#043f +/pedagesh 16#fb44 +/pedageshhebrew 16#fb44 +/peezisquare 16#333b +/pefinaldageshhebrew 16#fb43 +/peharabic 16#067e +/peharmenian 16#057a +/pehebrew 16#05e4 +/pehfinalarabic 16#fb57 +/pehinitialarabic 16#fb58 +/pehiragana 16#307a +/pehmedialarabic 16#fb59 +/pekatakana 16#30da +/pemiddlehookcyrillic 16#04a7 +/perafehebrew 16#fb4e +/percent 16#0025 +/percentarabic 16#066a +/percentmonospace 16#ff05 +/percentsmall 16#fe6a +/period 16#002e +/periodarmenian 16#0589 +/periodcentered 16#00b7 +/periodhalfwidth 16#ff61 +/periodinferior 16#f6e7 +/periodmonospace 16#ff0e +/periodsmall 16#fe52 +/periodsuperior 16#f6e8 +/perispomenigreekcmb 16#0342 +/perpendicular 16#22a5 +/perthousand 16#2030 +/peseta 16#20a7 +/pfsquare 16#338a +/phabengali 16#09ab +/phadeva 16#092b +/phagujarati 16#0aab +/phagurmukhi 16#0a2b +/phi 16#03c6 +/phi1 16#03d5 +/phieuphacirclekorean 16#327a +/phieuphaparenkorean 16#321a +/phieuphcirclekorean 16#326c +/phieuphkorean 16#314d +/phieuphparenkorean 16#320c +/philatin 16#0278 +/phinthuthai 16#0e3a +/phisymbolgreek 16#03d5 +/phook 16#01a5 +/phophanthai 16#0e1e +/phophungthai 16#0e1c +/phosamphaothai 16#0e20 +/pi 16#03c0 +/pieupacirclekorean 16#3273 +/pieupaparenkorean 16#3213 +/pieupcieuckorean 16#3176 +/pieupcirclekorean 16#3265 +/pieupkiyeokkorean 16#3172 +/pieupkorean 16#3142 +/pieupparenkorean 16#3205 +/pieupsioskiyeokkorean 16#3174 +/pieupsioskorean 16#3144 +/pieupsiostikeutkorean 16#3175 +/pieupthieuthkorean 16#3177 +/pieuptikeutkorean 16#3173 +/pihiragana 16#3074 +/pikatakana 16#30d4 +/pisymbolgreek 16#03d6 +/piwrarmenian 16#0583 +/plus 16#002b +/plusbelowcmb 16#031f +/pluscircle 16#2295 +/plusminus 16#00b1 +/plusmod 16#02d6 +/plusmonospace 16#ff0b +/plussmall 16#fe62 +/plussuperior 16#207a +/pmonospace 16#ff50 +/pmsquare 16#33d8 +/pohiragana 16#307d +/pointingindexdownwhite 16#261f +/pointingindexleftwhite 16#261c +/pointingindexrightwhite 16#261e +/pointingindexupwhite 16#261d +/pokatakana 16#30dd +/poplathai 16#0e1b +/postalmark 16#3012 +/postalmarkface 16#3020 +/pparen 16#24ab +/precedes 16#227a +/prescription 16#211e +/primemod 16#02b9 +/primereversed 16#2035 +/product 16#220f +/projective 16#2305 +/prolongedkana 16#30fc +/propellor 16#2318 +/propersubset 16#2282 +/propersuperset 16#2283 +/proportion 16#2237 +/proportional 16#221d +/psi 16#03c8 +/psicyrillic 16#0471 +/psilipneumatacyrilliccmb 16#0486 +/pssquare 16#33b0 +/puhiragana 16#3077 +/pukatakana 16#30d7 +/pvsquare 16#33b4 +/pwsquare 16#33ba +/q 16#0071 +/qadeva 16#0958 +/qadmahebrew 16#05a8 +/qafarabic 16#0642 +/qaffinalarabic 16#fed6 +/qafinitialarabic 16#fed7 +/qafmedialarabic 16#fed8 +/qamats 16#05b8 +/qamats10 16#05b8 +/qamats1a 16#05b8 +/qamats1c 16#05b8 +/qamats27 16#05b8 +/qamats29 16#05b8 +/qamats33 16#05b8 +/qamatsde 16#05b8 +/qamatshebrew 16#05b8 +/qamatsnarrowhebrew 16#05b8 +/qamatsqatanhebrew 16#05b8 +/qamatsqatannarrowhebrew 16#05b8 +/qamatsqatanquarterhebrew 16#05b8 +/qamatsqatanwidehebrew 16#05b8 +/qamatsquarterhebrew 16#05b8 +/qamatswidehebrew 16#05b8 +/qarneyparahebrew 16#059f +/qbopomofo 16#3111 +/qcircle 16#24e0 +/qhook 16#02a0 +/qmonospace 16#ff51 +/qof 16#05e7 +/qofdagesh 16#fb47 +/qofdageshhebrew 16#fb47 +/qofhebrew 16#05e7 +/qparen 16#24ac +/quarternote 16#2669 +/qubuts 16#05bb +/qubuts18 16#05bb +/qubuts25 16#05bb +/qubuts31 16#05bb +/qubutshebrew 16#05bb +/qubutsnarrowhebrew 16#05bb +/qubutsquarterhebrew 16#05bb +/qubutswidehebrew 16#05bb +/question 16#003f +/questionarabic 16#061f +/questionarmenian 16#055e +/questiondown 16#00bf +/questiondownsmall 16#f7bf +/questiongreek 16#037e +/questionmonospace 16#ff1f +/questionsmall 16#f73f +/quotedbl 16#0022 +/quotedblbase 16#201e +/quotedblleft 16#201c +/quotedblmonospace 16#ff02 +/quotedblprime 16#301e +/quotedblprimereversed 16#301d +/quotedblright 16#201d +/quoteleft 16#2018 +/quoteleftreversed 16#201b +/quotereversed 16#201b +/quoteright 16#2019 +/quoterightn 16#0149 +/quotesinglbase 16#201a +/quotesingle 16#0027 +/quotesinglemonospace 16#ff07 +/r 16#0072 +/raarmenian 16#057c +/rabengali 16#09b0 +/racute 16#0155 +/radeva 16#0930 +/radical 16#221a +/radicalex 16#f8e5 +/radoverssquare 16#33ae +/radoverssquaredsquare 16#33af +/radsquare 16#33ad +/rafe 16#05bf +/rafehebrew 16#05bf +/ragujarati 16#0ab0 +/ragurmukhi 16#0a30 +/rahiragana 16#3089 +/rakatakana 16#30e9 +/rakatakanahalfwidth 16#ff97 +/ralowerdiagonalbengali 16#09f1 +/ramiddlediagonalbengali 16#09f0 +/ramshorn 16#0264 +/ratio 16#2236 +/rbopomofo 16#3116 +/rcaron 16#0159 +/rcedilla 16#0157 +/rcircle 16#24e1 +/rcommaaccent 16#0157 +/rdblgrave 16#0211 +/rdotaccent 16#1e59 +/rdotbelow 16#1e5b +/rdotbelowmacron 16#1e5d +/referencemark 16#203b +/reflexsubset 16#2286 +/reflexsuperset 16#2287 +/registered 16#00ae +/registersans 16#f8e8 +/registerserif 16#f6da +/reharabic 16#0631 +/reharmenian 16#0580 +/rehfinalarabic 16#feae +/rehiragana 16#308c +/rekatakana 16#30ec +/rekatakanahalfwidth 16#ff9a +/resh 16#05e8 +/reshdageshhebrew 16#fb48 +/reshhebrew 16#05e8 +/reversedtilde 16#223d +/reviahebrew 16#0597 +/reviamugrashhebrew 16#0597 +/revlogicalnot 16#2310 +/rfishhook 16#027e +/rfishhookreversed 16#027f +/rhabengali 16#09dd +/rhadeva 16#095d +/rho 16#03c1 +/rhook 16#027d +/rhookturned 16#027b +/rhookturnedsuperior 16#02b5 +/rhosymbolgreek 16#03f1 +/rhotichookmod 16#02de +/rieulacirclekorean 16#3271 +/rieulaparenkorean 16#3211 +/rieulcirclekorean 16#3263 +/rieulhieuhkorean 16#3140 +/rieulkiyeokkorean 16#313a +/rieulkiyeoksioskorean 16#3169 +/rieulkorean 16#3139 +/rieulmieumkorean 16#313b +/rieulpansioskorean 16#316c +/rieulparenkorean 16#3203 +/rieulphieuphkorean 16#313f +/rieulpieupkorean 16#313c +/rieulpieupsioskorean 16#316b +/rieulsioskorean 16#313d +/rieulthieuthkorean 16#313e +/rieultikeutkorean 16#316a +/rieulyeorinhieuhkorean 16#316d +/rightangle 16#221f +/righttackbelowcmb 16#0319 +/righttriangle 16#22bf +/rihiragana 16#308a +/rikatakana 16#30ea +/rikatakanahalfwidth 16#ff98 +/ring 16#02da +/ringbelowcmb 16#0325 +/ringcmb 16#030a +/ringhalfleft 16#02bf +/ringhalfleftarmenian 16#0559 +/ringhalfleftbelowcmb 16#031c +/ringhalfleftcentered 16#02d3 +/ringhalfright 16#02be +/ringhalfrightbelowcmb 16#0339 +/ringhalfrightcentered 16#02d2 +/rinvertedbreve 16#0213 +/rittorusquare 16#3351 +/rlinebelow 16#1e5f +/rlongleg 16#027c +/rlonglegturned 16#027a +/rmonospace 16#ff52 +/rohiragana 16#308d +/rokatakana 16#30ed +/rokatakanahalfwidth 16#ff9b +/roruathai 16#0e23 +/rparen 16#24ad +/rrabengali 16#09dc +/rradeva 16#0931 +/rragurmukhi 16#0a5c +/rreharabic 16#0691 +/rrehfinalarabic 16#fb8d +/rrvocalicbengali 16#09e0 +/rrvocalicdeva 16#0960 +/rrvocalicgujarati 16#0ae0 +/rrvocalicvowelsignbengali 16#09c4 +/rrvocalicvowelsigndeva 16#0944 +/rrvocalicvowelsigngujarati 16#0ac4 +/rsuperior 16#f6f1 +/rtblock 16#2590 +/rturned 16#0279 +/rturnedsuperior 16#02b4 +/ruhiragana 16#308b +/rukatakana 16#30eb +/rukatakanahalfwidth 16#ff99 +/rupeemarkbengali 16#09f2 +/rupeesignbengali 16#09f3 +/rupiah 16#f6dd +/ruthai 16#0e24 +/rvocalicbengali 16#098b +/rvocalicdeva 16#090b +/rvocalicgujarati 16#0a8b +/rvocalicvowelsignbengali 16#09c3 +/rvocalicvowelsigndeva 16#0943 +/rvocalicvowelsigngujarati 16#0ac3 +/s 16#0073 +/sabengali 16#09b8 +/sacute 16#015b +/sacutedotaccent 16#1e65 +/sadarabic 16#0635 +/sadeva 16#0938 +/sadfinalarabic 16#feba +/sadinitialarabic 16#febb +/sadmedialarabic 16#febc +/sagujarati 16#0ab8 +/sagurmukhi 16#0a38 +/sahiragana 16#3055 +/sakatakana 16#30b5 +/sakatakanahalfwidth 16#ff7b +/sallallahoualayhewasallamarabic 16#fdfa +/samekh 16#05e1 +/samekhdagesh 16#fb41 +/samekhdageshhebrew 16#fb41 +/samekhhebrew 16#05e1 +/saraaathai 16#0e32 +/saraaethai 16#0e41 +/saraaimaimalaithai 16#0e44 +/saraaimaimuanthai 16#0e43 +/saraamthai 16#0e33 +/saraathai 16#0e30 +/saraethai 16#0e40 +/saraiileftthai 16#f886 +/saraiithai 16#0e35 +/saraileftthai 16#f885 +/saraithai 16#0e34 +/saraothai 16#0e42 +/saraueeleftthai 16#f888 +/saraueethai 16#0e37 +/saraueleftthai 16#f887 +/sarauethai 16#0e36 +/sarauthai 16#0e38 +/sarauuthai 16#0e39 +/sbopomofo 16#3119 +/scaron 16#0161 +/scarondotaccent 16#1e67 +/scedilla 16#015f +/schwa 16#0259 +/schwacyrillic 16#04d9 +/schwadieresiscyrillic 16#04db +/schwahook 16#025a +/scircle 16#24e2 +/scircumflex 16#015d +/scommaaccent 16#0219 +/sdotaccent 16#1e61 +/sdotbelow 16#1e63 +/sdotbelowdotaccent 16#1e69 +/seagullbelowcmb 16#033c +/second 16#2033 +/secondtonechinese 16#02ca +/section 16#00a7 +/seenarabic 16#0633 +/seenfinalarabic 16#feb2 +/seeninitialarabic 16#feb3 +/seenmedialarabic 16#feb4 +/segol 16#05b6 +/segol13 16#05b6 +/segol1f 16#05b6 +/segol2c 16#05b6 +/segolhebrew 16#05b6 +/segolnarrowhebrew 16#05b6 +/segolquarterhebrew 16#05b6 +/segoltahebrew 16#0592 +/segolwidehebrew 16#05b6 +/seharmenian 16#057d +/sehiragana 16#305b +/sekatakana 16#30bb +/sekatakanahalfwidth 16#ff7e +/semicolon 16#003b +/semicolonarabic 16#061b +/semicolonmonospace 16#ff1b +/semicolonsmall 16#fe54 +/semivoicedmarkkana 16#309c +/semivoicedmarkkanahalfwidth 16#ff9f +/sentisquare 16#3322 +/sentosquare 16#3323 +/seven 16#0037 +/sevenarabic 16#0667 +/sevenbengali 16#09ed +/sevencircle 16#2466 +/sevencircleinversesansserif 16#2790 +/sevendeva 16#096d +/seveneighths 16#215e +/sevengujarati 16#0aed +/sevengurmukhi 16#0a6d +/sevenhackarabic 16#0667 +/sevenhangzhou 16#3027 +/sevenideographicparen 16#3226 +/seveninferior 16#2087 +/sevenmonospace 16#ff17 +/sevenoldstyle 16#f737 +/sevenparen 16#247a +/sevenperiod 16#248e +/sevenpersian 16#06f7 +/sevenroman 16#2176 +/sevensuperior 16#2077 +/seventeencircle 16#2470 +/seventeenparen 16#2484 +/seventeenperiod 16#2498 +/seventhai 16#0e57 +/sfthyphen 16#00ad +/shaarmenian 16#0577 +/shabengali 16#09b6 +/shacyrillic 16#0448 +/shaddaarabic 16#0651 +/shaddadammaarabic 16#fc61 +/shaddadammatanarabic 16#fc5e +/shaddafathaarabic 16#fc60 +/shaddakasraarabic 16#fc62 +/shaddakasratanarabic 16#fc5f +/shade 16#2592 +/shadedark 16#2593 +/shadelight 16#2591 +/shademedium 16#2592 +/shadeva 16#0936 +/shagujarati 16#0ab6 +/shagurmukhi 16#0a36 +/shalshelethebrew 16#0593 +/shbopomofo 16#3115 +/shchacyrillic 16#0449 +/sheenarabic 16#0634 +/sheenfinalarabic 16#feb6 +/sheeninitialarabic 16#feb7 +/sheenmedialarabic 16#feb8 +/sheicoptic 16#03e3 +/sheqel 16#20aa +/sheqelhebrew 16#20aa +/sheva 16#05b0 +/sheva115 16#05b0 +/sheva15 16#05b0 +/sheva22 16#05b0 +/sheva2e 16#05b0 +/shevahebrew 16#05b0 +/shevanarrowhebrew 16#05b0 +/shevaquarterhebrew 16#05b0 +/shevawidehebrew 16#05b0 +/shhacyrillic 16#04bb +/shimacoptic 16#03ed +/shin 16#05e9 +/shindagesh 16#fb49 +/shindageshhebrew 16#fb49 +/shindageshshindot 16#fb2c +/shindageshshindothebrew 16#fb2c +/shindageshsindot 16#fb2d +/shindageshsindothebrew 16#fb2d +/shindothebrew 16#05c1 +/shinhebrew 16#05e9 +/shinshindot 16#fb2a +/shinshindothebrew 16#fb2a +/shinsindot 16#fb2b +/shinsindothebrew 16#fb2b +/shook 16#0282 +/sigma 16#03c3 +/sigma1 16#03c2 +/sigmafinal 16#03c2 +/sigmalunatesymbolgreek 16#03f2 +/sihiragana 16#3057 +/sikatakana 16#30b7 +/sikatakanahalfwidth 16#ff7c +/siluqhebrew 16#05bd +/siluqlefthebrew 16#05bd +/similar 16#223c +/sindothebrew 16#05c2 +/siosacirclekorean 16#3274 +/siosaparenkorean 16#3214 +/sioscieuckorean 16#317e +/sioscirclekorean 16#3266 +/sioskiyeokkorean 16#317a +/sioskorean 16#3145 +/siosnieunkorean 16#317b +/siosparenkorean 16#3206 +/siospieupkorean 16#317d +/siostikeutkorean 16#317c +/six 16#0036 +/sixarabic 16#0666 +/sixbengali 16#09ec +/sixcircle 16#2465 +/sixcircleinversesansserif 16#278f +/sixdeva 16#096c +/sixgujarati 16#0aec +/sixgurmukhi 16#0a6c +/sixhackarabic 16#0666 +/sixhangzhou 16#3026 +/sixideographicparen 16#3225 +/sixinferior 16#2086 +/sixmonospace 16#ff16 +/sixoldstyle 16#f736 +/sixparen 16#2479 +/sixperiod 16#248d +/sixpersian 16#06f6 +/sixroman 16#2175 +/sixsuperior 16#2076 +/sixteencircle 16#246f +/sixteencurrencydenominatorbengali 16#09f9 +/sixteenparen 16#2483 +/sixteenperiod 16#2497 +/sixthai 16#0e56 +/slash 16#002f +/slashmonospace 16#ff0f +/slong 16#017f +/slongdotaccent 16#1e9b +/smileface 16#263a +/smonospace 16#ff53 +/sofpasuqhebrew 16#05c3 +/softhyphen 16#00ad +/softsigncyrillic 16#044c +/sohiragana 16#305d +/sokatakana 16#30bd +/sokatakanahalfwidth 16#ff7f +/soliduslongoverlaycmb 16#0338 +/solidusshortoverlaycmb 16#0337 +/sorusithai 16#0e29 +/sosalathai 16#0e28 +/sosothai 16#0e0b +/sosuathai 16#0e2a +/space 16#0020 +/spacehackarabic 16#0020 +/spade 16#2660 +/spadesuitblack 16#2660 +/spadesuitwhite 16#2664 +/sparen 16#24ae +/squarebelowcmb 16#033b +/squarecc 16#33c4 +/squarecm 16#339d +/squarediagonalcrosshatchfill 16#25a9 +/squarehorizontalfill 16#25a4 +/squarekg 16#338f +/squarekm 16#339e +/squarekmcapital 16#33ce +/squareln 16#33d1 +/squarelog 16#33d2 +/squaremg 16#338e +/squaremil 16#33d5 +/squaremm 16#339c +/squaremsquared 16#33a1 +/squareorthogonalcrosshatchfill 16#25a6 +/squareupperlefttolowerrightfill 16#25a7 +/squareupperrighttolowerleftfill 16#25a8 +/squareverticalfill 16#25a5 +/squarewhitewithsmallblack 16#25a3 +/srsquare 16#33db +/ssabengali 16#09b7 +/ssadeva 16#0937 +/ssagujarati 16#0ab7 +/ssangcieuckorean 16#3149 +/ssanghieuhkorean 16#3185 +/ssangieungkorean 16#3180 +/ssangkiyeokkorean 16#3132 +/ssangnieunkorean 16#3165 +/ssangpieupkorean 16#3143 +/ssangsioskorean 16#3146 +/ssangtikeutkorean 16#3138 +/ssuperior 16#f6f2 +/sterling 16#00a3 +/sterlingmonospace 16#ffe1 +/strokelongoverlaycmb 16#0336 +/strokeshortoverlaycmb 16#0335 +/subset 16#2282 +/subsetnotequal 16#228a +/subsetorequal 16#2286 +/succeeds 16#227b +/suchthat 16#220b +/suhiragana 16#3059 +/sukatakana 16#30b9 +/sukatakanahalfwidth 16#ff7d +/sukunarabic 16#0652 +/summation 16#2211 +/sun 16#263c +/superset 16#2283 +/supersetnotequal 16#228b +/supersetorequal 16#2287 +/svsquare 16#33dc +/syouwaerasquare 16#337c +/t 16#0074 +/tabengali 16#09a4 +/tackdown 16#22a4 +/tackleft 16#22a3 +/tadeva 16#0924 +/tagujarati 16#0aa4 +/tagurmukhi 16#0a24 +/taharabic 16#0637 +/tahfinalarabic 16#fec2 +/tahinitialarabic 16#fec3 +/tahiragana 16#305f +/tahmedialarabic 16#fec4 +/taisyouerasquare 16#337d +/takatakana 16#30bf +/takatakanahalfwidth 16#ff80 +/tatweelarabic 16#0640 +/tau 16#03c4 +/tav 16#05ea +/tavdages 16#fb4a +/tavdagesh 16#fb4a +/tavdageshhebrew 16#fb4a +/tavhebrew 16#05ea +/tbar 16#0167 +/tbopomofo 16#310a +/tcaron 16#0165 +/tccurl 16#02a8 +/tcedilla 16#0163 +/tcheharabic 16#0686 +/tchehfinalarabic 16#fb7b +/tchehinitialarabic 16#fb7c +/tchehmedialarabic 16#fb7d +/tcircle 16#24e3 +/tcircumflexbelow 16#1e71 +/tcommaaccent 16#0163 +/tdieresis 16#1e97 +/tdotaccent 16#1e6b +/tdotbelow 16#1e6d +/tecyrillic 16#0442 +/tedescendercyrillic 16#04ad +/teharabic 16#062a +/tehfinalarabic 16#fe96 +/tehhahinitialarabic 16#fca2 +/tehhahisolatedarabic 16#fc0c +/tehinitialarabic 16#fe97 +/tehiragana 16#3066 +/tehjeeminitialarabic 16#fca1 +/tehjeemisolatedarabic 16#fc0b +/tehmarbutaarabic 16#0629 +/tehmarbutafinalarabic 16#fe94 +/tehmedialarabic 16#fe98 +/tehmeeminitialarabic 16#fca4 +/tehmeemisolatedarabic 16#fc0e +/tehnoonfinalarabic 16#fc73 +/tekatakana 16#30c6 +/tekatakanahalfwidth 16#ff83 +/telephone 16#2121 +/telephoneblack 16#260e +/telishagedolahebrew 16#05a0 +/telishaqetanahebrew 16#05a9 +/tencircle 16#2469 +/tenideographicparen 16#3229 +/tenparen 16#247d +/tenperiod 16#2491 +/tenroman 16#2179 +/tesh 16#02a7 +/tet 16#05d8 +/tetdagesh 16#fb38 +/tetdageshhebrew 16#fb38 +/tethebrew 16#05d8 +/tetsecyrillic 16#04b5 +/tevirhebrew 16#059b +/tevirlefthebrew 16#059b +/thabengali 16#09a5 +/thadeva 16#0925 +/thagujarati 16#0aa5 +/thagurmukhi 16#0a25 +/thalarabic 16#0630 +/thalfinalarabic 16#feac +/thanthakhatlowleftthai 16#f898 +/thanthakhatlowrightthai 16#f897 +/thanthakhatthai 16#0e4c +/thanthakhatupperleftthai 16#f896 +/theharabic 16#062b +/thehfinalarabic 16#fe9a +/thehinitialarabic 16#fe9b +/thehmedialarabic 16#fe9c +/thereexists 16#2203 +/therefore 16#2234 +/theta 16#03b8 +/theta1 16#03d1 +/thetasymbolgreek 16#03d1 +/thieuthacirclekorean 16#3279 +/thieuthaparenkorean 16#3219 +/thieuthcirclekorean 16#326b +/thieuthkorean 16#314c +/thieuthparenkorean 16#320b +/thirteencircle 16#246c +/thirteenparen 16#2480 +/thirteenperiod 16#2494 +/thonangmonthothai 16#0e11 +/thook 16#01ad +/thophuthaothai 16#0e12 +/thorn 16#00fe +/thothahanthai 16#0e17 +/thothanthai 16#0e10 +/thothongthai 16#0e18 +/thothungthai 16#0e16 +/thousandcyrillic 16#0482 +/thousandsseparatorarabic 16#066c +/thousandsseparatorpersian 16#066c +/three 16#0033 +/threearabic 16#0663 +/threebengali 16#09e9 +/threecircle 16#2462 +/threecircleinversesansserif 16#278c +/threedeva 16#0969 +/threeeighths 16#215c +/threegujarati 16#0ae9 +/threegurmukhi 16#0a69 +/threehackarabic 16#0663 +/threehangzhou 16#3023 +/threeideographicparen 16#3222 +/threeinferior 16#2083 +/threemonospace 16#ff13 +/threenumeratorbengali 16#09f6 +/threeoldstyle 16#f733 +/threeparen 16#2476 +/threeperiod 16#248a +/threepersian 16#06f3 +/threequarters 16#00be +/threequartersemdash 16#f6de +/threeroman 16#2172 +/threesuperior 16#00b3 +/threethai 16#0e53 +/thzsquare 16#3394 +/tihiragana 16#3061 +/tikatakana 16#30c1 +/tikatakanahalfwidth 16#ff81 +/tikeutacirclekorean 16#3270 +/tikeutaparenkorean 16#3210 +/tikeutcirclekorean 16#3262 +/tikeutkorean 16#3137 +/tikeutparenkorean 16#3202 +/tilde 16#02dc +/tildebelowcmb 16#0330 +/tildecmb 16#0303 +/tildecomb 16#0303 +/tildedoublecmb 16#0360 +/tildeoperator 16#223c +/tildeoverlaycmb 16#0334 +/tildeverticalcmb 16#033e +/timescircle 16#2297 +/tipehahebrew 16#0596 +/tipehalefthebrew 16#0596 +/tippigurmukhi 16#0a70 +/titlocyrilliccmb 16#0483 +/tiwnarmenian 16#057f +/tlinebelow 16#1e6f +/tmonospace 16#ff54 +/toarmenian 16#0569 +/tohiragana 16#3068 +/tokatakana 16#30c8 +/tokatakanahalfwidth 16#ff84 +/tonebarextrahighmod 16#02e5 +/tonebarextralowmod 16#02e9 +/tonebarhighmod 16#02e6 +/tonebarlowmod 16#02e8 +/tonebarmidmod 16#02e7 +/tonefive 16#01bd +/tonesix 16#0185 +/tonetwo 16#01a8 +/tonos 16#0384 +/tonsquare 16#3327 +/topatakthai 16#0e0f +/tortoiseshellbracketleft 16#3014 +/tortoiseshellbracketleftsmall 16#fe5d +/tortoiseshellbracketleftvertical 16#fe39 +/tortoiseshellbracketright 16#3015 +/tortoiseshellbracketrightsmall 16#fe5e +/tortoiseshellbracketrightvertical 16#fe3a +/totaothai 16#0e15 +/tpalatalhook 16#01ab +/tparen 16#24af +/trademark 16#2122 +/trademarksans 16#f8ea +/trademarkserif 16#f6db +/tretroflexhook 16#0288 +/triagdn 16#25bc +/triaglf 16#25c4 +/triagrt 16#25ba +/triagup 16#25b2 +/ts 16#02a6 +/tsadi 16#05e6 +/tsadidagesh 16#fb46 +/tsadidageshhebrew 16#fb46 +/tsadihebrew 16#05e6 +/tsecyrillic 16#0446 +/tsere 16#05b5 +/tsere12 16#05b5 +/tsere1e 16#05b5 +/tsere2b 16#05b5 +/tserehebrew 16#05b5 +/tserenarrowhebrew 16#05b5 +/tserequarterhebrew 16#05b5 +/tserewidehebrew 16#05b5 +/tshecyrillic 16#045b +/tsuperior 16#f6f3 +/ttabengali 16#099f +/ttadeva 16#091f +/ttagujarati 16#0a9f +/ttagurmukhi 16#0a1f +/tteharabic 16#0679 +/ttehfinalarabic 16#fb67 +/ttehinitialarabic 16#fb68 +/ttehmedialarabic 16#fb69 +/tthabengali 16#09a0 +/tthadeva 16#0920 +/tthagujarati 16#0aa0 +/tthagurmukhi 16#0a20 +/tturned 16#0287 +/tuhiragana 16#3064 +/tukatakana 16#30c4 +/tukatakanahalfwidth 16#ff82 +/tusmallhiragana 16#3063 +/tusmallkatakana 16#30c3 +/tusmallkatakanahalfwidth 16#ff6f +/twelvecircle 16#246b +/twelveparen 16#247f +/twelveperiod 16#2493 +/twelveroman 16#217b +/twentycircle 16#2473 +/twentyhangzhou 16#5344 +/twentyparen 16#2487 +/twentyperiod 16#249b +/two 16#0032 +/twoarabic 16#0662 +/twobengali 16#09e8 +/twocircle 16#2461 +/twocircleinversesansserif 16#278b +/twodeva 16#0968 +/twodotenleader 16#2025 +/twodotleader 16#2025 +/twodotleadervertical 16#fe30 +/twogujarati 16#0ae8 +/twogurmukhi 16#0a68 +/twohackarabic 16#0662 +/twohangzhou 16#3022 +/twoideographicparen 16#3221 +/twoinferior 16#2082 +/twomonospace 16#ff12 +/twonumeratorbengali 16#09f5 +/twooldstyle 16#f732 +/twoparen 16#2475 +/twoperiod 16#2489 +/twopersian 16#06f2 +/tworoman 16#2171 +/twostroke 16#01bb +/twosuperior 16#00b2 +/twothai 16#0e52 +/twothirds 16#2154 +/u 16#0075 +/uacute 16#00fa +/ubar 16#0289 +/ubengali 16#0989 +/ubopomofo 16#3128 +/ubreve 16#016d +/ucaron 16#01d4 +/ucircle 16#24e4 +/ucircumflex 16#00fb +/ucircumflexbelow 16#1e77 +/ucyrillic 16#0443 +/udattadeva 16#0951 +/udblacute 16#0171 +/udblgrave 16#0215 +/udeva 16#0909 +/udieresis 16#00fc +/udieresisacute 16#01d8 +/udieresisbelow 16#1e73 +/udieresiscaron 16#01da +/udieresiscyrillic 16#04f1 +/udieresisgrave 16#01dc +/udieresismacron 16#01d6 +/udotbelow 16#1ee5 +/ugrave 16#00f9 +/ugujarati 16#0a89 +/ugurmukhi 16#0a09 +/uhiragana 16#3046 +/uhookabove 16#1ee7 +/uhorn 16#01b0 +/uhornacute 16#1ee9 +/uhorndotbelow 16#1ef1 +/uhorngrave 16#1eeb +/uhornhookabove 16#1eed +/uhorntilde 16#1eef +/uhungarumlaut 16#0171 +/uhungarumlautcyrillic 16#04f3 +/uinvertedbreve 16#0217 +/ukatakana 16#30a6 +/ukatakanahalfwidth 16#ff73 +/ukcyrillic 16#0479 +/ukorean 16#315c +/umacron 16#016b +/umacroncyrillic 16#04ef +/umacrondieresis 16#1e7b +/umatragurmukhi 16#0a41 +/umonospace 16#ff55 +/underscore 16#005f +/underscoredbl 16#2017 +/underscoremonospace 16#ff3f +/underscorevertical 16#fe33 +/underscorewavy 16#fe4f +/union 16#222a +/universal 16#2200 +/uogonek 16#0173 +/uparen 16#24b0 +/upblock 16#2580 +/upperdothebrew 16#05c4 +/upsilon 16#03c5 +/upsilondieresis 16#03cb +/upsilondieresistonos 16#03b0 +/upsilonlatin 16#028a +/upsilontonos 16#03cd +/uptackbelowcmb 16#031d +/uptackmod 16#02d4 +/uragurmukhi 16#0a73 +/uring 16#016f +/ushortcyrillic 16#045e +/usmallhiragana 16#3045 +/usmallkatakana 16#30a5 +/usmallkatakanahalfwidth 16#ff69 +/ustraightcyrillic 16#04af +/ustraightstrokecyrillic 16#04b1 +/utilde 16#0169 +/utildeacute 16#1e79 +/utildebelow 16#1e75 +/uubengali 16#098a +/uudeva 16#090a +/uugujarati 16#0a8a +/uugurmukhi 16#0a0a +/uumatragurmukhi 16#0a42 +/uuvowelsignbengali 16#09c2 +/uuvowelsigndeva 16#0942 +/uuvowelsigngujarati 16#0ac2 +/uvowelsignbengali 16#09c1 +/uvowelsigndeva 16#0941 +/uvowelsigngujarati 16#0ac1 +/v 16#0076 +/vadeva 16#0935 +/vagujarati 16#0ab5 +/vagurmukhi 16#0a35 +/vakatakana 16#30f7 +/vav 16#05d5 +/vavdagesh 16#fb35 +/vavdagesh65 16#fb35 +/vavdageshhebrew 16#fb35 +/vavhebrew 16#05d5 +/vavholam 16#fb4b +/vavholamhebrew 16#fb4b +/vavvavhebrew 16#05f0 +/vavyodhebrew 16#05f1 +/vcircle 16#24e5 +/vdotbelow 16#1e7f +/vecyrillic 16#0432 +/veharabic 16#06a4 +/vehfinalarabic 16#fb6b +/vehinitialarabic 16#fb6c +/vehmedialarabic 16#fb6d +/vekatakana 16#30f9 +/venus 16#2640 +/verticalbar 16#007c +/verticallineabovecmb 16#030d +/verticallinebelowcmb 16#0329 +/verticallinelowmod 16#02cc +/verticallinemod 16#02c8 +/vewarmenian 16#057e +/vhook 16#028b +/vikatakana 16#30f8 +/viramabengali 16#09cd +/viramadeva 16#094d +/viramagujarati 16#0acd +/visargabengali 16#0983 +/visargadeva 16#0903 +/visargagujarati 16#0a83 +/vmonospace 16#ff56 +/voarmenian 16#0578 +/voicediterationhiragana 16#309e +/voicediterationkatakana 16#30fe +/voicedmarkkana 16#309b +/voicedmarkkanahalfwidth 16#ff9e +/vokatakana 16#30fa +/vparen 16#24b1 +/vtilde 16#1e7d +/vturned 16#028c +/vuhiragana 16#3094 +/vukatakana 16#30f4 +/w 16#0077 +/wacute 16#1e83 +/waekorean 16#3159 +/wahiragana 16#308f +/wakatakana 16#30ef +/wakatakanahalfwidth 16#ff9c +/wakorean 16#3158 +/wasmallhiragana 16#308e +/wasmallkatakana 16#30ee +/wattosquare 16#3357 +/wavedash 16#301c +/wavyunderscorevertical 16#fe34 +/wawarabic 16#0648 +/wawfinalarabic 16#feee +/wawhamzaabovearabic 16#0624 +/wawhamzaabovefinalarabic 16#fe86 +/wbsquare 16#33dd +/wcircle 16#24e6 +/wcircumflex 16#0175 +/wdieresis 16#1e85 +/wdotaccent 16#1e87 +/wdotbelow 16#1e89 +/wehiragana 16#3091 +/weierstrass 16#2118 +/wekatakana 16#30f1 +/wekorean 16#315e +/weokorean 16#315d +/wgrave 16#1e81 +/whitebullet 16#25e6 +/whitecircle 16#25cb +/whitecircleinverse 16#25d9 +/whitecornerbracketleft 16#300e +/whitecornerbracketleftvertical 16#fe43 +/whitecornerbracketright 16#300f +/whitecornerbracketrightvertical 16#fe44 +/whitediamond 16#25c7 +/whitediamondcontainingblacksmalldiamond 16#25c8 +/whitedownpointingsmalltriangle 16#25bf +/whitedownpointingtriangle 16#25bd +/whiteleftpointingsmalltriangle 16#25c3 +/whiteleftpointingtriangle 16#25c1 +/whitelenticularbracketleft 16#3016 +/whitelenticularbracketright 16#3017 +/whiterightpointingsmalltriangle 16#25b9 +/whiterightpointingtriangle 16#25b7 +/whitesmallsquare 16#25ab +/whitesmilingface 16#263a +/whitesquare 16#25a1 +/whitestar 16#2606 +/whitetelephone 16#260f +/whitetortoiseshellbracketleft 16#3018 +/whitetortoiseshellbracketright 16#3019 +/whiteuppointingsmalltriangle 16#25b5 +/whiteuppointingtriangle 16#25b3 +/wihiragana 16#3090 +/wikatakana 16#30f0 +/wikorean 16#315f +/wmonospace 16#ff57 +/wohiragana 16#3092 +/wokatakana 16#30f2 +/wokatakanahalfwidth 16#ff66 +/won 16#20a9 +/wonmonospace 16#ffe6 +/wowaenthai 16#0e27 +/wparen 16#24b2 +/wring 16#1e98 +/wsuperior 16#02b7 +/wturned 16#028d +/wynn 16#01bf +/x 16#0078 +/xabovecmb 16#033d +/xbopomofo 16#3112 +/xcircle 16#24e7 +/xdieresis 16#1e8d +/xdotaccent 16#1e8b +/xeharmenian 16#056d +/xi 16#03be +/xmonospace 16#ff58 +/xparen 16#24b3 +/xsuperior 16#02e3 +/y 16#0079 +/yaadosquare 16#334e +/yabengali 16#09af +/yacute 16#00fd +/yadeva 16#092f +/yaekorean 16#3152 +/yagujarati 16#0aaf +/yagurmukhi 16#0a2f +/yahiragana 16#3084 +/yakatakana 16#30e4 +/yakatakanahalfwidth 16#ff94 +/yakorean 16#3151 +/yamakkanthai 16#0e4e +/yasmallhiragana 16#3083 +/yasmallkatakana 16#30e3 +/yasmallkatakanahalfwidth 16#ff6c +/yatcyrillic 16#0463 +/ycircle 16#24e8 +/ycircumflex 16#0177 +/ydieresis 16#00ff +/ydotaccent 16#1e8f +/ydotbelow 16#1ef5 +/yeharabic 16#064a +/yehbarreearabic 16#06d2 +/yehbarreefinalarabic 16#fbaf +/yehfinalarabic 16#fef2 +/yehhamzaabovearabic 16#0626 +/yehhamzaabovefinalarabic 16#fe8a +/yehhamzaaboveinitialarabic 16#fe8b +/yehhamzaabovemedialarabic 16#fe8c +/yehinitialarabic 16#fef3 +/yehmedialarabic 16#fef4 +/yehmeeminitialarabic 16#fcdd +/yehmeemisolatedarabic 16#fc58 +/yehnoonfinalarabic 16#fc94 +/yehthreedotsbelowarabic 16#06d1 +/yekorean 16#3156 +/yen 16#00a5 +/yenmonospace 16#ffe5 +/yeokorean 16#3155 +/yeorinhieuhkorean 16#3186 +/yerahbenyomohebrew 16#05aa +/yerahbenyomolefthebrew 16#05aa +/yericyrillic 16#044b +/yerudieresiscyrillic 16#04f9 +/yesieungkorean 16#3181 +/yesieungpansioskorean 16#3183 +/yesieungsioskorean 16#3182 +/yetivhebrew 16#059a +/ygrave 16#1ef3 +/yhook 16#01b4 +/yhookabove 16#1ef7 +/yiarmenian 16#0575 +/yicyrillic 16#0457 +/yikorean 16#3162 +/yinyang 16#262f +/yiwnarmenian 16#0582 +/ymonospace 16#ff59 +/yod 16#05d9 +/yoddagesh 16#fb39 +/yoddageshhebrew 16#fb39 +/yodhebrew 16#05d9 +/yodyodhebrew 16#05f2 +/yodyodpatahhebrew 16#fb1f +/yohiragana 16#3088 +/yoikorean 16#3189 +/yokatakana 16#30e8 +/yokatakanahalfwidth 16#ff96 +/yokorean 16#315b +/yosmallhiragana 16#3087 +/yosmallkatakana 16#30e7 +/yosmallkatakanahalfwidth 16#ff6e +/yotgreek 16#03f3 +/yoyaekorean 16#3188 +/yoyakorean 16#3187 +/yoyakthai 16#0e22 +/yoyingthai 16#0e0d +/yparen 16#24b4 +/ypogegrammeni 16#037a +/ypogegrammenigreekcmb 16#0345 +/yr 16#01a6 +/yring 16#1e99 +/ysuperior 16#02b8 +/ytilde 16#1ef9 +/yturned 16#028e +/yuhiragana 16#3086 +/yuikorean 16#318c +/yukatakana 16#30e6 +/yukatakanahalfwidth 16#ff95 +/yukorean 16#3160 +/yusbigcyrillic 16#046b +/yusbigiotifiedcyrillic 16#046d +/yuslittlecyrillic 16#0467 +/yuslittleiotifiedcyrillic 16#0469 +/yusmallhiragana 16#3085 +/yusmallkatakana 16#30e5 +/yusmallkatakanahalfwidth 16#ff6d +/yuyekorean 16#318b +/yuyeokorean 16#318a +/yyabengali 16#09df +/yyadeva 16#095f +/z 16#007a +/zaarmenian 16#0566 +/zacute 16#017a +/zadeva 16#095b +/zagurmukhi 16#0a5b +/zaharabic 16#0638 +/zahfinalarabic 16#fec6 +/zahinitialarabic 16#fec7 +/zahiragana 16#3056 +/zahmedialarabic 16#fec8 +/zainarabic 16#0632 +/zainfinalarabic 16#feb0 +/zakatakana 16#30b6 +/zaqefgadolhebrew 16#0595 +/zaqefqatanhebrew 16#0594 +/zarqahebrew 16#0598 +/zayin 16#05d6 +/zayindagesh 16#fb36 +/zayindageshhebrew 16#fb36 +/zayinhebrew 16#05d6 +/zbopomofo 16#3117 +/zcaron 16#017e +/zcircle 16#24e9 +/zcircumflex 16#1e91 +/zcurl 16#0291 +/zdot 16#017c +/zdotaccent 16#017c +/zdotbelow 16#1e93 +/zecyrillic 16#0437 +/zedescendercyrillic 16#0499 +/zedieresiscyrillic 16#04df +/zehiragana 16#305c +/zekatakana 16#30bc +/zero 16#0030 +/zeroarabic 16#0660 +/zerobengali 16#09e6 +/zerodeva 16#0966 +/zerogujarati 16#0ae6 +/zerogurmukhi 16#0a66 +/zerohackarabic 16#0660 +/zeroinferior 16#2080 +/zeromonospace 16#ff10 +/zerooldstyle 16#f730 +/zeropersian 16#06f0 +/zerosuperior 16#2070 +/zerothai 16#0e50 +/zerowidthjoiner 16#feff +/zerowidthnonjoiner 16#200c +/zerowidthspace 16#200b +/zeta 16#03b6 +/zhbopomofo 16#3113 +/zhearmenian 16#056a +/zhebrevecyrillic 16#04c2 +/zhecyrillic 16#0436 +/zhedescendercyrillic 16#0497 +/zhedieresiscyrillic 16#04dd +/zihiragana 16#3058 +/zikatakana 16#30b8 +/zinorhebrew 16#05ae +/zlinebelow 16#1e95 +/zmonospace 16#ff5a +/zohiragana 16#305e +/zokatakana 16#30be +/zparen 16#24b5 +/zretroflexhook 16#0290 +/zstroke 16#01b6 +/zuhiragana 16#305a +/zukatakana 16#30ba +.dicttomark readonly def +/currentglobal where +{pop currentglobal{setglobal}true setglobal} +{{}} +ifelse +/MacRomanEncoding .findencoding +/MacGlyphEncoding +/.notdef/.null/CR +4 index 32 95 getinterval aload pop +99 index 128 45 getinterval aload pop +/notequal/AE +/Oslash/infinity/plusminus/lessequal/greaterequal +/yen/mu1/partialdiff/summation/product +/pi/integral/ordfeminine/ordmasculine/Ohm +/ae/oslash/questiondown/exclamdown/logicalnot +/radical/florin/approxequal/increment/guillemotleft +/guillemotright/ellipsis/nbspace +174 index 203 12 getinterval aload pop +/lozenge +187 index 216 24 getinterval aload pop +/applelogo +212 index 241 7 getinterval aload pop +/overscore +220 index 249 7 getinterval aload pop +/Lslash/lslash/Scaron/scaron +/Zcaron/zcaron/brokenbar/Eth/eth +/Yacute/yacute/Thorn/thorn/minus +/multiply/onesuperior/twosuperior/threesuperior/onehalf +/onequarter/threequarters/franc/Gbreve/gbreve +/Idotaccent/Scedilla/scedilla/Cacute/cacute +/Ccaron/ccaron/dmacron +260 -1 roll pop +258 packedarray +7 1 index .registerencoding +.defineencoding +exec + +%%BeginResource: file (PDF object obj_1) +1 0 obj +<<>>endobj +%%EndResource +%%EndProlog +%%Page: 1 1 +%%PageBoundingBox: 0 0 241 57 +%%BeginPageSetup +4 0 obj +<</Type/Page/MediaBox [0 0 241 57] +/Parent 3 0 R +/Resources<</ProcSet[/PDF] +>> +/Contents 5 0 R +>> +endobj +%%EndPageSetup +5 0 obj +<</Length 89871>>stream +q 0.1 0 0 0.1 0 0 cm +q +0 0 2410 555.633 re W* n +0.886719 0 0.101563 RG +0.886719 0 0.101563 rg +1480.4 434.516 m +1480.4 495.25 l +1480.25 498.094 l +1479.95 500.797 l +1479.35 503.348 l +1478.45 505.898 l +1477.55 508.293 l +1476.2 510.395 l +1474.84 512.492 l +1473.2 514.441 l +1471.24 516.09 l +1469.29 517.59 l +1467.19 518.941 l +1464.94 519.988 l +1462.39 520.891 l +1459.84 521.488 l +1457.14 521.938 l +1454.29 522.09 l +1441.98 522.09 l +1439.58 521.938 l +1437.18 521.789 l +1435.08 521.344 l +1432.97 520.742 l +1431.02 519.84 l +1429.07 518.793 l +1427.12 517.438 l +1425.17 515.941 l +1423.22 517.438 l +1421.42 518.793 l +1419.62 519.84 l +1417.82 520.742 l +1416.02 521.344 l +1413.92 521.789 l +1411.66 521.938 l +1408.96 522.09 l +1398.91 522.09 l +1397.71 521.938 l +1396.5 521.789 l +1395.3 521.488 l +1394.11 521.043 l +1392 520.141 l +1390.05 518.941 l +1387.35 516.543 l +1385.85 515.195 l +1385.85 521.344 l +1366.64 521.344 l +1366.64 434.516 l +1385.85 434.516 l +1385.85 497.5 l +1386 498.246 l +1386.15 498.848 l +1386.3 499.598 l +1386.75 500.195 l +1387.05 500.797 l +1387.65 501.398 l +1388.1 501.844 l +1388.7 502.445 l +1390.2 503.195 l +1391.7 503.949 l +1393.36 504.246 l +1395.15 504.395 l +1405.96 504.395 l +1406.86 504.246 l +1407.61 504.094 l +1408.51 503.793 l +1410.02 502.895 l +1411.51 501.844 l +1412.11 501.246 l +1412.57 500.645 l +1413.16 499.895 l +1413.62 499.297 l +1413.92 498.395 l +1414.06 497.648 l +1414.22 496.746 l +1414.36 496 l +1414.36 434.516 l +1433.57 434.516 l +1433.57 496.746 l +1433.72 497.648 l +1433.88 498.395 l +1434.18 499.297 l +1434.62 499.895 l +1435.08 500.645 l +1435.53 501.246 l +1436.13 501.844 l +1436.73 502.445 l +1437.48 502.895 l +1438.23 503.348 l +1439.13 503.793 l +1439.88 504.094 l +1440.78 504.246 l +1441.83 504.395 l +1452.18 504.395 l +1453.23 504.246 l +1454.14 504.094 l +1455.04 503.793 l +1455.93 503.348 l +1456.69 502.895 l +1457.59 502.445 l +1458.19 501.844 l +1458.94 501.246 l +1459.54 500.496 l +1459.99 499.75 l +1460.44 498.848 l +1460.74 498.094 l +1461.04 497.199 l +1461.19 496.145 l +1461.19 434.516 l +1480.4 434.516 l +h +1345.93 434.516 m +1345.93 521.344 l +1325.96 521.344 l +1325.96 459.105 l +1325.22 457.758 l +1324.32 456.41 l +1323.27 455.207 l +1322.06 454.16 l +1320.71 453.414 l +1319.21 452.66 l +1317.56 452.359 l +1315.91 452.211 l +1304.2 452.211 l +1303.15 452.359 l +1302.25 452.512 l +1301.36 452.813 l +1300.45 453.258 l +1299.7 453.711 l +1298.95 454.16 l +1298.2 454.762 l +1297.45 455.363 l +1297 456.109 l +1296.4 456.855 l +1295.95 457.758 l +1295.65 458.512 l +1295.35 459.406 l +1295.2 460.461 l +1295.2 521.344 l +1275.99 521.344 l +1275.99 461.355 l +1276.14 458.512 l +1276.44 455.809 l +1277.19 453.113 l +1278.09 450.563 l +1279.14 448.16 l +1280.49 445.91 l +1281.99 443.813 l +1283.79 441.863 l +1285.75 440.063 l +1287.84 438.414 l +1290.1 437.066 l +1292.5 435.863 l +1295.05 434.965 l +1297.75 434.367 l +1300.6 433.914 l +1303.61 433.77 l +1314.11 433.77 l +1315.46 434.07 l +1316.51 434.367 l +1317.71 434.668 l +1319.81 435.719 l +1321.76 436.918 l +1324.62 439.316 l +1325.96 440.664 l +1325.96 434.516 l +1345.93 434.516 l +h +1253.62 434.516 m +1253.62 495.25 l +1253.48 498.094 l +1253.18 500.797 l +1252.57 503.348 l +1251.68 505.898 l +1250.48 508.293 l +1249.13 510.395 l +1247.62 512.492 l +1245.97 514.441 l +1244.02 516.09 l +1241.92 517.59 l +1239.52 518.941 l +1237.12 519.988 l +1234.57 520.891 l +1231.87 521.488 l +1229.02 521.938 l +1226.02 522.09 l +1216.86 522.09 l +1215.51 521.938 l +1214.31 521.789 l +1213.11 521.488 l +1211.91 521.043 l +1209.8 520.141 l +1208 518.941 l +1205.15 516.543 l +1203.65 515.195 l +1203.65 554.328 l +1183.69 554.328 l +1183.69 434.516 l +1203.65 434.516 l +1203.65 497.5 l +1203.8 498.395 l +1203.95 499.148 l +1204.25 499.895 l +1204.7 500.496 l +1205.15 501.098 l +1205.6 501.699 l +1206.35 502.293 l +1206.95 502.746 l +1208.45 503.496 l +1210.25 503.949 l +1211.91 504.246 l +1213.71 504.395 l +1225.41 504.395 l +1226.46 504.246 l +1227.36 504.094 l +1228.27 503.793 l +1229.16 503.348 l +1230.06 502.895 l +1230.81 502.445 l +1231.57 501.844 l +1232.17 501.246 l +1232.77 500.496 l +1233.22 499.75 l +1233.66 498.848 l +1233.96 498.094 l +1234.27 497.199 l +1234.42 496.145 l +1234.42 434.516 l +1253.62 434.516 l +h +1165.23 461.355 m +1165.23 462.109 l +1145.27 462.109 l +1145.27 460.609 l +1145.12 459.262 l +1144.97 458.059 l +1144.67 457.012 l +1144.37 456.109 l +1144.07 455.363 l +1143.47 454.609 l +1143.02 454.012 l +1142.42 453.559 l +1141.66 453.113 l +1140.92 452.813 l +1140.17 452.512 l +1138.22 452.211 l +1123.51 452.211 l +1122.61 452.359 l +1121.71 452.66 l +1120.8 452.961 l +1120.05 453.414 l +1119.31 453.859 l +1118.55 454.461 l +1117.96 455.207 l +1117.36 455.809 l +1116.75 456.711 l +1116.45 457.457 l +1116 458.359 l +1115.71 459.262 l +1115.55 460.16 l +1115.41 461.207 l +1115.41 496.145 l +1115.55 497.199 l +1115.71 498.094 l +1116 498.848 l +1116.45 499.75 l +1116.75 500.496 l +1117.36 501.246 l +1117.96 501.844 l +1118.55 502.445 l +1119.31 502.895 l +1120.05 503.348 l +1120.8 503.793 l +1121.71 503.949 l +1122.61 504.246 l +1123.51 504.395 l +1137.02 504.395 l +1138.06 504.246 l +1138.96 504.094 l +1139.87 503.793 l +1140.62 503.348 l +1141.37 502.895 l +1142.12 502.445 l +1142.71 501.844 l +1143.32 501.246 l +1143.77 500.496 l +1144.22 499.75 l +1144.67 498.848 l +1144.97 498.094 l +1145.12 497.199 l +1145.27 496.145 l +1145.27 495.25 l +1165.23 495.25 l +1165.08 498.094 l +1164.78 500.945 l +1164.03 503.648 l +1163.13 506.195 l +1161.93 508.594 l +1160.58 510.844 l +1158.93 512.793 l +1156.97 514.742 l +1155.02 516.391 l +1152.77 517.891 l +1150.37 519.094 l +1147.82 520.141 l +1145.12 521.043 l +1142.12 521.641 l +1139.27 521.938 l +1136.11 522.09 l +1123.8 522.09 l +1120.8 521.938 l +1117.96 521.488 l +1115.11 520.891 l +1112.55 519.84 l +1110 518.793 l +1107.75 517.438 l +1105.5 515.789 l +1103.54 513.992 l +1101.75 512.043 l +1100.1 509.941 l +1098.75 507.691 l +1097.54 505.297 l +1096.64 502.746 l +1095.89 500.043 l +1095.45 497.199 l +1095.29 494.496 l +1095.29 462.109 l +1095.45 459.262 l +1095.89 456.559 l +1096.64 453.859 l +1097.69 451.309 l +1098.89 448.762 l +1100.39 446.363 l +1102.05 444.262 l +1103.84 442.164 l +1105.95 440.363 l +1108.2 438.715 l +1110.6 437.215 l +1113.15 436.02 l +1115.85 435.117 l +1118.71 434.367 l +1121.56 433.914 l +1124.56 433.77 l +1136.87 433.77 l +1140.02 433.914 l +1143.17 434.367 l +1146.02 434.965 l +1148.72 435.863 l +1151.27 437.066 l +1153.67 438.414 l +1155.77 440.063 l +1157.72 441.863 l +1159.38 443.813 l +1161.03 445.91 l +1162.23 448.16 l +1163.28 450.563 l +1164.18 453.113 l +1164.78 455.809 l +1165.23 458.512 l +1165.23 461.355 l +h +1337.53 324 m +1324.47 324 l +1302.85 256.371 l +1281.39 324 l +1267.59 324 l +1296.7 239.426 l +1286.8 207.938 l +1299.85 207.938 l +1337.53 324 l +h +1189.09 343.945 m +1189.09 358.488 l +1174.54 358.488 l +1174.54 343.945 l +1189.09 343.945 l +h +1259.03 310.957 m +1259.03 324 l +1234.42 324 l +1234.42 356.988 l +1222.11 356.988 l +1222.11 324 l +1206.8 324 l +1206.8 310.957 l +1222.11 310.957 l +1222.11 264.77 l +1222.26 262.07 l +1222.56 259.523 l +1223.02 256.973 l +1223.61 254.57 l +1224.36 252.32 l +1225.41 250.078 l +1226.62 248.121 l +1227.96 246.324 l +1229.76 244.523 l +1231.57 243.176 l +1232.62 242.426 l +1233.66 241.828 l +1234.87 241.227 l +1236.07 240.777 l +1238.77 239.879 l +1241.62 239.277 l +1244.77 238.828 l +1248.38 238.676 l +1257.53 238.676 l +1257.53 250.223 l +1246.42 250.223 l +1244.62 250.523 l +1242.97 250.824 l +1241.62 251.273 l +1240.27 251.871 l +1239.22 252.621 l +1238.17 253.375 l +1237.42 254.273 l +1236.67 255.324 l +1236.07 256.523 l +1235.47 257.719 l +1235.17 258.922 l +1234.87 260.27 l +1234.57 261.77 l +1234.57 263.266 l +1234.42 264.77 l +1234.42 310.957 l +1259.03 310.957 l +h +1077.73 461.355 m +1077.73 494.496 l +1077.58 497.199 l +1077.13 500.043 l +1076.38 502.746 l +1075.33 505.297 l +1074.13 507.691 l +1072.63 509.941 l +1070.98 512.043 l +1069.18 513.992 l +1067.08 515.789 l +1064.83 517.438 l +1062.42 518.793 l +1059.88 519.84 l +1057.17 520.891 l +1054.32 521.488 l +1051.47 521.938 l +1048.47 522.09 l +1036.91 522.09 l +1033.91 521.938 l +1031.05 521.488 l +1028.36 520.891 l +1025.66 519.84 l +1023.11 518.793 l +1020.85 517.438 l +1018.6 515.789 l +1016.65 513.992 l +1014.85 512.043 l +1013.2 509.941 l +1011.84 507.691 l +1010.65 505.297 l +1009.75 502.746 l +1009 500.043 l +1008.7 497.199 l +1008.54 494.496 l +1008.54 462.109 l +1008.7 459.262 l +1009 456.559 l +1009.75 453.859 l +1010.65 451.309 l +1011.84 448.762 l +1013.2 446.363 l +1014.85 444.262 l +1016.65 442.164 l +1018.6 440.363 l +1020.85 438.715 l +1023.11 437.215 l +1025.66 436.02 l +1028.36 435.117 l +1031.05 434.367 l +1032.56 434.07 l +1033.91 433.914 l +1035.41 433.77 l +1048.47 433.77 l +1051.47 433.914 l +1054.32 434.367 l +1057.17 434.965 l +1059.88 435.863 l +1062.42 437.066 l +1064.83 438.414 l +1067.08 440.063 l +1069.18 441.863 l +1070.98 443.813 l +1072.63 445.91 l +1074.13 448.16 l +1075.33 450.563 l +1076.38 453.113 l +1077.13 455.809 l +1077.58 458.512 l +1077.73 461.355 l +h +1188.34 238.676 m +1188.34 324 l +1176.04 324 l +1176.04 238.676 l +1188.34 238.676 l +h +1406.71 62.7813 m +1406.71 71.332 l +1406.56 73.582 l +1406.26 75.6758 l +1405.81 77.625 l +1405.21 79.5742 l +1404.31 81.3789 l +1403.26 83.0273 l +1402.21 84.5273 l +1400.86 85.875 l +1399.51 87.0781 l +1397.85 88.125 l +1396.2 89.0273 l +1394.25 89.9219 l +1392.3 90.5234 l +1390.35 90.8242 l +1388.1 91.1211 l +1385.85 91.2773 l +1360.33 91.2773 l +1359.29 91.4219 l +1358.38 91.5703 l +1357.63 91.8711 l +1356.73 92.3242 l +1355.98 92.7734 l +1355.38 93.2266 l +1354.63 93.8203 l +1354.03 94.4219 l +1353.58 95.1758 l +1353.13 95.9219 l +1352.83 96.8242 l +1352.54 97.5703 l +1352.23 98.4727 l +1352.08 99.5195 l +1352.08 107.617 l +1352.23 108.516 l +1352.54 109.566 l +1352.83 110.465 l +1353.13 111.367 l +1353.58 112.117 l +1354.03 112.867 l +1354.63 113.617 l +1355.38 114.219 l +1355.98 114.816 l +1356.73 115.418 l +1357.63 115.715 l +1358.38 116.168 l +1359.29 116.313 l +1360.33 116.465 l +1361.23 116.613 l +1381.35 116.613 l +1382.4 116.465 l +1383.45 116.313 l +1384.35 116.012 l +1385.25 115.715 l +1386.15 115.266 l +1386.9 114.664 l +1387.65 114.063 l +1388.25 113.316 l +1388.7 112.57 l +1389.15 111.816 l +1389.6 110.918 l +1389.9 110.168 l +1390.35 108.371 l +1390.5 106.566 l +1402.81 106.566 l +1402.66 108.816 l +1402.36 110.766 l +1401.91 112.867 l +1401.16 114.816 l +1400.26 116.766 l +1399.21 118.414 l +1398.15 120.066 l +1396.8 121.715 l +1395.3 123.063 l +1393.66 124.41 l +1392 125.465 l +1390.2 126.359 l +1388.25 127.113 l +1386.3 127.715 l +1384.2 128.016 l +1382.1 128.16 l +1362.14 128.16 l +1359.88 128.016 l +1357.79 127.715 l +1355.68 127.113 l +1353.73 126.512 l +1351.78 125.613 l +1349.98 124.563 l +1348.18 123.363 l +1346.53 122.016 l +1345.18 120.512 l +1343.83 118.863 l +1342.62 117.066 l +1341.57 115.117 l +1340.83 113.168 l +1340.23 111.066 l +1339.93 108.816 l +1339.77 106.566 l +1339.77 100.422 l +1339.93 98.1719 l +1340.23 96.0703 l +1340.67 93.9727 l +1341.27 92.0234 l +1342.18 90.2227 l +1343.08 88.5742 l +1344.27 86.9258 l +1345.48 85.4219 l +1346.98 84.2266 l +1348.63 83.0273 l +1350.28 82.125 l +1352.08 81.2227 l +1354.03 80.6289 l +1356.14 80.1758 l +1358.23 79.875 l +1360.48 79.7266 l +1385.1 79.7266 l +1387.05 79.5742 l +1388.85 79.1289 l +1389.6 78.8281 l +1390.35 78.5273 l +1391.1 78.0781 l +1391.7 77.4805 l +1392.3 76.8789 l +1392.9 76.2773 l +1393.36 75.6758 l +1393.66 74.9297 l +1393.95 74.0273 l +1394.11 73.1289 l +1394.25 72.2266 l +1394.41 71.332 l +1394.41 62.7813 l +1394.25 62.0352 l +1394.11 61.1328 l +1393.95 60.2305 l +1393.5 59.4844 l +1393.2 58.582 l +1392.6 57.8359 l +1392.15 57.2344 l +1391.4 56.4883 l +1390.8 55.8867 l +1390.05 55.2852 l +1389.3 54.832 l +1388.55 54.3828 l +1387.65 54.0859 l +1386.9 53.7852 l +1386 53.6367 l +1358.98 53.6367 l +1357.18 53.7852 l +1355.54 54.0859 l +1354.78 54.3828 l +1354.18 54.6836 l +1353.58 55.1328 l +1352.98 55.5859 l +1352.54 56.1875 l +1352.08 56.9336 l +1351.78 57.6836 l +1351.48 58.4375 l +1350.88 60.3828 l +1350.58 62.7813 l +1338.27 62.7813 l +1338.27 60.5313 l +1338.57 58.4375 l +1339.02 56.332 l +1339.62 54.3828 l +1340.37 52.582 l +1341.27 50.7852 l +1342.32 49.2852 l +1343.68 47.7891 l +1345.03 46.4336 l +1346.53 45.3867 l +1348.18 44.3398 l +1349.98 43.4375 l +1351.78 42.8359 l +1353.88 42.3906 l +1355.98 42.0898 l +1358.23 41.9375 l +1385.1 41.9375 l +1387.65 42.0898 l +1390.05 42.3906 l +1392.3 42.8359 l +1394.25 43.5898 l +1396.2 44.4844 l +1398.01 45.5391 l +1399.66 46.7344 l +1401.01 48.082 l +1402.36 49.5859 l +1403.56 51.2344 l +1404.46 52.8828 l +1405.21 54.6836 l +1405.81 56.6328 l +1406.26 58.582 l +1406.56 60.6836 l +1406.71 62.7813 l +h +986.934 464.508 m +986.934 475.305 l +986.785 478.004 l +986.332 480.852 l +985.73 483.551 l +984.836 486.102 l +983.781 488.504 l +982.43 490.898 l +980.934 493.148 l +979.281 495.25 l +980.934 497.348 l +982.43 499.449 l +983.781 501.844 l +984.836 504.246 l +985.73 506.945 l +986.332 509.496 l +986.785 512.344 l +986.934 515.195 l +986.934 525.84 l +986.785 527.336 l +986.633 528.84 l +986.332 530.34 l +985.582 533.184 l +984.535 535.887 l +983.332 538.438 l +981.68 540.984 l +980.031 543.234 l +978.078 545.332 l +975.828 547.281 l +973.574 549.082 l +971.023 550.578 l +968.473 551.934 l +965.77 552.98 l +962.918 553.73 l +961.422 554.027 l +959.918 554.184 l +958.422 554.328 l +907.09 554.328 l +907.09 434.516 l +956.918 434.516 l +959.918 434.668 l +962.918 435.117 l +965.77 435.863 l +968.473 436.766 l +971.023 438.113 l +973.574 439.617 l +975.828 441.266 l +978.078 443.215 l +980.031 445.316 l +981.68 447.566 l +983.332 450.109 l +984.535 452.66 l +985.129 454.012 l +985.582 455.508 l +986.031 456.855 l +986.332 458.359 l +986.633 459.859 l +986.785 461.355 l +986.934 462.859 l +986.934 464.508 l +h +1154.57 258.621 m +1154.57 267.172 l +1154.42 269.422 l +1154.12 271.516 l +1153.67 273.617 l +1153.07 275.566 l +1152.17 277.363 l +1151.27 279.012 l +1150.07 280.66 l +1148.72 282.016 l +1147.37 283.363 l +1145.72 284.566 l +1144.07 285.461 l +1142.27 286.363 l +1140.32 286.961 l +1138.22 287.41 l +1135.96 287.711 l +1133.71 287.863 l +1107.45 287.863 l +1106.55 288.012 l +1105.65 288.164 l +1104.75 288.465 l +1104 288.91 l +1103.4 289.359 l +1102.8 289.813 l +1102.2 290.414 l +1101.59 291.012 l +1101.14 291.762 l +1100.84 292.508 l +1100.54 293.41 l +1100.24 294.16 l +1100.1 295.059 l +1099.94 296.105 l +1099.94 305.707 l +1100.1 306.605 l +1100.24 307.508 l +1100.54 308.254 l +1100.84 309.156 l +1101.14 309.758 l +1101.59 310.355 l +1102.2 310.957 l +1102.8 311.555 l +1103.4 312.008 l +1104 312.305 l +1104.75 312.605 l +1105.65 312.906 l +1106.55 313.055 l +1107.45 313.203 l +1129.51 313.203 l +1130.56 312.906 l +1131.61 312.754 l +1132.51 312.453 l +1133.41 312.008 l +1134.32 311.555 l +1135.06 310.957 l +1135.66 310.355 l +1136.27 309.605 l +1136.87 308.855 l +1137.32 308.109 l +1137.62 307.355 l +1137.92 306.461 l +1138.22 305.707 l +1138.36 304.805 l +1138.36 303.91 l +1150.67 303.91 l +1150.52 306.16 l +1150.22 308.109 l +1149.62 310.203 l +1148.87 312.008 l +1147.97 313.957 l +1146.92 315.605 l +1145.72 317.254 l +1144.22 318.602 l +1142.71 319.949 l +1141.07 321.152 l +1139.27 322.199 l +1137.46 323.102 l +1135.36 323.855 l +1133.41 324.301 l +1131.31 324.602 l +1129.21 324.75 l +1109.25 324.75 l +1107 324.602 l +1104.9 324.301 l +1102.95 323.855 l +1101 323.254 l +1099.05 322.352 l +1097.24 321.453 l +1095.59 320.25 l +1094.09 318.902 l +1092.74 317.555 l +1091.39 315.906 l +1090.34 314.254 l +1089.44 312.453 l +1088.69 310.504 l +1088.09 308.406 l +1087.79 306.16 l +1087.64 303.91 l +1087.64 297.008 l +1087.79 294.758 l +1088.09 292.664 l +1088.54 290.559 l +1089.14 288.465 l +1090.04 286.66 l +1090.94 284.867 l +1092.14 283.211 l +1093.49 281.715 l +1094.84 280.367 l +1096.49 279.164 l +1098.14 278.117 l +1099.94 277.219 l +1101.89 276.465 l +1104 276.016 l +1106.1 275.715 l +1108.35 275.566 l +1134.02 275.566 l +1134.92 275.414 l +1135.81 275.27 l +1136.57 274.969 l +1137.32 274.668 l +1138.06 274.367 l +1138.66 273.918 l +1139.27 273.32 l +1139.71 272.719 l +1140.17 272.117 l +1140.62 271.516 l +1140.92 270.77 l +1141.07 269.867 l +1141.37 268.969 l +1141.37 268.066 l +1141.52 267.172 l +1141.52 258.621 l +1141.37 257.719 l +1141.37 256.82 l +1141.07 255.926 l +1140.92 255.023 l +1140.62 254.273 l +1140.17 253.676 l +1139.71 252.922 l +1139.27 252.473 l +1138.66 251.871 l +1138.06 251.426 l +1137.32 251.125 l +1136.57 250.824 l +1135.81 250.523 l +1134.92 250.371 l +1134.02 250.223 l +1106.7 250.223 l +1105.65 250.371 l +1104.75 250.523 l +1104 250.824 l +1103.1 251.125 l +1102.35 251.426 l +1101.59 251.871 l +1101 252.473 l +1100.39 252.922 l +1099.94 253.676 l +1099.5 254.273 l +1099.05 255.023 l +1098.75 255.926 l +1098.59 256.82 l +1098.45 257.719 l +1098.45 258.621 l +1085.39 258.621 l +1085.39 256.523 l +1085.54 254.422 l +1085.99 252.473 l +1086.59 250.672 l +1087.34 248.875 l +1088.39 247.227 l +1089.44 245.727 l +1090.79 244.375 l +1092.29 243.027 l +1093.94 241.973 l +1095.74 241.078 l +1097.54 240.18 l +1099.5 239.578 l +1101.59 239.129 l +1103.84 238.828 l +1106.1 238.676 l +1132.96 238.676 l +1135.66 238.828 l +1138.06 239.129 l +1140.32 239.578 l +1142.42 240.18 l +1144.37 241.078 l +1146.02 241.973 l +1147.52 243.027 l +1149.02 244.375 l +1150.22 245.727 l +1151.27 247.227 l +1152.17 248.875 l +1152.93 250.672 l +1153.53 252.473 l +1153.97 254.422 l +1154.27 256.523 l +1154.57 258.621 l +h +1318.32 79.7266 m +1318.32 102.07 l +1318.16 104.766 l +1317.71 107.316 l +1317.11 109.867 l +1316.36 112.27 l +1315.31 114.52 l +1313.96 116.613 l +1312.46 118.715 l +1310.81 120.512 l +1309.01 122.16 l +1306.91 123.664 l +1304.8 125.012 l +1302.41 126.066 l +1299.85 126.961 l +1297.15 127.563 l +1294.3 128.016 l +1291.3 128.16 l +1278.24 128.16 l +1275.39 128.016 l +1272.54 127.563 l +1269.84 126.813 l +1267.29 125.91 l +1264.88 124.863 l +1262.63 123.516 l +1260.68 122.016 l +1258.73 120.211 l +1257.08 118.414 l +1255.58 116.313 l +1254.38 114.219 l +1253.32 111.969 l +1252.43 109.566 l +1251.83 107.016 l +1251.53 104.621 l +1251.38 102.07 l +1251.38 67.4336 l +1251.53 64.4297 l +1251.98 61.4336 l +1252.57 58.8828 l +1253.48 56.332 l +1254.53 54.0859 l +1255.88 51.9883 l +1257.38 50.0391 l +1259.03 48.3828 l +1260.98 46.8867 l +1263.08 45.5391 l +1265.18 44.4844 l +1267.59 43.5898 l +1270.14 42.8359 l +1272.69 42.3906 l +1275.39 42.0898 l +1278.24 41.9375 l +1292.95 41.9375 l +1295.65 42.0898 l +1298.35 42.3906 l +1300.75 42.8359 l +1303.15 43.5898 l +1305.26 44.4844 l +1307.21 45.5391 l +1309.01 46.7344 l +1310.66 48.082 l +1312.16 49.5859 l +1313.36 51.2344 l +1314.56 52.8828 l +1315.46 54.6836 l +1316.21 56.6328 l +1316.81 58.582 l +1317.26 60.6836 l +1317.41 62.7813 l +1304.36 62.7813 l +1304.2 61.7344 l +1303.9 60.6836 l +1303.61 59.6328 l +1303.15 58.7344 l +1302.71 57.9805 l +1302.11 57.2344 l +1301.36 56.4883 l +1300.6 55.8867 l +1299.85 55.4336 l +1299.11 54.9844 l +1298.2 54.5391 l +1297.15 54.2383 l +1296.1 53.9375 l +1295.05 53.7852 l +1294 53.6367 l +1278.39 53.6367 l +1276.89 53.7852 l +1275.54 53.9375 l +1274.04 54.2383 l +1272.69 54.6836 l +1271.34 55.1328 l +1269.99 55.7344 l +1268.93 56.4883 l +1267.74 57.3828 l +1266.68 58.2813 l +1265.93 59.4844 l +1265.18 60.6836 l +1264.44 62.1797 l +1263.98 63.8281 l +1263.84 65.4766 l +1263.68 67.4336 l +1263.68 79.7266 l +1318.32 79.7266 l +h +1072.33 311.707 m +1072.33 324.75 l +1057.62 324.75 l +1055.67 324.602 l +1053.57 324.301 l +1051.32 323.699 l +1049.22 322.801 l +1047.11 321.605 l +1044.87 320.102 l +1042.76 318.453 l +1040.81 316.203 l +1040.81 324 l +1028.5 324 l +1028.5 239.426 l +1040.81 239.426 l +1040.81 299.258 l +1041.11 300.605 l +1041.41 301.961 l +1042.02 303.156 l +1042.62 304.504 l +1043.36 305.559 l +1044.27 306.605 l +1045.16 307.656 l +1046.22 308.555 l +1047.41 309.305 l +1048.62 310.059 l +1049.82 310.504 l +1051.17 311.105 l +1052.52 311.406 l +1053.87 311.555 l +1055.37 311.707 l +1072.33 311.707 l +h +844.055 458.359 m +823.941 458.359 l +823.941 457.156 l +823.641 456.109 l +823.047 455.063 l +822.293 454.16 l +821.242 453.258 l +820.039 452.66 l +818.691 452.359 l +817.039 452.211 l +803.082 452.211 l +802.031 452.359 l +801.129 452.512 l +800.234 452.813 l +799.332 453.258 l +798.43 453.711 l +797.684 454.16 l +797.082 454.762 l +796.332 455.363 l +795.73 456.109 l +795.281 456.855 l +794.828 457.758 l +794.527 458.512 l +794.227 459.406 l +794.078 460.461 l +794.078 468.258 l +844.055 468.258 l +844.055 494.496 l +843.91 497.199 l +843.453 500.043 l +842.707 502.746 l +841.805 505.297 l +840.602 507.691 l +839.25 509.941 l +837.602 512.043 l +835.805 513.992 l +833.852 515.789 l +831.602 517.438 l +829.348 518.793 l +826.797 519.84 l +824.098 520.891 l +821.395 521.488 l +818.543 521.938 l +815.543 522.09 l +803.984 522.09 l +800.984 521.938 l +798.129 521.488 l +795.281 520.891 l +792.578 519.84 l +790.023 518.793 l +787.625 517.438 l +785.375 515.789 l +783.422 513.992 l +781.473 512.043 l +779.82 509.941 l +778.324 507.691 l +777.121 505.297 l +776.07 502.746 l +775.469 500.043 l +775.016 497.199 l +774.867 494.496 l +774.867 462.109 l +775.016 459.262 l +775.469 456.559 l +776.07 453.859 l +777.121 451.309 l +778.324 448.762 l +779.82 446.363 l +781.473 444.262 l +783.422 442.164 l +785.375 440.363 l +787.625 438.715 l +790.023 437.215 l +792.578 436.02 l +795.281 435.117 l +798.129 434.367 l +800.984 433.914 l +803.984 433.77 l +817.039 433.77 l +819.746 433.914 l +822.445 434.215 l +825 434.816 l +827.398 435.719 l +829.797 436.617 l +832.047 437.813 l +834.152 439.316 l +835.949 440.816 l +837.754 442.613 l +839.25 444.414 l +840.754 446.512 l +841.805 448.613 l +842.707 450.863 l +843.453 453.258 l +843.91 455.809 l +844.055 458.359 l +h +1231.41 66.6797 m +1219.11 66.6797 l +1218.96 64.8828 l +1218.66 63.2344 l +1218.21 61.7344 l +1217.75 60.3828 l +1217.16 59.1836 l +1216.56 58.1367 l +1215.8 57.2344 l +1214.91 56.332 l +1214.01 55.7344 l +1212.96 55.1328 l +1211.75 54.6836 l +1210.55 54.2383 l +1209.2 53.9375 l +1207.7 53.7852 l +1206.2 53.6367 l +1189.84 53.6367 l +1188.34 53.9375 l +1186.99 54.2383 l +1185.64 54.832 l +1184.44 55.4336 l +1183.39 56.1875 l +1182.34 56.9336 l +1181.29 57.9805 l +1180.54 58.8828 l +1179.79 60.0859 l +1179.04 61.1328 l +1178.59 62.332 l +1178.14 63.5313 l +1177.84 64.8828 l +1177.69 66.0781 l +1177.54 67.4336 l +1177.54 101.168 l +1177.69 103.117 l +1177.84 104.766 l +1178.14 106.422 l +1178.59 107.77 l +1179.04 109.266 l +1179.79 110.465 l +1180.54 111.668 l +1181.29 112.715 l +1182.34 113.617 l +1183.39 114.363 l +1184.44 114.965 l +1185.64 115.566 l +1186.99 116.012 l +1188.34 116.313 l +1189.84 116.465 l +1191.5 116.613 l +1204.55 116.613 l +1205.75 116.465 l +1207.11 116.313 l +1208.3 116.168 l +1209.66 115.715 l +1210.85 115.266 l +1211.91 114.816 l +1213.11 114.063 l +1214.15 113.465 l +1215.05 112.57 l +1215.96 111.816 l +1216.71 110.766 l +1217.46 109.719 l +1218.05 108.672 l +1218.51 107.617 l +1218.81 106.27 l +1219.11 105.066 l +1219.11 103.57 l +1231.41 103.57 l +1231.41 105.82 l +1231.27 108.219 l +1230.81 110.465 l +1230.06 112.715 l +1229.16 114.816 l +1227.96 116.766 l +1226.46 118.563 l +1224.96 120.363 l +1223.16 121.867 l +1221.21 123.215 l +1219.11 124.563 l +1216.86 125.613 l +1214.61 126.512 l +1212.05 127.113 l +1209.66 127.715 l +1207.11 128.016 l +1204.55 128.16 l +1191.5 128.16 l +1188.64 128.016 l +1185.79 127.563 l +1183.24 126.813 l +1180.69 125.91 l +1178.44 124.863 l +1176.19 123.516 l +1174.09 122.016 l +1172.29 120.211 l +1170.48 118.414 l +1168.98 116.313 l +1167.63 114.219 l +1166.58 111.969 l +1165.68 109.566 l +1165.08 107.016 l +1164.63 104.621 l +1164.48 102.07 l +1164.48 68.1797 l +1164.63 65.6328 l +1165.08 63.082 l +1165.68 60.6836 l +1166.43 58.2813 l +1167.48 56.0352 l +1168.68 53.7852 l +1170.18 51.8359 l +1171.84 49.8867 l +1173.63 48.2383 l +1175.59 46.5898 l +1177.84 45.2383 l +1180.09 44.1875 l +1182.49 43.1367 l +1185.19 42.5352 l +1187.89 42.0898 l +1190.59 41.9375 l +1205.3 41.9375 l +1208.6 42.0898 l +1211.61 42.5352 l +1214.45 43.1367 l +1217.01 43.8867 l +1219.41 44.9375 l +1221.36 46.1328 l +1223.31 47.4883 l +1224.96 49.1367 l +1226.46 50.9336 l +1227.66 52.7344 l +1228.71 54.832 l +1229.62 56.9336 l +1230.22 59.1836 l +1230.81 61.582 l +1231.11 64.1289 l +1231.41 66.6797 l +h +760.91 433.77 m +760.91 452.211 l +753.859 452.211 l +752.957 452.359 l +751.91 452.512 l +751.156 452.813 l +750.258 453.258 l +749.504 453.711 l +748.902 454.16 l +748.152 454.762 l +747.551 455.363 l +747.105 456.109 l +746.656 456.855 l +746.355 457.758 l +746.055 458.512 l +745.754 459.406 l +745.602 460.461 l +745.602 554.328 l +725.641 554.328 l +725.641 460.008 l +725.793 458.512 l +725.941 457.156 l +726.242 455.809 l +726.992 453.113 l +727.895 450.563 l +729.098 448.16 l +730.594 445.91 l +732.242 443.813 l +734.195 441.863 l +736.301 440.063 l +738.551 438.414 l +740.949 437.066 l +743.504 435.863 l +746.203 434.965 l +748.902 434.367 l +751.91 433.914 l +754.758 433.77 l +760.91 433.77 l +h +842.406 343.945 m +842.406 358.488 l +827.844 358.488 l +827.844 343.945 l +842.406 343.945 l +h +926.301 324 m +913.242 324 l +892.383 254.121 l +871.672 324 l +857.863 324 l +885.48 239.426 l +899.285 239.426 l +926.301 324 l +h +704.934 434.516 m +704.934 521.344 l +685.723 521.344 l +685.723 459.105 l +685.57 458.359 l +685.422 457.758 l +685.121 457.012 l +684.82 456.41 l +684.371 455.809 l +683.918 455.207 l +683.316 454.762 l +682.723 454.16 l +681.219 453.414 l +679.414 452.66 l +677.617 452.359 l +675.664 452.211 l +663.059 452.211 l +662.16 452.359 l +661.258 452.512 l +660.355 452.813 l +659.609 453.258 l +658.855 453.711 l +658.105 454.16 l +657.504 454.762 l +656.902 455.363 l +656.453 456.109 l +656.008 456.855 l +655.555 457.758 l +655.254 458.512 l +655.105 459.406 l +654.953 460.461 l +654.953 521.344 l +634.844 521.344 l +634.844 461.355 l +634.992 458.512 l +635.445 455.809 l +636.195 453.113 l +637.098 450.563 l +638.293 448.16 l +639.648 445.91 l +641.301 443.813 l +643.098 441.863 l +645.047 440.063 l +647.301 438.414 l +649.551 437.066 l +652.105 435.863 l +654.805 434.965 l +657.504 434.367 l +660.355 433.914 l +663.359 433.77 l +673.113 433.77 l +674.316 434.07 l +675.512 434.367 l +676.715 434.668 l +678.965 435.719 l +681.066 436.918 l +684.07 439.316 l +685.723 440.664 l +685.723 434.516 l +704.934 434.516 l +h +840.902 239.426 m +840.902 324 l +828.602 324 l +828.602 239.426 l +840.902 239.426 l +h +965.473 148.105 m +965.473 162.648 l +950.762 162.648 l +950.762 148.105 l +965.473 148.105 l +h +613.383 434.516 m +613.383 495.25 l +613.234 498.094 l +612.934 500.797 l +612.332 503.348 l +611.578 505.898 l +610.527 508.293 l +609.332 510.395 l +607.828 512.492 l +606.18 514.441 l +604.375 516.09 l +602.277 517.59 l +600.023 518.941 l +597.473 519.988 l +594.773 520.891 l +591.918 521.488 l +588.918 521.938 l +585.766 522.09 l +577.211 522.09 l +575.859 521.938 l +574.512 521.789 l +573.16 521.488 l +571.813 521.043 l +569.559 519.84 l +567.457 518.641 l +564.453 516.242 l +563.406 515.195 l +563.406 554.328 l +543.445 554.328 l +543.445 434.516 l +563.406 434.516 l +563.406 500.645 l +564.008 501.098 l +565.957 502.445 l +567.457 503.195 l +569.258 503.793 l +570.309 504.094 l +571.512 504.246 l +572.859 504.395 l +586.066 504.395 l +587.121 504.246 l +588.016 504.094 l +588.918 503.793 l +589.82 503.348 l +590.57 502.895 l +591.316 502.445 l +591.918 501.844 l +592.371 501.246 l +592.82 500.496 l +593.27 499.75 l +593.57 498.848 l +593.871 498.094 l +594.023 497.199 l +594.172 496.145 l +594.172 434.516 l +613.383 434.516 l +h +963.973 42.8359 m +963.973 127.414 l +951.664 127.414 l +951.664 42.8359 l +963.973 42.8359 l +h +714.086 264.77 m +714.086 358.488 l +701.781 358.488 l +701.781 263.422 l +701.48 261.918 l +701.031 260.57 l +700.578 259.223 l +699.977 258.02 l +699.227 256.82 l +698.324 255.625 l +697.43 254.57 l +696.375 253.676 l +695.176 252.773 l +693.977 252.027 l +692.773 251.426 l +691.422 250.973 l +690.074 250.523 l +688.57 250.223 l +661.859 250.223 l +660.504 250.523 l +659.156 250.973 l +657.805 251.426 l +656.609 252.027 l +655.406 252.773 l +654.203 253.676 l +653.152 254.57 l +652.25 255.625 l +651.352 256.82 l +650.602 258.02 l +650 259.223 l +649.398 260.57 l +649.098 261.918 l +648.805 263.422 l +648.805 358.488 l +635.746 358.488 l +635.746 262.07 l +636.195 259.523 l +636.797 256.973 l +637.543 254.57 l +638.594 252.32 l +639.945 250.078 l +641.301 248.121 l +642.949 246.324 l +644.746 244.523 l +646.852 243.176 l +648.949 241.828 l +651.203 240.777 l +653.754 239.879 l +656.309 239.277 l +659.008 238.828 l +661.859 238.676 l +687.219 238.676 l +689.926 238.828 l +692.473 239.129 l +695.023 239.727 l +697.578 240.324 l +699.828 241.379 l +702.082 242.574 l +704.18 243.922 l +706.129 245.426 l +707.934 247.227 l +709.43 249.176 l +710.785 251.273 l +711.984 253.523 l +712.887 256.07 l +713.488 258.773 l +713.934 261.77 l +714.086 264.77 l +h +524.234 461.355 m +524.234 462.109 l +505.023 462.109 l +505.023 460.609 l +504.871 459.262 l +504.723 458.059 l +504.422 457.012 l +504.121 456.109 l +503.672 455.363 l +503.219 454.609 l +502.773 454.012 l +502.023 453.559 l +501.422 453.113 l +500.672 452.813 l +499.77 452.512 l +497.969 452.211 l +483.262 452.211 l +482.211 452.359 l +481.309 452.66 l +480.406 452.961 l +479.512 453.414 l +478.758 453.859 l +478.008 454.461 l +477.258 455.207 l +476.656 455.809 l +476.055 456.711 l +475.457 457.457 l +475.008 458.359 l +474.707 459.262 l +474.406 460.16 l +474.258 461.207 l +474.258 496.145 l +474.406 497.199 l +474.707 498.094 l +475.008 498.848 l +475.457 499.75 l +476.055 500.496 l +476.656 501.246 l +477.258 501.844 l +478.008 502.445 l +478.758 502.895 l +479.512 503.348 l +480.406 503.793 l +481.309 503.949 l +482.211 504.246 l +483.262 504.395 l +496.77 504.395 l +497.668 504.246 l +498.57 504.094 l +499.469 503.793 l +500.371 503.348 l +501.121 502.895 l +501.723 502.445 l +502.473 501.844 l +502.918 501.246 l +503.52 500.496 l +503.973 499.75 l +504.273 498.848 l +504.574 498.094 l +504.871 497.199 l +505.023 496.145 l +505.023 495.25 l +524.234 495.25 l +524.082 498.094 l +523.633 500.945 l +523.031 503.648 l +522.129 506.195 l +521.082 508.594 l +519.73 510.844 l +518.082 512.793 l +516.277 514.742 l +514.324 516.391 l +512.227 517.891 l +509.828 519.094 l +507.422 520.141 l +504.723 521.043 l +501.871 521.641 l +498.871 521.938 l +495.715 522.09 l +483.563 522.09 l +480.559 521.938 l +477.559 521.488 l +474.855 520.891 l +472.309 519.84 l +469.754 518.793 l +467.352 517.438 l +465.25 515.789 l +463.152 513.992 l +461.348 512.043 l +459.848 509.941 l +458.348 507.691 l +457.145 505.297 l +456.246 502.746 l +455.648 500.043 l +455.195 497.199 l +455.047 494.496 l +455.047 462.109 l +455.195 459.262 l +455.648 456.559 l +456.246 453.859 l +457.145 451.309 l +458.348 448.762 l +459.848 446.363 l +461.348 444.262 l +463.152 442.164 l +465.25 440.363 l +467.352 438.715 l +469.754 437.215 l +472.309 436.02 l +474.855 435.117 l +477.559 434.367 l +479.059 434.07 l +480.559 433.914 l +481.91 433.77 l +495.715 433.77 l +498.723 433.914 l +501.57 434.367 l +504.422 434.965 l +506.977 435.863 l +509.527 437.066 l +511.926 438.414 l +514.031 440.063 l +516.129 441.863 l +517.926 443.813 l +519.43 445.91 l +520.934 448.16 l +521.984 450.563 l +523.031 453.113 l +523.633 455.809 l +524.082 458.512 l +524.234 461.355 l +h +844.805 68.9297 m +844.805 76.7266 l +844.656 78.5273 l +844.504 80.3281 l +844.211 82.125 l +843.91 83.9258 l +843.453 85.5742 l +842.855 87.3711 l +842.105 88.875 l +841.355 90.5234 l +840.453 92.0234 l +839.406 93.3711 l +838.203 94.7188 l +837 95.9219 l +835.648 96.9688 l +834.152 98.0234 l +832.648 98.918 l +831 99.6719 l +787.926 118.863 l +786.273 119.91 l +784.926 120.965 l +783.723 122.313 l +782.672 123.816 l +781.926 125.465 l +781.324 127.262 l +781.023 129.211 l +781.023 138.809 l +781.324 140.156 l +781.625 141.504 l +782.227 142.707 l +782.82 143.906 l +783.574 145.109 l +784.473 146.156 l +785.375 147.059 l +786.422 147.957 l +787.625 148.855 l +788.828 149.453 l +790.023 150.055 l +791.379 150.504 l +792.73 150.801 l +794.078 151.102 l +813.738 151.102 l +815.09 150.957 l +816.438 150.656 l +817.641 150.203 l +818.992 149.754 l +820.195 149.152 l +821.395 148.406 l +822.594 147.656 l +823.641 146.758 l +824.699 145.855 l +825.594 144.809 l +826.348 143.754 l +827.098 142.559 l +827.699 141.359 l +828.301 140.156 l +828.602 138.809 l +840.902 138.809 l +840.453 141.359 l +839.852 143.906 l +838.953 146.305 l +837.902 148.555 l +836.551 150.656 l +835.051 152.75 l +833.398 154.555 l +831.602 156.355 l +829.648 157.852 l +827.543 159.352 l +825.297 160.555 l +822.895 161.602 l +820.34 162.352 l +817.793 162.949 l +815.242 163.25 l +812.535 163.398 l +795.578 163.398 l +792.879 163.25 l +790.176 162.949 l +787.625 162.203 l +785.074 161.449 l +782.672 160.254 l +780.422 159.051 l +778.172 157.551 l +776.219 155.902 l +774.422 153.953 l +772.77 152.004 l +771.414 149.906 l +770.219 147.504 l +769.168 145.109 l +768.414 142.707 l +768.113 140.008 l +767.965 137.305 l +767.965 128.609 l +768.266 126.066 l +768.566 123.816 l +769.168 121.715 l +769.918 119.766 l +770.664 117.961 l +771.715 116.168 l +772.918 114.664 l +774.121 113.168 l +775.617 111.816 l +777.27 110.621 l +778.918 109.418 l +780.723 108.219 l +782.82 107.168 l +784.926 106.121 l +787.176 105.066 l +821.695 89.7734 l +824.398 88.2734 l +826.496 86.625 l +827.398 85.875 l +828.301 85.1211 l +828.902 84.2266 l +829.648 83.4727 l +830.098 82.5781 l +830.551 81.8242 l +830.852 80.9258 l +831.148 80.0273 l +831.602 78.3789 l +831.746 76.7266 l +831.746 68.9297 l +831.602 67.2813 l +831.445 65.6328 l +831 64.1289 l +830.551 62.7813 l +829.949 61.4336 l +829.348 60.2305 l +828.445 59.1836 l +827.543 58.2813 l +826.496 57.3828 l +825.445 56.6328 l +824.242 55.8867 l +822.895 55.4336 l +821.543 54.9844 l +820.195 54.6836 l +818.691 54.3828 l +794.078 54.3828 l +792.73 54.6836 l +791.379 54.9844 l +790.176 55.2852 l +788.977 55.8867 l +787.777 56.4883 l +786.723 57.2344 l +785.676 57.9805 l +784.773 58.8828 l +783.875 59.9297 l +783.121 60.9844 l +782.52 62.1797 l +781.926 63.3828 l +781.473 64.7305 l +781.172 66.0781 l +781.023 67.4336 l +767.965 67.4336 l +768.266 64.8828 l +768.867 62.332 l +769.766 59.9297 l +770.664 57.6836 l +771.867 55.4336 l +773.219 53.3359 l +774.723 51.3867 l +776.371 49.5859 l +778.324 47.7891 l +780.273 46.4336 l +782.371 45.0859 l +784.625 44.0391 l +787.023 43.1367 l +789.578 42.5352 l +792.129 42.0898 l +794.828 41.9375 l +817.793 41.9375 l +820.797 42.0898 l +823.641 42.5352 l +826.348 43.1367 l +828.902 44.1875 l +831.301 45.2383 l +833.398 46.7344 l +835.504 48.2383 l +837.301 50.0391 l +838.953 51.9883 l +840.453 54.0859 l +841.805 56.1875 l +842.855 58.582 l +843.609 61.1328 l +844.211 63.6836 l +844.656 66.2305 l +844.805 68.9297 l +h +437.332 457.609 m +437.332 464.508 l +437.188 467.055 l +436.887 469.457 l +436.438 471.707 l +435.684 473.953 l +434.789 475.906 l +433.73 477.855 l +432.535 479.652 l +431.184 481.152 l +429.535 482.648 l +427.879 483.852 l +426.082 484.898 l +424.129 485.801 l +422.031 486.555 l +419.777 487.148 l +417.527 487.449 l +391.262 487.449 l +390.359 487.602 l +389.609 487.75 l +388.707 487.902 l +388.113 488.348 l +387.512 488.801 l +387.059 489.398 l +386.758 490.297 l +386.609 491.348 l +386.609 500.645 l +386.758 501.547 l +387.059 502.445 l +387.512 503.195 l +388.113 503.648 l +388.707 503.949 l +389.609 504.246 l +390.359 504.395 l +410.023 504.395 l +411.074 504.246 l +411.973 503.949 l +412.723 503.348 l +413.473 502.594 l +413.926 501.547 l +414.227 500.043 l +414.375 498.246 l +434.332 498.246 l +434.188 500.797 l +433.73 503.195 l +433.137 505.598 l +432.234 507.848 l +431.184 509.941 l +429.984 511.891 l +428.48 513.691 l +426.828 515.344 l +425.18 516.844 l +423.227 518.191 l +421.129 519.395 l +419.023 520.289 l +416.773 521.043 l +414.527 521.641 l +412.121 521.938 l +409.723 522.09 l +391.262 522.09 l +388.859 521.938 l +386.461 521.641 l +384.211 521.043 l +381.957 520.289 l +379.855 519.395 l +377.902 518.191 l +376.105 516.992 l +374.453 515.488 l +372.949 513.84 l +371.449 512.043 l +370.25 510.094 l +369.348 508.145 l +368.449 506.043 l +367.848 503.793 l +367.551 501.398 l +367.398 498.996 l +367.398 492.102 l +367.551 489.699 l +367.848 487.449 l +368.449 485.199 l +369.348 483.102 l +370.25 481.152 l +371.449 479.352 l +372.949 477.703 l +374.453 476.055 l +376.105 474.707 l +377.902 473.504 l +379.855 472.457 l +381.957 471.555 l +384.211 470.809 l +386.461 470.207 l +388.859 469.906 l +411.973 469.906 l +412.871 469.754 l +413.773 469.605 l +414.676 469.16 l +415.574 468.703 l +416.324 468.105 l +416.926 467.211 l +417.227 466.309 l +417.375 465.254 l +417.375 455.961 l +417.227 455.207 l +416.926 454.461 l +416.477 453.859 l +415.875 453.258 l +415.121 452.813 l +414.074 452.512 l +413.172 452.211 l +388.559 452.211 l +387.66 452.512 l +386.91 452.961 l +386.309 453.559 l +385.707 454.313 l +385.406 455.363 l +385.105 456.711 l +385.105 458.359 l +365.145 458.359 l +365.301 455.809 l +365.602 453.258 l +366.195 450.863 l +366.949 448.613 l +368 446.512 l +369.203 444.414 l +370.551 442.613 l +372.203 440.816 l +373.852 439.316 l +375.652 437.813 l +377.602 436.617 l +379.707 435.719 l +381.957 434.816 l +384.211 434.215 l +386.461 433.914 l +389.008 433.77 l +412.723 433.77 l +415.277 433.914 l +417.828 434.215 l +420.227 434.816 l +422.48 435.719 l +424.578 436.617 l +426.684 437.813 l +428.48 439.168 l +430.285 440.816 l +431.781 442.465 l +433.285 444.262 l +434.488 446.211 l +435.535 448.313 l +436.285 450.563 l +436.887 452.813 l +437.188 455.207 l +437.332 457.609 l +h +347.438 434.516 m +347.438 495.25 l +347.285 498.094 l +346.992 500.797 l +346.391 503.348 l +345.488 505.898 l +344.438 508.293 l +343.234 510.395 l +341.73 512.492 l +340.082 514.441 l +338.129 516.09 l +336.18 517.59 l +333.926 518.941 l +331.527 519.988 l +328.977 520.891 l +326.277 521.488 l +323.422 521.938 l +320.574 522.09 l +310.52 522.09 l +309.316 521.938 l +307.969 521.789 l +306.766 521.488 l +305.715 521.043 l +303.617 520.141 l +301.664 518.941 l +298.813 516.543 l +297.461 515.195 l +297.461 554.328 l +277.504 554.328 l +277.504 434.516 l +297.461 434.516 l +297.461 498.395 l +297.609 499.148 l +297.91 499.895 l +298.211 500.496 l +298.66 501.098 l +299.113 501.699 l +299.715 502.293 l +300.309 502.746 l +301.813 503.496 l +303.316 503.949 l +304.965 504.246 l +306.766 504.395 l +319.375 504.395 l +320.422 504.246 l +321.473 504.094 l +322.375 503.793 l +323.277 503.348 l +324.023 502.895 l +324.773 502.445 l +325.527 501.844 l +326.129 501.246 l +326.723 500.496 l +327.18 499.75 l +327.48 498.848 l +327.777 498.094 l +328.078 497.199 l +328.227 496.145 l +328.227 434.516 l +347.438 434.516 l +h +569.559 239.426 m +569.559 298.656 l +569.406 301.359 l +569.105 303.91 l +568.355 306.461 l +567.609 308.855 l +566.406 311.105 l +565.203 313.203 l +563.707 315.305 l +562.055 317.105 l +560.105 318.754 l +558.152 320.25 l +555.902 321.605 l +553.648 322.652 l +551.25 323.555 l +548.699 324.148 l +546.145 324.602 l +543.445 324.75 l +533.391 324.75 l +531.738 324.602 l +530.234 324.602 l +528.738 324.449 l +527.234 324.148 l +525.887 323.855 l +524.684 323.402 l +523.48 322.953 l +522.285 322.352 l +519.879 320.852 l +517.633 319.203 l +515.227 317.105 l +512.676 314.703 l +511.477 315.906 l +510.277 317.105 l +509.074 318.152 l +507.723 319.203 l +505.172 320.852 l +502.473 322.352 l +499.918 323.402 l +497.52 324.148 l +495.414 324.602 l +493.465 324.75 l +482.66 324.75 l +479.813 324.602 l +477.105 324.301 l +474.855 323.699 l +472.754 322.953 l +470.953 322.051 l +469.152 320.852 l +467.504 319.355 l +465.852 317.852 l +465.852 324 l +453.543 324 l +453.543 239.426 l +465.852 239.426 l +465.852 301.66 l +466.152 303.156 l +466.453 304.504 l +467.055 305.707 l +467.652 306.906 l +468.406 307.953 l +469.301 309.004 l +470.203 309.758 l +471.254 310.656 l +472.453 311.254 l +473.656 311.852 l +474.855 312.305 l +476.211 312.754 l +477.559 312.906 l +478.91 313.203 l +493.465 313.203 l +494.82 313.055 l +496.016 312.906 l +497.219 312.453 l +498.422 312.008 l +499.617 311.406 l +500.672 310.656 l +501.723 309.758 l +502.625 308.707 l +503.52 307.656 l +504.273 306.605 l +504.871 305.406 l +505.473 304.059 l +505.926 302.855 l +506.227 301.359 l +506.527 300.012 l +506.527 239.426 l +518.828 239.426 l +518.828 299.41 l +518.98 300.758 l +519.129 302.109 l +519.43 303.457 l +519.879 304.805 l +520.48 306.004 l +521.234 307.055 l +521.984 308.109 l +523.031 309.156 l +523.934 310.059 l +525.137 310.805 l +526.332 311.555 l +527.535 312.152 l +529.039 312.605 l +530.391 312.906 l +531.887 313.055 l +533.391 313.203 l +544.195 313.203 l +545.699 313.055 l +547.047 312.906 l +548.246 312.453 l +549.445 312.008 l +550.648 311.406 l +551.699 310.656 l +552.746 309.758 l +553.648 308.707 l +554.398 307.656 l +555.152 306.605 l +555.75 305.406 l +556.348 304.059 l +556.805 302.855 l +557.105 301.359 l +557.25 300.012 l +557.25 239.426 l +569.559 239.426 l +h +704.934 42.8359 m +704.934 162.648 l +692.625 162.648 l +692.625 122.016 l +691.121 123.363 l +689.625 124.563 l +688.121 125.613 l +686.473 126.512 l +684.672 127.113 l +682.57 127.715 l +680.469 128.016 l +677.918 128.16 l +665.609 128.16 l +662.758 128.016 l +659.91 127.563 l +657.203 126.961 l +654.656 126.066 l +652.25 125.012 l +650 123.664 l +648.047 122.16 l +646.098 120.512 l +644.445 118.715 l +642.949 116.613 l +641.746 114.52 l +640.699 112.27 l +639.797 109.867 l +639.195 107.316 l +638.895 104.621 l +638.746 102.07 l +638.746 68.1797 l +638.895 65.4766 l +639.348 62.9336 l +639.945 60.3828 l +640.844 57.9805 l +641.895 55.5859 l +643.25 53.4844 l +644.602 51.5352 l +646.398 49.5859 l +648.203 47.9375 l +650.152 46.4336 l +652.406 45.0859 l +654.656 44.0391 l +657.055 43.1367 l +659.609 42.5352 l +662.16 42.0898 l +664.859 41.9375 l +675.664 41.9375 l +677.918 42.0898 l +680.168 42.3906 l +682.422 42.8359 l +684.672 43.5898 l +685.723 44.0391 l +686.77 44.6406 l +687.82 45.2383 l +688.871 45.9883 l +689.773 46.7344 l +690.82 47.6367 l +691.723 48.6836 l +692.625 49.7383 l +692.625 42.8359 l +704.934 42.8359 l +h +259.039 461.355 m +259.039 462.109 l +239.082 462.109 l +239.082 460.609 l +238.926 459.262 l +238.781 458.059 l +238.48 457.012 l +238.18 456.109 l +237.73 455.363 l +237.277 454.609 l +236.676 454.012 l +236.078 453.559 l +235.48 453.113 l +234.723 452.813 l +233.828 452.512 l +232.023 452.211 l +217.316 452.211 l +216.414 452.359 l +215.52 452.66 l +214.617 452.961 l +213.715 453.414 l +212.965 453.859 l +212.367 454.461 l +211.617 455.207 l +211.016 455.809 l +210.563 456.711 l +210.113 457.457 l +209.813 458.359 l +209.512 459.262 l +209.211 460.16 l +209.063 461.207 l +209.063 496.145 l +209.211 497.199 l +209.512 498.094 l +209.813 498.848 l +210.113 499.75 l +210.563 500.496 l +211.016 501.246 l +211.617 501.844 l +212.367 502.445 l +212.965 502.895 l +213.715 503.348 l +214.617 503.793 l +215.52 503.949 l +216.414 504.246 l +217.316 504.395 l +230.977 504.395 l +232.023 504.246 l +232.926 504.094 l +233.828 503.793 l +234.723 503.348 l +235.48 502.895 l +236.078 502.445 l +236.676 501.844 l +237.277 501.246 l +237.73 500.496 l +238.18 499.75 l +238.48 498.848 l +238.781 498.094 l +238.926 497.199 l +239.082 496.145 l +239.082 495.25 l +259.039 495.25 l +258.895 498.094 l +258.438 500.945 l +257.836 503.648 l +256.789 506.195 l +255.738 508.594 l +254.234 510.844 l +252.586 512.793 l +250.789 514.742 l +248.684 516.391 l +246.43 517.891 l +244.031 519.094 l +241.48 520.141 l +238.781 521.043 l +235.926 521.641 l +232.926 521.938 l +229.773 522.09 l +216.715 522.09 l +213.867 521.938 l +210.863 521.488 l +208.164 520.891 l +205.609 519.84 l +203.211 518.793 l +200.957 517.438 l +198.859 515.789 l +196.91 513.992 l +195.105 512.043 l +193.602 509.941 l +192.254 507.691 l +191.203 505.297 l +190.301 502.746 l +189.551 500.043 l +189.254 497.199 l +189.105 494.496 l +189.105 462.109 l +189.254 459.262 l +189.699 456.559 l +190.301 453.859 l +191.203 451.309 l +192.406 448.762 l +193.902 446.363 l +195.406 444.262 l +197.203 442.164 l +199.309 440.363 l +201.406 438.715 l +203.813 437.215 l +206.211 436.02 l +208.91 435.117 l +211.617 434.367 l +213.113 434.07 l +214.617 433.914 l +215.969 433.77 l +229.773 433.77 l +232.773 433.914 l +235.781 434.367 l +238.48 434.965 l +241.18 435.863 l +243.73 437.066 l +246.129 438.414 l +248.383 440.063 l +250.488 441.863 l +252.438 443.813 l +254.09 445.91 l +255.438 448.16 l +256.789 450.563 l +257.691 453.113 l +258.438 455.809 l +258.895 458.512 l +259.039 461.355 l +h +431.184 239.426 m +431.184 324 l +418.129 324 l +418.129 261.02 l +417.977 259.523 l +417.527 258.172 l +417.227 256.973 l +416.625 255.926 l +416.023 254.871 l +415.277 253.977 l +414.375 253.223 l +413.473 252.473 l +412.422 251.871 l +411.219 251.426 l +410.023 250.973 l +408.672 250.672 l +407.316 250.371 l +405.82 250.223 l +387.211 250.223 l +385.707 250.523 l +384.211 250.824 l +382.855 251.273 l +381.656 251.871 l +380.457 252.621 l +379.555 253.375 l +378.504 254.273 l +377.754 255.172 l +377.008 256.223 l +376.406 257.418 l +375.953 258.621 l +375.652 259.969 l +375.352 261.172 l +375.203 262.672 l +375.055 264.02 l +375.055 324 l +362.746 324 l +362.746 264.77 l +362.895 261.918 l +363.195 259.07 l +363.797 256.371 l +364.547 253.977 l +365.602 251.574 l +366.797 249.477 l +368.148 247.527 l +369.797 245.727 l +371.602 244.078 l +373.551 242.727 l +375.652 241.527 l +378.055 240.48 l +380.609 239.727 l +383.156 239.129 l +386.008 238.828 l +389.008 238.676 l +400.414 238.676 l +403.414 238.828 l +406.121 238.977 l +408.52 239.426 l +410.773 240.023 l +412.723 240.926 l +414.676 241.973 l +416.477 243.328 l +418.129 244.824 l +418.129 239.426 l +431.184 239.426 l +h +528.137 148.105 m +528.137 162.648 l +513.43 162.648 l +513.43 148.105 l +528.137 148.105 l +h +617.285 78.2266 m +617.285 102.07 l +617.137 104.766 l +616.684 107.316 l +616.082 109.867 l +615.184 112.27 l +614.129 114.52 l +612.781 116.613 l +611.281 118.715 l +609.48 120.512 l +607.68 122.16 l +605.578 123.664 l +603.324 125.012 l +601.074 126.066 l +598.52 126.961 l +595.973 127.563 l +593.121 128.016 l +590.27 128.16 l +576.461 128.16 l +573.461 128.016 l +570.758 127.563 l +568.055 126.961 l +565.504 126.066 l +563.105 125.012 l +560.852 123.664 l +558.902 122.16 l +556.949 120.512 l +555.301 118.715 l +553.797 116.613 l +552.602 114.52 l +551.551 112.27 l +550.648 109.867 l +550.047 107.316 l +549.746 104.621 l +549.602 102.07 l +549.602 67.4336 l +549.746 64.8828 l +550.047 62.332 l +550.797 59.9297 l +551.699 57.6836 l +552.746 55.4336 l +554.098 53.3359 l +555.602 51.3867 l +557.25 49.5859 l +559.203 47.7891 l +561.152 46.4336 l +563.406 45.0859 l +565.805 44.0391 l +568.355 43.1367 l +570.91 42.5352 l +573.609 42.0898 l +576.461 41.9375 l +591.918 41.9375 l +594.324 42.0898 l +596.574 42.2383 l +598.973 42.6914 l +601.074 43.2891 l +603.176 44.0391 l +605.129 44.9375 l +606.926 45.9883 l +608.73 47.1875 l +610.227 48.5352 l +611.578 50.1875 l +612.781 51.8359 l +613.828 53.7852 l +614.582 55.7344 l +615.184 57.9805 l +615.633 60.3828 l +615.633 62.7813 l +602.578 62.7813 l +602.277 61.7344 l +601.977 60.6836 l +601.527 59.6328 l +601.074 58.7344 l +600.473 57.9805 l +599.875 57.2344 l +599.273 56.4883 l +598.52 55.8867 l +597.773 55.4336 l +597.023 54.9844 l +596.121 54.5391 l +595.219 54.2383 l +594.324 53.9375 l +593.27 53.7852 l +592.219 53.6367 l +576.309 53.6367 l +574.66 53.7852 l +573.16 54.0859 l +571.813 54.3828 l +570.309 54.832 l +569.105 55.2852 l +567.91 55.8867 l +566.855 56.6328 l +565.957 57.5352 l +565.055 58.4375 l +564.309 59.4844 l +563.707 60.6836 l +563.254 62.0352 l +562.953 63.5313 l +562.805 65.0313 l +562.656 66.6797 l +562.656 78.2266 l +617.285 78.2266 l +h +169.895 461.355 m +169.895 494.496 l +169.742 497.199 l +169.293 500.043 l +168.691 502.746 l +167.641 505.297 l +166.594 507.691 l +165.09 509.941 l +163.586 512.043 l +161.637 513.992 l +159.684 515.789 l +157.586 517.438 l +155.188 518.793 l +152.633 519.84 l +150.082 520.891 l +147.227 521.488 l +144.379 521.938 l +141.375 522.09 l +129.969 522.09 l +126.969 521.938 l +123.969 521.488 l +121.266 520.891 l +118.563 519.84 l +116.016 518.793 l +113.609 517.438 l +111.359 515.789 l +109.258 513.992 l +107.309 512.043 l +105.656 509.941 l +104.156 507.691 l +102.957 505.297 l +102.055 502.746 l +101.309 500.043 l +100.855 497.199 l +100.707 494.496 l +100.707 462.109 l +100.855 459.262 l +101.309 456.559 l +102.055 453.859 l +102.957 451.309 l +104.156 448.762 l +105.656 446.363 l +107.309 444.262 l +109.258 442.164 l +111.359 440.363 l +113.609 438.715 l +116.016 437.215 l +118.563 436.02 l +121.266 435.117 l +123.969 434.367 l +126.969 433.914 l +129.969 433.77 l +141.375 433.77 l +144.379 433.914 l +147.227 434.367 l +150.082 434.965 l +152.633 435.863 l +155.188 437.066 l +157.586 438.414 l +159.684 440.063 l +161.637 441.863 l +163.586 443.813 l +165.09 445.91 l +166.594 448.16 l +167.641 450.563 l +168.691 453.113 l +169.293 455.809 l +169.742 458.512 l +169.895 461.355 l +h +527.234 42.8359 m +527.234 127.414 l +515.078 127.414 l +515.078 42.8359 l +527.234 42.8359 l +h +340.535 239.426 m +340.535 298.656 l +340.383 301.359 l +339.934 303.91 l +339.332 306.461 l +338.43 308.855 l +337.383 311.105 l +336.031 313.203 l +334.527 315.305 l +332.879 317.105 l +331.082 318.754 l +329.129 320.25 l +326.879 321.605 l +324.625 322.652 l +322.227 323.555 l +319.676 324.148 l +317.121 324.602 l +314.422 324.75 l +302.113 324.75 l +299.113 324.602 l +296.559 324.301 l +294.16 323.699 l +292.211 322.953 l +290.258 322.051 l +288.609 320.852 l +286.805 319.355 l +285.152 317.852 l +285.152 358.488 l +272.098 358.488 l +272.098 239.426 l +285.152 239.426 l +285.152 300.16 l +285.301 301.66 l +285.453 303.156 l +285.754 304.504 l +286.203 305.707 l +286.805 306.906 l +287.555 307.953 l +288.309 309.004 l +289.203 309.758 l +290.258 310.656 l +291.309 311.254 l +292.359 311.852 l +293.559 312.305 l +294.91 312.754 l +296.262 312.906 l +297.609 313.203 l +313.668 313.203 l +315.023 313.055 l +316.52 312.906 l +317.871 312.605 l +319.074 312.152 l +320.422 311.555 l +321.625 310.805 l +322.676 310.059 l +323.723 309.156 l +324.773 308.109 l +325.676 307.055 l +326.43 306.004 l +327.023 304.805 l +327.48 303.457 l +327.926 302.109 l +328.078 300.758 l +328.227 299.41 l +328.227 239.426 l +340.535 239.426 l +h +499.617 41.9375 m +499.617 54.3828 l +493.617 54.3828 l +492.113 54.5391 l +490.766 54.6836 l +489.414 54.9844 l +488.211 55.4336 l +487.016 56.0352 l +485.961 56.6328 l +485.063 57.3828 l +484.016 58.4375 l +482.961 59.4844 l +482.211 60.6836 l +481.609 62.0352 l +481.008 63.3828 l +480.707 64.8828 l +480.406 66.5313 l +480.406 162.648 l +467.352 162.648 l +467.352 68.1797 l +467.504 64.8828 l +467.805 61.7344 l +468.406 58.8828 l +469.301 56.332 l +469.754 55.1328 l +470.355 53.9375 l +470.953 52.8828 l +471.707 51.8359 l +472.309 50.7852 l +473.203 49.8867 l +473.957 48.9844 l +474.855 48.2383 l +476.805 46.7344 l +478.758 45.3867 l +481.16 44.3398 l +483.563 43.4375 l +486.113 42.8359 l +488.965 42.3906 l +491.965 42.0898 l +494.969 41.9375 l +499.617 41.9375 l +h +79.9922 434.516 m +79.9922 554.328 l +59.1289 554.328 l +59.1289 505.145 l +20.707 505.145 l +20.707 554.328 l +0 554.328 l +0 434.516 l +20.707 434.516 l +20.707 485.199 l +59.1289 485.199 l +59.1289 434.516 l +79.9922 434.516 l +h +444.992 68.1797 m +444.992 104.766 l +444.543 107.316 l +443.941 109.867 l +443.188 112.27 l +441.992 114.52 l +440.789 116.613 l +439.285 118.715 l +437.633 120.512 l +435.836 122.16 l +433.73 123.664 l +431.484 125.012 l +429.234 126.066 l +426.684 126.961 l +423.98 127.563 l +421.129 128.016 l +418.129 128.16 l +407.316 128.16 l +405.219 128.016 l +403.121 127.715 l +401.168 127.262 l +399.367 126.512 l +397.414 125.613 l +395.465 124.262 l +393.512 122.461 l +391.262 120.363 l +391.262 127.414 l +378.203 127.414 l +378.203 8.94922 l +391.262 8.94922 l +391.262 48.2383 l +392.762 46.8867 l +394.113 45.6875 l +395.766 44.6406 l +397.414 43.7383 l +399.219 42.9883 l +401.168 42.3906 l +403.414 42.0898 l +405.82 41.9375 l +418.129 41.9375 l +420.828 42.0898 l +423.527 42.3906 l +426.082 42.8359 l +428.48 43.5898 l +430.887 44.4844 l +433.137 45.6875 l +435.086 46.8867 l +437.039 48.5352 l +438.836 50.1875 l +440.34 52.1367 l +441.691 54.2383 l +442.887 56.6328 l +443.789 59.1836 l +444.543 62.0352 l +444.84 65.0313 l +444.992 68.1797 l +h +355.844 68.1797 m +355.844 102.07 l +355.691 104.766 l +355.391 107.316 l +354.789 109.867 l +353.895 112.27 l +352.84 114.52 l +351.641 116.613 l +350.137 118.715 l +348.488 120.512 l +346.691 122.16 l +344.586 123.664 l +342.332 125.012 l +339.934 126.066 l +337.535 126.961 l +334.828 127.563 l +331.98 128.016 l +328.977 128.16 l +318.926 128.16 l +316.82 128.016 l +314.57 127.715 l +312.617 127.262 l +310.52 126.512 l +308.566 125.613 l +306.465 124.262 l +304.363 122.461 l +302.113 120.363 l +302.113 127.414 l +289.805 127.414 l +289.805 8.94922 l +302.113 8.94922 l +302.113 48.2383 l +303.617 46.8867 l +305.113 45.6875 l +306.766 44.6406 l +308.566 43.7383 l +310.52 42.9883 l +312.617 42.3906 l +315.023 42.0898 l +317.422 41.9375 l +328.977 41.9375 l +331.828 42.0898 l +334.527 42.5352 l +337.234 43.1367 l +339.633 43.8867 l +342.031 44.9375 l +344.285 46.2891 l +346.234 47.6367 l +348.188 49.2852 l +349.836 51.0859 l +351.488 53.1836 l +352.691 55.2852 l +353.895 57.6836 l +354.789 60.0859 l +355.391 62.6328 l +355.691 65.332 l +355.844 68.1797 l +h +77.5938 265.516 m +77.5938 279.313 l +77.4414 280.816 l +77.293 282.164 l +76.9922 283.664 l +76.543 285.16 l +76.0898 286.516 l +75.4883 288.012 l +74.8945 289.359 l +74.293 290.715 l +73.5391 292.063 l +72.6406 293.262 l +71.7383 294.457 l +70.8359 295.66 l +69.7891 296.707 l +68.7383 297.762 l +67.6836 298.656 l +68.7383 299.559 l +69.7891 300.457 l +70.8359 301.508 l +71.7383 302.707 l +72.6406 303.91 l +73.5391 305.105 l +74.293 306.461 l +74.8945 307.809 l +75.4883 309.156 l +76.0898 310.656 l +76.543 312.008 l +76.9922 313.5 l +77.293 315.004 l +77.4414 316.352 l +77.5938 317.852 l +77.5938 334.348 l +77.1406 336.898 l +76.543 339.445 l +75.7891 341.996 l +74.7383 344.246 l +73.5391 346.496 l +72.1875 348.59 l +70.5352 350.539 l +68.7383 352.344 l +66.6328 353.844 l +64.5352 355.191 l +62.1328 356.395 l +59.4297 357.289 l +56.7305 357.891 l +53.8789 358.344 l +50.7266 358.488 l +0 358.488 l +0 239.426 l +50.7266 239.426 l +53.8789 239.578 l +56.7305 240.023 l +59.4297 240.625 l +62.1328 241.527 l +64.5352 242.574 l +66.6328 243.922 l +68.7383 245.426 l +70.5352 247.074 l +72.1875 248.875 l +73.5391 250.824 l +74.7383 253.074 l +75.7891 255.324 l +76.543 257.719 l +77.1406 260.27 l +77.5938 262.82 l +77.5938 265.516 l +h +275.25 42.8359 m +239.828 162.648 l +219.871 162.648 l +182.949 42.8359 l +196.758 42.8359 l +203.66 65.9336 l +255.137 65.9336 l +262.039 42.8359 l +275.25 42.8359 l +h +135.219 115.117 m +135.219 127.414 l +110.758 127.414 l +110.758 137.16 l +111.059 138.66 l +111.359 140.008 l +111.961 141.359 l +112.563 142.559 l +113.309 143.754 l +114.211 144.957 l +115.113 146.004 l +116.164 146.906 l +117.363 147.805 l +118.563 148.555 l +119.766 149.152 l +121.113 149.754 l +122.465 150.055 l +123.82 150.355 l +134.473 150.355 l +134.473 162.648 l +125.316 162.648 l +122.617 162.504 l +119.918 162.203 l +117.363 161.449 l +114.961 160.703 l +112.563 159.5 l +110.309 158.305 l +108.211 156.805 l +106.406 155.152 l +104.609 153.207 l +103.105 151.258 l +101.754 149.008 l +100.555 146.758 l +99.6523 144.355 l +98.9023 141.805 l +98.6016 139.262 l +98.4531 136.559 l +98.4531 127.414 l +82.9922 127.414 l +82.9922 115.117 l +98.4531 115.117 l +98.4531 42.8359 l +110.758 42.8359 l +110.758 115.117 l +135.219 115.117 l +h +66.9336 68.9297 m +66.9336 102.816 l +66.7891 104.32 l +66.7891 105.668 l +66.4883 107.168 l +66.3359 108.516 l +65.5859 111.066 l +64.6836 113.465 l +63.4883 115.715 l +61.9844 117.816 l +60.332 119.766 l +58.6836 121.414 l +56.7305 123.063 l +54.6289 124.41 l +52.3828 125.465 l +49.9766 126.359 l +47.5781 127.113 l +45.0234 127.715 l +42.625 128.016 l +39.918 128.16 l +26.8633 128.16 l +24.3164 128.016 l +21.7617 127.715 l +19.2109 127.113 l +16.8125 126.512 l +14.5586 125.613 l +12.3086 124.563 l +10.2031 123.215 l +8.25391 121.867 l +6.45313 120.363 l +4.80469 118.563 l +3.45313 116.766 l +2.25 114.816 l +1.35156 112.715 l +0.601563 110.465 l +0.148438 108.219 l +0 105.82 l +0 68.1797 l +0.148438 65.332 l +0.449219 62.6328 l +1.20313 60.0859 l +2.09766 57.6836 l +3.15234 55.2852 l +4.50391 53.1836 l +6 51.0859 l +7.65234 49.2852 l +9.60156 47.6367 l +11.707 46.2891 l +13.8047 44.9375 l +16.2109 43.8867 l +18.7617 43.1367 l +21.3086 42.5352 l +24.0156 42.0898 l +26.8633 41.9375 l +39.918 41.9375 l +42.625 42.0898 l +45.3242 42.5352 l +47.8789 43.1367 l +50.2773 44.1875 l +52.6758 45.2383 l +54.9258 46.7344 l +57.0313 48.2383 l +58.8281 50.0391 l +60.6328 51.9883 l +62.2852 54.0859 l +63.6328 56.1875 l +64.6836 58.582 l +65.5859 61.1328 l +66.3359 63.6836 l +66.7891 66.2305 l +66.9336 68.9297 l +h +1058.52 461.355 m +1058.37 460.461 l +1058.22 459.406 l +1057.93 458.512 l +1057.62 457.758 l +1057.17 456.855 l +1056.72 456.109 l +1056.12 455.363 l +1055.52 454.762 l +1054.77 454.16 l +1054.02 453.711 l +1053.12 453.258 l +1052.22 452.813 l +1051.32 452.512 l +1050.42 452.359 l +1049.52 452.211 l +1036.76 452.211 l +1035.71 452.359 l +1034.81 452.512 l +1033.91 452.813 l +1033.01 453.258 l +1032.11 453.711 l +1031.36 454.16 l +1030.61 454.762 l +1030.01 455.363 l +1029.41 456.109 l +1028.96 456.855 l +1028.5 457.758 l +1028.2 458.512 l +1027.91 459.406 l +1027.75 460.461 l +1027.75 496.145 l +1027.91 497.199 l +1028.2 498.094 l +1028.5 498.848 l +1028.96 499.75 l +1029.41 500.496 l +1030.01 501.246 l +1030.61 501.844 l +1031.36 502.445 l +1032.11 502.895 l +1033.01 503.348 l +1033.91 503.793 l +1034.81 503.949 l +1035.71 504.246 l +1036.76 504.395 l +1049.52 504.395 l +1050.42 504.246 l +1051.32 504.094 l +1052.22 503.793 l +1053.12 503.348 l +1054.02 502.895 l +1054.77 502.445 l +1055.52 501.844 l +1056.12 501.246 l +1056.72 500.496 l +1057.17 499.75 l +1057.62 498.848 l +1057.93 498.094 l +1058.22 497.199 l +1058.37 496.145 l +1058.52 495.25 l +1058.52 461.355 l +h +966.219 514.441 m +966.219 513.395 l +966.07 512.492 l +965.77 511.59 l +965.473 510.695 l +965.172 509.941 l +964.723 509.043 l +964.121 508.445 l +963.672 507.848 l +962.918 507.246 l +962.324 506.645 l +961.57 506.195 l +960.668 505.898 l +959.77 505.598 l +958.867 505.297 l +957.965 505.297 l +956.918 505.145 l +927.805 505.145 l +927.805 535.133 l +957.965 535.133 l +958.867 534.984 l +959.77 534.688 l +960.668 534.387 l +961.57 533.938 l +962.324 533.336 l +962.918 532.738 l +963.672 532.137 l +964.121 531.387 l +964.723 530.633 l +965.172 529.887 l +965.473 528.984 l +965.77 528.09 l +966.07 527.188 l +966.219 526.137 l +966.219 514.441 l +h +966.219 464.508 m +966.219 463.457 l +966.07 462.559 l +965.77 461.508 l +965.473 460.609 l +965.172 459.707 l +964.723 458.961 l +964.121 458.211 l +963.672 457.457 l +962.918 456.855 l +962.324 456.262 l +961.57 455.66 l +960.668 455.363 l +959.77 454.91 l +958.867 454.762 l +957.965 454.609 l +956.918 454.461 l +927.805 454.461 l +927.805 485.953 l +957.965 485.953 l +958.867 485.801 l +959.77 485.5 l +960.668 485.051 l +961.57 484.605 l +962.324 484.004 l +962.918 483.402 l +963.672 482.648 l +964.121 481.902 l +964.723 481 l +965.172 480.105 l +965.473 479.203 l +965.77 478.156 l +966.07 477.254 l +966.219 476.199 l +966.219 464.508 l +h +1306.01 90.5234 m +1263.68 90.5234 l +1263.68 103.418 l +1263.98 104.766 l +1264.28 106.27 l +1264.73 107.469 l +1265.33 108.816 l +1266.09 110.02 l +1266.84 111.066 l +1267.74 112.117 l +1268.79 113.168 l +1269.99 114.063 l +1271.19 114.816 l +1272.39 115.418 l +1273.74 115.867 l +1275.24 116.313 l +1276.74 116.465 l +1278.24 116.613 l +1291.3 116.613 l +1292.95 116.465 l +1294.45 116.313 l +1295.8 115.867 l +1297.15 115.418 l +1298.5 114.816 l +1299.7 114.063 l +1300.75 113.168 l +1301.8 112.117 l +1302.71 111.066 l +1303.61 110.02 l +1304.2 108.816 l +1304.8 107.469 l +1305.26 106.27 l +1305.71 104.766 l +1305.85 103.418 l +1306.01 102.07 l +1306.01 90.5234 l +h +824.844 485.953 m +794.078 485.953 l +794.078 496.145 l +794.227 497.199 l +794.527 498.094 l +794.828 498.848 l +795.281 499.75 l +795.73 500.496 l +796.332 501.246 l +797.082 501.844 l +797.684 502.445 l +798.43 502.895 l +799.332 503.348 l +800.234 503.793 l +801.129 503.949 l +802.031 504.246 l +803.082 504.395 l +815.844 504.395 l +816.738 504.246 l +817.641 504.094 l +818.543 503.793 l +819.445 503.348 l +820.34 502.895 l +821.098 502.445 l +821.844 501.844 l +822.445 501.246 l +823.047 500.496 l +823.496 499.75 l +823.941 498.848 l +824.242 498.094 l +824.543 497.199 l +824.699 496.145 l +824.844 495.25 l +824.844 485.953 l +h +692.625 64.4297 m +692.473 62.9336 l +692.176 61.7344 l +691.875 60.5313 l +691.273 59.4844 l +690.52 58.4375 l +689.773 57.5352 l +688.871 56.7813 l +687.973 56.1875 l +686.918 55.4336 l +685.871 54.9844 l +684.672 54.5391 l +683.469 54.2383 l +681.066 53.7852 l +678.668 53.6367 l +664.258 53.6367 l +662.758 53.7852 l +661.406 54.0859 l +660.211 54.5391 l +658.855 54.9844 l +657.656 55.5859 l +656.453 56.1875 l +655.406 56.9336 l +654.504 57.8359 l +653.602 58.8828 l +652.852 59.9297 l +652.25 61.1328 l +651.805 62.332 l +651.352 63.6836 l +651.203 65.1836 l +651.051 66.6797 l +651.051 103.57 l +651.203 105.066 l +651.352 106.566 l +651.805 107.918 l +652.25 109.117 l +652.852 110.32 l +653.602 111.367 l +654.504 112.414 l +655.406 113.168 l +656.453 114.063 l +657.656 114.664 l +658.855 115.266 l +660.211 115.715 l +661.406 116.168 l +662.758 116.313 l +664.258 116.465 l +665.609 116.613 l +678.668 116.613 l +680.168 116.465 l +681.52 116.313 l +682.867 116.012 l +684.07 115.566 l +685.27 115.117 l +686.473 114.52 l +687.52 113.766 l +688.57 112.867 l +689.473 111.969 l +690.227 111.066 l +690.973 110.02 l +691.422 108.816 l +691.875 107.617 l +692.324 106.27 l +692.473 104.918 l +692.625 103.57 l +692.625 64.4297 l +h +604.977 90.5234 m +562.656 90.5234 l +562.656 102.816 l +562.805 104.172 l +562.953 105.52 l +563.254 106.867 l +563.707 108.219 l +564.309 109.418 l +565.055 110.465 l +565.805 111.516 l +566.855 112.57 l +567.758 113.465 l +568.957 114.219 l +570.16 114.965 l +571.359 115.566 l +572.707 116.012 l +574.211 116.313 l +575.715 116.465 l +577.211 116.613 l +590.27 116.613 l +591.918 116.465 l +593.422 116.313 l +594.773 116.012 l +596.121 115.566 l +597.473 114.965 l +598.676 114.219 l +599.723 113.465 l +600.773 112.57 l +601.676 111.516 l +602.578 110.465 l +603.176 109.418 l +603.777 108.219 l +604.375 106.867 l +604.676 105.52 l +604.828 104.172 l +604.977 102.816 l +604.977 90.5234 l +h +150.684 461.355 m +150.684 460.461 l +150.527 459.406 l +150.23 458.512 l +149.934 457.758 l +149.633 456.855 l +149.18 456.109 l +148.578 455.363 l +148.129 454.762 l +147.383 454.16 l +146.781 453.711 l +146.031 453.258 l +145.129 452.813 l +144.227 452.512 l +143.324 452.359 l +142.43 452.211 l +128.77 452.211 l +127.715 452.359 l +126.668 452.512 l +125.766 452.813 l +124.867 453.258 l +123.969 453.711 l +123.219 454.16 l +122.617 454.762 l +122.016 455.363 l +121.414 456.109 l +120.965 456.855 l +120.668 457.758 l +120.367 458.512 l +120.066 459.406 l +119.918 460.461 l +119.918 496.145 l +120.066 497.199 l +120.367 498.094 l +120.668 498.848 l +121.113 499.75 l +121.715 500.496 l +122.164 501.246 l +122.918 501.844 l +123.668 502.445 l +124.414 502.895 l +125.168 503.348 l +126.066 503.793 l +126.969 503.949 l +127.871 504.246 l +128.918 504.395 l +142.43 504.395 l +143.324 504.246 l +144.227 504.094 l +145.129 503.793 l +146.031 503.348 l +146.781 502.895 l +147.383 502.445 l +148.129 501.844 l +148.578 501.246 l +149.18 500.496 l +149.633 499.75 l +149.934 498.848 l +150.23 498.094 l +150.527 497.199 l +150.684 496.145 l +150.684 461.355 l +h +432.684 66.6797 m +432.684 65.1836 l +432.535 63.6836 l +432.082 62.332 l +431.633 61.1328 l +431.031 59.9297 l +430.43 58.8828 l +429.535 57.8359 l +428.633 56.9336 l +427.582 56.1875 l +426.527 55.5859 l +425.332 54.9844 l +423.98 54.5391 l +422.625 54.0859 l +421.277 53.7852 l +419.777 53.6367 l +403.57 53.6367 l +402.066 53.7852 l +400.715 54.0859 l +399.367 54.5391 l +398.164 54.9844 l +396.965 55.5859 l +395.91 56.1875 l +395.016 56.9336 l +394.113 57.8359 l +393.363 58.8828 l +392.762 59.9297 l +392.16 61.1328 l +391.863 62.332 l +391.563 63.6836 l +391.262 65.1836 l +391.262 107.168 l +391.563 108.219 l +392.016 109.418 l +392.609 110.465 l +393.211 111.367 l +393.965 112.27 l +394.863 113.016 l +395.91 113.766 l +396.965 114.52 l +398.016 114.965 l +399.219 115.418 l +400.266 115.867 l +401.469 116.168 l +402.668 116.465 l +403.867 116.613 l +418.129 116.613 l +419.625 116.465 l +420.977 116.313 l +422.324 116.168 l +423.68 115.715 l +424.879 115.266 l +426.082 114.664 l +427.281 114.063 l +428.332 113.168 l +429.234 112.414 l +430.129 111.367 l +430.887 110.32 l +431.484 109.117 l +432.082 107.918 l +432.383 106.566 l +432.684 105.066 l +432.684 66.6797 l +h +343.535 66.6797 m +343.535 65.1836 l +343.383 63.6836 l +342.934 62.332 l +342.488 61.1328 l +341.887 59.9297 l +341.137 58.8828 l +340.383 57.8359 l +339.484 56.9336 l +338.43 56.1875 l +337.383 55.5859 l +336.18 54.9844 l +334.828 54.5391 l +333.48 54.0859 l +331.98 53.7852 l +330.48 53.6367 l +314.422 53.6367 l +312.918 53.7852 l +311.57 54.0859 l +310.219 54.5391 l +309.016 54.9844 l +307.813 55.5859 l +306.766 56.1875 l +305.863 56.9336 l +304.965 57.8359 l +304.211 58.8828 l +303.617 59.9297 l +303.016 61.1328 l +302.563 62.332 l +302.262 63.6836 l +302.113 65.1836 l +302.113 106.566 l +302.262 107.469 l +302.563 108.219 l +303.016 109.117 l +303.617 110.02 l +304.211 110.918 l +304.965 111.816 l +305.863 112.715 l +306.766 113.465 l +307.813 114.219 l +309.016 114.816 l +310.219 115.418 l +311.57 115.867 l +312.918 116.313 l +314.422 116.465 l +315.918 116.613 l +328.977 116.613 l +330.48 116.465 l +331.828 116.313 l +333.18 116.168 l +334.527 115.715 l +335.73 115.266 l +336.934 114.664 l +338.129 114.063 l +339.188 113.168 l +340.082 112.414 l +340.984 111.367 l +341.73 110.32 l +342.332 109.117 l +342.934 107.918 l +343.234 106.566 l +343.535 105.066 l +343.535 66.6797 l +h +65.2852 319.355 m +65.2852 317.852 l +64.9844 316.504 l +64.6836 315.156 l +64.2344 313.801 l +63.6328 312.605 l +63.0313 311.406 l +62.1328 310.203 l +61.2344 309.156 l +60.332 308.254 l +59.2852 307.355 l +58.082 306.605 l +56.8789 306.004 l +55.6836 305.406 l +54.332 305.105 l +52.9766 304.805 l +12.3086 304.805 l +12.3086 346.941 l +52.9766 346.941 l +54.332 346.641 l +55.6836 346.344 l +56.8789 345.742 l +58.082 345.148 l +59.2852 344.395 l +60.332 343.496 l +61.2344 342.598 l +62.1328 341.543 l +63.0313 340.348 l +63.6328 339.145 l +64.2344 337.945 l +64.6836 336.598 l +64.9844 335.246 l +65.2852 333.746 l +65.2852 319.355 l +h +251.391 78.2266 m +206.813 78.2266 l +228.273 150.355 l +230.527 150.355 l +251.391 78.2266 l +h +65.2852 265.516 m +65.2852 264.02 l +64.9844 262.52 l +64.6836 261.172 l +64.2344 259.82 l +63.6328 258.621 l +63.0313 257.418 l +62.1328 256.371 l +61.2344 255.473 l +60.332 254.57 l +59.2852 253.82 l +58.082 253.223 l +56.8789 252.773 l +55.6836 252.32 l +54.332 252.027 l +52.9766 251.871 l +51.4805 251.727 l +12.3086 251.727 l +12.3086 293.262 l +51.4805 293.262 l +52.9766 293.109 l +54.332 292.961 l +55.6836 292.508 l +56.8789 292.063 l +58.082 291.313 l +59.2852 290.559 l +60.332 289.813 l +61.2344 288.766 l +62.1328 287.711 l +63.0313 286.66 l +63.6328 285.461 l +64.2344 284.113 l +64.6836 282.766 l +64.9844 281.414 l +65.2852 280.066 l +65.2852 265.516 l +h +54.6289 67.4336 m +54.4805 65.9336 l +54.332 64.4297 l +53.8789 63.082 l +53.4297 61.7344 l +52.8281 60.5313 l +52.2266 59.332 l +51.3242 58.2813 l +50.4297 57.3828 l +49.375 56.4883 l +48.3242 55.7344 l +47.1211 55.1328 l +45.7734 54.5391 l +44.4219 54.2383 l +43.0742 53.9375 l +41.5703 53.6367 l +25.5117 53.6367 l +24.0156 53.9375 l +22.6602 54.2383 l +21.3086 54.5391 l +20.1133 55.1328 l +18.9102 55.7344 l +17.707 56.4883 l +16.6602 57.3828 l +15.7578 58.2813 l +14.8594 59.332 l +14.1055 60.5313 l +13.5039 61.7344 l +13.0586 63.082 l +12.6094 64.4297 l +12.3086 65.9336 l +12.3086 103.57 l +12.457 105.219 l +12.6094 106.723 l +13.0586 108.219 l +13.6563 109.418 l +14.2578 110.621 l +15.1563 111.668 l +16.0586 112.715 l +16.9609 113.465 l +18.1602 114.219 l +19.2109 114.816 l +20.4141 115.418 l +21.7617 115.867 l +22.9609 116.168 l +24.3164 116.465 l +25.6641 116.613 l +39.918 116.613 l +41.5703 116.465 l +43.0742 116.313 l +44.4219 116.012 l +45.7734 115.566 l +47.1211 115.117 l +48.3242 114.52 l +49.375 113.766 l +50.4297 112.867 l +51.3242 111.969 l +52.2266 111.066 l +52.8281 110.02 l +53.4297 108.816 l +53.8789 107.617 l +54.332 106.27 l +54.4805 104.918 l +54.6289 103.57 l +54.6289 67.4336 l +h +1053.87 79.7266 m +1053.87 102.07 l +1053.72 104.766 l +1053.27 107.316 l +1052.67 109.867 l +1051.92 112.27 l +1050.87 114.52 l +1049.52 116.613 l +1048.17 118.715 l +1046.36 120.512 l +1044.57 122.16 l +1042.46 123.664 l +1040.36 125.012 l +1037.96 126.066 l +1035.41 126.961 l +1032.71 127.563 l +1029.86 128.016 l +1027.01 128.16 l +1013.8 128.16 l +1010.95 128.016 l +1008.1 127.563 l +1005.39 126.813 l +1002.84 125.91 l +1000.44 124.863 l +998.188 123.516 l +996.234 122.016 l +994.289 120.211 l +992.633 118.414 l +991.285 116.313 l +989.934 114.219 l +988.887 111.969 l +988.137 109.566 l +987.383 107.016 l +987.082 104.621 l +986.934 102.07 l +986.934 67.4336 l +987.082 64.4297 l +987.535 61.4336 l +988.137 58.8828 l +989.031 56.332 l +990.086 54.0859 l +991.438 51.9883 l +992.934 50.0391 l +994.586 48.3828 l +996.535 46.8867 l +998.641 45.5391 l +1000.74 44.4844 l +1003.14 43.5898 l +1005.69 42.8359 l +1008.24 42.3906 l +1011.1 42.0898 l +1013.8 41.9375 l +1028.5 41.9375 l +1031.21 42.0898 l +1033.91 42.3906 l +1036.31 42.8359 l +1038.71 43.5898 l +1040.81 44.4844 l +1042.76 45.5391 l +1044.57 46.7344 l +1046.22 48.082 l +1047.71 49.5859 l +1049.07 51.2344 l +1050.12 52.8828 l +1051.02 54.6836 l +1051.77 56.6328 l +1052.37 58.582 l +1052.82 60.6836 l +1053.12 62.7813 l +1040.06 62.7813 l +1039.76 61.7344 l +1039.46 60.6836 l +1039.16 59.6328 l +1038.71 58.7344 l +1038.26 57.9805 l +1037.66 57.2344 l +1036.91 56.4883 l +1036.31 55.8867 l +1035.41 55.4336 l +1034.66 54.9844 l +1033.76 54.5391 l +1032.71 54.2383 l +1031.81 53.9375 l +1030.75 53.7852 l +1029.56 53.6367 l +1013.95 53.6367 l +1012.45 53.7852 l +1011.1 53.9375 l +1009.59 54.2383 l +1008.24 54.6836 l +1006.89 55.1328 l +1005.69 55.7344 l +1004.5 56.4883 l +1003.29 57.3828 l +1002.39 58.2813 l +1001.49 59.4844 l +1000.74 60.6836 l +1000.14 62.1797 l +999.691 63.8281 l +999.391 65.4766 l +999.242 67.4336 l +999.242 79.7266 l +1053.87 79.7266 l +h +1041.56 90.5234 m +999.242 90.5234 l +999.242 102.07 l +999.391 103.418 l +999.543 104.766 l +999.844 106.27 l +1000.29 107.469 l +1000.89 108.816 l +1001.64 110.02 l +1002.39 111.066 l +1003.45 112.117 l +1004.34 113.168 l +1005.54 114.063 l +1006.75 114.816 l +1007.94 115.418 l +1009.45 115.867 l +1010.8 116.313 l +1012.3 116.465 l +1013.8 116.613 l +1027.01 116.613 l +1028.5 116.465 l +1030.01 116.313 l +1031.36 115.867 l +1032.71 115.418 l +1034.06 114.816 l +1035.26 114.063 l +1036.31 113.168 l +1037.36 112.117 l +1038.26 111.066 l +1039.16 110.02 l +1039.91 108.816 l +1040.51 107.469 l +1040.96 106.27 l +1041.26 104.766 l +1041.41 103.418 l +1041.56 102.07 l +1041.56 90.5234 l +h +927.805 66.6797 m +915.496 66.6797 l +915.348 64.8828 l +915.047 63.2344 l +914.594 61.7344 l +914.145 60.3828 l +913.543 59.1836 l +912.941 58.1367 l +912.195 57.2344 l +911.293 56.332 l +910.391 55.7344 l +909.34 55.1328 l +908.137 54.6836 l +906.941 54.2383 l +905.59 53.9375 l +904.09 53.7852 l +902.586 53.6367 l +886.227 53.6367 l +884.73 53.9375 l +883.379 54.2383 l +882.023 54.832 l +880.828 55.4336 l +879.777 56.1875 l +878.723 56.9336 l +877.676 57.9805 l +876.926 58.8828 l +876.172 60.0859 l +875.422 61.1328 l +874.973 62.332 l +874.52 63.5313 l +874.227 64.8828 l +874.07 66.0781 l +873.926 67.4336 l +873.926 101.168 l +874.07 103.117 l +874.227 104.766 l +874.52 106.422 l +874.973 107.77 l +875.422 109.266 l +876.172 110.465 l +876.926 111.668 l +877.676 112.715 l +878.723 113.617 l +879.777 114.363 l +880.828 114.965 l +882.023 115.566 l +883.379 116.012 l +884.73 116.313 l +886.227 116.465 l +887.879 116.613 l +900.934 116.613 l +902.137 116.465 l +903.488 116.313 l +904.691 116.168 l +905.891 115.715 l +907.242 115.266 l +908.293 114.816 l +909.492 114.063 l +910.543 113.465 l +911.445 112.57 l +912.34 111.816 l +913.094 110.766 l +913.844 109.719 l +914.445 108.672 l +914.895 107.617 l +915.195 106.27 l +915.496 105.066 l +915.496 103.57 l +927.805 103.57 l +927.805 105.066 l +927.648 107.469 l +927.203 109.867 l +926.453 112.117 l +925.551 114.219 l +924.348 116.168 l +922.852 118.117 l +921.348 119.91 l +919.543 121.414 l +917.594 122.914 l +915.496 124.262 l +913.242 125.465 l +910.844 126.359 l +908.438 127.113 l +906.039 127.715 l +903.488 128.016 l +900.934 128.16 l +887.879 128.16 l +885.031 128.016 l +882.176 127.563 l +879.625 126.813 l +877.074 125.91 l +874.82 124.863 l +872.57 123.516 l +870.469 122.016 l +868.52 120.211 l +866.867 118.414 l +865.367 116.313 l +864.016 114.219 l +862.965 111.969 l +862.066 109.566 l +861.465 107.016 l +861.016 104.621 l +860.867 102.07 l +860.867 68.1797 l +861.016 65.6328 l +861.465 63.082 l +862.066 60.6836 l +862.82 58.2813 l +863.867 56.0352 l +865.066 53.7852 l +866.566 51.8359 l +868.219 49.8867 l +870.023 48.2383 l +871.973 46.5898 l +874.227 45.2383 l +876.473 44.1875 l +878.875 43.1367 l +881.43 42.5352 l +884.277 42.0898 l +886.98 41.9375 l +901.688 41.9375 l +904.992 42.0898 l +907.992 42.5352 l +910.844 43.1367 l +913.395 43.8867 l +915.641 44.9375 l +917.746 46.1328 l +919.699 47.4883 l +921.348 49.1367 l +922.852 50.9336 l +924.047 52.7344 l +925.098 54.832 l +926 56.9336 l +926.602 59.1836 l +927.203 61.582 l +927.504 64.1289 l +927.805 66.6797 l +h +164.488 265.516 m +164.488 300.906 l +164.34 302.262 l +164.188 303.758 l +163.887 305.105 l +163.137 307.656 l +162.234 310.059 l +161.039 312.453 l +159.684 314.402 l +158.035 316.352 l +156.234 318.152 l +154.285 319.656 l +152.18 321.004 l +149.934 322.051 l +147.684 322.953 l +145.277 323.699 l +142.723 324.301 l +140.18 324.602 l +137.625 324.75 l +124.57 324.75 l +121.867 324.602 l +119.465 324.301 l +116.91 323.699 l +114.512 323.102 l +112.113 322.199 l +109.859 321.152 l +107.758 319.801 l +105.805 318.453 l +104.156 316.953 l +102.504 315.156 l +101.008 313.355 l +99.8047 311.406 l +98.9023 309.305 l +98.1523 307.207 l +97.6992 304.805 l +97.5508 302.406 l +97.5508 264.77 l +97.6992 261.918 l +98.1523 259.223 l +98.7539 256.672 l +99.6523 254.273 l +100.707 251.871 l +102.055 249.777 l +103.555 247.828 l +105.355 246.027 l +107.156 244.375 l +109.258 242.875 l +111.512 241.676 l +113.762 240.625 l +116.316 239.727 l +119.016 239.129 l +121.715 238.828 l +124.57 238.676 l +137.625 238.676 l +140.324 238.828 l +142.879 239.277 l +145.43 239.879 l +147.984 240.777 l +150.23 241.973 l +152.48 243.328 l +154.586 244.977 l +156.535 246.625 l +158.332 248.574 l +159.836 250.672 l +161.188 252.922 l +162.391 255.172 l +163.285 257.719 l +163.887 260.27 l +164.34 262.82 l +164.488 265.516 l +h +152.18 264.02 m +152.18 262.52 l +151.887 261.02 l +151.586 259.668 l +151.129 258.32 l +150.527 257.121 l +149.781 255.926 l +149.031 254.871 l +148.129 253.977 l +147.082 253.074 l +145.879 252.32 l +144.676 251.727 l +143.48 251.125 l +142.129 250.824 l +140.625 250.523 l +139.121 250.223 l +123.066 250.223 l +121.715 250.523 l +120.367 250.824 l +119.016 251.125 l +117.664 251.727 l +116.465 252.32 l +115.414 253.074 l +114.363 253.977 l +113.309 254.871 l +112.563 255.926 l +111.813 257.121 l +111.059 258.32 l +110.609 259.668 l +110.16 261.02 l +110.008 262.52 l +109.859 264.02 l +109.859 300.16 l +110.008 301.809 l +110.309 303.309 l +110.609 304.805 l +111.211 306.004 l +111.961 307.207 l +112.707 308.254 l +113.609 309.305 l +114.66 310.059 l +115.715 310.805 l +116.91 311.555 l +118.113 312.008 l +119.316 312.453 l +120.668 312.754 l +121.867 313.055 l +123.219 313.203 l +137.625 313.203 l +139.121 313.055 l +140.625 312.906 l +142.129 312.605 l +143.48 312.152 l +144.676 311.707 l +145.879 311.105 l +147.082 310.355 l +148.129 309.605 l +149.031 308.555 l +149.781 307.656 l +150.527 306.605 l +151.129 305.406 l +151.586 304.211 l +151.887 302.855 l +152.18 301.508 l +152.18 264.02 l +h +251.391 263.266 m +239.082 263.266 l +238.926 261.473 l +238.625 259.82 l +238.18 258.32 l +237.73 256.973 l +237.129 255.77 l +236.527 254.723 l +235.781 253.82 l +234.879 253.074 l +233.977 252.32 l +232.926 251.727 l +231.723 251.273 l +230.527 250.824 l +229.172 250.523 l +227.676 250.371 l +226.172 250.223 l +209.813 250.223 l +208.309 250.523 l +206.961 250.824 l +205.609 251.426 l +204.414 252.027 l +203.359 252.773 l +202.309 253.676 l +201.258 254.57 l +200.512 255.473 l +199.758 256.672 l +199.008 257.719 l +198.559 258.922 l +198.105 260.121 l +197.805 261.473 l +197.656 262.672 l +197.504 264.02 l +197.504 297.762 l +197.656 299.711 l +197.805 301.359 l +198.105 303.008 l +198.559 304.504 l +199.008 305.859 l +199.758 307.055 l +200.512 308.254 l +201.258 309.305 l +202.309 310.203 l +203.359 310.957 l +204.414 311.707 l +205.609 312.152 l +206.961 312.605 l +208.309 312.906 l +209.813 313.055 l +211.316 313.203 l +225.723 313.203 l +227.074 312.906 l +228.273 312.754 l +229.473 312.305 l +230.676 311.852 l +231.879 311.406 l +233.074 310.805 l +234.129 310.059 l +235.023 309.156 l +235.926 308.406 l +236.676 307.355 l +237.43 306.461 l +238.031 305.258 l +238.48 304.211 l +238.781 303.008 l +239.082 301.66 l +239.082 300.16 l +251.391 300.16 l +251.391 301.66 l +251.234 304.059 l +250.789 306.461 l +250.031 308.707 l +249.137 310.805 l +247.934 312.754 l +246.43 314.703 l +244.934 316.504 l +243.129 318.152 l +241.18 319.504 l +239.082 320.852 l +236.828 322.051 l +234.43 322.953 l +232.023 323.699 l +229.625 324.301 l +227.074 324.602 l +224.52 324.75 l +211.316 324.75 l +208.609 324.602 l +205.762 324.148 l +203.211 323.555 l +200.66 322.5 l +198.258 321.453 l +196.156 320.102 l +194.055 318.602 l +192.105 316.805 l +190.453 315.004 l +188.953 312.906 l +187.602 310.805 l +186.551 308.555 l +185.648 306.16 l +185.051 303.758 l +184.602 301.207 l +184.449 298.656 l +184.449 264.77 l +184.602 262.219 l +184.902 259.668 l +185.504 257.273 l +186.398 254.871 l +187.453 252.621 l +188.652 250.523 l +190.152 248.422 l +191.805 246.625 l +193.602 244.824 l +195.555 243.328 l +197.805 241.973 l +200.059 240.777 l +202.461 239.879 l +205.008 239.277 l +207.715 238.828 l +210.563 238.676 l +225.27 238.676 l +228.574 238.828 l +231.578 239.129 l +234.43 239.727 l +236.977 240.625 l +239.227 241.676 l +241.332 242.875 l +243.285 244.223 l +244.934 245.727 l +246.43 247.527 l +247.633 249.477 l +248.684 251.426 l +249.586 253.523 l +250.188 255.926 l +250.789 258.172 l +251.09 260.723 l +251.391 263.266 l +h +1006.89 276.316 m +1006.89 301.359 l +1006.45 303.91 l +1005.84 306.461 l +1004.94 308.855 l +1003.89 311.105 l +1002.69 313.203 l +1001.19 315.305 l +999.543 317.105 l +997.738 318.754 l +995.641 320.25 l +993.387 321.605 l +990.984 322.652 l +988.586 323.555 l +985.883 324.148 l +983.031 324.602 l +980.031 324.75 l +966.973 324.75 l +963.973 324.602 l +961.121 324.148 l +958.566 323.555 l +956.016 322.5 l +953.617 321.453 l +951.363 320.102 l +949.266 318.602 l +947.461 316.805 l +945.813 315.004 l +944.309 312.906 l +943.113 310.805 l +942.059 308.555 l +941.16 306.16 l +940.559 303.758 l +940.258 301.207 l +940.105 298.656 l +940.105 264.02 l +940.258 261.02 l +940.559 258.172 l +941.309 255.473 l +942.059 252.922 l +943.258 250.672 l +944.461 248.574 l +946.113 246.773 l +947.762 244.977 l +949.715 243.477 l +951.664 242.273 l +953.918 241.227 l +956.316 240.324 l +958.715 239.578 l +961.422 239.129 l +964.121 238.828 l +966.973 238.676 l +981.527 238.676 l +984.383 238.828 l +987.082 239.129 l +989.484 239.578 l +991.738 240.324 l +993.988 241.227 l +995.941 242.273 l +997.738 243.477 l +999.391 244.676 l +1000.89 246.172 l +1002.09 247.828 l +1003.29 249.477 l +1004.2 251.273 l +1004.94 253.223 l +1005.54 255.172 l +1005.99 257.273 l +1006.14 259.367 l +993.086 259.367 l +992.934 258.32 l +992.633 257.273 l +992.34 256.371 l +991.887 255.473 l +991.285 254.57 l +990.684 253.82 l +990.086 253.074 l +989.332 252.473 l +988.586 252.027 l +987.684 251.574 l +986.785 251.125 l +985.883 250.824 l +984.836 250.523 l +983.781 250.371 l +982.73 250.223 l +967.121 250.223 l +965.625 250.371 l +964.121 250.523 l +962.77 250.824 l +961.422 251.273 l +960.07 251.727 l +958.715 252.32 l +957.52 253.074 l +956.469 253.977 l +955.414 254.871 l +954.52 256.07 l +953.766 257.273 l +953.164 258.773 l +952.715 260.422 l +952.414 262.07 l +952.414 276.316 l +1006.89 276.316 l +h +994.586 287.109 m +952.414 287.109 l +952.414 300.012 l +952.715 301.359 l +953.016 302.855 l +953.465 304.059 l +954.063 305.406 l +954.82 306.605 l +955.566 307.656 l +956.469 308.707 l +957.52 309.758 l +958.566 310.656 l +959.77 311.406 l +961.121 312.008 l +962.469 312.453 l +963.973 312.906 l +965.473 313.055 l +966.973 313.203 l +980.031 313.203 l +981.527 313.055 l +983.031 312.906 l +984.535 312.453 l +985.883 312.008 l +987.234 311.406 l +988.438 310.656 l +989.484 309.758 l +990.535 308.707 l +991.438 307.656 l +992.188 306.605 l +992.934 305.406 l +993.535 304.059 l +993.988 302.855 l +994.438 301.359 l +994.586 300.012 l +994.586 287.109 l +h +803.984 239.426 m +803.984 301.059 l +803.836 302.555 l +803.684 304.059 l +803.383 305.559 l +803.082 306.906 l +802.785 308.254 l +802.332 309.605 l +801.73 310.805 l +800.535 313.055 l +799.184 315.156 l +797.684 316.953 l +795.879 318.602 l +793.926 320.102 l +791.828 321.305 l +789.73 322.352 l +787.477 323.254 l +785.074 323.855 l +782.82 324.301 l +780.273 324.602 l +777.871 324.75 l +766.316 324.75 l +763.316 324.602 l +760.609 324.148 l +758.211 323.555 l +756.105 322.652 l +754.008 321.453 l +752.211 320.102 l +750.406 318.754 l +748.602 317.105 l +748.602 324 l +736.445 324 l +736.445 239.426 l +748.602 239.426 l +748.602 299.41 l +748.754 301.059 l +749.055 302.555 l +749.355 304.059 l +749.957 305.406 l +750.707 306.605 l +751.453 307.809 l +752.355 308.855 l +753.406 309.758 l +754.457 310.504 l +755.656 311.254 l +756.859 311.852 l +758.059 312.305 l +759.414 312.754 l +760.609 312.906 l +761.961 313.203 l +777.871 313.203 l +779.371 313.055 l +780.871 312.906 l +782.371 312.605 l +783.574 312.152 l +784.773 311.707 l +785.977 310.957 l +787.023 310.203 l +787.926 309.305 l +788.828 308.406 l +789.578 307.207 l +790.176 306.004 l +790.777 304.805 l +791.227 303.309 l +791.527 301.809 l +791.68 300.305 l +791.68 239.426 l +803.984 239.426 l +h +1143.77 42.8359 m +1143.77 104.32 l +1143.62 105.969 l +1143.47 107.469 l +1143.17 108.965 l +1142.87 110.32 l +1142.42 111.668 l +1141.96 113.016 l +1141.52 114.219 l +1140.32 116.465 l +1138.96 118.563 l +1137.32 120.363 l +1135.66 122.016 l +1133.71 123.516 l +1131.61 124.711 l +1129.51 125.766 l +1127.26 126.66 l +1124.86 127.262 l +1122.45 127.715 l +1120.05 128.016 l +1117.66 128.16 l +1106.1 128.16 l +1103.1 128.016 l +1100.39 127.563 l +1097.99 126.961 l +1095.89 126.066 l +1093.79 124.863 l +1091.99 123.516 l +1090.19 122.016 l +1088.39 120.363 l +1088.39 127.414 l +1076.08 127.414 l +1076.08 42.8359 l +1088.39 42.8359 l +1088.39 102.816 l +1088.54 104.473 l +1088.84 105.969 l +1089.14 107.469 l +1089.74 108.816 l +1090.49 110.02 l +1091.24 111.215 l +1092.14 112.27 l +1093.19 113.168 l +1094.24 113.918 l +1095.29 114.664 l +1096.64 115.266 l +1097.84 115.715 l +1099.05 116.168 l +1100.39 116.313 l +1101.75 116.465 l +1103.1 116.613 l +1117.66 116.613 l +1119.15 116.465 l +1120.66 116.313 l +1122.01 116.012 l +1123.36 115.566 l +1124.56 115.117 l +1125.76 114.363 l +1126.81 113.617 l +1127.71 112.715 l +1128.61 111.816 l +1129.36 110.621 l +1129.96 109.418 l +1130.56 108.219 l +1130.86 106.723 l +1131.16 105.219 l +1131.46 103.719 l +1131.46 42.8359 l +1143.77 42.8359 l +f* +2401.3 400.773 m +2401.3 464.508 l +2401.15 469.004 l +2400.85 473.656 l +2400.25 478.004 l +2399.5 482.5 l +2398.45 486.699 l +2397.25 491.051 l +2395.75 495.25 l +2394.09 499.297 l +2392.29 503.195 l +2390.34 507.094 l +2388.09 510.844 l +2385.84 514.441 l +2383.29 518.039 l +2380.59 521.488 l +2377.74 524.641 l +2374.73 527.789 l +2371.58 530.789 l +2368.43 533.637 l +2364.98 536.336 l +2361.38 538.883 l +2357.78 541.133 l +2354.02 543.383 l +2350.12 545.332 l +2346.22 547.133 l +2342.17 548.781 l +2337.96 550.277 l +2333.61 551.48 l +2329.41 552.527 l +2324.91 553.281 l +2320.4 553.883 l +2315.9 554.184 l +2311.4 554.328 l +2247.61 554.328 l +2247.61 489.852 l +2306.9 489.852 l +2308.55 489.699 l +2310.05 489.398 l +2311.7 489.25 l +2313.2 488.801 l +2314.7 488.504 l +2316.2 487.902 l +2317.55 487.449 l +2320.4 486.102 l +2322.96 484.449 l +2325.36 482.648 l +2327.61 480.699 l +2329.56 478.449 l +2331.36 476.055 l +2333.01 473.504 l +2334.36 470.652 l +2334.81 469.305 l +2335.27 467.805 l +2335.71 466.309 l +2336.16 464.809 l +2336.31 463.156 l +2336.61 461.656 l +2336.76 460.008 l +2336.76 400.773 l +2401.3 400.773 l +h +2401.3 221.734 m +2401.3 375.438 l +2336.76 375.438 l +2336.76 221.734 l +2401.3 221.734 l +h +2221.5 489.852 m +2221.5 554.328 l +2158.47 554.328 l +2153.81 554.184 l +2149.31 553.883 l +2144.81 553.281 l +2140.46 552.527 l +2136.11 551.48 l +2131.9 550.277 l +2127.7 548.781 l +2123.65 547.133 l +2119.6 545.332 l +2115.7 543.383 l +2111.94 541.133 l +2108.34 538.883 l +2104.74 536.336 l +2101.44 533.637 l +2098.14 530.789 l +2094.98 527.789 l +2091.98 524.641 l +2089.13 521.488 l +2086.43 518.039 l +2083.88 514.441 l +2081.62 510.844 l +2079.37 507.094 l +2077.42 503.195 l +2075.62 499.297 l +2073.97 495.25 l +2072.62 491.051 l +2071.27 486.699 l +2070.37 482.5 l +2069.47 478.004 l +2068.87 473.656 l +2068.57 469.004 l +2068.42 464.508 l +2068.42 400.773 l +2131.45 400.773 l +2131.45 458.359 l +2131.6 460.008 l +2131.6 461.656 l +2131.9 463.156 l +2132.2 464.809 l +2132.5 466.309 l +2133.1 467.805 l +2133.55 469.305 l +2134.15 470.652 l +2134.91 472.156 l +2135.66 473.504 l +2136.4 474.852 l +2137.3 476.055 l +2139.26 478.449 l +2141.36 480.699 l +2143.76 482.648 l +2146.31 484.449 l +2149.01 486.102 l +2151.86 487.449 l +2154.87 488.348 l +2158.02 489.25 l +2159.66 489.398 l +2161.32 489.699 l +2162.97 489.852 l +2221.5 489.852 l +h +2401.3 132.66 m +2401.3 196.391 l +2336.76 196.391 l +2336.76 138.809 l +2336.61 136.258 l +2336.31 133.863 l +2335.86 131.313 l +2335.27 129.063 l +2334.51 126.66 l +2333.61 124.563 l +2332.56 122.461 l +2331.36 120.363 l +2330.01 118.563 l +2328.51 116.766 l +2326.86 115.117 l +2325.05 113.617 l +2323.11 112.27 l +2321.15 110.918 l +2319.05 109.867 l +2316.8 108.965 l +2315.3 108.371 l +2313.8 108.07 l +2312.45 107.77 l +2310.95 107.617 l +2308.09 107.469 l +2305.25 107.316 l +2247.61 107.316 l +2247.61 42.8359 l +2311.4 42.8359 l +2315.15 42.9883 l +2318.75 43.1367 l +2322.51 43.4375 l +2326.11 44.0391 l +2329.71 44.6406 l +2333.31 45.3867 l +2336.76 46.2891 l +2340.21 47.3359 l +2343.66 48.5352 l +2346.96 49.8867 l +2350.27 51.3867 l +2353.42 52.8828 l +2356.42 54.6836 l +2359.43 56.4883 l +2362.43 58.4375 l +2365.13 60.5313 l +2368.13 62.7813 l +2370.98 65.1836 l +2373.68 67.582 l +2376.39 70.2773 l +2378.93 72.9805 l +2381.34 75.832 l +2383.59 78.8281 l +2385.69 81.8242 l +2387.79 84.9766 l +2389.59 88.2734 l +2391.39 91.5703 l +2393.05 94.875 l +2394.54 98.3203 l +2395.89 101.77 l +2397.09 105.367 l +2398.3 108.965 l +2399.05 111.816 l +2399.65 114.664 l +2400.25 117.516 l +2400.7 120.512 l +2401 123.516 l +2401.15 126.512 l +2401.3 129.512 l +2401.3 132.66 l +h +2016.94 400.773 m +2016.94 464.508 l +2016.79 469.004 l +2016.49 473.656 l +2015.89 478.004 l +2015.14 482.5 l +2014.09 486.699 l +2012.89 491.051 l +2011.39 495.25 l +2009.88 499.297 l +2008.09 503.195 l +2005.98 507.094 l +2003.88 510.844 l +2001.48 514.441 l +1998.93 518.039 l +1996.23 521.488 l +1993.38 524.641 l +1990.38 527.789 l +1987.37 530.789 l +1984.07 533.637 l +1980.62 536.336 l +1977.17 538.883 l +1973.42 541.133 l +1969.66 543.383 l +1965.76 545.332 l +1961.86 547.133 l +1957.81 548.781 l +1953.61 550.277 l +1949.4 551.48 l +1945.05 552.527 l +1940.55 553.281 l +1936.2 553.883 l +1931.54 554.184 l +1927.04 554.328 l +1863.26 554.328 l +1863.26 489.852 l +1922.54 489.852 l +1924.19 489.699 l +1925.69 489.398 l +1927.34 489.25 l +1928.84 488.801 l +1930.49 488.504 l +1932 487.902 l +1933.35 487.449 l +1936.2 486.102 l +1938.9 484.449 l +1941.3 482.648 l +1943.7 480.699 l +1945.8 478.449 l +1947.6 476.055 l +1948.5 474.707 l +1949.25 473.504 l +1950 472.156 l +1950.61 470.652 l +1951.2 469.305 l +1951.66 467.805 l +1952.11 466.309 l +1952.56 464.809 l +1952.86 463.156 l +1953 461.656 l +1953.15 460.008 l +1953.15 400.773 l +2016.94 400.773 l +h +2132.2 375.438 m +2068.42 375.438 l +2068.42 221.734 l +2131.45 221.734 l +2131.45 228.184 l +2131.6 233.277 l +2131.6 244.977 l +2131.75 248.875 l +2131.75 253.223 l +2131.9 258.621 l +2131.9 265.07 l +2132.05 273.32 l +2132.05 283.363 l +2132.2 295.809 l +2132.2 375.438 l +h +2221.5 42.8359 m +2221.5 107.316 l +2164.62 107.316 l +2161.62 107.469 l +2158.77 107.617 l +2157.42 107.77 l +2155.91 108.07 l +2154.41 108.371 l +2153.06 108.965 l +2150.81 109.867 l +2148.56 110.918 l +2146.46 112.27 l +2144.51 113.617 l +2142.56 115.117 l +2140.75 116.766 l +2139.11 118.563 l +2137.61 120.363 l +2136.26 122.461 l +2135.05 124.563 l +2134 126.66 l +2133.1 129.063 l +2132.36 131.313 l +2131.9 133.863 l +2131.6 136.258 l +2131.45 138.809 l +2131.45 196.391 l +2068.42 196.391 l +2068.42 132.66 l +2068.57 129.512 l +2068.57 126.512 l +2068.87 123.516 l +2069.17 120.512 l +2069.62 117.516 l +2070.07 114.664 l +2070.82 111.816 l +2071.57 108.965 l +2072.62 105.367 l +2073.82 101.77 l +2075.17 98.3203 l +2076.67 94.875 l +2078.32 91.5703 l +2080.12 88.2734 l +2082.08 84.9766 l +2084.03 81.8242 l +2086.13 78.8281 l +2088.53 75.832 l +2090.78 72.9805 l +2093.33 70.2773 l +2096.03 67.582 l +2098.74 65.1836 l +2101.58 62.7813 l +2104.59 60.5313 l +2107.44 58.4375 l +2110.29 56.4883 l +2113.29 54.6836 l +2116.29 52.8828 l +2119.45 51.3867 l +2122.75 49.8867 l +2126.05 48.5352 l +2129.5 47.3359 l +2132.96 46.2891 l +2136.4 45.3867 l +2140.01 44.6406 l +2143.61 44.0391 l +2147.21 43.4375 l +2150.96 43.1367 l +2154.71 42.9883 l +2158.47 42.8359 l +2221.5 42.8359 l +h +1837.89 489.852 m +1837.89 554.328 l +1684.21 554.328 l +1684.21 400.773 l +1748.75 400.773 l +1748.75 489.852 l +1837.89 489.852 l +h +2016.94 221.734 m +2016.94 247.375 l +2016.64 250.371 l +2016.19 253.223 l +2015.59 257.121 l +2014.69 261.02 l +2013.64 264.621 l +2012.44 268.367 l +2011.09 271.965 l +2009.58 275.414 l +2007.93 278.867 l +2006.14 282.316 l +2004.18 285.613 l +2002.23 288.766 l +1999.98 291.762 l +1997.58 294.758 l +1995.18 297.609 l +1992.48 300.305 l +1989.78 303.008 l +1986.93 305.559 l +1990.38 308.406 l +1993.53 311.555 l +1996.53 314.855 l +1999.38 318.301 l +2002.08 321.75 l +2004.63 325.504 l +2006.88 329.246 l +2008.84 333.301 l +2010.79 337.344 l +2012.29 341.395 l +2013.79 345.742 l +2014.84 350.094 l +2015.74 354.59 l +2016.49 359.09 l +2016.79 363.738 l +2016.94 368.535 l +2016.94 375.438 l +1953.15 375.438 l +1953.15 366.887 l +1953 365.238 l +1952.86 363.59 l +1952.56 362.086 l +1952.11 360.594 l +1951.66 358.938 l +1951.2 357.59 l +1950.61 356.094 l +1950 354.738 l +1949.25 353.391 l +1948.5 352.043 l +1947.6 350.695 l +1945.8 348.293 l +1943.7 346.043 l +1941.3 344.094 l +1938.9 342.297 l +1936.2 340.797 l +1933.35 339.445 l +1932 338.848 l +1930.49 338.398 l +1928.84 337.945 l +1927.34 337.645 l +1925.69 337.344 l +1924.19 337.195 l +1922.54 337.043 l +1863.26 337.043 l +1863.26 272.418 l +1923.29 272.418 l +1925.69 272.117 l +1928.09 271.668 l +1930.35 271.07 l +1932.45 270.316 l +1934.7 269.422 l +1936.65 268.367 l +1938.6 267.172 l +1940.55 265.816 l +1942.2 264.469 l +1943.85 262.82 l +1945.36 261.172 l +1946.85 259.367 l +1948.05 257.418 l +1949.1 255.473 l +1950.15 253.223 l +1951.2 250.371 l +1952.26 247.375 l +1952.56 245.871 l +1952.86 244.375 l +1953.15 242.727 l +1953.15 221.734 l +2016.94 221.734 l +h +1837.89 272.418 m +1837.89 337.043 l +1748.75 337.043 l +1748.75 375.438 l +1684.21 375.438 l +1684.21 221.734 l +1748.75 221.734 l +1748.75 272.418 l +1837.89 272.418 l +h +2016.94 132.66 m +2016.94 196.391 l +1953.15 196.391 l +1953.15 130.711 l +1952.86 128.762 l +1952.41 126.813 l +1951.96 125.012 l +1951.2 123.215 l +1950.45 121.414 l +1949.55 119.766 l +1948.5 118.262 l +1947.45 116.766 l +1946.25 115.266 l +1944.9 113.918 l +1943.4 112.715 l +1941.9 111.668 l +1940.4 110.621 l +1938.75 109.719 l +1937.1 108.965 l +1935.9 108.371 l +1934.7 108.07 l +1933.49 107.77 l +1932.3 107.617 l +1929.75 107.469 l +1927.04 107.316 l +1863.26 107.316 l +1863.26 42.8359 l +1927.04 42.8359 l +1930.79 42.9883 l +1934.54 43.1367 l +1938.14 43.4375 l +1941.75 44.0391 l +1945.36 44.6406 l +1948.96 45.3867 l +1952.56 46.2891 l +1956.01 47.3359 l +1959.31 48.5352 l +1962.61 49.8867 l +1965.91 51.3867 l +1969.06 52.8828 l +1972.22 54.6836 l +1975.22 56.4883 l +1978.07 58.4375 l +1980.77 60.5313 l +1983.77 62.7813 l +1986.62 65.1836 l +1989.48 67.582 l +1992.03 70.2773 l +1994.57 72.9805 l +1996.98 75.832 l +1999.23 78.8281 l +2001.33 81.8242 l +2003.43 84.9766 l +2005.39 88.2734 l +2007.04 91.5703 l +2008.69 94.875 l +2010.18 98.3203 l +2011.54 101.77 l +2012.74 105.367 l +2013.94 108.965 l +2014.69 111.816 l +2015.29 114.664 l +2015.89 117.516 l +2016.34 120.512 l +2016.64 123.516 l +2016.79 126.512 l +2016.94 129.512 l +2016.94 132.66 l +h +1837.89 42.8359 m +1837.89 107.316 l +1748.75 107.316 l +1748.75 196.391 l +1684.21 196.391 l +1684.21 42.8359 l +1837.89 42.8359 l +f* +Q +Q + +endstream +endobj +%%Trailer +end +%%EOF diff --git a/20230613/mic-on-big-endian.wav b/20230613/mic-on-big-endian.wav new file mode 100644 index 0000000000000000000000000000000000000000..aff244f5a641dc6e4e9856aeabf82ffe8820e455 Binary files /dev/null and b/20230613/mic-on-big-endian.wav differ diff --git a/20230613/mic-on-little-endian-big-endian.wav b/20230613/mic-on-little-endian-big-endian.wav new file mode 100644 index 0000000000000000000000000000000000000000..323cfaaf19cfb49116929f4569eea0a2ae9e85c9 Binary files /dev/null and b/20230613/mic-on-little-endian-big-endian.wav differ diff --git a/20230613/mic-on.au b/20230613/mic-on.au new file mode 100644 index 0000000000000000000000000000000000000000..f0b26945f1037a5c30c0a19bde51d06de22c75ed Binary files /dev/null and b/20230613/mic-on.au differ diff --git a/20230613/mic-on.wav b/20230613/mic-on.wav new file mode 100644 index 0000000000000000000000000000000000000000..45f912ee264f52f888a63b94c37ec25123ad7f3a Binary files /dev/null and b/20230613/mic-on.wav differ diff --git a/20230613/pgslides.sty b/20230613/pgslides.sty new file mode 120000 index 0000000000000000000000000000000000000000..5be1416f4216f076aa268901f52a15d775e43f64 --- /dev/null +++ b/20230613/pgslides.sty @@ -0,0 +1 @@ +../common/pgslides.sty \ No newline at end of file diff --git a/20230613/rtech-20230613-cp437.txt b/20230613/rtech-20230613-cp437.txt new file mode 100644 index 0000000000000000000000000000000000000000..c112f26fbae4238530cf6b7e3aafe5077e7e5788 --- /dev/null +++ b/20230613/rtech-20230613-cp437.txt @@ -0,0 +1,32 @@ +smiley.pbm: + +00000000 50 34 0a 23 20 43 72 65 61 74 65 64 20 62 79 20 |P4.# Created by | +00000010 47 49 4d 50 20 76 65 72 73 69 6f 6e 20 32 2e 31 |GIMP version 2.1| +00000020 30 2e 38 20 50 4e 4d 20 70 6c 75 67 2d 69 6e 0a |0.8 PNM plug-in.| +00000030 31 34 20 31 34 0a 00 00 00 00 00 00 08 40 08 40 |14 14........@.@| +00000040 08 40 00 00 00 00 40 08 20 10 1f e0 00 00 00 00 |.@....@. .......| +00000050 00 00 |..| +00000052 + +"Magische" Signatur: P4 +Kommentar: eingeleitet mit "#" +Breite in Pixel +H�he in Pixel +1 Whitespace (hier: Zeilenschaltung) +Bilddaten: + - auf volle Bytes auff�llen (Alignment) + - MSB first + +smiley.xbm: C-Quelltext + +#define smiley_width 14 +#define smiley_height 14 +static unsigned char smiley_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x02, 0x10, 0x02, 0x10, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x10, 0x04, 0x08, 0xf8, 0x07, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00 }; + +Breite und H�he in Pixel: #define +Bilddaten: C-Array + - auf volle Bytes auff�llen (Alignment) + - LSB first diff --git a/20230613/rtech-20230613-latin1.txt b/20230613/rtech-20230613-latin1.txt new file mode 100644 index 0000000000000000000000000000000000000000..c112f26fbae4238530cf6b7e3aafe5077e7e5788 --- /dev/null +++ b/20230613/rtech-20230613-latin1.txt @@ -0,0 +1,32 @@ +smiley.pbm: + +00000000 50 34 0a 23 20 43 72 65 61 74 65 64 20 62 79 20 |P4.# Created by | +00000010 47 49 4d 50 20 76 65 72 73 69 6f 6e 20 32 2e 31 |GIMP version 2.1| +00000020 30 2e 38 20 50 4e 4d 20 70 6c 75 67 2d 69 6e 0a |0.8 PNM plug-in.| +00000030 31 34 20 31 34 0a 00 00 00 00 00 00 08 40 08 40 |14 14........@.@| +00000040 08 40 00 00 00 00 40 08 20 10 1f e0 00 00 00 00 |.@....@. .......| +00000050 00 00 |..| +00000052 + +"Magische" Signatur: P4 +Kommentar: eingeleitet mit "#" +Breite in Pixel +H�he in Pixel +1 Whitespace (hier: Zeilenschaltung) +Bilddaten: + - auf volle Bytes auff�llen (Alignment) + - MSB first + +smiley.xbm: C-Quelltext + +#define smiley_width 14 +#define smiley_height 14 +static unsigned char smiley_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x02, 0x10, 0x02, 0x10, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x10, 0x04, 0x08, 0xf8, 0x07, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00 }; + +Breite und H�he in Pixel: #define +Bilddaten: C-Array + - auf volle Bytes auff�llen (Alignment) + - LSB first diff --git a/20230613/rtech-20230613-utf8.txt b/20230613/rtech-20230613-utf8.txt new file mode 100644 index 0000000000000000000000000000000000000000..5bb63fa735f4cf082a529e0d07a517b0df44201a --- /dev/null +++ b/20230613/rtech-20230613-utf8.txt @@ -0,0 +1,32 @@ +smiley.pbm: + +00000000 50 34 0a 23 20 43 72 65 61 74 65 64 20 62 79 20 |P4.# Created by | +00000010 47 49 4d 50 20 76 65 72 73 69 6f 6e 20 32 2e 31 |GIMP version 2.1| +00000020 30 2e 38 20 50 4e 4d 20 70 6c 75 67 2d 69 6e 0a |0.8 PNM plug-in.| +00000030 31 34 20 31 34 0a 00 00 00 00 00 00 08 40 08 40 |14 14........@.@| +00000040 08 40 00 00 00 00 40 08 20 10 1f e0 00 00 00 00 |.@....@. .......| +00000050 00 00 |..| +00000052 + +"Magische" Signatur: P4 +Kommentar: eingeleitet mit "#" +Breite in Pixel +Höhe in Pixel +1 Whitespace (hier: Zeilenschaltung) +Bilddaten: + - auf volle Bytes auffüllen (Alignment) + - MSB first + +smiley.xbm: C-Quelltext + +#define smiley_width 14 +#define smiley_height 14 +static unsigned char smiley_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x02, 0x10, 0x02, 0x10, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x10, 0x04, 0x08, 0xf8, 0x07, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00 }; + +Breite und Höhe in Pixel: #define +Bilddaten: C-Array + - auf volle Bytes auffüllen (Alignment) + - LSB first diff --git a/20230613/rtech-20230613.pdf b/20230613/rtech-20230613.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a46e83d5b817d56b37d37a70755d62d44799654e Binary files /dev/null and b/20230613/rtech-20230613.pdf differ diff --git a/20230613/rtech-20230613.tex b/20230613/rtech-20230613.tex new file mode 100644 index 0000000000000000000000000000000000000000..73cc3314041c16965944c3596c0cf524e7e0771d --- /dev/null +++ b/20230613/rtech-20230613.tex @@ -0,0 +1,979 @@ +% rtech-20230613.pdf - Lecture Slides on Computer Technology +% Copyright (C) 2012, 2013, 2014, 2021, 2022, 2023 Peter Gerwinski +% +% This document is free software: you can redistribute it and/or +% modify it either under the terms of the Creative Commons +% Attribution-ShareAlike 3.0 License, or under the terms of the +% GNU General Public License as published by the Free Software +% Foundation, either version 3 of the License, or (at your option) +% any later version. +% +% This document 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. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this document. If not, see <http://www.gnu.org/licenses/>. +% +% You should have received a copy of the Creative Commons +% Attribution-ShareAlike 3.0 Unported License along with this +% document. If not, see <http://creativecommons.org/licenses/>. + +% README: Hardwarenahe Programmierung: Interrupts, Endianness, Dateiformate + +\documentclass[10pt,t]{beamer} + +\usepackage{pgslides} +\usepackage{pdftricks} +%\usepackage[obeyfamily=false,mathrm=mathsf,textrm=sffamily]{siunitx} +%\usepackage{eurosym} +\usepackage{tikz} + +\newcommand{\vfilll}{\vspace{0pt plus 1 filll}} + +\lstdefinestyle{asm}{basicstyle=\color{structure}, + language={}, + gobble=4} + +\begin{psinputs} + \usepackage[utf8]{inputenc} + \usepackage[german]{babel} + \usepackage[T1]{fontenc} + \usepackage{helvet} + \renewcommand*\familydefault{\sfdefault} + \usepackage{pstricks,pst-grad,pst-circ-pg} + \newcommand{\invisible}{\tiny\color{white}} + \psset{unit=1cm} + \psset{logicLabelstyle=\invisible} + \newcommand{\logicSymbol}{\small\boldmath\bf\rule{0pt}{0.5cm}} + \psset{logicSymbolstyle=\logicSymbol} + \newcommand{\Cin}{C\raisebox{-0.5ex}{\footnotesize in}} + \newcommand{\Cout}{C\raisebox{-0.5ex}{\footnotesize out}} +\end{psinputs} + +\title{Rechnertechnik} +\author{Prof.\ Dr.\ rer.\ nat.\ Peter Gerwinski} +\date{13.\ Juni 2023} + +\begin{document} + +\maketitleframe + +\nosectionnonumber{\inserttitle} + +\begin{frame} + + \shownosectionnonumber + + \begin{itemize} + \item[\textbf{1}] \textbf{Einführung} + \item[\textbf{2}] \textbf{Vom Schaltkreis zum Computer} + \item[\textbf{3}] \textbf{Assember-Programmierung} +% \begin{itemize} +% \item[3.1] Struktur von Assembler-Programmen +% \item[3.2] Beispiel: Redcode +% \item[3.3] Architekturmerkmale von Prozessore +% \item[3.4] Der CPU-Stack +% \color{medgreen} +% \item[3.5] Computer-Sprachen +% \end{itemize} + \item[\textbf{4}] \textbf{Hardwarenahe Programmierung} + \begin{itemize} + \item[4.1] Bit-Operationen + \item[4.2] I/O-Ports + \color{medgreen} + \item[4.3] Interrupts + \item[4.4] volatile-Variable + \color{red} + \item[4.5] Byte-Reihenfolge -- Endianness + \end{itemize} + \item[\textbf{5}] \textbf{Dateiformate} +% \begin{itemize} +% \color{red} +% \item[5.1] Grafikformate +% \item[5.3] Ausführbare Dateien +% \item[5.4] Die Toolchain +% \item[5.5] Besonderheiten von Mikrocontrollern +% \item[\dots] +% \end{itemize} + \item[\textbf{6}] \textbf{Pipelining} +% \item[\textbf{7}] \textbf{Bus-Systeme} +% \item[\textbf{8}] \textbf{Ausblick} +% \item[\textbf{\dots\hspace{-0.75em}}] + \end{itemize} + +\end{frame} + +\setcounter{section}{3} +\section{Hardwarenahe Programmierung} +\setcounter{subsection}{2} +\subsection{Interrupts} + +\begin{frame}[fragile] + + \showsubsection + + Externes Gerät ruft (per Stromsignal) Unterprogramm auf + + Zeiger hinterlegen: "`Interrupt-Vektor"' + + Beispiel: eingebaute Uhr\hfill + \makebox(0,0)[tr]{% + \only<1->{\begin{minipage}[t]{4.7cm} + \vspace*{-0.3cm}% + statt Zählschleife (\lstinline{_delay_ms}):\\ + Hauptprogramm kann\\ + andere Dinge tun + \end{minipage}}% + } + + \medskip + + \begin{lstlisting} + #include <avr/interrupt.h> + + ... + + + ISR (TIMER0B_COMP_vect) + { + PORTD ^= 0x40; + } + \end{lstlisting} + \begin{picture}(0,0) + \color{red} + \put(1.9,3.1){\makebox(0,0)[tr]{\tikz{\draw[-latex](0,0)--(-1.4,-1.0);}}} + \put(2.0,3.2){\makebox(0,0)[l]{"`Dies ist ein Interrupt-Handler."'}} + \put(2.3,2.6){\makebox(0,0)[tr]{\tikz{\draw[-latex](0,0)--(-0.6,-0.55);}}} + \put(2.4,2.6){\makebox(0,0)[l]{Interrupt-Vektor darauf zeigen lassen}} + \end{picture} + + Initialisierung über spezielle Ports: + \lstinline{TCCR0B}, \lstinline{TIMSK0} + + \bigskip + + \emph{Details: siehe Datenblatt und Schaltplan} + + \vspace*{-2.5cm}\hfill + {\color{red}Herstellerspezifisch!}% + \hspace*{1cm} + +\end{frame} + +\iffalse + +\begin{frame}[fragile] + + \showsubsection + + Externes Gerät ruft (per Stromsignal) Unterprogramm auf + + Zeiger hinterlegen: "`Interrupt-Vektor"' + + Beispiel: Taster\hfill + \makebox(0,0)[tr]{% + \begin{minipage}[t]{4.7cm} + \vspace*{-0.3cm}% + statt \newterm{Busy Waiting\/}:\\ + Hauptprogramm kann\\ + andere Dinge tun + \end{minipage}} + + \medskip + + \begin{lstlisting} + #include <avr/interrupt.h> + ... + + ISR (INT0_vect) + { + PORTD ^= 0x40; + } + \end{lstlisting} + + \medskip + + Initialisierung über spezielle Ports: + \lstinline{EICRA}, \lstinline{EIMSK} + + \bigskip + + \emph{Details: siehe Datenblatt und Schaltplan} + + \vspace*{-2.5cm}\hfill + {\color{red}Herstellerspezifisch!}% + \hspace*{1cm} + +\end{frame} + +\fi + +\subsection{volatile-Variable} + +\begin{frame}[fragile] + + \showsubsection + + Externes Gerät ruft (per Stromsignal) Unterprogramm auf + + Zeiger hinterlegen: "`Interrupt-Vektor"' + + Beispiel: Taster + + \vspace*{-2.5pt} + + \begin{minipage}[t]{5cm} + \begin{onlyenv}<1> + \begin{lstlisting}[gobble=8] + ¡#include <avr/interrupt.h> + ... + + uint8_t key_pressed = 0; + + ISR (INT0_vect) + { + key_pressed = 1; + }¿ + \end{lstlisting} + \end{onlyenv} + \begin{onlyenv}<2> + \begin{lstlisting}[gobble=8] + ¡#include <avr/interrupt.h> + ... + + volatile uint8_t key_pressed = 0; + + ISR (INT0_vect) + { + key_pressed = 1; + }¿ + \end{lstlisting} + \end{onlyenv} + \end{minipage}\hfill + \begin{minipage}[t]{6cm} + \begin{lstlisting}[gobble=6] + ¡int main (void) + { + ... + + while (1) + { + while (!key_pressed) + ; /* just wait */ + PORTD ^= 0x40; + key_pressed = 0; + } + return 0; + }¿ + \end{lstlisting} + \end{minipage} + + \pause + \begin{picture}(0,0) + \color{red} + \put(10.3,4.0){\makebox(0,0)[b]{\begin{minipage}{6cm} + \begin{center} + \textbf{volatile}:\\ + Speicherzugriff\\ + nicht wegoptimieren + \end{center} + \end{minipage}}} + \put(10.3,3.95){\makebox(0,0)[tr]{\tikz{\draw[-latex](0,0)--(-0.5,-0.9);}}} + \end{picture} + +\end{frame} + +\begin{frame}[fragile] + + \showsubsection + + Was ist eigentlich \lstinline{PORTD}? + + \bigskip + \pause + + \lstinline[style=cmd]{avr-gcc -Wall -Os -mmcu=atmega328p blink-3.c -E} + + \bigskip + \pause + \lstinline{PORTD = 0x01;}\\ + \textarrow\quad + \lstinline[style=terminal]{(*(volatile uint8_t *)((0x0B) + 0x20)) = 0x01;}\\ + \pause + \begin{picture}(0,2)(0,-1.7) + \color{red} + \put(5.75,0.3){$\underbrace{\rule{2.95cm}{0pt}}_{\mbox{Zahl: \lstinline|0x2B|}}$} + \pause + \put(1.55,0.3){$\underbrace{\rule{4.0cm}{0pt}}_{\mbox{\shortstack[t]{Umwandlung in Zeiger\\ + auf \lstinline|volatile uint8_t|}}}$} + \pause + \put(1.32,-1){\makebox(0,0)[b]{\tikz{\draw[-latex](0,0)--(0,1.3)}}} + \put(1.12,-1.1){\makebox(0,0)[tl]{Dereferenzierung des Zeigers}} + \end{picture} + + \pause + \textarrow\quad + \lstinline|volatile uint8_t|-Variable an Speicheradresse \lstinline|0x2B| + + \pause + \bigskip + \bigskip + + \textarrow\quad + \lstinline|PORTA = PORTB = PORTC = PORTD = 0| ist eine schlechte Idee. + +\end{frame} + +\subsection{Byte-Reihenfolge -- Endianness} +\subsubsection{Konzept} + +\begin{frame}[fragile] + + \showsubsection + \showsubsubsection + + Eine Zahl geht über mehrere Speicherzellen.\\ + Beispiel: 16-Bit-Zahl in 2 8-Bit-Speicherzellen + + \smallskip + + Welche Bits liegen wo? + +% \pause + \bigskip + + $1027 = 1024 + 2 + 1 = 0000\,0100\,0000\,0011_2 = 0403_{16}$ + +% \pause + \bigskip + Speicherzellen: + + \medskip + \begin{tabular}{|c|c|l}\cline{1-2} + \raisebox{-0.25ex}{04} & \raisebox{-0.25ex}{03} & \strut Big-Endian "`großes Ende zuerst"' \\\cline{1-2} + \multicolumn{2}{c}{} & % \pause + für Menschen leichter lesbar % \pause + \\ + \multicolumn{3}{c}{} \\[-5pt]\cline{1-2} + \raisebox{-0.25ex}{03} & \raisebox{-0.25ex}{04} & \strut Little-Endian "`kleines Ende zuerst"' \\\cline{1-2} + \multicolumn{2}{c}{} & % \pause + bei Additionen effizienter + \end{tabular} + +% \pause + \medskip + \textarrow\ Geschmackssache +% \pause\\ + \quad\textbf{\dots\ außer bei Datenaustausch!} + +% \pause +% \bigskip +% +% Aber: nicht verwechseln! \qquad $0304_{16} = 772$ + +\end{frame} + +\begin{frame} + + \showsubsection + \showsubsubsection + + Eine Zahl geht über mehrere Speicherzellen.\\ + Beispiel: 16-Bit-Zahl in 2 8-Bit-Speicherzellen + + \smallskip + + Welche Bits liegen wo? + + \medskip + + \textarrow\ Geschmackssache\\ + \textbf{\dots\ außer bei Datenaustausch!} + + \begin{itemize} + \item + Dateiformate + \item + Datenübertragung + \end{itemize} + +\end{frame} + +\subsubsection{Dateiformate} + +\begin{frame} + + \showsubsection + \showsubsubsection + + Audio-Formate: Reihenfolge der Bytes in 16- und 32-Bit-Zahlen + \begin{itemize} + \item + RIFF-WAVE-Dateien (\file{.wav}): Little-Endian + \item + Au-Dateien (\file{.au}): Big-Endian +% \pause + \item + ältere AIFF-Dateien (\file{.aiff}): Big-Endian + \item + neuere AIFF-Dateien (\file{.aiff}): Little-Endian + \end{itemize} + +% \pause + \bigskip + + Grafik-Formate: Reihenfolge der Bits in den Bytes + \begin{itemize} + \item + PBM-Dateien: Big-Endian\only<1->{, MSB first} + \item + XBM-Dateien: Little-Endian\only<1->{, LSB first} + \end{itemize} + \only<1->{MSB/LSB = most/least significant bit} + +\end{frame} + +\subsubsection{Datenübertragung} + +\begin{frame} + + \showsubsection + \showsubsubsection + + \begin{itemize} + \item + RS-232 (serielle Schnittstelle): LSB first + \item + I$^2$C: MSB first + \item + USB: beides + \pause + \medskip + \item + Ethernet: LSB first + \item + TCP/IP (Internet): Big-Endian + \end{itemize} + +\end{frame} + +\begin{frame}[fragile] + + \showsubsection + + Frage: \emph{Für welche Zahl steht der Speicherinhalt\, + \raisebox{2pt}{% + \tabcolsep0.25em + \begin{tabular}{|c|c|}\hline + \rule{0pt}{11pt}a3 & 90 \\\hline + \end{tabular}} + (hexadezimal)?} + + \pause + \smallskip + Antwort: \emph{Das kommt darauf an.} ;--) + + \pause + \medskip + Little-Endian: + + \smallskip + + \begin{tabular}{lrl} + als \lstinline,int8_t,: & $-93$ & (nur erstes Byte)\\ + als \lstinline,uint8_t,: & $163$ & (nur erstes Byte)\\ + als \lstinline,int16_t,: & $-28509$\\ + als \lstinline,uint16_t,: & $37027$\\ + \lstinline,int32_t, oder größer: & $37027$ + & (zusätzliche Bytes mit Nullen aufgefüllt) + \end{tabular} + + \pause + \medskip + Big-Endian: + + \smallskip + + \begin{tabular}{lrl} + als \lstinline,int8_t,: & $-93$ & (nur erstes Byte)\\ + als \lstinline,uint8_t,: & $163$ & (nur erstes Byte)\\ + als \lstinline,int16_t,: & $-23664$\\ + als \lstinline,uint16_t,: & $41872$\\ als \lstinline,int32_t,: & $-1550843904$ & (zusätzliche Bytes\\ + als \lstinline,uint32_t,: & $2744123392$ & mit Nullen aufgefüllt)\\ + als \lstinline,int64_t,: & $-6660823848880963584$\\ + als \lstinline,uint64_t,: & $11785920224828588032$\\ + \end{tabular} + + \vspace*{-1cm} + +\end{frame} + +\iffalse + +\subsection{Speicherausrichtung -- Alignment} + +\begin{frame}[fragile] + + \showsubsection + + \begin{lstlisting} + #include <stdint.h> + + uint8_t a; + uint16_t b; + uint8_t c; + \end{lstlisting} + + \pause + \bigskip + + Speicheradresse durch 2 teilbar -- "`16-Bit-Alignment"' + \begin{itemize} + \item + 2-Byte-Operation: effizienter + \pause + \item + \dots\ oder sogar nur dann erlaubt + \pause + \arrowitem + Compiler optimiert Speicherausrichtung + \end{itemize} + + \medskip + + \pause + \begin{minipage}{3cm} + \begin{lstlisting}[gobble=6] + ¡uint8_t a; + uint8_t dummy; + uint16_t b; + uint8_t c;¿ + \end{lstlisting} + \end{minipage} + \pause + \begin{minipage}{3cm} + \begin{lstlisting}[gobble=6] + ¡uint8_t a; + uint8_t c; + uint16_t b;¿ + \end{lstlisting} + \end{minipage} + + \pause + \vspace{-1.75cm} + \strut\hfill + \begin{minipage}{6.5cm} + Fazit: + \begin{itemize} + \item + \textbf{Adressen von Variablen\\ + sind systemabhängig} + \item + Bei Definition von Datenformaten\\ + Alignment beachten \textarrow\ effizienter + \end{itemize} + \end{minipage} + +\end{frame} + +\fi + +\section{Dateiformate} +\subsection{Grafikdateien} +\subsubsection{Pixelgrafik} + +\begin{frame} + + \showsection + \showsubsection + \showsubsubsection + + Jeden Bildpunkt einzeln abspeichern + \begin{itemize} + \item + Farben als Zahlen abspeichern, z.\,B.\ Rot-, Grün- und Blauanteil\\ + verbreitet: jeweils 8 Bit pro Farbkanal + \item + Farben als Tabelle abspeichern:\\ + pro Bildpunkt ein Index für Tabelle, in der der Farbwert steht + \item + Speziell: nur 2 Farben (Vordergrund, Hintergrund)\\ + 1 Bit pro Pixel + \end{itemize} + + \medskip + + Kompression + \begin{itemize} + \item + unkomprimiert: PBM, PGM, PPM, XBM + \item + verlustfrei: GIF, PNG (für Grafiken) + \item + verlustbehaftet: JPEG (für Fotos) + \end{itemize} + + \vfilll + + \strut\hfill + \begin{picture}(0,0) + \put(0,0){\makebox(0,0)[br]{\includegraphics[height=1cm]{logo-hochschule-bochum.jpg}}} + \put(0,1.5){\makebox(0,0)[br]{\includegraphics[height=1cm]{logo-hochschule-bochum.png}}} + \end{picture} + +\end{frame} + +\subsubsection{Vektorgrafik} + +\begin{frame} + + \showsection + \showsubsection + \showsubsubsection + + Bildelemente über ihre Koordinaten abspeichern + \begin{itemize} + \item + geeignet für Grafiken, normalerweise nicht für Fotos + \item + kleine Dateigrößen, skalierbar + \end{itemize} + + \medskip + + Kompression + \begin{itemize} + \item + unkomprimiert: PostScript, SVG + \item + komprimiert: PDF\\ + (kann auch PNG oder JPEG enthalten) + \end{itemize} + + \vfilll + + \strut\hfill + \begin{picture}(0,0) + \put(0,0){\makebox(0,0)[br]{\includegraphics[height=1cm]{logo-hochschule-bochum.jpg}}} + \put(0,1.5){\makebox(0,0)[br]{\includegraphics[height=1cm]{logo-hochschule-bochum.png}}} + \put(0,3){\makebox(0,0)[br]{\includegraphics[height=1cm]{logo-hochschule-bochum.pdf}}} + \end{picture} + +\end{frame} + +\subsection{Textdateien} + +\begin{frame} + \showsection + \showsubsection + + Zeichenkodierungen + \begin{itemize} + \item + 7 Bit: ASCII + \item + 8 Bit: CP-437, CP-850, ISO 8859-1, ISO 8859-5, ISO 8859-15, \dots + \item + 32 Bit: Unicode\\ + 16-Bit-Kodierung: UTF-16\\ + 8-Bit-Kodierung: UTF-8 + \item + für URLs: Punycode + \item + historisch: Baudot-Code (5 Bit), EBCDIC (8 Bit) + \end{itemize} + + \medskip + + Zeilentrennzeichen + \begin{itemize} + \item + Unix: LF + \item + MS-DOS/Windows, HTTP: CR LF + \item + frühere Mac-Rechner: CR + \end{itemize} + +\end{frame} + +\subsection{Archiv-Dateien} + +\begin{frame} + \showsection + \showsubsection + + \begin{itemize}\itemsep\medskipamount + \item + einzelne Datei, komprimiert:\\ + .gz, .bz2, .xz\\ + .ppm.xz-Dateien sind kleiner als .png-Dateien + \item + mehrere Dateien, zusammengefaßt:\\ + .ar, .tar + \item + mehrere Dateien, zusammengefaßt und komprimiert:\\ + .tar.gz, .tar.bz2, .tar.xz, .zip, .7z + \item + Spezialfall: mehrere Text-Dateien in standardisierter .zip-Datei:\\ + OpenDocument (LibreOffice u.\,a.): .odt, .ods, .odp, \dots\\ + Office-Open-XML (Microsoft): .docx, .xlsx, .pptx, \dots + \end{itemize} + +\end{frame} + +\subsection{Binärdateien} + +\begin{frame} + \showsection + \showsubsection + + \begin{itemize} + \item + Ein Programm speichert seine Speicherinhalte\\ + i.\,w.\ "`einfach so"' auf einem Datenträger. + \arrowitem + Bereits kleinste Versionsunterschiede führen zu Problemen. + \item + Beispiel: MS-Office-Dateien (.doc, .xls, .ppt) + \item + Besser: komprimierte Text-Dateien (.odt, .ods, .odp, .docx, .xlsx, .pptx) + \end{itemize} + +\end{frame} + +\subsection{Ausführbare Dateien} + +\begin{frame} + + \visible<1->{\showsection\showsubsection} + + Man kann Maschinenprogramme nicht "`einfach so"' in den Speicher laden. + +% \pause + \bigskip + + Sprünge anpassen + \begin{itemize} + \item + Relokation: Relokationstabelle + \item + Linken: Symboltabelle + \end{itemize} + +\end{frame} + +\begin{frame} + + \showsubsection + + \vspace*{-0.5cm} + + \begin{center} + \setlength{\unitlength}{0.8cm} + \begin{picture}(15,6)(0,-1.25) + \footnotesize + + \put(0,1.0){\line(1,0){15}} + \multiput(0,1)(0.1,0){151}{\line(0,1){0.1}} + \put(0,1.1){\line(1,0){15}} + \put(0,0.8){\makebox(0,0)[tl]{Ausführbare Binärdatei}} + \put(0.5,1.2){$\overbrace{\rule{1.0\unitlength}{0pt}}$} + \put(2.0,1.2){$\overbrace{\rule{1.0\unitlength}{0pt}}$} + \put(3.5,1.2){$\overbrace{\rule{11.5\unitlength}{0pt}}$} + + \put(0,4.0){\line(1,0){5}} + \multiput(0,3.5)(0.5,0){11}{\line(0,1){0.5}} + \put(0,3.5){\line(1,0){5}} + \put(0,4.2){\makebox(0,0)[bl]{Relokationstabelle}} + \put(1.0,3.4){\line(0,-1){1.9}} + \put(3.75,3.4){\vector(1,-2){1.2}} + \put(4.25,3.4){\vector(1,-1){2.4}} + \put(4.75,3.4){\vector(2,-1){4.8}} + + \put(4.95,0.7){\line(0,1){0.25}} + \put(4.95,0.7){\line(1,0){0.5}} + \put(5.45,0.7){\vector(0,1){0.25}} + \put(6.65,0.7){\line(0,1){0.25}} + \put(6.65,0.7){\line(1,0){0.8}} + \put(7.45,0.7){\vector(0,1){0.25}} + \put(9.55,0.6){\line(0,1){0.35}} + \put(9.55,0.6){\line(-1,0){3.2}} + \put(6.35,0.6){\vector(0,1){0.35}} + \put(7.25,0.4){\makebox(0,0)[t]{Sprünge innerhalb des Programms}} + + \put(6,4.0){\line(1,0){5}} + \multiput(6,3.5)(0.5,0){11}{\line(0,1){0.5}} + \put(6,3.5){\line(1,0){5}} + \put(6,4.2){\makebox(0,0)[bl]{Symboltabelle}} + \put(6.4,3.4){\line(-2,-1){3.8}} + \put(10.25,3.4){\vector(1,-2){1.2}} + \put(10.75,3.4){\vector(1,-1){2.4}} + + \put(9.25,1.55){\line(0,1){1}} + \put(8.50,2.60){\makebox(0,0)[b]{Maschinenprogramm}} + + \put(11.45,0.95){\vector(0,-1){1}} + \put(11.45,-0.10){\makebox(0,0)[t]{\lstinline{scanf}}} + \put(13.15,0.95){\vector(0,-1){1}} + \put(13.15,-0.10){\makebox(0,0)[t]{\lstinline{printf}}} + \put(12.30,-0.50){\makebox(0,0)[t]{Sprünge aus dem Programm heraus}} + + \end{picture} + \end{center} + + \vspace*{-1.2cm} + + \begin{onlyenv}<2> + + Ausführbare Binärdatei: + + \smallskip + + Relokationstabelle,\\ + Symboltabelle für dynamischen Linker + + \smallskip + + Formate: a.out, COFF, ELF, \dots\\ + Dateiendungen: (keine), .elf, .com, .exe, .scr + + \end{onlyenv} + + \begin{onlyenv}<3> + + Objektdatei: + + \smallskip + + Relokationstabelle,\\ + Symboltabellen für statischen und dynamischen Linker + + \smallskip + + Formate: a.out, COFF, ELF, \dots\\ + Dateiendungen: .o, .obj + + \end{onlyenv} + + \begin{onlyenv}<4-> + + \strut\\ + Bibliothek: + + \smallskip + + Zusammenfassung mehrerer Objekt-Dateien + + \smallskip + + Statische Bibliotheken: .a, .lib\\ + Dynamische Bibliotheken: .so, .dll + + \end{onlyenv} + +\end{frame} + +\subsubsection{Die Toolchain} + +\begin{frame}[fragile] + + \showsubsection + \showsubsubsection + + \vspace*{-1.5cm} + \begin{center} + \addtolength{\leftskip}{4cm} + \small + \newcommand{\vtextarrow}[1]{% + \begin{picture}(0,0.8) + \put(0,0.8){\vector(0,-1){0.8}} + \put(0.125,0.4){\makebox(0,0)[l]{#1}} + \end{picture}} + + \framebox{\shortstack{\strut menschliche Gedanken}} + + \vtextarrow{Texteditor} + + \framebox{\shortstack{\strut C-Quelltext}} % (z.\,B.\ hello.c)}} + + \vtextarrow{Compiler} + + \framebox{\shortstack{\strut Assembler-Quelltext}} % (z.\,B.\ hello.s, hello.asm)}} + + \vtextarrow{Assembler} + + \framebox{\shortstack{\strut Objekt- und Bibliothek-Dateien}} % (z.\,B.\ hello.o, hello.obj)}} + + \vtextarrow{Linker} + + \framebox{\shortstack{\strut ausführbare Binärdatei}} % (z.\,B.\ hello, hello.exe)}} + + \vtextarrow{Loader} + + \framebox{\shortstack{\strut Programm im Speicher bereit zur Ausführung}} + \end{center} + +% \pause + \vspace*{-7cm} + Automatischer Aufruf: + \begin{itemize} + \item + Entwicklungsumgebungen\\ + (z.\,B.\ Eclipse, Code::Blocks, \dots) + \medskip + \item + \file{gcc} = Compiler\\ + \hspace*{3em}+ Assembler\\ + \hspace*{3em}+ Linker\\ + \hspace*{3em}+ \dots + \medskip + \item + \file{make} kann \emph{alles} aufrufen + \end{itemize} + +\end{frame} + +\subsubsection{Besonderheiten von Mikrocontrollern} + +\begin{frame} + + \showsubsection + \showsubsubsection + + Kein Betriebssystem\\ % \pause\\ + \textarrow\ kein Relocator, kein dynamischer Linker\\ % \pause\\ + \textarrow\ Wir müssen dem Mikrocontroller alles "`mundgerecht"' servieren. + +% \pause + \smallskip + + \begin{itemize} + \item + fertiges ROM: Hersteller + \item + Flash-Speicher und In-System Programmer (ISP) + \item + Flash-Speicher und Boot-Loader + \end{itemize} + + \smallskip + + In jedem Fall: statisch linken, Relokation vorher + \begin{picture}(0,0) + \color{red} + \put(0.1,0.1){\line(1,0){1.2}} + \put(1.3,0.1){\vector(0,1){2.2}} + \end{picture}\\ + \textarrow\ ELF-Datei in HEX-Datei umwandeln + + \smallskip + + Format: Intel-Hex-Format\\ + Dateiendung: .hex + +\end{frame} + +\end{document} diff --git a/20230613/rtech-20230613.txt b/20230613/rtech-20230613.txt new file mode 100644 index 0000000000000000000000000000000000000000..f6f304e1ef3c2ecde7cf777b6e101cb9384eefab --- /dev/null +++ b/20230613/rtech-20230613.txt @@ -0,0 +1,44 @@ +smiley.pbm: + +00000000 50 34 0a 23 20 43 72 65 61 74 65 64 20 62 79 20 |P4.# Created by | +00000010 47 49 4d 50 20 76 65 72 73 69 6f 6e 20 32 2e 31 |GIMP version 2.1| +00000020 30 2e 38 20 50 4e 4d 20 70 6c 75 67 2d 69 6e 0a |0.8 PNM plug-in.| +00000030 31 34 20 31 34 0a 00 00 00 00 00 00 08 40 08 40 |14 14........@.@| +00000040 08 40 00 00 00 00 40 08 20 10 1f e0 00 00 00 00 |.@....@. .......| +00000050 00 00 |..| +00000052 + +"Magische" Signatur: P4 +Kommentar: eingeleitet mit "#" +Breite in Pixel +Höhe in Pixel +1 Whitespace (hier: Zeilenschaltung) +Bilddaten: + - auf volle Bytes auffüllen (Alignment) + - MSB first + +smiley.xbm: C-Quelltext + +#define smiley_width 14 +#define smiley_height 14 +static unsigned char smiley_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x02, 0x10, 0x02, 0x10, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x10, 0x04, 0x08, 0xf8, 0x07, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00 }; + +Breite und Höhe in Pixel: #define +Bilddaten: C-Array + - auf volle Bytes auffüllen (Alignment) + - LSB first + +BCD = Binär Codiertes Dezimalsystem, 13.06.2023, 13:30:18 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +42 + 137 = 179 +0x42 + 0x137 --> spezielle Maschinenbefehle, mit denen man dann 0x179 herausbekommt. +Hintergrund: Es ist einfacher für die Ausgabe, z.B. auf Druckern. +--> Einsatz dort, wo man mit großen Zahlen rechnen muß, z.B. in Banken + +EBCDIC: auf BCD basierender Zeichensatz +--> Buchstaben nicht aufeinanderfolgend: + 'A' + 1 = 'B', aber 'R' + 1 = '¹' + 'K' - 1 = 'J', aber 'S' - 1 = '÷' diff --git a/20230613/screenshot-01.png b/20230613/screenshot-01.png new file mode 100644 index 0000000000000000000000000000000000000000..00d85805f2320c75abaffa9f18b9972ac1f19626 Binary files /dev/null and b/20230613/screenshot-01.png differ diff --git a/20230613/screenshot-01.xwd b/20230613/screenshot-01.xwd new file mode 100644 index 0000000000000000000000000000000000000000..82114911ba737ee3cba9e85d351638a169179e18 Binary files /dev/null and b/20230613/screenshot-01.xwd differ diff --git a/20230613/screenshot-02.png b/20230613/screenshot-02.png new file mode 100644 index 0000000000000000000000000000000000000000..9da6c7a903ce1282c92a32e2d84cd24af4066fc7 Binary files /dev/null and b/20230613/screenshot-02.png differ diff --git a/20230613/smiley-coloured-too-big.png b/20230613/smiley-coloured-too-big.png new file mode 100644 index 0000000000000000000000000000000000000000..d9e7ea7f3bc862f6cafff60dc94b7f9071506d7b Binary files /dev/null and b/20230613/smiley-coloured-too-big.png differ diff --git a/20230613/smiley-coloured-too-big.ppm.xz b/20230613/smiley-coloured-too-big.ppm.xz new file mode 100644 index 0000000000000000000000000000000000000000..9ed73086d34631bfed61c0a96148d9eb9de9a53b Binary files /dev/null and b/20230613/smiley-coloured-too-big.ppm.xz differ diff --git a/20230613/smiley-coloured.png b/20230613/smiley-coloured.png new file mode 100644 index 0000000000000000000000000000000000000000..e215af189838bee98e6cfa3841e704b543c7e7d7 Binary files /dev/null and b/20230613/smiley-coloured.png differ diff --git a/20230613/smiley-coloured.ppm.xz b/20230613/smiley-coloured.ppm.xz new file mode 100644 index 0000000000000000000000000000000000000000..e0097e6e2bc5b2a4e6e91a97fa0c41200078c889 Binary files /dev/null and b/20230613/smiley-coloured.ppm.xz differ diff --git a/20230613/smiley-coloured.xcf.gz b/20230613/smiley-coloured.xcf.gz new file mode 100644 index 0000000000000000000000000000000000000000..d99f828a70b7809352e3e25760537dfb2a18fb3d Binary files /dev/null and b/20230613/smiley-coloured.xcf.gz differ diff --git a/20230613/smiley.pbm b/20230613/smiley.pbm new file mode 100644 index 0000000000000000000000000000000000000000..10355ae85e13001e26638cfa717f5a5ef6bf6147 Binary files /dev/null and b/20230613/smiley.pbm differ diff --git a/20230613/smiley.png b/20230613/smiley.png new file mode 100644 index 0000000000000000000000000000000000000000..40604a6934e7d966b840b534e986030ec5ab5264 Binary files /dev/null and b/20230613/smiley.png differ diff --git a/20230613/smiley.xbm b/20230613/smiley.xbm new file mode 100644 index 0000000000000000000000000000000000000000..307f013b65df65496009abe36afb7878d0304337 --- /dev/null +++ b/20230613/smiley.xbm @@ -0,0 +1,6 @@ +#define smiley_width 14 +#define smiley_height 14 +static unsigned char smiley_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x02, 0x10, 0x02, 0x10, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x10, 0x04, 0x08, 0xf8, 0x07, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00 }; diff --git a/20230613/smileys.tar.gz b/20230613/smileys.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..33636a3dfbd12e2d6b8c207a0604f57b0e4aa8ce Binary files /dev/null and b/20230613/smileys.tar.gz differ diff --git a/20230613/smileys.tar.xz b/20230613/smileys.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000..2bfaccd71f54e2edab4d9bc2c6f4d681bdc908d0 Binary files /dev/null and b/20230613/smileys.tar.xz differ diff --git a/20230613/smileys.zip b/20230613/smileys.zip new file mode 100644 index 0000000000000000000000000000000000000000..c24ce404ebb622f5518711cfbdc25ccb4c337d68 Binary files /dev/null and b/20230613/smileys.zip differ diff --git a/20230613/test-utf16.txt b/20230613/test-utf16.txt new file mode 100644 index 0000000000000000000000000000000000000000..2e10bedcf7011d84e0d16765097b8514fc195b87 Binary files /dev/null and b/20230613/test-utf16.txt differ diff --git a/20230613/test-utf8.txt b/20230613/test-utf8.txt new file mode 100644 index 0000000000000000000000000000000000000000..4c041fbf9e43b25fb7156cd7c9ed371780161ab4 --- /dev/null +++ b/20230613/test-utf8.txt @@ -0,0 +1,6 @@ +Dies ist ein Test. +Ä Ö Ü ä ö ü ß +Hello, world! - Привет, мир! +嘉納 治五郎, Kanō Jigorō +Smiley: 😅 +Deutschlandflagge: 🇩🇪