}
return _defaultName.replace("#", Integer.toString(index));
}
-
+
+ /**
+ * Returns the index of the filename within the package for the given part.
+ * e.g. 4 for /xl/comments4.xml
+ */
+ public Integer getFileNameIndex(POIXMLDocumentPart part) {
+ String regex = _defaultName.replace("#", "(\\d+)");
+ return Integer.parseInt(part.getPackageRelationship().getTargetURI().getPath().replaceAll(regex, "$1"));
+ }
+
/**
- * Return type of the obejct used to construct instances of this relationship
+ * Return type of the object used to construct instances of this relationship
*
* @return the class of the object used to construct instances of this relation
*/
import org.apache.xmlbeans.XmlOptions;
import org.openxmlformats.schemas.drawingml.x2006.main.CTTextParagraphProperties;
import org.openxmlformats.schemas.officeDocument.x2006.relationships.STRelationshipId;
+import org.openxmlformats.schemas.presentationml.x2006.main.CTNotesMasterIdList;
+import org.openxmlformats.schemas.presentationml.x2006.main.CTNotesMasterIdListEntry;
import org.openxmlformats.schemas.presentationml.x2006.main.CTPresentation;
import org.openxmlformats.schemas.presentationml.x2006.main.CTSlideIdList;
import org.openxmlformats.schemas.presentationml.x2006.main.CTSlideIdListEntry;
} else if (p instanceof XSLFSlideMaster) {
XSLFSlideMaster master = (XSLFSlideMaster)p;
_masters.put(p.getPackageRelationship().getId(), master);
- }else if (p instanceof XSLFTableStyles){
+ } else if (p instanceof XSLFTableStyles){
_tableStyles = (XSLFTableStyles)p;
} else if (p instanceof XSLFNotesMaster) {
_notesMaster = (XSLFNotesMaster)p;
}
}
-
@Override
protected void commit() throws IOException {
XmlOptions xmlOptions = new XmlOptions(DEFAULT_XML_OPTIONS);
_slides.add(slide);
return slide;
}
-
+
/**
* Create a blank slide.
*/
return createSlide(layout);
}
+
+ /**
+ * Return notes slide for the specified slide or create new if it does not exist yet.
+ */
+ public XSLFNotes getNotesSlide(XSLFSlide slide) {
+
+ XSLFNotes notesSlide = slide.getNotes();
+ if (notesSlide == null) {
+ notesSlide = createNotesSlide(slide);
+ }
+
+ return notesSlide;
+ }
+
+ /**
+ * Create a blank notes slide.
+ */
+ private XSLFNotes createNotesSlide(XSLFSlide slide) {
+
+ if (_notesMaster == null) {
+ createNotesMaster();
+ }
+
+ Integer slideIndex = XSLFRelation.SLIDE.getFileNameIndex(slide);
+
+ XSLFNotes notesSlide = (XSLFNotes) createRelationship(XSLFRelation.NOTES, XSLFFactory.getInstance(), slideIndex);
+
+ notesSlide.addRelation(_notesMaster.getPackageRelationship().getId(), _notesMaster);
+ PackagePartName notesMasterPackagePartName = _notesMaster.getPackagePart().getPartName();
+ notesSlide.getPackagePart().addRelationship(notesMasterPackagePartName, TargetMode.INTERNAL,
+ _notesMaster.getPackageRelationship().getRelationshipType());
+
+ slide.addRelation(notesSlide.getPackageRelationship().getId(), notesSlide);
+ PackagePartName notesSlidesPackagePartName = notesSlide.getPackagePart().getPartName();
+ slide.getPackagePart().addRelationship(notesSlidesPackagePartName, TargetMode.INTERNAL,
+ notesSlide.getPackageRelationship().getRelationshipType());
+
+ notesSlide.addRelation(slide.getPackageRelationship().getId(), slide);
+ PackagePartName slidesPackagePartName = slide.getPackagePart().getPartName();
+ notesSlide.getPackagePart().addRelationship(slidesPackagePartName, TargetMode.INTERNAL,
+ slide.getPackageRelationship().getRelationshipType());
+
+ notesSlide.importContent(_notesMaster);
+
+ return notesSlide;
+ }
+ /**
+ * Create a notes master.
+ */
+ public void createNotesMaster() {
+
+ _notesMaster = (XSLFNotesMaster) createRelationship(XSLFRelation.NOTES_MASTER,
+ XSLFFactory.getInstance(), 1);
+
+ CTNotesMasterIdList notesMasterIdList = _presentation.addNewNotesMasterIdLst();
+ CTNotesMasterIdListEntry notesMasterId = notesMasterIdList.addNewNotesMasterId();
+ notesMasterId.setId(_notesMaster.getPackageRelationship().getId());
+
+ Integer themeIndex = 1;
+ List<Integer> themeIndexList = new ArrayList<Integer>();
+ for (POIXMLDocumentPart p : getRelations()) {
+ if (p instanceof XSLFTheme) {
+ themeIndexList.add(XSLFRelation.THEME.getFileNameIndex(p));
+ }
+ }
+
+ if (!themeIndexList.isEmpty()) {
+ Boolean found = false;
+ for (Integer i = 1; i <= themeIndexList.size(); i++) {
+ if (!themeIndexList.contains(i)) {
+ found = true;
+ themeIndex = i;
+ }
+ }
+ if (!found) {
+ themeIndex = themeIndexList.size() + 1;
+ }
+ }
+
+ XSLFTheme theme = (XSLFTheme) createRelationship(XSLFRelation.THEME,
+ XSLFFactory.getInstance(), themeIndex);
+ theme.importTheme(getSlides()[0].getTheme());
+
+ _notesMaster.addRelation(theme.getPackageRelationship().getId(), theme);
+ PackagePartName themePackagePartName = theme.getPackagePart().getPartName();
+ _notesMaster.getPackagePart().addRelationship(themePackagePartName, TargetMode.INTERNAL,
+ theme.getPackageRelationship().getRelationshipType());
+ }
+
/**
* Return the Notes Master, if there is one.
* (May not be present if no notes exist)
==================================================================== */
package org.apache.poi.xslf.usermodel;
+import java.io.IOException;
+
import org.apache.poi.POIXMLDocumentPart;
import org.apache.poi.openxml4j.opc.PackagePart;
import org.apache.poi.openxml4j.opc.PackageRelationship;
import org.openxmlformats.schemas.presentationml.x2006.main.CTNotesSlide;
import org.openxmlformats.schemas.presentationml.x2006.main.NotesDocument;
-import java.io.IOException;
-
@Beta
public final class XSLFNotes extends XSLFSheet {
private CTNotesSlide _notes;
setCommonSlideData(_notes.getCSld());
}
-
private static CTNotesSlide prototype(){
CTNotesSlide ctNotes = CTNotesSlide.Factory.newInstance();
CTCommonSlideData cSld = ctNotes.addNewCSld();
-
- // TODO What else is needed for a mininum notes?
+ cSld.addNewSpTree();
return ctNotes;
}
return "notes";
}
+ @Override
+ public XSLFTheme getTheme(){
+ return getMasterSheet().getTheme();
+ }
+
@Override
public XSLFNotesMaster getMasterSheet() {
for (POIXMLDocumentPart p : getRelations()) {
==================================================================== */
package org.apache.poi.xslf.usermodel;
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.apache.poi.POIXMLDocumentPart;
+import org.apache.poi.POIXMLException;
import org.apache.poi.openxml4j.opc.PackagePart;
import org.apache.poi.openxml4j.opc.PackageRelationship;
import org.apache.poi.util.Beta;
import org.apache.xmlbeans.XmlException;
+import org.openxmlformats.schemas.drawingml.x2006.main.CTColorMapping;
import org.openxmlformats.schemas.presentationml.x2006.main.CTNotesMaster;
import org.openxmlformats.schemas.presentationml.x2006.main.NotesMasterDocument;
-import java.io.IOException;
-
/**
* Notes master object associated with this layout.
* <p>
@Beta
public class XSLFNotesMaster extends XSLFSheet {
private CTNotesMaster _slide;
+ private XSLFTheme _theme;
XSLFNotesMaster() {
super();
- _slide = CTNotesMaster.Factory.newInstance();
+ _slide = prototype();
}
protected XSLFNotesMaster(PackagePart part, PackageRelationship rel) throws IOException, XmlException {
setCommonSlideData(_slide.getCSld());
}
+ private static CTNotesMaster prototype() {
+ InputStream is = XSLFNotesMaster.class.getResourceAsStream("notesMaster.xml");
+ if (is == null) {
+ throw new POIXMLException("Missing resource 'notesMaster.xml'");
+ }
+
+ try {
+ NotesMasterDocument doc = NotesMasterDocument.Factory.parse(is);
+ CTNotesMaster slide = doc.getNotesMaster();
+ return slide;
+ } catch (Exception e) {
+ throw new POIXMLException("Can't initialize NotesMaster", e);
+ }
+ }
+
@Override
public CTNotesMaster getXmlObject() {
return _slide;
public XSLFSheet getMasterSheet() {
return null;
}
-
+
+ @Override
+ public XSLFTheme getTheme() {
+ if (_theme == null) {
+ for (POIXMLDocumentPart p : getRelations()) {
+ if (p instanceof XSLFTheme) {
+ _theme = (XSLFTheme) p;
+ CTColorMapping cmap = _slide.getClrMap();
+ if (cmap != null) {
+ _theme.initColorMap(cmap);
+ }
+ break;
+ }
+ }
+ }
+ return _theme;
+ }
}
\ No newline at end of file
"declare namespace p='http://schemas.openxmlformats.org/presentationml/2006/main' " +\r
"declare namespace a='http://schemas.openxmlformats.org/drawingml/2006/main' " +\r
".//p:txStyles/p:" + defaultStyleSelector +"/a:lvl" +(level+1)+ "pPr");\r
- if(o.length == 1){\r
+ if (o.length == 1){\r
return (CTTextParagraphProperties)o[0];\r
+ } else {\r
+ o = masterSheet.getXmlObject().selectPath(\r
+ "declare namespace p='http://schemas.openxmlformats.org/presentationml/2006/main' " +\r
+ "declare namespace a='http://schemas.openxmlformats.org/drawingml/2006/main' " +\r
+ ".//p:notesStyle/a:lvl" +(level+1)+ "pPr");\r
+ \r
+ if (o.length == 1){\r
+ return (CTTextParagraphProperties)o[0];\r
+ }\r
+ \r
+ throw new IllegalArgumentException("Failed to fetch default style for " +\r
+ defaultStyleSelector + " and level=" + level);\r
}\r
- throw new IllegalArgumentException("Failed to fetch default style for " +\r
- defaultStyleSelector + " and level=" + level);\r
}\r
\r
-\r
private boolean fetchParagraphProperty(ParagraphPropertyFetcher visitor){\r
boolean ok = false;\r
\r
==================================================================== */
package org.apache.poi.xslf.usermodel;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.xml.namespace.QName;
+
import org.apache.poi.POIXMLDocumentPart;
import org.apache.poi.openxml4j.opc.PackagePart;
import org.apache.poi.openxml4j.opc.PackageRelationship;
import org.openxmlformats.schemas.drawingml.x2006.main.CTTextParagraphProperties;
import org.openxmlformats.schemas.drawingml.x2006.main.ThemeDocument;
-import javax.xml.namespace.QName;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.util.HashMap;
-import java.util.Map;
-
/**
* A shared style sheet in a .pptx slide show
*
super();
_theme = CTOfficeStyleSheet.Factory.newInstance();
}
-
+
public XSLFTheme(PackagePart part, PackageRelationship rel) throws IOException, XmlException {
super(part, rel);
ThemeDocument doc =
_theme = doc.getTheme();
initialize();
}
+
+ public void importTheme(XSLFTheme theme) {
+ _theme = theme.getXmlObject();
+ _schemeColors = theme._schemeColors;
+ }
private void initialize(){
CTBaseStyles elems = _theme.getThemeElements();
return _schemeColors.get(name);
}
- /**
+ /**
* While developing only!
*/
@Internal
--- /dev/null
+/* ====================================================================\r
+ Licensed to the Apache Software Foundation (ASF) under one or more\r
+ contributor license agreements. See the NOTICE file distributed with\r
+ this work for additional information regarding copyright ownership.\r
+ The ASF licenses this file to You under the Apache License, Version 2.0\r
+ (the "License"); you may not use this file except in compliance with\r
+ the License. You may obtain a copy of the License at\r
+\r
+ http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+ Unless required by applicable law or agreed to in writing, software\r
+ distributed under the License is distributed on an "AS IS" BASIS,\r
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ See the License for the specific language governing permissions and\r
+ limitations under the License.\r
+==================================================================== */\r
+package org.apache.poi.xslf.usermodel;\r
+\r
+import static org.junit.Assert.assertEquals;\r
+import static org.junit.Assert.assertNotNull;\r
+import static org.junit.Assert.assertNull;\r
+\r
+import org.apache.poi.xslf.XSLFTestDataSamples;\r
+import org.junit.Test;\r
+\r
+public class TestXSLFNotes {\r
+\r
+ @Test\r
+ public void createNewNote() {\r
+\r
+ XMLSlideShow ppt = new XMLSlideShow();\r
+ XSLFSlide slide1 = ppt.createSlide();\r
+\r
+ assertNull(ppt.getNotesMaster());\r
+ assertNull(slide1.getNotes());\r
+\r
+ XSLFNotes notesSlide = ppt.getNotesSlide(slide1);\r
+ assertNotNull(ppt.getNotesMaster());\r
+ assertNotNull(notesSlide);\r
+\r
+ String note = null;\r
+ for (XSLFTextShape shape : notesSlide.getPlaceholders()) {\r
+ if (shape.getTextType() == Placeholder.BODY) {\r
+ shape.setText("New Note");\r
+ note = shape.getText();\r
+ break;\r
+ }\r
+ }\r
+ assertNotNull(note);\r
+ assertEquals("New Note", note);\r
+ }\r
+\r
+ @Test\r
+ public void addNote() {\r
+\r
+ XMLSlideShow ppt = XSLFTestDataSamples.openSampleDocument("sample.pptx");\r
+\r
+ XSLFSlide slide = ppt.createSlide();\r
+ XSLFNotes notesSlide = ppt.getNotesSlide(slide);\r
+ assertNotNull(notesSlide);\r
+\r
+ String note = null;\r
+ for (XSLFTextShape shape : notesSlide.getPlaceholders()) {\r
+ if (shape.getTextType() == Placeholder.BODY) {\r
+ shape.setText("New Note");\r
+ note = shape.getText();\r
+ break;\r
+ }\r
+ }\r
+ assertNotNull(note);\r
+ assertEquals("New Note", note);\r
+ }\r
+\r
+ @Test\r
+ public void replaceNotes() {\r
+\r
+ XMLSlideShow ppt = XSLFTestDataSamples.openSampleDocument("sample.pptx");\r
+\r
+ for (XSLFSlide slide : ppt.getSlides()) {\r
+ assertNotNull(slide.getNotes());\r
+\r
+ XSLFNotes notesSlide = ppt.getNotesSlide(slide);\r
+ assertNotNull(notesSlide);\r
+\r
+ String note = null;\r
+ for (XSLFTextShape shape : notesSlide.getPlaceholders()) {\r
+ if (shape.getTextType() == Placeholder.BODY) {\r
+ shape.setText("New Note");\r
+ note = shape.getText();\r
+ break;\r
+ }\r
+ }\r
+ assertNotNull(note);\r
+ assertEquals("New Note", note);\r
+ }\r
+ }\r
+}\r
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\r
+<p:notesMaster xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main"><p:cSld><p:bg><p:bgRef idx="1001"><a:schemeClr val="bg1"/></p:bgRef></p:bg><p:spTree><p:nvGrpSpPr><p:cNvPr id="1" name=""/><p:cNvGrpSpPr/><p:nvPr/></p:nvGrpSpPr><p:grpSpPr><a:xfrm><a:off x="0" y="0"/><a:ext cx="0" cy="0"/><a:chOff x="0" y="0"/><a:chExt cx="0" cy="0"/></a:xfrm></p:grpSpPr><p:sp><p:nvSpPr><p:cNvPr id="2" name="Header Placeholder 1"/><p:cNvSpPr><a:spLocks noGrp="1"/></p:cNvSpPr><p:nvPr><p:ph type="hdr" sz="quarter"/></p:nvPr></p:nvSpPr><p:spPr><a:xfrm><a:off x="0" y="0"/><a:ext cx="3962400" cy="342900"/></a:xfrm><a:prstGeom prst="rect"><a:avLst/></a:prstGeom></p:spPr><p:txBody><a:bodyPr vert="horz" lIns="91440" tIns="45720" rIns="91440" bIns="45720" rtlCol="0"/><a:lstStyle><a:lvl1pPr algn="l"><a:defRPr sz="1200"/></a:lvl1pPr></a:lstStyle><a:p><a:endParaRPr lang="cs-CZ"/></a:p></p:txBody></p:sp><p:sp><p:nvSpPr><p:cNvPr id="3" name="Date Placeholder 2"/><p:cNvSpPr><a:spLocks noGrp="1"/></p:cNvSpPr><p:nvPr><p:ph type="dt" idx="1"/></p:nvPr></p:nvSpPr><p:spPr><a:xfrm><a:off x="5180013" y="0"/><a:ext cx="3962400" cy="342900"/></a:xfrm><a:prstGeom prst="rect"><a:avLst/></a:prstGeom></p:spPr><p:txBody><a:bodyPr vert="horz" lIns="91440" tIns="45720" rIns="91440" bIns="45720" rtlCol="0"/><a:lstStyle><a:lvl1pPr algn="r"><a:defRPr sz="1200"/></a:lvl1pPr></a:lstStyle><a:p><a:fld id="{B7268E1E-0E44-426D-905E-8AD9B19D2182}" type="datetimeFigureOut"><a:rPr lang="cs-CZ" smtClean="0"/><a:t>1.7.2013</a:t></a:fld><a:endParaRPr lang="cs-CZ"/></a:p></p:txBody></p:sp><p:sp><p:nvSpPr><p:cNvPr id="4" name="Slide Image Placeholder 3"/><p:cNvSpPr><a:spLocks noGrp="1" noRot="1" noChangeAspect="1"/></p:cNvSpPr><p:nvPr><p:ph type="sldImg" idx="2"/></p:nvPr></p:nvSpPr><p:spPr><a:xfrm><a:off x="2857500" y="512763"/><a:ext cx="3429000" cy="2566987"/></a:xfrm><a:prstGeom prst="rect"><a:avLst/></a:prstGeom><a:noFill/><a:ln w="12700"><a:solidFill><a:prstClr val="black"/></a:solidFill></a:ln></p:spPr><p:txBody><a:bodyPr vert="horz" lIns="91440" tIns="45720" rIns="91440" bIns="45720" rtlCol="0" anchor="ctr"/><a:lstStyle/><a:p><a:endParaRPr lang="cs-CZ"/></a:p></p:txBody></p:sp><p:sp><p:nvSpPr><p:cNvPr id="5" name="Notes Placeholder 4"/><p:cNvSpPr><a:spLocks noGrp="1"/></p:cNvSpPr><p:nvPr><p:ph type="body" sz="quarter" idx="3"/></p:nvPr></p:nvSpPr><p:spPr><a:xfrm><a:off x="914400" y="3251200"/><a:ext cx="7315200" cy="3081338"/></a:xfrm><a:prstGeom prst="rect"><a:avLst/></a:prstGeom></p:spPr><p:txBody><a:bodyPr vert="horz" lIns="91440" tIns="45720" rIns="91440" bIns="45720" rtlCol="0"/><a:lstStyle/><a:p><a:pPr lvl="0"/><a:r><a:rPr lang="en-US" smtClean="0"/><a:t>Click to edit Master text styles</a:t></a:r></a:p><a:p><a:pPr lvl="1"/><a:r><a:rPr lang="en-US" smtClean="0"/><a:t>Second level</a:t></a:r></a:p><a:p><a:pPr lvl="2"/><a:r><a:rPr lang="en-US" smtClean="0"/><a:t>Third level</a:t></a:r></a:p><a:p><a:pPr lvl="3"/><a:r><a:rPr lang="en-US" smtClean="0"/><a:t>Fourth level</a:t></a:r></a:p><a:p><a:pPr lvl="4"/><a:r><a:rPr lang="en-US" smtClean="0"/><a:t>Fifth level</a:t></a:r><a:endParaRPr lang="cs-CZ"/></a:p></p:txBody></p:sp><p:sp><p:nvSpPr><p:cNvPr id="6" name="Footer Placeholder 5"/><p:cNvSpPr><a:spLocks noGrp="1"/></p:cNvSpPr><p:nvPr><p:ph type="ftr" sz="quarter" idx="4"/></p:nvPr></p:nvSpPr><p:spPr><a:xfrm><a:off x="0" y="6502400"/><a:ext cx="3962400" cy="341313"/></a:xfrm><a:prstGeom prst="rect"><a:avLst/></a:prstGeom></p:spPr><p:txBody><a:bodyPr vert="horz" lIns="91440" tIns="45720" rIns="91440" bIns="45720" rtlCol="0" anchor="b"/><a:lstStyle><a:lvl1pPr algn="l"><a:defRPr sz="1200"/></a:lvl1pPr></a:lstStyle><a:p><a:endParaRPr lang="cs-CZ"/></a:p></p:txBody></p:sp><p:sp><p:nvSpPr><p:cNvPr id="7" name="Slide Number Placeholder 6"/><p:cNvSpPr><a:spLocks noGrp="1"/></p:cNvSpPr><p:nvPr><p:ph type="sldNum" sz="quarter" idx="5"/></p:nvPr></p:nvSpPr><p:spPr><a:xfrm><a:off x="5180013" y="6502400"/><a:ext cx="3962400" cy="341313"/></a:xfrm><a:prstGeom prst="rect"><a:avLst/></a:prstGeom></p:spPr><p:txBody><a:bodyPr vert="horz" lIns="91440" tIns="45720" rIns="91440" bIns="45720" rtlCol="0" anchor="b"/><a:lstStyle><a:lvl1pPr algn="r"><a:defRPr sz="1200"/></a:lvl1pPr></a:lstStyle><a:p><a:fld id="{871B2431-D351-4C6E-A3CF-9DFAC0E3E050}" type="slidenum"><a:rPr lang="cs-CZ" smtClean="0"/><a:t>‹#›</a:t></a:fld><a:endParaRPr lang="cs-CZ"/></a:p></p:txBody></p:sp></p:spTree><p:extLst><p:ext uri="{BB962C8B-B14F-4D97-AF65-F5344CB8AC3E}"><p14:creationId xmlns:p14="http://schemas.microsoft.com/office/powerpoint/2010/main" val="1798889115"/></p:ext></p:extLst></p:cSld><p:clrMap bg1="lt1" tx1="dk1" bg2="lt2" tx2="dk2" accent1="accent1" accent2="accent2" accent3="accent3" accent4="accent4" accent5="accent5" accent6="accent6" hlink="hlink" folHlink="folHlink"/><p:notesStyle><a:lvl1pPr marL="0" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1200" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl1pPr><a:lvl2pPr marL="457200" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1200" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl2pPr><a:lvl3pPr marL="914400" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1200" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl3pPr><a:lvl4pPr marL="1371600" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1200" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl4pPr><a:lvl5pPr marL="1828800" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1200" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl5pPr><a:lvl6pPr marL="2286000" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1200" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl6pPr><a:lvl7pPr marL="2743200" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1200" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl7pPr><a:lvl8pPr marL="3200400" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1200" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl8pPr><a:lvl9pPr marL="3657600" algn="l" defTabSz="914400" rtl="0" eaLnBrk="1" latinLnBrk="0" hangingPunct="1"><a:defRPr sz="1200" kern="1200"><a:solidFill><a:schemeClr val="tx1"/></a:solidFill><a:latin typeface="+mn-lt"/><a:ea typeface="+mn-ea"/><a:cs typeface="+mn-cs"/></a:defRPr></a:lvl9pPr></p:notesStyle></p:notesMaster>
\ No newline at end of file