Author: kiwiwings
Date: Wed Oct 29 00:07:34 2014
New Revision: 1635010

URL: http://svn.apache.org/r1635010
Log:
Bug 55164 - Support for adding slide notes

Added:
    
poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFNotes.java
    poi/trunk/src/resources/ooxml/org/apache/poi/xslf/usermodel/notesMaster.xml
Modified:
    poi/site/src/documentation/content/xdocs/status.xml
    poi/trunk/src/ooxml/java/org/apache/poi/POIXMLRelation.java
    poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XMLSlideShow.java
    poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFNotes.java
    poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFNotesMaster.java
    
poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextParagraph.java
    poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTheme.java

Modified: poi/site/src/documentation/content/xdocs/status.xml
URL: 
http://svn.apache.org/viewvc/poi/site/src/documentation/content/xdocs/status.xml?rev=1635010&r1=1635009&r2=1635010&view=diff
==============================================================================
--- poi/site/src/documentation/content/xdocs/status.xml (original)
+++ poi/site/src/documentation/content/xdocs/status.xml Wed Oct 29 00:07:34 2014
@@ -38,6 +38,7 @@
     </devs>
 
     <release version="3.11-beta3" date="2014-??-??">
+        <action dev="PD" type="add" fixes-bug="55164">Support for adding slide 
notes</action>
         <action dev="PD" type="fix" fixes-bug="57143">Javadocs and throws 
clause for WorkbookUtil</action>
         <action dev="PD" type="add" fixes-bug="54542">Add support for cropped 
images in XSLFPictureShape.drawContent()</action>
         <action dev="PD" type="add">added ooxml-security-1.0 to the maven 
artifacts</action>

Modified: poi/trunk/src/ooxml/java/org/apache/poi/POIXMLRelation.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/POIXMLRelation.java?rev=1635010&r1=1635009&r2=1635010&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/POIXMLRelation.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/POIXMLRelation.java Wed Oct 29 
00:07:34 2014
@@ -110,9 +110,18 @@ public abstract class POIXMLRelation {
         }
         return _defaultName.replace("#", Integer.toString(index));
     }
-
+    
     /**
-     * Return type of the obejct used to construct instances of this 
relationship
+     * 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 object used to construct instances of this 
relationship
      *
      * @return the class of the object used to construct instances of this 
relation
      */

Modified: 
poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XMLSlideShow.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XMLSlideShow.java?rev=1635010&r1=1635009&r2=1635010&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XMLSlideShow.java 
(original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XMLSlideShow.java 
Wed Oct 29 00:07:34 2014
@@ -49,6 +49,8 @@ import org.apache.xmlbeans.XmlObject;
 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;
@@ -130,7 +132,7 @@ public class XMLSlideShow  extends POIXM
                 } 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;
@@ -155,7 +157,6 @@ public class XMLSlideShow  extends POIXM
         }
     }
 
-
     @Override
     protected void commit() throws IOException {
         XmlOptions xmlOptions = new XmlOptions(DEFAULT_XML_OPTIONS);
@@ -231,7 +232,7 @@ public class XMLSlideShow  extends POIXM
         _slides.add(slide);
         return slide;
     }
-
+    
     /**
      * Create a blank slide.
      */
@@ -244,8 +245,97 @@ public class XMLSlideShow  extends POIXM
 
         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)  
      */

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFNotes.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFNotes.java?rev=1635010&r1=1635009&r2=1635010&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFNotes.java 
(original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFNotes.java Wed 
Oct 29 00:07:34 2014
@@ -16,6 +16,8 @@
 ==================================================================== */
 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;
@@ -25,8 +27,6 @@ import org.openxmlformats.schemas.presen
 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;
@@ -57,12 +57,10 @@ public final class XSLFNotes extends XSL
         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;
     }
@@ -78,6 +76,11 @@ public final class XSLFNotes extends XSL
     }
 
     @Override
+    public XSLFTheme getTheme(){
+       return getMasterSheet().getTheme();
+    }
+
+    @Override
     public XSLFNotesMaster getMasterSheet() {
         for (POIXMLDocumentPart p : getRelations()) {
            if (p instanceof XSLFNotesMaster){

Modified: 
poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFNotesMaster.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFNotesMaster.java?rev=1635010&r1=1635009&r2=1635010&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFNotesMaster.java 
(original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFNotesMaster.java 
Wed Oct 29 00:07:34 2014
@@ -16,15 +16,19 @@
 ==================================================================== */
 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>
@@ -44,10 +48,11 @@ import java.io.IOException;
 @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 {
@@ -58,6 +63,21 @@ import java.io.IOException;
         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;
@@ -72,5 +92,21 @@ import java.io.IOException;
     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

Modified: 
poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextParagraph.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextParagraph.java?rev=1635010&r1=1635009&r2=1635010&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextParagraph.java 
(original)
+++ 
poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextParagraph.java 
Wed Oct 29 00:07:34 2014
@@ -999,14 +999,23 @@ public class XSLFTextParagraph implement
                 "declare namespace 
p='http://schemas.openxmlformats.org/presentationml/2006/main' " +
                 "declare namespace 
a='http://schemas.openxmlformats.org/drawingml/2006/main' " +
                 ".//p:txStyles/p:" + defaultStyleSelector +"/a:lvl" 
+(level+1)+ "pPr");
-        if(o.length == 1){
+        if (o.length == 1){
             return (CTTextParagraphProperties)o[0];
+        } else {
+                o = masterSheet.getXmlObject().selectPath(
+                "declare namespace 
p='http://schemas.openxmlformats.org/presentationml/2006/main' " +
+                "declare namespace 
a='http://schemas.openxmlformats.org/drawingml/2006/main' " +
+                ".//p:notesStyle/a:lvl" +(level+1)+ "pPr");
+                
+            if (o.length == 1){
+                return (CTTextParagraphProperties)o[0];
+            }
+            
+            throw new IllegalArgumentException("Failed to fetch default style 
for " +
+                    defaultStyleSelector + " and level=" + level);
         }
-        throw new IllegalArgumentException("Failed to fetch default style for 
" +
-                defaultStyleSelector + " and level=" + level);
     }
 
-
     private boolean fetchParagraphProperty(ParagraphPropertyFetcher visitor){
         boolean ok = false;
 

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTheme.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTheme.java?rev=1635010&r1=1635009&r2=1635010&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTheme.java 
(original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTheme.java Wed 
Oct 29 00:07:34 2014
@@ -16,6 +16,13 @@
 ==================================================================== */
 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;
@@ -32,12 +39,6 @@ import org.openxmlformats.schemas.drawin
 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
  *
@@ -52,7 +53,7 @@ public class XSLFTheme extends POIXMLDoc
         super();
         _theme = CTOfficeStyleSheet.Factory.newInstance();
     }
-
+    
     public XSLFTheme(PackagePart part, PackageRelationship rel) throws 
IOException, XmlException {
         super(part, rel);
         ThemeDocument doc =
@@ -60,6 +61,11 @@ public class XSLFTheme extends POIXMLDoc
         _theme = doc.getTheme();
         initialize();
     }
+    
+    public void importTheme(XSLFTheme theme) {
+        _theme = theme.getXmlObject();
+        _schemeColors = theme._schemeColors;
+    }
 
     private void initialize(){
        CTBaseStyles elems = _theme.getThemeElements();
@@ -111,7 +117,7 @@ public class XSLFTheme extends POIXMLDoc
        return _schemeColors.get(name);
     }
     
-     /**
+    /**
      * While developing only!
      */
     @Internal

Added: 
poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFNotes.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFNotes.java?rev=1635010&view=auto
==============================================================================
--- 
poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFNotes.java 
(added)
+++ 
poi/trunk/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFNotes.java 
Wed Oct 29 00:07:34 2014
@@ -0,0 +1,97 @@
+/* ====================================================================
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+==================================================================== */
+package org.apache.poi.xslf.usermodel;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+
+import org.apache.poi.xslf.XSLFTestDataSamples;
+import org.junit.Test;
+
+public class TestXSLFNotes {
+
+    @Test
+    public void createNewNote() {
+
+        XMLSlideShow ppt = new XMLSlideShow();
+        XSLFSlide slide1 = ppt.createSlide();
+
+        assertNull(ppt.getNotesMaster());
+        assertNull(slide1.getNotes());
+
+        XSLFNotes notesSlide = ppt.getNotesSlide(slide1);
+        assertNotNull(ppt.getNotesMaster());
+        assertNotNull(notesSlide);
+
+        String note = null;
+        for (XSLFTextShape shape : notesSlide.getPlaceholders()) {
+            if (shape.getTextType() == Placeholder.BODY) {
+                shape.setText("New Note");
+                note = shape.getText();
+                break;
+            }
+        }
+        assertNotNull(note);
+        assertEquals("New Note", note);
+    }
+
+    @Test
+    public void addNote() {
+
+        XMLSlideShow ppt = 
XSLFTestDataSamples.openSampleDocument("sample.pptx");
+
+        XSLFSlide slide = ppt.createSlide();
+        XSLFNotes notesSlide = ppt.getNotesSlide(slide);
+        assertNotNull(notesSlide);
+
+        String note = null;
+        for (XSLFTextShape shape : notesSlide.getPlaceholders()) {
+            if (shape.getTextType() == Placeholder.BODY) {
+                shape.setText("New Note");
+                note = shape.getText();
+                break;
+            }
+        }
+        assertNotNull(note);
+        assertEquals("New Note", note);
+    }
+
+    @Test
+    public void replaceNotes() {
+
+        XMLSlideShow ppt = 
XSLFTestDataSamples.openSampleDocument("sample.pptx");
+
+        for (XSLFSlide slide : ppt.getSlides()) {
+            assertNotNull(slide.getNotes());
+
+            XSLFNotes notesSlide = ppt.getNotesSlide(slide);
+            assertNotNull(notesSlide);
+
+            String note = null;
+            for (XSLFTextShape shape : notesSlide.getPlaceholders()) {
+                if (shape.getTextType() == Placeholder.BODY) {
+                    shape.setText("New Note");
+                    note = shape.getText();
+                    break;
+                }
+            }
+            assertNotNull(note);
+            assertEquals("New Note", note);
+        }
+    }
+}

Added: 
poi/trunk/src/resources/ooxml/org/apache/poi/xslf/usermodel/notesMaster.xml
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/resources/ooxml/org/apache/poi/xslf/usermodel/notesMaster.xml?rev=1635010&view=auto
==============================================================================
--- poi/trunk/src/resources/ooxml/org/apache/poi/xslf/usermodel/notesMaster.xml 
(added)
+++ poi/trunk/src/resources/ooxml/org/apache/poi/xslf/usermodel/notesMaster.xml 
Wed Oct 29 00:07:34 2014
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<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:e
 ndParaRPr 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:xf
 rm><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 lan
 g="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="quart
 er" 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" def
 TabSz="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="tx
 1"/></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



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to