forked from unidoc/unioffice
-
Notifications
You must be signed in to change notification settings - Fork 0
/
unioffice.go
123 lines (92 loc) · 58 KB
/
unioffice.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
//
// Copyright 2020 FoxyUtils ehf. All rights reserved.
//
// This is a commercial product and requires a license to operate.
// A trial license can be obtained at https://unidoc.io
//
// DO NOT EDIT: generated by unitwist Go source code obfuscator.
//
// Use of this source code is governed by the UniDoc End User License Agreement
// terms that can be accessed at https://unidoc.io/eula/
/*
Package unioffice provides creation, reading, and writing of ECMA 376 Office Open
XML documents, spreadsheets and presentations. It is still early in
development, but is progressing quickly. This library takes a slightly
different approach from others, in that it starts by trying to support all of
the ECMA-376 standard when marshaling/unmarshaling XML documents. From there it
adds wrappers around the ECMA-376 derived types that provide a more convenient
interface.
The raw XML based types reside in the `schema/`` directory. These types are
always accessible from the wrapper types via a `X() method that returns the
raw type. Except for the base documents (document.Document,
spreadsheet.Workbook and presentation.Presentation), the other wrapper types are
value types with non-pointer methods. They exist solely to modify and return
data from one or more XML types.
The packages of interest are github.com/unidoc/unioffice/document,
unidoc/unioffice/spreadsheet and github.com/unidoc/unioffice/presentation.
*/
package unioffice ;import (_f "encoding/xml";_g "errors";_ff "fmt";_dc "github.com/unidoc/unioffice/algo";_c "github.com/unidoc/unioffice/common/logger";_d "log";_dd "reflect";_e "strings";_b "unicode";);
// XSDAny is used to marshal/unmarshal xsd:any types in the OOXML schema.
type XSDAny struct{XMLName _f .Name ;Attrs []_f .Attr ;Data []byte ;Nodes []*XSDAny ;};
// RelativeFilename returns a filename relative to the source file referenced
// from a relationships file. Index is used in some cases for files which there
// may be more than one of (e.g. worksheets/drawings/charts)
func RelativeFilename (dt DocType ,relToTyp ,typ string ,index int )string {_bb :=AbsoluteFilename (dt ,typ ,index );if relToTyp ==""{return _bb ;};_ab :=AbsoluteFilename (dt ,relToTyp ,index );_ca :=_e .Split (_ab ,"\u002f");_ef :=_e .Split (_bb ,"\u002f");_ddf :=0;for _ag :=0;_ag < len (_ca );_ag ++{if _ca [_ag ]==_ef [_ag ]{_ddf ++;};if _ag +1==len (_ef ){break ;};};_ca =_ca [_ddf :];_ef =_ef [_ddf :];_gb :=len (_ca )-1;if _gb > 0{return _dc .RepeatString ("\u002e\u002e\u002f",_gb )+_e .Join (_ef ,"\u002f");};return _e .Join (_ef ,"\u002f");};
// Int32 returns a copy of v as a pointer.
func Int32 (v int32 )*int32 {_dda :=v ;return &_dda };
// CreateElement creates an element with the given namespace and name. It is
// used to unmarshal some xsd:any elements to the appropriate concrete type.
func CreateElement (start _f .StartElement )(Any ,error ){_cf ,_dde :=_de [start .Name .Space +"\u002f"+start .Name .Local ];if !_dde {_cg :=&XSDAny {};return _cg ,nil ;};_ae :=_dd .ValueOf (_cf );_eg :=_ae .Call (nil );if len (_eg )!=1{return nil ,_ff .Errorf ("\u0063\u006fn\u0073\u0074\u0072\u0075\u0063t\u006f\u0072\u0020\u0066\u0075n\u0063\u0074\u0069\u006f\u006e\u0020\u0073\u0068\u006f\u0075\u006c\u0064\u0020\u0072\u0065\u0074\u0075\u0072\u006e\u0020\u006f\u006e\u0065\u0020\u0076\u0061\u006c\u0075\u0065\u002c\u0020\u0067\u006f\u0074\u0020\u0025\u0064",len (_eg ));};_gg ,_dde :=_eg [0].Interface ().(Any );if !_dde {return nil ,_g .New ("\u0063o\u006e\u0073t\u0072\u0075\u0063\u0074o\u0072\u0020\u0066u\u006e\u0063\u0074\u0069\u006f\u006e\u0020\u0073\u0068ou\u006c\u0064\u0020r\u0065\u0074u\u0072\u006e\u0020\u0061\u006e\u0079 \u0027\u0041n\u0079\u0027");};return _gg ,nil ;};
// AbsoluteFilename returns the full path to a file from the root of the zip
// container. Index is used in some cases for files which there may be more than
// one of (e.g. worksheets/drawings/charts)
func AbsoluteFilename (dt DocType ,typ string ,index int )string {switch typ {case CorePropertiesType :return "\u0064\u006f\u0063\u0050\u0072\u006f\u0070\u0073\u002f\u0063\u006f\u0072e\u002e\u0078\u006d\u006c";case CustomPropertiesType :return "\u0064\u006f\u0063\u0050ro\u0070\u0073\u002f\u0063\u0075\u0073\u0074\u006f\u006d\u002e\u0078\u006d\u006c";case ExtendedPropertiesType ,ExtendedPropertiesTypeStrict :return "\u0064\u006fc\u0050\u0072\u006fp\u0073\u002f\u0061\u0070\u0070\u002e\u0078\u006d\u006c";case ThumbnailType ,ThumbnailTypeStrict :return "\u0064\u006f\u0063Pr\u006f\u0070\u0073\u002f\u0074\u0068\u0075\u006d\u0062\u006e\u0061\u0069\u006c\u002e\u006a\u0070\u0065\u0067";case CustomXMLType :return _ff .Sprintf ("c\u0075s\u0074\u006f\u006d\u0058\u006d\u006c\u002f\u0069t\u0065\u006d\u0025\u0064.x\u006d\u006c",index );case PresentationPropertiesType :return "\u0070\u0070\u0074\u002f\u0070\u0072\u0065\u0073\u0050\u0072\u006f\u0070s\u002e\u0078\u006d\u006c";case ViewPropertiesType :switch dt {case DocTypePresentation :return "\u0070\u0070\u0074\u002f\u0076\u0069\u0065\u0077\u0050\u0072\u006f\u0070s\u002e\u0078\u006d\u006c";case DocTypeSpreadsheet :return "\u0078\u006c/\u0076\u0069\u0065w\u0050\u0072\u006f\u0070\u0073\u002e\u0078\u006d\u006c";case DocTypeDocument :return "\u0077o\u0072d\u002f\u0076\u0069\u0065\u0077P\u0072\u006fp\u0073\u002e\u0078\u006d\u006c";};case TableStylesType :switch dt {case DocTypePresentation :return "\u0070\u0070\u0074\u002fta\u0062\u006c\u0065\u0053\u0074\u0079\u006c\u0065\u0073\u002e\u0078\u006d\u006c";case DocTypeSpreadsheet :return "\u0078l\u002ft\u0061\u0062\u006c\u0065\u0053t\u0079\u006ce\u0073\u002e\u0078\u006d\u006c";case DocTypeDocument :return "w\u006fr\u0064\u002f\u0074\u0061\u0062\u006c\u0065\u0053t\u0079\u006c\u0065\u0073.x\u006d\u006c";};case HyperLinkType :return "";case OfficeDocumentType ,OfficeDocumentTypeStrict :switch dt {case DocTypeSpreadsheet :return "\u0078l\u002fw\u006f\u0072\u006b\u0062\u006f\u006f\u006b\u002e\u0078\u006d\u006c";case DocTypeDocument :return "\u0077\u006f\u0072\u0064\u002f\u0064\u006f\u0063\u0075\u006d\u0065\u006et\u002e\u0078\u006d\u006c";case DocTypePresentation :return "p\u0070t\u002f\u0070\u0072\u0065\u0073\u0065\u006e\u0074a\u0074\u0069\u006f\u006e.x\u006d\u006c";default:_c .Log .Debug ("\u0075\u006e\u0073u\u0070\u0070\u006f\u0072t\u0065\u0064\u0020\u0074\u0079\u0070\u0065 \u0025\u0073\u0020\u0070\u0061\u0069\u0072\u0020\u0061\u006e\u0064\u0020\u0025\u0076",typ ,dt );};case ThemeType ,ThemeTypeStrict ,ThemeContentType :switch dt {case DocTypeSpreadsheet :return _ff .Sprintf ("x\u006c/\u0074\u0068\u0065\u006d\u0065\u002f\u0074\u0068e\u006d\u0065\u0025\u0064.x\u006d\u006c",index );case DocTypeDocument :return _ff .Sprintf ("\u0077\u006f\u0072\u0064/t\u0068\u0065\u006d\u0065\u002f\u0074\u0068\u0065\u006d\u0065\u0025\u0064\u002e\u0078m\u006c",index );case DocTypePresentation :return _ff .Sprintf ("p\u0070\u0074\u002f\u0074he\u006de\u002f\u0074\u0068\u0065\u006de\u0025\u0064\u002e\u0078\u006d\u006c",index );default:_c .Log .Debug ("\u0075\u006e\u0073u\u0070\u0070\u006f\u0072t\u0065\u0064\u0020\u0074\u0079\u0070\u0065 \u0025\u0073\u0020\u0070\u0061\u0069\u0072\u0020\u0061\u006e\u0064\u0020\u0025\u0076",typ ,dt );};case StylesType ,StylesTypeStrict :switch dt {case DocTypeSpreadsheet :return "\u0078\u006c\u002f\u0073\u0074\u0079\u006c\u0065\u0073\u002e\u0078\u006d\u006c";case DocTypeDocument :return "\u0077o\u0072d\u002f\u0073\u0074\u0079\u006c\u0065\u0073\u002e\u0078\u006d\u006c";case DocTypePresentation :return "\u0070\u0070\u0074\u002f\u0073\u0074\u0079\u006c\u0065s\u002e\u0078\u006d\u006c";default:_c .Log .Debug ("\u0075\u006e\u0073u\u0070\u0070\u006f\u0072t\u0065\u0064\u0020\u0074\u0079\u0070\u0065 \u0025\u0073\u0020\u0070\u0061\u0069\u0072\u0020\u0061\u006e\u0064\u0020\u0025\u0076",typ ,dt );};case ChartType ,ChartTypeStrict ,ChartContentType :switch dt {case DocTypeSpreadsheet :return _ff .Sprintf ("x\u006c\u002f\u0063\u0068ar\u0074s\u002f\u0063\u0068\u0061\u0072t\u0025\u0064\u002e\u0078\u006d\u006c",index );case DocTypeDocument :return _ff .Sprintf ("\u0077\u006f\u0072d/\u0063\u0068\u0061\u0072\u0074\u0073\u002f\u0063\u0068\u0061\u0072\u0074\u0025\u0064\u002e\u0078\u006d\u006c",index );case DocTypePresentation :return _ff .Sprintf ("\u0070\u0070\u0074\u002fch\u0061\u0072\u0074\u0073\u002f\u0063\u0068\u0061\u0072\u0074\u0025\u0064\u002e\u0078m\u006c",index );default:_c .Log .Debug ("\u0075\u006e\u0073u\u0070\u0070\u006f\u0072t\u0065\u0064\u0020\u0074\u0079\u0070\u0065 \u0025\u0073\u0020\u0070\u0061\u0069\u0072\u0020\u0061\u006e\u0064\u0020\u0025\u0076",typ ,dt );};case TableType ,TableTypeStrict ,TableContentType :return _ff .Sprintf ("x\u006c\u002f\u0074\u0061bl\u0065s\u002f\u0074\u0061\u0062\u006ce\u0025\u0064\u002e\u0078\u006d\u006c",index );case DrawingType ,DrawingTypeStrict ,DrawingContentType :switch dt {case DocTypeSpreadsheet :return _ff .Sprintf ("\u0078l\u002f\u0064\u0072\u0061w\u0069\u006e\u0067\u0073\u002fd\u0072a\u0077i\u006e\u0067\u0025\u0064\u002e\u0078\u006dl",index );default:_c .Log .Debug ("\u0075\u006e\u0073u\u0070\u0070\u006f\u0072t\u0065\u0064\u0020\u0074\u0079\u0070\u0065 \u0025\u0073\u0020\u0070\u0061\u0069\u0072\u0020\u0061\u006e\u0064\u0020\u0025\u0076",typ ,dt );};case CommentsType ,CommentsTypeStrict ,CommentsContentType :switch dt {case DocTypeSpreadsheet :return _ff .Sprintf ("\u0078\u006c\u002f\u0063\u006f\u006d\u006d\u0065\u006e\u0074\u0073\u0025d\u002e\u0078\u006d\u006c",index );default:_c .Log .Debug ("\u0075\u006e\u0073u\u0070\u0070\u006f\u0072t\u0065\u0064\u0020\u0074\u0079\u0070\u0065 \u0025\u0073\u0020\u0070\u0061\u0069\u0072\u0020\u0061\u006e\u0064\u0020\u0025\u0076",typ ,dt );};case VMLDrawingType ,VMLDrawingTypeStrict ,VMLDrawingContentType :switch dt {case DocTypeSpreadsheet :return _ff .Sprintf ("\u0078\u006c\u002f\u0064r\u0061\u0077\u0069\u006e\u0067\u0073\u002f\u0076\u006d\u006cD\u0072a\u0077\u0069\u006e\u0067\u0025\u0064\u002ev\u006d\u006c",index );default:_c .Log .Debug ("\u0075\u006e\u0073u\u0070\u0070\u006f\u0072t\u0065\u0064\u0020\u0074\u0079\u0070\u0065 \u0025\u0073\u0020\u0070\u0061\u0069\u0072\u0020\u0061\u006e\u0064\u0020\u0025\u0076",typ ,dt );};case ImageType ,ImageTypeStrict :switch dt {case DocTypeDocument :return _ff .Sprintf ("\u0077\u006f\u0072\u0064/m\u0065\u0064\u0069\u0061\u002f\u0069\u006d\u0061\u0067\u0065\u0025\u0064\u002e\u0070n\u0067",index );case DocTypeSpreadsheet :return _ff .Sprintf ("x\u006c/\u006d\u0065\u0064\u0069\u0061\u002f\u0069\u006da\u0067\u0065\u0025\u0064.p\u006e\u0067",index );case DocTypePresentation :return _ff .Sprintf ("p\u0070\u0074\u002f\u006ded\u0069a\u002f\u0069\u006d\u0061\u0067e\u0025\u0064\u002e\u0070\u006e\u0067",index );default:_c .Log .Debug ("\u0075\u006e\u0073u\u0070\u0070\u006f\u0072t\u0065\u0064\u0020\u0074\u0079\u0070\u0065 \u0025\u0073\u0020\u0070\u0061\u0069\u0072\u0020\u0061\u006e\u0064\u0020\u0025\u0076",typ ,dt );};case WorksheetType ,WorksheetTypeStrict ,WorksheetContentType :return _ff .Sprintf ("\u0078l\u002f\u0077\u006f\u0072k\u0073\u0068\u0065\u0065\u0074s\u002fs\u0068e\u0065\u0074\u0025\u0064\u002e\u0078\u006dl",index );case SharedStringsType ,SharedStringsTypeStrict ,SharedStringsContentType :return "x\u006c/\u0073\u0068\u0061\u0072\u0065\u0064\u0053\u0074r\u0069\u006e\u0067\u0073.x\u006d\u006c";case FontTableType ,FontTableTypeStrict :return "\u0077o\u0072d\u002f\u0066\u006f\u006e\u0074T\u0061\u0062l\u0065\u002e\u0078\u006d\u006c";case EndNotesType ,EndNotesTypeStrict :return "\u0077\u006f\u0072\u0064\u002f\u0065\u006e\u0064\u006e\u006f\u0074\u0065s\u002e\u0078\u006d\u006c";case FootNotesType ,FootNotesTypeStrict :return "\u0077o\u0072d\u002f\u0066\u006f\u006f\u0074n\u006f\u0074e\u0073\u002e\u0078\u006d\u006c";case NumberingType ,NumberingTypeStrict :return "\u0077o\u0072d\u002f\u006e\u0075\u006d\u0062e\u0072\u0069n\u0067\u002e\u0078\u006d\u006c";case WebSettingsType ,WebSettingsTypeStrict :return "w\u006fr\u0064\u002f\u0077\u0065\u0062\u0053\u0065\u0074t\u0069\u006e\u0067\u0073.x\u006d\u006c";case SettingsType ,SettingsTypeStrict :return "\u0077\u006f\u0072\u0064\u002f\u0073\u0065\u0074\u0074\u0069\u006e\u0067s\u002e\u0078\u006d\u006c";case HeaderType ,HeaderTypeStrict :return _ff .Sprintf ("\u0077\u006f\u0072\u0064\u002f\u0068\u0065\u0061\u0064\u0065\u0072\u0025d\u002e\u0078\u006d\u006c",index );case FooterType ,FooterTypeStrict :return _ff .Sprintf ("\u0077\u006f\u0072\u0064\u002f\u0066\u006f\u006f\u0074\u0065\u0072\u0025d\u002e\u0078\u006d\u006c",index );case ControlType ,ControlTypeStrict :switch dt {case DocTypeSpreadsheet :return _ff .Sprintf ("\u0078l\u002f\u0061\u0063\u0074\u0069\u0076\u0065\u0058\u002f\u0061\u0063t\u0069\u0076\u0065\u0058\u0025\u0064\u002e\u0078\u006d\u006c",index );case DocTypeDocument :return _ff .Sprintf ("\u0077\u006f\u0072\u0064\u002f\u0061\u0063\u0074\u0069\u0076\u0065X\u002f\u0061\u0063\u0074\u0069\u0076\u0065\u0058\u0025\u0064.\u0078\u006d\u006c",index );case DocTypePresentation :return _ff .Sprintf ("\u0070p\u0074\u002f\u0061\u0063t\u0069\u0076\u0065\u0058\u002fa\u0063t\u0069v\u0065\u0058\u0025\u0064\u002e\u0078\u006dl",index );default:_c .Log .Debug ("\u0075\u006e\u0073u\u0070\u0070\u006f\u0072t\u0065\u0064\u0020\u0074\u0079\u0070\u0065 \u0025\u0073\u0020\u0070\u0061\u0069\u0072\u0020\u0061\u006e\u0064\u0020\u0025\u0076",typ ,dt );};case SlideType ,SlideTypeStrict :return _ff .Sprintf ("\u0070\u0070\u0074\u002fsl\u0069\u0064\u0065\u0073\u002f\u0073\u006c\u0069\u0064\u0065\u0025\u0064\u002e\u0078m\u006c",index );case SlideLayoutType :return _ff .Sprintf ("\u0070\u0070\u0074/s\u006c\u0069\u0064\u0065\u004c\u0061\u0079\u006f\u0075t\u0073/\u0073l\u0069d\u0065\u004c\u0061\u0079\u006f\u0075\u0074\u0025\u0064\u002e\u0078\u006d\u006c",index );case SlideMasterType :return _ff .Sprintf ("\u0070\u0070\u0074/s\u006c\u0069\u0064\u0065\u004d\u0061\u0073\u0074\u0065r\u0073/\u0073l\u0069d\u0065\u004d\u0061\u0073\u0074\u0065\u0072\u0025\u0064\u002e\u0078\u006d\u006c",index );case HandoutMasterType :return _ff .Sprintf ("\u0070\u0070\u0074\u002f\u0068\u0061\u006e\u0064\u006f\u0075\u0074\u004d\u0061\u0073\u0074\u0065\u0072\u0073\u002f\u0068\u0061\u006e\u0064\u006fu\u0074\u004d\u0061\u0073\u0074e\u0072\u0025d\u002e\u0078\u006d\u006c",index );case NotesMasterType :return _ff .Sprintf ("\u0070\u0070\u0074/n\u006f\u0074\u0065\u0073\u004d\u0061\u0073\u0074\u0065r\u0073/\u006eo\u0074e\u0073\u004d\u0061\u0073\u0074\u0065\u0072\u0025\u0064\u002e\u0078\u006d\u006c",index );default:_c .Log .Debug ("\u0075\u006e\u0073\u0075pp\u006f\u0072\u0074\u0065\u0064\u0020\u0074\u0079\u0070\u0065\u0020\u0025\u0073",typ );};return "";};type nsSet struct{_gf map[string ]string ;_ffa map[string ]string ;_aec []string ;};
// DocType represents one of the three document types supported (docx/xlsx/pptx)
type DocType byte ;const MinGoVersion =_aeg ;var _de =map[string ]interface{}{};
// RegisterConstructor registers a constructor function used for unmarshaling
// xsd:any elements.
func RegisterConstructor (ns ,name string ,fn interface{}){_de [ns +"\u002f"+name ]=fn };
// Bool returns a copy of v as a pointer.
func Bool (v bool )*bool {_ec :=v ;return &_ec };
// Uint32 returns a copy of v as a pointer.
func Uint32 (v uint32 )*uint32 {_abad :=v ;return &_abad };const _aeg =true ;func _fbd (_eec *any ){for _ ,_bd :=range _eec .Nodes {_fbd (_bd );};};
// Uint64 returns a copy of v as a pointer.
func Uint64 (v uint64 )*uint64 {_dcd :=v ;return &_dcd };
// NeedsSpacePreserve returns true if the string has leading or trailing space.
func NeedsSpacePreserve (s string )bool {if len (s )==0{return false ;};switch s [0]{case '\t','\n','\v','\f','\r',' ',0x85,0xA0:return true ;};switch s [len (s )-1]{case '\t','\n','\v','\f','\r',' ',0x85,0xA0:return true ;};return false ;};var _eff =map[string ]string {"\u0061":"\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0073\u0063\u0068\u0065m\u0061\u0073\u002e\u006f\u0070\u0065\u006e\u0078m\u006cf\u006f\u0072\u006d\u0061\u0074\u0073\u002e\u006f\u0072\u0067\u002f\u0064\u0072\u0061\u0077\u0069\u006e\u0067m\u006c\u002f\u0032\u0030\u0030\u0036\u002f\u006d\u0061\u0069\u006e","\u0064\u0063":"\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0070\u0075\u0072\u006c\u002e\u006f\u0072\u0067/\u0064c\u002f\u0065\u006c\u0065\u006d\u0065\u006e\u0074\u0073\u002f\u0031\u002e\u0031\u002f","\u0064c\u0074\u0065\u0072\u006d\u0073":"\u0068t\u0074\u0070\u003a\u002f/\u0070\u0075\u0072\u006c\u002eo\u0072g\u002fd\u0063\u002f\u0074\u0065\u0072\u006d\u0073/","\u006d\u0063":"\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0073\u0063\u0068\u0065\u006d\u0061\u0073\u002e\u006f\u0070\u0065\u006e\u0078m\u006c\u0066\u006f\u0072\u006d\u0061\u0074\u0073\u002e\u006f\u0072\u0067\u002f\u006d\u0061\u0072\u006b\u0075\u0070\u002d\u0063\u006f\u006d\u0070\u0061\u0074\u0069\u0062\u0069\u006ci\u0074\u0079\u002f\u0032\u00300\u0036","\u006d\u006f":"\u0068\u0074\u0074\u0070\u003a\u002f/\u0073\u0063\u0068e\u006d\u0061\u0073.\u006d\u0069\u0063\u0072\u006f\u0073\u006f\u0066\u0074\u002ec\u006f\u006d\u002f\u006f\u0066fi\u0063\u0065\u002f\u006d\u0061\u0063\u002f\u006f\u0066\u0066\u0069\u0063\u0065\u002f\u0032\u0030\u0030\u0038\u002f\u006d\u0061\u0069\u006e","\u0077":"ht\u0074\u0070:\u002f\u002f\u0073\u0063\u0068\u0065\u006d\u0061\u0073.\u006f\u0070\u0065\u006e\u0078\u006d\u006c\u0066\u006f\u0072\u006d\u0061\u0074\u0073\u002e\u006f\u0072\u0067\u002f\u0077\u006f\u0072\u0064\u0070\u0072\u006f\u0063\u0065s\u0073i\u006e\u0067\u006d\u006c\u002f\u0032\u0030\u00306\u002fm\u0061\u0069n","\u0077\u0031\u0030":"\u0075\u0072n\u003a\u0073\u0063\u0068e\u006d\u0061s\u002d\u006d\u0069\u0063\u0072\u006f\u0073\u006ff\u0074\u002d\u0063\u006f\u006d\u003a\u006f\u0066\u0066\u0069\u0063\u0065:\u0077\u006f\u0072\u0064","\u0077\u0031\u0034":"\u0068\u0074t\u0070\u003a\u002f\u002f\u0073c\u0068\u0065\u006d\u0061\u0073.\u006d\u0069\u0063\u0072\u006f\u0073\u006f\u0066\u0074\u002e\u0063\u006f\u006d\u002f\u006f\u0066\u0066\u0069\u0063\u0065\u002f\u0077\u006f\u0072\u0064\u002f\u0032\u0030\u0031\u0030\u002f\u0077\u006f\u0072\u0064\u006d\u006c","\u0077\u0031\u0035":"\u0068\u0074t\u0070\u003a\u002f\u002f\u0073c\u0068\u0065\u006d\u0061\u0073.\u006d\u0069\u0063\u0072\u006f\u0073\u006f\u0066\u0074\u002e\u0063\u006f\u006d\u002f\u006f\u0066\u0066\u0069\u0063\u0065\u002f\u0077\u006f\u0072\u0064\u002f\u0032\u0030\u0031\u0032\u002f\u0077\u006f\u0072\u0064\u006d\u006c","\u0077\u006e\u0065":"\u0068\u0074t\u0070\u003a\u002f\u002f\u0073c\u0068\u0065\u006d\u0061\u0073.\u006d\u0069\u0063\u0072\u006f\u0073\u006f\u0066\u0074\u002e\u0063\u006f\u006d\u002f\u006f\u0066\u0066\u0069\u0063\u0065\u002f\u0077\u006f\u0072\u0064\u002f\u0032\u0030\u0030\u0036\u002f\u0077\u006f\u0072\u0064\u006d\u006c","\u0077\u0070":"\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0073\u0063\u0068\u0065\u006d\u0061\u0073\u002e\u006f\u0070\u0065\u006ex\u006d\u006c\u0066\u006f\u0072\u006d\u0061\u0074\u0073\u002e\u006f\u0072\u0067\u002f\u0064\u0072a\u0077\u0069\u006e\u0067\u006d\u006c\u002f\u0032\u0030\u0030\u0036\u002f\u0077\u006f\u0072\u0064\u0070\u0072\u006f\u0063\u0065\u0073\u0073\u0069n\u0067\u0044\u0072\u0061\u0077i\u006e\u0067","\u0077\u0070\u0031\u0034":"\u0068\u0074\u0074\u0070\u003a\u002f/\u0073\u0063\u0068\u0065\u006da\u0073\u002e\u006d\u0069\u0063\u0072o\u0073\u006f\u0066\u0074\u002ec\u006f\u006d\u002f\u006f\u0066\u0066\u0069\u0063\u0065\u002f\u0077\u006fr\u0064\u002f\u0032\u0030\u0031\u0030\u002f\u0077\u006f\u0072\u0064\u0070\u0072\u006f\u0063e\u0073\u0073\u0069\u006e\u0067\u0044\u0072\u0061w\u0069\u006e\u0067","\u0077\u0070\u0063":"\u0068\u0074t\u0070\u003a\u002f\u002f\u0073\u0063\u0068\u0065\u006d\u0061\u0073\u002e\u006d\u0069\u0063\u0072\u006f\u0073\u006ff\u0074\u002e\u0063\u006f\u006d\u002fo\u0066\u0066\u0069\u0063\u0065\u002f\u0077\u006f\u0072\u0064\u002f\u0032\u0030\u00310\u002f\u0077o\u0072\u0064\u0070\u0072o\u0063\u0065\u0073\u0073\u0069n\u0067\u0043\u0061\u006e\u0076\u0061\u0073","\u0077\u0070\u0067":"\u0068\u0074\u0074\u0070\u003a/\u002f\u0073\u0063\u0068\u0065m\u0061s\u002e\u006d\u0069\u0063\u0072\u006f\u0073\u006f\u0066\u0074\u002e\u0063\u006f\u006d\u002f\u006f\u0066\u0066\u0069c\u0065\u002f\u0077\u006f\u0072\u0064\u002f\u0032\u0030\u0031\u0030\u002f\u0077\u006f\u0072\u0064\u0070\u0072\u006f\u0063\u0065\u0073\u0073\u0069n\u0067\u0047\u0072\u006f\u0075\u0070","\u0077\u0070\u0069":"\u0068t\u0074\u0070\u003a\u002f\u002f\u0073\u0063he\u006d\u0061\u0073\u002e\u006d\u0069\u0063\u0072\u006f\u0073\u006f\u0066\u0074\u002ec\u006f\u006d/\u006f\u0066\u0066i\u0063\u0065\u002f\u0077\u006f\u0072\u0064\u002f\u0032\u0030\u0031\u0030\u002f\u0077\u006f\u0072d\u0070\u0072oc\u0065\u0073\u0073i\u006e\u0067\u0049\u006e\u006b","\u0077\u0070\u0073":"\u0068\u0074\u0074\u0070\u003a/\u002f\u0073\u0063\u0068\u0065m\u0061s\u002e\u006d\u0069\u0063\u0072\u006f\u0073\u006f\u0066\u0074\u002e\u0063\u006f\u006d\u002f\u006f\u0066\u0066\u0069c\u0065\u002f\u0077\u006f\u0072\u0064\u002f\u0032\u0030\u0031\u0030\u002f\u0077\u006f\u0072\u0064\u0070\u0072\u006f\u0063\u0065\u0073\u0073\u0069n\u0067\u0053\u0068\u0061\u0070\u0065","\u0078\u0073\u0069":"\u0068\u0074\u0074\u0070\u003a/\u002f\u0077\u0077\u0077\u002e\u0077\u0033\u002e\u006f\u0072\u0067\u002f\u00320\u0030\u0031\u002f\u0058\u004d\u004c\u0053\u0063\u0068\u0065\u006d\u0061\u002d\u0069\u006e\u0073\u0074\u0061\u006e\u0063\u0065","\u0078\u0031\u0035a\u0063":"ht\u0074\u0070:\u002f\u002f\u0073\u0063\u0068\u0065\u006d\u0061\u0073.\u006d\u0069\u0063\u0072\u006f\u0073\u006f\u0066\u0074\u002e\u0063\u006f\u006d\u002f\u006f\u0066\u0066\u0069\u0063\u0065\u002f\u0073\u0070\u0072\u0065\u0061\u0064\u0073h\u0065e\u0074\u006d\u006c\u002f\u0032\u0030\u0031\u0030/\u00311\u002f\u0061c","\u0077\u0031\u0036s\u0065":"\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0073\u0063\u0068\u0065\u006d\u0061\u0073\u002e\u006d\u0069\u0063\u0072\u006fs\u006f\u0066\u0074\u002e\u0063\u006f\u006d\u002f\u006ff\u0066\u0069\u0063\u0065\u002f\u0077\u006f\u0072\u0064\u002f\u0032\u0030\u00315\u002f\u0077\u006f\u0072\u0064\u006dl\u002f\u0073\u0079m\u0065\u0078","\u0077\u0031\u0036\u0063\u0069\u0064":"\u0068\u0074\u0074\u0070\u003a\u002f/\u0073\u0063\u0068e\u006d\u0061\u0073.\u006d\u0069\u0063\u0072\u006f\u0073\u006f\u0066\u0074\u002ec\u006f\u006d\u002f\u006f\u0066fi\u0063\u0065\u002f\u0077\u006f\u0072\u0064\u002f\u0032\u0030\u0031\u0036\u002f\u0077\u006f\u0072\u0064\u006d\u006c\u002f\u0063\u0069\u0064","\u0077\u0031\u0036":"\u0068\u0074t\u0070\u003a\u002f\u002f\u0073c\u0068\u0065\u006d\u0061\u0073.\u006d\u0069\u0063\u0072\u006f\u0073\u006f\u0066\u0074\u002e\u0063\u006f\u006d\u002f\u006f\u0066\u0066\u0069\u0063\u0065\u002f\u0077\u006f\u0072\u0064\u002f\u0032\u0030\u0031\u0038\u002f\u0077\u006f\u0072\u0064\u006d\u006c","\u0077\u0031\u0036\u0063\u0065\u0078":"\u0068\u0074\u0074\u0070\u003a\u002f/\u0073\u0063\u0068e\u006d\u0061\u0073.\u006d\u0069\u0063\u0072\u006f\u0073\u006f\u0066\u0074\u002ec\u006f\u006d\u002f\u006f\u0066fi\u0063\u0065\u002f\u0077\u006f\u0072\u0064\u002f\u0032\u0030\u0031\u0038\u002f\u0077\u006f\u0072\u0064\u006d\u006c\u002f\u0063\u0065\u0078","\u0078\u006d\u006c":"\u0068\u0074tp\u003a\u002f\u002fw\u0077\u0077\u002e\u00773.o\u0072g/\u0058\u004d\u004c\u002f\u0031\u0039\u00398/\u006e\u0061\u006d\u0065\u0073\u0070\u0061c\u0065"};
// AbsoluteImageFilename returns the full path to an image from the root of the
// zip container.
func AbsoluteImageFilename (dt DocType ,index int ,fileExtension string )string {_cb :=AbsoluteFilename (dt ,ImageType ,index );return _cb [0:len (_cb )-3]+fileExtension ;};
// RelativeImageFilename returns an image filename relative to the source file referenced
// from a relationships file. It is identical to RelativeFilename but is used particularly for images
// in order to handle different image formats.
func RelativeImageFilename (dt DocType ,relToTyp ,typ string ,index int ,fileExtension string )string {_af :=RelativeFilename (dt ,relToTyp ,typ ,index );return _af [0:len (_af )-3]+fileExtension ;};
// UnmarshalXML implements the xml.Unmarshaler interface.
func (_dcb *XSDAny )UnmarshalXML (d *_f .Decoder ,start _f .StartElement )error {_add :=any {};if _dec :=d .DecodeElement (&_add ,&start );_dec !=nil {return _dec ;};_fbd (&_add );_dcb .XMLName =_add .XMLName ;_dcb .Attrs =_add .Attrs ;_dcb .Data =_add .Data ;_dcb .Nodes =_ffd (_add .Nodes );return nil ;};
// AddPreserveSpaceAttr adds an xml:space="preserve" attribute to a start
// element if it is required for the string s.
func AddPreserveSpaceAttr (se *_f .StartElement ,s string ){if NeedsSpacePreserve (s ){se .Attr =append (se .Attr ,_f .Attr {Name :_f .Name {Local :"\u0078m\u006c\u003a\u0073\u0070\u0061\u0063e"},Value :"\u0070\u0072\u0065\u0073\u0065\u0072\u0076\u0065"});};};func (_df *XSDAny )collectNS (_ccf *nsSet ){if _df .XMLName .Space !=""{_ccf .getPrefix (_df .XMLName .Space );};for _ ,_fga :=range _df .Attrs {if _fga .Name .Space !=""&&_fga .Name .Space !="\u0078\u006d\u006cn\u0073"{_ccf .getPrefix (_fga .Name .Space );};};for _ ,_fgc :=range _df .Nodes {_fgc .collectNS (_ccf );};};
// MarshalXML implements the xml.Marshaler interface.
func (_feg *XSDAny )MarshalXML (e *_f .Encoder ,start _f .StartElement )error {start .Name =_feg .XMLName ;start .Attr =_feg .Attrs ;_edf :=any {};_edf .XMLName =_feg .XMLName ;_edf .Attrs =_feg .Attrs ;_edf .Data =_feg .Data ;_edf .Nodes =_ce (_feg .Nodes );_cgg :=[]string {};_ffg :=false ;_adb :=nsSet {_gf :map[string ]string {},_ffa :map[string ]string {}};_feg .collectNS (&_adb );_adb .applyToNode (&_edf );for _ ,_ddg :=range _adb ._aec {if _ ,_dbbe :=_fe [_ddg ];_dbbe {_cgg =append (_cgg ,_ddg );};_cff :=_adb ._ffa [_ddg ];_edf .Attrs =append (_edf .Attrs ,_f .Attr {Name :_f .Name {Local :"\u0078\u006d\u006c\u006e\u0073\u003a"+_ddg },Value :_cff });if _ddg =="\u006d\u0063"{_ffg =true ;};};for _ ,_agc :=range _edf .Attrs {if _agc .Name .Local =="\u006d\u0063\u003aI\u0067\u006e\u006f\u0072\u0061\u0062\u006c\u0065"{_ffg =false ;break ;};};if _ffg &&len (_cgg )> 0{_edf .Attrs =append (_edf .Attrs ,_f .Attr {Name :_f .Name {Local :"\u006d\u0063\u003aI\u0067\u006e\u006f\u0072\u0061\u0062\u006c\u0065"},Value :_e .Join (_cgg ,"\u0020")});};return e .Encode (&_edf );};
// String returns a copy of v as a pointer.
func String (v string )*string {_cc :=v ;return &_cc };var Log =_d .Printf ;
// Stringf formats according to a format specifier and returns a pointer to the
// resulting string.
func Stringf (f string ,args ...interface{})*string {_eba :=_ff .Sprintf (f ,args ...);return &_eba };
// Uint8 returns a copy of v as a pointer.
func Uint8 (v uint8 )*uint8 {_be :=v ;return &_be };var _fb =func ()map[string ]string {_ddad :=map[string ]string {};for _agf ,_ea :=range _eff {_ddad [_ea ]=_agf ;};return _ddad ;}();
// Float64 returns a copy of v as a pointer.
func Float64 (v float64 )*float64 {_ga :=v ;return &_ga };func _ce (_fgb []*XSDAny )[]*any {_bef :=[]*any {};for _ ,_gbd :=range _fgb {_dcf :=&any {};_dcf .XMLName =_gbd .XMLName ;_cdb :=[]_f .Attr {};for _ ,_dg :=range _gbd .Attrs {if _dg .Name .Local !="\u0078\u006d\u006cn\u0073"{_cdb =append (_cdb ,_dg );};};_dcf .Attrs =_cdb ;_dcf .Data =_gbd .Data ;_dcf .Nodes =_ce (_gbd .Nodes );_bef =append (_bef ,_dcf );};return _bef ;};const (ContentTypesFilename ="\u005b\u0043\u006f\u006ete\u006e\u0074\u005f\u0054\u0079\u0070\u0065\u0073\u005d\u002e\u0078\u006d\u006c";BaseRelsFilename ="_\u0072\u0065\u006c\u0073\u002f\u002e\u0072\u0065\u006c\u0073";);
// Int64 returns a copy of v as a pointer.
func Int64 (v int64 )*int64 {_ee :=v ;return &_ee };func _ffd (_fcc []*any )[]*XSDAny {_bece :=[]*XSDAny {};for _ ,_dfd :=range _fcc {_gag :=&XSDAny {};_gag .XMLName =_dfd .XMLName ;_gag .Attrs =_dfd .Attrs ;_gag .Data =_dfd .Data ;_gag .Nodes =_ffd (_dfd .Nodes );_bece =append (_bece ,_gag );};return _bece ;};type any struct{XMLName _f .Name ;Attrs []_f .Attr `xml:",any,attr"`;Nodes []*any `xml:",any"`;Data []byte `xml:",chardata"`;};var _fe =map[string ]bool {"\u0077\u0031\u0030":true ,"\u0077\u0031\u0034":true ,"\u0077\u0070\u0031\u0034":true ,"\u0077\u0031\u0035":true ,"\u0078\u0031\u0035a\u0063":true ,"\u0077\u0031\u0036s\u0065":true ,"\u0077\u0031\u0036\u0063\u0069\u0064":true ,"\u0077\u0031\u0036":true ,"\u0077\u0031\u0036\u0063\u0065\u0078":true };
// Uint16 returns a copy of v as a pointer.
func Uint16 (v uint16 )*uint16 {_bg :=v ;return &_bg };
// Float32 returns a copy of v as a pointer.
func Float32 (v float32 )*float32 {_aba :=v ;return &_aba };
// DisableLogging sets the Log function to a no-op so that any log messages are
// silently discarded.
func DisableLogging (){Log =func (string ,...interface{}){}};const (Unknown DocType =iota ;DocTypeSpreadsheet ;DocTypeDocument ;DocTypePresentation ;);
// Any is the interface used for marshaling/unmarshaling xsd:any
type Any interface{MarshalXML (_cd *_f .Encoder ,_fg _f .StartElement )error ;UnmarshalXML (_eb *_f .Decoder ,_ad _f .StartElement )error ;};
// Int8 returns a copy of v as a pointer.
func Int8 (v int8 )*int8 {_bec :=v ;return &_bec };func (_ede nsSet )applyToNode (_gcd *any ){if _gcd .XMLName .Space ==""{return ;};_ebd :=_ede .getPrefix (_gcd .XMLName .Space );_gcd .XMLName .Space ="";_gcd .XMLName .Local =_ebd +"\u003a"+_gcd .XMLName .Local ;_fd :=_gcd .Attrs ;_gcd .Attrs =nil ;for _ ,_cdf :=range _fd {if _cdf .Name .Space =="\u0078\u006d\u006cn\u0073"{continue ;};if _cdf .Name .Space !=""{_abd :=_ede .getPrefix (_cdf .Name .Space );_cdf .Name .Space ="";_cdf .Name .Local =_abd +"\u003a"+_cdf .Name .Local ;};_gcd .Attrs =append (_gcd .Attrs ,_cdf );};for _ ,_fc :=range _gcd .Nodes {_ede .applyToNode (_fc );};};const (OfficeDocumentTypeStrict ="\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0070\u0075\u0072\u006c\u002e\u006f\u0063\u006c\u0063\u002e\u006f\u0072g\u002f\u006f\u006f\u0078\u006d\u006c\u002f\u006f\u0066\u0066\u0069\u0063\u0065\u0044\u006f\u0063u\u006d\u0065\u006e\u0074\u002f\u0072\u0065\u006c\u0061\u0074\u0069\u006f\u006e\u0073\u0068\u0069\u0070\u0073\u002f\u006f\u0066\u0066\u0069\u0063e\u0044\u006f\u0063\u0075\u006de\u006e\u0074";StylesTypeStrict ="\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0070\u0075\u0072\u006c\u002e\u006f\u0063\u006c\u0063\u002e\u006frg\u002fo\u006f\u0078\u006d\u006c\u002f\u006f\u0066\u0066\u0069\u0063\u0065\u0044o\u0063\u0075\u006d\u0065\u006e\u0074\u002f\u0072\u0065\u006c\u0061\u0074\u0069\u006f\u006e\u0073\u0068i\u0070\u0073\u002f\u0073\u0074\u0079\u006c\u0065\u0073";ThemeTypeStrict ="h\u0074\u0074\u0070\u003a\u002f\u002f\u0070\u0075\u0072\u006c\u002e\u006f\u0063\u006c\u0063\u002e\u006f\u0072\u0067\u002f\u006f\u006f\u0078\u006d\u006c\u002fo\u0066f\u0069\u0063\u0065\u0044o\u0063\u0075m\u0065\u006e\u0074\u002f\u0072\u0065\u006c\u0061\u0074\u0069\u006f\u006e\u0073\u0068\u0069\u0070\u0073\u002f\u0074\u0068\u0065\u006d\u0065";ControlTypeStrict ="\u0068t\u0074\u0070\u003a\u002f\u002f\u0070\u0075rl\u002e\u006f\u0063\u006c\u0063\u002e\u006f\u0072\u0067\u002f\u006f\u006f\u0078\u006dl\u002f\u006ff\u0066\u0069\u0063e\u0044\u006f\u0063\u0075\u006d\u0065\u006e\u0074\u002f\u0072\u0065\u006c\u0061\u0074\u0069\u006fn\u0073\u0068ip\u0073\u002f\u0063o\u006e\u0074\u0072\u006f\u006c";SettingsTypeStrict ="\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0070\u0075\u0072\u006c\u002e\u006f\u0063\u006c\u0063\u002eo\u0072\u0067\u002f\u006f\u006f\u0078\u006d\u006c\u002f\u006ff\u0066\u0069\u0063\u0065\u0044\u006f\u0063\u0075\u006d\u0065\u006e\u0074\u002f\u0072\u0065\u006c\u0061\u0074i\u006f\u006e\u0073\u0068\u0069\u0070s\u002f\u0073e\u0074\u0074i\u006eg\u0073";ImageTypeStrict ="h\u0074\u0074\u0070\u003a\u002f\u002f\u0070\u0075\u0072\u006c\u002e\u006f\u0063\u006c\u0063\u002e\u006f\u0072\u0067\u002f\u006f\u006f\u0078\u006d\u006c\u002fo\u0066f\u0069\u0063\u0065\u0044o\u0063\u0075m\u0065\u006e\u0074\u002f\u0072\u0065\u006c\u0061\u0074\u0069\u006f\u006e\u0073\u0068\u0069\u0070\u0073\u002f\u0069\u006d\u0061\u0067\u0065";CommentsTypeStrict ="\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0070\u0075\u0072\u006c\u002e\u006f\u0063\u006c\u0063\u002eo\u0072\u0067\u002f\u006f\u006f\u0078\u006d\u006c\u002f\u006ff\u0066\u0069\u0063\u0065\u0044\u006f\u0063\u0075\u006d\u0065\u006e\u0074\u002f\u0072\u0065\u006c\u0061\u0074i\u006f\u006e\u0073\u0068\u0069\u0070s\u002f\u0063o\u006d\u006de\u006et\u0073";ThumbnailTypeStrict ="\u0068\u0074\u0074\u0070\u003a/\u002f\u0070\u0075\u0072\u006c\u002eo\u0063\u006c\u0063\u002e\u006f\u0072\u0067/\u006f\u006f\u0078m\u006c\u002f\u006f\u0066f\u0069\u0063\u0065\u0044\u006f\u0063u\u006d\u0065\u006e\u0074\u002f\u0072\u0065\u006c\u0061\u0074\u0069\u006f\u006e\u0073\u0068\u0069\u0070s\u002f\u006d\u0065\u0074\u0061\u0064\u0061\u0074\u0061\u002f\u0074\u0068\u0075\u006d\u0062\u006e\u0061\u0069\u006c";DrawingTypeStrict ="\u0068t\u0074\u0070\u003a\u002f\u002f\u0070\u0075rl\u002e\u006f\u0063\u006c\u0063\u002e\u006f\u0072\u0067\u002f\u006f\u006f\u0078\u006dl\u002f\u006ff\u0066\u0069\u0063e\u0044\u006f\u0063\u0075\u006d\u0065\u006e\u0074\u002f\u0072\u0065\u006c\u0061\u0074\u0069\u006fn\u0073\u0068ip\u0073\u002f\u0064r\u0061\u0077\u0069\u006e\u0067";ChartTypeStrict ="h\u0074\u0074\u0070\u003a\u002f\u002f\u0070\u0075\u0072\u006c\u002e\u006f\u0063\u006c\u0063\u002e\u006f\u0072\u0067\u002f\u006f\u006f\u0078\u006d\u006c\u002fo\u0066f\u0069\u0063\u0065\u0044o\u0063\u0075m\u0065\u006e\u0074\u002f\u0072\u0065\u006c\u0061\u0074\u0069\u006f\u006e\u0073\u0068\u0069\u0070\u0073\u002f\u0063\u0068\u0061\u0072\u0074";ExtendedPropertiesTypeStrict ="\u0068\u0074\u0074\u0070\u003a/\u002f\u0070\u0075\u0072\u006c\u002eo\u0063\u006c\u0063\u002e\u006f\u0072\u0067/\u006f\u006f\u0078m\u006c\u002f\u006f\u0066f\u0069\u0063\u0065\u0044\u006f\u0063u\u006d\u0065\u006e\u0074\u002f\u0072\u0065\u006c\u0061\u0074\u0069\u006f\u006e\u0073\u0068\u0069\u0070s\u002f\u0065\u0078\u0074\u0065\u006e\u0064\u0065\u0064\u0050\u0072\u006f\u0070\u0065\u0072\u0074\u0069\u0065\u0073";CustomXMLTypeStrict ="\u0068\u0074\u0074\u0070\u003a/\u002f\u0070\u0075\u0072\u006c.\u006fc\u006c\u0063\u002e\u006f\u0072\u0067\u002f\u006f\u006f\u0078\u006d\u006c\u002f\u006f\u0066\u0066\u0069\u0063\u0065D\u006f\u0063\u0075\u006d\u0065\u006e\u0074\u002f\u0072\u0065\u006c\u0061\u0074\u0069\u006f\u006e\u0073\u0068\u0069\u0070\u0073\u002f\u0063\u0075s\u0074\u006f\u006d\u0058\u006d\u006c";WorksheetTypeStrict ="\u0068\u0074\u0074\u0070\u003a/\u002f\u0070\u0075\u0072\u006c.\u006fc\u006c\u0063\u002e\u006f\u0072\u0067\u002f\u006f\u006f\u0078\u006d\u006c\u002f\u006f\u0066\u0066\u0069\u0063\u0065D\u006f\u0063\u0075\u006d\u0065\u006e\u0074\u002f\u0072\u0065\u006c\u0061\u0074\u0069\u006f\u006e\u0073\u0068\u0069\u0070\u0073\u002f\u0077\u006fr\u006b\u0073\u0068\u0065\u0065\u0074";SharedStringsTypeStrict ="h\u0074\u0074p\u003a\u002f\u002f\u0070\u0075\u0072\u006c\u002e\u006f\u0063\u006c\u0063\u002e\u006f\u0072\u0067\u002f\u006f\u006f\u0078m\u006c\u002f\u006f\u0066\u0066\u0069\u0063\u0065\u0044\u006f\u0063\u0075\u006d\u0065\u006e\u0074/\u0072\u0065\u006c\u0061\u0074\u0069\u006f\u006e\u0073\u0068\u0069\u0070\u0073/\u0073\u0068\u0061\u0072\u0065\u0064\u0053\u0074\u0072\u0069\u006eg\u0073";SharedStingsTypeStrict =SharedStringsTypeStrict ;TableTypeStrict ="h\u0074\u0074\u0070\u003a\u002f\u002f\u0070\u0075\u0072\u006c\u002e\u006f\u0063\u006c\u0063\u002e\u006f\u0072\u0067\u002f\u006f\u006f\u0078\u006d\u006c\u002fo\u0066f\u0069\u0063\u0065\u0044o\u0063\u0075m\u0065\u006e\u0074\u002f\u0072\u0065\u006c\u0061\u0074\u0069\u006f\u006e\u0073\u0068\u0069\u0070\u0073\u002f\u0074\u0061\u0062\u006c\u0065";HeaderTypeStrict ="\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0070\u0075\u0072\u006c\u002e\u006f\u0063\u006c\u0063\u002e\u006frg\u002fo\u006f\u0078\u006d\u006c\u002f\u006f\u0066\u0066\u0069\u0063\u0065\u0044o\u0063\u0075\u006d\u0065\u006e\u0074\u002f\u0072\u0065\u006c\u0061\u0074\u0069\u006f\u006e\u0073\u0068i\u0070\u0073\u002f\u0068\u0065\u0061\u0064\u0065\u0072";FooterTypeStrict ="\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0070\u0075\u0072\u006c\u002e\u006f\u0063\u006c\u0063\u002e\u006frg\u002fo\u006f\u0078\u006d\u006c\u002f\u006f\u0066\u0066\u0069\u0063\u0065\u0044o\u0063\u0075\u006d\u0065\u006e\u0074\u002f\u0072\u0065\u006c\u0061\u0074\u0069\u006f\u006e\u0073\u0068i\u0070\u0073\u002f\u0066\u006f\u006f\u0074\u0065\u0072";NumberingTypeStrict ="\u0068\u0074\u0074\u0070\u003a/\u002f\u0070\u0075\u0072\u006c.\u006fc\u006c\u0063\u002e\u006f\u0072\u0067\u002f\u006f\u006f\u0078\u006d\u006c\u002f\u006f\u0066\u0066\u0069\u0063\u0065D\u006f\u0063\u0075\u006d\u0065\u006e\u0074\u002f\u0072\u0065\u006c\u0061\u0074\u0069\u006f\u006e\u0073\u0068\u0069\u0070\u0073\u002f\u006e\u0075m\u0062\u0065\u0072\u0069\u006e\u0067";FontTableTypeStrict ="\u0068\u0074\u0074\u0070\u003a/\u002f\u0070\u0075\u0072\u006c.\u006fc\u006c\u0063\u002e\u006f\u0072\u0067\u002f\u006f\u006f\u0078\u006d\u006c\u002f\u006f\u0066\u0066\u0069\u0063\u0065D\u006f\u0063\u0075\u006d\u0065\u006e\u0074\u002f\u0072\u0065\u006c\u0061\u0074\u0069\u006f\u006e\u0073\u0068\u0069\u0070\u0073\u002f\u0066\u006fn\u0074\u0054\u0061\u0062\u006c\u0065";WebSettingsTypeStrict ="\u0068\u0074\u0074\u0070\u003a\u002f/\u0070\u0075\u0072\u006c\u002eo\u0063\u006c\u0063\u002e\u006f\u0072g\u002f\u006f\u006f\u0078\u006dl\u002f\u006f\u0066\u0066\u0069\u0063\u0065\u0044\u006f\u0063\u0075\u006de\u006e\u0074\u002f\u0072\u0065\u006c\u0061\u0074\u0069\u006f\u006e\u0073\u0068\u0069\u0070s\u002f\u0077\u0065\u0062\u0053\u0065\u0074\u0074i\u006e\u0067\u0073";FootNotesTypeStrict ="\u0068\u0074\u0074\u0070\u003a/\u002f\u0070\u0075\u0072\u006c.\u006fc\u006c\u0063\u002e\u006f\u0072\u0067\u002f\u006f\u006f\u0078\u006d\u006c\u002f\u006f\u0066\u0066\u0069\u0063\u0065D\u006f\u0063\u0075\u006d\u0065\u006e\u0074\u002f\u0072\u0065\u006c\u0061\u0074\u0069\u006f\u006e\u0073\u0068\u0069\u0070\u0073\u002f\u0066\u006fo\u0074\u006e\u006f\u0074\u0065\u0073";EndNotesTypeStrict ="\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0070\u0075\u0072\u006c\u002e\u006f\u0063\u006c\u0063\u002eo\u0072\u0067\u002f\u006f\u006f\u0078\u006d\u006c\u002f\u006ff\u0066\u0069\u0063\u0065\u0044\u006f\u0063\u0075\u006d\u0065\u006e\u0074\u002f\u0072\u0065\u006c\u0061\u0074i\u006f\u006e\u0073\u0068\u0069\u0070s\u002f\u0065n\u0064\u006eo\u0074e\u0073";SlideTypeStrict ="h\u0074\u0074\u0070\u003a\u002f\u002f\u0070\u0075\u0072\u006c\u002e\u006f\u0063\u006c\u0063\u002e\u006f\u0072\u0067\u002f\u006f\u006f\u0078\u006d\u006c\u002fo\u0066f\u0069\u0063\u0065\u0044o\u0063\u0075m\u0065\u006e\u0074\u002f\u0072\u0065\u006c\u0061\u0074\u0069\u006f\u006e\u0073\u0068\u0069\u0070\u0073\u002f\u0073\u006c\u0069\u0064\u0065";VMLDrawingTypeStrict ="\u0068\u0074t\u0070\u003a\u002f\u002f\u0070\u0075\u0072\u006c\u002e\u006f\u0063\u006c\u0063\u002e\u006f\u0072\u0067\u002f\u006fo\u0078\u006d\u006c\u002f\u006f\u0066f\u0069\u0063\u0065\u0044\u006f\u0063\u0075\u006d\u0065\u006e\u0074\u002f\u0072\u0065l\u0061\u0074i\u006f\u006e\u0073\u0068i\u0070\u0073\u002f\u0076\u006dl\u0044\u0072\u0061\u0077\u0069\u006e\u0067";OfficeDocumentType ="\u0068\u0074\u0074\u0070\u003a\u002f\u002fs\u0063\u0068\u0065\u006d\u0061\u0073\u002e\u006f\u0070\u0065\u006e\u0078\u006d\u006c\u0066\u006f\u0072\u006da\u0074\u0073\u002e\u006f\u0072g\u002f\u006f\u0066\u0066\u0069\u0063\u0065\u0044\u006fc\u0075\u006d\u0065\u006e\u0074\u002f\u0032\u0030\u0030\u0036\u002f\u0072\u0065\u006c\u0061\u0074\u0069\u006f\u006e\u0073\u0068\u0069\u0070\u0073\u002f\u006f\u0066\u0066\u0069\u0063\u0065\u0044\u006f\u0063\u0075\u006d\u0065\u006e\u0074";StylesType ="\u0068\u0074\u0074\u0070\u003a/\u002f\u0073\u0063\u0068\u0065\u006da\u0073\u002e\u006f\u0070\u0065\u006e\u0078m\u006c\u0066\u006fr\u006d\u0061\u0074\u0073.\u006f\u0072\u0067\u002f\u006f\u0066f\u0069\u0063\u0065\u0044\u006f\u0063\u0075\u006d\u0065\u006e\u0074\u002f\u0032\u0030\u0030\u0036\u002fr\u0065\u006c\u0061\u0074\u0069\u006f\u006e\u0073\u0068\u0069\u0070\u0073\u002f\u0073\u0074\u0079\u006c\u0065\u0073";ThemeType ="\u0068t\u0074p\u003a\u002f\u002f\u0073\u0063\u0068\u0065\u006d\u0061\u0073\u002eo\u0070\u0065\u006e\u0078m\u006c\u0066\u006f\u0072\u006da\u0074\u0073\u002e\u006f\u0072\u0067\u002f\u006f\u0066\u0066\u0069\u0063\u0065\u0044\u006f\u0063\u0075\u006d\u0065\u006e\u0074\u002f\u0032\u0030\u0030\u0036\u002f\u0072\u0065\u006c\u0061t\u0069\u006f\u006e\u0073\u0068\u0069\u0070\u0073/\u0074\u0068\u0065\u006d\u0065";ThemeContentType ="\u0061\u0070\u0070\u006c\u0069\u0063\u0061t\u0069\u006f\u006e/\u0076\u006e\u0064.\u006f\u0070e\u006e\u0078\u006d\u006c\u0066\u006fr\u006dat\u0073\u002d\u006f\u0066\u0066\u0069\u0063\u0065\u0064\u006f\u0063\u0075\u006d\u0065\u006e\u0074\u002e\u0074\u0068\u0065\u006d\u0065\u002b\u0078\u006d\u006c";SettingsType ="\u0068\u0074\u0074\u0070\u003a/\u002f\u0073\u0063\u0068\u0065\u006d\u0061s\u002e\u006f\u0070\u0065\u006e\u0078\u006d\u006c\u0066\u006f\u0072\u006d\u0061\u0074\u0073\u002e\u006f\u0072\u0067\u002f\u006f\u0066\u0066\u0069\u0063\u0065\u0044\u006f\u0063\u0075\u006d\u0065\u006e\u0074\u002f\u0032\u0030\u0030\u0036\u002fr\u0065\u006c\u0061\u0074\u0069\u006f\u006e\u0073\u0068\u0069\u0070\u0073/\u0073\u0065\u0074\u0074\u0069\u006eg\u0073";ImageType ="\u0068t\u0074p\u003a\u002f\u002f\u0073\u0063\u0068\u0065\u006d\u0061\u0073\u002eo\u0070\u0065\u006e\u0078m\u006c\u0066\u006f\u0072\u006da\u0074\u0073\u002e\u006f\u0072\u0067\u002f\u006f\u0066\u0066\u0069\u0063\u0065\u0044\u006f\u0063\u0075\u006d\u0065\u006e\u0074\u002f\u0032\u0030\u0030\u0036\u002f\u0072\u0065\u006c\u0061t\u0069\u006f\u006e\u0073\u0068\u0069\u0070\u0073/\u0069\u006d\u0061\u0067\u0065";ControlType ="\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0073\u0063h\u0065\u006da\u0073\u002e\u006f\u0070\u0065\u006e\u0078\u006d\u006cf\u006f\u0072\u006d\u0061t\u0073\u002e\u006f\u0072\u0067\u002f\u006f\u0066\u0066\u0069\u0063\u0065\u0044\u006f\u0063\u0075\u006d\u0065\u006e\u0074\u002f\u0032\u0030\u0030\u0036\u002f\u0072\u0065\u006c\u0061t\u0069\u006f\u006es\u0068\u0069\u0070\u0073\u002f\u0063\u006f\u006e\u0074\u0072\u006f\u006c";CommentsType ="\u0068\u0074\u0074\u0070\u003a/\u002f\u0073\u0063\u0068\u0065\u006d\u0061s\u002e\u006f\u0070\u0065\u006e\u0078\u006d\u006c\u0066\u006f\u0072\u006d\u0061\u0074\u0073\u002e\u006f\u0072\u0067\u002f\u006f\u0066\u0066\u0069\u0063\u0065\u0044\u006f\u0063\u0075\u006d\u0065\u006e\u0074\u002f\u0032\u0030\u0030\u0036\u002fr\u0065\u006c\u0061\u0074\u0069\u006f\u006e\u0073\u0068\u0069\u0070\u0073/\u0063\u006f\u006d\u006d\u0065\u006et\u0073";CommentsContentType ="a\u0070pl\u0069c\u0061t\u0069\u006f\u006e\u002f\u0076n\u0064\u002e\u006fp\u0065\u006e\u0078\u006d\u006cf\u006f\u0072\u006da\u0074\u0073\u002d\u006f\u0066\u0066\u0069\u0063\u0065\u0064\u006fc\u0075\u006d\u0065nt.\u0073\u0070\u0072\u0065\u0061\u0064s\u0068\u0065\u0065\u0074\u006d\u006c\u002e\u0063\u006f\u006d\u006d\u0065n\u0074s\u002b\u0078\u006d\u006c";ThumbnailType ="\u0068\u0074\u0074\u0070\u003a\u002f\u002fs\u0063\u0068\u0065\u006d\u0061\u0073\u002e\u006f\u0070\u0065\u006e\u0078\u006d\u006cf\u006fr\u006d\u0061\u0074\u0073\u002e\u006fr\u0067\u002f\u0070\u0061\u0063\u006b\u0061g\u0065\u002f\u0032\u0030\u0030\u0036\u002f\u0072\u0065\u006c\u0061\u0074\u0069\u006f\u006e\u0073\u0068\u0069\u0070\u0073\u002f\u006d\u0065t\u0061\u0064\u0061\u0074\u0061\u002f\u0074\u0068\u0075\u006d\u0062\u006e\u0061i\u006c";DrawingType ="\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0073\u0063h\u0065\u006da\u0073\u002e\u006f\u0070\u0065\u006e\u0078\u006d\u006cf\u006f\u0072\u006d\u0061t\u0073\u002e\u006f\u0072\u0067\u002f\u006f\u0066\u0066\u0069\u0063\u0065\u0044\u006f\u0063\u0075\u006d\u0065\u006e\u0074\u002f\u0032\u0030\u0030\u0036\u002f\u0072\u0065\u006c\u0061t\u0069\u006f\u006es\u0068\u0069\u0070\u0073\u002f\u0064\u0072\u0061\u0077\u0069\u006e\u0067";DrawingContentType ="\u0061\u0070\u0070\u006ci\u0063\u0061\u0074\u0069\u006f\u006e\u002f\u0076\u006ed\u002e\u006f\u0070\u0065\u006e\u0078\u006d\u006c\u0066\u006f\u0072\u006d\u0061\u0074\u0073\u002d\u006f\u0066f\u0069\u0063\u0065\u0064\u006fc\u0075\u006d\u0065\u006e\u0074\u002e\u0064\u0072\u0061\u0077\u0069\u006e\u0067\u002b\u0078\u006d\u006c";ChartType ="\u0068t\u0074p\u003a\u002f\u002f\u0073\u0063\u0068\u0065\u006d\u0061\u0073\u002eo\u0070\u0065\u006e\u0078m\u006c\u0066\u006f\u0072\u006da\u0074\u0073\u002e\u006f\u0072\u0067\u002f\u006f\u0066\u0066\u0069\u0063\u0065\u0044\u006f\u0063\u0075\u006d\u0065\u006e\u0074\u002f\u0032\u0030\u0030\u0036\u002f\u0072\u0065\u006c\u0061t\u0069\u006f\u006e\u0073\u0068\u0069\u0070\u0073/\u0063\u0068\u0061\u0072\u0074";ChartContentType ="\u0061\u0070\u0070\u006c\u0069c\u0061\u0074\u0069\u006f\u006e/\u0076n\u0064\u002e\u006f\u0070\u0065\u006e\u0078\u006d\u006c\u0066\u006f\u0072\u006d\u0061\u0074\u0073\u002d\u006f\u0066f\u0069\u0063\u0065\u0064\u006f\u0063\u0075\u006d\u0065\u006e\u0074\u002e\u0064\u0072\u0061\u0077\u0069\u006e\u0067\u006d\u006c\u002e\u0063\u0068a\u0072\u0074\u002b\u0078\u006d\u006c";HyperLinkType ="ht\u0074\u0070\u003a\u002f\u002f\u0073\u0063he\u006d\u0061\u0073\u002e\u006f\u0070\u0065\u006e\u0078\u006d\u006c\u0066\u006f\u0072\u006da\u0074\u0073\u002e\u006f\u0072\u0067\u002f\u006f\u0066\u0066\u0069\u0063\u0065\u0044\u006f\u0063\u0075\u006d\u0065\u006et\u002f\u0032\u0030\u0030\u0036\u002fr\u0065\u006c\u0061\u0074\u0069\u006f\u006e\u0073\u0068i\u0070s\u002f\u0068\u0079\u0070\u0065\u0072\u006c\u0069\u006e\u006b";ExtendedPropertiesType ="\u0068t\u0074\u0070\u003a\u002f\u002f\u0073\u0063\u0068\u0065\u006d\u0061\u0073\u002eo\u0070\u0065\u006ex\u006d\u006c\u0066\u006f\u0072\u006da\u0074\u0073.\u006f\u0072\u0067\u002f\u006f\u0066\u0066\u0069\u0063\u0065\u0044\u006f\u0063\u0075\u006d\u0065\u006e\u0074\u002f\u0032\u0030\u0030\u0036\u002f\u0072\u0065\u006c\u0061\u0074i\u006f\u006e\u0073\u0068\u0069p\u0073\u002f\u0065x\u0074\u0065\u006e\u0064\u0065d\u002d\u0070\u0072\u006f\u0070\u0065\u0072\u0074\u0069\u0065\u0073";CorePropertiesType ="\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0073\u0063\u0068\u0065\u006d\u0061s\u002e\u006f\u0070\u0065\u006e\u0078\u006d\u006c\u0066o\u0072\u006d\u0061\u0074\u0073\u002e\u006f\u0072\u0067\u002f\u0070\u0061\u0063\u006ba\u0067\u0065\u002f\u0032\u0030\u0030\u0036\u002f\u0072\u0065\u006c\u0061\u0074\u0069\u006f\u006e\u0073\u0068\u0069\u0070\u0073\u002f\u006d\u0065\u0074\u0061\u0064\u0061\u0074\u0061/\u0063\u006f\u0072\u0065\u002d\u0070\u0072\u006f\u0070e\u0072\u0074i\u0065\u0073";CustomPropertiesType ="\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0073\u0063\u0068\u0065\u006d\u0061s\u002e\u006f\u0070\u0065\u006e\u0078\u006d\u006c\u0066o\u0072\u006d\u0061\u0074\u0073\u002e\u006f\u0072\u0067\u002f\u006f\u0066\u0066\u0069c\u0065\u0044\u006f\u0063\u0075\u006d\u0065\u006e\u0074\u002f\u0032\u0030\u0030\u0036\u002f\u0072\u0065\u006c\u0061\u0074\u0069\u006f\u006e\u0073\u0068\u0069\u0070\u0073\u002f\u0063u\u0073\u0074\u006f\u006d\u002d\u0070\u0072\u006f\u0070e\u0072\u0074i\u0065\u0073";CustomXMLType ="ht\u0074\u0070\u003a\u002f\u002f\u0073\u0063he\u006d\u0061\u0073\u002e\u006f\u0070\u0065\u006e\u0078\u006d\u006c\u0066\u006f\u0072\u006da\u0074\u0073\u002e\u006f\u0072\u0067\u002f\u006f\u0066\u0066\u0069\u0063\u0065\u0044\u006f\u0063\u0075\u006d\u0065\u006et\u002f\u0032\u0030\u0030\u0036\u002fr\u0065\u006c\u0061\u0074\u0069\u006f\u006e\u0073\u0068i\u0070s\u002f\u0063\u0075\u0073\u0074\u006f\u006d\u0058\u006d\u006c";TableStylesType ="\u0068\u0074\u0074\u0070\u003a\u002f\u002fs\u0063\u0068\u0065\u006d\u0061\u0073\u002e\u006f\u0070\u0065\u006e\u0078\u006d\u006cf\u006fr\u006d\u0061\u0074\u0073\u002e\u006fr\u0067\u002f\u006f\u0066\u0066\u0069\u0063e\u0044\u006f\u0063\u0075\u006d\u0065\u006e\u0074\u002f\u0032\u0030\u0030\u0036\u002f\u0072\u0065\u006c\u0061\u0074\u0069\u006f\u006e\u0073h\u0069\u0070\u0073\u002f\u0074\u0061\u0062\u006c\u0065\u0053\u0074\u0079\u006ce\u0073";ViewPropertiesType ="ht\u0074\u0070\u003a\u002f\u002f\u0073\u0063he\u006d\u0061\u0073\u002e\u006f\u0070\u0065\u006e\u0078\u006d\u006c\u0066\u006f\u0072\u006da\u0074\u0073\u002e\u006f\u0072\u0067\u002f\u006f\u0066\u0066\u0069\u0063\u0065\u0044\u006f\u0063\u0075\u006d\u0065\u006et\u002f\u0032\u0030\u0030\u0036\u002fr\u0065\u006c\u0061\u0074\u0069\u006f\u006e\u0073\u0068i\u0070s\u002f\u0076\u0069\u0065\u0077\u0050\u0072\u006f\u0070\u0073";WorksheetType ="ht\u0074\u0070\u003a\u002f\u002f\u0073\u0063he\u006d\u0061\u0073\u002e\u006f\u0070\u0065\u006e\u0078\u006d\u006c\u0066\u006f\u0072\u006da\u0074\u0073\u002e\u006f\u0072\u0067\u002f\u006f\u0066\u0066\u0069\u0063\u0065\u0044\u006f\u0063\u0075\u006d\u0065\u006et\u002f\u0032\u0030\u0030\u0036\u002fr\u0065\u006c\u0061\u0074\u0069\u006f\u006e\u0073\u0068i\u0070s\u002f\u0077\u006f\u0072\u006b\u0073\u0068\u0065\u0065\u0074";WorksheetContentType ="\u0061p\u0070l\u0069\u0063\u0061\u0074\u0069\u006f\u006e\u002f\u0076\u006e\u0064.\u006f\u0070\u0065\u006ex\u006d\u006c\u0066\u006f\u0072m\u0061\u0074\u0073\u002d\u006f\u0066\u0066\u0069\u0063\u0065\u0064\u006f\u0063\u0075\u006d\u0065\u006e\u0074\u002e\u0073\u0070\u0072\u0065\u0061\u0064\u0073\u0068\u0065\u0065\u0074\u006dl\u002e\u0077\u006f\u0072\u006b\u0073\u0068\u0065e\u0074\u002b\u0078\u006d\u006c";SharedStringsType ="h\u0074\u0074\u0070:\u002f\u002f\u0073\u0063\u0068\u0065\u006d\u0061\u0073\u002e\u006f\u0070\u0065\u006e\u0078\u006d\u006c\u0066\u006f\u0072\u006d\u0061\u0074\u0073\u002eo\u0072\u0067\u002fo\u0066\u0066\u0069\u0063\u0065\u0044\u006f\u0063\u0075\u006d\u0065\u006e\u0074/\u0032\u0030\u0030\u0036/\u0072\u0065\u006c\u0061t\u0069\u006f\u006e\u0073\u0068\u0069\u0070\u0073\u002f\u0073\u0068\u0061\u0072\u0065\u0064\u0053\u0074r\u0069\u006e\u0067\u0073";SharedStingsType =SharedStringsType ;SharedStringsContentType ="ap\u0070\u006c\u0069\u0063\u0061\u0074\u0069on\u002f\u0076\u006e\u0064\u002e\u006f\u0070\u0065\u006e\u0078\u006d\u006c\u0066\u006f\u0072m\u0061\u0074\u0073\u002d\u006f\u0066\u0066\u0069\u0063\u0065\u0064\u006f\u0063\u0075\u006d\u0065\u006e\u0074\u002e\u0073p\u0072\u0065\u0061\u0064\u0073\u0068e\u0065\u0074\u006d\u006c\u002e\u0073\u0068\u0061\u0072e\u0064S\u0074\u0072\u0069\u006e\u0067\u0073\u002b\u0078\u006d\u006c";SMLStyleSheetContentType ="\u0061\u0070\u0070\u006c\u0069\u0063\u0061\u0074\u0069\u006f\u006e\u002f\u0076\u006e\u0064\u002e\u006f\u0070\u0065n\u0078\u006d\u006c\u0066\u006f\u0072\u006d\u0061\u0074\u0073\u002d\u006f\u0066\u0066\u0069\u0063e\u0064\u006f\u0063\u0075\u006d\u0065\u006e\u0074\u002e\u0073\u0070\u0072\u0065\u0061\u0064\u0073\u0068\u0065\u0065\u0074\u006d\u006c\u002e\u0073t\u0079\u006c\u0065\u0073\u002bx\u006d\u006c";TableType ="\u0068t\u0074p\u003a\u002f\u002f\u0073\u0063\u0068\u0065\u006d\u0061\u0073\u002eo\u0070\u0065\u006e\u0078m\u006c\u0066\u006f\u0072\u006da\u0074\u0073\u002e\u006f\u0072\u0067\u002f\u006f\u0066\u0066\u0069\u0063\u0065\u0044\u006f\u0063\u0075\u006d\u0065\u006e\u0074\u002f\u0032\u0030\u0030\u0036\u002f\u0072\u0065\u006c\u0061t\u0069\u006f\u006e\u0073\u0068\u0069\u0070\u0073/\u0074\u0061\u0062\u006c\u0065";TableContentType ="a\u0070\u0070l\u0069\u0063\u0061\u0074\u0069\u006f\u006e\u002f\u0076\u006e\u0064\u002e\u006f\u0070\u0065\u006e\u0078\u006d\u006c\u0066o\u0072\u006d\u0061\u0074\u0073\u002d\u006f\u0066\u0066\u0069\u0063\u0065\u0064\u006f\u0063\u0075m\u0065\u006e\u0074\u002e\u0073\u0070\u0072\u0065\u0061\u0064\u0073\u0068\u0065e\u0074\u006d\u006c\u002e\u0074\u0061\u0062\u006c\u0065\u002b\u0078m\u006c";HeaderType ="\u0068\u0074\u0074\u0070\u003a/\u002f\u0073\u0063\u0068\u0065\u006da\u0073\u002e\u006f\u0070\u0065\u006e\u0078m\u006c\u0066\u006fr\u006d\u0061\u0074\u0073.\u006f\u0072\u0067\u002f\u006f\u0066f\u0069\u0063\u0065\u0044\u006f\u0063\u0075\u006d\u0065\u006e\u0074\u002f\u0032\u0030\u0030\u0036\u002fr\u0065\u006c\u0061\u0074\u0069\u006f\u006e\u0073\u0068\u0069\u0070\u0073\u002f\u0068\u0065\u0061\u0064\u0065\u0072";FooterType ="\u0068\u0074\u0074\u0070\u003a/\u002f\u0073\u0063\u0068\u0065\u006da\u0073\u002e\u006f\u0070\u0065\u006e\u0078m\u006c\u0066\u006fr\u006d\u0061\u0074\u0073.\u006f\u0072\u0067\u002f\u006f\u0066f\u0069\u0063\u0065\u0044\u006f\u0063\u0075\u006d\u0065\u006e\u0074\u002f\u0032\u0030\u0030\u0036\u002fr\u0065\u006c\u0061\u0074\u0069\u006f\u006e\u0073\u0068\u0069\u0070\u0073\u002f\u0066\u006f\u006f\u0074\u0065\u0072";NumberingType ="ht\u0074\u0070\u003a\u002f\u002f\u0073\u0063he\u006d\u0061\u0073\u002e\u006f\u0070\u0065\u006e\u0078\u006d\u006c\u0066\u006f\u0072\u006da\u0074\u0073\u002e\u006f\u0072\u0067\u002f\u006f\u0066\u0066\u0069\u0063\u0065\u0044\u006f\u0063\u0075\u006d\u0065\u006et\u002f\u0032\u0030\u0030\u0036\u002fr\u0065\u006c\u0061\u0074\u0069\u006f\u006e\u0073\u0068i\u0070s\u002f\u006e\u0075\u006d\u0062\u0065\u0072\u0069\u006e\u0067";FontTableType ="ht\u0074\u0070\u003a\u002f\u002f\u0073\u0063he\u006d\u0061\u0073\u002e\u006f\u0070\u0065\u006e\u0078\u006d\u006c\u0066\u006f\u0072\u006da\u0074\u0073\u002e\u006f\u0072\u0067\u002f\u006f\u0066\u0066\u0069\u0063\u0065\u0044\u006f\u0063\u0075\u006d\u0065\u006et\u002f\u0032\u0030\u0030\u0036\u002fr\u0065\u006c\u0061\u0074\u0069\u006f\u006e\u0073\u0068i\u0070s\u002f\u0066\u006f\u006e\u0074\u0054\u0061\u0062\u006c\u0065";WebSettingsType ="\u0068\u0074\u0074\u0070\u003a\u002f\u002fs\u0063\u0068\u0065\u006d\u0061\u0073\u002e\u006f\u0070\u0065\u006e\u0078\u006d\u006cf\u006fr\u006d\u0061\u0074\u0073\u002e\u006fr\u0067\u002f\u006f\u0066\u0066\u0069\u0063e\u0044\u006f\u0063\u0075\u006d\u0065\u006e\u0074\u002f\u0032\u0030\u0030\u0036\u002f\u0072\u0065\u006c\u0061\u0074\u0069\u006f\u006e\u0073h\u0069\u0070\u0073\u002f\u0077\u0065\u0062\u0053\u0065\u0074\u0074\u0069\u006eg\u0073";FootNotesType ="ht\u0074\u0070\u003a\u002f\u002f\u0073\u0063he\u006d\u0061\u0073\u002e\u006f\u0070\u0065\u006e\u0078\u006d\u006c\u0066\u006f\u0072\u006da\u0074\u0073\u002e\u006f\u0072\u0067\u002f\u006f\u0066\u0066\u0069\u0063\u0065\u0044\u006f\u0063\u0075\u006d\u0065\u006et\u002f\u0032\u0030\u0030\u0036\u002fr\u0065\u006c\u0061\u0074\u0069\u006f\u006e\u0073\u0068i\u0070s\u002f\u0066\u006f\u006f\u0074\u006e\u006f\u0074\u0065\u0073";EndNotesType ="\u0068\u0074\u0074\u0070\u003a/\u002f\u0073\u0063\u0068\u0065\u006d\u0061s\u002e\u006f\u0070\u0065\u006e\u0078\u006d\u006c\u0066\u006f\u0072\u006d\u0061\u0074\u0073\u002e\u006f\u0072\u0067\u002f\u006f\u0066\u0066\u0069\u0063\u0065\u0044\u006f\u0063\u0075\u006d\u0065\u006e\u0074\u002f\u0032\u0030\u0030\u0036\u002fr\u0065\u006c\u0061\u0074\u0069\u006f\u006e\u0073\u0068\u0069\u0070\u0073/\u0065\u006e\u0064\u006e\u006f\u0074e\u0073";SlideType ="\u0068t\u0074p\u003a\u002f\u002f\u0073\u0063\u0068\u0065\u006d\u0061\u0073\u002eo\u0070\u0065\u006e\u0078m\u006c\u0066\u006f\u0072\u006da\u0074\u0073\u002e\u006f\u0072\u0067\u002f\u006f\u0066\u0066\u0069\u0063\u0065\u0044\u006f\u0063\u0075\u006d\u0065\u006e\u0074\u002f\u0032\u0030\u0030\u0036\u002f\u0072\u0065\u006c\u0061t\u0069\u006f\u006e\u0073\u0068\u0069\u0070\u0073/\u0073\u006c\u0069\u0064\u0065";SlideContentType ="\u0061\u0070\u0070\u006c\u0069\u0063\u0061\u0074\u0069\u006f\u006e\u002f\u0076\u006e\u0064\u002e\u006f\u0070\u0065n\u0078\u006d\u006c\u0066\u006f\u0072\u006d\u0061\u0074\u0073\u002d\u006f\u0066\u0066\u0069\u0063e\u0064\u006f\u0063\u0075\u006d\u0065\u006e\u0074\u002e\u0070\u0072\u0065\u0073\u0065\u006e\u0074\u0061\u0074\u0069\u006f\u006e\u006d\u006c\u002es\u006c\u0069\u0064\u0065\u002bx\u006d\u006c";SlideMasterType ="\u0068\u0074\u0074\u0070\u003a\u002f\u002fs\u0063\u0068\u0065\u006d\u0061\u0073\u002e\u006f\u0070\u0065\u006e\u0078\u006d\u006cf\u006fr\u006d\u0061\u0074\u0073\u002e\u006fr\u0067\u002f\u006f\u0066\u0066\u0069\u0063e\u0044\u006f\u0063\u0075\u006d\u0065\u006e\u0074\u002f\u0032\u0030\u0030\u0036\u002f\u0072\u0065\u006c\u0061\u0074\u0069\u006f\u006e\u0073h\u0069\u0070\u0073\u002f\u0073\u006c\u0069\u0064\u0065\u004d\u0061\u0073\u0074e\u0072";SlideMasterContentType ="\u0061\u0070\u0070\u006c\u0069c\u0061\u0074\u0069\u006f\u006e\u002f\u0076n\u0064\u002e\u006f\u0070\u0065\u006e\u0078\u006d\u006c\u0066\u006f\u0072\u006d\u0061\u0074\u0073\u002d\u006f\u0066\u0066\u0069\u0063\u0065\u0064\u006f\u0063\u0075\u006d\u0065\u006e\u0074\u002e\u0070\u0072\u0065\u0073\u0065\u006e\u0074\u0061t\u0069\u006f\u006e\u006d\u006c\u002e\u0073\u006c\u0069\u0064\u0065\u004da\u0073\u0074\u0065\u0072\u002b\u0078m\u006c";SlideLayoutType ="\u0068\u0074\u0074\u0070\u003a\u002f\u002fs\u0063\u0068\u0065\u006d\u0061\u0073\u002e\u006f\u0070\u0065\u006e\u0078\u006d\u006cf\u006fr\u006d\u0061\u0074\u0073\u002e\u006fr\u0067\u002f\u006f\u0066\u0066\u0069\u0063e\u0044\u006f\u0063\u0075\u006d\u0065\u006e\u0074\u002f\u0032\u0030\u0030\u0036\u002f\u0072\u0065\u006c\u0061\u0074\u0069\u006f\u006e\u0073h\u0069\u0070\u0073\u002f\u0073\u006c\u0069\u0064\u0065\u004c\u0061\u0079\u006fu\u0074";SlideLayoutContentType ="\u0061\u0070\u0070\u006c\u0069c\u0061\u0074\u0069\u006f\u006e\u002f\u0076n\u0064\u002e\u006f\u0070\u0065\u006e\u0078\u006d\u006c\u0066\u006f\u0072\u006d\u0061\u0074\u0073\u002d\u006f\u0066\u0066\u0069\u0063\u0065\u0064\u006f\u0063\u0075\u006d\u0065\u006e\u0074\u002e\u0070\u0072\u0065\u0073\u0065\u006e\u0074\u0061t\u0069\u006f\u006e\u006d\u006c\u002e\u0073\u006c\u0069\u0064\u0065\u004ca\u0079\u006f\u0075\u0074\u002b\u0078m\u006c";PresentationPropertiesType ="ht\u0074\u0070\u003a\u002f\u002f\u0073\u0063he\u006d\u0061\u0073\u002e\u006f\u0070\u0065\u006e\u0078\u006d\u006c\u0066\u006f\u0072\u006da\u0074\u0073\u002e\u006f\u0072\u0067\u002f\u006f\u0066\u0066\u0069\u0063\u0065\u0044\u006f\u0063\u0075\u006d\u0065\u006et\u002f\u0032\u0030\u0030\u0036\u002fr\u0065\u006c\u0061\u0074\u0069\u006f\u006e\u0073\u0068i\u0070s\u002f\u0070\u0072\u0065\u0073\u0050\u0072\u006f\u0070\u0073";HandoutMasterType ="h\u0074\u0074\u0070:\u002f\u002f\u0073\u0063\u0068\u0065\u006d\u0061\u0073\u002e\u006f\u0070\u0065\u006e\u0078\u006d\u006c\u0066\u006f\u0072\u006d\u0061\u0074\u0073\u002eo\u0072\u0067\u002fo\u0066\u0066\u0069\u0063\u0065\u0044\u006f\u0063\u0075\u006d\u0065\u006e\u0074/\u0032\u0030\u0030\u0036/\u0072\u0065\u006c\u0061t\u0069\u006f\u006e\u0073\u0068\u0069\u0070\u0073\u002f\u0068\u0061\u006e\u0064\u006f\u0075\u0074\u004da\u0073\u0074\u0065\u0072";NotesMasterType ="\u0068\u0074\u0074\u0070\u003a\u002f\u002fs\u0063\u0068\u0065\u006d\u0061\u0073\u002e\u006f\u0070\u0065\u006e\u0078\u006d\u006cf\u006fr\u006d\u0061\u0074\u0073\u002e\u006fr\u0067\u002f\u006f\u0066\u0066\u0069\u0063e\u0044\u006f\u0063\u0075\u006d\u0065\u006e\u0074\u002f\u0032\u0030\u0030\u0036\u002f\u0072\u0065\u006c\u0061\u0074\u0069\u006f\u006e\u0073h\u0069\u0070\u0073\u002f\u006e\u006f\u0074\u0065\u0073\u004d\u0061\u0073\u0074e\u0072";VMLDrawingType ="\u0068\u0074tp\u003a\u002f\u002f\u0073\u0063\u0068\u0065\u006d\u0061\u0073\u002e\u006f\u0070\u0065\u006e\u0078\u006d\u006c\u0066\u006fr\u006d\u0061\u0074\u0073.\u006f\u0072\u0067\u002fof\u0066\u0069c\u0065D\u006f\u0063\u0075\u006d\u0065\u006et\u002f\u0032\u00300\u0036\u002fr\u0065\u006c\u0061\u0074\u0069\u006f\u006e\u0073\u0068\u0069\u0070\u0073\u002f\u0076m\u006c\u0044\u0072\u0061\u0077\u0069\u006e\u0067";VMLDrawingContentType ="\u0061\u0070\u0070\u006c\u0069\u0063a\u0074\u0069\u006fn\u002f\u0076\u006ed\u002e\u006f\u0070\u0065\u006e\u0078\u006d\u006c\u0066\u006fr\u006d\u0061\u0074\u0073\u002dof\u0066\u0069\u0063\u0065\u0064\u006f\u0063\u0075\u006d\u0065\u006e\u0074\u002e\u0076\u006d\u006c\u0044\u0072\u0061\u0077\u0069\u006e\u0067";);func (_aa *nsSet )getPrefix (_ggd string )string {if _fge ,_cbe :=_fb [_ggd ];_cbe {if _ ,_bf :=_aa ._ffa [_fge ];!_bf {_aa ._ffa [_fge ]=_ggd ;_aa ._gf [_ggd ]=_fge ;_aa ._aec =append (_aa ._aec ,_fge );};return _fge ;};_ggd =_e .TrimFunc (_ggd ,func (_bc rune )bool {return !_b .IsLetter (_bc )});if _db ,_dbf :=_aa ._gf [_ggd ];_dbf {return _db ;};_bdb :=_e .Split (_ggd ,"\u002f");_bdb =_e .Split (_bdb [len (_bdb )-1],"\u003a");_gc :=_bdb [len (_bdb )-1];_cge :=0;_ed :=[]byte {};for {if _cge < len (_gc ){_ed =append (_ed ,_gc [_cge ]);}else {_ed =append (_ed ,'_');};_cge ++;if _ ,_fff :=_aa ._ffa [string (_ed )];!_fff {_aa ._ffa [string (_ed )]=_ggd ;_aa ._gf [_ggd ]=string (_ed );_aa ._aec =append (_aa ._aec ,string (_ed ));return string (_ed );};};};