repo_description: Go language library for reading and writing Microsoft Excel™ (XLAM / XLSM / XLSX / XLTM / XLTX) spreadsheets
repo_topics: agent ai analytics chart ecma-376 excel excelize formula go mcp microsoft office ooxml spreadsheet statistics table vba visualization xlsx xml
code: // Copyright 2016 - 2026 The excelize Authors. All rights reserved. Use of
  // this source code is governed by a BSD-style license that can be found in
  // the LICENSE file.
  //
  // Package excelize providing a set of functions that allow you to write to and
  // read from XLAM / XLSM / XLSX / XLTM / XLTX files. Supports reading and
  // writing spreadsheet documents generated by Microsoft Excel™ 2007 and later.
  // Supports complex components by high compatibility, and provided streaming
  // API for generating or reading data from a worksheet with huge amounts of
  // data. This library needs Go version 1.25.0 or later.
  //
  // This file contains default templates for XML files we don't yet populated
  // based on content.
  
  package excelize
  
  import "encoding/xml"
  
  // Source relationship and namespace list, associated prefixes and schema in which it was
  // introduced.
  var (
  	NameSpaceDocumentPropertiesVariantTypes = xml.Attr{Name: xml.Name{Local: "vt", Space: "xmlns"}, Value: "http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"}
  	NameSpaceDrawing2016SVG                 = xml.Attr{Name: xml.Name{Local: "asvg", Space: "xmlns"}, Value: "http://schemas.microsoft.com/office/drawing/2016/SVG/main"}
  	NameSpaceDrawingML                      = xml.Attr{Name: xml.Name{Local: "a", Space: "xmlns"}, Value: "http://schemas.openxmlformats.org/drawingml/2006/main"}
  	NameSpaceDrawingMLA14                   = xml.Attr{Name: xml.Name{Local: "a14", Space: "xmlns"}, Value: "http://schemas.microsoft.com/office/drawing/2010/main"}
  	NameSpaceDrawingMLChart                 = xml.Attr{Name: xml.Name{Local: "c", Space: "xmlns"}, Value: "http://schemas.openxmlformats.org/drawingml/2006/chart"}
  	NameSpaceDrawingMLSlicer                = xml.Attr{Name: xml.Name{Local: "sle", Space: "xmlns"}, Value: "http://schemas.microsoft.com/office/drawing/2010/slicer"}
  	NameSpaceDrawingMLSlicerX15             = xml.Attr{Name: xml.Name{Local: "sle15", Space: "xmlns"}, Value: "http://schemas.microsoft.com/office/drawing/2012/slicer"}
  	NameSpaceDrawingMLSpreadSheet           = xml.Attr{Name: xml.Name{Local: "xdr", Space: "xmlns"}, Value: "http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing"}
  	NameSpaceMacExcel2008Main               = xml.Attr{Name: xml.Name{Local: "mx", Space: "xmlns"}, Value: "http://schemas.microsoft.com/office/mac/excel/2008/main"}
  	NameSpaceSpreadSheet                    = xml.Attr{Name: xml.Name{Local: "xmlns"}, Value: "http://schemas.openxmlformats.org/spreadsheetml/2006/main"}
  	NameSpaceSpreadSheetExcel2006Main       = xml.Attr{Name: xml.Name{Local: "xne", Space: "xmlns"}, Value: "http://schemas.microsoft.com/office/excel/2006/main"}
  	NameSpaceSpreadSheetX14                 = xml.Attr{Name: xml.Name{Local: "x14", Space: "xmlns"}, Value: "http://schemas.microsoft.com/office/spreadsheetml/2009/9/main"}
  	NameSpaceSpreadSheetX15                 = xml.Attr{Name: xml.Name{Local: "x15", Space: "xmlns"}, Value: "http://schemas.microsoft.com/office/spreadsheetml/2010/11/main"}
  	NameSpaceSpreadSheetXR10                = xml.Attr{Name: xml.Name{Local: "xr10", Space: "xmlns"}, Value: "http://schemas.microsoft.com/office/spreadsheetml/2016/revision10"}
  	SourceRelationship                      = xml.Attr{Name: xml.Name{Local: "r", Space: "xmlns"}, Value: "http://schemas.openxmlformats.org/officeDocument/2006/relationships"}
  	SourceRelationshipChart20070802         = xml.Attr{Name: xml.Name{Local: "c14", Space: "xmlns"}, Value: "http://schemas.microsoft.com/office/drawing/2007/8/2/chart"}
  	SourceRelationshipChart2014             = xml.Attr{Name: xml.Name{Local: "c16", Space: "xmlns"}, Value: "http://schemas.microsoft.com/office/drawing/2014/chart"}
  	SourceRelationshipChart201506           = xml.Attr{Name: xml.Name{Local: "c16r2", Space: "xmlns"}, Value: "http://schemas.microsoft.com/office/drawing/2015/06/chart"}
  	SourceRelationshipCompatibility         = xml.Attr{Name: xml.Name{Local: "mc", Space: "xmlns"}, Value: "http://schemas.openxmlformats.org/markup-compatibility/2006"}
  )
  
  // Source relationship and namespace.
  const (
  	ContentTypeAddinMacro                         = "application/vnd.ms-excel.addin.macroEnabled.main+xml"
  	ContentTypeCustomProperties                   = "application/vnd.openxmlformats-officedocument.custom-properties+xml"
  	ContentTypeDrawing                            = "application/vnd.openxmlformats-officedocument.drawing+xml"
  	ContentTypeDrawingML                          = "application/vnd.openxmlformats-officedocument.drawingml.chart+xml"
  	ContentTypeMacro                              = "application/vnd.ms-excel.sheet.macroEnabled.main+xml"
  	ContentTypeRelationships                      = "application/vnd.openxmlformats-package.relationships+xml"
  	ContentTypeSheetML                            = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml"
  	ContentTypeSlicer                             = "application/vnd.ms-excel.slicer+xml"
  	ContentTypeSlicerCache                        = "application/vnd.ms-excel.slicerCache+xml"
  	ContentTypeSpreadSheetMLChartsheet            = "application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml"
  	ContentTypeSpreadSheetMLComments              = "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml"
  	ContentTypeSpreadSheetMLPivotCacheDefinition  = "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml"
  	ContentTypeSpreadSheetMLPivotTable            = "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml"
  	ContentTypeSpreadSheetMLSharedStrings         = "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml"
  	ContentTypeSpreadSheetMLTable                 = "application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml"
  	ContentTypeSpreadSheetMLWorksheet             = "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml"
  	ContentTypeTemplate                           = "application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml"
  	ContentTypeTemplateMacro                      = "application/vnd.ms-excel.template.macroEnabled.main+xml"
  	ContentTypeVBA                                = "application/vnd.ms-office.vbaProject"
  	ContentTypeVML                                = "application/vnd.openxmlformats-officedocument.vmlDrawing"
  	NameSpaceDrawingMLMain                        = "http://schemas.openxmlformats.org/drawingml/2006/main"
  	NameSpaceDublinCore                           = "http://purl.org/dc/elements/1.1/"
  	NameSpaceDublinCoreMetadataInitiative         = "http://purl.org/dc/dcmitype/"
  	NameSpaceDublinCoreTerms                      = "http://purl.org/dc/terms/"
  	NameSpaceExtendedProperties                   = "http://schemas.openxmlformats.org/officeDocument/2006/extended-properties"
  	NameSpaceXML                                  = "http://www.w3.org/XML/1998/namespace"
  	NameSpaceXMLSchemaInstance                    = "http://www.w3.org/2001/XMLSchema-instance"
  	SourceRelationshipChart                       = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart"
  	SourceRelationshipChartsheet                  = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet"
  	SourceRelationshipComments                    = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments"
  	SourceRelationshipCustomProperties            = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties"
  	SourceRelationshipDialogsheet                 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet"
  	SourceRelationshipDrawingML                   = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing"
  	SourceRelationshipDrawingVML                  = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing"
  	SourceRelationshipExtendProperties            = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties"
  	SourceRelationshipHyperLink                   = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink"
  	SourceRelationshipImage                       = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image"
  	SourceRelationshipOfficeDocument              = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument"
  	SourceRelationshipPivotCache                  = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/pivotCacheDefinition"
  	SourceRelationshipPivotTable                  = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/pivotTable"
  	SourceRelationshipSharedStrings               = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings"
  	SourceRelationshipSlicer                      = "http://schemas.microsoft.com/office/2007/relationships/slicer"
  	SourceRelationshipSlicerCache                 = "http://schemas.microsoft.com/office/2007/relationships/slicerCache"
  	SourceRelationshipTable                       = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/table"
  	SourceRelationshipVBAProject                  = "http://schemas.microsoft.com/office/2006/relationships/vbaProject"
  	SourceRelationshipWorkSheet                   = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet"
  	StrictNameSpaceDocumentPropertiesVariantTypes = "http://purl.oclc.org/ooxml/officeDocument/docPropsVTypes"
  	StrictNameSpaceDrawingMLMain                  = "http://purl.oclc.org/ooxml/drawingml/main"
  	StrictNameSpaceExtendedProperties             = "http://purl.oclc.org/ooxml/officeDocument/extendedProperties"
  	StrictNameSpaceSpreadSheet                    = "http://purl.oclc.org/ooxml/spreadsheetml/main"
  	StrictSourceRelationship                      = "http://purl.oclc.org/ooxml/officeDocument/relationships"
  	StrictSourceRelationshipChart                 = "http://purl.oclc.org/ooxml/officeDocument/relationships/chart"
  	StrictSourceRelationshipComments              = "http://purl.oclc.org/ooxml/officeDocument/relationships/comments"
  	StrictSourceRelationshipExtendProperties      = "http://purl.oclc.org/ooxml/officeDocument/relationships/extendedProperties"
  	StrictSourceRelationshipImage                 = "http://purl.oclc.org/ooxml/officeDocument/relationships/image"
  	StrictSourceRelationshipOfficeDocument        = "http://purl.oclc.org/ooxml/officeDocument/relationships/officeDocument"
  	// The following constants defined the extLst child element
  	// ([ISO/IEC29500-1:2016] section 18.2.10) of the workbook and worksheet
  	// elements extended by the addition of new child ext elements.
  	ExtURICalcFeatures                   = "{B58B0392-4F1F-4190-BB64-5DF3571DCE5F}"
  	ExtURIConditionalFormattingRuleID    = "{B025F937-C7B1-47D3-B67F-A62EFF666E3E}"
  	ExtURIConditionalFormattings         = "{78C0D931-6437-407d-A8EE-F0AAD7539E65}"
  	EXtURICustomPropertyFmtID            = "{D5CDD505-2E9C-101B-9397-08002B2CF9AE}"
  	ExtURIDataField                      = "{E15A36E0-9728-4E99-A89B-3F7291B0FE68}"
  	ExtURIDataModel                      = "{FCE2AD5D-F65C-4FA6-A056-5C36A1767C68}"
  	ExtURIDataValidations                = "{CCE6A557-97BC-4b89-ADB6-D9C93CAAB3DF}"
  	ExtURIDrawingBlip                    = "{28A0092B-C50C-407E-A947-70E740481C1C}"
  	ExtURIExternalLinkPr                 = "{FCE6A71B-6B00-49CD-AB44-F6B1AE7CDE65}"
  	ExtURIIgnoredErrors                  = "{01252117-D84E-4E92-8308-4BE1C098FCBB}"
  	ExtURIMacExcelMX                     = "{64002731-A6B0-56B0-2670-7721B7C09600}"
  	ExtURIModelTimeGroupings             = "{9835A34E-60A6-4A7C-AAB8-D5F71C897F49}"
  	ExtURIPivotCacheDefinition           = "{725AE2AE-9491-48be-B2B4-4EB974FC3084}"
  	ExtURIPivotCachesX14                 = "{876F7934-8845-4945-9796-88D515C7AA90}"
  	ExtURIPivotCachesX15                 = "{841E416B-1EF1-43b6-AB56-02D37102CBD5}"
  	ExtURIPivotField                     = "{2946ED86-A175-432a-8AC1-64E0C546D7DE}"
  	ExtURIPivotFilter                    = "{0605FD5F-26C8-4aeb-8148-2DB25E43C511}"
  	ExtURIPivotHierarchy                 = "{F1805F06-0CD304483-9156-8803C3D141DF}"
  	ExtURIPivotTableReferences           = "{983426D0-5260-488c-9760-48F4B6AC55F4}"
  	ExtURIProtectedRanges                = "{FC87AEE6-9EDD-4A0A-B7FB-166176984837}"
  	ExtURISlicerCacheDefinition          = "{2F2917AC-EB37-4324-AD4E-5DD8C200BD13}"
  	ExtURISlicerCacheHideItemsWithNoData = "{470722E0-AACD-4C17-9CDC-17EF765DBC7E}"
  	ExtURISlicerCachesX14                = "{BBE1A952-AA13-448e-AADC-164F8A28A991}"
  	ExtURISlicerCachesX15                = "{46BE6895-7355-4a93-B00E-2C351335B9C9}"
  	ExtURISlicerListX14                  = "{A8765BA9-456A-4dab-B4F3-ACF838C121DE}"
  	ExtURISlicerListX15                  = "{3A4CF648-6AED-40f4-86FF-DC5316D8AED3}"
  	ExtURISparklineGroups                = "{05C60535-1F16-4fd2-B633-F4F36F0B64E0}"
  	ExtURISVG                            = "{96DAC541-7B7A-43D3-8B79-37D633B846F1}"
  	ExtURITimelineCachePivotCaches       = "{A2CB5862-8E78-49c6-8D9D-AF26E26ADB89}"
  	ExtURITimelineCacheRefs              = "{D0CA8CA8-9F24-4464-BF8E-62219DCF47F9}"
  	ExtURITimelineRefs                   = "{7E03D99C-DC04-49d9-9315-930204A7B6E9}"
  	ExtURIWebExtensions                  = "{F7C9EE02-42E1-4005-9D12-6889AFFD525C}"
  	ExtURIWorkbookPrX14                  = "{79F54976-1DA5-4618-B147-ACDE4B953A38}"
  	ExtURIWorkbookPrX15                  = "{140A7094-0E35-4892-8432-C4D2E57EDEB5}"
  )
  
  // workbookExtURIPriority is the priority of URI in the workbook extension lists.
  var workbookExtURIPriority = []string{
  	ExtURIPivotCachesX14,
  	ExtURISlicerCachesX14,
  	ExtURISlicerCachesX15,
  	ExtURIWorkbookPrX14,
  	ExtURIPivotCachesX15,
  	ExtURIPivotTableReferences,
  	ExtURITimelineCachePivotCaches,
  	ExtURITimelineCacheRefs,
  	ExtURIWorkbookPrX15,
  	ExtURIDataModel,
  	ExtURICalcFeatures,
  	ExtURIExternalLinkPr,
  	ExtURIModelTimeGroupings,
  }
  
  // worksheetExtURIPriority is the priority of URI in the worksheet extension lists.
  var worksheetExtURIPriority = []string{
  	ExtURIConditionalFormattings,
  	ExtURIDataValidations,
  	ExtURISparklineGroups,
  	ExtURISlicerListX14,
  	ExtURIProtectedRanges,
  	ExtURIIgnoredErrors,
  	ExtURIWebExtensions,
  	ExtURISlicerListX15,
  	ExtURITimelineRefs,
  	ExtURIExternalLinkPr,
  }
  
  // Excel specifications and limits
  const (
  	EMU                     = 9525
  	MaxCellStyles           = 65430
  	MaxColumns              = 16384
  	MaxColumnWidth          = 255
  	MaxFieldLength          = 255
  	MaxFilePathLength       = 207
  	MaxFormControlValue     = 30000
  	MaxFontFamilyLength     = 31
  	MaxGraphicAltTextLength = 65535
  	MaxGraphicNameLength    = 254
  	MaxFontSize             = 409
  	MaxRowHeight            = 409
  	MaxSheetNameLength      = 31
  	MinColumns              = 1
  	MinFontSize             = 1
  	StreamChunkSize         = 1 << 24
  	TotalCellChars          = 32767
  	TotalRows               = 1048576
  	TotalSheetHyperlinks    = 65529
  	UnzipSizeLimit          = 1000 << 24
  	// pivotTableVersion should be greater than 3. One or more of the
  	// PivotTables chosen are created in a version of Excel earlier than
  	// Excel 2007 or in compatibility mode. Slicer can only be used with
  	// PivotTables created in Excel 2007 or a newer version of Excel.
  	pivotTableVersion           = 3
  	pivotTableRefreshedVersion  = 8
  	defaultDrawingScale         = 1.0
  	defaultChartDimensionWidth  = 480
  	defaultChartDimensionHeight = 260
  	defaultSlicerWidth          = 200
  	defaultSlicerHeight         = 200
  	defaultChartLegendPosition  = "bottom"
  	defaultChartShowBlanksAs    = "gap"
  	defaultShapeSize            = 160
  	defaultLineWidth            = 1
  	defaultColWidth             = 9.140625
  	defaultColWidthPixels       = 64.0
  	defaultRowHeight            = 15.0
  	defaultRowHeightPixels      = 20.0
  	defaultFontSize             = 11.0
  )
  
  // ColorMappingType is the type of color transformation.
  type ColorMappingType byte
  
  // Color transformation types enumeration.
  const (
  	ColorMappingTypeLight1 ColorMappingType = iota
  	ColorMappingTypeDark1
  	ColorMappingTypeLight2
  	ColorMappingTypeDark2
  	ColorMappingTypeAccent1
  	ColorMappingTypeAccent2
  	ColorMappingTypeAccent3
  	ColorMappingTypeAccent4
  	ColorMappingTypeAccent5
  	ColorMappingTypeAccent6
  	ColorMappingTypeHyperlink
  	ColorMappingTypeFollowedHyperlink
  	ColorMappingTypeUnset int = -1
  )
  
  // ChartDataLabelPositionType is the type of chart data labels position.
  type ChartDataLabelPositionType byte
  
  // Chart data labels positions types enumeration.
  const (
  	ChartDataLabelsPositionUnset ChartDataLabelPositionType = iota
  	ChartDataLabelsPositionBestFit
  	ChartDataLabelsPositionBelow
  	ChartDataLabelsPositionCenter
  	ChartDataLabelsPositionInsideBase
  	ChartDataLabelsPositionInsideEnd
  	ChartDataLabelsPositionLeft
  	ChartDataLabelsPositionOutsideEnd
  	ChartDataLabelsPositionRight
  	ChartDataLabelsPositionAbove
  )
  
  // chartDataLabelsPositionTypes defined supported chart data labels position
  // types.
  var chartDataLabelsPositionTypes = map[ChartDataLabelPositionType]string{
  	ChartDataLabelsPositionBestFit:    "bestFit",
  	ChartDataLabelsPositionBelow:      "b",
  	ChartDataLabelsPositionCenter:     "ctr",
  	ChartDataLabelsPositionInsideBase: "inBase",
  	ChartDataLabelsPositionInsideEnd:  "inEnd",
  	ChartDataLabelsPositionLeft:       "l",
  	ChartDataLabelsPositionOutsideEnd: "outEnd",
  	ChartDataLabelsPositionRight:      "r",
  	ChartDataLabelsPositionAbove:      "t",
  }
  
  // LineDashTypes defined supported preset chart dash types.
  var LineDashTypes = map[LineDashType]string{
  	LineDashSolid:         "solid",
  	LineDashDot:           "dot",
  	LineDashDash:          "dash",
  	LineDashLgDash:        "lgDash",
  	LineDashSashDot:       "dashDot",
  	LineDashLgDashDot:     "lgDashDot",
  	LineDashLgDashDotDot:  "lgDashDotDot",
  	LineDashSysDash:       "sysDash",
  	LineDashSysDot:        "sysDot",
  	LineDashSysDashDot:    "sysDashDot",
  	LineDashSysDashDotDot: "sysDashDotDot",
  }
  
  // supportedChartDataLabelsPosition defined supported chart data labels position
  // types for each type of chart.
  var supportedChartDataLabelsPosition = map[ChartType][]ChartDataLabelPositionType{
  	Bar:               {ChartDataLabelsPositionCenter, ChartDataLabelsPositionInsideBase, ChartDataLabelsPositionInsideEnd, ChartDataLabelsPositionOutsideEnd},
  	BarStacked:        {ChartDataLabelsPositionCenter, ChartDataLabelsPositionInsideBase, ChartDataLabelsPositionInsideEnd},
  	BarPercentStacked: {ChartDataLabelsPositionCenter, ChartDataLabelsPositionInsideBase, ChartDataLabelsPositionInsideEnd},
  	Col:               {ChartDataLabelsPositionCenter, ChartDataLabelsPositionInsideBase, ChartDataLabelsPositionInsideEnd, ChartDataLabelsPositionOutsideEnd},
  	ColStacked:        {ChartDataLabelsPositionCenter, ChartDataLabelsPositionInsideBase, ChartDataLabelsPositionInsideEnd},
  	ColPercentStacked: {ChartDataLabelsPositionCenter, ChartDataLabelsPositionInsideBase, ChartDataLabelsPositionInsideEnd},
  	Line:              {ChartDataLabelsPositionBelow, ChartDataLabelsPositionCenter, ChartDataLabelsPositionLeft, ChartDataLabelsPositionRight, ChartDataLabelsPositionAbove},
  	Pie:               {ChartDataLabelsPositionBestFit, ChartDataLabelsPositionCenter, ChartDataLabelsPositionInsideEnd, ChartDataLabelsPositionOutsideEnd},
  	Pie3D:             {ChartDataLabelsPositionBestFit, ChartDataLabelsPositionCenter, ChartDataLabelsPositionInsideEnd, ChartDataLabelsPositionOutsideEnd},
  	Scatter:           {ChartDataLabelsPositionBelow, ChartDataLabelsPositionCenter, ChartDataLabelsPositionLeft, ChartDataLabelsPositionRight, ChartDataLabelsPositionAbove},
  	Bubble:            {ChartDataLabelsPositionBelow, ChartDataLabelsPositionCenter, ChartDataLabelsPositionLeft, ChartDataLabelsPositionRight, ChartDataLabelsPositionAbove},
  	Bubble3D:          {ChartDataLabelsPositionBelow, ChartDataLabelsPositionCenter, ChartDataLabelsPositionLeft, ChartDataLabelsPositionRight, ChartDataLabelsPositionAbove},
  }
  
  const (
  	defaultTempFileSST                = "sharedStrings"
  	defaultXMLMetadata                = "xl/metadata.xml"
  	defaultXMLPathCalcChain           = "xl/calcChain.xml"
  	defaultXMLPathCellImages          = "xl/cellimages.xml"
  	defaultXMLPathCellImagesRels      = "xl/_rels/cellimages.xml.rels"
  	defaultXMLPathContentTypes        = "[Content_Types].xml"
  	defaultXMLPathDocPropsApp         = "docProps/app.xml"
  	defaultXMLPathDocPropsCore        = "docProps/core.xml"
  	defaultXMLPathDocPropsCustom      = "docProps/custom.xml"
  	defaultXMLPathRels                = "_rels/.rels"
  	defaultXMLPathSharedStrings       = "xl/sharedStrings.xml"
  	defaultXMLPathSheet               = "xl/worksheets/sheet1.xml"
  	defaultXMLPathStyles              = "xl/styles.xml"
  	defaultXMLPathTheme               = "xl/theme/theme1.xml"
  	defaultXMLPathVolatileDeps        = "xl/volatileDependencies.xml"
  	defaultXMLPathWorkbook            = "xl/workbook.xml"
  	defaultXMLPathWorkbookRels        = "xl/_rels/workbook.xml.rels"
  	defaultXMLRdRichValue             = "xl/richData/rdrichvalue.xml"
  	defaultXMLRdRichValueRel          = "xl/richData/richValueRel.xml"
  	defaultXMLRdRichValueRelRels      = "xl/richData/_rels/richValueRel.xml.rels"
  	defaultXMLRdRichValueStructure    = "xl/richData/rdrichvaluestructure.xml"
  	defaultXMLRdRichValueTypes        = "xl/richData/rdRichValueTypes.xml"
  	defaultXMLRdRichValueWebImage     = "xl/richData/rdRichValueWebImage.xml"
  	defaultXMLRdRichValueWebImageRels = "xl/richData/_rels/rdRichValueWebImage.xml.rels"
  )
  
  // IndexedColorMapping is the table of default mappings from indexed color value
  // to RGB value. Note that 0-7 are redundant of 8-15 to preserve backwards
  // compatibility. A legacy indexing scheme for colors that is still required
  // for some records, and for backwards compatibility with legacy formats. This
  // element contains a sequence of RGB color values that correspond to color
  // indexes (zero-based). When using the default indexed color palette, the
  // values are not written out, but instead are implied. When the color palette
  // has been modified from default, then the entire color palette is written
  // out.
  var IndexedColorMapping = []string{
  	"000000", "FFFFFF", "FF0000", "00FF00", "0000FF", "FFFF00", "FF00FF", "00FFFF",
  	"000000", "FFFFFF", "FF0000", "00FF00", "0000FF", "FFFF00", "FF00FF", "00FFFF",
  	"800000", "008000", "000080", "808000", "800080", "008080", "C0C0C0", "808080",
  	"9999FF", "993366", "FFFFCC", "CCFFFF", "660066", "FF8080", "0066CC", "CCCCFF",
  	"000080", "FF00FF", "FFFF00", "00FFFF", "800080", "800000", "008080", "0000FF",
  	"00CCFF", "CCFFFF", "CCFFCC", "FFFF99", "99CCFF", "FF99CC", "CC99FF", "FFCC99",
  	"3366FF", "33CCCC", "99CC00", "FFCC00", "FF9900", "FF6600", "666699", "969696",
  	"003366", "339966", "003300", "333300", "993300", "993366", "333399", "333333",
  	"000000", "FFFFFF",
  }
  
  // supportedDefinedNameAtStartCharCodeRange list the valid first character of a
  // defined name ASCII letters.
  var supportedDefinedNameAtStartCharCodeRange = []int{
  	65, 90, 92, 92, 95, 95, 97, 122, 161, 161, 164, 164,
  	167, 168, 170, 170, 173, 173, 175, 186, 188, 696, 699, 705,
  	711, 711, 713, 715, 717, 717, 720, 721, 728, 731, 733, 733,
  	736, 740, 750, 750, 880, 883, 886, 887, 890, 893, 902, 902,
  	904, 906, 908, 908, 910, 929, 931, 1013, 1015, 1153, 1162, 1315,
  	1329, 1366, 1369, 1369, 1377, 1415, 1488, 1514, 1520, 1522, 1569, 1610,
  	1646, 1647, 1649, 1747, 1749, 1749, 1765, 1766, 1774, 1775, 1786, 1788,
  	1791, 1791, 1808, 1808, 1810, 1839, 1869, 1957, 1969, 1969, 1994, 2026,
  	2036, 2037, 2042, 2042, 2308, 2361, 2365, 2365, 2384, 2384, 2392, 2401,
  	2417, 2418, 2427, 2431, 2437, 2444, 2447, 2448, 2451, 2472, 2474, 2480,
  	2482, 2482, 2486, 2489, 2493, 2493, 2510, 2510, 2524, 2525, 2527, 2529,
  	2544, 2545, 2565, 2570, 2575, 2576, 2579, 2600, 2602, 2608, 2610, 2611,
  	2613, 2614, 2616, 2617, 2649, 2652, 2654, 2654, 2674, 2676, 2693, 2701,
  	2703, 2705, 2707, 2728, 2730, 2736, 2738, 2739, 2741, 2745, 2749, 2749,
  	2768, 2768, 2784, 2785, 2821, 2828, 2831, 2832, 2835, 2856, 2858, 2864,
  	2866, 2867, 2869, 2873, 2877, 2877, 2908, 2909, 2911, 2913, 2929, 2929,
  	2947, 2947, 2949, 2954, 2958, 2960, 2962, 2965, 2969, 2970, 2972, 2972,
  	2974, 2975, 2979, 2980, 2984, 2986, 2990, 3001, 3024, 3024, 3077, 3084,
  	3086, 3088, 3090, 3112, 3114, 3123, 3125, 3129, 3133, 3133, 3160, 3161,
  	3168, 3169, 3205, 3212, 3214, 3216, 3218, 3240, 3242, 3251, 3253, 3257,
  	3261, 3261, 3294, 3294, 3296, 3297, 3333, 3340, 3342, 3344, 3346, 3368,
  	3370, 3385, 3389, 3389, 3424, 3425, 3450, 3455, 3461, 3478, 3482, 3505,
  	3507, 3515, 3517, 3517, 3520, 3526, 3585, 3642, 3648, 3662, 3713, 3714,
  	3716, 3716, 3719, 3720, 3722, 3722, 3725, 3725, 3732, 3735, 3737, 3743,
  	3745, 3747, 3749, 3749, 3751, 3751, 3754, 3755, 3757, 3760, 3762, 3763,
  	3773, 3773, 3776, 3780, 3782, 3782, 3804, 3805, 3840, 3840, 3904, 3911,
  	3913, 3948, 3976, 3979, 4096, 4138, 4159, 4159, 4176, 4181, 4186, 4189,
  	4193, 4193, 4197, 4198, 4206, 4208, 4213, 4225, 4238, 4238, 4256, 4293,
  	4304, 4346, 4348, 4348, 4352, 4441, 4447, 4514, 4520, 4601, 4608, 4680,
  	4682, 4685, 4688, 4694, 4696, 4696, 4698, 4701, 4704, 4744, 4746, 4749,
  	4752, 4784, 4786, 4789, 4792, 4798, 4800, 4800, 4802, 4805, 4808, 4822,
  	4824, 4880, 4882, 4885, 4888, 4954, 4992, 5007, 5024, 5108, 5121, 5740,
  	5743, 5750, 5761, 5786, 5792, 5866, 5870, 5872, 5888, 5900, 5902, 5905,
  	5920, 5937, 5952, 5969, 5984, 5996, 5998, 6000, 6016, 6067, 6103, 6103,
  	6108, 6108, 6176, 6263, 6272, 6312, 6314, 6314, 6400, 6428, 6480, 6509,
  	6512, 6516, 6528, 6569, 6593, 6599, 6656, 6678, 6917, 6963, 6981, 6987,
  	7043, 7072, 7086, 7087, 7168, 7203, 7245, 7247, 7258, 7293, 7424, 7615,
  	7680, 7957, 7960, 7965, 7968, 8005, 8008, 8013, 8016, 8023, 8025, 8025,
  	8027, 8027, 8029, 8029, 8031, 8061, 8064, 8116, 8118, 8124, 8126, 8126,
  	8130, 8132, 8134, 8140, 8144, 8147, 8150, 8155, 8160, 8172, 8178, 8180,
  	8182, 8188, 8208, 8208, 8211, 8214, 8216, 8216, 8220, 8221, 8224, 8225,
  	8229, 8231, 8240, 8240, 8242, 8243, 8245, 8245, 8251, 8251, 8305, 8305,
  	8308, 8308, 8319, 8319, 8321, 8324, 8336, 8340, 8450, 8451, 8453, 8453,
  	8455, 8455, 8457, 8467, 8469, 8470, 8473, 8477, 8481, 8482, 8484, 8484,
  	8486, 8486, 8488, 8488, 8490, 8493, 8495, 8505, 8508, 8511, 8517, 8521,
  	8526, 8526, 8531, 8532, 8539, 8542, 8544, 8584, 8592, 8601, 8658, 8658,
  	8660, 8660, 8704, 8704, 8706, 8707, 8711, 8712, 8715, 8715, 8719, 8719,
  	8721, 8721, 8725, 8725, 8730, 8730, 8733, 8736, 8739, 8739, 8741, 8741,
  	8743, 8748, 8750, 8750, 8756, 8759, 8764, 8765, 8776, 8776, 8780, 8780,
  	8786, 8786, 8800, 8801, 8804, 8807, 8810, 8811, 8814, 8815, 8834, 8835,
  	8838, 8839, 8853, 8853, 8857, 8857, 8869, 8869, 8895, 8895, 8978, 8978,
  	9312, 9397, 9424, 9449, 9472, 9547, 9552, 9588, 9601, 9615, 9618, 9621,
  	9632, 9633, 9635, 9641, 9650, 9651, 9654, 9655, 9660, 9661, 9664, 9665,
  	9670, 9672, 9675, 9675, 9678, 9681, 9698, 9701, 9711, 9711, 9733, 9734,
  	9737, 9737, 9742, 9743, 9756, 9756, 9758, 9758, 9792, 9792, 9794, 9794,
  	9824, 9825, 9827, 9829, 9831, 9834, 9836, 9837, 9839, 9839, 11264, 11310,
  	11312, 11358, 11360, 11375, 11377, 11389, 11392, 11492, 11520, 11557, 11568, 11621,
  	11631, 11631, 11648, 11670, 11680, 11686, 11688, 11694, 11696, 11702, 11704, 11710,
  	11712, 11718, 11720, 11726, 11728, 11734, 11736, 11742, 12288, 12291, 12293, 12311,
  	12317, 12319, 12321, 12329, 12337, 12341, 12344, 12348, 12353, 12438, 12443, 12447,
  	12449, 12543, 12549, 12589, 12593, 12686, 12704, 12727, 12784, 12828, 12832, 12841,
  	12849, 12850, 12857, 12857, 12896, 12923, 12927, 12927, 12963, 12968, 13059, 13059,
  	13069, 13069, 13076, 13076, 13080, 13080, 13090, 13091, 13094, 13095, 13099, 13099,
  	13110, 13110, 13115, 13115, 13129, 13130, 13133, 13133, 13137, 13137, 13143, 13143,
  	13179, 13182, 13184, 13188, 13192, 13258, 13261, 13267, 13269, 13270, 13272, 13272,
  	13275, 13277, 13312, 19893, 19968, 40899, 40960, 42124, 42240, 42508, 42512, 42527,
  	42538, 42539, 42560, 42591, 42594, 42606, 42624, 42647, 42786, 42887, 42891, 42892,
  	43003, 43009, 43011, 43013, 43015, 43018, 43020, 43042, 43072, 43123, 43138, 43187,
  	43274, 43301, 43312, 43334, 43520, 43560, 43584, 43586, 43588, 43595, 44032, 55203,
  	57344, 63560, 63744, 64045, 64048, 64106, 64112, 64217, 64256, 64262, 64275, 64279,
  	64285, 64285, 64287, 64296, 64298, 64310, 64312, 64316, 64318, 64318, 64320, 64321,
  	64323, 64324, 64326, 64433, 64467, 64829, 64848, 64911, 64914, 64967, 65008, 65019,
  	65072, 65073, 65075, 65092, 65097, 65106, 65108, 65111, 65113, 65126, 65128, 65131,
  	65136, 65140, 65142, 65276, 65281, 65374, 65377, 65470, 65474, 65479, 65482, 65487,
  	65490, 65495, 65498, 65500, 65504, 65510,
  }
  
  // supportedDefinedNameAfterStartCharCodeRange list the valid after first
  // character of a defined name ASCII letters.
  var supportedDefinedNameAfterStartCharCodeRange = []int{
  	46, 46, 48, 57, 63, 63, 65, 90, 92, 92, 95, 95,
  	97, 122, 161, 161, 164, 164, 167, 168, 170, 170, 173, 173,
  	175, 186, 188, 887, 890, 893, 900, 902, 904, 906, 908, 908,
  	910, 929, 931, 1315, 1329, 1366, 1369, 1369, 1377, 1415, 1425, 1469,
  	1471, 1471, 1473, 1474, 1476, 1477, 1479, 1479, 1488, 1514, 1520, 1522,
  	1536, 1539, 1542, 1544, 1547, 1547, 1550, 1562, 1567, 1567, 1569, 1630,
  	1632, 1641, 1646, 1747, 1749, 1791, 1807, 1866, 1869, 1969, 1984, 2038,
  	2042, 2042, 2305, 2361, 2364, 2381, 2384, 2388, 2392, 2403, 2406, 2415,
  	2417, 2418, 2427, 2431, 2433, 2435, 2437, 2444, 2447, 2448, 2451, 2472,
  	2474, 2480, 2482, 2482, 2486, 2489, 2492, 2500, 2503, 2504, 2507, 2510,
  	2519, 2519, 2524, 2525, 2527, 2531, 2534, 2554, 2561, 2563, 2565, 2570,
  	2575, 2576, 2579, 2600, 2602, 2608, 2610, 2611, 2613, 2614, 2616, 2617,
  	2620, 2620, 2622, 2626, 2631, 2632, 2635, 2637, 2641, 2641, 2649, 2652,
  	2654, 2654, 2662, 2677, 2689, 2691, 2693, 2701, 2703, 2705, 2707, 2728,
  	2730, 2736, 2738, 2739, 2741, 2745, 2748, 2757, 2759, 2761, 2763, 2765,
  	2768, 2768, 2784, 2787, 2790, 2799, 2801, 2801, 2817, 2819, 2821, 2828,
  	2831, 2832, 2835, 2856, 2858, 2864, 2866, 2867, 2869, 2873, 2876, 2884,
  	2887, 2888, 2891, 2893, 2902, 2903, 2908, 2909, 2911, 2915, 2918, 2929,
  	2946, 2947, 2949, 2954, 2958, 2960, 2962, 2965, 2969, 2970, 2972, 2972,
  	2974, 2975, 2979, 2980, 2984, 2986, 2990, 3001, 3006, 3010, 3014, 3016,
  	3018, 3021, 3024, 3024, 3031, 3031, 3046, 3066, 3073, 3075, 3077, 3084,
  	3086, 3088, 3090, 3112, 3114, 3123, 3125, 3129, 3133, 3140, 3142, 3144,
  	3146, 3149, 3157, 3158, 3160, 3161, 3168, 3171, 3174, 3183, 3192, 3199,
  	3202, 3203, 3205, 3212, 3214, 3216, 3218, 3240, 3242, 3251, 3253, 3257,
  	3260, 3268, 3270, 3272, 3274, 3277, 3285, 3286, 3294, 3294, 3296, 3299,
  	3302, 3311, 3313, 3314, 3330, 3331, 3333, 3340, 3342, 3344, 3346, 3368,
  	3370, 3385, 3389, 3396, 3398, 3400, 3402, 3405, 3415, 3415, 3424, 3427,
  	3430, 3445, 3449, 3455, 3458, 3459, 3461, 3478, 3482, 3505, 3507, 3515,
  	3517, 3517, 3520, 3526, 3530, 3530, 3535, 3540, 3542, 3542, 3544, 3551,
  	3570, 3571, 3585, 3642, 3647, 3662, 3664, 3673, 3713, 3714, 3716, 3716,
  	3719, 3720, 3722, 3722, 3725, 3725, 3732, 3735, 3737, 3743, 3745, 3747,
  	3749, 3749, 3751, 3751, 3754, 3755, 3757, 3769, 3771, 3773, 3776, 3780,
  	3782, 3782, 3784, 3789, 3792, 3801, 3804, 3805, 3840, 3843, 3859, 3897,
  	3902, 3911, 3913, 3948, 3953, 3972, 3974, 3979, 3984, 3991, 3993, 4028,
  	4030, 4044, 4046, 4047, 4096, 4169, 4176, 4249, 4254, 4293, 4304, 4346,
  	4348, 4348, 4352, 4441, 4447, 4514, 4520, 4601, 4608, 4680, 4682, 4685,
  	4688, 4694, 4696, 4696, 4698, 4701, 4704, 4744, 4746, 4749, 4752, 4784,
  	4786, 4789, 4792, 4798, 4800, 4800, 4802, 4805, 4808, 4822, 4824, 4880,
  	4882, 4885, 4888, 4954, 4959, 4960, 4969, 4988, 4992, 5017, 5024, 5108,
  	5121, 5740, 5743, 5750, 5760, 5786, 5792, 5866, 5870, 5872, 5888, 5900,
  	5902, 5908, 5920, 5940, 5952, 5971, 5984, 5996, 5998, 6000, 6002, 6003,
  	6016, 6099, 6103, 6103, 6107, 6109, 6112, 6121, 6128, 6137, 6155, 6158,
  	6160, 6169, 6176, 6263, 6272, 6314, 6400, 6428, 6432, 6443, 6448, 6459,
  	6464, 6464, 6470, 6509, 6512, 6516, 6528, 6569, 6576, 6601, 6608, 6617,
  	6624, 6683, 6912, 6987, 6992, 7001, 7009, 7036, 7040, 7082, 7086, 7097,
  	7168, 7223, 7232, 7241, 7245, 7293, 7424, 7654, 7678, 7957, 7960, 7965,
  	7968, 8005, 8008, 8013, 8016, 8023, 8025, 8025, 8027, 8027, 8029, 8029,
  	8031, 8061, 8064, 8116, 8118, 8132, 8134, 8147, 8150, 8155, 8157, 8175,
  	8178, 8180, 8182, 8190, 8192, 8208, 8211, 8214, 8216, 8216, 8220, 8221,
  	8224, 8225, 8229, 8240, 8242, 8243, 8245, 8245, 8251, 8251, 8260, 8260,
  	8274, 8274, 8287, 8292, 8298, 8305, 8308, 8316, 8319, 8332, 8336, 8340,
  	8352, 8373, 8400, 8432, 8448, 8527, 8531, 8584, 8592, 9000, 9003, 9191,
  	9216, 9254, 9280, 9290, 9312, 9885, 9888, 9916, 9920, 9923, 9985, 9988,
  	9990, 9993, 9996, 10023, 10025, 10059, 10061, 10061, 10063, 10066, 10070, 10070,
  	10072, 10078, 10081, 10087, 10102, 10132, 10136, 10159, 10161, 10174, 10176, 10180,
  	10183, 10186, 10188, 10188, 10192, 10213, 10224, 10626, 10649, 10711, 10716, 10747,
  	10750, 11084, 11088, 11092, 11264, 11310, 11312, 11358, 11360, 11375, 11377, 11389,
  	11392, 11498, 11517, 11517, 11520, 11557, 11568, 11621, 11631, 11631, 11648, 11670,
  	11680, 11686, 11688, 11694, 11696, 11702, 11704, 11710, 11712, 11718, 11720, 11726,
  	11728, 11734, 11736, 11742, 11744, 11775, 11823, 11823, 11904, 11929, 11931, 12019,
  	12032, 12245, 12272, 12283, 12288, 12311, 12317, 12335, 12337, 12348, 12350, 12351,
  	12353, 12438, 12441, 12447, 12449, 12543, 12549, 12589, 12593, 12686, 12688, 12727,
  	12736, 12771, 12784, 12830, 12832, 12867, 12880, 13054, 13056, 19893, 19904, 40899,
  	40960, 42124, 42128, 42182, 42240, 42508, 42512, 42539, 42560, 42591, 42594, 42610,
  	42620, 42621, 42623, 42647, 42752, 42892, 43003, 43051, 43072, 43123, 43136, 43204,
  	43216, 43225, 43264, 43310, 43312, 43347, 43520, 43574, 43584, 43597, 43600, 43609,
  	44032, 55203, 55296, 64045, 64048, 64106, 64112, 64217, 64256, 64262, 64275, 64279,
  	64285, 64310, 64312, 64316, 64318, 64318, 64320, 64321, 64323, 64324, 64326, 64433,
  	64467, 64829, 64848, 64911, 64914, 64967, 65008, 65021, 65024, 65039, 65056, 65062,
  	65072, 65073, 65075, 65092, 65097, 65106, 65108, 65111, 65113, 65126, 65128, 65131,
  	65136, 65140, 65142, 65276, 65279, 65279, 65281, 65374, 65377, 65470, 65474, 65479,
  	65482, 65487, 65490, 65495, 65498, 65500, 65504, 65510, 65512, 65518, 65529, 65533,
  }
  
  // supportedFontWidthFactors defines the average character width ratio of common
  // font families. This is used for more accurate column width calculation when
  // different font families are used.
  var supportedFontWidthFactors = map[string][]float64{
  	"calibri":                        {0.97, 1.30, 1.00},
  	"agency fb":                      {0.69, 0.86, 1.00},
  	"aptos":                          {1.03, 1.37, 1.00},
  	"arial black":                    {1.35, 1.59, 1.00},
  	"arial narrow":                   {0.88, 1.20, 1.00},
  	"arial rounded mt bold":          {1.07, 1.57, 1.00},
  	"arial unicode ms":               {1.07, 1.42, 1.07},
  	"arial":                          {1.07, 1.42, 1.00},
  	"bahnschrift":                    {1.10, 1.30, 1.00},
  	"baskerville old face":           {0.98, 1.56, 1.00},
  	"batang":                         {1.05, 1.31, 0.99},
  	"batangche":                      {1.10, 1.10, 1.10},
  	"bauhaus 93":                     {1.10, 1.43, 1.00},
  	"bell mt":                        {0.95, 1.33, 1.00},
  	"berlin sans fb":                 {1.03, 1.36, 1.00},
  	"bernard mt condensed":           {0.94, 1.24, 1.00},
  	"blackadder itc":                 {0.76, 2.12, 1.00},
  	"bodoni mt condensed":            {0.82, 1.17, 1.00},
  	"bodoni mt poster compressed":    {0.72, 1.06, 1.00},
  	"bodoni mt":                      {1.06, 1.47, 1.00},
  	"book antiqua":                   {1.12, 1.44, 1.00},
  	"bookman old style":              {1.14, 1.66, 1.00},
  	"broadway":                       {1.50, 1.75, 1.00},
  	"brush script mt":                {0.82, 1.34, 1.00},
  	"calibri light":                  {0.98, 1.19, 1.00},
  	"calisto mt":                     {1.03, 1.42, 1.00},
  	"cambria math":                   {1.07, 1.28, 1.00},
  	"cambria":                        {1.07, 1.28, 1.00},
  	"candara light":                  {1.02, 1.35, 1.00},
  	"cascadia mono extralight":       {1.42, 1.49, 1.00},
  	"castellar":                      {1.48, 1.58, 1.00},
  	"centaur":                        {0.93, 1.30, 1.00},
  	"century gothic":                 {1.19, 1.36, 1.00},
  	"century schoolbook":             {1.10, 1.63, 1.00},
  	"century":                        {1.09, 1.52, 1.00},
  	"chiller":                        {0.90, 1.22, 1.00},
  	"colonna mt":                     {1.10, 1.40, 1.00},
  	"comic sans ms":                  {1.14, 1.46, 1.00},
  	"consolas":                       {1.21, 1.21, 1.00},
  	"cooper black":                   {1.28, 1.60, 1.00},
  	"copperplate gothic bold":        {1.32, 1.62, 1.00},
  	"copperplate gothic light":       {1.26, 1.58, 1.00},
  	"corbel light":                   {0.98, 1.26, 1.00},
  	"corbel":                         {1.03, 1.30, 1.00},
  	"courier new":                    {1.45, 1.45, 1.00},
  	"curlz mt":                       {1.16, 1.47, 1.00},
  	"david":                          {1.25, 1.28, 1.00},
  	"dengxian light":                 {1.02, 1.26, 1.02},
  	"dengxian":                       {1.05, 1.28, 1.08},
  	"dfkai-sb":                       {1.10, 1.10, 1.10},
  	"dotum":                          {1.25, 1.31, 0.99},
  	"dotumche":                       {1.10, 1.10, 1.10},
  	"dubai":                          {1.00, 1.32, 1.00},
  	"ebrima":                         {1.08, 1.31, 1.00},
  	"edwardian script itc":           {0.82, 1.78, 1.00},
  	"elephant":                       {1.24, 1.86, 1.00},
  	"engravers mt":                   {1.99, 1.99, 1.00},
  	"eras bold itc":                  {1.14, 1.45, 1.00},
  	"eras demi itc":                  {1.10, 1.42, 1.00},
  	"eras light itc":                 {1.07, 1.40, 1.00},
  	"eras medium itc":                {1.10, 1.42, 1.00},
  	"fangsong_gb2312":                {1.20, 1.36, 1.10},
  	"felix titling":                  {1.20, 1.55, 1.00},
  	"footlight mt light":             {1.03, 1.37, 1.00},
  	"forte":                          {0.93, 1.25, 1.00},
  	"franklin gothic demi cond":      {0.88, 1.20, 1.00},
  	"franklin gothic demi":           {1.08, 1.42, 1.00},
  	"franklin gothic heavy":          {1.16, 1.45, 1.00},
  	"franklin gothic medium":         {1.08, 1.42, 1.00},
  	"freestyle script":               {0.87, 1.18, 1.00},
  	"french script mt":               {0.82, 1.54, 1.00},
  	"fzshuti":                        {1.10, 1.36, 1.10},
  	"fzyaoti":                        {1.10, 1.36, 1.10},
  	"gabriola":                       {0.95, 1.28, 1.00},
  	"garamond":                       {1.16, 1.39, 1.00},
  	"georgia":                        {1.19, 1.43, 1.00},
  	"gigi":                           {0.95, 1.28, 1.00},
  	"gill sans mt condensed":         {0.85, 1.18, 1.00},
  	"gill sans mt":                   {1.03, 1.36, 1.00},
  	"gill sans ultra bold":           {1.30, 1.60, 1.00},
  	"gloucester mt extra condensed":  {0.72, 1.02, 1.00},
  	"goudy old style":                {0.98, 1.37, 1.00},
  	"goudy stout":                    {2.56, 2.80, 1.00},
  	"gulim":                          {1.19, 1.31, 0.99},
  	"gulimche":                       {1.20, 1.36, 1.10},
  	"gungsuh":                        {1.39, 1.39, 0.99},
  	"gungsuhche":                     {1.28, 1.36, 1.10},
  	"haettenschweiler":               {0.82, 1.02, 1.00},
  	"harlow solid italic":            {0.90, 1.82, 1.00},
  	"harrington":                     {1.07, 1.40, 1.00},
  	"helvetica neue":                 {1.10, 1.42, 1.00},
  	"helvetica":                      {1.07, 1.42, 1.00},
  	"high tower text":                {0.97, 1.53, 1.00},
  	"impact":                         {1.01, 1.12, 1.00},
  	"informal roman":                 {1.07, 1.40, 1.00},
  	"ink free":                       {1.02, 1.33, 1.00},
  	"javanese text":                  {1.10, 1.42, 1.00},
  	"jokerman":                       {1.26, 1.67, 1.00},
  	"juice itc":                      {0.82, 1.14, 1.00},
  	"kaiti_gb2312":                   {1.20, 1.20, 1.10},
  	"kaiti":                          {1.20, 1.20, 1.10},
  	"kartika":                        {1.10, 1.32, 1.00},
  	"kokila":                         {1.17, 1.30, 1.00},
  	"kristen itc":                    {1.10, 1.42, 1.00},
  	"kunstler script":                {0.72, 1.72, 1.00},
  	"latha":                          {1.17, 1.28, 1.00},
  	"leelawadee ui":                  {1.08, 1.31, 1.00},
  	"leelawadee":                     {1.03, 1.36, 1.00},
  	"lisu":                           {1.10, 1.42, 1.00},
  	"lucida bright":                  {1.18, 1.47, 1.00},
  	"lucida calligraphy":             {1.18, 1.67, 1.00},
  	"lucida console":                 {1.32, 1.32, 1.00},
  	"lucida fax":                     {1.14, 1.45, 1.00},
  	"lucida handwriting":             {1.39, 1.67, 1.00},
  	"lucida sans typewriter":         {1.32, 1.32, 1.00},
  	"lucida sans unicode":            {1.18, 1.47, 1.00},
  	"lucida sans":                    {1.18, 1.47, 1.00},
  	"lxgw wenkai":                    {1.10, 1.60, 1.10},
  	"magneto":                        {1.48, 1.98, 1.00},
  	"maiandra gd":                    {1.10, 1.42, 1.00},
  	"malgun gothic semilight":        {1.07, 1.51, 1.07},
  	"malgun gothic":                  {1.10, 1.33, 1.10},
  	"mangal":                         {1.10, 1.42, 1.00},
  	"meiryo":                         {1.19, 1.42, 1.19},
  	"microsoft himalaya":             {0.85, 0.96, 1.00},
  	"microsoft jhenghei light":       {1.10, 1.30, 1.10},
  	"microsoft jhenghei ui":          {1.16, 1.39, 1.16},
  	"microsoft jhenghei":             {1.16, 1.39, 1.16},
  	"microsoft new tai lue":          {1.03, 1.38, 1.00},
  	"microsoft phagspa":              {1.00, 1.30, 1.00},
  	"microsoft sans serif":           {1.07, 1.40, 1.00},
  	"microsoft tai le":               {1.00, 1.30, 1.00},
  	"microsoft uighur":               {0.90, 1.10, 1.00},
  	"microsoft yahei light":          {1.10, 1.30, 1.10},
  	"microsoft yahei ui":             {1.18, 1.30, 1.18},
  	"microsoft yahei":                {1.18, 1.30, 1.18},
  	"microsoft yi baiti":             {1.00, 1.12, 1.00},
  	"mingliu_hkscs":                  {1.10, 1.20, 1.10},
  	"mingliu-extb":                   {1.10, 1.20, 1.10},
  	"mingliu":                        {1.10, 1.20, 1.10},
  	"mistral":                        {0.87, 0.90, 1.00},
  	"modern no. 20":                  {0.90, 1.42, 1.00},
  	"mongolian baiti":                {0.95, 1.38, 1.00},
  	"monotype corsiva":               {0.85, 1.26, 1.00},
  	"ms gothic":                      {1.10, 1.10, 1.10},
  	"ms pgothic":                     {0.99, 1.31, 0.99},
  	"ms reference sans serif":        {1.18, 1.47, 1.00},
  	"ms sans serif":                  {1.10, 1.42, 1.00},
  	"narkisim":                       {1.10, 1.25, 1.00},
  	"niagara engraved":               {0.55, 0.58, 1.00},
  	"niagara solid":                  {0.48, 0.58, 1.00},
  	"nirmala ui semilight":           {1.01, 1.32, 1.00},
  	"nirmala ui":                     {1.03, 1.36, 1.00},
  	"noto sans cjk":                  {1.10, 1.33, 1.10},
  	"noto serif cjk":                 {1.10, 1.33, 1.10},
  	"nsimsun":                        {1.10, 1.10, 1.10},
  	"nyala":                          {1.15, 1.32, 1.00},
  	"onyx":                           {0.68, 0.98, 1.00},
  	"palace script mt":               {0.72, 1.22, 1.00},
  	"palatino linotype":              {1.12, 1.44, 1.00},
  	"papyrus":                        {1.10, 1.82, 1.00},
  	"parchment":                      {0.74, 1.84, 1.00},
  	"perpetua titling mt":            {1.23, 1.52, 1.00},
  	"perpetua":                       {0.95, 1.33, 1.00},
  	"playbill":                       {0.72, 1.02, 1.00},
  	"poor richard":                   {0.97, 1.36, 1.00},
  	"pristina":                       {0.87, 1.18, 1.00},
  	"rage italic":                    {0.82, 1.14, 1.00},
  	"ravie":                          {1.55, 1.86, 1.00},
  	"rockwell condensed":             {0.90, 1.22, 1.00},
  	"rockwell extra bold":            {1.42, 1.72, 1.00},
  	"rockwell":                       {1.16, 1.48, 1.00},
  	"rod":                            {1.25, 1.25, 1.00},
  	"sakkal majalla":                 {1.10, 1.22, 1.00},
  	"sarasa gothic":                  {1.10, 1.33, 1.10},
  	"segoe print":                    {1.16, 1.47, 1.00},
  	"segoe script":                   {1.10, 1.42, 1.00},
  	"segoe ui black":                 {1.12, 1.34, 1.00},
  	"segoe ui emoji":                 {1.08, 1.31, 1.00},
  	"segoe ui historic":              {1.08, 1.31, 1.00},
  	"segoe ui semibold":              {1.12, 1.34, 1.00},
  	"segoe ui semilight":             {1.08, 1.31, 1.00},
  	"segoe ui symbol":                {1.08, 1.31, 1.00},
  	"segoe ui":                       {1.08, 1.31, 1.00},
  	"shonar bangla":                  {1.00, 1.32, 1.00},
  	"showcard gothic":                {1.50, 1.92, 1.00},
  	"shruti":                         {0.97, 1.30, 1.00},
  	"simfang":                        {1.10, 1.10, 1.10},
  	"simhei":                         {1.10, 1.10, 1.10},
  	"simkai":                         {1.10, 1.10, 1.10},
  	"simsun-extb":                    {1.10, 1.10, 1.10},
  	"simsun":                         {1.10, 1.10, 1.10},
  	"sitka banner":                   {0.95, 1.28, 1.00},
  	"sitka display":                  {1.00, 1.32, 1.00},
  	"sitka heading":                  {1.03, 1.36, 1.00},
  	"sitka small":                    {1.07, 1.40, 1.00},
  	"sitka subheading":               {1.03, 1.36, 1.00},
  	"snap itc":                       {1.32, 1.62, 1.00},
  	"source han sans":                {1.10, 1.33, 1.10},
  	"source han serif":               {1.10, 1.33, 1.10},
  	"stcaiyun":                       {1.10, 1.10, 1.10},
  	"stencil":                        {1.16, 1.47, 1.00},
  	"stfangsong":                     {1.10, 1.90, 1.10},
  	"stheiti":                        {1.10, 1.10, 1.10},
  	"sthupo":                         {1.10, 1.90, 1.10},
  	"stkaiti":                        {1.10, 1.10, 1.10},
  	"stliti":                         {1.10, 1.10, 1.10},
  	"stsong":                         {1.10, 1.36, 1.10},
  	"stxingkai":                      {1.10, 1.36, 1.10},
  	"stxinwei":                       {1.10, 1.36, 1.10},
  	"stzhongsong":                    {1.10, 1.66, 1.10},
  	"sylfaen":                        {1.03, 1.36, 1.00},
  	"tahoma":                         {1.17, 1.30, 1.00},
  	"tempus sans itc":                {1.14, 1.46, 1.00},
  	"times new roman":                {1.11, 1.40, 1.00},
  	"traditional arabic":             {0.95, 1.56, 1.00},
  	"trebuchet ms":                   {1.10, 1.26, 1.00},
  	"tunga":                          {1.15, 1.28, 1.00},
  	"tw cen mt condensed extra bold": {0.88, 1.22, 1.00},
  	"tw cen mt condensed":            {0.86, 1.18, 1.00},
  	"tw cen mt":                      {0.98, 1.32, 1.00},
  	"ud digi kyokasho n-b":           {1.30, 1.36, 1.10},
  	"ud digi kyokasho n-r":           {1.30, 1.36, 1.10},
  	"ud digi kyokasho nk-b":          {1.30, 1.36, 1.10},
  	"ud digi kyokasho nk-r":          {1.30, 1.36, 1.10},
  	"ud デジタル 教科書体 n":                 {1.30, 1.36, 1.10},
  	"ud デジタル 教科書体 nk":                {1.30, 1.36, 1.10},
  	"urdu typesetting":               {1.52, 1.52, 1.00},
  	"utsaah":                         {1.43, 1.43, 1.00},
  	"vani":                           {1.27, 1.30, 1.00},
  	"verdana":                        {1.33, 1.44, 1.00},
  	"vijaya":                         {1.10, 1.22, 1.00},
  	"vivaldi":                        {0.76, 2.12, 1.00},
  	"vladimir script":                {0.82, 1.54, 1.00},
  	"vrinda":                         {1.15, 1.28, 1.00},
  	"wide latin":                     {1.88, 2.65, 1.00},
  	"youyuan":                        {1.20, 1.36, 1.10},
  	"yu gothic light":                {1.03, 1.34, 1.03},
  	"yu gothic medium":               {1.12, 1.41, 1.12},
  	"yu gothic ui light":             {1.03, 1.24, 1.03},
  	"yu gothic ui semibold":          {1.12, 1.31, 1.12},
  	"yu gothic ui semilight":         {1.03, 1.24, 1.03},
  	"yu gothic ui":                   {1.12, 1.41, 1.12},
  	"yu gothic":                      {1.12, 1.41, 1.12},
  	"yu mincho":                      {1.08, 1.48, 1.08},
  	"굴림":                             {0.99, 1.31, 1.01},
  	"굴림체":                            {1.10, 1.36, 1.20},
  	"궁서":                             {0.99, 1.31, 1.01},
  	"궁서체":                            {1.10, 1.36, 1.20},
  	"돋움":                             {0.99, 1.31, 0.99},
  	"돋움체":                            {1.10, 1.10, 1.15},
  	"맑은 고딕 semilight":                {1.07, 1.51, 1.07},
  	"맑은 고딕":                          {1.10, 1.33, 1.10},
  	"바탕":                             {0.99, 1.31, 1.01},
  	"바탕체":                            {1.10, 1.10, 1.20},
  	"メイリオ":                           {1.19, 1.42, 1.19},
  	"仿宋":                             {1.20, 1.36, 1.40},
  	"华文中宋":                           {1.10, 1.66, 1.10},
  	"华文仿宋":                           {1.10, 1.90, 1.10},
  	"华文宋体":                           {1.10, 1.36, 1.10},
  	"华文彩云":                           {1.10, 1.10, 1.10},
  	"华文新魏":                           {1.10, 1.36, 1.10},
  	"华文楷体":                           {1.10, 1.10, 1.10},
  	"华文琥珀":                           {1.10, 1.90, 1.10},
  	"华文行楷":                           {1.10, 1.36, 1.10},
  	"华文隶书":                           {1.10, 1.10, 1.10},
  	"华文黑体":                           {1.10, 1.10, 1.10},
  	"宋体":                             {1.10, 1.10, 1.10},
  	"幼圆":                             {1.10, 1.36, 1.10},
  	"微软正黑体 light":                    {1.10, 1.30, 1.10},
  	"微软正黑体":                          {1.16, 1.39, 1.16},
  	"微软雅黑 light":                     {1.10, 1.30, 1.10},
  	"微软雅黑":                           {1.18, 1.30, 1.18},
  	"思源宋体":                           {1.10, 1.33, 1.10},
  	"思源黑体":                           {1.10, 1.33, 1.10},
  	"新宋体":                            {1.10, 1.10, 1.10},
  	"新细明体":                           {1.10, 1.20, 1.10},
  	"方正姚体":                           {1.10, 1.36, 1.10},
  	"方正舒体":                           {1.10, 1.36, 1.10},
  	"更纱黑体":                           {1.10, 1.33, 1.10},
  	"楷体":                             {1.20, 1.20, 1.10},
  	"標楷體":                            {1.20, 1.20, 1.10},
  	"游ゴシック light":                    {1.03, 1.34, 1.03},
  	"游ゴシック medium":                   {1.12, 1.41, 1.12},
  	"游ゴシック ui":                       {1.12, 1.41, 1.12},
  	"游ゴシック":                          {1.12, 1.41, 1.12},
  	"游明朝":                            {1.08, 1.48, 1.08},
  	"等线":                             {1.05, 1.28, 1.05},
  	"细明体":                            {1.10, 1.20, 1.10},
  	"隶书":                             {1.10, 1.10, 1.10},
  	"霞鹜文楷":                           {1.10, 1.60, 1.10},
  	"黑体":                             {1.10, 1.10, 1.10},
  	"\uff2d\uff33 \uff30ゴシック":        {0.99, 1.31, 0.99},
  	"\uff2d\uff33 ゴシック":              {1.10, 1.10, 1.10},
  	"\uff2d\uff33 明朝":                {1.10, 1.10, 1.10},
  }
  
  // supportedImageTypes defined supported image types.
  var supportedImageTypes = map[string]string{
  	".bmp": ".bmp", ".emf": ".emf", ".emz": ".emz", ".gif": ".gif",
  	".ico": ".ico", ".jpeg": ".jpeg", ".jpg": ".jpeg", ".png": ".png",
  	".svg": ".svg", ".tif": ".tiff", ".tiff": ".tiff", ".wmf": ".wmf",
  	".wmz": ".wmz",
  }
  
  // supportedCalcMode defined supported formula calculate mode.
  var supportedCalcMode = []string{"manual", "auto", "autoNoTable"}
  
  // supportedRefMode defined supported formula calculate mode.
  var supportedRefMode = []string{"A1", "R1C1"}
  
  // supportedContentTypes defined supported file format types.
  var supportedContentTypes = map[string]string{
  	".xlam": ContentTypeAddinMacro,
  	".xlsm": ContentTypeMacro,
  	".xlsx": ContentTypeSheetML,
  	".xltm": ContentTypeTemplateMacro,
  	".xltx": ContentTypeTemplate,
  }
  
  // supportedUnderlineTypes defined supported underline types.
  var supportedUnderlineTypes = []string{"none", "single", "double"}
  
  // supportedVertAlignTypes defined supported vertical align types.
  var supportedVertAlignTypes = []string{"baseline", "superscript", "subscript"}
  
  // supportedDrawingUnderlineTypes defined supported underline types in drawing
  // markup language.
  var supportedDrawingUnderlineTypes = []string{
  	"none", "words", "sng", "dbl", "heavy", "dotted", "dottedHeavy", "dash", "dashHeavy", "dashLong", "dashLongHeavy", "dotDash", "dotDashHeavy", "dotDotDash", "dotDotDashHeavy", "wavy", "wavyHeavy",
  	"wavyDbl",
  }
  
  // supportedDrawingTextVerticalType defined supported text vertical types in
  // drawing markup language.
  var supportedDrawingTextVerticalType = []string{"horz", "vert", "vert270", "wordArtVert", "eaVert", "mongolianVert", "wordArtVertRtl"}
  
  // supportedPositioning defined supported positioning types.
  var supportedPositioning = []string{"absolute", "oneCell", "twoCell"}
  
  // supportedPageOrientation defined supported page setup page orientation.
  var supportedPageOrientation = []string{"portrait", "landscape"}
  
  // supportedPageOrder defined supported page setup page order.
  var supportedPageOrder = []string{"overThenDown", "downThenOver"}
  
  // builtInDefinedNames defined built-in defined names are built with a _xlnm prefix.
  var builtInDefinedNames = []string{"_xlnm.Print_Area", "_xlnm.Print_Titles", "_xlnm.Criteria", "_xlnm._FilterDatabase", "_xlnm.Extract", "_xlnm.Consolidate_Area", "_xlnm.Database", "_xlnm.Sheet_Title"}
  
  const templateDocpropsApp = `<Properties xmlns="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties" xmlns:vt="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"><TotalTime>0</TotalTime><Application>Go Excelize</Application></Properties>`
  
  const templateContentTypes = `<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"><Override PartName="/xl/theme/theme1.xml" ContentType="application/vnd.openxmlformats-officedocument.theme+xml"/><Override PartName="/xl/styles.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml"/><Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml"/><Default Extension="xml" ContentType="application/xml"/><Override PartName="/xl/workbook.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml"/><Override PartName="/docProps/app.xml" ContentType="application/vnd.openxmlformats-officedocument.extended-properties+xml"/><Override PartName="/xl/worksheets/sheet1.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml"/><Override PartName="/docProps/core.xml" ContentType="application/vnd.openxmlformats-package.core-properties+xml"/></Types>`
  
  const templateWorkbook = `<workbook xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="x15" xmlns:x15="http://schemas.microsoft.com/office/spreadsheetml/2010/11/main"><fileVersion appName="xl" lastEdited="6" lowestEdited="6" rupBuild="14420" /><workbookPr filterPrivacy="1" defaultThemeVersion="164011" /><bookViews><workbookView xWindow="0" yWindow="0" windowWidth="14805" windowHeight="8010" /></bookViews><sheets><sheet name="Sheet1" sheetId="1" r:id="rId1" /></sheets><calcPr calcId="122211" /></workbook>`
  
  const templateStyles = `<styleSheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="x14ac x16r2" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac" xmlns:x16r2="http://schemas.microsoft.com/office/spreadsheetml/2015/02/main"><fonts count="1" x14ac:knownFonts="1"><font><sz val="11"/><color theme="1"/><name val="Calibri"/><family val="2"/></font></fonts><fills count="2"><fill><patternFill patternType="none"/></fill><fill><patternFill patternType="gray125"/></fill></fills><borders count="1"><border><left/><right/><top/><bottom/><diagonal/></border></borders><cellStyleXfs count="1"><xf numFmtId="0" fontId="0" fillId="0" borderId="0"/></cellStyleXfs><cellXfs count="1"><xf numFmtId="0" fontId="0" fillId="0" borderId="0" xfId="0"/></cellXfs><cellStyles count="1"><cellStyle name="Normal" xfId="0" builtinId="0"/></cellStyles><dxfs count="0"/><tableStyles count="0" defaultTableStyle="TableStyleMedium2" defaultPivotStyle="PivotStyleLight16"/></styleSheet>`
  
  const templateSheet = `<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"><dimension ref="A1"/><sheetViews><sheetView tabSelected="1" workbookViewId="0"/></sheetViews><sheetFormatPr defaultRowHeight="15"/><sheetData/></worksheet>`
  
  const templateWorkbookRels = `<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet" Target="worksheets/sheet1.xml"/><Relationship Id="rId2" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles" Target="styles.xml"/><Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme" Target="theme/theme1.xml"/></Relationships>`
  
  const templateDocpropsCore = `<cp:coreProperties xmlns:cp="http://schemas.openxmlformats.org/package/2006/metadata/core-properties" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dcmitype="http://purl.org/dc/dcmitype/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><dc:creator>xuri</dc:creator><dcterms:created xsi:type="dcterms:W3CDTF">2006-09-16T00:00:00Z</dcterms:created><dcterms:modified xsi:type="dcterms:W3CDTF">2006-09-16T00:00:00Z</dcterms:modified></cp:coreProperties>`
  
  const templateRels = `<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target="docProps/app.xml"/><Relationship Id="rId2" Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="docProps/core.xml"/><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="xl/workbook.xml"/></Relationships>`
  
  const templateTheme = `<a:theme xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" name="Office Theme"><a:themeElements><a:clrScheme name="Office"><a:dk1><a:sysClr val="windowText" lastClr="000000"/></a:dk1><a:lt1><a:sysClr val="window" lastClr="FFFFFF"/></a:lt1><a:dk2><a:srgbClr val="44546A"/></a:dk2><a:lt2><a:srgbClr val="E7E6E6"/></a:lt2><a:accent1><a:srgbClr val="5B9BD5"/></a:accent1><a:accent2><a:srgbClr val="ED7D31"/></a:accent2><a:accent3><a:srgbClr val="A5A5A5"/></a:accent3><a:accent4><a:srgbClr val="FFC000"/></a:accent4><a:accent5><a:srgbClr val="4472C4"/></a:accent5><a:accent6><a:srgbClr val="70AD47"/></a:accent6><a:hlink><a:srgbClr val="0563C1"/></a:hlink><a:folHlink><a:srgbClr val="954F72"/></a:folHlink></a:clrScheme><a:fontScheme name="Office"><a:majorFont><a:latin typeface="Calibri Light" panose="020F0302020204030204"/><a:ea typeface=""/><a:cs typeface=""/><a:font script="Jpan" typeface="游ゴシック Light"/><a:font script="Hang" typeface="맑은 고딕"/><a:font script="Hans" typeface="等线 Light"/><a:font script="Hant" typeface="新細明體"/><a:font script="Arab" typeface="Times New Roman"/><a:font script="Hebr" typeface="Times New Roman"/><a:font script="Thai" typeface="Tahoma"/><a:font script="Ethi" typeface="Nyala"/><a:font script="Beng" typeface="Vrinda"/><a:font script="Gujr" typeface="Shruti"/><a:font script="Khmr" typeface="MoolBoran"/><a:font script="Knda" typeface="Tunga"/><a:font script="Guru" typeface="Raavi"/><a:font script="Cans" typeface="Euphemia"/><a:font script="Cher" typeface="Plantagenet Cherokee"/><a:font script="Yiii" typeface="Microsoft Yi Baiti"/><a:font script="Tibt" typeface="Microsoft Himalaya"/><a:font script="Thaa" typeface="MV Boli"/><a:font script="Deva" typeface="Mangal"/><a:font script="Telu" typeface="Gautami"/><a:font script="Taml" typeface="Latha"/><a:font script="Syrc" typeface="Estrangelo Edessa"/><a:font script="Orya" typeface="Kalinga"/><a:font script="Mlym" typeface="Kartika"/><a:font script="Laoo" typeface="DokChampa"/><a:font script="Sinh" typeface="Iskoola Pota"/><a:font script="Mong" typeface="Mongolian Baiti"/><a:font script="Viet" typeface="Times New Roman"/><a:font script="Uigh" typeface="Microsoft Uighur"/><a:font script="Geor" typeface="Sylfaen"/></a:majorFont><a:minorFont><a:latin typeface="Calibri" panose="020F0502020204030204"/><a:ea typeface=""/><a:cs typeface=""/><a:font script="Jpan" typeface="游ゴシック"/><a:font script="Hang" typeface="맑은 고딕"/><a:font script="Hans" typeface="等线"/><a:font script="Hant" typeface="新細明體"/><a:font script="Arab" typeface="Arial"/><a:font script="Hebr" typeface="Arial"/><a:font script="Thai" typeface="Tahoma"/><a:font script="Ethi" typeface="Nyala"/><a:font script="Beng" typeface="Vrinda"/><a:font script="Gujr" typeface="Shruti"/><a:font script="Khmr" typeface="DaunPenh"/><a:font script="Knda" typeface="Tunga"/><a:font script="Guru" typeface="Raavi"/><a:font script="Cans" typeface="Euphemia"/><a:font script="Cher" typeface="Plantagenet Cherokee"/><a:font script="Yiii" typeface="Microsoft Yi Baiti"/><a:font script="Tibt" typeface="Microsoft Himalaya"/><a:font script="Thaa" typeface="MV Boli"/><a:font script="Deva" typeface="Mangal"/><a:font script="Telu" typeface="Gautami"/><a:font script="Taml" typeface="Latha"/><a:font script="Syrc" typeface="Estrangelo Edessa"/><a:font script="Orya" typeface="Kalinga"/><a:font script="Mlym" typeface="Kartika"/><a:font script="Laoo" typeface="DokChampa"/><a:font script="Sinh" typeface="Iskoola Pota"/><a:font script="Mong" typeface="Mongolian Baiti"/><a:font script="Viet" typeface="Arial"/><a:font script="Uigh" typeface="Microsoft Uighur"/><a:font script="Geor" typeface="Sylfaen"/></a:minorFont></a:fontScheme><a:fmtScheme name="Office"><a:fillStyleLst><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:gradFill rotWithShape="1"><a:gsLst><a:gs pos="0"><a:schemeClr val="phClr"><a:lumMod val="110000"/><a:satMod val="105000"/><a:tint val="67000"/></a:schemeClr></a:gs><a:gs pos="50000"><a:schemeClr val="phClr"><a:lumMod val="105000"/><a:satMod val="103000"/><a:tint val="73000"/></a:schemeClr></a:gs><a:gs pos="100000"><a:schemeClr val="phClr"><a:lumMod val="105000"/><a:satMod val="109000"/><a:tint val="81000"/></a:schemeClr></a:gs></a:gsLst><a:lin ang="5400000" scaled="0"/></a:gradFill><a:gradFill rotWithShape="1"><a:gsLst><a:gs pos="0"><a:schemeClr val="phClr"><a:satMod val="103000"/><a:lumMod val="102000"/><a:tint val="94000"/></a:schemeClr></a:gs><a:gs pos="50000"><a:schemeClr val="phClr"><a:satMod val="110000"/><a:lumMod val="100000"/><a:shade val="100000"/></a:schemeClr></a:gs><a:gs pos="100000"><a:schemeClr val="phClr"><a:lumMod val="99000"/><a:satMod val="120000"/><a:shade val="78000"/></a:schemeClr></a:gs></a:gsLst><a:lin ang="5400000" scaled="0"/></a:gradFill></a:fillStyleLst><a:lnStyleLst><a:ln w="6350" cap="flat" cmpd="sng" algn="ctr"><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:prstDash val="solid"/><a:miter lim="800000"/></a:ln><a:ln w="12700" cap="flat" cmpd="sng" algn="ctr"><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:prstDash val="solid"/><a:miter lim="800000"/></a:ln><a:ln w="19050" cap="flat" cmpd="sng" algn="ctr"><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:prstDash val="solid"/><a:miter lim="800000"/></a:ln></a:lnStyleLst><a:effectStyleLst><a:effectStyle><a:effectLst/></a:effectStyle><a:effectStyle><a:effectLst/></a:effectStyle><a:effectStyle><a:effectLst><a:outerShdw blurRad="57150" dist="19050" dir="5400000" algn="ctr" rotWithShape="0"><a:srgbClr val="000000"><a:alpha val="63000"/></a:srgbClr></a:outerShdw></a:effectLst></a:effectStyle></a:effectStyleLst><a:bgFillStyleLst><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:solidFill><a:schemeClr val="phClr"><a:tint val="95000"/><a:satMod val="170000"/></a:schemeClr></a:solidFill><a:gradFill rotWithShape="1"><a:gsLst><a:gs pos="0"><a:schemeClr val="phClr"><a:tint val="93000"/><a:satMod val="150000"/><a:shade val="98000"/><a:lumMod val="102000"/></a:schemeClr></a:gs><a:gs pos="50000"><a:schemeClr val="phClr"><a:tint val="98000"/><a:satMod val="130000"/><a:shade val="90000"/><a:lumMod val="103000"/></a:schemeClr></a:gs><a:gs pos="100000"><a:schemeClr val="phClr"><a:shade val="63000"/><a:satMod val="120000"/></a:schemeClr></a:gs></a:gsLst><a:lin ang="5400000" scaled="0"/></a:gradFill></a:bgFillStyleLst></a:fmtScheme></a:themeElements><a:objectDefaults/><a:extraClrSchemeLst/></a:theme>`
  
  const templateNamespaceIDMap = ` xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:ap="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties" xmlns:op="http://schemas.openxmlformats.org/officeDocument/2006/custom-properties" xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:c="http://schemas.openxmlformats.org/drawingml/2006/chart" xmlns:cdr="http://schemas.openxmlformats.org/drawingml/2006/chartDrawing" xmlns:comp="http://schemas.openxmlformats.org/drawingml/2006/compatibility" xmlns:dgm="http://schemas.openxmlformats.org/drawingml/2006/diagram" xmlns:lc="http://schemas.openxmlformats.org/drawingml/2006/lockedCanvas" xmlns:pic="http://schemas.openxmlformats.org/drawingml/2006/picture" xmlns:xdr="http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:ds="http://schemas.openxmlformats.org/officeDocument/2006/customXml" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:x="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:sl="http://schemas.openxmlformats.org/schemaLibrary/2006/main" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:xne="http://schemas.microsoft.com/office/excel/2006/main" xmlns:mso="http://schemas.microsoft.com/office/2006/01/customui" xmlns:ax="http://schemas.microsoft.com/office/2006/activeX" xmlns:cppr="http://schemas.microsoft.com/office/2006/coverPageProps" xmlns:cdip="http://schemas.microsoft.com/office/2006/customDocumentInformationPanel" xmlns:ct="http://schemas.microsoft.com/office/2006/metadata/contentType" xmlns:ntns="http://schemas.microsoft.com/office/2006/metadata/customXsn" xmlns:lp="http://schemas.microsoft.com/office/2006/metadata/longProperties" xmlns:ma="http://schemas.microsoft.com/office/2006/metadata/properties/metaAttributes" xmlns:msink="http://schemas.microsoft.com/ink/2010/main" xmlns:c14="http://schemas.microsoft.com/office/drawing/2007/8/2/chart" xmlns:cdr14="http://schemas.microsoft.com/office/drawing/2010/chartDrawing" xmlns:a14="http://schemas.microsoft.com/office/drawing/2010/main" xmlns:pic14="http://schemas.microsoft.com/office/drawing/2010/picture" xmlns:x14="http://schemas.microsoft.com/office/spreadsheetml/2009/9/main" xmlns:xdr14="http://schemas.microsoft.com/office/excel/2010/spreadsheetDrawing" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac" xmlns:dsp="http://schemas.microsoft.com/office/drawing/2008/diagram" xmlns:mso14="http://schemas.microsoft.com/office/2009/07/customui" xmlns:dgm14="http://schemas.microsoft.com/office/drawing/2010/diagram" xmlns:x15="http://schemas.microsoft.com/office/spreadsheetml/2010/11/main" xmlns:x12ac="http://schemas.microsoft.com/office/spreadsheetml/2011/1/ac" xmlns:x15ac="http://schemas.microsoft.com/office/spreadsheetml/2010/11/ac" xmlns:xr="http://schemas.microsoft.com/office/spreadsheetml/2014/revision" xmlns:xr2="http://schemas.microsoft.com/office/spreadsheetml/2015/revision2" xmlns:xr3="http://schemas.microsoft.com/office/spreadsheetml/2016/revision3" xmlns:xr4="http://schemas.microsoft.com/office/spreadsheetml/2016/revision4" xmlns:xr5="http://schemas.microsoft.com/office/spreadsheetml/2016/revision5" xmlns:xr6="http://schemas.microsoft.com/office/spreadsheetml/2016/revision6" xmlns:xr7="http://schemas.microsoft.com/office/spreadsheetml/2016/revision7" xmlns:xr8="http://schemas.microsoft.com/office/spreadsheetml/2016/revision8" xmlns:xr9="http://schemas.microsoft.com/office/spreadsheetml/2016/revision9" xmlns:xr10="http://schemas.microsoft.com/office/spreadsheetml/2016/revision10" xmlns:xr11="http://schemas.microsoft.com/office/spreadsheetml/2016/revision11" xmlns:xr12="http://schemas.microsoft.com/office/spreadsheetml/2016/revision12" xmlns:xr13="http://schemas.microsoft.com/office/spreadsheetml/2016/revision13" xmlns:xr14="http://schemas.microsoft.com/office/spreadsheetml/2016/revision14" xmlns:xr15="http://schemas.microsoft.com/office/spreadsheetml/2016/revision15" xmlns:x16="http://schemas.microsoft.com/office/spreadsheetml/2014/11/main" xmlns:x16r2="http://schemas.microsoft.com/office/spreadsheetml/2015/02/main" mc:Ignorable="c14 cdr14 a14 pic14 x14 xdr14 x14ac dsp mso14 dgm14 x15 x12ac x15ac xr xr2 xr3 xr4 xr5 xr6 xr7 xr8 xr9 xr10 xr11 xr12 xr13 xr14 xr15 x15 x16 x16r2 mo mx mv o v" xmlns:mo="http://schemas.microsoft.com/office/mac/office/2008/main" xmlns:mx="http://schemas.microsoft.com/office/mac/excel/2008/main" xmlns:mv="urn:schemas-microsoft-com:mac:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:v="urn:schemas-microsoft-com:vml" xr:uid="{00000000-0001-0000-0000-000000000000}">`
  