public final class ApacheconEU08 {
public static void main(String[] args) throws IOException {
- SlideShow ppt = new SlideShow();
+ HSLFSlideShow ppt = new HSLFSlideShow();
ppt.setPageSize(new Dimension(720, 540));
slide1(ppt);
}
- public static void slide1(SlideShow ppt) throws IOException {
- Slide slide = ppt.createSlide();
+ public static void slide1(HSLFSlideShow ppt) throws IOException {
+ HSLFSlide slide = ppt.createSlide();
- TextBox box1 = new TextBox();
- TextRun tr1 = box1.getTextRun();
+ HSLFTextBox box1 = new HSLFTextBox();
+ HSLFTextParagraph tr1 = box1.getTextParagraph();
tr1.setRunType(TextHeaderAtom.CENTER_TITLE_TYPE);
tr1.setText("POI-HSLF");
box1.setAnchor(new Rectangle(54, 78, 612, 115));
slide.addShape(box1);
- TextBox box2 = new TextBox();
- TextRun tr2 = box2.getTextRun();
+ HSLFTextBox box2 = new HSLFTextBox();
+ HSLFTextParagraph tr2 = box2.getTextParagraph();
tr2.setRunType(TextHeaderAtom.CENTRE_BODY_TYPE);
tr2.setText("Java API To Access Microsoft PowerPoint Format Files");
box2.setAnchor(new Rectangle(108, 204, 504, 138));
slide.addShape(box2);
- TextBox box3 = new TextBox();
- TextRun tr3 = box3.getTextRun();
+ HSLFTextBox box3 = new HSLFTextBox();
+ HSLFTextParagraph tr3 = box3.getTextParagraph();
tr3.getRichTextRuns()[0].setFontSize(32);
- box3.setHorizontalAlignment(TextBox.AlignCenter);
+ box3.setHorizontalAlignment(HSLFTextBox.AlignCenter);
tr3.setText(
"Yegor Kozlov\r" +
"yegor - apache - org");
slide.addShape(box3);
}
- public static void slide2(SlideShow ppt) throws IOException {
- Slide slide = ppt.createSlide();
+ public static void slide2(HSLFSlideShow ppt) throws IOException {
+ HSLFSlide slide = ppt.createSlide();
- TextBox box1 = new TextBox();
- TextRun tr1 = box1.getTextRun();
+ HSLFTextBox box1 = new HSLFTextBox();
+ HSLFTextParagraph tr1 = box1.getTextParagraph();
tr1.setRunType(TextHeaderAtom.TITLE_TYPE);
tr1.setText("What is HSLF?");
box1.setAnchor(new Rectangle(36, 21, 648, 90));
slide.addShape(box1);
- TextBox box2 = new TextBox();
- TextRun tr2 = box2.getTextRun();
+ HSLFTextBox box2 = new HSLFTextBox();
+ HSLFTextParagraph tr2 = box2.getTextParagraph();
tr2.setRunType(TextHeaderAtom.BODY_TYPE);
tr2.setText("HorribleSLideshowFormat is the POI Project's pure Java implementation " +
"of the Powerpoint binary file format. \r" +
}
- public static void slide3(SlideShow ppt) throws IOException {
- Slide slide = ppt.createSlide();
+ public static void slide3(HSLFSlideShow ppt) throws IOException {
+ HSLFSlide slide = ppt.createSlide();
- TextBox box1 = new TextBox();
- TextRun tr1 = box1.getTextRun();
+ HSLFTextBox box1 = new HSLFTextBox();
+ HSLFTextParagraph tr1 = box1.getTextParagraph();
tr1.setRunType(TextHeaderAtom.TITLE_TYPE);
tr1.setText("HSLF in a Nutshell");
box1.setAnchor(new Rectangle(36, 15, 648, 65));
slide.addShape(box1);
- TextBox box2 = new TextBox();
- TextRun tr2 = box2.getTextRun();
+ HSLFTextBox box2 = new HSLFTextBox();
+ HSLFTextParagraph tr2 = box2.getTextParagraph();
tr2.setRunType(TextHeaderAtom.BODY_TYPE);
tr2.setText(
"HSLF provides a way to read, create and modify MS PowerPoint presentations\r" +
box2.setAnchor(new Rectangle(36, 80, 648, 200));
slide.addShape(box2);
- TextBox box3 = new TextBox();
- TextRun tr3 = box3.getTextRun();
+ HSLFTextBox box3 = new HSLFTextBox();
+ HSLFTextParagraph tr3 = box3.getTextParagraph();
tr3.setRunType(TextHeaderAtom.BODY_TYPE);
tr3.setText(
"Rich text\r" +
box3.setAnchor(new Rectangle(36, 265, 648, 150));
slide.addShape(box3);
- TextBox box4 = new TextBox();
- TextRun tr4 = box4.getTextRun();
+ HSLFTextBox box4 = new HSLFTextBox();
+ HSLFTextParagraph tr4 = box4.getTextParagraph();
tr4.setRunType(TextHeaderAtom.BODY_TYPE);
tr4.setText("Access to low level data structures");
box4.setAnchor(new Rectangle(36, 430, 648, 50));
slide.addShape(box4);
}
- public static void slide4(SlideShow ppt) throws IOException {
- Slide slide = ppt.createSlide();
+ public static void slide4(HSLFSlideShow ppt) throws IOException {
+ HSLFSlide slide = ppt.createSlide();
String[][] txt1 = {
{"Note"},
for (int j = 0; j < txt1[i].length; j++) {
TableCell cell = table1.getCell(i, j);
cell.setText(txt1[i][j]);
- cell.getTextRun().getRichTextRuns()[0].setFontSize(10);
- RichTextRun rt = cell.getTextRun().getRichTextRuns()[0];
+ cell.getTextParagraph().getRichTextRuns()[0].setFontSize(10);
+ HSLFTextRun rt = cell.getTextParagraph().getRichTextRuns()[0];
rt.setFontName("Arial");
rt.setBold(true);
if(i == 0){
rt.setFontSize(28);
cell.getFill().setForegroundColor(new Color(235, 239, 241));
}
- cell.setVerticalAlignment(TextBox.AnchorMiddle);
+ cell.setVerticalAlignment(HSLFTextBox.AnchorMiddle);
}
}
table1.moveTo(100, 100);
- TextBox box1 = new TextBox();
- box1.setHorizontalAlignment(TextBox.AlignCenter);
- TextRun tr1 = box1.getTextRun();
+ HSLFTextBox box1 = new HSLFTextBox();
+ box1.setHorizontalAlignment(HSLFTextBox.AlignCenter);
+ HSLFTextParagraph tr1 = box1.getTextParagraph();
tr1.setText("The source code is available at\r" +
"http://people.apache.org/~yegor/apachecon_eu08/");
- RichTextRun rt = tr1.getRichTextRuns()[0];
+ HSLFTextRun rt = tr1.getRichTextRuns()[0];
rt.setFontSize(24);
box1.setAnchor(new Rectangle(80, 356, 553, 65));
slide.addShape(box1);
}
- public static void slide5(SlideShow ppt) throws IOException {
- Slide slide = ppt.createSlide();
+ public static void slide5(HSLFSlideShow ppt) throws IOException {
+ HSLFSlide slide = ppt.createSlide();
- TextBox box1 = new TextBox();
- TextRun tr1 = box1.getTextRun();
+ HSLFTextBox box1 = new HSLFTextBox();
+ HSLFTextParagraph tr1 = box1.getTextParagraph();
tr1.setRunType(TextHeaderAtom.TITLE_TYPE);
tr1.setText("HSLF in Action - 1\rData Extraction");
box1.setAnchor(new Rectangle(36, 21, 648, 100));
slide.addShape(box1);
- TextBox box2 = new TextBox();
- TextRun tr2 = box2.getTextRun();
+ HSLFTextBox box2 = new HSLFTextBox();
+ HSLFTextParagraph tr2 = box2.getTextParagraph();
tr2.setRunType(TextHeaderAtom.BODY_TYPE);
tr2.setText(
"Text from slides and notes\r" +
}
- public static void slide6(SlideShow ppt) throws IOException {
- Slide slide = ppt.createSlide();
+ public static void slide6(HSLFSlideShow ppt) throws IOException {
+ HSLFSlide slide = ppt.createSlide();
- TextBox box1 = new TextBox();
- TextRun tr1 = box1.getTextRun();
+ HSLFTextBox box1 = new HSLFTextBox();
+ HSLFTextParagraph tr1 = box1.getTextParagraph();
tr1.setRunType(TextHeaderAtom.TITLE_TYPE);
tr1.setText("HSLF in Action - 2");
box1.setAnchor(new Rectangle(36, 20, 648, 90));
slide.addShape(box1);
- TextBox box2 = new TextBox();
- TextRun tr2 = box2.getTextRun();
+ HSLFTextBox box2 = new HSLFTextBox();
+ HSLFTextParagraph tr2 = box2.getTextParagraph();
tr2.getRichTextRuns()[0].setFontSize(18);
tr2.setText("Creating a simple presentation from scratch");
box2.setAnchor(new Rectangle(170, 100, 364, 30));
slide.addShape(box2);
- TextBox box3 = new TextBox();
- TextRun tr3 = box3.getTextRun();
- RichTextRun rt3 = tr3.getRichTextRuns()[0];
+ HSLFTextBox box3 = new HSLFTextBox();
+ HSLFTextParagraph tr3 = box3.getTextParagraph();
+ HSLFTextRun rt3 = tr3.getRichTextRuns()[0];
rt3.setFontName("Courier New");
rt3.setFontSize(8);
tr3.setText(
slide.addShape(box3);
}
- public static void slide7(SlideShow ppt) throws IOException {
- Slide slide = ppt.createSlide();
+ public static void slide7(HSLFSlideShow ppt) throws IOException {
+ HSLFSlide slide = ppt.createSlide();
- TextBox box2 = new TextBox();
- box2.setHorizontalAlignment(TextBox.AlignCenter);
- box2.setVerticalAlignment(TextBox.AnchorMiddle);
- box2.getTextRun().setText("Java Code");
+ HSLFTextBox box2 = new HSLFTextBox();
+ box2.setHorizontalAlignment(HSLFTextBox.AlignCenter);
+ box2.setVerticalAlignment(HSLFTextBox.AnchorMiddle);
+ box2.getTextParagraph().setText("Java Code");
box2.getFill().setForegroundColor(new Color(187, 224, 227));
box2.setLineColor(Color.black);
box2.setLineWidth(0.75);
box2.setAnchor(new Rectangle(66, 243, 170, 170));
slide.addShape(box2);
- TextBox box3 = new TextBox();
- box3.setHorizontalAlignment(TextBox.AlignCenter);
- box3.setVerticalAlignment(TextBox.AnchorMiddle);
- box3.getTextRun().setText("*.ppt file");
+ HSLFTextBox box3 = new HSLFTextBox();
+ box3.setHorizontalAlignment(HSLFTextBox.AlignCenter);
+ box3.setVerticalAlignment(HSLFTextBox.AnchorMiddle);
+ box3.getTextParagraph().setText("*.ppt file");
box3.setLineWidth(0.75);
box3.setLineColor(Color.black);
box3.getFill().setForegroundColor(new Color(187, 224, 227));
box3.setAnchor(new Rectangle(473, 243, 170, 170));
slide.addShape(box3);
- AutoShape box4 = new AutoShape(ShapeType.RIGHT_ARROW);
+ HSLFAutoShape box4 = new HSLFAutoShape(ShapeType.RIGHT_ARROW);
box4.getFill().setForegroundColor(new Color(187, 224, 227));
box4.setLineWidth(0.75);
box4.setLineColor(Color.black);
slide.addShape(box4);
}
- public static void slide8(SlideShow ppt) throws IOException {
- Slide slide = ppt.createSlide();
+ public static void slide8(HSLFSlideShow ppt) throws IOException {
+ HSLFSlide slide = ppt.createSlide();
- TextBox box1 = new TextBox();
- TextRun tr1 = box1.getTextRun();
+ HSLFTextBox box1 = new HSLFTextBox();
+ HSLFTextParagraph tr1 = box1.getTextParagraph();
tr1.setRunType(TextHeaderAtom.TITLE_TYPE);
tr1.setText("Wait, there is more!");
box1.setAnchor(new Rectangle(36, 21, 648, 90));
slide.addShape(box1);
- TextBox box2 = new TextBox();
- TextRun tr2 = box2.getTextRun();
+ HSLFTextBox box2 = new HSLFTextBox();
+ HSLFTextParagraph tr2 = box2.getTextParagraph();
tr2.setRunType(TextHeaderAtom.BODY_TYPE);
tr2.setText(
"Rich text\r" +
slide.addShape(box2);
}
- public static void slide9(SlideShow ppt) throws IOException {
- Slide slide = ppt.createSlide();
+ public static void slide9(HSLFSlideShow ppt) throws IOException {
+ HSLFSlide slide = ppt.createSlide();
- TextBox box1 = new TextBox();
- TextRun tr1 = box1.getTextRun();
+ HSLFTextBox box1 = new HSLFTextBox();
+ HSLFTextParagraph tr1 = box1.getTextParagraph();
tr1.setRunType(TextHeaderAtom.TITLE_TYPE);
tr1.setText("HSLF in Action - 3");
box1.setAnchor(new Rectangle(36, 20, 648, 50));
slide.addShape(box1);
- TextBox box2 = new TextBox();
- TextRun tr2 = box2.getTextRun();
+ HSLFTextBox box2 = new HSLFTextBox();
+ HSLFTextParagraph tr2 = box2.getTextParagraph();
tr2.getRichTextRuns()[0].setFontSize(18);
tr2.setText("PPGraphics2D: PowerPoint Graphics2D driver");
box2.setAnchor(new Rectangle(178, 70, 387, 30));
slide.addShape(box2);
- TextBox box3 = new TextBox();
- TextRun tr3 = box3.getTextRun();
- RichTextRun rt3 = tr3.getRichTextRuns()[0];
+ HSLFTextBox box3 = new HSLFTextBox();
+ HSLFTextParagraph tr3 = box3.getTextParagraph();
+ HSLFTextRun rt3 = tr3.getRichTextRuns()[0];
rt3.setFontName("Courier New");
rt3.setFontSize(8);
tr3.setText(
slide.addShape(box3);
}
- public static void slide10(SlideShow ppt) throws IOException {
+ public static void slide10(HSLFSlideShow ppt) throws IOException {
//bar chart data. The first value is the bar color, the second is the width
Object[] def = new Object[]{
Color.yellow, new Integer(100),
Color.red, new Integer(200),
};
- Slide slide = ppt.createSlide();
+ HSLFSlide slide = ppt.createSlide();
HSLFGroupShape group = new HSLFGroupShape();
//define position of the drawing in the slide
}
- public static void slide11(SlideShow ppt) throws IOException {
- Slide slide = ppt.createSlide();
+ public static void slide11(HSLFSlideShow ppt) throws IOException {
+ HSLFSlide slide = ppt.createSlide();
- TextBox box1 = new TextBox();
- TextRun tr1 = box1.getTextRun();
+ HSLFTextBox box1 = new HSLFTextBox();
+ HSLFTextParagraph tr1 = box1.getTextParagraph();
tr1.setRunType(TextHeaderAtom.TITLE_TYPE);
tr1.setText("HSLF Development Plans");
box1.setAnchor(new Rectangle(36, 21, 648, 90));
slide.addShape(box1);
- TextBox box2 = new TextBox();
- TextRun tr2 = box2.getTextRun();
+ HSLFTextBox box2 = new HSLFTextBox();
+ HSLFTextParagraph tr2 = box2.getTextParagraph();
tr2.setRunType(TextHeaderAtom.BODY_TYPE);
tr2.getRichTextRuns()[0].setFontSize(32);
tr2.setText(
box2.setAnchor(new Rectangle(36, 126, 648, 100));
slide.addShape(box2);
- TextBox box3 = new TextBox();
- TextRun tr3 = box3.getTextRun();
+ HSLFTextBox box3 = new HSLFTextBox();
+ HSLFTextParagraph tr3 = box3.getTextParagraph();
tr3.setRunType(TextHeaderAtom.BODY_TYPE);
tr3.getRichTextRuns()[0].setIndentLevel(1);
tr3.setText(
box3.setAnchor(new Rectangle(36, 220, 648, 70));
slide.addShape(box3);
- TextBox box4 = new TextBox();
- TextRun tr4 = box4.getTextRun();
+ HSLFTextBox box4 = new HSLFTextBox();
+ HSLFTextParagraph tr4 = box4.getTextParagraph();
tr4.setRunType(TextHeaderAtom.BODY_TYPE);
tr4.getRichTextRuns()[0].setFontSize(32);
tr4.setText(
box4.setAnchor(new Rectangle(36, 290, 648, 90));
slide.addShape(box4);
- TextBox box5 = new TextBox();
- TextRun tr5 = box5.getTextRun();
+ HSLFTextBox box5 = new HSLFTextBox();
+ HSLFTextParagraph tr5 = box5.getTextParagraph();
tr5.setRunType(TextHeaderAtom.BODY_TYPE);
tr5.getRichTextRuns()[0].setIndentLevel(1);
tr5.setText(
slide.addShape(box5);
}
- public static void slide12(SlideShow ppt) throws IOException {
- Slide slide = ppt.createSlide();
+ public static void slide12(HSLFSlideShow ppt) throws IOException {
+ HSLFSlide slide = ppt.createSlide();
- TextBox box1 = new TextBox();
- TextRun tr1 = box1.getTextRun();
+ HSLFTextBox box1 = new HSLFTextBox();
+ HSLFTextParagraph tr1 = box1.getTextParagraph();
tr1.setRunType(TextHeaderAtom.CENTER_TITLE_TYPE);
tr1.setText("Questions?");
box1.setAnchor(new Rectangle(54, 167, 612, 115));
slide.addShape(box1);
- TextBox box2 = new TextBox();
- TextRun tr2 = box2.getTextRun();
+ HSLFTextBox box2 = new HSLFTextBox();
+ HSLFTextParagraph tr2 = box2.getTextParagraph();
tr2.setRunType(TextHeaderAtom.CENTRE_BODY_TYPE);
tr2.setText(
"http://poi.apache.org/hslf/\r" +
package org.apache.poi.hslf.examples;
-import org.apache.poi.hslf.usermodel.SlideShow;
-import org.apache.poi.hslf.usermodel.RichTextRun;
-import org.apache.poi.hslf.model.Slide;
-import org.apache.poi.hslf.model.TextBox;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
+import org.apache.poi.hslf.usermodel.HSLFTextRun;
+import org.apache.poi.hslf.model.HSLFSlide;
+import org.apache.poi.hslf.model.HSLFTextBox;
import java.io.FileOutputStream;
public static void main(String[] args) throws Exception {
- SlideShow ppt = new SlideShow();
+ HSLFSlideShow ppt = new HSLFSlideShow();
- Slide slide = ppt.createSlide();
+ HSLFSlide slide = ppt.createSlide();
- TextBox shape = new TextBox();
- RichTextRun rt = shape.getTextRun().getRichTextRuns()[0];
+ HSLFTextBox shape = new HSLFTextBox();
+ HSLFTextRun rt = shape.getTextParagraph().getRichTextRuns()[0];
shape.setText(
"January\r" +
"February\r" +
package org.apache.poi.hslf.examples;
-import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
import org.apache.poi.hslf.model.*;
import java.io.FileOutputStream;
public final class CreateHyperlink {
public static void main(String[] args) throws Exception {
- SlideShow ppt = new SlideShow();
+ HSLFSlideShow ppt = new HSLFSlideShow();
- Slide slideA = ppt.createSlide();
- Slide slideB = ppt.createSlide();
- Slide slideC = ppt.createSlide();
+ HSLFSlide slideA = ppt.createSlide();
+ HSLFSlide slideB = ppt.createSlide();
+ HSLFSlide slideC = ppt.createSlide();
// link to a URL
- TextBox textBox1 = new TextBox();
+ HSLFTextBox textBox1 = new HSLFTextBox();
textBox1.setText("Apache POI");
textBox1.setAnchor(new Rectangle(100, 100, 200, 50));
slideA.addShape(textBox1);
// link to another slide
- TextBox textBox2 = new TextBox();
+ HSLFTextBox textBox2 = new HSLFTextBox();
textBox2.setText("Go to slide #3");
textBox2.setAnchor(new Rectangle(100, 300, 200, 50));
}
FileInputStream is = new FileInputStream(args[0]);
- SlideShow ppt = new SlideShow(is);
+ HSLFSlideShow ppt = new HSLFSlideShow(is);
is.close();
//extract all sound files embedded in this presentation
- SoundData[] sound = ppt.getSoundData();
+ HSLFSoundData[] sound = ppt.getSoundData();
for (int i = 0; i < sound.length; i++) {
String type = sound[i].getSoundType(); //*.wav
String name = sound[i].getSoundName(); //typically file name
}
//extract embedded OLE documents
- Slide[] slide = ppt.getSlides();
+ HSLFSlide[] slide = ppt.getSlides();
for (int i = 0; i < slide.length; i++) {
HSLFShape[] shape = slide[i].getShapes();
for (int j = 0; j < shape.length; j++) {
if (shape[j] instanceof OLEShape) {
OLEShape ole = (OLEShape) shape[j];
- ObjectData data = ole.getObjectData();
+ HSLFObjectData data = ole.getObjectData();
String name = ole.getInstanceName();
if ("Worksheet".equals(name)) {
for (int i = 0; i < slide.length; i++) {
HSLFShape[] shape = slide[i].getShapes();
for (int j = 0; j < shape.length; j++) {
- if (shape[j] instanceof Picture) {
- Picture p = (Picture) shape[j];
- PictureData data = p.getPictureData();
+ if (shape[j] instanceof HSLFPictureShape) {
+ HSLFPictureShape p = (HSLFPictureShape) shape[j];
+ HSLFPictureData data = p.getPictureData();
String name = p.getPictureName();
int type = data.getType();
String ext;
switch (type) {
- case Picture.JPEG:
+ case HSLFPictureShape.JPEG:
ext = ".jpg";
break;
- case Picture.PNG:
+ case HSLFPictureShape.PNG:
ext = ".png";
break;
- case Picture.WMF:
+ case HSLFPictureShape.WMF:
ext = ".wmf";
break;
- case Picture.EMF:
+ case HSLFPictureShape.EMF:
ext = ".emf";
break;
- case Picture.PICT:
+ case HSLFPictureShape.PICT:
ext = ".pict";
break;
- case Picture.DIB:
+ case HSLFPictureShape.DIB:
ext = ".dib";
break;
default:
package org.apache.poi.hslf.examples;
-import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
import org.apache.poi.hslf.model.*;
import java.awt.*;
* A simple bar chart demo
*/
public static void main(String[] args) throws Exception {
- SlideShow ppt = new SlideShow();
+ HSLFSlideShow ppt = new HSLFSlideShow();
//bar chart data. The first value is the bar color, the second is the width
Object[] def = new Object[]{
Color.red, new Integer(80),
};
- Slide slide = ppt.createSlide();
+ HSLFSlide slide = ppt.createSlide();
HSLFGroupShape group = new HSLFGroupShape();
//define position of the drawing in the slide
==================================================================== */
package org.apache.poi.hslf.examples;
-import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
import org.apache.poi.hslf.model.HeadersFooters;
-import org.apache.poi.hslf.model.Slide;
+import org.apache.poi.hslf.model.HSLFSlide;
import java.io.FileOutputStream;
*/
public class HeadersFootersDemo {
public static void main(String[] args) throws Exception {
- SlideShow ppt = new SlideShow();
+ HSLFSlideShow ppt = new HSLFSlideShow();
HeadersFooters slideHeaders = ppt.getSlideHeadersFooters();
slideHeaders.setFootersText("Created by POI-HSLF");
notesHeaders.setFootersText("My notes footers");
notesHeaders.setHeaderText("My notes header");
- Slide slide = ppt.createSlide();
+ HSLFSlide slide = ppt.createSlide();
FileOutputStream out = new FileOutputStream("headers_footers.ppt");
ppt.write(out);
package org.apache.poi.hslf.examples;
-import org.apache.poi.hslf.usermodel.SlideShow;
-import org.apache.poi.hslf.model.Slide;
-import org.apache.poi.hslf.model.TextRun;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
+import org.apache.poi.hslf.model.HSLFSlide;
+import org.apache.poi.hslf.model.HSLFTextParagraph;
import org.apache.poi.hslf.model.Hyperlink;
import org.apache.poi.hslf.model.HSLFShape;
public static void main(String[] args) throws Exception {
for (int i = 0; i < args.length; i++) {
FileInputStream is = new FileInputStream(args[i]);
- SlideShow ppt = new SlideShow(is);
+ HSLFSlideShow ppt = new HSLFSlideShow(is);
is.close();
- Slide[] slide = ppt.getSlides();
+ HSLFSlide[] slide = ppt.getSlides();
for (int j = 0; j < slide.length; j++) {
System.out.println("slide " + slide[j].getSlideNumber());
//read hyperlinks from the slide's text runs
System.out.println("reading hyperlinks from the text runs");
- TextRun[] txt = slide[j].getTextRuns();
+ HSLFTextParagraph[] txt = slide[j].getTextRuns();
for (int k = 0; k < txt.length; k++) {
String text = txt[k].getText();
Hyperlink[] links = txt[k].getHyperlinks();
}
FileInputStream is = new FileInputStream(file);
- SlideShow ppt = new SlideShow(is);
+ HSLFSlideShow ppt = new HSLFSlideShow(is);
is.close();
Dimension pgsize = ppt.getPageSize();
int width = (int)(pgsize.width*scale);
int height = (int)(pgsize.height*scale);
- Slide[] slide = ppt.getSlides();
+ HSLFSlide[] slide = ppt.getSlides();
for (int i = 0; i < slide.length; i++) {
if (slidenum != -1 && slidenum != (i+1)) continue;
*/
public class SoundFinder {
public static void main(String[] args) throws Exception {
- SlideShow ppt = new SlideShow(new FileInputStream(args[0]));
- SoundData[] sounds = ppt.getSoundData();
+ HSLFSlideShow ppt = new HSLFSlideShow(new FileInputStream(args[0]));
+ HSLFSoundData[] sounds = ppt.getSoundData();
- Slide[] slide = ppt.getSlides();
+ HSLFSlide[] slide = ppt.getSlides();
for (int i = 0; i < slide.length; i++) {
HSLFShape[] shape = slide[i].getShapes();
for (int j = 0; j < shape.length; j++) {
package org.apache.poi.hslf.examples;
-import org.apache.poi.hslf.usermodel.SlideShow;
-import org.apache.poi.hslf.usermodel.RichTextRun;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
+import org.apache.poi.hslf.usermodel.HSLFTextRun;
import org.apache.poi.hslf.model.*;
import java.awt.*;
{"Total PO History Spend", "$10,172,038"}
};
- SlideShow ppt = new SlideShow();
+ HSLFSlideShow ppt = new HSLFSlideShow();
- Slide slide = ppt.createSlide();
+ HSLFSlide slide = ppt.createSlide();
//six rows, two columns
Table table1 = new Table(6, 2);
for (int j = 0; j < txt1[i].length; j++) {
TableCell cell = table1.getCell(i, j);
cell.setText(txt1[i][j]);
- RichTextRun rt = cell.getTextRun().getRichTextRuns()[0];
+ HSLFTextRun rt = cell.getTextParagraph().getRichTextRuns()[0];
rt.setFontName("Arial");
rt.setFontSize(10);
if(i == 0){
} else {
rt.setBold(true);
}
- cell.setVerticalAlignment(TextBox.AnchorMiddle);
- cell.setHorizontalAlignment(TextBox.AlignCenter);
+ cell.setVerticalAlignment(HSLFTextBox.AnchorMiddle);
+ cell.setHorizontalAlignment(HSLFTextBox.AlignCenter);
}
}
for (int j = 0; j < txt2[i].length; j++) {
TableCell cell = table2.getCell(i, j);
cell.setText(txt2[i][j]);
- RichTextRun rt = cell.getTextRun().getRichTextRuns()[0];
+ HSLFTextRun rt = cell.getTextParagraph().getRichTextRuns()[0];
rt.setFontSize(10);
rt.setFontName("Arial");
if(i == 0){
rt.setFontColor(Color.white);
rt.setBold(true);
rt.setFontSize(14);
- cell.setHorizontalAlignment(TextBox.AlignCenter);
+ cell.setHorizontalAlignment(HSLFTextBox.AlignCenter);
} else {
rt.setBullet(true);
rt.setFontSize(12);
- cell.setHorizontalAlignment(TextBox.AlignLeft);
+ cell.setHorizontalAlignment(HSLFTextBox.AlignLeft);
}
- cell.setVerticalAlignment(TextBox.AnchorMiddle);
+ cell.setVerticalAlignment(HSLFTextBox.AnchorMiddle);
}
}
table2.setColumnWidth(0, 300);
import org.apache.poi.poifs.filesystem.Entry;\r
import org.apache.poi.poifs.filesystem.POIFSFileSystem;\r
import org.apache.poi.hwpf.HWPFDocument;\r
-import org.apache.poi.hslf.HSLFSlideShow;\r
-import org.apache.poi.hslf.usermodel.SlideShow;\r
+import org.apache.poi.hslf.model.HSLFSlideShowImpl;\r
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;\r
\r
import java.io.FileInputStream;\r
import java.util.Iterator;\r
//System.out.println(entry.getName() + ": " + embeddedWordDocument.getRange().text());\r
} else if (oleName.equals("Presentation")) {\r
DirectoryNode dn = (DirectoryNode) obj.getDirectory();\r
- SlideShow embeddedPowerPointDocument = new SlideShow(new HSLFSlideShow(dn));\r
+ HSLFSlideShow embeddedPowerPointDocument = new HSLFSlideShow(new HSLFSlideShowImpl(dn));\r
//System.out.println(entry.getName() + ": " + embeddedPowerPointDocument.getSlides().length);\r
} else {\r
if(obj.hasDirectoryEntry()){\r
Dimension pageSize = ppt.getPageSize(); // size of the canvas in points\r
for(XSLFSlide slide : ppt.getSlides()) {\r
for(XSLFShape shape : slide){\r
- Rectangle2D anchor = shape.getAnchor(); // position on the canvas\r
if(shape instanceof XSLFTextShape) {\r
XSLFTextShape txShape = (XSLFTextShape)shape;\r
System.out.println(txShape.getText());\r
\r
package org.apache.poi.xslf.usermodel;\r
\r
-import java.awt.*;\r
+import java.awt.Color;\r
import java.awt.geom.Rectangle2D;\r
import java.io.FileOutputStream;\r
import java.io.IOException;\r
\r
-import org.apache.poi.sl.usermodel.TextAlign;\r
+import org.apache.poi.sl.usermodel.TextParagraph.TextAlign;\r
\r
/**\r
* PPTX Tables\r
import org.apache.poi.openxml4j.opc.OPCPackage;\r
import org.apache.poi.openxml4j.opc.PackagePart;\r
import org.apache.poi.xwpf.usermodel.XWPFDocument;\r
-import org.apache.poi.hslf.HSLFSlideShow;\r
+import org.apache.poi.hslf.model.HSLFSlideShowImpl;\r
import org.apache.poi.hwpf.HWPFDocument;\r
import org.apache.poi.xslf.XSLFSlideShow;\r
import org.apache.poi.hssf.usermodel.HSSFWorkbook;\r
}\r
// PowerPoint Document - binary file format\r
else if (contentType.equals("application/vnd.ms-powerpoint")) {\r
- HSLFSlideShow slideShow = new HSLFSlideShow(pPart.getInputStream());\r
+ HSLFSlideShowImpl slideShow = new HSLFSlideShowImpl(pPart.getInputStream());\r
}\r
// PowerPoint Document - OpenXML file format\r
else if (contentType.equals("application/vnd.openxmlformats-officedocument.presentationml.presentation")) {\r
import java.io.FileInputStream;
import java.io.InputStream;
-import org.apache.poi.hslf.HSLFSlideShow;
+import org.apache.poi.hslf.model.HSLFSlideShowImpl;
import org.apache.poi.hslf.record.Record;
import org.junit.Test;
public class HSLFFileHandler extends POIFSFileHandler {
@Override
public void handleFile(InputStream stream) throws Exception {
- HSLFSlideShow slide = new HSLFSlideShow(stream);
+ HSLFSlideShowImpl slide = new HSLFSlideShowImpl(stream);
assertNotNull(slide.getCurrentUserAtom());
assertNotNull(slide.getEmbeddedObjects());
assertNotNull(slide.getUnderlyingBytes());
\r
package org.apache.poi.xslf.usermodel;\r
\r
-import java.awt.Graphics2D;\r
-import java.awt.geom.AffineTransform;\r
import java.awt.geom.Rectangle2D;\r
import java.util.Iterator;\r
import java.util.List;\r
import java.util.regex.Pattern;\r
\r
-import org.apache.poi.openxml4j.opc.PackagePart;\r
-import org.apache.poi.openxml4j.opc.PackageRelationship;\r
-import org.apache.poi.openxml4j.opc.TargetMode;\r
-import org.apache.poi.sl.usermodel.*;\r
+import org.apache.poi.openxml4j.opc.*;\r
+import org.apache.poi.sl.usermodel.PlaceableShape;\r
+import org.apache.poi.sl.usermodel.ShapeGroup;\r
import org.apache.poi.util.Beta;\r
import org.apache.poi.util.Units;\r
import org.apache.xmlbeans.XmlObject;\r
import org.openxmlformats.schemas.drawingml.x2006.main.*;\r
-import org.openxmlformats.schemas.presentationml.x2006.main.CTConnector;\r
-import org.openxmlformats.schemas.presentationml.x2006.main.CTGroupShape;\r
-import org.openxmlformats.schemas.presentationml.x2006.main.CTGroupShapeNonVisual;\r
-import org.openxmlformats.schemas.presentationml.x2006.main.CTShape;\r
+import org.openxmlformats.schemas.presentationml.x2006.main.*;\r
\r
/**\r
* Represents a group shape that consists of many shapes grouped together.\r
* @author Yegor Kozlov\r
*/\r
@Beta\r
-public class XSLFGroupShape extends XSLFShape implements XSLFShapeContainer, PlaceableShape {\r
+public class XSLFGroupShape extends XSLFShape implements XSLFShapeContainer, ShapeGroup<XSLFShape> {\r
private final List<XSLFShape> _shapes;\r
private final CTGroupShapeProperties _grpSpPr;\r
private XSLFDrawing _drawing;\r
package org.apache.poi.xslf.usermodel;
import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
import org.apache.poi.POIXMLDocumentPart;
import org.apache.poi.openxml4j.opc.PackagePart;
import org.apache.poi.openxml4j.opc.PackageRelationship;
import org.apache.poi.sl.usermodel.Notes;
-import org.apache.poi.sl.usermodel.TextRun;
import org.apache.poi.util.Beta;
import org.apache.xmlbeans.XmlException;
-import org.openxmlformats.schemas.presentationml.x2006.main.CTCommonSlideData;
-import org.openxmlformats.schemas.presentationml.x2006.main.CTNotesSlide;
-import org.openxmlformats.schemas.presentationml.x2006.main.NotesDocument;
+import org.openxmlformats.schemas.presentationml.x2006.main.*;
@Beta
-public final class XSLFNotes extends XSLFSheet implements Notes<XSLFShape> {
+public final class XSLFNotes extends XSLFSheet implements Notes<XSLFShape,XMLSlideShow> {
private CTNotesSlide _notes;
/**
return null;
}
- public TextRun getTextRun() {
+ @Override
+ public List<XSLFTextParagraph> getTextParagraphs() {
+ List<XSLFTextParagraph> tp = new ArrayList<XSLFTextParagraph>();
for (XSLFShape sh : super.getShapes()) {
if (sh instanceof XSLFTextShape) {
XSLFTextShape txt = (XSLFTextShape)sh;
- for (XSLFTextParagraph p : txt.getTextParagraphs()) {
- for (XSLFTextRun r : p.getTextRuns()) {
- return r;
- }
- }
+ tp.addAll(txt.getTextParagraphs());
}
}
- return null;
+ return tp;
}
-
-
}
* @author Yegor Kozlov
*/
@Beta
- public class XSLFNotesMaster extends XSLFSheet implements MasterSheet<XSLFShape> {
+ public class XSLFNotesMaster extends XSLFSheet implements MasterSheet<XSLFShape,XMLSlideShow> {
private CTNotesMaster _slide;
private XSLFTheme _theme;
}
@Override
- public MasterSheet getMasterSheet() {
+ public MasterSheet<XSLFShape,XMLSlideShow> getMasterSheet() {
return null;
}
\r
package org.apache.poi.xslf.usermodel;\r
\r
-import java.awt.Graphics2D;\r
import java.awt.Insets;\r
import java.awt.geom.Rectangle2D;\r
import java.awt.image.BufferedImage;\r
import org.apache.poi.POIXMLException;\r
import org.apache.poi.openxml4j.opc.PackagePart;\r
import org.apache.poi.openxml4j.opc.PackageRelationship;\r
+import org.apache.poi.sl.usermodel.PictureShape;\r
import org.apache.poi.util.Beta;\r
import org.apache.xmlbeans.XmlCursor;\r
import org.apache.xmlbeans.XmlObject;\r
-import org.openxmlformats.schemas.drawingml.x2006.main.CTBlip;\r
-import org.openxmlformats.schemas.drawingml.x2006.main.CTBlipFillProperties;\r
-import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps;\r
-import org.openxmlformats.schemas.drawingml.x2006.main.CTOfficeArtExtension;\r
-import org.openxmlformats.schemas.drawingml.x2006.main.CTOfficeArtExtensionList;\r
-import org.openxmlformats.schemas.drawingml.x2006.main.CTPresetGeometry2D;\r
-import org.openxmlformats.schemas.drawingml.x2006.main.CTRelativeRect;\r
-import org.openxmlformats.schemas.drawingml.x2006.main.CTShapeProperties;\r
-import org.openxmlformats.schemas.drawingml.x2006.main.STShapeType;\r
-import org.openxmlformats.schemas.presentationml.x2006.main.CTApplicationNonVisualDrawingProps;\r
-import org.openxmlformats.schemas.presentationml.x2006.main.CTPicture;\r
-import org.openxmlformats.schemas.presentationml.x2006.main.CTPictureNonVisual;\r
+import org.openxmlformats.schemas.drawingml.x2006.main.*;\r
+import org.openxmlformats.schemas.presentationml.x2006.main.*;\r
\r
/**\r
* Represents a picture shape\r
*/\r
@Beta\r
-public class XSLFPictureShape extends XSLFSimpleShape {\r
+public class XSLFPictureShape extends XSLFSimpleShape implements PictureShape {\r
private XSLFPictureData _data;\r
\r
/*package*/ XSLFPictureShape(CTPicture shape, XSLFSheet sheet) {\r
*/\r
public Color getFillColor() {\r
SolidPaint ps = getFillStyle();\r
- if (ps == TRANSPARENT_PAINT) return null;\r
+ if (ps == PaintStyle.TRANSPARENT_PAINT) return null;\r
Color col = DrawPaint.applyColorTransform(ps.getSolidColor());\r
return col;\r
}\r
public SolidPaint getFillStyle() {\r
XSLFTheme theme = getSheet().getTheme();\r
CTOuterShadowEffect ct = (CTOuterShadowEffect)getXmlObject();\r
- if(ct == null) return TRANSPARENT_PAINT;\r
+ if(ct == null) return PaintStyle.TRANSPARENT_PAINT;\r
\r
CTSchemeColor phClr = ct.getSchemeClr();\r
final XSLFColor xc = new XSLFColor(ct, theme, phClr);\r
\r
package org.apache.poi.xslf.usermodel;\r
\r
-import java.awt.Color;\r
import java.io.IOException;\r
import java.io.InputStream;\r
import java.util.Arrays;\r
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;\r
import org.apache.poi.openxml4j.opc.PackagePart;\r
import org.apache.poi.openxml4j.opc.PackageRelationship;\r
-import org.apache.poi.sl.draw.DrawPaint;\r
import org.apache.poi.sl.usermodel.*;\r
import org.apache.poi.sl.usermodel.PaintStyle.GradientPaint;\r
import org.apache.poi.sl.usermodel.PaintStyle.SolidPaint;\r
private CTNonVisualDrawingProps _nvPr;\r
private CTPlaceholder _ph;\r
\r
- protected static final SolidPaint TRANSPARENT_PAINT = new SolidPaint() {\r
- public ColorStyle getSolidColor() {\r
- return new ColorStyle(){\r
- public Color getColor() { return DrawPaint.NO_PAINT; }\r
- public int getAlpha() { return -1; }\r
- public int getLumOff() { return -1; }\r
- public int getLumMod() { return -1; }\r
- public int getShade() { return -1; }\r
- public int getTint() { return -1; }\r
- };\r
- }\r
- };\r
- \r
protected XSLFShape(XmlObject shape, XSLFSheet sheet) {\r
_shape = shape;\r
_sheet = sheet;\r
try {\r
pr = shape.getSpPr();\r
if (((CTShapeProperties)pr).isSetNoFill()) {\r
- setValue(TRANSPARENT_PAINT);\r
+ setValue(PaintStyle.TRANSPARENT_PAINT);\r
return true;\r
} \r
} catch (IllegalStateException e) {}\r
pr = shape.getGrpSpPr();\r
}\r
if (pr == null) {\r
- setValue(TRANSPARENT_PAINT);\r
+ setValue(PaintStyle.TRANSPARENT_PAINT);\r
return true;\r
}\r
\r
fillRef = getBgRef();\r
}\r
if (fillRef == null) {\r
- return TRANSPARENT_PAINT;\r
+ return PaintStyle.TRANSPARENT_PAINT;\r
}\r
\r
// The idx attribute refers to the index of a fill style or\r
paint = selectPaint(fillProps, phClr, sheet.getPackagePart());\r
}\r
\r
- return paint == null ? TRANSPARENT_PAINT : paint;\r
+ return paint == null ? PaintStyle.TRANSPARENT_PAINT : paint;\r
}\r
\r
protected CTBackgroundProperties getBgPr() {\r
- String xquery = "declare namespace p='http://schemas.openxmlformats.org/presentationml/2006/main' .//*/p:bgPr";\r
+ String xquery = "declare namespace p='http://schemas.openxmlformats.org/presentationml/2006/main' p:bgPr";\r
return selectProperty(CTBackgroundProperties.class, xquery);\r
}\r
\r
protected CTStyleMatrixReference getBgRef() {\r
- String xquery = "declare namespace p='http://schemas.openxmlformats.org/presentationml/2006/main' .//*/p:bgRef";\r
+ String xquery = "declare namespace p='http://schemas.openxmlformats.org/presentationml/2006/main' p:bgRef";\r
return selectProperty(CTStyleMatrixReference.class, xquery);\r
}\r
\r
protected CTGroupShapeProperties getGrpSpPr() {\r
- String xquery = "declare namespace p='http://schemas.openxmlformats.org/presentationml/2006/main' .//*/p:grpSpPr";\r
+ String xquery = "declare namespace p='http://schemas.openxmlformats.org/presentationml/2006/main' p:grpSpPr";\r
return selectProperty(CTGroupShapeProperties.class, xquery);\r
}\r
\r
\r
protected CTShapeProperties getSpPr() {\r
if (_spPr == null) {\r
- String xquery = "declare namespace p='http://schemas.openxmlformats.org/presentationml/2006/main' .//*/p:spPr";\r
+ String xquery = "declare namespace p='http://schemas.openxmlformats.org/presentationml/2006/main' p:spPr";\r
_spPr = selectProperty(CTShapeProperties.class, xquery);\r
}\r
if (_spPr == null) {\r
\r
protected CTShapeStyle getSpStyle() {\r
if (_spStyle == null) {\r
- String xquery = "declare namespace p='http://schemas.openxmlformats.org/presentationml/2006/main' .//*/p:style";\r
+ String xquery = "declare namespace p='http://schemas.openxmlformats.org/presentationml/2006/main' p:style";\r
_spStyle = selectProperty(CTShapeStyle.class, xquery);\r
}\r
return _spStyle;\r
paint = selectPaint(obj, phClr, pp);\r
if(paint != null) break;\r
}\r
- return paint == null ? TRANSPARENT_PAINT : paint;\r
+ return paint == null ? PaintStyle.TRANSPARENT_PAINT : paint;\r
} \r
\r
/**\r
*/\r
protected PaintStyle selectPaint(XmlObject obj, final CTSchemeColor phClr, final PackagePart parentPart) {\r
if (obj instanceof CTNoFillProperties) {\r
- return TRANSPARENT_PAINT;\r
+ return PaintStyle.TRANSPARENT_PAINT;\r
} else if (obj instanceof CTSolidColorFillProperties) {\r
return selectPaint((CTSolidColorFillProperties)obj, phClr, parentPart);\r
} else if (obj instanceof CTBlipFillProperties) {\r
import org.openxmlformats.schemas.presentationml.x2006.main.*;
@Beta
-public abstract class XSLFSheet extends POIXMLDocumentPart implements XSLFShapeContainer, Sheet<XSLFShape> {
+public abstract class XSLFSheet extends POIXMLDocumentPart implements XSLFShapeContainer, Sheet<XSLFShape, XMLSlideShow> {
private XSLFCommonSlideData _commonSlideData;
private XSLFDrawing _drawing;
private List<XSLFShape> _shapes;
* Import a package part into this sheet.
*/
PackagePart importPart(PackageRelationship srcRel, PackagePart srcPafrt) {
-
- OPCPackage pkg = getPackagePart().getPackage();
- if(!pkg.containPart(srcPafrt.getPartName())){
- PackageRelationship rel = getPackagePart().addRelationship(
- srcPafrt.getPartName(), TargetMode.INTERNAL, srcRel.getRelationshipType());
-
- PackagePart part = pkg.createPart(srcPafrt.getPartName(), srcPafrt.getContentType());
- OutputStream out = part.getOutputStream();
- try {
- InputStream is = srcPafrt.getInputStream();
- IOUtils.copy(is, out);
- out.close();
- } catch (IOException e){
- throw new POIXMLException(e);
- }
- return part;
- } else {
+ PackagePart destPP = getPackagePart();
+ PackagePartName srcPPName = srcPafrt.getPartName();
+
+ OPCPackage pkg = destPP.getPackage();
+ if(pkg.containPart(srcPPName)){
// already exists
- return pkg.getPart(srcPafrt.getPartName());
+ return pkg.getPart(srcPPName);
+ }
+
+ destPP.addRelationship(srcPPName, TargetMode.INTERNAL, srcRel.getRelationshipType());
+
+ PackagePart part = pkg.createPart(srcPPName, srcPafrt.getContentType());
+ OutputStream out = part.getOutputStream();
+ try {
+ InputStream is = srcPafrt.getInputStream();
+ IOUtils.copy(is, out);
+ out.close();
+ } catch (IOException e){
+ throw new POIXMLException(e);
}
+ return part;
}
}
\ No newline at end of file
\r
package org.apache.poi.xslf.usermodel;\r
\r
+import static org.apache.poi.sl.usermodel.PaintStyle.TRANSPARENT_PAINT;\r
+\r
import java.awt.Color;\r
import java.awt.geom.Rectangle2D;\r
\r
import javax.xml.stream.XMLStreamException;\r
import javax.xml.stream.XMLStreamReader;\r
\r
-import org.apache.poi.sl.draw.DrawPaint;\r
import org.apache.poi.sl.draw.geom.*;\r
import org.apache.poi.sl.usermodel.*;\r
import org.apache.poi.sl.usermodel.LineDecoration.DecorationShape;\r
import org.apache.poi.sl.usermodel.LineDecoration.DecorationSize;\r
import org.apache.poi.sl.usermodel.PaintStyle.SolidPaint;\r
import org.apache.poi.sl.usermodel.StrokeStyle.LineCap;\r
+import org.apache.poi.sl.usermodel.StrokeStyle.LineCompound;\r
import org.apache.poi.sl.usermodel.StrokeStyle.LineDash;\r
import org.apache.poi.util.Beta;\r
import org.apache.poi.util.Units;\r
PaintStyle ps = getLinePaint();\r
if (ps == null || ps == TRANSPARENT_PAINT) return null;\r
if (ps instanceof SolidPaint) {\r
- Color col = ((SolidPaint)ps).getSolidColor().getColor();\r
- return (col == DrawPaint.NO_PAINT) ? null : col;\r
+ return ((SolidPaint)ps).getSolidColor().getColor();\r
}\r
return null;\r
}\r
}\r
\r
/**\r
- *\r
* @return line width in points. <code>0</code> means no line.\r
*/\r
public double getLineWidth() {\r
return lineWidth;\r
}\r
\r
+ /**\r
+ * @return the line compound\r
+ */\r
+ public LineCompound getLineCompound() {\r
+ PropertyFetcher<Integer> fetcher = new PropertyFetcher<Integer>() {\r
+ public boolean fetch(XSLFShape shape) {\r
+ CTShapeProperties spPr = shape.getSpPr();\r
+ CTLineProperties ln = spPr.getLn();\r
+ if (ln != null) {\r
+ STCompoundLine.Enum stCmpd = ln.getCmpd();\r
+ if (stCmpd != null) {\r
+ setValue(stCmpd.intValue());\r
+ return true;\r
+ }\r
+ }\r
+ return false;\r
+ }\r
+ };\r
+ fetchShapeProperty(fetcher);\r
+\r
+ Integer cmpd = fetcher.getValue();\r
+ if (cmpd == null) {\r
+ CTLineProperties defaultLn = getDefaultLineProperties();\r
+ if (defaultLn != null) {\r
+ STCompoundLine.Enum stCmpd = defaultLn.getCmpd();\r
+ if (stCmpd != null) {\r
+ cmpd = stCmpd.intValue();\r
+ }\r
+ }\r
+ }\r
+ \r
+ if (cmpd == null) return null;\r
+\r
+ switch (cmpd) {\r
+ default:\r
+ case STCompoundLine.INT_SNG:\r
+ return LineCompound.SINGLE;\r
+ case STCompoundLine.INT_DBL:\r
+ return LineCompound.DOUBLE;\r
+ case STCompoundLine.INT_THICK_THIN:\r
+ return LineCompound.THICK_THIN;\r
+ case STCompoundLine.INT_THIN_THICK:\r
+ return LineCompound.THIN_THICK;\r
+ case STCompoundLine.INT_TRI:\r
+ return LineCompound.TRIPLE;\r
+ }\r
+ }\r
+\r
/**\r
*\r
* @param dash a preset line dashing scheme to stroke thr shape outline\r
PaintStyle ps = getFillPaint();\r
if (ps == null || ps == TRANSPARENT_PAINT) return null;\r
if (ps instanceof SolidPaint) {\r
- Color col = ((SolidPaint)ps).getSolidColor().getColor();\r
- return (col == DrawPaint.NO_PAINT) ? null : col;\r
+ return ((SolidPaint)ps).getSolidColor().getColor();\r
}\r
return null;\r
}\r
public double getLineWidth() {\r
return XSLFSimpleShape.this.getLineWidth();\r
}\r
+\r
+ public LineCompound getLineCompound() {\r
+ return XSLFSimpleShape.this.getLineCompound();\r
+ }\r
\r
};\r
}\r
import org.openxmlformats.schemas.presentationml.x2006.main.*;
@Beta
-public final class XSLFSlide extends XSLFSheet implements Slide<XSLFShape> {
+public final class XSLFSlide extends XSLFSheet implements Slide<XSLFShape, XMLSlideShow> {
private final CTSlide _slide;
private XSLFSlideLayout _layout;
private XSLFComments _comments;
throw new UnsupportedOperationException();
}
- public void setNotes(Notes<XSLFShape> notes) {
+ public void setNotes(Notes<XSLFShape,XMLSlideShow> notes) {
// TODO Auto-generated method stub
}
import java.io.IOException;
@Beta
-public class XSLFSlideLayout extends XSLFSheet implements MasterSheet<XSLFShape> {
+public class XSLFSlideLayout extends XSLFSheet implements MasterSheet<XSLFShape, XMLSlideShow> {
private CTSlideLayout _layout;
private XSLFSlideMaster _master;
* @author Yegor Kozlov
*/
@Beta
- public class XSLFSlideMaster extends XSLFSheet implements MasterSheet<XSLFShape> {
+ public class XSLFSlideMaster extends XSLFSheet implements MasterSheet<XSLFShape, XMLSlideShow> {
private CTSlideMaster _slide;
private Map<String, XSLFSlideLayout> _layouts;
private XSLFTheme _theme;
}
@Override
- public MasterSheet getMasterSheet() {
+ public MasterSheet<XSLFShape, XMLSlideShow> getMasterSheet() {
return null;
}
\r
import junit.framework.TestCase;\r
\r
-import org.apache.poi.sl.usermodel.ShapeType;\r
-import org.apache.poi.sl.usermodel.TextAlign;\r
-import org.apache.poi.sl.usermodel.VerticalAlignment;\r
+import org.apache.poi.sl.usermodel.*;\r
+import org.apache.poi.sl.usermodel.TextParagraph.TextAlign;\r
+import org.apache.poi.sl.usermodel.TextShape.TextAutofit;\r
+import org.apache.poi.sl.usermodel.TextShape.TextDirection;\r
import org.apache.poi.util.Units;\r
import org.openxmlformats.schemas.drawingml.x2006.main.STTextStrikeType;\r
import org.openxmlformats.schemas.drawingml.x2006.main.STTextUnderlineType;\r
==================================================================== */\r
package org.apache.poi.xslf.usermodel;\r
\r
+import java.awt.Color;\r
+import java.awt.Rectangle;\r
+\r
import junit.framework.TestCase;\r
\r
-import org.apache.poi.sl.usermodel.ShapeType;\r
+import org.apache.poi.sl.usermodel.LineDecoration.DecorationShape;\r
+import org.apache.poi.sl.usermodel.LineDecoration.DecorationSize;\r
+import org.apache.poi.sl.usermodel.*;\r
import org.openxmlformats.schemas.drawingml.x2006.main.*;\r
import org.openxmlformats.schemas.presentationml.x2006.main.CTConnector;\r
\r
-import java.awt.*;\r
-\r
/**\r
* @author Yegor Kozlov\r
*/\r
assertFalse(shape.getSpPr().getLn().isSetTailEnd());\r
\r
// line decorations\r
- assertEquals(LineDecoration.NONE, shape.getLineHeadDecoration());\r
- assertEquals(LineDecoration.NONE, shape.getLineTailDecoration());\r
+ assertEquals(DecorationShape.NONE, shape.getLineHeadDecoration());\r
+ assertEquals(DecorationShape.NONE, shape.getLineTailDecoration());\r
shape.setLineHeadDecoration(null);\r
shape.setLineTailDecoration(null);\r
- assertEquals(LineDecoration.NONE, shape.getLineHeadDecoration());\r
- assertEquals(LineDecoration.NONE, shape.getLineTailDecoration());\r
+ assertEquals(DecorationShape.NONE, shape.getLineHeadDecoration());\r
+ assertEquals(DecorationShape.NONE, shape.getLineTailDecoration());\r
assertFalse(shape.getSpPr().getLn().getHeadEnd().isSetType());\r
assertFalse(shape.getSpPr().getLn().getTailEnd().isSetType());\r
\r
- shape.setLineHeadDecoration(LineDecoration.ARROW);\r
- shape.setLineTailDecoration(LineDecoration.DIAMOND);\r
- assertEquals(LineDecoration.ARROW, shape.getLineHeadDecoration());\r
- assertEquals(LineDecoration.DIAMOND, shape.getLineTailDecoration());\r
+ shape.setLineHeadDecoration(DecorationShape.ARROW);\r
+ shape.setLineTailDecoration(DecorationShape.DIAMOND);\r
+ assertEquals(DecorationShape.ARROW, shape.getLineHeadDecoration());\r
+ assertEquals(DecorationShape.DIAMOND, shape.getLineTailDecoration());\r
assertEquals(STLineEndType.ARROW, shape.getSpPr().getLn().getHeadEnd().getType());\r
assertEquals(STLineEndType.DIAMOND, shape.getSpPr().getLn().getTailEnd().getType());\r
\r
- shape.setLineHeadDecoration(LineDecoration.DIAMOND);\r
- shape.setLineTailDecoration(LineDecoration.ARROW);\r
- assertEquals(LineDecoration.DIAMOND, shape.getLineHeadDecoration());\r
- assertEquals(LineDecoration.ARROW, shape.getLineTailDecoration());\r
+ shape.setLineHeadDecoration(DecorationShape.DIAMOND);\r
+ shape.setLineTailDecoration(DecorationShape.ARROW);\r
+ assertEquals(DecorationShape.DIAMOND, shape.getLineHeadDecoration());\r
+ assertEquals(DecorationShape.ARROW, shape.getLineTailDecoration());\r
assertEquals(STLineEndType.DIAMOND, shape.getSpPr().getLn().getHeadEnd().getType());\r
assertEquals(STLineEndType.ARROW, shape.getSpPr().getLn().getTailEnd().getType());\r
\r
// line end width\r
- assertEquals(LineEndWidth.MEDIUM, shape.getLineHeadWidth());\r
- assertEquals(LineEndWidth.MEDIUM, shape.getLineTailWidth());\r
+ assertEquals(DecorationSize.MEDIUM, shape.getLineHeadWidth());\r
+ assertEquals(DecorationSize.MEDIUM, shape.getLineTailWidth());\r
shape.setLineHeadWidth(null);\r
shape.setLineHeadWidth(null);\r
- assertEquals(LineEndWidth.MEDIUM, shape.getLineHeadWidth());\r
- assertEquals(LineEndWidth.MEDIUM, shape.getLineTailWidth());\r
+ assertEquals(DecorationSize.MEDIUM, shape.getLineHeadWidth());\r
+ assertEquals(DecorationSize.MEDIUM, shape.getLineTailWidth());\r
assertFalse(shape.getSpPr().getLn().getHeadEnd().isSetW());\r
assertFalse(shape.getSpPr().getLn().getTailEnd().isSetW());\r
- shape.setLineHeadWidth(LineEndWidth.LARGE);\r
- shape.setLineTailWidth(LineEndWidth.MEDIUM);\r
- assertEquals(LineEndWidth.LARGE, shape.getLineHeadWidth());\r
- assertEquals(LineEndWidth.MEDIUM, shape.getLineTailWidth());\r
+ shape.setLineHeadWidth(DecorationSize.LARGE);\r
+ shape.setLineTailWidth(DecorationSize.MEDIUM);\r
+ assertEquals(DecorationSize.LARGE, shape.getLineHeadWidth());\r
+ assertEquals(DecorationSize.MEDIUM, shape.getLineTailWidth());\r
assertEquals(STLineEndWidth.LG, shape.getSpPr().getLn().getHeadEnd().getW());\r
assertEquals(STLineEndWidth.MED, shape.getSpPr().getLn().getTailEnd().getW());\r
- shape.setLineHeadWidth(LineEndWidth.MEDIUM);\r
- shape.setLineTailWidth(LineEndWidth.LARGE);\r
- assertEquals(LineEndWidth.MEDIUM, shape.getLineHeadWidth());\r
- assertEquals(LineEndWidth.LARGE, shape.getLineTailWidth());\r
+ shape.setLineHeadWidth(DecorationSize.MEDIUM);\r
+ shape.setLineTailWidth(DecorationSize.LARGE);\r
+ assertEquals(DecorationSize.MEDIUM, shape.getLineHeadWidth());\r
+ assertEquals(DecorationSize.LARGE, shape.getLineTailWidth());\r
assertEquals(STLineEndWidth.MED, shape.getSpPr().getLn().getHeadEnd().getW());\r
assertEquals(STLineEndWidth.LG, shape.getSpPr().getLn().getTailEnd().getW());\r
\r
// line end length\r
- assertEquals(LineEndLength.MEDIUM, shape.getLineHeadLength());\r
- assertEquals(LineEndLength.MEDIUM, shape.getLineTailLength());\r
+ assertEquals(DecorationSize.MEDIUM, shape.getLineHeadLength());\r
+ assertEquals(DecorationSize.MEDIUM, shape.getLineTailLength());\r
shape.setLineHeadLength(null);\r
shape.setLineTailLength(null);\r
- assertEquals(LineEndLength.MEDIUM, shape.getLineHeadLength());\r
- assertEquals(LineEndLength.MEDIUM, shape.getLineTailLength());\r
+ assertEquals(DecorationSize.MEDIUM, shape.getLineHeadLength());\r
+ assertEquals(DecorationSize.MEDIUM, shape.getLineTailLength());\r
assertFalse(shape.getSpPr().getLn().getHeadEnd().isSetLen());\r
assertFalse(shape.getSpPr().getLn().getTailEnd().isSetLen());\r
- shape.setLineHeadLength(LineEndLength.LARGE);\r
- shape.setLineTailLength(LineEndLength.MEDIUM);\r
- assertEquals(LineEndLength.LARGE, shape.getLineHeadLength());\r
- assertEquals(LineEndLength.MEDIUM, shape.getLineTailLength());\r
+ shape.setLineHeadLength(DecorationSize.LARGE);\r
+ shape.setLineTailLength(DecorationSize.MEDIUM);\r
+ assertEquals(DecorationSize.LARGE, shape.getLineHeadLength());\r
+ assertEquals(DecorationSize.MEDIUM, shape.getLineTailLength());\r
assertEquals(STLineEndLength.LG, shape.getSpPr().getLn().getHeadEnd().getLen());\r
assertEquals(STLineEndLength.MED, shape.getSpPr().getLn().getTailEnd().getLen());\r
- shape.setLineHeadLength(LineEndLength.MEDIUM);\r
- shape.setLineTailLength(LineEndLength.LARGE);\r
- assertEquals(LineEndLength.MEDIUM, shape.getLineHeadLength());\r
- assertEquals(LineEndLength.LARGE, shape.getLineTailLength());\r
+ shape.setLineHeadLength(DecorationSize.MEDIUM);\r
+ shape.setLineTailLength(DecorationSize.LARGE);\r
+ assertEquals(DecorationSize.MEDIUM, shape.getLineHeadLength());\r
+ assertEquals(DecorationSize.LARGE, shape.getLineTailLength());\r
assertEquals(STLineEndLength.MED, shape.getSpPr().getLn().getHeadEnd().getLen());\r
assertEquals(STLineEndLength.LG, shape.getSpPr().getLn().getTailEnd().getLen());\r
\r
\r
import junit.framework.TestCase;\r
\r
-import org.apache.poi.sl.usermodel.LineCap;\r
-import org.apache.poi.sl.usermodel.LineDash;\r
+import org.apache.poi.sl.usermodel.StrokeStyle.LineCap;\r
+import org.apache.poi.sl.usermodel.StrokeStyle.LineDash;\r
import org.apache.poi.util.Units;\r
import org.apache.poi.xslf.XSLFTestDataSamples;\r
-import org.openxmlformats.schemas.drawingml.x2006.main.CTEffectStyleItem;\r
-import org.openxmlformats.schemas.drawingml.x2006.main.CTEffectStyleList;\r
-import org.openxmlformats.schemas.drawingml.x2006.main.CTOuterShadowEffect;\r
-import org.openxmlformats.schemas.drawingml.x2006.main.CTSchemeColor;\r
-import org.openxmlformats.schemas.drawingml.x2006.main.CTStyleMatrix;\r
-import org.openxmlformats.schemas.drawingml.x2006.main.STLineCap;\r
-import org.openxmlformats.schemas.drawingml.x2006.main.STPresetLineDashVal;\r
+import org.openxmlformats.schemas.drawingml.x2006.main.*;\r
\r
/**\r
* @author Yegor Kozlov\r
\r
import org.apache.poi.sl.usermodel.VerticalAlignment;\r
import org.apache.poi.xslf.XSLFTestDataSamples;\r
+import org.openxmlformats.schemas.drawingml.x2006.main.CTTableCell;\r
import org.openxmlformats.schemas.presentationml.x2006.main.CTGraphicalObjectFrame;\r
\r
import java.awt.Color;\r
XSLFTableCell cell0 = row0.addCell();\r
assertNotNull(cell0.getXmlObject());\r
// by default table cell has no borders\r
- assertTrue(cell0.getXmlObject().getTcPr().getLnB().isSetNoFill());\r
- assertTrue(cell0.getXmlObject().getTcPr().getLnT().isSetNoFill());\r
- assertTrue(cell0.getXmlObject().getTcPr().getLnL().isSetNoFill());\r
- assertTrue(cell0.getXmlObject().getTcPr().getLnR().isSetNoFill());\r
+ CTTableCell tc = (CTTableCell)cell0.getXmlObject();\r
+ assertTrue(tc.getTcPr().getLnB().isSetNoFill());\r
+ assertTrue(tc.getTcPr().getLnT().isSetNoFill());\r
+ assertTrue(tc.getTcPr().getLnL().isSetNoFill());\r
+ assertTrue(tc.getTcPr().getLnR().isSetNoFill());\r
\r
assertSame(cell0, row0.getCells().get(0));\r
assertEquals(1, tbl.getNumberOfColumns());\r
==================================================================== */\r
package org.apache.poi.xslf.usermodel;\r
\r
-import junit.framework.TestCase;\r
-\r
-import org.apache.poi.sl.draw.TextFragment;\r
-import org.apache.poi.sl.usermodel.TextAlign;\r
-import org.apache.poi.util.POILogFactory;\r
-import org.apache.poi.util.POILogger;\r
-import org.apache.poi.xslf.XSLFTestDataSamples;\r
+import static org.junit.Assert.*;\r
\r
import java.awt.*;\r
import java.awt.geom.Rectangle2D;\r
import java.awt.image.BufferedImage;\r
import java.util.List;\r
\r
+import org.apache.poi.sl.draw.DrawTextFragment;\r
+import org.apache.poi.sl.draw.DrawTextParagraph;\r
+import org.apache.poi.sl.usermodel.TextParagraph.TextAlign;\r
+import org.apache.poi.util.POILogFactory;\r
+import org.apache.poi.util.POILogger;\r
+import org.apache.poi.xslf.XSLFTestDataSamples;\r
+import org.junit.Test;\r
+\r
/**\r
* @author Yegor Kozlov\r
*/\r
-public class TestXSLFTextParagraph extends TestCase {\r
+public class TestXSLFTextParagraph {\r
private static POILogger _logger = POILogFactory.getLogger(XSLFTextParagraph.class);\r
\r
+ static class DrawTextParagraphProxy extends DrawTextParagraph<XSLFTextRun> {\r
+ DrawTextParagraphProxy(XSLFTextParagraph p) {\r
+ super(p);\r
+ }\r
+ \r
+ public void breakText(Graphics2D graphics) {\r
+ super.breakText(graphics);\r
+ }\r
+ \r
+ public double getWrappingWidth(boolean firstLine, Graphics2D graphics) {\r
+ return super.getWrappingWidth(firstLine, graphics);\r
+ }\r
+ \r
+ public List<DrawTextFragment> getLines() {\r
+ return lines;\r
+ }\r
+ }\r
+ \r
+ @Test\r
public void testWrappingWidth() throws Exception {\r
XMLSlideShow ppt = new XMLSlideShow();\r
XSLFSlide slide = ppt.createSlide();\r
\r
Rectangle2D anchor = new Rectangle(50, 50, 300, 200);\r
sh.setAnchor(anchor);\r
+ \r
+ DrawTextParagraphProxy dtp = new DrawTextParagraphProxy(p);\r
\r
double leftInset = sh.getLeftInset();\r
double rightInset = sh.getRightInset();\r
- assertEquals(7.2, leftInset);\r
- assertEquals(7.2, rightInset);\r
+ assertEquals(7.2, leftInset, 0);\r
+ assertEquals(7.2, rightInset, 0);\r
\r
double leftMargin = p.getLeftMargin();\r
- assertEquals(0.0, leftMargin);\r
+ assertEquals(0.0, leftMargin, 0);\r
\r
double indent = p.getIndent();\r
- assertEquals(0.0, indent); // default\r
+ assertEquals(0.0, indent, 0); // default\r
\r
double expectedWidth;\r
\r
// Case 1: bullet=false, leftMargin=0, indent=0.\r
expectedWidth = anchor.getWidth() - leftInset - rightInset - leftMargin;\r
- assertEquals(285.6, expectedWidth); // 300 - 7.2 - 7.2 - 0\r
- assertEquals(expectedWidth, p.getWrappingWidth(true, null));\r
- assertEquals(expectedWidth, p.getWrappingWidth(false, null));\r
+ assertEquals(285.6, expectedWidth, 0); // 300 - 7.2 - 7.2 - 0\r
+ assertEquals(expectedWidth, dtp.getWrappingWidth(true, null), 0);\r
+ assertEquals(expectedWidth, dtp.getWrappingWidth(false, null), 0);\r
\r
p.setLeftMargin(36); // 0.5"\r
leftMargin = p.getLeftMargin();\r
- assertEquals(36.0, leftMargin);\r
+ assertEquals(36.0, leftMargin, 0);\r
expectedWidth = anchor.getWidth() - leftInset - rightInset - leftMargin;\r
assertEquals(249.6, expectedWidth, 1E-5); // 300 - 7.2 - 7.2 - 36\r
- assertEquals(expectedWidth, p.getWrappingWidth(true, null));\r
- assertEquals(expectedWidth, p.getWrappingWidth(false, null));\r
+ assertEquals(expectedWidth, dtp.getWrappingWidth(true, null), 0);\r
+ assertEquals(expectedWidth, dtp.getWrappingWidth(false, null), 0);\r
\r
// increase insets, the wrapping width should get smaller\r
sh.setLeftInset(10);\r
sh.setRightInset(10);\r
leftInset = sh.getLeftInset();\r
rightInset = sh.getRightInset();\r
- assertEquals(10.0, leftInset);\r
- assertEquals(10.0, rightInset);\r
+ assertEquals(10.0, leftInset, 0);\r
+ assertEquals(10.0, rightInset, 0);\r
expectedWidth = anchor.getWidth() - leftInset - rightInset - leftMargin;\r
- assertEquals(244.0, expectedWidth); // 300 - 10 - 10 - 36\r
- assertEquals(expectedWidth, p.getWrappingWidth(true, null));\r
- assertEquals(expectedWidth, p.getWrappingWidth(false, null));\r
+ assertEquals(244.0, expectedWidth, 0); // 300 - 10 - 10 - 36\r
+ assertEquals(expectedWidth, dtp.getWrappingWidth(true, null), 0);\r
+ assertEquals(expectedWidth, dtp.getWrappingWidth(false, null), 0);\r
\r
// set a positive indent of a 0.5 inch. This means "First Line" indentation:\r
// |<--- indent -->|Here goes first line of the text\r
\r
p.setIndent(36.0); // 0.5"\r
indent = p.getIndent();\r
- assertEquals(36.0, indent);\r
+ assertEquals(36.0, indent, 0);\r
expectedWidth = anchor.getWidth() - leftInset - rightInset - leftMargin - indent;\r
- assertEquals(208.0, expectedWidth); // 300 - 10 - 10 - 36 - 6.4\r
- assertEquals(expectedWidth, p.getWrappingWidth(true, null)); // first line is indented\r
+ assertEquals(208.0, expectedWidth, 0); // 300 - 10 - 10 - 36 - 6.4\r
+ assertEquals(expectedWidth, dtp.getWrappingWidth(true, null), 0); // first line is indented\r
// other lines are not indented\r
expectedWidth = anchor.getWidth() - leftInset - rightInset - leftMargin;\r
- assertEquals(244.0, expectedWidth); // 300 - 10 - 10 - 36\r
- assertEquals(expectedWidth, p.getWrappingWidth(false, null));\r
+ assertEquals(244.0, expectedWidth, 0); // 300 - 10 - 10 - 36\r
+ assertEquals(expectedWidth, dtp.getWrappingWidth(false, null), 0);\r
\r
// set a negative indent of a 1 inch. This means "Hanging" indentation:\r
// Here goes first line of the text\r
// |<--- indent -->|Here go other lines (second and subsequent)\r
p.setIndent(-72.0); // 1"\r
indent = p.getIndent();\r
- assertEquals(-72.0, indent);\r
+ assertEquals(-72.0, indent, 0);\r
expectedWidth = anchor.getWidth() - leftInset - rightInset;\r
- assertEquals(280.0, expectedWidth); // 300 - 10 - 10 \r
- assertEquals(expectedWidth, p.getWrappingWidth(true, null)); // first line is NOT indented\r
+ assertEquals(280.0, expectedWidth, 0); // 300 - 10 - 10 \r
+ assertEquals(expectedWidth, dtp.getWrappingWidth(true, null), 0); // first line is NOT indented\r
// other lines are indented by leftMargin (the value of indent is not used)\r
expectedWidth = anchor.getWidth() - leftInset - rightInset - leftMargin;\r
- assertEquals(244.0, expectedWidth); // 300 - 10 - 10 - 36 \r
- assertEquals(expectedWidth, p.getWrappingWidth(false, null));\r
+ assertEquals(244.0, expectedWidth, 0); // 300 - 10 - 10 - 36 \r
+ assertEquals(expectedWidth, dtp.getWrappingWidth(false, null), 0);\r
}\r
\r
/**\r
* test breaking test into lines.\r
* This test requires that the Arial font is available and will run only on windows\r
*/\r
+ @Test\r
public void testBreakLines(){\r
String os = System.getProperty("os.name");\r
if(os == null || !os.contains("Windows")) {\r
"residing within the corresponding paragraph.");\r
\r
sh.setAnchor(new Rectangle(50, 50, 300, 200));\r
+ DrawTextParagraphProxy dtp = new DrawTextParagraphProxy(p);\r
\r
BufferedImage img = new BufferedImage(1, 1, BufferedImage.TYPE_INT_RGB);\r
Graphics2D graphics = img.createGraphics();\r
\r
- List<TextFragment> lines;\r
- lines = p.breakText(graphics);\r
+ List<DrawTextFragment> lines;\r
+ dtp.breakText(graphics);\r
+ lines = dtp.getLines();\r
assertEquals(4, lines.size());\r
\r
// descrease the shape width from 300 pt to 100 pt\r
sh.setAnchor(new Rectangle(50, 50, 100, 200));\r
- lines = p.breakText(graphics);\r
+ dtp.breakText(graphics);\r
+ lines = dtp.getLines();\r
assertEquals(12, lines.size());\r
\r
// descrease the shape width from 300 pt to 100 pt\r
sh.setAnchor(new Rectangle(50, 50, 600, 200));\r
- lines = p.breakText(graphics);\r
+ dtp.breakText(graphics);\r
+ lines = dtp.getLines();\r
assertEquals(2, lines.size());\r
\r
// set left and right margins to 200pt. This leaves 200pt for wrapping text\r
sh.setLeftInset(200);\r
sh.setRightInset(200);\r
- lines = p.breakText(graphics);\r
+ dtp.breakText(graphics);\r
+ lines = dtp.getLines();\r
assertEquals(5, lines.size());\r
\r
r.setText("Apache POI");\r
- lines = p.breakText(graphics);\r
+ dtp.breakText(graphics);\r
+ lines = dtp.getLines();\r
assertEquals(1, lines.size());\r
assertEquals("Apache POI", lines.get(0).getString());\r
\r
r.setText("Apache\nPOI");\r
- lines = p.breakText(graphics);\r
+ dtp.breakText(graphics);\r
+ lines = dtp.getLines();\r
assertEquals(2, lines.size());\r
assertEquals("Apache", lines.get(0).getString());\r
assertEquals("POI", lines.get(1).getString());\r
\r
// trailing newlines are ignored\r
r.setText("Apache\nPOI\n");\r
- lines = p.breakText(graphics);\r
+ dtp.breakText(graphics);\r
+ lines = dtp.getLines();\r
assertEquals(2, lines.size());\r
assertEquals("Apache", lines.get(0).getString());\r
assertEquals("POI", lines.get(1).getString());\r
r3.setFontFamily("serif"); // this should always be available\r
r3.setFontSize(10);\r
r3.setText("POI");\r
- lines = p2.breakText(graphics);\r
+ dtp.breakText(graphics);\r
+ lines = dtp.getLines();\r
assertEquals(2, lines.size());\r
assertEquals("Apache", lines.get(0).getString());\r
assertEquals("POI", lines.get(1).getString());\r
\r
}\r
\r
+ @Test\r
public void testThemeInheritance(){\r
XMLSlideShow ppt = XSLFTestDataSamples.openSampleDocument("prProps.pptx");\r
XSLFShape[] shapes = ppt.getSlides()[0].getShapes();\r
assertEquals(TextAlign.CENTER, sh3.getTextParagraphs().get(0).getTextAlign());\r
}\r
\r
+ @Test\r
public void testParagraphProperties(){\r
XMLSlideShow ppt = new XMLSlideShow();\r
XSLFSlide slide = ppt.createSlide();\r
p.setBulletFontColor(Color.red);\r
assertEquals(Color.red, p.getBulletFontColor());\r
\r
- assertEquals(100.0, p.getBulletFontSize());\r
+ assertEquals(100.0, p.getBulletFontSize(), 0);\r
p.setBulletFontSize(200.);\r
- assertEquals(200., p.getBulletFontSize());\r
+ assertEquals(200., p.getBulletFontSize(), 0);\r
p.setBulletFontSize(-20.);\r
- assertEquals(-20.0, p.getBulletFontSize());\r
+ assertEquals(-20.0, p.getBulletFontSize(), 0);\r
\r
- assertEquals(72.0, p.getDefaultTabSize());\r
+ assertEquals(72.0, p.getDefaultTabSize(), 0);\r
\r
- assertEquals(0.0, p.getIndent());\r
+ assertEquals(0.0, p.getIndent(), 0);\r
p.setIndent(72.0);\r
- assertEquals(72.0, p.getIndent());\r
+ assertEquals(72.0, p.getIndent(), 0);\r
p.setIndent(-1.0); // the value of -1.0 resets to the defaults\r
- assertEquals(0.0, p.getIndent());\r
+ assertEquals(0.0, p.getIndent(), 0);\r
\r
- assertEquals(0.0, p.getLeftMargin());\r
+ assertEquals(0.0, p.getLeftMargin(), 0);\r
p.setLeftMargin(72.0);\r
- assertEquals(72.0, p.getLeftMargin());\r
+ assertEquals(72.0, p.getLeftMargin(), 0);\r
p.setLeftMargin(-1.0); // the value of -1.0 resets to the defaults\r
- assertEquals(0.0, p.getLeftMargin());\r
+ assertEquals(0.0, p.getLeftMargin(), 0);\r
\r
assertEquals(0, p.getLevel());\r
p.setLevel(1);\r
p.setLevel(2);\r
assertEquals(2, p.getLevel());\r
\r
- assertEquals(100., p.getLineSpacing());\r
+ assertEquals(100., p.getLineSpacing(), 0);\r
p.setLineSpacing(200.);\r
- assertEquals(200.0, p.getLineSpacing());\r
+ assertEquals(200.0, p.getLineSpacing(), 0);\r
p.setLineSpacing(-15.);\r
- assertEquals(-15.0, p.getLineSpacing());\r
+ assertEquals(-15.0, p.getLineSpacing(), 0);\r
\r
- assertEquals(0., p.getSpaceAfter());\r
+ assertEquals(0., p.getSpaceAfter(), 0);\r
p.setSpaceAfter(200.);\r
- assertEquals(200.0, p.getSpaceAfter());\r
+ assertEquals(200.0, p.getSpaceAfter(), 0);\r
p.setSpaceAfter(-15.);\r
- assertEquals(-15.0, p.getSpaceAfter());\r
+ assertEquals(-15.0, p.getSpaceAfter(), 0);\r
\r
- assertEquals(0., p.getSpaceBefore());\r
+ assertEquals(0., p.getSpaceBefore(), 0);\r
p.setSpaceBefore(200.);\r
- assertEquals(200.0, p.getSpaceBefore());\r
+ assertEquals(200.0, p.getSpaceBefore(), 0);\r
p.setSpaceBefore(-15.);\r
- assertEquals(-15.0, p.getSpaceBefore());\r
+ assertEquals(-15.0, p.getSpaceBefore(), 0);\r
\r
assertEquals(TextAlign.LEFT, p.getTextAlign());\r
p.setTextAlign(TextAlign.RIGHT);\r
p.setBulletAutoNumber(ListAutoNumber.ALPHA_LC_PARENT_BOTH, 1);\r
\r
double tabStop = p.getTabStop(0);\r
- assertEquals(0.0, tabStop);\r
+ assertEquals(0.0, tabStop, 0);\r
\r
p.addTabStop(100.);\r
- assertEquals(100., p.getTabStop(0));\r
+ assertEquals(100., p.getTabStop(0), 0);\r
\r
- assertEquals(72.0, p.getDefaultTabSize());\r
+ assertEquals(72.0, p.getDefaultTabSize(), 0);\r
\r
}\r
\r
+ @Test\r
public void testLineBreak(){\r
XMLSlideShow ppt = new XMLSlideShow();\r
XSLFSlide slide = ppt.createSlide();\r
XSLFTextRun r2 = p.addLineBreak();\r
assertEquals("\n", r2.getText());\r
r2.setFontSize(10.0);\r
- assertEquals(10.0, r2.getFontSize());\r
+ assertEquals(10.0, r2.getFontSize(), 0);\r
XSLFTextRun r3 = p.addNewTextRun();\r
r3.setText("World!");\r
r3.setFontSize(20.0);\r
XSLFTextRun r4 = p.addLineBreak();\r
- assertEquals(20.0, r4.getFontSize());\r
+ assertEquals(20.0, r4.getFontSize(), 0);\r
\r
assertEquals("Hello,\nWorld!\n",sh.getText());\r
\r
==================================================================== */\r
package org.apache.poi.xslf.usermodel;\r
\r
+import java.awt.Color;\r
+\r
import junit.framework.TestCase;\r
\r
-import org.apache.poi.sl.usermodel.TextAlign;\r
+import org.apache.poi.sl.usermodel.TextParagraph.TextAlign;\r
import org.apache.poi.sl.usermodel.VerticalAlignment;\r
import org.apache.poi.xslf.XSLFTestDataSamples;\r
-import org.openxmlformats.schemas.drawingml.x2006.main.CTTextBodyProperties;\r
-import org.openxmlformats.schemas.drawingml.x2006.main.CTTextCharacterProperties;\r
-import org.openxmlformats.schemas.drawingml.x2006.main.CTTextParagraphProperties;\r
-import org.openxmlformats.schemas.drawingml.x2006.main.STTextAlignType;\r
+import org.openxmlformats.schemas.drawingml.x2006.main.*;\r
import org.openxmlformats.schemas.presentationml.x2006.main.CTPlaceholder;\r
import org.openxmlformats.schemas.presentationml.x2006.main.STPlaceholderType;\r
\r
-import java.awt.Color;\r
-\r
/**\r
* @author Yegor Kozlov\r
*/\r
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<presetShapeDefinitons>\r
+ <accentBorderCallout1>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+\r
+ <gd name="adj1" fmla="val 18750" />\r
+\r
+ <gd name="adj2" fmla="val -8333" />\r
+\r
+ <gd name="adj3" fmla="val 112500" />\r
+\r
+ <gd name="adj4" fmla="val -38333" />\r
+\r
+ </avLst>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="y1" fmla="*/ h adj1 100000" />\r
+ <gd name="x1" fmla="*/ w adj2 100000" />\r
+ <gd name="y2" fmla="*/ h adj3 100000" />\r
+ <gd name="x2" fmla="*/ w adj4 100000" />\r
+ </gdLst>\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">\r
+ <pos x="x1" y="y1" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">\r
+ <pos x="x2" y="y2" />\r
+ </ahXY>\r
+ </ahLst>\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ </cxnLst>\r
+ <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path fill="none" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="x1" y="t" />\r
+ </moveTo>\r
+ <close />\r
+ <lnTo>\r
+ <pt x="x1" y="b" />\r
+ </lnTo>\r
+ </path>\r
+ <path fill="none" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="x1" y="y1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y2" />\r
+ </lnTo>\r
+ </path>\r
+ </pathLst>\r
+\r
+ </accentBorderCallout1>\r
+ <accentBorderCallout2>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+\r
+ <gd name="adj1" fmla="val 18750" />\r
+\r
+ <gd name="adj2" fmla="val -8333" />\r
+\r
+ <gd name="adj3" fmla="val 18750" />\r
+\r
+ <gd name="adj4" fmla="val -16667" />\r
+\r
+ <gd name="adj5" fmla="val 112500" />\r
+\r
+ <gd name="adj6" fmla="val -46667" />\r
+\r
+ </avLst>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="y1" fmla="*/ h adj1 100000" />\r
+ <gd name="x1" fmla="*/ w adj2 100000" />\r
+ <gd name="y2" fmla="*/ h adj3 100000" />\r
+ <gd name="x2" fmla="*/ w adj4 100000" />\r
+ <gd name="y3" fmla="*/ h adj5 100000" />\r
+ <gd name="x3" fmla="*/ w adj6 100000" />\r
+ </gdLst>\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">\r
+ <pos x="x1" y="y1" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">\r
+ <pos x="x2" y="y2" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj6" minX="-2147483647" maxX="2147483647" gdRefY="adj5" minY="-2147483647" maxY="2147483647">\r
+ <pos x="x3" y="y3" />\r
+ </ahXY>\r
+ </ahLst>\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ </cxnLst>\r
+ <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path fill="none" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="x1" y="t" />\r
+ </moveTo>\r
+ <close />\r
+ <lnTo>\r
+ <pt x="x1" y="b" />\r
+ </lnTo>\r
+ </path>\r
+ <path fill="none" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="x1" y="y1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y3" />\r
+ </lnTo>\r
+ </path>\r
+ </pathLst>\r
+\r
+ </accentBorderCallout2>\r
+ <accentBorderCallout3>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+\r
+ <gd name="adj1" fmla="val 18750" />\r
+\r
+ <gd name="adj2" fmla="val -8333" />\r
+\r
+ <gd name="adj3" fmla="val 18750" />\r
+\r
+ <gd name="adj4" fmla="val -16667" />\r
+\r
+ <gd name="adj5" fmla="val 100000" />\r
+\r
+ <gd name="adj6" fmla="val -16667" />\r
+\r
+ <gd name="adj7" fmla="val 112963" />\r
+\r
+ <gd name="adj8" fmla="val -8333" />\r
+\r
+ </avLst>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="y1" fmla="*/ h adj1 100000" />\r
+ <gd name="x1" fmla="*/ w adj2 100000" />\r
+ <gd name="y2" fmla="*/ h adj3 100000" />\r
+ <gd name="x2" fmla="*/ w adj4 100000" />\r
+ <gd name="y3" fmla="*/ h adj5 100000" />\r
+ <gd name="x3" fmla="*/ w adj6 100000" />\r
+ <gd name="y4" fmla="*/ h adj7 100000" />\r
+ <gd name="x4" fmla="*/ w adj8 100000" />\r
+ </gdLst>\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">\r
+ <pos x="x1" y="y1" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">\r
+ <pos x="x2" y="y2" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj6" minX="-2147483647" maxX="2147483647" gdRefY="adj5" minY="-2147483647" maxY="2147483647">\r
+ <pos x="x3" y="y3" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj8" minX="-2147483647" maxX="2147483647" gdRefY="adj7" minY="-2147483647" maxY="2147483647">\r
+ <pos x="x4" y="y4" />\r
+ </ahXY>\r
+ </ahLst>\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ </cxnLst>\r
+ <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path fill="none" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="x1" y="t" />\r
+ </moveTo>\r
+ <close />\r
+ <lnTo>\r
+ <pt x="x1" y="b" />\r
+ </lnTo>\r
+ </path>\r
+ <path fill="none" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="x1" y="y1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y4" />\r
+ </lnTo>\r
+ </path>\r
+ </pathLst>\r
+\r
+ </accentBorderCallout3>\r
+ <accentCallout1>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+\r
+ <gd name="adj1" fmla="val 18750" />\r
+\r
+ <gd name="adj2" fmla="val -8333" />\r
+\r
+ <gd name="adj3" fmla="val 112500" />\r
+\r
+ <gd name="adj4" fmla="val -38333" />\r
+\r
+ </avLst>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="y1" fmla="*/ h adj1 100000" />\r
+ <gd name="x1" fmla="*/ w adj2 100000" />\r
+ <gd name="y2" fmla="*/ h adj3 100000" />\r
+ <gd name="x2" fmla="*/ w adj4 100000" />\r
+ </gdLst>\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">\r
+ <pos x="x1" y="y1" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">\r
+ <pos x="x2" y="y2" />\r
+ </ahXY>\r
+ </ahLst>\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ </cxnLst>\r
+ <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path stroke="false" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path fill="none" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="x1" y="t" />\r
+ </moveTo>\r
+ <close />\r
+ <lnTo>\r
+ <pt x="x1" y="b" />\r
+ </lnTo>\r
+ </path>\r
+ <path fill="none" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="x1" y="y1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y2" />\r
+ </lnTo>\r
+ </path>\r
+ </pathLst>\r
+\r
+ </accentCallout1>\r
+ <accentCallout2>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+\r
+ <gd name="adj1" fmla="val 18750" />\r
+\r
+ <gd name="adj2" fmla="val -8333" />\r
+\r
+ <gd name="adj3" fmla="val 18750" />\r
+\r
+ <gd name="adj4" fmla="val -16667" />\r
+\r
+ <gd name="adj5" fmla="val 112500" />\r
+\r
+ <gd name="adj6" fmla="val -46667" />\r
+\r
+ </avLst>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="y1" fmla="*/ h adj1 100000" />\r
+ <gd name="x1" fmla="*/ w adj2 100000" />\r
+ <gd name="y2" fmla="*/ h adj3 100000" />\r
+ <gd name="x2" fmla="*/ w adj4 100000" />\r
+ <gd name="y3" fmla="*/ h adj5 100000" />\r
+ <gd name="x3" fmla="*/ w adj6 100000" />\r
+ </gdLst>\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">\r
+ <pos x="x1" y="y1" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">\r
+ <pos x="x2" y="y2" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj6" minX="-2147483647" maxX="2147483647" gdRefY="adj5" minY="-2147483647" maxY="2147483647">\r
+ <pos x="x3" y="y3" />\r
+ </ahXY>\r
+ </ahLst>\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ </cxnLst>\r
+ <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path stroke="false" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path fill="none" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="x1" y="t" />\r
+ </moveTo>\r
+ <close />\r
+ <lnTo>\r
+ <pt x="x1" y="b" />\r
+ </lnTo>\r
+ </path>\r
+ <path fill="none" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="x1" y="y1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y3" />\r
+ </lnTo>\r
+ </path>\r
+ </pathLst>\r
+\r
+ </accentCallout2>\r
+ <accentCallout3>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+\r
+ <gd name="adj1" fmla="val 18750" />\r
+\r
+ <gd name="adj2" fmla="val -8333" />\r
+\r
+ <gd name="adj3" fmla="val 18750" />\r
+\r
+ <gd name="adj4" fmla="val -16667" />\r
+\r
+ <gd name="adj5" fmla="val 100000" />\r
+\r
+ <gd name="adj6" fmla="val -16667" />\r
+\r
+ <gd name="adj7" fmla="val 112963" />\r
+\r
+ <gd name="adj8" fmla="val -8333" />\r
+\r
+ </avLst>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="y1" fmla="*/ h adj1 100000" />\r
+ <gd name="x1" fmla="*/ w adj2 100000" />\r
+ <gd name="y2" fmla="*/ h adj3 100000" />\r
+ <gd name="x2" fmla="*/ w adj4 100000" />\r
+ <gd name="y3" fmla="*/ h adj5 100000" />\r
+ <gd name="x3" fmla="*/ w adj6 100000" />\r
+ <gd name="y4" fmla="*/ h adj7 100000" />\r
+ <gd name="x4" fmla="*/ w adj8 100000" />\r
+ </gdLst>\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">\r
+ <pos x="x1" y="y1" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">\r
+ <pos x="x2" y="y2" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj6" minX="-2147483647" maxX="2147483647" gdRefY="adj5" minY="-2147483647" maxY="2147483647">\r
+ <pos x="x3" y="y3" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj8" minX="-2147483647" maxX="2147483647" gdRefY="adj7" minY="-2147483647" maxY="2147483647">\r
+ <pos x="x4" y="y4" />\r
+ </ahXY>\r
+ </ahLst>\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ </cxnLst>\r
+ <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path stroke="false" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path fill="none" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="x1" y="t" />\r
+ </moveTo>\r
+ <close />\r
+ <lnTo>\r
+ <pt x="x1" y="b" />\r
+ </lnTo>\r
+ </path>\r
+ <path fill="none" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="x1" y="y1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y4" />\r
+ </lnTo>\r
+ </path>\r
+ </pathLst>\r
+\r
+ </accentCallout3>\r
+ <actionButtonBackPrevious>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="dx2" fmla="*/ ss 3 8" />\r
+ <gd name="g9" fmla="+- vc 0 dx2" />\r
+ <gd name="g10" fmla="+- vc dx2 0" />\r
+ <gd name="g11" fmla="+- hc 0 dx2" />\r
+ <gd name="g12" fmla="+- hc dx2 0" />\r
+ </gdLst>\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ </cxnLst>\r
+ <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path stroke="false" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="g11" y="vc" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="g12" y="g9" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g12" y="g10" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path stroke="false" fill="darken" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="g11" y="vc" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="g12" y="g9" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g12" y="g10" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path fill="none" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="g11" y="vc" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="g12" y="g9" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g12" y="g10" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path fill="none">\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+ </actionButtonBackPrevious>\r
+ <actionButtonBeginning>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="dx2" fmla="*/ ss 3 8" />\r
+ <gd name="g9" fmla="+- vc 0 dx2" />\r
+ <gd name="g10" fmla="+- vc dx2 0" />\r
+ <gd name="g11" fmla="+- hc 0 dx2" />\r
+ <gd name="g12" fmla="+- hc dx2 0" />\r
+ <gd name="g13" fmla="*/ ss 3 4" />\r
+ <gd name="g14" fmla="*/ g13 1 8" />\r
+ <gd name="g15" fmla="*/ g13 1 4" />\r
+ <gd name="g16" fmla="+- g11 g14 0" />\r
+ <gd name="g17" fmla="+- g11 g15 0" />\r
+ </gdLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path stroke="false" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="g17" y="vc" />\r
+ </moveTo>\r
+\r
+ <lnTo>\r
+ <pt x="g12" y="g9" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g12" y="g10" />\r
+ </lnTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="g16" y="g9" />\r
+ </moveTo>\r
+\r
+ <lnTo>\r
+ <pt x="g11" y="g9" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g11" y="g10" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g16" y="g10" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path stroke="false" fill="darken" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="g17" y="vc" />\r
+ </moveTo>\r
+\r
+ <lnTo>\r
+ <pt x="g12" y="g9" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g12" y="g10" />\r
+ </lnTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="g16" y="g9" />\r
+ </moveTo>\r
+\r
+ <lnTo>\r
+ <pt x="g11" y="g9" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g11" y="g10" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g16" y="g10" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path fill="none" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="g17" y="vc" />\r
+ </moveTo>\r
+\r
+ <lnTo>\r
+ <pt x="g12" y="g9" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g12" y="g10" />\r
+ </lnTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="g16" y="g9" />\r
+ </moveTo>\r
+\r
+ <lnTo>\r
+ <pt x="g16" y="g10" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g11" y="g10" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g11" y="g9" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path fill="none">\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </actionButtonBeginning>\r
+ <actionButtonBlank>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </actionButtonBlank>\r
+ <actionButtonDocument>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="dx2" fmla="*/ ss 3 8" />\r
+ <gd name="g9" fmla="+- vc 0 dx2" />\r
+ <gd name="g10" fmla="+- vc dx2 0" />\r
+ <gd name="dx1" fmla="*/ ss 9 32" />\r
+ <gd name="g11" fmla="+- hc 0 dx1" />\r
+ <gd name="g12" fmla="+- hc dx1 0" />\r
+ <gd name="g13" fmla="*/ ss 3 16" />\r
+ <gd name="g14" fmla="+- g12 0 g13" />\r
+ <gd name="g15" fmla="+- g9 g13 0" />\r
+ </gdLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path stroke="false" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="g11" y="g9" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="g14" y="g9" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g12" y="g15" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g12" y="g10" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g11" y="g10" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path stroke="false" fill="darkenLess" extrusionOk="false">\r
+\r
+ <moveTo>\r
+ <pt x="g11" y="g9" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="g14" y="g9" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g14" y="g15" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g12" y="g15" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g12" y="g10" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g11" y="g10" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path stroke="false" fill="darken" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="g14" y="g9" />\r
+ </moveTo>\r
+\r
+ <lnTo>\r
+ <pt x="g14" y="g15" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g12" y="g15" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path fill="none" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="g11" y="g9" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="g14" y="g9" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g12" y="g15" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g12" y="g10" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g11" y="g10" />\r
+ </lnTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="g12" y="g15" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="g14" y="g15" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g14" y="g9" />\r
+ </lnTo>\r
+ </path>\r
+ <path fill="none">\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </actionButtonDocument>\r
+ <actionButtonEnd>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="dx2" fmla="*/ ss 3 8" />\r
+ <gd name="g9" fmla="+- vc 0 dx2" />\r
+ <gd name="g10" fmla="+- vc dx2 0" />\r
+ <gd name="g11" fmla="+- hc 0 dx2" />\r
+ <gd name="g12" fmla="+- hc dx2 0" />\r
+ <gd name="g13" fmla="*/ ss 3 4" />\r
+ <gd name="g14" fmla="*/ g13 3 4" />\r
+ <gd name="g15" fmla="*/ g13 7 8" />\r
+ <gd name="g16" fmla="+- g11 g14 0" />\r
+ <gd name="g17" fmla="+- g11 g15 0" />\r
+ </gdLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path stroke="false" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="g16" y="vc" />\r
+ </moveTo>\r
+\r
+ <lnTo>\r
+ <pt x="g11" y="g9" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g11" y="g10" />\r
+ </lnTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="g17" y="g9" />\r
+ </moveTo>\r
+\r
+ <lnTo>\r
+ <pt x="g12" y="g9" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g12" y="g10" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g17" y="g10" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path stroke="false" fill="darken" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="g16" y="vc" />\r
+ </moveTo>\r
+\r
+ <lnTo>\r
+ <pt x="g11" y="g9" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g11" y="g10" />\r
+ </lnTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="g17" y="g9" />\r
+ </moveTo>\r
+\r
+ <lnTo>\r
+ <pt x="g12" y="g9" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g12" y="g10" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g17" y="g10" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path fill="none" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="g16" y="vc" />\r
+ </moveTo>\r
+\r
+ <lnTo>\r
+ <pt x="g11" y="g10" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g11" y="g9" />\r
+ </lnTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="g17" y="g9" />\r
+ </moveTo>\r
+\r
+ <lnTo>\r
+ <pt x="g12" y="g9" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g12" y="g10" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g17" y="g10" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path fill="none">\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </actionButtonEnd>\r
+ <actionButtonForwardNext>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="dx2" fmla="*/ ss 3 8" />\r
+ <gd name="g9" fmla="+- vc 0 dx2" />\r
+ <gd name="g10" fmla="+- vc dx2 0" />\r
+ <gd name="g11" fmla="+- hc 0 dx2" />\r
+ <gd name="g12" fmla="+- hc dx2 0" />\r
+ </gdLst>\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ </cxnLst>\r
+ <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path stroke="false" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="g12" y="vc" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="g11" y="g9" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g11" y="g10" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path stroke="false" fill="darken" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="g12" y="vc" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="g11" y="g9" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g11" y="g10" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path fill="none" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="g12" y="vc" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="g11" y="g10" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g11" y="g9" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path fill="none">\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+ </actionButtonForwardNext>\r
+ <actionButtonHelp>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="dx2" fmla="*/ ss 3 8" />\r
+ <gd name="g9" fmla="+- vc 0 dx2" />\r
+ <gd name="g11" fmla="+- hc 0 dx2" />\r
+ <gd name="g13" fmla="*/ ss 3 4" />\r
+ <gd name="g14" fmla="*/ g13 1 7" />\r
+ <gd name="g15" fmla="*/ g13 3 14" />\r
+ <gd name="g16" fmla="*/ g13 2 7" />\r
+ <gd name="g19" fmla="*/ g13 3 7" />\r
+ <gd name="g20" fmla="*/ g13 4 7" />\r
+ <gd name="g21" fmla="*/ g13 17 28" />\r
+ <gd name="g23" fmla="*/ g13 21 28" />\r
+ <gd name="g24" fmla="*/ g13 11 14" />\r
+ <gd name="g27" fmla="+- g9 g16 0" />\r
+ <gd name="g29" fmla="+- g9 g21 0" />\r
+ <gd name="g30" fmla="+- g9 g23 0" />\r
+ <gd name="g31" fmla="+- g9 g24 0" />\r
+ <gd name="g33" fmla="+- g11 g15 0" />\r
+ <gd name="g36" fmla="+- g11 g19 0" />\r
+ <gd name="g37" fmla="+- g11 g20 0" />\r
+ <gd name="g41" fmla="*/ g13 1 14" />\r
+ <gd name="g42" fmla="*/ g13 3 28" />\r
+ </gdLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path stroke="false" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="g33" y="g27" />\r
+ </moveTo>\r
+\r
+ <arcTo wR="g16" hR="g16" stAng="cd2" swAng="cd2" />\r
+ <arcTo wR="g14" hR="g15" stAng="0" swAng="cd4" />\r
+ <arcTo wR="g41" hR="g42" stAng="3cd4" swAng="-5400000" />\r
+ <lnTo>\r
+ <pt x="g37" y="g30" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g36" y="g30" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g36" y="g29" />\r
+ </lnTo>\r
+ <arcTo wR="g14" hR="g15" stAng="cd2" swAng="cd4" />\r
+ <arcTo wR="g41" hR="g42" stAng="cd4" swAng="-5400000" />\r
+ <arcTo wR="g14" hR="g14" stAng="0" swAng="-10800000" />\r
+ <close />\r
+ <moveTo>\r
+ <pt x="hc" y="g31" />\r
+ </moveTo>\r
+\r
+ <arcTo wR="g42" hR="g42" stAng="3cd4" swAng="21600000" />\r
+ <close />\r
+ </path>\r
+ <path stroke="false" fill="darken" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="g33" y="g27" />\r
+ </moveTo>\r
+\r
+ <arcTo wR="g16" hR="g16" stAng="cd2" swAng="cd2" />\r
+ <arcTo wR="g14" hR="g15" stAng="0" swAng="cd4" />\r
+ <arcTo wR="g41" hR="g42" stAng="3cd4" swAng="-5400000" />\r
+ <lnTo>\r
+ <pt x="g37" y="g30" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g36" y="g30" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g36" y="g29" />\r
+ </lnTo>\r
+ <arcTo wR="g14" hR="g15" stAng="cd2" swAng="cd4" />\r
+ <arcTo wR="g41" hR="g42" stAng="cd4" swAng="-5400000" />\r
+ <arcTo wR="g14" hR="g14" stAng="0" swAng="-10800000" />\r
+ <close />\r
+ <moveTo>\r
+ <pt x="hc" y="g31" />\r
+ </moveTo>\r
+\r
+ <arcTo wR="g42" hR="g42" stAng="3cd4" swAng="21600000" />\r
+ <close />\r
+ </path>\r
+ <path fill="none" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="g33" y="g27" />\r
+ </moveTo>\r
+\r
+ <arcTo wR="g16" hR="g16" stAng="cd2" swAng="cd2" />\r
+ <arcTo wR="g14" hR="g15" stAng="0" swAng="cd4" />\r
+ <arcTo wR="g41" hR="g42" stAng="3cd4" swAng="-5400000" />\r
+ <lnTo>\r
+ <pt x="g37" y="g30" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g36" y="g30" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g36" y="g29" />\r
+ </lnTo>\r
+ <arcTo wR="g14" hR="g15" stAng="cd2" swAng="cd4" />\r
+ <arcTo wR="g41" hR="g42" stAng="cd4" swAng="-5400000" />\r
+ <arcTo wR="g14" hR="g14" stAng="0" swAng="-10800000" />\r
+ <close />\r
+ <moveTo>\r
+ <pt x="hc" y="g31" />\r
+ </moveTo>\r
+\r
+ <arcTo wR="g42" hR="g42" stAng="3cd4" swAng="21600000" />\r
+ <close />\r
+ </path>\r
+ <path fill="none">\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </actionButtonHelp>\r
+ <actionButtonHome>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="dx2" fmla="*/ ss 3 8" />\r
+ <gd name="g9" fmla="+- vc 0 dx2" />\r
+ <gd name="g10" fmla="+- vc dx2 0" />\r
+ <gd name="g11" fmla="+- hc 0 dx2" />\r
+ <gd name="g12" fmla="+- hc dx2 0" />\r
+ <gd name="g13" fmla="*/ ss 3 4" />\r
+ <gd name="g14" fmla="*/ g13 1 16" />\r
+ <gd name="g15" fmla="*/ g13 1 8" />\r
+ <gd name="g16" fmla="*/ g13 3 16" />\r
+ <gd name="g17" fmla="*/ g13 5 16" />\r
+ <gd name="g18" fmla="*/ g13 7 16" />\r
+ <gd name="g19" fmla="*/ g13 9 16" />\r
+ <gd name="g20" fmla="*/ g13 11 16" />\r
+ <gd name="g21" fmla="*/ g13 3 4" />\r
+ <gd name="g22" fmla="*/ g13 13 16" />\r
+ <gd name="g23" fmla="*/ g13 7 8" />\r
+ <gd name="g24" fmla="+- g9 g14 0" />\r
+ <gd name="g25" fmla="+- g9 g16 0" />\r
+ <gd name="g26" fmla="+- g9 g17 0" />\r
+ <gd name="g27" fmla="+- g9 g21 0" />\r
+ <gd name="g28" fmla="+- g11 g15 0" />\r
+ <gd name="g29" fmla="+- g11 g18 0" />\r
+ <gd name="g30" fmla="+- g11 g19 0" />\r
+ <gd name="g31" fmla="+- g11 g20 0" />\r
+ <gd name="g32" fmla="+- g11 g22 0" />\r
+ <gd name="g33" fmla="+- g11 g23 0" />\r
+ </gdLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path stroke="false" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="hc" y="g9" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="g11" y="vc" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g28" y="vc" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g28" y="g10" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g33" y="g10" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g33" y="vc" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g12" y="vc" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g32" y="g26" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g32" y="g24" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g31" y="g24" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g31" y="g25" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path stroke="false" fill="darkenLess" extrusionOk="false">\r
+\r
+ <moveTo>\r
+ <pt x="g32" y="g26" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="g32" y="g24" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g31" y="g24" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g31" y="g25" />\r
+ </lnTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="g28" y="vc" />\r
+ </moveTo>\r
+\r
+ <lnTo>\r
+ <pt x="g28" y="g10" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g29" y="g10" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g29" y="g27" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g30" y="g27" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g30" y="g10" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g33" y="g10" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g33" y="vc" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path stroke="false" fill="darken" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="hc" y="g9" />\r
+ </moveTo>\r
+\r
+ <lnTo>\r
+ <pt x="g11" y="vc" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g12" y="vc" />\r
+ </lnTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="g29" y="g27" />\r
+ </moveTo>\r
+\r
+ <lnTo>\r
+ <pt x="g30" y="g27" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g30" y="g10" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g29" y="g10" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path fill="none" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="hc" y="g9" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="g31" y="g25" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g31" y="g24" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g32" y="g24" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g32" y="g26" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g12" y="vc" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g33" y="vc" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g33" y="g10" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g28" y="g10" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g28" y="vc" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g11" y="vc" />\r
+ </lnTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="g31" y="g25" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="g32" y="g26" />\r
+ </lnTo>\r
+\r
+ <moveTo>\r
+ <pt x="g33" y="vc" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="g28" y="vc" />\r
+ </lnTo>\r
+\r
+ <moveTo>\r
+ <pt x="g29" y="g10" />\r
+ </moveTo>\r
+\r
+ <lnTo>\r
+ <pt x="g29" y="g27" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g30" y="g27" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g30" y="g10" />\r
+ </lnTo>\r
+ </path>\r
+ <path fill="none">\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </actionButtonHome>\r
+ <actionButtonInformation>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="dx2" fmla="*/ ss 3 8" />\r
+ <gd name="g9" fmla="+- vc 0 dx2" />\r
+ <gd name="g11" fmla="+- hc 0 dx2" />\r
+ <gd name="g13" fmla="*/ ss 3 4" />\r
+ <gd name="g14" fmla="*/ g13 1 32" />\r
+ <gd name="g17" fmla="*/ g13 5 16" />\r
+ <gd name="g18" fmla="*/ g13 3 8" />\r
+ <gd name="g19" fmla="*/ g13 13 32" />\r
+ <gd name="g20" fmla="*/ g13 19 32" />\r
+ <gd name="g22" fmla="*/ g13 11 16" />\r
+ <gd name="g23" fmla="*/ g13 13 16" />\r
+ <gd name="g24" fmla="*/ g13 7 8" />\r
+ <gd name="g25" fmla="+- g9 g14 0" />\r
+ <gd name="g28" fmla="+- g9 g17 0" />\r
+ <gd name="g29" fmla="+- g9 g18 0" />\r
+ <gd name="g30" fmla="+- g9 g23 0" />\r
+ <gd name="g31" fmla="+- g9 g24 0" />\r
+ <gd name="g32" fmla="+- g11 g17 0" />\r
+ <gd name="g34" fmla="+- g11 g19 0" />\r
+ <gd name="g35" fmla="+- g11 g20 0" />\r
+ <gd name="g37" fmla="+- g11 g22 0" />\r
+ <gd name="g38" fmla="*/ g13 3 32" />\r
+ </gdLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path stroke="false" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="hc" y="g9" />\r
+ </moveTo>\r
+\r
+ <arcTo wR="dx2" hR="dx2" stAng="3cd4" swAng="21600000" />\r
+ <close />\r
+ </path>\r
+ <path stroke="false" fill="darken" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="hc" y="g9" />\r
+ </moveTo>\r
+\r
+ <arcTo wR="dx2" hR="dx2" stAng="3cd4" swAng="21600000" />\r
+ <close />\r
+ <moveTo>\r
+ <pt x="hc" y="g25" />\r
+ </moveTo>\r
+\r
+ <arcTo wR="g38" hR="g38" stAng="3cd4" swAng="21600000" />\r
+ <moveTo>\r
+ <pt x="g32" y="g28" />\r
+ </moveTo>\r
+\r
+ <lnTo>\r
+ <pt x="g32" y="g29" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g34" y="g29" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g34" y="g30" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g32" y="g30" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g32" y="g31" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g37" y="g31" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g37" y="g30" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g35" y="g30" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g35" y="g28" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path stroke="false" fill="lighten" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="hc" y="g25" />\r
+ </moveTo>\r
+\r
+ <arcTo wR="g38" hR="g38" stAng="3cd4" swAng="21600000" />\r
+ <moveTo>\r
+ <pt x="g32" y="g28" />\r
+ </moveTo>\r
+\r
+ <lnTo>\r
+ <pt x="g35" y="g28" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g35" y="g30" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g37" y="g30" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g37" y="g31" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g32" y="g31" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g32" y="g30" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g34" y="g30" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g34" y="g29" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g32" y="g29" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path fill="none" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="hc" y="g9" />\r
+ </moveTo>\r
+\r
+ <arcTo wR="dx2" hR="dx2" stAng="3cd4" swAng="21600000" />\r
+ <close />\r
+ <moveTo>\r
+ <pt x="hc" y="g25" />\r
+ </moveTo>\r
+\r
+ <arcTo wR="g38" hR="g38" stAng="3cd4" swAng="21600000" />\r
+ <moveTo>\r
+ <pt x="g32" y="g28" />\r
+ </moveTo>\r
+\r
+ <lnTo>\r
+ <pt x="g35" y="g28" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g35" y="g30" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g37" y="g30" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g37" y="g31" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g32" y="g31" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g32" y="g30" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g34" y="g30" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g34" y="g29" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g32" y="g29" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path fill="none">\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </actionButtonInformation>\r
+ <actionButtonMovie>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="dx2" fmla="*/ ss 3 8" />\r
+ <gd name="g9" fmla="+- vc 0 dx2" />\r
+ <gd name="g10" fmla="+- vc dx2 0" />\r
+ <gd name="g11" fmla="+- hc 0 dx2" />\r
+ <gd name="g12" fmla="+- hc dx2 0" />\r
+ <gd name="g13" fmla="*/ ss 3 4" />\r
+ <gd name="g14" fmla="*/ g13 1455 21600" />\r
+ <gd name="g15" fmla="*/ g13 1905 21600" />\r
+ <gd name="g16" fmla="*/ g13 2325 21600" />\r
+ <gd name="g17" fmla="*/ g13 16155 21600" />\r
+ <gd name="g18" fmla="*/ g13 17010 21600" />\r
+ <gd name="g19" fmla="*/ g13 19335 21600" />\r
+ <gd name="g20" fmla="*/ g13 19725 21600" />\r
+ <gd name="g21" fmla="*/ g13 20595 21600" />\r
+ <gd name="g22" fmla="*/ g13 5280 21600" />\r
+ <gd name="g23" fmla="*/ g13 5730 21600" />\r
+ <gd name="g24" fmla="*/ g13 6630 21600" />\r
+ <gd name="g25" fmla="*/ g13 7492 21600" />\r
+ <gd name="g26" fmla="*/ g13 9067 21600" />\r
+ <gd name="g27" fmla="*/ g13 9555 21600" />\r
+ <gd name="g28" fmla="*/ g13 13342 21600" />\r
+ <gd name="g29" fmla="*/ g13 14580 21600" />\r
+ <gd name="g30" fmla="*/ g13 15592 21600" />\r
+ <gd name="g31" fmla="+- g11 g14 0" />\r
+ <gd name="g32" fmla="+- g11 g15 0" />\r
+ <gd name="g33" fmla="+- g11 g16 0" />\r
+ <gd name="g34" fmla="+- g11 g17 0" />\r
+ <gd name="g35" fmla="+- g11 g18 0" />\r
+ <gd name="g36" fmla="+- g11 g19 0" />\r
+ <gd name="g37" fmla="+- g11 g20 0" />\r
+ <gd name="g38" fmla="+- g11 g21 0" />\r
+ <gd name="g39" fmla="+- g9 g22 0" />\r
+ <gd name="g40" fmla="+- g9 g23 0" />\r
+ <gd name="g41" fmla="+- g9 g24 0" />\r
+ <gd name="g42" fmla="+- g9 g25 0" />\r
+ <gd name="g43" fmla="+- g9 g26 0" />\r
+ <gd name="g44" fmla="+- g9 g27 0" />\r
+ <gd name="g45" fmla="+- g9 g28 0" />\r
+ <gd name="g46" fmla="+- g9 g29 0" />\r
+ <gd name="g47" fmla="+- g9 g30 0" />\r
+ <gd name="g48" fmla="+- g9 g31 0" />\r
+ </gdLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path stroke="false" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="g11" y="g39" />\r
+ </moveTo>\r
+\r
+ <lnTo>\r
+ <pt x="g11" y="g44" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g31" y="g44" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g32" y="g43" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g33" y="g43" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g33" y="g47" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g35" y="g47" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g35" y="g45" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g36" y="g45" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g38" y="g46" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g12" y="g46" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g12" y="g41" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g38" y="g41" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g37" y="g42" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g35" y="g42" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g35" y="g41" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g34" y="g40" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g32" y="g40" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g31" y="g39" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path stroke="false" fill="darken" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="g11" y="g39" />\r
+ </moveTo>\r
+\r
+ <lnTo>\r
+ <pt x="g11" y="g44" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g31" y="g44" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g32" y="g43" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g33" y="g43" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g33" y="g47" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g35" y="g47" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g35" y="g45" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g36" y="g45" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g38" y="g46" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g12" y="g46" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g12" y="g41" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g38" y="g41" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g37" y="g42" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g35" y="g42" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g35" y="g41" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g34" y="g40" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g32" y="g40" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g31" y="g39" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path fill="none" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="g11" y="g39" />\r
+ </moveTo>\r
+\r
+ <lnTo>\r
+ <pt x="g31" y="g39" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g32" y="g40" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g34" y="g40" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g35" y="g41" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g35" y="g42" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g37" y="g42" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g38" y="g41" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g12" y="g41" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g12" y="g46" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g38" y="g46" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g36" y="g45" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g35" y="g45" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g35" y="g47" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g33" y="g47" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g33" y="g43" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g32" y="g43" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g31" y="g44" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g11" y="g44" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path fill="none">\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </actionButtonMovie>\r
+ <actionButtonReturn>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="dx2" fmla="*/ ss 3 8" />\r
+ <gd name="g9" fmla="+- vc 0 dx2" />\r
+ <gd name="g10" fmla="+- vc dx2 0" />\r
+ <gd name="g11" fmla="+- hc 0 dx2" />\r
+ <gd name="g12" fmla="+- hc dx2 0" />\r
+ <gd name="g13" fmla="*/ ss 3 4" />\r
+ <gd name="g14" fmla="*/ g13 7 8" />\r
+ <gd name="g15" fmla="*/ g13 3 4" />\r
+ <gd name="g16" fmla="*/ g13 5 8" />\r
+ <gd name="g17" fmla="*/ g13 3 8" />\r
+ <gd name="g18" fmla="*/ g13 1 4" />\r
+ <gd name="g19" fmla="+- g9 g15 0" />\r
+ <gd name="g20" fmla="+- g9 g16 0" />\r
+ <gd name="g21" fmla="+- g9 g18 0" />\r
+ <gd name="g22" fmla="+- g11 g14 0" />\r
+ <gd name="g23" fmla="+- g11 g15 0" />\r
+ <gd name="g24" fmla="+- g11 g16 0" />\r
+ <gd name="g25" fmla="+- g11 g17 0" />\r
+ <gd name="g26" fmla="+- g11 g18 0" />\r
+ <gd name="g27" fmla="*/ g13 1 8" />\r
+ </gdLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path stroke="false" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="g12" y="g21" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="g23" y="g9" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="hc" y="g21" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g24" y="g21" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g24" y="g20" />\r
+ </lnTo>\r
+ <arcTo wR="g27" hR="g27" stAng="0" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="g25" y="g19" />\r
+ </lnTo>\r
+ <arcTo wR="g27" hR="g27" stAng="cd4" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="g26" y="g21" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g11" y="g21" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g11" y="g20" />\r
+ </lnTo>\r
+ <arcTo wR="g17" hR="g17" stAng="cd2" swAng="-5400000" />\r
+ <lnTo>\r
+ <pt x="hc" y="g10" />\r
+ </lnTo>\r
+ <arcTo wR="g17" hR="g17" stAng="cd4" swAng="-5400000" />\r
+ <lnTo>\r
+ <pt x="g22" y="g21" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path stroke="false" fill="darken" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="g12" y="g21" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="g23" y="g9" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="hc" y="g21" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g24" y="g21" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g24" y="g20" />\r
+ </lnTo>\r
+ <arcTo wR="g27" hR="g27" stAng="0" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="g25" y="g19" />\r
+ </lnTo>\r
+ <arcTo wR="g27" hR="g27" stAng="cd4" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="g26" y="g21" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g11" y="g21" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g11" y="g20" />\r
+ </lnTo>\r
+ <arcTo wR="g17" hR="g17" stAng="cd2" swAng="-5400000" />\r
+ <lnTo>\r
+ <pt x="hc" y="g10" />\r
+ </lnTo>\r
+ <arcTo wR="g17" hR="g17" stAng="cd4" swAng="-5400000" />\r
+ <lnTo>\r
+ <pt x="g22" y="g21" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path fill="none" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="g12" y="g21" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="g22" y="g21" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g22" y="g20" />\r
+ </lnTo>\r
+ <arcTo wR="g17" hR="g17" stAng="0" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="g25" y="g10" />\r
+ </lnTo>\r
+ <arcTo wR="g17" hR="g17" stAng="cd4" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="g11" y="g21" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g26" y="g21" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g26" y="g20" />\r
+ </lnTo>\r
+ <arcTo wR="g27" hR="g27" stAng="cd2" swAng="-5400000" />\r
+ <lnTo>\r
+ <pt x="hc" y="g19" />\r
+ </lnTo>\r
+ <arcTo wR="g27" hR="g27" stAng="cd4" swAng="-5400000" />\r
+ <lnTo>\r
+ <pt x="g24" y="g21" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="hc" y="g21" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g23" y="g9" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path fill="none">\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </actionButtonReturn>\r
+ <actionButtonSound>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="dx2" fmla="*/ ss 3 8" />\r
+ <gd name="g9" fmla="+- vc 0 dx2" />\r
+ <gd name="g10" fmla="+- vc dx2 0" />\r
+ <gd name="g11" fmla="+- hc 0 dx2" />\r
+ <gd name="g12" fmla="+- hc dx2 0" />\r
+ <gd name="g13" fmla="*/ ss 3 4" />\r
+ <gd name="g14" fmla="*/ g13 1 8" />\r
+ <gd name="g15" fmla="*/ g13 5 16" />\r
+ <gd name="g16" fmla="*/ g13 5 8" />\r
+ <gd name="g17" fmla="*/ g13 11 16" />\r
+ <gd name="g18" fmla="*/ g13 3 4" />\r
+ <gd name="g19" fmla="*/ g13 7 8" />\r
+ <gd name="g20" fmla="+- g9 g14 0" />\r
+ <gd name="g21" fmla="+- g9 g15 0" />\r
+ <gd name="g22" fmla="+- g9 g17 0" />\r
+ <gd name="g23" fmla="+- g9 g19 0" />\r
+ <gd name="g24" fmla="+- g11 g15 0" />\r
+ <gd name="g25" fmla="+- g11 g16 0" />\r
+ <gd name="g26" fmla="+- g11 g18 0" />\r
+ </gdLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path stroke="false" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="g11" y="g21" />\r
+ </moveTo>\r
+\r
+ <lnTo>\r
+ <pt x="g11" y="g22" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g24" y="g22" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g25" y="g10" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g25" y="g9" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g24" y="g21" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path stroke="false" fill="darken" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="g11" y="g21" />\r
+ </moveTo>\r
+\r
+ <lnTo>\r
+ <pt x="g11" y="g22" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g24" y="g22" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g25" y="g10" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g25" y="g9" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g24" y="g21" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path fill="none" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="g11" y="g21" />\r
+ </moveTo>\r
+\r
+ <lnTo>\r
+ <pt x="g24" y="g21" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g25" y="g9" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g25" y="g10" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g24" y="g22" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="g11" y="g22" />\r
+ </lnTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="g26" y="g21" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="g12" y="g20" />\r
+ </lnTo>\r
+ <moveTo>\r
+ <pt x="g26" y="vc" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="g12" y="vc" />\r
+ </lnTo>\r
+ <moveTo>\r
+ <pt x="g26" y="g22" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="g12" y="g23" />\r
+ </lnTo>\r
+ </path>\r
+ <path fill="none">\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </actionButtonSound>\r
+ <arc>\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 16200000" />\r
+ <gd name="adj2" fmla="val 0" />\r
+ </avLst>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="stAng" fmla="pin 0 adj1 21599999" />\r
+ <gd name="enAng" fmla="pin 0 adj2 21599999" />\r
+ <gd name="sw11" fmla="+- enAng 0 stAng" />\r
+ <gd name="sw12" fmla="+- sw11 21600000 0" />\r
+ <gd name="swAng" fmla="?: sw11 sw11 sw12" />\r
+ <gd name="wt1" fmla="sin wd2 stAng" />\r
+ <gd name="ht1" fmla="cos hd2 stAng" />\r
+ <gd name="dx1" fmla="cat2 wd2 ht1 wt1" />\r
+ <gd name="dy1" fmla="sat2 hd2 ht1 wt1" />\r
+ <gd name="wt2" fmla="sin wd2 enAng" />\r
+ <gd name="ht2" fmla="cos hd2 enAng" />\r
+ <gd name="dx2" fmla="cat2 wd2 ht2 wt2" />\r
+ <gd name="dy2" fmla="sat2 hd2 ht2 wt2" />\r
+ <gd name="x1" fmla="+- hc dx1 0" />\r
+ <gd name="y1" fmla="+- vc dy1 0" />\r
+ <gd name="x2" fmla="+- hc dx2 0" />\r
+ <gd name="y2" fmla="+- vc dy2 0" />\r
+ <gd name="sw0" fmla="+- 21600000 0 stAng" />\r
+ <gd name="da1" fmla="+- swAng 0 sw0" />\r
+ <gd name="g1" fmla="max x1 x2" />\r
+ <gd name="ir" fmla="?: da1 r g1" />\r
+ <gd name="sw1" fmla="+- cd4 0 stAng" />\r
+ <gd name="sw2" fmla="+- 27000000 0 stAng" />\r
+ <gd name="sw3" fmla="?: sw1 sw1 sw2" />\r
+ <gd name="da2" fmla="+- swAng 0 sw3" />\r
+ <gd name="g5" fmla="max y1 y2" />\r
+ <gd name="ib" fmla="?: da2 b g5" />\r
+ <gd name="sw4" fmla="+- cd2 0 stAng" />\r
+ <gd name="sw5" fmla="+- 32400000 0 stAng" />\r
+ <gd name="sw6" fmla="?: sw4 sw4 sw5" />\r
+ <gd name="da3" fmla="+- swAng 0 sw6" />\r
+ <gd name="g9" fmla="min x1 x2" />\r
+ <gd name="il" fmla="?: da3 l g9" />\r
+ <gd name="sw7" fmla="+- 3cd4 0 stAng" />\r
+ <gd name="sw8" fmla="+- 37800000 0 stAng" />\r
+ <gd name="sw9" fmla="?: sw7 sw7 sw8" />\r
+ <gd name="da4" fmla="+- swAng 0 sw9" />\r
+ <gd name="g13" fmla="min y1 y2" />\r
+ <gd name="it" fmla="?: da4 t g13" />\r
+ <gd name="cang1" fmla="+- stAng 0 cd4" />\r
+ <gd name="cang2" fmla="+- enAng cd4 0" />\r
+ <gd name="cang3" fmla="+/ cang1 cang2 2" />\r
+ </gdLst>\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahPolar gdRefAng="adj1" minAng="0" maxAng="21599999">\r
+ <pos x="x1" y="y1" />\r
+ </ahPolar>\r
+ <ahPolar gdRefAng="adj2" minAng="0" maxAng="21599999">\r
+ <pos x="x2" y="y2" />\r
+ </ahPolar>\r
+ </ahLst>\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="cang1">\r
+ <pos x="x1" y="y1" />\r
+ </cxn>\r
+ <cxn ang="cang3">\r
+ <pos x="hc" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cang2">\r
+ <pos x="x2" y="y2" />\r
+ </cxn>\r
+ </cxnLst>\r
+ <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path stroke="false" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="x1" y="y1" />\r
+ </moveTo>\r
+ <arcTo wR="wd2" hR="hd2" stAng="stAng" swAng="swAng" />\r
+ <lnTo>\r
+ <pt x="hc" y="vc" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path fill="none">\r
+ <moveTo>\r
+ <pt x="x1" y="y1" />\r
+ </moveTo>\r
+ <arcTo wR="wd2" hR="hd2" stAng="stAng" swAng="swAng" />\r
+ </path>\r
+ </pathLst>\r
+ </arc>\r
+ <bentArrow>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 25000" />\r
+\r
+ <gd name="adj2" fmla="val 25000" />\r
+\r
+ <gd name="adj3" fmla="val 25000" />\r
+\r
+ <gd name="adj4" fmla="val 43750" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a2" fmla="pin 0 adj2 50000" />\r
+ <gd name="maxAdj1" fmla="*/ a2 2 1" />\r
+\r
+ <gd name="a1" fmla="pin 0 adj1 maxAdj1" />\r
+ <gd name="a3" fmla="pin 0 adj3 50000" />\r
+ <gd name="th" fmla="*/ ss a1 100000" />\r
+\r
+ <gd name="aw2" fmla="*/ ss a2 100000" />\r
+\r
+ <gd name="th2" fmla="*/ th 1 2" />\r
+ <gd name="dh2" fmla="+- aw2 0 th2" />\r
+\r
+ <gd name="ah" fmla="*/ ss a3 100000" />\r
+\r
+ <gd name="bw" fmla="+- r 0 ah" />\r
+\r
+ <gd name="bh" fmla="+- b 0 dh2" />\r
+\r
+ <gd name="bs" fmla="min bw bh" />\r
+\r
+ <gd name="maxAdj4" fmla="*/ 100000 bs ss" />\r
+ <gd name="a4" fmla="pin 0 adj4 maxAdj4" />\r
+\r
+ <gd name="bd" fmla="*/ ss a4 100000" />\r
+\r
+\r
+ <gd name="bd3" fmla="+- bd 0 th" />\r
+ <gd name="bd2" fmla="max bd3 0" />\r
+ <gd name="x3" fmla="+- th bd2 0" />\r
+ <gd name="x4" fmla="+- r 0 ah" />\r
+\r
+\r
+ <gd name="y3" fmla="+- dh2 th 0" />\r
+ <gd name="y4" fmla="+- y3 dh2 0" />\r
+ <gd name="y5" fmla="+- dh2 bd 0" />\r
+ <gd name="y6" fmla="+- y3 bd2 0" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj1" minX="0" maxX="maxAdj1">\r
+ <pos x="th" y="b" />\r
+ </ahXY>\r
+ <ahXY gdRefY="adj2" minY="0" maxY="50000">\r
+ <pos x="r" y="y4" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj3" minX="0" maxX="50000">\r
+ <pos x="x4" y="t" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj4" minX="0" maxX="maxAdj4">\r
+ <pos x="bd" y="t" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="x4" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x4" y="y4" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="th2" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="aw2" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="b" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="l" y="y5" />\r
+ </lnTo>\r
+ <arcTo wR="bd" hR="bd" stAng="cd2" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="x4" y="dh2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="aw2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y3" />\r
+ </lnTo>\r
+ <arcTo wR="bd2" hR="bd2" stAng="3cd4" swAng="-5400000" />\r
+ <lnTo>\r
+ <pt x="th" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </bentArrow>\r
+ <bentConnector2>\r
+ <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path fill="none">\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ </path>\r
+ </pathLst>\r
+ </bentConnector2>\r
+ <bentConnector3>\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 50000" />\r
+ </avLst>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="x1" fmla="*/ w adj1 100000" />\r
+ </gdLst>\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj1" minX="-2147483647" maxX="2147483647">\r
+ <pos x="x1" y="vc" />\r
+ </ahXY>\r
+ </ahLst>\r
+ <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path fill="none">\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x1" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ </path>\r
+ </pathLst>\r
+ </bentConnector3>\r
+ <bentConnector4>\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 50000" />\r
+ <gd name="adj2" fmla="val 50000" />\r
+ </avLst>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="x1" fmla="*/ w adj1 100000" />\r
+ <gd name="x2" fmla="+/ x1 r 2" />\r
+ <gd name="y2" fmla="*/ h adj2 100000" />\r
+ <gd name="y1" fmla="+/ t y2 2" />\r
+ </gdLst>\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj1" minX="-2147483647" maxX="2147483647">\r
+ <pos x="x1" y="y1" />\r
+ </ahXY>\r
+ <ahXY gdRefY="adj2" minY="-2147483647" maxY="2147483647">\r
+ <pos x="x2" y="y2" />\r
+ </ahXY>\r
+ </ahLst>\r
+ <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path fill="none">\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x1" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ </path>\r
+ </pathLst>\r
+ </bentConnector4>\r
+ <bentConnector5>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 50000" />\r
+\r
+ <gd name="adj2" fmla="val 50000" />\r
+\r
+ <gd name="adj3" fmla="val 50000" />\r
+\r
+ </avLst>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="x1" fmla="*/ w adj1 100000" />\r
+\r
+ <gd name="x3" fmla="*/ w adj3 100000" />\r
+\r
+ <gd name="x2" fmla="+/ x1 x3 2" />\r
+\r
+ <gd name="y2" fmla="*/ h adj2 100000" />\r
+\r
+ <gd name="y1" fmla="+/ t y2 2" />\r
+\r
+ <gd name="y3" fmla="+/ b y2 2" />\r
+\r
+ </gdLst>\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj1" minX="-2147483647" maxX="2147483647">\r
+ <pos x="x1" y="y1" />\r
+ </ahXY>\r
+ <ahXY gdRefY="adj2" minY="-2147483647" maxY="2147483647">\r
+ <pos x="x2" y="y2" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj3" minX="-2147483647" maxX="2147483647">\r
+ <pos x="x3" y="y3" />\r
+ </ahXY>\r
+ </ahLst>\r
+ <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path fill="none">\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x1" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ </path>\r
+ </pathLst>\r
+\r
+ </bentConnector5>\r
+ <bentUpArrow>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 25000" />\r
+\r
+ <gd name="adj2" fmla="val 25000" />\r
+\r
+ <gd name="adj3" fmla="val 25000" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a1" fmla="pin 0 adj1 50000" />\r
+ <gd name="a2" fmla="pin 0 adj2 50000" />\r
+ <gd name="a3" fmla="pin 0 adj3 50000" />\r
+ <gd name="y1" fmla="*/ ss a3 100000" />\r
+ <gd name="dx1" fmla="*/ ss a2 50000" />\r
+\r
+ <gd name="x1" fmla="+- r 0 dx1" />\r
+ <gd name="dx3" fmla="*/ ss a2 100000" />\r
+\r
+ <gd name="x3" fmla="+- r 0 dx3" />\r
+ <gd name="dx2" fmla="*/ ss a1 200000" />\r
+\r
+ <gd name="x2" fmla="+- x3 0 dx2" />\r
+ <gd name="x4" fmla="+- x3 dx2 0" />\r
+ <gd name="dy2" fmla="*/ ss a1 100000" />\r
+\r
+ <gd name="y2" fmla="+- b 0 dy2" />\r
+ <gd name="x0" fmla="*/ x4 1 2" />\r
+ <gd name="y3" fmla="+/ y2 b 2" />\r
+ <gd name="y15" fmla="+/ y1 b 2" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj1" minY="0" maxY="50000">\r
+ <pos x="l" y="y2" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj2" minX="0" maxX="50000">\r
+ <pos x="x1" y="t" />\r
+ </ahXY>\r
+ <ahXY gdRefY="adj3" minY="0" maxY="50000">\r
+ <pos x="x2" y="y1" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="x3" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="x1" y="y1" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="y3" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x0" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="x4" y="y15" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="y1" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="l" t="y2" r="x4" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="y2" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </bentUpArrow>\r
+ <bevel>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj" fmla="val 12500" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a" fmla="pin 0 adj 50000" />\r
+ <gd name="x1" fmla="*/ ss a 100000" />\r
+\r
+\r
+\r
+ <gd name="x2" fmla="+- r 0 x1" />\r
+\r
+ <gd name="y2" fmla="+- b 0 x1" />\r
+\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj" minX="0" maxX="50000">\r
+ <pos x="x1" y="t" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="x2" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="y2" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="x1" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="x1" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="x1" t="x1" r="x2" b="y2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path stroke="false" extrusionOk="false">\r
+\r
+ <moveTo>\r
+ <pt x="x1" y="x1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x2" y="x1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y2" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path stroke="false" fill="lightenLess" extrusionOk="false">\r
+\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="x1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="x1" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path stroke="false" fill="darkenLess" extrusionOk="false">\r
+\r
+ <moveTo>\r
+ <pt x="l" y="b" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path stroke="false" fill="lighten" extrusionOk="false">\r
+\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x1" y="x1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path stroke="false" fill="darken" extrusionOk="false">\r
+\r
+ <moveTo>\r
+ <pt x="r" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="x1" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path fill="none" extrusionOk="false">\r
+\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="x1" y="x1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x2" y="x1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y2" />\r
+ </lnTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x1" y="x1" />\r
+ </lnTo>\r
+ <moveTo>\r
+ <pt x="l" y="b" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y2" />\r
+ </lnTo>\r
+ <moveTo>\r
+ <pt x="r" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x2" y="x1" />\r
+ </lnTo>\r
+ <moveTo>\r
+ <pt x="r" y="b" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y2" />\r
+ </lnTo>\r
+ </path>\r
+ </pathLst>\r
+\r
+ </bevel>\r
+ <blockArc>\r
+\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 10800000" />\r
+\r
+ <gd name="adj2" fmla="val 0" />\r
+\r
+ <gd name="adj3" fmla="val 25000" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="stAng" fmla="pin 0 adj1 21599999" />\r
+ <gd name="istAng" fmla="pin 0 adj2 21599999" />\r
+ <gd name="a3" fmla="pin 0 adj3 50000" />\r
+ <gd name="sw11" fmla="+- istAng 0 stAng" />\r
+\r
+ <gd name="sw12" fmla="+- sw11 21600000 0" />\r
+\r
+ <gd name="swAng" fmla="?: sw11 sw11 sw12" />\r
+\r
+ <gd name="iswAng" fmla="+- 0 0 swAng" />\r
+\r
+\r
+ <gd name="wt1" fmla="sin wd2 stAng" />\r
+ <gd name="ht1" fmla="cos hd2 stAng" />\r
+ <gd name="wt3" fmla="sin wd2 istAng" />\r
+ <gd name="ht3" fmla="cos hd2 istAng" />\r
+ <gd name="dx1" fmla="cat2 wd2 ht1 wt1" />\r
+ <gd name="dy1" fmla="sat2 hd2 ht1 wt1" />\r
+ <gd name="dx3" fmla="cat2 wd2 ht3 wt3" />\r
+ <gd name="dy3" fmla="sat2 hd2 ht3 wt3" />\r
+ <gd name="x1" fmla="+- hc dx1 0" />\r
+\r
+ <gd name="y1" fmla="+- vc dy1 0" />\r
+\r
+ <gd name="x3" fmla="+- hc dx3 0" />\r
+\r
+ <gd name="y3" fmla="+- vc dy3 0" />\r
+\r
+\r
+ <gd name="dr" fmla="*/ ss a3 100000" />\r
+ <gd name="iwd2" fmla="+- wd2 0 dr" />\r
+ <gd name="ihd2" fmla="+- hd2 0 dr" />\r
+ <gd name="wt2" fmla="sin iwd2 istAng" />\r
+ <gd name="ht2" fmla="cos ihd2 istAng" />\r
+ <gd name="wt4" fmla="sin iwd2 stAng" />\r
+ <gd name="ht4" fmla="cos ihd2 stAng" />\r
+ <gd name="dx2" fmla="cat2 iwd2 ht2 wt2" />\r
+ <gd name="dy2" fmla="sat2 ihd2 ht2 wt2" />\r
+ <gd name="dx4" fmla="cat2 iwd2 ht4 wt4" />\r
+ <gd name="dy4" fmla="sat2 ihd2 ht4 wt4" />\r
+ <gd name="x2" fmla="+- hc dx2 0" />\r
+\r
+ <gd name="y2" fmla="+- vc dy2 0" />\r
+\r
+ <gd name="x4" fmla="+- hc dx4 0" />\r
+\r
+ <gd name="y4" fmla="+- vc dy4 0" />\r
+\r
+\r
+ <gd name="sw0" fmla="+- 21600000 0 stAng" />\r
+ <gd name="da1" fmla="+- swAng 0 sw0" />\r
+ <gd name="g1" fmla="max x1 x2" />\r
+ <gd name="g2" fmla="max x3 x4" />\r
+ <gd name="g3" fmla="max g1 g2" />\r
+ <gd name="ir" fmla="?: da1 r g3" />\r
+\r
+ <gd name="sw1" fmla="+- cd4 0 stAng" />\r
+ <gd name="sw2" fmla="+- 27000000 0 stAng" />\r
+ <gd name="sw3" fmla="?: sw1 sw1 sw2" />\r
+ <gd name="da2" fmla="+- swAng 0 sw3" />\r
+ <gd name="g5" fmla="max y1 y2" />\r
+ <gd name="g6" fmla="max y3 y4" />\r
+ <gd name="g7" fmla="max g5 g6" />\r
+ <gd name="ib" fmla="?: da2 b g7" />\r
+\r
+ <gd name="sw4" fmla="+- cd2 0 stAng" />\r
+ <gd name="sw5" fmla="+- 32400000 0 stAng" />\r
+ <gd name="sw6" fmla="?: sw4 sw4 sw5" />\r
+ <gd name="da3" fmla="+- swAng 0 sw6" />\r
+ <gd name="g9" fmla="min x1 x2" />\r
+ <gd name="g10" fmla="min x3 x4" />\r
+ <gd name="g11" fmla="min g9 g10" />\r
+ <gd name="il" fmla="?: da3 l g11" />\r
+\r
+ <gd name="sw7" fmla="+- 3cd4 0 stAng" />\r
+ <gd name="sw8" fmla="+- 37800000 0 stAng" />\r
+ <gd name="sw9" fmla="?: sw7 sw7 sw8" />\r
+ <gd name="da4" fmla="+- swAng 0 sw9" />\r
+ <gd name="g13" fmla="min y1 y2" />\r
+ <gd name="g14" fmla="min y3 y4" />\r
+ <gd name="g15" fmla="min g13 g14" />\r
+ <gd name="it" fmla="?: da4 t g15" />\r
+\r
+ <gd name="x5" fmla="+/ x1 x4 2" />\r
+\r
+ <gd name="y5" fmla="+/ y1 y4 2" />\r
+\r
+ <gd name="x6" fmla="+/ x3 x2 2" />\r
+\r
+ <gd name="y6" fmla="+/ y3 y2 2" />\r
+\r
+ <gd name="cang1" fmla="+- stAng 0 cd4" />\r
+ <gd name="cang2" fmla="+- istAng cd4 0" />\r
+ <gd name="cang3" fmla="+/ cang1 cang2 2" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahPolar gdRefAng="adj1" minAng="0" maxAng="21599999">\r
+ <pos x="x1" y="y1" />\r
+ </ahPolar>\r
+ <ahPolar gdRefR="adj3" minR="0" maxR="50000" gdRefAng="adj2" minAng="0" maxAng="21599999">\r
+ <pos x="x2" y="y2" />\r
+ </ahPolar>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="cang1">\r
+ <pos x="x5" y="y5" />\r
+ </cxn>\r
+ <cxn ang="cang2">\r
+ <pos x="x6" y="y6" />\r
+ </cxn>\r
+ <cxn ang="cang3">\r
+ <pos x="hc" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="x1" y="y1" />\r
+ </moveTo>\r
+ <arcTo wR="wd2" hR="hd2" stAng="stAng" swAng="swAng" />\r
+ <lnTo>\r
+ <pt x="x2" y="y2" />\r
+ </lnTo>\r
+ <arcTo wR="iwd2" hR="ihd2" stAng="istAng" swAng="iswAng" />\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </blockArc>\r
+ <borderCallout1>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+\r
+ <gd name="adj1" fmla="val 18750" />\r
+\r
+ <gd name="adj2" fmla="val -8333" />\r
+\r
+ <gd name="adj3" fmla="val 112500" />\r
+\r
+ <gd name="adj4" fmla="val -38333" />\r
+\r
+ </avLst>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="y1" fmla="*/ h adj1 100000" />\r
+ <gd name="x1" fmla="*/ w adj2 100000" />\r
+ <gd name="y2" fmla="*/ h adj3 100000" />\r
+ <gd name="x2" fmla="*/ w adj4 100000" />\r
+ </gdLst>\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">\r
+ <pos x="x1" y="y1" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">\r
+ <pos x="x2" y="y2" />\r
+ </ahXY>\r
+ </ahLst>\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ </cxnLst>\r
+ <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path fill="none" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="x1" y="y1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y2" />\r
+ </lnTo>\r
+ </path>\r
+ </pathLst>\r
+\r
+ </borderCallout1>\r
+ <borderCallout2>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+\r
+ <gd name="adj1" fmla="val 18750" />\r
+\r
+ <gd name="adj2" fmla="val -8333" />\r
+\r
+ <gd name="adj3" fmla="val 18750" />\r
+\r
+ <gd name="adj4" fmla="val -16667" />\r
+\r
+ <gd name="adj5" fmla="val 112500" />\r
+\r
+ <gd name="adj6" fmla="val -46667" />\r
+\r
+ </avLst>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="y1" fmla="*/ h adj1 100000" />\r
+ <gd name="x1" fmla="*/ w adj2 100000" />\r
+ <gd name="y2" fmla="*/ h adj3 100000" />\r
+ <gd name="x2" fmla="*/ w adj4 100000" />\r
+ <gd name="y3" fmla="*/ h adj5 100000" />\r
+ <gd name="x3" fmla="*/ w adj6 100000" />\r
+ </gdLst>\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">\r
+ <pos x="x1" y="y1" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">\r
+ <pos x="x2" y="y2" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj6" minX="-2147483647" maxX="2147483647" gdRefY="adj5" minY="-2147483647" maxY="2147483647">\r
+ <pos x="x3" y="y3" />\r
+ </ahXY>\r
+ </ahLst>\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ </cxnLst>\r
+ <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path fill="none" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="x1" y="y1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y3" />\r
+ </lnTo>\r
+ </path>\r
+ </pathLst>\r
+\r
+ </borderCallout2>\r
+ <borderCallout3>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+\r
+ <gd name="adj1" fmla="val 18750" />\r
+\r
+ <gd name="adj2" fmla="val -8333" />\r
+\r
+ <gd name="adj3" fmla="val 18750" />\r
+\r
+ <gd name="adj4" fmla="val -16667" />\r
+\r
+ <gd name="adj5" fmla="val 100000" />\r
+\r
+ <gd name="adj6" fmla="val -16667" />\r
+\r
+ <gd name="adj7" fmla="val 112963" />\r
+\r
+ <gd name="adj8" fmla="val -8333" />\r
+\r
+ </avLst>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="y1" fmla="*/ h adj1 100000" />\r
+ <gd name="x1" fmla="*/ w adj2 100000" />\r
+ <gd name="y2" fmla="*/ h adj3 100000" />\r
+ <gd name="x2" fmla="*/ w adj4 100000" />\r
+ <gd name="y3" fmla="*/ h adj5 100000" />\r
+ <gd name="x3" fmla="*/ w adj6 100000" />\r
+ <gd name="y4" fmla="*/ h adj7 100000" />\r
+ <gd name="x4" fmla="*/ w adj8 100000" />\r
+ </gdLst>\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">\r
+ <pos x="x1" y="y1" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">\r
+ <pos x="x2" y="y2" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj6" minX="-2147483647" maxX="2147483647" gdRefY="adj5" minY="-2147483647" maxY="2147483647">\r
+ <pos x="x3" y="y3" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj8" minX="-2147483647" maxX="2147483647" gdRefY="adj7" minY="-2147483647" maxY="2147483647">\r
+ <pos x="x4" y="y4" />\r
+ </ahXY>\r
+ </ahLst>\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ </cxnLst>\r
+ <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path fill="none" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="x1" y="y1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y4" />\r
+ </lnTo>\r
+ </path>\r
+ </pathLst>\r
+\r
+ </borderCallout3>\r
+ <bracePair>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj" fmla="val 8333" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a" fmla="pin 0 adj 25000" />\r
+ <gd name="x1" fmla="*/ ss a 100000" />\r
+ <gd name="x2" fmla="*/ ss a 50000" />\r
+ <gd name="x3" fmla="+- r 0 x2" />\r
+ <gd name="x4" fmla="+- r 0 x1" />\r
+\r
+ <gd name="y2" fmla="+- vc 0 x1" />\r
+ <gd name="y3" fmla="+- vc x1 0" />\r
+ <gd name="y4" fmla="+- b 0 x1" />\r
+ <gd name="it" fmla="*/ x1 29289 100000" />\r
+\r
+ <gd name="il" fmla="+- x1 it 0" />\r
+ <gd name="ir" fmla="+- r 0 il" />\r
+ <gd name="ib" fmla="+- b 0 it" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj" minY="0" maxY="25000">\r
+ <pos x="l" y="x1" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="il" t="il" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path stroke="false" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="x2" y="b" />\r
+ </moveTo>\r
+ <arcTo wR="x1" hR="x1" stAng="cd4" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="x1" y="y3" />\r
+ </lnTo>\r
+ <arcTo wR="x1" hR="x1" stAng="0" swAng="-5400000" />\r
+ <arcTo wR="x1" hR="x1" stAng="cd4" swAng="-5400000" />\r
+ <lnTo>\r
+ <pt x="x1" y="x1" />\r
+ </lnTo>\r
+ <arcTo wR="x1" hR="x1" stAng="cd2" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="x3" y="t" />\r
+ </lnTo>\r
+ <arcTo wR="x1" hR="x1" stAng="3cd4" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="x4" y="y2" />\r
+ </lnTo>\r
+ <arcTo wR="x1" hR="x1" stAng="cd2" swAng="-5400000" />\r
+ <arcTo wR="x1" hR="x1" stAng="3cd4" swAng="-5400000" />\r
+ <lnTo>\r
+ <pt x="x4" y="y4" />\r
+ </lnTo>\r
+ <arcTo wR="x1" hR="x1" stAng="0" swAng="cd4" />\r
+ <close />\r
+ </path>\r
+ <path fill="none">\r
+ <moveTo>\r
+ <pt x="x2" y="b" />\r
+ </moveTo>\r
+ <arcTo wR="x1" hR="x1" stAng="cd4" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="x1" y="y3" />\r
+ </lnTo>\r
+ <arcTo wR="x1" hR="x1" stAng="0" swAng="-5400000" />\r
+ <arcTo wR="x1" hR="x1" stAng="cd4" swAng="-5400000" />\r
+ <lnTo>\r
+ <pt x="x1" y="x1" />\r
+ </lnTo>\r
+ <arcTo wR="x1" hR="x1" stAng="cd2" swAng="cd4" />\r
+ <moveTo>\r
+ <pt x="x3" y="t" />\r
+ </moveTo>\r
+ <arcTo wR="x1" hR="x1" stAng="3cd4" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="x4" y="y2" />\r
+ </lnTo>\r
+ <arcTo wR="x1" hR="x1" stAng="cd2" swAng="-5400000" />\r
+ <arcTo wR="x1" hR="x1" stAng="3cd4" swAng="-5400000" />\r
+ <lnTo>\r
+ <pt x="x4" y="y4" />\r
+ </lnTo>\r
+ <arcTo wR="x1" hR="x1" stAng="0" swAng="cd4" />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </bracePair>\r
+ <bracketPair>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj" fmla="val 16667" />\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a" fmla="pin 0 adj 50000" />\r
+ <gd name="x1" fmla="*/ ss a 100000" />\r
+ <gd name="x2" fmla="+- r 0 x1" />\r
+\r
+ <gd name="y2" fmla="+- b 0 x1" />\r
+ <gd name="il" fmla="*/ x1 29289 100000" />\r
+\r
+\r
+ <gd name="ir" fmla="+- r 0 il" />\r
+ <gd name="ib" fmla="+- b 0 il" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj" minY="0" maxY="50000">\r
+ <pos x="l" y="x1" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="il" t="il" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path stroke="false" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="l" y="x1" />\r
+ </moveTo>\r
+ <arcTo wR="x1" hR="x1" stAng="cd2" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="x2" y="t" />\r
+ </lnTo>\r
+ <arcTo wR="x1" hR="x1" stAng="3cd4" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="r" y="y2" />\r
+ </lnTo>\r
+ <arcTo wR="x1" hR="x1" stAng="0" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="x1" y="b" />\r
+ </lnTo>\r
+ <arcTo wR="x1" hR="x1" stAng="cd4" swAng="cd4" />\r
+ <close />\r
+ </path>\r
+ <path fill="none">\r
+ <moveTo>\r
+ <pt x="x1" y="b" />\r
+ </moveTo>\r
+ <arcTo wR="x1" hR="x1" stAng="cd4" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="l" y="x1" />\r
+ </lnTo>\r
+ <arcTo wR="x1" hR="x1" stAng="cd2" swAng="cd4" />\r
+ <moveTo>\r
+ <pt x="x2" y="t" />\r
+ </moveTo>\r
+ <arcTo wR="x1" hR="x1" stAng="3cd4" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="r" y="y2" />\r
+ </lnTo>\r
+ <arcTo wR="x1" hR="x1" stAng="0" swAng="cd4" />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </bracketPair>\r
+ <callout1>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+\r
+ <gd name="adj1" fmla="val 18750" />\r
+\r
+ <gd name="adj2" fmla="val -8333" />\r
+\r
+ <gd name="adj3" fmla="val 112500" />\r
+\r
+ <gd name="adj4" fmla="val -38333" />\r
+\r
+ </avLst>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="y1" fmla="*/ h adj1 100000" />\r
+ <gd name="x1" fmla="*/ w adj2 100000" />\r
+ <gd name="y2" fmla="*/ h adj3 100000" />\r
+ <gd name="x2" fmla="*/ w adj4 100000" />\r
+ </gdLst>\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">\r
+ <pos x="x1" y="y1" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">\r
+ <pos x="x2" y="y2" />\r
+ </ahXY>\r
+ </ahLst>\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ </cxnLst>\r
+ <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path stroke="false" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path fill="none" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="x1" y="y1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y2" />\r
+ </lnTo>\r
+ </path>\r
+ </pathLst>\r
+\r
+ </callout1>\r
+ <callout2>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+\r
+ <gd name="adj1" fmla="val 18750" />\r
+\r
+ <gd name="adj2" fmla="val -8333" />\r
+\r
+ <gd name="adj3" fmla="val 18750" />\r
+\r
+ <gd name="adj4" fmla="val -16667" />\r
+\r
+ <gd name="adj5" fmla="val 112500" />\r
+\r
+ <gd name="adj6" fmla="val -46667" />\r
+\r
+ </avLst>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="y1" fmla="*/ h adj1 100000" />\r
+ <gd name="x1" fmla="*/ w adj2 100000" />\r
+ <gd name="y2" fmla="*/ h adj3 100000" />\r
+ <gd name="x2" fmla="*/ w adj4 100000" />\r
+ <gd name="y3" fmla="*/ h adj5 100000" />\r
+ <gd name="x3" fmla="*/ w adj6 100000" />\r
+ </gdLst>\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">\r
+ <pos x="x1" y="y1" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">\r
+ <pos x="x2" y="y2" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj6" minX="-2147483647" maxX="2147483647" gdRefY="adj5" minY="-2147483647" maxY="2147483647">\r
+ <pos x="x3" y="y3" />\r
+ </ahXY>\r
+ </ahLst>\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ </cxnLst>\r
+ <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path stroke="false" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path fill="none" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="x1" y="y1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y3" />\r
+ </lnTo>\r
+ </path>\r
+ </pathLst>\r
+\r
+ </callout2>\r
+ <callout3>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+\r
+ <gd name="adj1" fmla="val 18750" />\r
+\r
+ <gd name="adj2" fmla="val -8333" />\r
+\r
+ <gd name="adj3" fmla="val 18750" />\r
+\r
+ <gd name="adj4" fmla="val -16667" />\r
+\r
+ <gd name="adj5" fmla="val 100000" />\r
+\r
+ <gd name="adj6" fmla="val -16667" />\r
+\r
+ <gd name="adj7" fmla="val 112963" />\r
+\r
+ <gd name="adj8" fmla="val -8333" />\r
+\r
+ </avLst>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="y1" fmla="*/ h adj1 100000" />\r
+ <gd name="x1" fmla="*/ w adj2 100000" />\r
+ <gd name="y2" fmla="*/ h adj3 100000" />\r
+ <gd name="x2" fmla="*/ w adj4 100000" />\r
+ <gd name="y3" fmla="*/ h adj5 100000" />\r
+ <gd name="x3" fmla="*/ w adj6 100000" />\r
+ <gd name="y4" fmla="*/ h adj7 100000" />\r
+ <gd name="x4" fmla="*/ w adj8 100000" />\r
+ </gdLst>\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">\r
+ <pos x="x1" y="y1" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">\r
+ <pos x="x2" y="y2" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj6" minX="-2147483647" maxX="2147483647" gdRefY="adj5" minY="-2147483647" maxY="2147483647">\r
+ <pos x="x3" y="y3" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj8" minX="-2147483647" maxX="2147483647" gdRefY="adj7" minY="-2147483647" maxY="2147483647">\r
+ <pos x="x4" y="y4" />\r
+ </ahXY>\r
+ </ahLst>\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ </cxnLst>\r
+ <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path stroke="false" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path fill="none" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="x1" y="y1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y4" />\r
+ </lnTo>\r
+ </path>\r
+ </pathLst>\r
+\r
+ </callout3>\r
+ <can>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj" fmla="val 25000" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="maxAdj" fmla="*/ 50000 h ss" />\r
+ <gd name="a" fmla="pin 0 adj maxAdj" />\r
+ <gd name="y1" fmla="*/ ss a 200000" />\r
+ <gd name="y2" fmla="+- y1 y1 0" />\r
+ <gd name="y3" fmla="+- b 0 y1" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj" minY="0" maxY="maxAdj">\r
+ <pos x="hc" y="y2" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="y2" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="l" t="y2" r="r" b="y3" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path stroke="false" extrusionOk="false">\r
+\r
+ <moveTo>\r
+ <pt x="l" y="y1" />\r
+ </moveTo>\r
+ <arcTo wR="wd2" hR="y1" stAng="cd2" swAng="-10800000" />\r
+ <lnTo>\r
+ <pt x="r" y="y3" />\r
+ </lnTo>\r
+ <arcTo wR="wd2" hR="y1" stAng="0" swAng="cd2" />\r
+ <close />\r
+ </path>\r
+ <path stroke="false" fill="lighten" extrusionOk="false">\r
+\r
+ <moveTo>\r
+ <pt x="l" y="y1" />\r
+ </moveTo>\r
+ <arcTo wR="wd2" hR="y1" stAng="cd2" swAng="cd2" />\r
+ <arcTo wR="wd2" hR="y1" stAng="0" swAng="cd2" />\r
+ <close />\r
+ </path>\r
+ <path fill="none" extrusionOk="false">\r
+\r
+ <moveTo>\r
+ <pt x="r" y="y1" />\r
+ </moveTo>\r
+ <arcTo wR="wd2" hR="y1" stAng="0" swAng="cd2" />\r
+ <arcTo wR="wd2" hR="y1" stAng="cd2" swAng="cd2" />\r
+ <lnTo>\r
+ <pt x="r" y="y3" />\r
+ </lnTo>\r
+ <arcTo wR="wd2" hR="y1" stAng="0" swAng="cd2" />\r
+ <lnTo>\r
+ <pt x="l" y="y1" />\r
+ </lnTo>\r
+ </path>\r
+ </pathLst>\r
+\r
+ </can>\r
+ <chartPlus>\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path w="10" h="10" fill="none" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="5" y="0" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="5" y="10" />\r
+ </lnTo>\r
+ <moveTo>\r
+ <pt x="0" y="5" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="10" y="5" />\r
+ </lnTo>\r
+ </path>\r
+ <path w="10" h="10" stroke="false">\r
+ <moveTo>\r
+ <pt x="0" y="0" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="0" y="10" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="10" y="10" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="10" y="0" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </chartPlus>\r
+ <chartStar>\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path w="10" h="10" fill="none" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="0" y="0" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="10" y="10" />\r
+ </lnTo>\r
+ <moveTo>\r
+ <pt x="0" y="10" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="10" y="0" />\r
+ </lnTo>\r
+ <moveTo>\r
+ <pt x="5" y="0" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="5" y="10" />\r
+ </lnTo>\r
+ </path>\r
+ <path w="10" h="10" stroke="false">\r
+ <moveTo>\r
+ <pt x="0" y="0" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="0" y="10" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="10" y="10" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="10" y="0" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </chartStar>\r
+ <chartX>\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path w="10" h="10" fill="none" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="0" y="0" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="10" y="10" />\r
+ </lnTo>\r
+ <moveTo>\r
+ <pt x="0" y="10" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="10" y="0" />\r
+ </lnTo>\r
+ </path>\r
+ <path w="10" h="10" stroke="false">\r
+ <moveTo>\r
+ <pt x="0" y="0" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="0" y="10" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="10" y="10" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="10" y="0" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </chartX>\r
+ <chevron>\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj" fmla="val 50000" />\r
+ </avLst>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="maxAdj" fmla="*/ 100000 w ss" />\r
+ <gd name="a" fmla="pin 0 adj maxAdj" />\r
+ <gd name="x1" fmla="*/ ss a 100000" />\r
+ <gd name="x2" fmla="+- r 0 x1" />\r
+ <gd name="x3" fmla="*/ x2 1 2" />\r
+ <gd name="dx" fmla="+- x2 0 x1" />\r
+ <gd name="il" fmla="?: dx x1 l" />\r
+ <gd name="ir" fmla="?: dx x2 r" />\r
+ </gdLst>\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj" minX="0" maxX="maxAdj">\r
+ <pos x="x2" y="t" />\r
+ </ahXY>\r
+ </ahLst>\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="x3" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="x1" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x3" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+ <rect l="il" t="t" r="ir" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x2" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="vc" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="vc" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+ </chevron>\r
+ <chord>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 2700000" />\r
+\r
+ <gd name="adj2" fmla="val 16200000" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="stAng" fmla="pin 0 adj1 21599999" />\r
+ <gd name="enAng" fmla="pin 0 adj2 21599999" />\r
+ <gd name="sw1" fmla="+- enAng 0 stAng" />\r
+\r
+ <gd name="sw2" fmla="+- sw1 21600000 0" />\r
+\r
+ <gd name="swAng" fmla="?: sw1 sw1 sw2" />\r
+\r
+ <gd name="wt1" fmla="sin wd2 stAng" />\r
+ <gd name="ht1" fmla="cos hd2 stAng" />\r
+ <gd name="dx1" fmla="cat2 wd2 ht1 wt1" />\r
+ <gd name="dy1" fmla="sat2 hd2 ht1 wt1" />\r
+ <gd name="wt2" fmla="sin wd2 enAng" />\r
+ <gd name="ht2" fmla="cos hd2 enAng" />\r
+ <gd name="dx2" fmla="cat2 wd2 ht2 wt2" />\r
+ <gd name="dy2" fmla="sat2 hd2 ht2 wt2" />\r
+ <gd name="x1" fmla="+- hc dx1 0" />\r
+\r
+ <gd name="y1" fmla="+- vc dy1 0" />\r
+\r
+ <gd name="x2" fmla="+- hc dx2 0" />\r
+\r
+ <gd name="y2" fmla="+- vc dy2 0" />\r
+\r
+ <gd name="x3" fmla="+/ x1 x2 2" />\r
+ <gd name="y3" fmla="+/ y1 y2 2" />\r
+ <gd name="midAng0" fmla="*/ swAng 1 2" />\r
+ <gd name="midAng" fmla="+- stAng midAng0 cd2" />\r
+ <gd name="idx" fmla="cos wd2 2700000" />\r
+ <gd name="idy" fmla="sin hd2 2700000" />\r
+ <gd name="il" fmla="+- hc 0 idx" />\r
+ <gd name="ir" fmla="+- hc idx 0" />\r
+ <gd name="it" fmla="+- vc 0 idy" />\r
+ <gd name="ib" fmla="+- vc idy 0" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahPolar gdRefAng="adj1" minAng="0" maxAng="21599999">\r
+ <pos x="x1" y="y1" />\r
+ </ahPolar>\r
+ <ahPolar gdRefAng="adj2" minAng="0" maxAng="21599999">\r
+ <pos x="x2" y="y2" />\r
+ </ahPolar>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="stAng">\r
+ <pos x="x1" y="y1" />\r
+ </cxn>\r
+ <cxn ang="enAng">\r
+ <pos x="x2" y="y2" />\r
+ </cxn>\r
+ <cxn ang="midAng">\r
+ <pos x="x3" y="y3" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="x1" y="y1" />\r
+ </moveTo>\r
+ <arcTo wR="wd2" hR="hd2" stAng="stAng" swAng="swAng" />\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </chord>\r
+ <circularArrow>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 12500" />\r
+\r
+ <gd name="adj2" fmla="val 1142319" />\r
+\r
+ <gd name="adj3" fmla="val 20457681" />\r
+\r
+ <gd name="adj4" fmla="val 10800000" />\r
+\r
+ <gd name="adj5" fmla="val 12500" />\r
+\r
+ </avLst>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a5" fmla="pin 0 adj5 25000" />\r
+\r
+ <gd name="maxAdj1" fmla="*/ a5 2 1" />\r
+\r
+ <gd name="a1" fmla="pin 0 adj1 maxAdj1" />\r
+ <gd name="enAng" fmla="pin 1 adj3 21599999" />\r
+ <gd name="stAng" fmla="pin 0 adj4 21599999" />\r
+\r
+ <gd name="th" fmla="*/ ss a1 100000" />\r
+\r
+ <gd name="thh" fmla="*/ ss a5 100000" />\r
+\r
+ <gd name="th2" fmla="*/ th 1 2" />\r
+\r
+\r
+ <gd name="rw1" fmla="+- wd2 th2 thh" />\r
+\r
+ <gd name="rh1" fmla="+- hd2 th2 thh" />\r
+\r
+ <gd name="rw2" fmla="+- rw1 0 th" />\r
+\r
+ <gd name="rh2" fmla="+- rh1 0 th" />\r
+\r
+ <gd name="rw3" fmla="+- rw2 th2 0" />\r
+\r
+ <gd name="rh3" fmla="+- rh2 th2 0" />\r
+\r
+\r
+ <gd name="wtH" fmla="sin rw3 enAng" />\r
+ <gd name="htH" fmla="cos rh3 enAng" />\r
+ <gd name="dxH" fmla="cat2 rw3 htH wtH" />\r
+ <gd name="dyH" fmla="sat2 rh3 htH wtH" />\r
+ <gd name="xH" fmla="+- hc dxH 0" />\r
+\r
+ <gd name="yH" fmla="+- vc dyH 0" />\r
+\r
+\r
+ <gd name="rI" fmla="min rw2 rh2" />\r
+\r
+ <gd name="u1" fmla="*/ dxH dxH 1" />\r
+ <gd name="u2" fmla="*/ dyH dyH 1" />\r
+ <gd name="u3" fmla="*/ rI rI 1" />\r
+ <gd name="u4" fmla="+- u1 0 u3" />\r
+ <gd name="u5" fmla="+- u2 0 u3" />\r
+ <gd name="u6" fmla="*/ u4 u5 u1" />\r
+ <gd name="u7" fmla="*/ u6 1 u2" />\r
+ <gd name="u8" fmla="+- 1 0 u7" />\r
+ <gd name="u9" fmla="sqrt u8" />\r
+ <gd name="u10" fmla="*/ u4 1 dxH" />\r
+ <gd name="u11" fmla="*/ u10 1 dyH" />\r
+ <gd name="u12" fmla="+/ 1 u9 u11" />\r
+ <gd name="u13" fmla="at2 1 u12" />\r
+ <gd name="u14" fmla="+- u13 21600000 0" />\r
+ <gd name="u15" fmla="?: u13 u13 u14" />\r
+ <gd name="u16" fmla="+- u15 0 enAng" />\r
+\r
+ <gd name="u17" fmla="+- u16 21600000 0" />\r
+ <gd name="u18" fmla="?: u16 u16 u17" />\r
+ <gd name="u19" fmla="+- u18 0 cd2" />\r
+ <gd name="u20" fmla="+- u18 0 21600000" />\r
+ <gd name="u21" fmla="?: u19 u20 u18" />\r
+ <gd name="maxAng" fmla="abs u21" />\r
+ <gd name="aAng" fmla="pin 0 adj2 maxAng" />\r
+\r
+ <gd name="ptAng" fmla="+- enAng aAng 0" />\r
+\r
+\r
+ <gd name="wtA" fmla="sin rw3 ptAng" />\r
+ <gd name="htA" fmla="cos rh3 ptAng" />\r
+ <gd name="dxA" fmla="cat2 rw3 htA wtA" />\r
+ <gd name="dyA" fmla="sat2 rh3 htA wtA" />\r
+ <gd name="xA" fmla="+- hc dxA 0" />\r
+\r
+ <gd name="yA" fmla="+- vc dyA 0" />\r
+\r
+\r
+ <gd name="wtE" fmla="sin rw1 stAng" />\r
+ <gd name="htE" fmla="cos rh1 stAng" />\r
+ <gd name="dxE" fmla="cat2 rw1 htE wtE" />\r
+ <gd name="dyE" fmla="sat2 rh1 htE wtE" />\r
+ <gd name="xE" fmla="+- hc dxE 0" />\r
+\r
+ <gd name="yE" fmla="+- vc dyE 0" />\r
+\r
+\r
+ <gd name="dxG" fmla="cos thh ptAng" />\r
+ <gd name="dyG" fmla="sin thh ptAng" />\r
+ <gd name="xG" fmla="+- xH dxG 0" />\r
+\r
+ <gd name="yG" fmla="+- yH dyG 0" />\r
+\r
+\r
+ <gd name="dxB" fmla="cos thh ptAng" />\r
+ <gd name="dyB" fmla="sin thh ptAng" />\r
+ <gd name="xB" fmla="+- xH 0 dxB 0" />\r
+\r
+ <gd name="yB" fmla="+- yH 0 dyB 0" />\r
+\r
+\r
+ <gd name="sx1" fmla="+- xB 0 hc" />\r
+\r
+ <gd name="sy1" fmla="+- yB 0 vc" />\r
+\r
+ <gd name="sx2" fmla="+- xG 0 hc" />\r
+\r
+ <gd name="sy2" fmla="+- yG 0 vc" />\r
+\r
+\r
+ <gd name="rO" fmla="min rw1 rh1" />\r
+\r
+ <gd name="x1O" fmla="*/ sx1 rO rw1" />\r
+\r
+ <gd name="y1O" fmla="*/ sy1 rO rh1" />\r
+\r
+ <gd name="x2O" fmla="*/ sx2 rO rw1" />\r
+\r
+ <gd name="y2O" fmla="*/ sy2 rO rh1" />\r
+\r
+\r
+ <gd name="dxO" fmla="+- x2O 0 x1O" />\r
+ <gd name="dyO" fmla="+- y2O 0 y1O" />\r
+ <gd name="dO" fmla="mod dxO dyO 0" />\r
+\r
+ <gd name="q1" fmla="*/ x1O y2O 1" />\r
+ <gd name="q2" fmla="*/ x2O y1O 1" />\r
+ <gd name="DO" fmla="+- q1 0 q2" />\r
+\r
+\r
+ <gd name="q3" fmla="*/ rO rO 1" />\r
+\r
+ <gd name="q4" fmla="*/ dO dO 1" />\r
+\r
+ <gd name="q5" fmla="*/ q3 q4 1" />\r
+\r
+ <gd name="q6" fmla="*/ DO DO 1" />\r
+\r
+ <gd name="q7" fmla="+- q5 0 q6" />\r
+\r
+ <gd name="q8" fmla="max q7 0" />\r
+\r
+ <gd name="sdelO" fmla="sqrt q8" />\r
+\r
+ <gd name="ndyO" fmla="*/ dyO -1 1" />\r
+ <gd name="sdyO" fmla="?: ndyO -1 1" />\r
+\r
+ <gd name="q9" fmla="*/ sdyO dxO 1" />\r
+\r
+ <gd name="q10" fmla="*/ q9 sdelO 1" />\r
+\r
+ <gd name="q11" fmla="*/ DO dyO 1" />\r
+\r
+ <gd name="dxF1" fmla="+/ q11 q10 q4" />\r
+\r
+ <gd name="q12" fmla="+- q11 0 q10" />\r
+ <gd name="dxF2" fmla="*/ q12 1 q4" />\r
+\r
+\r
+ <gd name="adyO" fmla="abs dyO" />\r
+ <gd name="q13" fmla="*/ adyO sdelO 1" />\r
+\r
+ <gd name="q14" fmla="*/ DO dxO -1" />\r
+\r
+ <gd name="dyF1" fmla="+/ q14 q13 q4" />\r
+\r
+ <gd name="q15" fmla="+- q14 0 q13" />\r
+ <gd name="dyF2" fmla="*/ q15 1 q4" />\r
+\r
+\r
+\r
+ <gd name="q16" fmla="+- x2O 0 dxF1" />\r
+ <gd name="q17" fmla="+- x2O 0 dxF2" />\r
+ <gd name="q18" fmla="+- y2O 0 dyF1" />\r
+ <gd name="q19" fmla="+- y2O 0 dyF2" />\r
+ <gd name="q20" fmla="mod q16 q18 0" />\r
+\r
+ <gd name="q21" fmla="mod q17 q19 0" />\r
+\r
+ <gd name="q22" fmla="+- q21 0 q20" />\r
+ <gd name="dxF" fmla="?: q22 dxF1 dxF2" />\r
+\r
+ <gd name="dyF" fmla="?: q22 dyF1 dyF2" />\r
+\r
+ <gd name="sdxF" fmla="*/ dxF rw1 rO" />\r
+\r
+ <gd name="sdyF" fmla="*/ dyF rh1 rO" />\r
+\r
+ <gd name="xF" fmla="+- hc sdxF 0" />\r
+\r
+ <gd name="yF" fmla="+- vc sdyF 0" />\r
+\r
+\r
+\r
+\r
+ <gd name="x1I" fmla="*/ sx1 rI rw2" />\r
+\r
+ <gd name="y1I" fmla="*/ sy1 rI rh2" />\r
+\r
+ <gd name="x2I" fmla="*/ sx2 rI rw2" />\r
+\r
+ <gd name="y2I" fmla="*/ sy2 rI rh2" />\r
+\r
+\r
+ <gd name="dxI" fmla="+- x2I 0 x1I" />\r
+ <gd name="dyI" fmla="+- y2I 0 y1I" />\r
+ <gd name="dI" fmla="mod dxI dyI 0" />\r
+ <gd name="v1" fmla="*/ x1I y2I 1" />\r
+ <gd name="v2" fmla="*/ x2I y1I 1" />\r
+ <gd name="DI" fmla="+- v1 0 v2" />\r
+\r
+ <gd name="v3" fmla="*/ rI rI 1" />\r
+ <gd name="v4" fmla="*/ dI dI 1" />\r
+ <gd name="v5" fmla="*/ v3 v4 1" />\r
+ <gd name="v6" fmla="*/ DI DI 1" />\r
+ <gd name="v7" fmla="+- v5 0 v6" />\r
+ <gd name="v8" fmla="max v7 0" />\r
+ <gd name="sdelI" fmla="sqrt v8" />\r
+ <gd name="v9" fmla="*/ sdyO dxI 1" />\r
+ <gd name="v10" fmla="*/ v9 sdelI 1" />\r
+ <gd name="v11" fmla="*/ DI dyI 1" />\r
+ <gd name="dxC1" fmla="+/ v11 v10 v4" />\r
+ <gd name="v12" fmla="+- v11 0 v10" />\r
+ <gd name="dxC2" fmla="*/ v12 1 v4" />\r
+\r
+ <gd name="adyI" fmla="abs dyI" />\r
+ <gd name="v13" fmla="*/ adyI sdelI 1" />\r
+ <gd name="v14" fmla="*/ DI dxI -1" />\r
+ <gd name="dyC1" fmla="+/ v14 v13 v4" />\r
+ <gd name="v15" fmla="+- v14 0 v13" />\r
+ <gd name="dyC2" fmla="*/ v15 1 v4" />\r
+\r
+ <gd name="v16" fmla="+- x1I 0 dxC1" />\r
+ <gd name="v17" fmla="+- x1I 0 dxC2" />\r
+ <gd name="v18" fmla="+- y1I 0 dyC1" />\r
+ <gd name="v19" fmla="+- y1I 0 dyC2" />\r
+ <gd name="v20" fmla="mod v16 v18 0" />\r
+ <gd name="v21" fmla="mod v17 v19 0" />\r
+ <gd name="v22" fmla="+- v21 0 v20" />\r
+ <gd name="dxC" fmla="?: v22 dxC1 dxC2" />\r
+ <gd name="dyC" fmla="?: v22 dyC1 dyC2" />\r
+ <gd name="sdxC" fmla="*/ dxC rw2 rI" />\r
+ <gd name="sdyC" fmla="*/ dyC rh2 rI" />\r
+ <gd name="xC" fmla="+- hc sdxC 0" />\r
+\r
+ <gd name="yC" fmla="+- vc sdyC 0" />\r
+\r
+\r
+ <gd name="ist0" fmla="at2 sdxC sdyC" />\r
+ <gd name="ist1" fmla="+- ist0 21600000 0" />\r
+ <gd name="istAng" fmla="?: ist0 ist0 ist1" />\r
+ <gd name="isw1" fmla="+- stAng 0 istAng" />\r
+ <gd name="isw2" fmla="+- isw1 0 21600000" />\r
+ <gd name="iswAng" fmla="?: isw1 isw2 isw1" />\r
+\r
+\r
+ <gd name="p1" fmla="+- xF 0 xC" />\r
+ <gd name="p2" fmla="+- yF 0 yC" />\r
+ <gd name="p3" fmla="mod p1 p2 0" />\r
+ <gd name="p4" fmla="*/ p3 1 2" />\r
+ <gd name="p5" fmla="+- p4 0 thh" />\r
+ <gd name="xGp" fmla="?: p5 xF xG" />\r
+ <gd name="yGp" fmla="?: p5 yF yG" />\r
+ <gd name="xBp" fmla="?: p5 xC xB" />\r
+ <gd name="yBp" fmla="?: p5 yC yB" />\r
+\r
+ <gd name="en0" fmla="at2 sdxF sdyF" />\r
+ <gd name="en1" fmla="+- en0 21600000 0" />\r
+ <gd name="en2" fmla="?: en0 en0 en1" />\r
+ <gd name="sw0" fmla="+- en2 0 stAng" />\r
+ <gd name="sw1" fmla="+- sw0 21600000 0" />\r
+ <gd name="swAng" fmla="?: sw0 sw0 sw1" />\r
+\r
+ <gd name="wtI" fmla="sin rw3 stAng" />\r
+ <gd name="htI" fmla="cos rh3 stAng" />\r
+ <gd name="dxI" fmla="cat2 rw3 htI wtI" />\r
+ <gd name="dyI" fmla="sat2 rh3 htI wtI" />\r
+ <gd name="xI" fmla="+- hc dxI 0" />\r
+\r
+ <gd name="yI" fmla="+- vc dyI 0" />\r
+\r
+\r
+ <gd name="aI" fmla="+- stAng 0 cd4" />\r
+ <gd name="aA" fmla="+- ptAng cd4 0" />\r
+ <gd name="aB" fmla="+- ptAng cd2 0" />\r
+\r
+ <gd name="idx" fmla="cos rw1 2700000" />\r
+ <gd name="idy" fmla="sin rh1 2700000" />\r
+ <gd name="il" fmla="+- hc 0 idx" />\r
+ <gd name="ir" fmla="+- hc idx 0" />\r
+ <gd name="it" fmla="+- vc 0 idy" />\r
+ <gd name="ib" fmla="+- vc idy 0" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahPolar gdRefAng="adj2" minAng="0" maxAng="maxAng">\r
+ <pos x="xA" y="yA" />\r
+ </ahPolar>\r
+ <ahPolar gdRefAng="adj4" minAng="0" maxAng="21599999">\r
+ <pos x="xE" y="yE" />\r
+ </ahPolar>\r
+ <ahPolar gdRefR="adj1" minR="0" maxR="maxAdj1" gdRefAng="adj3" minAng="0" maxAng="21599999">\r
+ <pos x="xF" y="yF" />\r
+ </ahPolar>\r
+ <ahPolar gdRefR="adj5" minR="0" maxR="25000">\r
+ <pos x="xB" y="yB" />\r
+ </ahPolar>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="aI">\r
+ <pos x="xI" y="yI" />\r
+ </cxn>\r
+ <cxn ang="ptAng">\r
+ <pos x="xGp" y="yGp" />\r
+ </cxn>\r
+ <cxn ang="aA">\r
+ <pos x="xA" y="yA" />\r
+ </cxn>\r
+ <cxn ang="aB">\r
+ <pos x="xBp" y="yBp" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="xE" y="yE" />\r
+ </moveTo>\r
+ <arcTo wR="rw1" hR="rh1" stAng="stAng" swAng="swAng" />\r
+ <lnTo>\r
+ <pt x="xGp" y="yGp" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xA" y="yA" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xBp" y="yBp" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xC" y="yC" />\r
+ </lnTo>\r
+ <arcTo wR="rw2" hR="rh2" stAng="istAng" swAng="iswAng" />\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </circularArrow>\r
+ <cloud>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="il" fmla="*/ w 2977 21600" />\r
+ <gd name="it" fmla="*/ h 3262 21600" />\r
+ <gd name="ir" fmla="*/ w 17087 21600" />\r
+ <gd name="ib" fmla="*/ h 17337 21600" />\r
+ <gd name="g27" fmla="*/ w 67 21600" />\r
+ <gd name="g28" fmla="*/ h 21577 21600" />\r
+ <gd name="g29" fmla="*/ w 21582 21600" />\r
+ <gd name="g30" fmla="*/ h 1235 21600" />\r
+ </gdLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="g29" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="g28" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="g27" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="g30" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path w="43200" h="43200">\r
+ <moveTo>\r
+ <pt x="3900" y="14370" />\r
+ </moveTo>\r
+ <arcTo wR="6753" hR="9190" stAng="-11429249" swAng="7426832" />\r
+ <arcTo wR="5333" hR="7267" stAng="-8646143" swAng="5396714" />\r
+ <arcTo wR="4365" hR="5945" stAng="-8748475" swAng="5983381" />\r
+ <arcTo wR="4857" hR="6595" stAng="-7859164" swAng="7034504" />\r
+ <arcTo wR="5333" hR="7273" stAng="-4722533" swAng="6541615" />\r
+ <arcTo wR="6775" hR="9220" stAng="-2776035" swAng="7816140" />\r
+ <arcTo wR="5785" hR="7867" stAng="37501" swAng="6842000" />\r
+ <arcTo wR="6752" hR="9215" stAng="1347096" swAng="6910353" />\r
+ <arcTo wR="7720" hR="10543" stAng="3974558" swAng="4542661" />\r
+ <arcTo wR="4360" hR="5918" stAng="-16496525" swAng="8804134" />\r
+ <arcTo wR="4345" hR="5945" stAng="-14809710" swAng="9151131" />\r
+ <close />\r
+ </path>\r
+ <path w="43200" h="43200" fill="none" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="4693" y="26177" />\r
+ </moveTo>\r
+ <arcTo wR="4345" hR="5945" stAng="5204520" swAng="1585770" />\r
+ <moveTo>\r
+ <pt x="6928" y="34899" />\r
+ </moveTo>\r
+ <arcTo wR="4360" hR="5918" stAng="4416628" swAng="686848" />\r
+ <moveTo>\r
+ <pt x="16478" y="39090" />\r
+ </moveTo>\r
+ <arcTo wR="6752" hR="9215" stAng="8257449" swAng="844866" />\r
+ <moveTo>\r
+ <pt x="28827" y="34751" />\r
+ </moveTo>\r
+ <arcTo wR="6752" hR="9215" stAng="387196" swAng="959901" />\r
+ <moveTo>\r
+ <pt x="34129" y="22954" />\r
+ </moveTo>\r
+ <arcTo wR="5785" hR="7867" stAng="-4217541" swAng="4255042" />\r
+ <moveTo>\r
+ <pt x="41798" y="15354" />\r
+ </moveTo>\r
+ <arcTo wR="5333" hR="7273" stAng="1819082" swAng="1665090" />\r
+ <moveTo>\r
+ <pt x="38324" y="5426" />\r
+ </moveTo>\r
+ <arcTo wR="4857" hR="6595" stAng="-824660" swAng="891534" />\r
+ <moveTo>\r
+ <pt x="29078" y="3952" />\r
+ </moveTo>\r
+ <arcTo wR="4857" hR="6595" stAng="-8950887" swAng="1091722" />\r
+ <moveTo>\r
+ <pt x="22141" y="4720" />\r
+ </moveTo>\r
+ <arcTo wR="4365" hR="5945" stAng="-9809656" swAng="1061181" />\r
+ <moveTo>\r
+ <pt x="14000" y="5192" />\r
+ </moveTo>\r
+ <arcTo wR="6753" hR="9190" stAng="-4002417" swAng="739161" />\r
+ <moveTo>\r
+ <pt x="4127" y="15789" />\r
+ </moveTo>\r
+ <arcTo wR="6753" hR="9190" stAng="9459261" swAng="711490" />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </cloud>\r
+ <cloudCallout>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val -20833" />\r
+\r
+ <gd name="adj2" fmla="val 62500" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="dxPos" fmla="*/ w adj1 100000" />\r
+ <gd name="dyPos" fmla="*/ h adj2 100000" />\r
+ <gd name="xPos" fmla="+- hc dxPos 0" />\r
+ <gd name="yPos" fmla="+- vc dyPos 0" />\r
+ <gd name="ht" fmla="cat2 hd2 dxPos dyPos" />\r
+ <gd name="wt" fmla="sat2 wd2 dxPos dyPos" />\r
+ <gd name="g2" fmla="cat2 wd2 ht wt" />\r
+ <gd name="g3" fmla="sat2 hd2 ht wt" />\r
+ <gd name="g4" fmla="+- hc g2 0" />\r
+\r
+ <gd name="g5" fmla="+- vc g3 0" />\r
+\r
+ <gd name="g6" fmla="+- g4 0 xPos" />\r
+\r
+ <gd name="g7" fmla="+- g5 0 yPos" />\r
+\r
+ <gd name="g8" fmla="mod g6 g7 0" />\r
+\r
+ <gd name="g9" fmla="*/ ss 6600 21600" />\r
+\r
+ <gd name="g10" fmla="+- g8 0 g9" />\r
+\r
+ <gd name="g11" fmla="*/ g10 1 3" />\r
+\r
+ <gd name="g12" fmla="*/ ss 1800 21600" />\r
+\r
+ <gd name="g13" fmla="+- g11 g12 0" />\r
+\r
+ <gd name="g14" fmla="*/ g13 g6 g8" />\r
+\r
+ <gd name="g15" fmla="*/ g13 g7 g8" />\r
+\r
+ <gd name="g16" fmla="+- g14 xPos 0" />\r
+\r
+ <gd name="g17" fmla="+- g15 yPos 0" />\r
+\r
+ <gd name="g18" fmla="*/ ss 4800 21600" />\r
+\r
+ <gd name="g19" fmla="*/ g11 2 1" />\r
+\r
+ <gd name="g20" fmla="+- g18 g19 0" />\r
+\r
+ <gd name="g21" fmla="*/ g20 g6 g8" />\r
+ <gd name="g22" fmla="*/ g20 g7 g8" />\r
+ <gd name="g23" fmla="+- g21 xPos 0" />\r
+ <gd name="g24" fmla="+- g22 yPos 0" />\r
+ <gd name="g25" fmla="*/ ss 1200 21600" />\r
+ <gd name="g26" fmla="*/ ss 600 21600" />\r
+\r
+ <gd name="x23" fmla="+- xPos g26 0" />\r
+ <gd name="x24" fmla="+- g16 g25 0" />\r
+ <gd name="x25" fmla="+- g23 g12 0" />\r
+ <gd name="il" fmla="*/ w 2977 21600" />\r
+ <gd name="it" fmla="*/ h 3262 21600" />\r
+ <gd name="ir" fmla="*/ w 17087 21600" />\r
+ <gd name="ib" fmla="*/ h 17337 21600" />\r
+\r
+ <gd name="g27" fmla="*/ w 67 21600" />\r
+ <gd name="g28" fmla="*/ h 21577 21600" />\r
+ <gd name="g29" fmla="*/ w 21582 21600" />\r
+ <gd name="g30" fmla="*/ h 1235 21600" />\r
+ <gd name="pang" fmla="at2 dxPos dyPos" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj1" minX="-2147483647" maxX="2147483647" gdRefY="adj2" minY="-2147483647" maxY="2147483647">\r
+ <pos x="xPos" y="yPos" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="cd2">\r
+ <pos x="g27" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="g28" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="g29" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="g30" />\r
+ </cxn>\r
+ <cxn ang="pang">\r
+ <pos x="xPos" y="yPos" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path w="43200" h="43200">\r
+ <moveTo>\r
+ <pt x="3900" y="14370" />\r
+ </moveTo>\r
+ <arcTo wR="6753" hR="9190" stAng="-11429249" swAng="7426832" />\r
+ <arcTo wR="5333" hR="7267" stAng="-8646143" swAng="5396714" />\r
+ <arcTo wR="4365" hR="5945" stAng="-8748475" swAng="5983381" />\r
+ <arcTo wR="4857" hR="6595" stAng="-7859164" swAng="7034504" />\r
+ <arcTo wR="5333" hR="7273" stAng="-4722533" swAng="6541615" />\r
+ <arcTo wR="6775" hR="9220" stAng="-2776035" swAng="7816140" />\r
+ <arcTo wR="5785" hR="7867" stAng="37501" swAng="6842000" />\r
+ <arcTo wR="6752" hR="9215" stAng="1347096" swAng="6910353" />\r
+ <arcTo wR="7720" hR="10543" stAng="3974558" swAng="4542661" />\r
+ <arcTo wR="4360" hR="5918" stAng="-16496525" swAng="8804134" />\r
+ <arcTo wR="4345" hR="5945" stAng="-14809710" swAng="9151131" />\r
+ <close />\r
+ </path>\r
+ <path>\r
+ <moveTo>\r
+ <pt x="x23" y="yPos" />\r
+ </moveTo>\r
+ <arcTo wR="g26" hR="g26" stAng="0" swAng="21600000" />\r
+ <close />\r
+ </path>\r
+ <path>\r
+ <moveTo>\r
+ <pt x="x24" y="g17" />\r
+ </moveTo>\r
+ <arcTo wR="g25" hR="g25" stAng="0" swAng="21600000" />\r
+ <close />\r
+ </path>\r
+ <path>\r
+ <moveTo>\r
+ <pt x="x25" y="g24" />\r
+ </moveTo>\r
+ <arcTo wR="g12" hR="g12" stAng="0" swAng="21600000" />\r
+ <close />\r
+ </path>\r
+ <path w="43200" h="43200" fill="none" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="4693" y="26177" />\r
+ </moveTo>\r
+ <arcTo wR="4345" hR="5945" stAng="5204520" swAng="1585770" />\r
+ <moveTo>\r
+ <pt x="6928" y="34899" />\r
+ </moveTo>\r
+ <arcTo wR="4360" hR="5918" stAng="4416628" swAng="686848" />\r
+ <moveTo>\r
+ <pt x="16478" y="39090" />\r
+ </moveTo>\r
+ <arcTo wR="6752" hR="9215" stAng="8257449" swAng="844866" />\r
+ <moveTo>\r
+ <pt x="28827" y="34751" />\r
+ </moveTo>\r
+ <arcTo wR="6752" hR="9215" stAng="387196" swAng="959901" />\r
+ <moveTo>\r
+ <pt x="34129" y="22954" />\r
+ </moveTo>\r
+ <arcTo wR="5785" hR="7867" stAng="-4217541" swAng="4255042" />\r
+ <moveTo>\r
+ <pt x="41798" y="15354" />\r
+ </moveTo>\r
+ <arcTo wR="5333" hR="7273" stAng="1819082" swAng="1665090" />\r
+ <moveTo>\r
+ <pt x="38324" y="5426" />\r
+ </moveTo>\r
+ <arcTo wR="4857" hR="6595" stAng="-824660" swAng="891534" />\r
+ <moveTo>\r
+ <pt x="29078" y="3952" />\r
+ </moveTo>\r
+ <arcTo wR="4857" hR="6595" stAng="-8950887" swAng="1091722" />\r
+ <moveTo>\r
+ <pt x="22141" y="4720" />\r
+ </moveTo>\r
+ <arcTo wR="4365" hR="5945" stAng="-9809656" swAng="1061181" />\r
+ <moveTo>\r
+ <pt x="14000" y="5192" />\r
+ </moveTo>\r
+ <arcTo wR="6753" hR="9190" stAng="-4002417" swAng="739161" />\r
+ <moveTo>\r
+ <pt x="4127" y="15789" />\r
+ </moveTo>\r
+ <arcTo wR="6753" hR="9190" stAng="9459261" swAng="711490" />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </cloudCallout>\r
+ <corner>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 50000" />\r
+\r
+ <gd name="adj2" fmla="val 50000" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="maxAdj1" fmla="*/ 100000 h ss" />\r
+ <gd name="maxAdj2" fmla="*/ 100000 w ss" />\r
+ <gd name="a1" fmla="pin 0 adj1 maxAdj1" />\r
+ <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
+ <gd name="x1" fmla="*/ ss a2 100000" />\r
+ <gd name="dy1" fmla="*/ ss a1 100000" />\r
+ <gd name="y1" fmla="+- b 0 dy1" />\r
+ <gd name="cx1" fmla="*/ x1 1 2" />\r
+ <gd name="cy1" fmla="+/ y1 b 2" />\r
+ <gd name="d" fmla="+- w 0 h" />\r
+ <gd name="it" fmla="?: d y1 t" />\r
+ <gd name="ir" fmla="?: d r x1" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj1" minY="0" maxY="maxAdj1">\r
+ <pos x="l" y="y1" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">\r
+ <pos x="x1" y="t" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="r" y="cy1" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="cx1" y="t" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="l" t="it" r="ir" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x1" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </corner>\r
+ <cornerTabs>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="md" fmla="mod w h 0" />\r
+ <gd name="dx" fmla="*/ 1 md 20" />\r
+\r
+ <gd name="y1" fmla="+- 0 b dx" />\r
+\r
+ <gd name="x1" fmla="+- 0 r dx" />\r
+\r
+ </gdLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="dx" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="y1" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="b" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="dx" y="t" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="x1" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="dx" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x1" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="t" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="dx" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="y1" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="b" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="dx" t="dx" r="x1" b="y1" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="dx" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="dx" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="y1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="dx" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path>\r
+ <moveTo>\r
+ <pt x="x1" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="dx" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path>\r
+ <moveTo>\r
+ <pt x="r" y="y1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </cornerTabs>\r
+ <cube>\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj" fmla="val 25000" />\r
+ </avLst>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a" fmla="pin 0 adj 100000" />\r
+ <gd name="y1" fmla="*/ ss a 100000" />\r
+ <gd name="y4" fmla="+- b 0 y1" />\r
+ <gd name="y2" fmla="*/ y4 1 2" />\r
+ <gd name="y3" fmla="+/ y1 b 2" />\r
+ <gd name="x4" fmla="+- r 0 y1" />\r
+ <gd name="x2" fmla="*/ x4 1 2" />\r
+ <gd name="x3" fmla="+/ y1 r 2" />\r
+ </gdLst>\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj" minY="0" maxY="100000">\r
+ <pos x="l" y="y1" />\r
+ </ahXY>\r
+ </ahLst>\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="x3" y="t" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="x2" y="y1" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="y3" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x2" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="x4" y="y3" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="y2" />\r
+ </cxn>\r
+ </cxnLst>\r
+ <rect l="l" t="y1" r="x4" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path stroke="false" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="l" y="y1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path stroke="false" fill="darkenLess" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="x4" y="y1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path stroke="false" fill="lightenLess" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="l" y="y1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="y1" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y1" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path fill="none" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="l" y="y1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="y1" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="l" y="y1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <moveTo>\r
+ <pt x="x4" y="y1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x4" y="b" />\r
+ </lnTo>\r
+ </path>\r
+ </pathLst>\r
+ </cube>\r
+ <curvedConnector2>\r
+ <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path fill="none">\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <cubicBezTo>\r
+ <pt x="wd2" y="t" />\r
+ <pt x="r" y="hd2" />\r
+ <pt x="r" y="b" />\r
+ </cubicBezTo>\r
+ </path>\r
+ </pathLst>\r
+ </curvedConnector2>\r
+ <curvedConnector3>\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 50000" />\r
+ </avLst>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="x2" fmla="*/ w adj1 100000" />\r
+ <gd name="x1" fmla="+/ l x2 2" />\r
+ <gd name="x3" fmla="+/ r x2 2" />\r
+ <gd name="y3" fmla="*/ h 3 4" />\r
+ </gdLst>\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj1" minX="-2147483647" maxX="2147483647">\r
+ <pos x="x2" y="vc" />\r
+ </ahXY>\r
+ </ahLst>\r
+ <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path fill="none">\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <cubicBezTo>\r
+ <pt x="x1" y="t" />\r
+ <pt x="x2" y="hd4" />\r
+ <pt x="x2" y="vc" />\r
+ </cubicBezTo>\r
+ <cubicBezTo>\r
+ <pt x="x2" y="y3" />\r
+ <pt x="x3" y="b" />\r
+ <pt x="r" y="b" />\r
+ </cubicBezTo>\r
+ </path>\r
+ </pathLst>\r
+ </curvedConnector3>\r
+ <curvedConnector4>\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 50000" />\r
+ <gd name="adj2" fmla="val 50000" />\r
+ </avLst>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="x2" fmla="*/ w adj1 100000" />\r
+ <gd name="x1" fmla="+/ l x2 2" />\r
+ <gd name="x3" fmla="+/ r x2 2" />\r
+ <gd name="x4" fmla="+/ x2 x3 2" />\r
+ <gd name="x5" fmla="+/ x3 r 2" />\r
+ <gd name="y4" fmla="*/ h adj2 100000" />\r
+ <gd name="y1" fmla="+/ t y4 2" />\r
+ <gd name="y2" fmla="+/ t y1 2" />\r
+ <gd name="y3" fmla="+/ y1 y4 2" />\r
+ <gd name="y5" fmla="+/ b y4 2" />\r
+ </gdLst>\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj1" minX="-2147483647" maxX="2147483647">\r
+ <pos x="x2" y="y1" />\r
+ </ahXY>\r
+ <ahXY gdRefY="adj2" minY="-2147483647" maxY="2147483647">\r
+ <pos x="x3" y="y4" />\r
+ </ahXY>\r
+ </ahLst>\r
+ <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path fill="none">\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <cubicBezTo>\r
+ <pt x="x1" y="t" />\r
+ <pt x="x2" y="y2" />\r
+ <pt x="x2" y="y1" />\r
+ </cubicBezTo>\r
+ <cubicBezTo>\r
+ <pt x="x2" y="y3" />\r
+ <pt x="x4" y="y4" />\r
+ <pt x="x3" y="y4" />\r
+ </cubicBezTo>\r
+ <cubicBezTo>\r
+ <pt x="x5" y="y4" />\r
+ <pt x="r" y="y5" />\r
+ <pt x="r" y="b" />\r
+ </cubicBezTo>\r
+ </path>\r
+ </pathLst>\r
+ </curvedConnector4>\r
+ <curvedConnector5>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 50000" />\r
+\r
+ <gd name="adj2" fmla="val 50000" />\r
+\r
+ <gd name="adj3" fmla="val 50000" />\r
+\r
+ </avLst>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="x3" fmla="*/ w adj1 100000" />\r
+ <gd name="x6" fmla="*/ w adj3 100000" />\r
+ <gd name="x1" fmla="+/ x3 x6 2" />\r
+ <gd name="x2" fmla="+/ l x3 2" />\r
+ <gd name="x4" fmla="+/ x3 x1 2" />\r
+ <gd name="x5" fmla="+/ x6 x1 2" />\r
+ <gd name="x7" fmla="+/ x6 r 2" />\r
+ <gd name="y4" fmla="*/ h adj2 100000" />\r
+ <gd name="y1" fmla="+/ t y4 2" />\r
+ <gd name="y2" fmla="+/ t y1 2" />\r
+ <gd name="y3" fmla="+/ y1 y4 2" />\r
+ <gd name="y5" fmla="+/ b y4 2" />\r
+ <gd name="y6" fmla="+/ y5 y4 2" />\r
+ <gd name="y7" fmla="+/ y5 b 2" />\r
+ </gdLst>\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj1" minX="-2147483647" maxX="2147483647">\r
+ <pos x="x3" y="y1" />\r
+ </ahXY>\r
+ <ahXY gdRefY="adj2" minY="-2147483647" maxY="2147483647">\r
+ <pos x="x1" y="y4" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj3" minX="-2147483647" maxX="2147483647">\r
+ <pos x="x6" y="y5" />\r
+ </ahXY>\r
+ </ahLst>\r
+ <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path fill="none">\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <cubicBezTo>\r
+ <pt x="x2" y="t" />\r
+ <pt x="x3" y="y2" />\r
+ <pt x="x3" y="y1" />\r
+ </cubicBezTo>\r
+ <cubicBezTo>\r
+ <pt x="x3" y="y3" />\r
+ <pt x="x4" y="y4" />\r
+ <pt x="x1" y="y4" />\r
+ </cubicBezTo>\r
+ <cubicBezTo>\r
+ <pt x="x5" y="y4" />\r
+ <pt x="x6" y="y6" />\r
+ <pt x="x6" y="y5" />\r
+ </cubicBezTo>\r
+ <cubicBezTo>\r
+ <pt x="x6" y="y7" />\r
+ <pt x="x7" y="b" />\r
+ <pt x="r" y="b" />\r
+ </cubicBezTo>\r
+ </path>\r
+ </pathLst>\r
+\r
+ </curvedConnector5>\r
+ <curvedDownArrow>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 25000" />\r
+\r
+ <gd name="adj2" fmla="val 50000" />\r
+\r
+ <gd name="adj3" fmla="val 25000" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="maxAdj2" fmla="*/ 50000 w ss" />\r
+\r
+ <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
+ <gd name="a1" fmla="pin 0 adj1 100000" />\r
+ <gd name="th" fmla="*/ ss a1 100000" />\r
+\r
+ <gd name="aw" fmla="*/ ss a2 100000" />\r
+\r
+ <gd name="q1" fmla="+/ th aw 4" />\r
+\r
+ <gd name="wR" fmla="+- wd2 0 q1" />\r
+\r
+ <gd name="q7" fmla="*/ wR 2 1" />\r
+\r
+ <gd name="q8" fmla="*/ q7 q7 1" />\r
+\r
+ <gd name="q9" fmla="*/ th th 1" />\r
+\r
+ <gd name="q10" fmla="+- q8 0 q9" />\r
+ <gd name="q11" fmla="sqrt q10" />\r
+ <gd name="idy" fmla="*/ q11 h q7" />\r
+ <gd name="maxAdj3" fmla="*/ 100000 idy ss" />\r
+\r
+ <gd name="a3" fmla="pin 0 adj3 maxAdj3" />\r
+ <gd name="ah" fmla="*/ ss adj3 100000" />\r
+\r
+\r
+\r
+\r
+\r
+ <gd name="x3" fmla="+- wR th 0" />\r
+\r
+ <gd name="q2" fmla="*/ h h 1" />\r
+ <gd name="q3" fmla="*/ ah ah 1" />\r
+ <gd name="q4" fmla="+- q2 0 q3" />\r
+ <gd name="q5" fmla="sqrt q4" />\r
+ <gd name="dx" fmla="*/ q5 wR h" />\r
+ <gd name="x5" fmla="+- wR dx 0" />\r
+\r
+ <gd name="x7" fmla="+- x3 dx 0" />\r
+\r
+ <gd name="q6" fmla="+- aw 0 th" />\r
+ <gd name="dh" fmla="*/ q6 1 2" />\r
+\r
+ <gd name="x4" fmla="+- x5 0 dh" />\r
+\r
+ <gd name="x8" fmla="+- x7 dh 0" />\r
+\r
+ <gd name="aw2" fmla="*/ aw 1 2" />\r
+ <gd name="x6" fmla="+- r 0 aw2" />\r
+\r
+ <gd name="y1" fmla="+- b 0 ah" />\r
+ <gd name="swAng" fmla="at2 ah dx" />\r
+\r
+ <gd name="mswAng" fmla="+- 0 0 swAng" />\r
+ <gd name="iy" fmla="+- b 0 idy" />\r
+\r
+ <gd name="ix" fmla="+/ wR x3 2" />\r
+\r
+ <gd name="q12" fmla="*/ th 1 2" />\r
+ <gd name="dang2" fmla="at2 idy q12" />\r
+ <gd name="stAng" fmla="+- 3cd4 swAng 0" />\r
+ <gd name="stAng2" fmla="+- 3cd4 0 dang2" />\r
+ <gd name="swAng2" fmla="+- dang2 0 cd4" />\r
+ <gd name="swAng3" fmla="+- cd4 dang2 0" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj1" minX="0" maxX="adj2">\r
+ <pos x="x7" y="y1" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">\r
+ <pos x="x4" y="b" />\r
+ </ahXY>\r
+ <ahXY gdRefY="adj3" minY="0" maxY="maxAdj3">\r
+ <pos x="r" y="y1" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="ix" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="q12" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x4" y="y1" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x6" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="x8" y="y1" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+\r
+ <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+\r
+ <path stroke="false" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="x6" y="b" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x5" y="y1" />\r
+ </lnTo>\r
+ <arcTo wR="wR" hR="h" stAng="stAng" swAng="mswAng" />\r
+ <lnTo>\r
+ <pt x="x3" y="t" />\r
+ </lnTo>\r
+ <arcTo wR="wR" hR="h" stAng="3cd4" swAng="swAng" />\r
+ <lnTo>\r
+ <pt x="x8" y="y1" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+\r
+ <path fill="darkenLess" stroke="false" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="ix" y="iy" />\r
+ </moveTo>\r
+ <arcTo wR="wR" hR="h" stAng="stAng2" swAng="swAng2" />\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <arcTo wR="wR" hR="h" stAng="cd2" swAng="swAng3" />\r
+ <close />\r
+ </path>\r
+\r
+ <path fill="none" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="ix" y="iy" />\r
+ </moveTo>\r
+ <arcTo wR="wR" hR="h" stAng="stAng2" swAng="swAng2" />\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <arcTo wR="wR" hR="h" stAng="cd2" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="x3" y="t" />\r
+ </lnTo>\r
+ <arcTo wR="wR" hR="h" stAng="3cd4" swAng="swAng" />\r
+ <lnTo>\r
+ <pt x="x8" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x6" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x5" y="y1" />\r
+ </lnTo>\r
+ <arcTo wR="wR" hR="h" stAng="stAng" swAng="mswAng" />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </curvedDownArrow>\r
+ <curvedLeftArrow>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 25000" />\r
+\r
+ <gd name="adj2" fmla="val 50000" />\r
+\r
+ <gd name="adj3" fmla="val 25000" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="maxAdj2" fmla="*/ 50000 h ss" />\r
+\r
+ <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
+ <gd name="a1" fmla="pin 0 adj1 a2" />\r
+ <gd name="th" fmla="*/ ss a1 100000" />\r
+\r
+ <gd name="aw" fmla="*/ ss a2 100000" />\r
+\r
+ <gd name="q1" fmla="+/ th aw 4" />\r
+\r
+ <gd name="hR" fmla="+- hd2 0 q1" />\r
+\r
+ <gd name="q7" fmla="*/ hR 2 1" />\r
+\r
+ <gd name="q8" fmla="*/ q7 q7 1" />\r
+\r
+ <gd name="q9" fmla="*/ th th 1" />\r
+\r
+ <gd name="q10" fmla="+- q8 0 q9" />\r
+ <gd name="q11" fmla="sqrt q10" />\r
+ <gd name="idx" fmla="*/ q11 w q7" />\r
+ <gd name="maxAdj3" fmla="*/ 100000 idx ss" />\r
+\r
+ <gd name="a3" fmla="pin 0 adj3 maxAdj3" />\r
+ <gd name="ah" fmla="*/ ss a3 100000" />\r
+\r
+\r
+\r
+\r
+\r
+ <gd name="y3" fmla="+- hR th 0" />\r
+\r
+ <gd name="q2" fmla="*/ w w 1" />\r
+ <gd name="q3" fmla="*/ ah ah 1" />\r
+ <gd name="q4" fmla="+- q2 0 q3" />\r
+ <gd name="q5" fmla="sqrt q4" />\r
+ <gd name="dy" fmla="*/ q5 hR w" />\r
+ <gd name="y5" fmla="+- hR dy 0" />\r
+\r
+ <gd name="y7" fmla="+- y3 dy 0" />\r
+\r
+ <gd name="q6" fmla="+- aw 0 th" />\r
+ <gd name="dh" fmla="*/ q6 1 2" />\r
+\r
+ <gd name="y4" fmla="+- y5 0 dh" />\r
+\r
+ <gd name="y8" fmla="+- y7 dh 0" />\r
+\r
+ <gd name="aw2" fmla="*/ aw 1 2" />\r
+ <gd name="y6" fmla="+- b 0 aw2" />\r
+\r
+ <gd name="x1" fmla="+- l ah 0" />\r
+ <gd name="swAng" fmla="at2 ah dy" />\r
+\r
+ <gd name="mswAng" fmla="+- 0 0 swAng" />\r
+ <gd name="ix" fmla="+- l idx 0" />\r
+\r
+ <gd name="iy" fmla="+/ hR y3 2" />\r
+\r
+ <gd name="q12" fmla="*/ th 1 2" />\r
+ <gd name="dang2" fmla="at2 idx q12" />\r
+ <gd name="swAng2" fmla="+- dang2 0 swAng" />\r
+ <gd name="swAng3" fmla="+- swAng dang2 0" />\r
+ <gd name="stAng3" fmla="+- 0 0 dang2" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj1" minY="0" maxY="a2">\r
+ <pos x="x1" y="y5" />\r
+ </ahXY>\r
+ <ahXY gdRefY="adj2" minY="0" maxY="maxAdj2">\r
+ <pos x="r" y="y4" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj3" minX="0" maxX="maxAdj3">\r
+ <pos x="x1" y="b" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="q12" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="x1" y="y4" />\r
+ </cxn>\r
+ <cxn ang="cd3">\r
+ <pos x="l" y="y6" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x1" y="y8" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="iy" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+\r
+ <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+\r
+ <path stroke="false" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="l" y="y6" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y5" />\r
+ </lnTo>\r
+ <arcTo wR="w" hR="hR" stAng="swAng" swAng="swAng2" />\r
+ <arcTo wR="w" hR="hR" stAng="stAng3" swAng="swAng3" />\r
+ <lnTo>\r
+ <pt x="x1" y="y8" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+\r
+ <path fill="darkenLess" stroke="false" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="r" y="y3" />\r
+ </moveTo>\r
+ <arcTo wR="w" hR="hR" stAng="0" swAng="-5400000" />\r
+ <lnTo>\r
+ <pt x="l" y="t" />\r
+ </lnTo>\r
+ <arcTo wR="w" hR="hR" stAng="3cd4" swAng="cd4" />\r
+ <close />\r
+ </path>\r
+\r
+ <path fill="none" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="r" y="y3" />\r
+ </moveTo>\r
+ <arcTo wR="w" hR="hR" stAng="0" swAng="-5400000" />\r
+ <lnTo>\r
+ <pt x="l" y="t" />\r
+ </lnTo>\r
+ <arcTo wR="w" hR="hR" stAng="3cd4" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="r" y="y3" />\r
+ </lnTo>\r
+ <arcTo wR="w" hR="hR" stAng="0" swAng="swAng" />\r
+ <lnTo>\r
+ <pt x="x1" y="y8" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="y6" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y5" />\r
+ </lnTo>\r
+ <arcTo wR="w" hR="hR" stAng="swAng" swAng="swAng2" />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </curvedLeftArrow>\r
+ <curvedRightArrow>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 25000" />\r
+\r
+ <gd name="adj2" fmla="val 50000" />\r
+\r
+ <gd name="adj3" fmla="val 25000" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="maxAdj2" fmla="*/ 50000 h ss" />\r
+\r
+ <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
+ <gd name="a1" fmla="pin 0 adj1 a2" />\r
+ <gd name="th" fmla="*/ ss a1 100000" />\r
+\r
+ <gd name="aw" fmla="*/ ss a2 100000" />\r
+\r
+ <gd name="q1" fmla="+/ th aw 4" />\r
+\r
+ <gd name="hR" fmla="+- hd2 0 q1" />\r
+\r
+ <gd name="q7" fmla="*/ hR 2 1" />\r
+\r
+ <gd name="q8" fmla="*/ q7 q7 1" />\r
+\r
+ <gd name="q9" fmla="*/ th th 1" />\r
+\r
+ <gd name="q10" fmla="+- q8 0 q9" />\r
+ <gd name="q11" fmla="sqrt q10" />\r
+ <gd name="idx" fmla="*/ q11 w q7" />\r
+ <gd name="maxAdj3" fmla="*/ 100000 idx ss" />\r
+\r
+ <gd name="a3" fmla="pin 0 adj3 maxAdj3" />\r
+ <gd name="ah" fmla="*/ ss a3 100000" />\r
+\r
+\r
+\r
+\r
+\r
+ <gd name="y3" fmla="+- hR th 0" />\r
+\r
+ <gd name="q2" fmla="*/ w w 1" />\r
+ <gd name="q3" fmla="*/ ah ah 1" />\r
+ <gd name="q4" fmla="+- q2 0 q3" />\r
+ <gd name="q5" fmla="sqrt q4" />\r
+ <gd name="dy" fmla="*/ q5 hR w" />\r
+ <gd name="y5" fmla="+- hR dy 0" />\r
+\r
+ <gd name="y7" fmla="+- y3 dy 0" />\r
+\r
+ <gd name="q6" fmla="+- aw 0 th" />\r
+ <gd name="dh" fmla="*/ q6 1 2" />\r
+\r
+ <gd name="y4" fmla="+- y5 0 dh" />\r
+\r
+ <gd name="y8" fmla="+- y7 dh 0" />\r
+\r
+ <gd name="aw2" fmla="*/ aw 1 2" />\r
+ <gd name="y6" fmla="+- b 0 aw2" />\r
+\r
+ <gd name="x1" fmla="+- r 0 ah" />\r
+ <gd name="swAng" fmla="at2 ah dy" />\r
+\r
+ <gd name="stAng" fmla="+- cd2 0 swAng" />\r
+ <gd name="mswAng" fmla="+- 0 0 swAng" />\r
+ <gd name="ix" fmla="+- r 0 idx" />\r
+\r
+ <gd name="iy" fmla="+/ hR y3 2" />\r
+\r
+ <gd name="q12" fmla="*/ th 1 2" />\r
+ <gd name="dang2" fmla="at2 idx q12" />\r
+ <gd name="swAng2" fmla="+- dang2 0 cd4" />\r
+ <gd name="swAng3" fmla="+- cd4 dang2 0" />\r
+ <gd name="stAng3" fmla="+- cd2 0 dang2" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj1" minY="0" maxY="a2">\r
+ <pos x="x1" y="y5" />\r
+ </ahXY>\r
+ <ahXY gdRefY="adj2" minY="0" maxY="maxAdj2">\r
+ <pos x="r" y="y4" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj3" minX="0" maxX="maxAdj3">\r
+ <pos x="x1" y="b" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="iy" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x1" y="y8" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="y6" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="x1" y="y4" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="q12" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+\r
+ <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+\r
+ <path stroke="false" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="l" y="hR" />\r
+ </moveTo>\r
+ <arcTo wR="w" hR="hR" stAng="cd2" swAng="mswAng" />\r
+ <lnTo>\r
+ <pt x="x1" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="y6" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y8" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y7" />\r
+ </lnTo>\r
+ <arcTo wR="w" hR="hR" stAng="stAng" swAng="swAng" />\r
+ <close />\r
+ </path>\r
+\r
+ <path fill="darkenLess" stroke="false" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="r" y="th" />\r
+ </moveTo>\r
+ <arcTo wR="w" hR="hR" stAng="3cd4" swAng="swAng2" />\r
+ <arcTo wR="w" hR="hR" stAng="stAng3" swAng="swAng3" />\r
+ <close />\r
+ </path>\r
+\r
+ <path fill="none" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="l" y="hR" />\r
+ </moveTo>\r
+ <arcTo wR="w" hR="hR" stAng="cd2" swAng="mswAng" />\r
+ <lnTo>\r
+ <pt x="x1" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="y6" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y8" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y7" />\r
+ </lnTo>\r
+ <arcTo wR="w" hR="hR" stAng="stAng" swAng="swAng" />\r
+ <lnTo>\r
+ <pt x="l" y="hR" />\r
+ </lnTo>\r
+ <arcTo wR="w" hR="hR" stAng="cd2" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="r" y="th" />\r
+ </lnTo>\r
+ <arcTo wR="w" hR="hR" stAng="3cd4" swAng="swAng2" />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </curvedRightArrow>\r
+ <curvedUpArrow>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 25000" />\r
+\r
+ <gd name="adj2" fmla="val 50000" />\r
+\r
+ <gd name="adj3" fmla="val 25000" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="maxAdj2" fmla="*/ 50000 w ss" />\r
+\r
+ <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
+ <gd name="a1" fmla="pin 0 adj1 100000" />\r
+ <gd name="th" fmla="*/ ss a1 100000" />\r
+\r
+ <gd name="aw" fmla="*/ ss a2 100000" />\r
+\r
+ <gd name="q1" fmla="+/ th aw 4" />\r
+\r
+ <gd name="wR" fmla="+- wd2 0 q1" />\r
+\r
+ <gd name="q7" fmla="*/ wR 2 1" />\r
+\r
+ <gd name="q8" fmla="*/ q7 q7 1" />\r
+\r
+ <gd name="q9" fmla="*/ th th 1" />\r
+\r
+ <gd name="q10" fmla="+- q8 0 q9" />\r
+ <gd name="q11" fmla="sqrt q10" />\r
+ <gd name="idy" fmla="*/ q11 h q7" />\r
+ <gd name="maxAdj3" fmla="*/ 100000 idy ss" />\r
+\r
+ <gd name="a3" fmla="pin 0 adj3 maxAdj3" />\r
+ <gd name="ah" fmla="*/ ss adj3 100000" />\r
+\r
+\r
+\r
+\r
+\r
+ <gd name="x3" fmla="+- wR th 0" />\r
+\r
+ <gd name="q2" fmla="*/ h h 1" />\r
+ <gd name="q3" fmla="*/ ah ah 1" />\r
+ <gd name="q4" fmla="+- q2 0 q3" />\r
+ <gd name="q5" fmla="sqrt q4" />\r
+ <gd name="dx" fmla="*/ q5 wR h" />\r
+ <gd name="x5" fmla="+- wR dx 0" />\r
+\r
+ <gd name="x7" fmla="+- x3 dx 0" />\r
+\r
+ <gd name="q6" fmla="+- aw 0 th" />\r
+ <gd name="dh" fmla="*/ q6 1 2" />\r
+\r
+ <gd name="x4" fmla="+- x5 0 dh" />\r
+\r
+ <gd name="x8" fmla="+- x7 dh 0" />\r
+\r
+ <gd name="aw2" fmla="*/ aw 1 2" />\r
+ <gd name="x6" fmla="+- r 0 aw2" />\r
+\r
+ <gd name="y1" fmla="+- t ah 0" />\r
+ <gd name="swAng" fmla="at2 ah dx" />\r
+\r
+ <gd name="mswAng" fmla="+- 0 0 swAng" />\r
+ <gd name="iy" fmla="+- t idy 0" />\r
+\r
+ <gd name="ix" fmla="+/ wR x3 2" />\r
+\r
+ <gd name="q12" fmla="*/ th 1 2" />\r
+ <gd name="dang2" fmla="at2 idy q12" />\r
+ <gd name="swAng2" fmla="+- dang2 0 swAng" />\r
+ <gd name="mswAng2" fmla="+- 0 0 swAng2" />\r
+ <gd name="stAng3" fmla="+- cd4 0 swAng" />\r
+ <gd name="swAng3" fmla="+- swAng dang2 0" />\r
+ <gd name="stAng2" fmla="+- cd4 0 dang2" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj1" minX="0" maxX="a2">\r
+ <pos x="x7" y="y1" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">\r
+ <pos x="x4" y="t" />\r
+ </ahXY>\r
+ <ahXY gdRefY="adj3" minY="0" maxY="maxAdj3">\r
+ <pos x="r" y="y1" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="x6" y="t" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="x4" y="y1" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="q12" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="ix" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="x8" y="y1" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+\r
+ <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+\r
+ <path stroke="false" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="x6" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x8" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x7" y="y1" />\r
+ </lnTo>\r
+ <arcTo wR="wR" hR="h" stAng="stAng3" swAng="swAng3" />\r
+ <arcTo wR="wR" hR="h" stAng="stAng2" swAng="swAng2" />\r
+ <lnTo>\r
+ <pt x="x4" y="y1" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+\r
+ <path fill="darkenLess" stroke="false" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="wR" y="b" />\r
+ </moveTo>\r
+ <arcTo wR="wR" hR="h" stAng="cd4" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="th" y="t" />\r
+ </lnTo>\r
+ <arcTo wR="wR" hR="h" stAng="cd2" swAng="-5400000" />\r
+ <close />\r
+ </path>\r
+\r
+ <path fill="none" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="ix" y="iy" />\r
+ </moveTo>\r
+ <arcTo wR="wR" hR="h" stAng="stAng2" swAng="swAng2" />\r
+ <lnTo>\r
+ <pt x="x4" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x6" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x8" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x7" y="y1" />\r
+ </lnTo>\r
+ <arcTo wR="wR" hR="h" stAng="stAng3" swAng="swAng" />\r
+ <lnTo>\r
+ <pt x="wR" y="b" />\r
+ </lnTo>\r
+ <arcTo wR="wR" hR="h" stAng="cd4" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="th" y="t" />\r
+ </lnTo>\r
+ <arcTo wR="wR" hR="h" stAng="cd2" swAng="-5400000" />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </curvedUpArrow>\r
+ <decagon>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="vf" fmla="val 105146" />\r
+ </avLst>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="shd2" fmla="*/ hd2 vf 100000" />\r
+ <gd name="dx1" fmla="cos wd2 2160000" />\r
+ <gd name="dx2" fmla="cos wd2 4320000" />\r
+ <gd name="x1" fmla="+- hc 0 dx1" />\r
+ <gd name="x2" fmla="+- hc 0 dx2" />\r
+ <gd name="x3" fmla="+- hc dx2 0" />\r
+ <gd name="x4" fmla="+- hc dx1 0" />\r
+ <gd name="dy1" fmla="sin shd2 4320000" />\r
+ <gd name="dy2" fmla="sin shd2 2160000" />\r
+ <gd name="y1" fmla="+- vc 0 dy1" />\r
+ <gd name="y2" fmla="+- vc 0 dy2" />\r
+ <gd name="y3" fmla="+- vc dy2 0" />\r
+ <gd name="y4" fmla="+- vc dy1 0" />\r
+ </gdLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="x4" y="y2" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="x4" y="y3" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x3" y="y4" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x2" y="y4" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="x1" y="y3" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="x1" y="y2" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="x2" y="y1" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="x3" y="y1" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="x1" t="y2" r="x4" b="y3" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="vc" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="vc" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y3" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </decagon>\r
+ <diagStripe>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj" fmla="val 50000" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a" fmla="pin 0 adj 100000" />\r
+ <gd name="x2" fmla="*/ w a 100000" />\r
+ <gd name="x1" fmla="*/ x2 1 2" />\r
+ <gd name="x3" fmla="+/ x2 r 2" />\r
+ <gd name="y2" fmla="*/ h a 100000" />\r
+ <gd name="y1" fmla="*/ y2 1 2" />\r
+ <gd name="y3" fmla="+/ y2 b 2" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj" minY="0" maxY="100000">\r
+ <pos x="l" y="y2" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="hc" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="y3" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="x1" y="y1" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="x3" y="t" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="l" t="t" r="x3" b="y3" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="y2" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x2" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </diagStripe>\r
+ <diamond>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="ir" fmla="*/ w 3 4" />\r
+ <gd name="ib" fmla="*/ h 3 4" />\r
+ </gdLst>\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+ <rect l="wd4" t="hd4" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="vc" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="hc" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="vc" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="hc" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+ </diamond>\r
+ <dodecagon>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="x1" fmla="*/ w 2894 21600" />\r
+ <gd name="x2" fmla="*/ w 7906 21600" />\r
+ <gd name="x3" fmla="*/ w 13694 21600" />\r
+ <gd name="x4" fmla="*/ w 18706 21600" />\r
+ <gd name="y1" fmla="*/ h 2894 21600" />\r
+ <gd name="y2" fmla="*/ h 7906 21600" />\r
+ <gd name="y3" fmla="*/ h 13694 21600" />\r
+ <gd name="y4" fmla="*/ h 18706 21600" />\r
+ </gdLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="x4" y="y1" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="y2" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="y3" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="x4" y="y4" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x3" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x2" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="x1" y="y4" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="y3" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="y2" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="x1" y="y1" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="x2" y="t" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="x3" y="t" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="x1" t="y1" r="x4" b="y4" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="y2" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="y3" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </dodecagon>\r
+ <donut>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj" fmla="val 25000" />\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a" fmla="pin 0 adj 50000" />\r
+ <gd name="dr" fmla="*/ ss a 100000" />\r
+ <gd name="iwd2" fmla="+- wd2 0 dr" />\r
+ <gd name="ihd2" fmla="+- hd2 0 dr" />\r
+ <gd name="idx" fmla="cos wd2 2700000" />\r
+ <gd name="idy" fmla="sin hd2 2700000" />\r
+ <gd name="il" fmla="+- hc 0 idx" />\r
+ <gd name="ir" fmla="+- hc idx 0" />\r
+ <gd name="it" fmla="+- vc 0 idy" />\r
+ <gd name="ib" fmla="+- vc idy 0" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahPolar gdRefR="adj" minR="0" maxR="50000">\r
+ <pos x="dr" y="vc" />\r
+ </ahPolar>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="il" y="it" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="il" y="ib" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="ir" y="ib" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="ir" y="it" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="vc" />\r
+ </moveTo>\r
+ <arcTo wR="wd2" hR="hd2" stAng="cd2" swAng="cd4" />\r
+ <arcTo wR="wd2" hR="hd2" stAng="3cd4" swAng="cd4" />\r
+ <arcTo wR="wd2" hR="hd2" stAng="0" swAng="cd4" />\r
+ <arcTo wR="wd2" hR="hd2" stAng="cd4" swAng="cd4" />\r
+ <close />\r
+ <moveTo>\r
+ <pt x="dr" y="vc" />\r
+ </moveTo>\r
+ <arcTo wR="iwd2" hR="ihd2" stAng="cd2" swAng="-5400000" />\r
+ <arcTo wR="iwd2" hR="ihd2" stAng="cd4" swAng="-5400000" />\r
+ <arcTo wR="iwd2" hR="ihd2" stAng="0" swAng="-5400000" />\r
+ <arcTo wR="iwd2" hR="ihd2" stAng="3cd4" swAng="-5400000" />\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </donut>\r
+ <doubleWave>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 6250" />\r
+\r
+ <gd name="adj2" fmla="val 0" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a1" fmla="pin 0 adj1 12500" />\r
+ <gd name="a2" fmla="pin -10000 adj2 10000" />\r
+ <gd name="y1" fmla="*/ h a1 100000" />\r
+\r
+ <gd name="dy2" fmla="*/ y1 10 3" />\r
+ <gd name="y2" fmla="+- y1 0 dy2" />\r
+\r
+ <gd name="y3" fmla="+- y1 dy2 0" />\r
+\r
+ <gd name="y4" fmla="+- b 0 y1" />\r
+\r
+ <gd name="y5" fmla="+- y4 0 dy2" />\r
+\r
+ <gd name="y6" fmla="+- y4 dy2 0" />\r
+\r
+ <gd name="dx1" fmla="*/ w a2 100000" />\r
+\r
+ <gd name="of2" fmla="*/ w a2 50000" />\r
+\r
+ <gd name="x1" fmla="abs dx1" />\r
+\r
+ <gd name="dx2" fmla="?: of2 0 of2" />\r
+ <gd name="x2" fmla="+- l 0 dx2" />\r
+\r
+ <gd name="dx8" fmla="?: of2 of2 0" />\r
+ <gd name="x8" fmla="+- r 0 dx8" />\r
+\r
+ <gd name="dx3" fmla="+/ dx2 x8 6" />\r
+ <gd name="x3" fmla="+- x2 dx3 0" />\r
+\r
+ <gd name="dx4" fmla="+/ dx2 x8 3" />\r
+ <gd name="x4" fmla="+- x2 dx4 0" />\r
+\r
+ <gd name="x5" fmla="+/ x2 x8 2" />\r
+\r
+ <gd name="x6" fmla="+- x5 dx3 0" />\r
+\r
+ <gd name="x7" fmla="+/ x6 x8 2" />\r
+\r
+ <gd name="x9" fmla="+- l dx8 0" />\r
+\r
+ <gd name="x15" fmla="+- r dx2 0" />\r
+\r
+ <gd name="x10" fmla="+- x9 dx3 0" />\r
+\r
+ <gd name="x11" fmla="+- x9 dx4 0" />\r
+\r
+ <gd name="x12" fmla="+/ x9 x15 2" />\r
+\r
+ <gd name="x13" fmla="+- x12 dx3 0" />\r
+\r
+ <gd name="x14" fmla="+/ x13 x15 2" />\r
+\r
+ <gd name="x16" fmla="+- r 0 x1" />\r
+\r
+ <gd name="xAdj" fmla="+- hc dx1 0" />\r
+ <gd name="il" fmla="max x2 x9" />\r
+ <gd name="ir" fmla="min x8 x15" />\r
+ <gd name="it" fmla="*/ h a1 50000" />\r
+ <gd name="ib" fmla="+- b 0 it" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj1" minY="0" maxY="12500">\r
+ <pos x="l" y="y1" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj2" minX="-10000" maxX="10000">\r
+ <pos x="xAdj" y="b" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="cd4">\r
+ <pos x="x12" y="y1" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="x1" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="x5" y="y4" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="x16" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="x2" y="y1" />\r
+ </moveTo>\r
+ <cubicBezTo>\r
+ <pt x="x3" y="y2" />\r
+ <pt x="x4" y="y3" />\r
+ <pt x="x5" y="y1" />\r
+ </cubicBezTo>\r
+ <cubicBezTo>\r
+ <pt x="x6" y="y2" />\r
+ <pt x="x7" y="y3" />\r
+ <pt x="x8" y="y1" />\r
+ </cubicBezTo>\r
+ <lnTo>\r
+ <pt x="x15" y="y4" />\r
+ </lnTo>\r
+ <cubicBezTo>\r
+ <pt x="x14" y="y6" />\r
+ <pt x="x13" y="y5" />\r
+ <pt x="x12" y="y4" />\r
+ </cubicBezTo>\r
+ <cubicBezTo>\r
+ <pt x="x11" y="y6" />\r
+ <pt x="x10" y="y5" />\r
+ <pt x="x9" y="y4" />\r
+ </cubicBezTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </doubleWave>\r
+ <downArrow>\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 50000" />\r
+ <gd name="adj2" fmla="val 50000" />\r
+ </avLst>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="maxAdj2" fmla="*/ 100000 h ss" />\r
+ <gd name="a1" fmla="pin 0 adj1 100000" />\r
+ <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
+ <gd name="dy1" fmla="*/ ss a2 100000" />\r
+ <gd name="y1" fmla="+- b 0 dy1" />\r
+ <gd name="dx1" fmla="*/ w a1 200000" />\r
+ <gd name="x1" fmla="+- hc 0 dx1" />\r
+ <gd name="x2" fmla="+- hc dx1 0" />\r
+ <gd name="dy2" fmla="*/ x1 dy1 wd2" />\r
+ <gd name="y2" fmla="+- y1 dy2 0" />\r
+ </gdLst>\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj1" minX="0" maxX="100000">\r
+ <pos x="x1" y="t" />\r
+ </ahXY>\r
+ <ahXY gdRefY="adj2" minY="0" maxY="maxAdj2">\r
+ <pos x="l" y="y1" />\r
+ </ahXY>\r
+ </ahLst>\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="y1" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="y1" />\r
+ </cxn>\r
+ </cxnLst>\r
+ <rect l="x1" t="t" r="x2" b="y2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="y1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="hc" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+ </downArrow>\r
+ <downArrowCallout>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 25000" />\r
+\r
+ <gd name="adj2" fmla="val 25000" />\r
+\r
+ <gd name="adj3" fmla="val 25000" />\r
+\r
+ <gd name="adj4" fmla="val 64977" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="maxAdj2" fmla="*/ 50000 w ss" />\r
+\r
+ <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
+ <gd name="maxAdj1" fmla="*/ a2 2 1" />\r
+\r
+ <gd name="a1" fmla="pin 0 adj1 maxAdj1" />\r
+ <gd name="maxAdj3" fmla="*/ 100000 h ss" />\r
+\r
+ <gd name="a3" fmla="pin 0 adj3 maxAdj3" />\r
+ <gd name="q2" fmla="*/ a3 ss h" />\r
+\r
+ <gd name="maxAdj4" fmla="+- 100000 0 q2" />\r
+\r
+ <gd name="a4" fmla="pin 0 adj4 maxAdj4" />\r
+ <gd name="dx1" fmla="*/ ss a2 100000" />\r
+\r
+ <gd name="dx2" fmla="*/ ss a1 200000" />\r
+\r
+ <gd name="x1" fmla="+- hc 0 dx1" />\r
+ <gd name="x2" fmla="+- hc 0 dx2" />\r
+ <gd name="x3" fmla="+- hc dx2 0" />\r
+ <gd name="x4" fmla="+- hc dx1 0" />\r
+ <gd name="dy3" fmla="*/ ss a3 100000" />\r
+\r
+ <gd name="y3" fmla="+- b 0 dy3" />\r
+ <gd name="y2" fmla="*/ h a4 100000" />\r
+\r
+ <gd name="y1" fmla="*/ y2 1 2" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj1" minX="0" maxX="maxAdj1">\r
+ <pos x="x2" y="y3" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">\r
+ <pos x="x1" y="b" />\r
+ </ahXY>\r
+ <ahXY gdRefY="adj3" minY="0" maxY="maxAdj3">\r
+ <pos x="r" y="y3" />\r
+ </ahXY>\r
+ <ahXY gdRefY="adj4" minY="0" maxY="maxAdj4">\r
+ <pos x="l" y="y2" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="y1" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="y1" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="l" t="t" r="r" b="y2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="hc" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="y2" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </downArrowCallout>\r
+ <ellipse>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="idx" fmla="cos wd2 2700000" />\r
+ <gd name="idy" fmla="sin hd2 2700000" />\r
+ <gd name="il" fmla="+- hc 0 idx" />\r
+ <gd name="ir" fmla="+- hc idx 0" />\r
+ <gd name="it" fmla="+- vc 0 idy" />\r
+ <gd name="ib" fmla="+- vc idy 0" />\r
+ </gdLst>\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="il" y="it" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="il" y="ib" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="ir" y="ib" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="ir" y="it" />\r
+ </cxn>\r
+ </cxnLst>\r
+ <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="vc" />\r
+ </moveTo>\r
+ <arcTo wR="wd2" hR="hd2" stAng="cd2" swAng="cd4" />\r
+ <arcTo wR="wd2" hR="hd2" stAng="3cd4" swAng="cd4" />\r
+ <arcTo wR="wd2" hR="hd2" stAng="0" swAng="cd4" />\r
+ <arcTo wR="wd2" hR="hd2" stAng="cd4" swAng="cd4" />\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+ </ellipse>\r
+ <ellipseRibbon>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 25000" />\r
+\r
+ <gd name="adj2" fmla="val 50000" />\r
+\r
+ <gd name="adj3" fmla="val 12500" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a1" fmla="pin 0 adj1 100000" />\r
+ <gd name="a2" fmla="pin 25000 adj2 75000" />\r
+ <gd name="q10" fmla="+- 100000 0 a1" />\r
+ <gd name="q11" fmla="*/ q10 1 2" />\r
+ <gd name="q12" fmla="+- a1 0 q11" />\r
+ <gd name="minAdj3" fmla="max 0 q12" />\r
+ <gd name="a3" fmla="pin minAdj3 adj3 a1" />\r
+\r
+\r
+ <gd name="dx2" fmla="*/ w a2 200000" />\r
+\r
+ <gd name="x2" fmla="+- hc 0 dx2" />\r
+\r
+ <gd name="x3" fmla="+- x2 wd8 0" />\r
+\r
+ <gd name="x4" fmla="+- r 0 x3" />\r
+\r
+ <gd name="x5" fmla="+- r 0 x2" />\r
+\r
+ <gd name="x6" fmla="+- r 0 wd8" />\r
+\r
+ <gd name="dy1" fmla="*/ h a3 100000" />\r
+\r
+ <gd name="f1" fmla="*/ 4 dy1 w" />\r
+\r
+ <gd name="q1" fmla="*/ x3 x3 w" />\r
+ <gd name="q2" fmla="+- x3 0 q1" />\r
+ <gd name="y1" fmla="*/ f1 q2 1" />\r
+\r
+ <gd name="cx1" fmla="*/ x3 1 2" />\r
+\r
+ <gd name="cy1" fmla="*/ f1 cx1 1" />\r
+\r
+ <gd name="cx2" fmla="+- r 0 cx1" />\r
+\r
+\r
+\r
+ <gd name="q1" fmla="*/ h a1 100000" />\r
+\r
+ <gd name="dy3" fmla="+- q1 0 dy1" />\r
+\r
+ <gd name="q3" fmla="*/ x2 x2 w" />\r
+ <gd name="q4" fmla="+- x2 0 q3" />\r
+ <gd name="q5" fmla="*/ f1 q4 1" />\r
+ <gd name="y3" fmla="+- q5 dy3 0" />\r
+\r
+\r
+\r
+ <gd name="q6" fmla="+- dy1 dy3 y3" />\r
+ <gd name="q7" fmla="+- q6 dy1 0" />\r
+ <gd name="cy3" fmla="+- q7 dy3 0" />\r
+\r
+ <gd name="rh" fmla="+- b 0 q1" />\r
+\r
+ <gd name="q8" fmla="*/ dy1 14 16" />\r
+ <gd name="y2" fmla="+/ q8 rh 2" />\r
+\r
+\r
+ <gd name="y5" fmla="+- q5 rh 0" />\r
+\r
+ <gd name="y6" fmla="+- y3 rh 0" />\r
+\r
+ <gd name="cx4" fmla="*/ x2 1 2" />\r
+\r
+ <gd name="q9" fmla="*/ f1 cx4 1" />\r
+ <gd name="cy4" fmla="+- q9 rh 0" />\r
+\r
+ <gd name="cx5" fmla="+- r 0 cx4" />\r
+\r
+\r
+\r
+\r
+\r
+ <gd name="cy6" fmla="+- cy3 rh 0" />\r
+\r
+ <gd name="y7" fmla="+- y1 dy3 0" />\r
+ <gd name="cy7" fmla="+- q1 q1 y7" />\r
+ <gd name="y8" fmla="+- b 0 dy1" />\r
+\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj1" minY="0" maxY="100000">\r
+ <pos x="hc" y="q1" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj2" minX="25000" maxX="75000">\r
+ <pos x="x2" y="b" />\r
+ </ahXY>\r
+ <ahXY gdRefY="adj3" minY="minAdj3" maxY="a1">\r
+ <pos x="l" y="y8" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="q1" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="wd8" y="y2" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="x6" y="y2" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="x2" t="q1" r="x5" b="y6" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path stroke="false" extrusionOk="false">\r
+\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <quadBezTo>\r
+ <pt x="cx1" y="cy1" />\r
+ <pt x="x3" y="y1" />\r
+ </quadBezTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y3" />\r
+ </lnTo>\r
+ <quadBezTo>\r
+ <pt x="hc" y="cy3" />\r
+ <pt x="x5" y="y3" />\r
+ </quadBezTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y1" />\r
+ </lnTo>\r
+ <quadBezTo>\r
+ <pt x="cx2" y="cy1" />\r
+ <pt x="r" y="t" />\r
+ </quadBezTo>\r
+ <lnTo>\r
+ <pt x="x6" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="rh" />\r
+ </lnTo>\r
+ <quadBezTo>\r
+ <pt x="cx5" y="cy4" />\r
+ <pt x="x5" y="y5" />\r
+ </quadBezTo>\r
+ <lnTo>\r
+ <pt x="x5" y="y6" />\r
+ </lnTo>\r
+ <quadBezTo>\r
+ <pt x="hc" y="cy6" />\r
+ <pt x="x2" y="y6" />\r
+ </quadBezTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y5" />\r
+ </lnTo>\r
+ <quadBezTo>\r
+ <pt x="cx4" y="cy4" />\r
+ <pt x="l" y="rh" />\r
+ </quadBezTo>\r
+ <lnTo>\r
+ <pt x="wd8" y="y2" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path fill="darkenLess" stroke="false" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="x3" y="y7" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y3" />\r
+ </lnTo>\r
+ <quadBezTo>\r
+ <pt x="hc" y="cy3" />\r
+ <pt x="x5" y="y3" />\r
+ </quadBezTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y7" />\r
+ </lnTo>\r
+ <quadBezTo>\r
+ <pt x="hc" y="cy7" />\r
+ <pt x="x3" y="y7" />\r
+ </quadBezTo>\r
+ <close />\r
+ </path>\r
+ <path fill="none" extrusionOk="false">\r
+\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <quadBezTo>\r
+ <pt x="cx1" y="cy1" />\r
+ <pt x="x3" y="y1" />\r
+ </quadBezTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y3" />\r
+ </lnTo>\r
+ <quadBezTo>\r
+ <pt x="hc" y="cy3" />\r
+ <pt x="x5" y="y3" />\r
+ </quadBezTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y1" />\r
+ </lnTo>\r
+ <quadBezTo>\r
+ <pt x="cx2" y="cy1" />\r
+ <pt x="r" y="t" />\r
+ </quadBezTo>\r
+ <lnTo>\r
+ <pt x="x6" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="rh" />\r
+ </lnTo>\r
+ <quadBezTo>\r
+ <pt x="cx5" y="cy4" />\r
+ <pt x="x5" y="y5" />\r
+ </quadBezTo>\r
+ <lnTo>\r
+ <pt x="x5" y="y6" />\r
+ </lnTo>\r
+ <quadBezTo>\r
+ <pt x="hc" y="cy6" />\r
+ <pt x="x2" y="y6" />\r
+ </quadBezTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y5" />\r
+ </lnTo>\r
+ <quadBezTo>\r
+ <pt x="cx4" y="cy4" />\r
+ <pt x="l" y="rh" />\r
+ </quadBezTo>\r
+ <lnTo>\r
+ <pt x="wd8" y="y2" />\r
+ </lnTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="x2" y="y5" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y3" />\r
+ </lnTo>\r
+ <moveTo>\r
+ <pt x="x5" y="y3" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x5" y="y5" />\r
+ </lnTo>\r
+ <moveTo>\r
+ <pt x="x3" y="y1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y7" />\r
+ </lnTo>\r
+ <moveTo>\r
+ <pt x="x4" y="y7" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y1" />\r
+ </lnTo>\r
+ </path>\r
+ </pathLst>\r
+\r
+ </ellipseRibbon>\r
+ <ellipseRibbon2>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 25000" />\r
+\r
+ <gd name="adj2" fmla="val 50000" />\r
+\r
+ <gd name="adj3" fmla="val 12500" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+\r
+\r
+ <gd name="a1" fmla="pin 0 adj1 100000" />\r
+ <gd name="a2" fmla="pin 25000 adj2 75000" />\r
+ <gd name="q10" fmla="+- 100000 0 a1" />\r
+ <gd name="q11" fmla="*/ q10 1 2" />\r
+ <gd name="q12" fmla="+- a1 0 q11" />\r
+ <gd name="minAdj3" fmla="max 0 q12" />\r
+ <gd name="a3" fmla="pin minAdj3 adj3 a1" />\r
+ <gd name="dx2" fmla="*/ w a2 200000" />\r
+\r
+ <gd name="x2" fmla="+- hc 0 dx2" />\r
+\r
+ <gd name="x3" fmla="+- x2 wd8 0" />\r
+\r
+ <gd name="x4" fmla="+- r 0 x3" />\r
+\r
+ <gd name="x5" fmla="+- r 0 x2" />\r
+\r
+ <gd name="x6" fmla="+- r 0 wd8" />\r
+\r
+ <gd name="dy1" fmla="*/ h a3 100000" />\r
+\r
+ <gd name="f1" fmla="*/ 4 dy1 w" />\r
+\r
+ <gd name="q1" fmla="*/ x3 x3 w" />\r
+ <gd name="q2" fmla="+- x3 0 q1" />\r
+ <gd name="u1" fmla="*/ f1 q2 1" />\r
+\r
+ <gd name="y1" fmla="+- b 0 u1" />\r
+ <gd name="cx1" fmla="*/ x3 1 2" />\r
+\r
+ <gd name="cu1" fmla="*/ f1 cx1 1" />\r
+\r
+ <gd name="cy1" fmla="+- b 0 cu1" />\r
+ <gd name="cx2" fmla="+- r 0 cx1" />\r
+\r
+\r
+\r
+ <gd name="q1" fmla="*/ h a1 100000" />\r
+\r
+ <gd name="dy3" fmla="+- q1 0 dy1" />\r
+\r
+ <gd name="q3" fmla="*/ x2 x2 w" />\r
+ <gd name="q4" fmla="+- x2 0 q3" />\r
+ <gd name="q5" fmla="*/ f1 q4 1" />\r
+ <gd name="u3" fmla="+- q5 dy3 0" />\r
+\r
+ <gd name="y3" fmla="+- b 0 u3" />\r
+\r
+\r
+ <gd name="q6" fmla="+- dy1 dy3 u3" />\r
+ <gd name="q7" fmla="+- q6 dy1 0" />\r
+ <gd name="cu3" fmla="+- q7 dy3 0" />\r
+\r
+ <gd name="cy3" fmla="+- b 0 cu3" />\r
+ <gd name="rh" fmla="+- b 0 q1" />\r
+\r
+ <gd name="q8" fmla="*/ dy1 14 16" />\r
+ <gd name="u2" fmla="+/ q8 rh 2" />\r
+\r
+ <gd name="y2" fmla="+- b 0 u2" />\r
+\r
+ <gd name="u5" fmla="+- q5 rh 0" />\r
+\r
+ <gd name="y5" fmla="+- b 0 u5" />\r
+ <gd name="u6" fmla="+- u3 rh 0" />\r
+\r
+ <gd name="y6" fmla="+- b 0 u6" />\r
+ <gd name="cx4" fmla="*/ x2 1 2" />\r
+\r
+ <gd name="q9" fmla="*/ f1 cx4 1" />\r
+ <gd name="cu4" fmla="+- q9 rh 0" />\r
+\r
+ <gd name="cy4" fmla="+- b 0 cu4" />\r
+ <gd name="cx5" fmla="+- r 0 cx4" />\r
+\r
+\r
+\r
+\r
+\r
+ <gd name="cu6" fmla="+- cu3 rh 0" />\r
+\r
+ <gd name="cy6" fmla="+- b 0 cu6" />\r
+ <gd name="u7" fmla="+- u1 dy3 0" />\r
+ <gd name="y7" fmla="+- b 0 u7" />\r
+ <gd name="cu7" fmla="+- q1 q1 u7" />\r
+ <gd name="cy7" fmla="+- b 0 cu7" />\r
+\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj1" minY="0" maxY="100000">\r
+ <pos x="hc" y="rh" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj2" minX="25000" maxX="100000">\r
+ <pos x="x2" y="t" />\r
+ </ahXY>\r
+ <ahXY gdRefY="adj3" minY="minAdj3" maxY="a1">\r
+ <pos x="l" y="dy1" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="wd8" y="y2" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="rh" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="x6" y="y2" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="x2" t="y6" r="x5" b="rh" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path stroke="false" extrusionOk="false">\r
+\r
+ <moveTo>\r
+ <pt x="l" y="b" />\r
+ </moveTo>\r
+ <quadBezTo>\r
+ <pt x="cx1" y="cy1" />\r
+ <pt x="x3" y="y1" />\r
+ </quadBezTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y3" />\r
+ </lnTo>\r
+ <quadBezTo>\r
+ <pt x="hc" y="cy3" />\r
+ <pt x="x5" y="y3" />\r
+ </quadBezTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y1" />\r
+ </lnTo>\r
+ <quadBezTo>\r
+ <pt x="cx2" y="cy1" />\r
+ <pt x="r" y="b" />\r
+ </quadBezTo>\r
+ <lnTo>\r
+ <pt x="x6" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="q1" />\r
+ </lnTo>\r
+ <quadBezTo>\r
+ <pt x="cx5" y="cy4" />\r
+ <pt x="x5" y="y5" />\r
+ </quadBezTo>\r
+ <lnTo>\r
+ <pt x="x5" y="y6" />\r
+ </lnTo>\r
+ <quadBezTo>\r
+ <pt x="hc" y="cy6" />\r
+ <pt x="x2" y="y6" />\r
+ </quadBezTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y5" />\r
+ </lnTo>\r
+ <quadBezTo>\r
+ <pt x="cx4" y="cy4" />\r
+ <pt x="l" y="q1" />\r
+ </quadBezTo>\r
+ <lnTo>\r
+ <pt x="wd8" y="y2" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path fill="darkenLess" stroke="false" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="x3" y="y7" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y3" />\r
+ </lnTo>\r
+ <quadBezTo>\r
+ <pt x="hc" y="cy3" />\r
+ <pt x="x5" y="y3" />\r
+ </quadBezTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y7" />\r
+ </lnTo>\r
+ <quadBezTo>\r
+ <pt x="hc" y="cy7" />\r
+ <pt x="x3" y="y7" />\r
+ </quadBezTo>\r
+ <close />\r
+ </path>\r
+ <path fill="none" extrusionOk="false">\r
+\r
+ <moveTo>\r
+ <pt x="l" y="b" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="wd8" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="q1" />\r
+ </lnTo>\r
+ <quadBezTo>\r
+ <pt x="cx4" y="cy4" />\r
+ <pt x="x2" y="y5" />\r
+ </quadBezTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y6" />\r
+ </lnTo>\r
+ <quadBezTo>\r
+ <pt x="hc" y="cy6" />\r
+ <pt x="x5" y="y6" />\r
+ </quadBezTo>\r
+ <lnTo>\r
+ <pt x="x5" y="y5" />\r
+ </lnTo>\r
+ <quadBezTo>\r
+ <pt x="cx5" y="cy4" />\r
+ <pt x="r" y="q1" />\r
+ </quadBezTo>\r
+ <lnTo>\r
+ <pt x="x6" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <quadBezTo>\r
+ <pt x="cx2" y="cy1" />\r
+ <pt x="x4" y="y1" />\r
+ </quadBezTo>\r
+ <lnTo>\r
+ <pt x="x5" y="y3" />\r
+ </lnTo>\r
+ <quadBezTo>\r
+ <pt x="hc" y="cy3" />\r
+ <pt x="x2" y="y3" />\r
+ </quadBezTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y1" />\r
+ </lnTo>\r
+ <quadBezTo>\r
+ <pt x="cx1" y="cy1" />\r
+ <pt x="l" y="b" />\r
+ </quadBezTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="x2" y="y3" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y5" />\r
+ </lnTo>\r
+ <moveTo>\r
+ <pt x="x5" y="y5" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x5" y="y3" />\r
+ </lnTo>\r
+ <moveTo>\r
+ <pt x="x3" y="y7" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y1" />\r
+ </lnTo>\r
+ <moveTo>\r
+ <pt x="x4" y="y1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y7" />\r
+ </lnTo>\r
+ </path>\r
+ </pathLst>\r
+\r
+ </ellipseRibbon2>\r
+ <flowChartAlternateProcess>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="x2" fmla="+- r 0 ssd6" />\r
+ <gd name="y2" fmla="+- b 0 ssd6" />\r
+ <gd name="il" fmla="*/ ssd6 29289 100000" />\r
+\r
+\r
+ <gd name="ir" fmla="+- r 0 il" />\r
+ <gd name="ib" fmla="+- b 0 il" />\r
+ </gdLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="il" t="il" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="ssd6" />\r
+ </moveTo>\r
+ <arcTo wR="ssd6" hR="ssd6" stAng="cd2" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="x2" y="t" />\r
+ </lnTo>\r
+ <arcTo wR="ssd6" hR="ssd6" stAng="3cd4" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="r" y="y2" />\r
+ </lnTo>\r
+ <arcTo wR="ssd6" hR="ssd6" stAng="0" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="ssd6" y="b" />\r
+ </lnTo>\r
+ <arcTo wR="ssd6" hR="ssd6" stAng="cd4" swAng="cd4" />\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </flowChartAlternateProcess>\r
+ <flowChartCollate>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="ir" fmla="*/ w 3 4" />\r
+ <gd name="ib" fmla="*/ h 3 4" />\r
+ </gdLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="wd4" t="hd4" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path w="2" h="2">\r
+ <moveTo>\r
+ <pt x="0" y="0" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="2" y="0" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="1" y="1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="2" y="2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="0" y="2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="1" y="1" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </flowChartCollate>\r
+ <flowChartConnector>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="idx" fmla="cos wd2 2700000" />\r
+ <gd name="idy" fmla="sin hd2 2700000" />\r
+ <gd name="il" fmla="+- hc 0 idx" />\r
+ <gd name="ir" fmla="+- hc idx 0" />\r
+ <gd name="it" fmla="+- vc 0 idy" />\r
+ <gd name="ib" fmla="+- vc idy 0" />\r
+ </gdLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="il" y="it" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="il" y="ib" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="ir" y="ib" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="ir" y="it" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="vc" />\r
+ </moveTo>\r
+ <arcTo wR="wd2" hR="hd2" stAng="cd2" swAng="cd4" />\r
+ <arcTo wR="wd2" hR="hd2" stAng="3cd4" swAng="cd4" />\r
+ <arcTo wR="wd2" hR="hd2" stAng="0" swAng="cd4" />\r
+ <arcTo wR="wd2" hR="hd2" stAng="cd4" swAng="cd4" />\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </flowChartConnector>\r
+ <flowChartDecision>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="ir" fmla="*/ w 3 4" />\r
+ <gd name="ib" fmla="*/ h 3 4" />\r
+ </gdLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="wd4" t="hd4" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path w="2" h="2">\r
+ <moveTo>\r
+ <pt x="0" y="1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="1" y="0" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="2" y="1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="1" y="2" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </flowChartDecision>\r
+ <flowChartDelay>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="idx" fmla="cos wd2 2700000" />\r
+ <gd name="idy" fmla="sin hd2 2700000" />\r
+ <gd name="ir" fmla="+- hc idx 0" />\r
+ <gd name="it" fmla="+- vc 0 idy" />\r
+ <gd name="ib" fmla="+- vc idy 0" />\r
+ </gdLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="l" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="hc" y="t" />\r
+ </lnTo>\r
+ <arcTo wR="wd2" hR="hd2" stAng="3cd4" swAng="cd2" />\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </flowChartDelay>\r
+ <flowChartDisplay>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="x2" fmla="*/ w 5 6" />\r
+ </gdLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="wd6" t="t" r="x2" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path w="6" h="6">\r
+ <moveTo>\r
+ <pt x="0" y="3" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="1" y="0" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="5" y="0" />\r
+ </lnTo>\r
+ <arcTo wR="1" hR="3" stAng="3cd4" swAng="cd2" />\r
+ <lnTo>\r
+ <pt x="1" y="6" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </flowChartDisplay>\r
+ <flowChartDocument>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="y1" fmla="*/ h 17322 21600" />\r
+ <gd name="y2" fmla="*/ h 20172 21600" />\r
+ </gdLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="y2" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="l" t="t" r="r" b="y1" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path w="21600" h="21600">\r
+ <moveTo>\r
+ <pt x="0" y="0" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="21600" y="0" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="21600" y="17322" />\r
+ </lnTo>\r
+ <cubicBezTo>\r
+ <pt x="10800" y="17322" />\r
+ <pt x="10800" y="23922" />\r
+ <pt x="0" y="20172" />\r
+ </cubicBezTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </flowChartDocument>\r
+ <flowChartExtract>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="x2" fmla="*/ w 3 4" />\r
+ </gdLst>\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="wd4" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="x2" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="wd4" t="vc" r="x2" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path w="2" h="2">\r
+ <moveTo>\r
+ <pt x="0" y="2" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="1" y="0" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="2" y="2" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </flowChartExtract>\r
+ <flowChartInputOutput>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="x3" fmla="*/ w 2 5" />\r
+ <gd name="x4" fmla="*/ w 3 5" />\r
+ <gd name="x5" fmla="*/ w 4 5" />\r
+ <gd name="x6" fmla="*/ w 9 10" />\r
+ </gdLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="x4" y="t" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="wd10" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x3" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="x6" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="wd5" t="t" r="x5" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path w="5" h="5">\r
+ <moveTo>\r
+ <pt x="0" y="5" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="1" y="0" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="5" y="0" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="4" y="5" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </flowChartInputOutput>\r
+ <flowChartInternalStorage>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="wd8" t="hd8" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path stroke="false" extrusionOk="false" w="1" h="1">\r
+\r
+ <moveTo>\r
+ <pt x="0" y="0" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="1" y="0" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="1" y="1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="0" y="1" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path fill="none" extrusionOk="false" w="8" h="8">\r
+\r
+ <moveTo>\r
+ <pt x="1" y="0" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="1" y="8" />\r
+ </lnTo>\r
+ <moveTo>\r
+ <pt x="0" y="1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="8" y="1" />\r
+ </lnTo>\r
+ </path>\r
+ <path fill="none" w="1" h="1">\r
+\r
+ <moveTo>\r
+ <pt x="0" y="0" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="1" y="0" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="1" y="1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="0" y="1" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </flowChartInternalStorage>\r
+ <flowChartMagneticDisk>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="y3" fmla="*/ h 5 6" />\r
+ </gdLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="hd3" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="l" t="hd3" r="r" b="y3" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path stroke="false" extrusionOk="false" w="6" h="6">\r
+\r
+ <moveTo>\r
+ <pt x="0" y="1" />\r
+ </moveTo>\r
+ <arcTo wR="3" hR="1" stAng="cd2" swAng="cd2" />\r
+ <lnTo>\r
+ <pt x="6" y="5" />\r
+ </lnTo>\r
+ <arcTo wR="3" hR="1" stAng="0" swAng="cd2" />\r
+ <close />\r
+ </path>\r
+ <path fill="none" extrusionOk="false" w="6" h="6">\r
+\r
+ <moveTo>\r
+ <pt x="6" y="1" />\r
+ </moveTo>\r
+ <arcTo wR="3" hR="1" stAng="0" swAng="cd2" />\r
+ </path>\r
+ <path fill="none" w="6" h="6">\r
+\r
+ <moveTo>\r
+ <pt x="0" y="1" />\r
+ </moveTo>\r
+ <arcTo wR="3" hR="1" stAng="cd2" swAng="cd2" />\r
+ <lnTo>\r
+ <pt x="6" y="5" />\r
+ </lnTo>\r
+ <arcTo wR="3" hR="1" stAng="0" swAng="cd2" />\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </flowChartMagneticDisk>\r
+ <flowChartMagneticDrum>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="x2" fmla="*/ w 2 3" />\r
+ </gdLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="x2" y="vc" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="wd6" t="t" r="x2" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path stroke="false" extrusionOk="false" w="6" h="6">\r
+\r
+ <moveTo>\r
+ <pt x="1" y="0" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="5" y="0" />\r
+ </lnTo>\r
+ <arcTo wR="1" hR="3" stAng="3cd4" swAng="cd2" />\r
+ <lnTo>\r
+ <pt x="1" y="6" />\r
+ </lnTo>\r
+ <arcTo wR="1" hR="3" stAng="cd4" swAng="cd2" />\r
+ <close />\r
+ </path>\r
+ <path fill="none" extrusionOk="false" w="6" h="6">\r
+\r
+ <moveTo>\r
+ <pt x="5" y="6" />\r
+ </moveTo>\r
+ <arcTo wR="1" hR="3" stAng="cd4" swAng="cd2" />\r
+ </path>\r
+ <path fill="none" w="6" h="6">\r
+\r
+ <moveTo>\r
+ <pt x="1" y="0" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="5" y="0" />\r
+ </lnTo>\r
+ <arcTo wR="1" hR="3" stAng="3cd4" swAng="cd2" />\r
+ <lnTo>\r
+ <pt x="1" y="6" />\r
+ </lnTo>\r
+ <arcTo wR="1" hR="3" stAng="cd4" swAng="cd2" />\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </flowChartMagneticDrum>\r
+ <flowChartMagneticTape>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="idx" fmla="cos wd2 2700000" />\r
+ <gd name="idy" fmla="sin hd2 2700000" />\r
+ <gd name="il" fmla="+- hc 0 idx" />\r
+ <gd name="ir" fmla="+- hc idx 0" />\r
+ <gd name="it" fmla="+- vc 0 idy" />\r
+ <gd name="ib" fmla="+- vc idy 0" />\r
+ <gd name="ang1" fmla="at2 w h" />\r
+ </gdLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="hc" y="b" />\r
+ </moveTo>\r
+ <arcTo wR="wd2" hR="hd2" stAng="cd4" swAng="cd4" />\r
+ <arcTo wR="wd2" hR="hd2" stAng="cd2" swAng="cd4" />\r
+ <arcTo wR="wd2" hR="hd2" stAng="3cd4" swAng="cd4" />\r
+ <arcTo wR="wd2" hR="hd2" stAng="0" swAng="ang1" />\r
+ <lnTo>\r
+ <pt x="r" y="ib" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </flowChartMagneticTape>\r
+ <flowChartManualInput>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="hd10" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="l" t="hd5" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path w="5" h="5">\r
+ <moveTo>\r
+ <pt x="0" y="1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="5" y="0" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="5" y="5" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="0" y="5" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </flowChartManualInput>\r
+ <flowChartManualOperation>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="x3" fmla="*/ w 4 5" />\r
+ <gd name="x4" fmla="*/ w 9 10" />\r
+ </gdLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="wd10" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="x4" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="wd5" t="t" r="x3" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path w="5" h="5">\r
+ <moveTo>\r
+ <pt x="0" y="0" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="5" y="0" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="4" y="5" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="1" y="5" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </flowChartManualOperation>\r
+ <flowChartMerge>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="x2" fmla="*/ w 3 4" />\r
+ </gdLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="wd4" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="x2" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="wd4" t="t" r="x2" b="vc" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path w="2" h="2">\r
+ <moveTo>\r
+ <pt x="0" y="0" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="2" y="0" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="1" y="2" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </flowChartMerge>\r
+ <flowChartMultidocument>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="y2" fmla="*/ h 3675 21600" />\r
+ <gd name="y8" fmla="*/ h 20782 21600" />\r
+ <gd name="x3" fmla="*/ w 9298 21600" />\r
+ <gd name="x4" fmla="*/ w 12286 21600" />\r
+ <gd name="x5" fmla="*/ w 18595 21600" />\r
+ </gdLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="x4" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x3" y="y8" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="l" t="y2" r="x5" b="y8" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path stroke="false" extrusionOk="false" w="21600" h="21600">\r
+\r
+ <moveTo>\r
+ <pt x="0" y="20782" />\r
+ </moveTo>\r
+ <cubicBezTo>\r
+ <pt x="9298" y="23542" />\r
+ <pt x="9298" y="18022" />\r
+ <pt x="18595" y="18022" />\r
+ </cubicBezTo>\r
+ <lnTo>\r
+ <pt x="18595" y="3675" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="0" y="3675" />\r
+ </lnTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="1532" y="3675" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="1532" y="1815" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="20000" y="1815" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="20000" y="16252" />\r
+ </lnTo>\r
+ <cubicBezTo>\r
+ <pt x="19298" y="16252" />\r
+ <pt x="18595" y="16352" />\r
+ <pt x="18595" y="16352" />\r
+ </cubicBezTo>\r
+ <lnTo>\r
+ <pt x="18595" y="3675" />\r
+ </lnTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="2972" y="1815" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="2972" y="0" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="21600" y="0" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="21600" y="14392" />\r
+ </lnTo>\r
+ <cubicBezTo>\r
+ <pt x="20800" y="14392" />\r
+ <pt x="20000" y="14467" />\r
+ <pt x="20000" y="14467" />\r
+ </cubicBezTo>\r
+ <lnTo>\r
+ <pt x="20000" y="1815" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path fill="none" extrusionOk="false" w="21600" h="21600">\r
+\r
+ <moveTo>\r
+ <pt x="0" y="3675" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="18595" y="3675" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="18595" y="18022" />\r
+ </lnTo>\r
+ <cubicBezTo>\r
+ <pt x="9298" y="18022" />\r
+ <pt x="9298" y="23542" />\r
+ <pt x="0" y="20782" />\r
+ </cubicBezTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="1532" y="3675" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="1532" y="1815" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="20000" y="1815" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="20000" y="16252" />\r
+ </lnTo>\r
+ <cubicBezTo>\r
+ <pt x="19298" y="16252" />\r
+ <pt x="18595" y="16352" />\r
+ <pt x="18595" y="16352" />\r
+ </cubicBezTo>\r
+ <moveTo>\r
+ <pt x="2972" y="1815" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="2972" y="0" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="21600" y="0" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="21600" y="14392" />\r
+ </lnTo>\r
+ <cubicBezTo>\r
+ <pt x="20800" y="14392" />\r
+ <pt x="20000" y="14467" />\r
+ <pt x="20000" y="14467" />\r
+ </cubicBezTo>\r
+ </path>\r
+ <path stroke="false" fill="none" w="21600" h="21600">\r
+\r
+ <moveTo>\r
+ <pt x="0" y="20782" />\r
+ </moveTo>\r
+ <cubicBezTo>\r
+ <pt x="9298" y="23542" />\r
+ <pt x="9298" y="18022" />\r
+ <pt x="18595" y="18022" />\r
+ </cubicBezTo>\r
+ <lnTo>\r
+ <pt x="18595" y="16352" />\r
+ </lnTo>\r
+ <cubicBezTo>\r
+ <pt x="18595" y="16352" />\r
+ <pt x="19298" y="16252" />\r
+ <pt x="20000" y="16252" />\r
+ </cubicBezTo>\r
+ <lnTo>\r
+ <pt x="20000" y="14467" />\r
+ </lnTo>\r
+ <cubicBezTo>\r
+ <pt x="20000" y="14467" />\r
+ <pt x="20800" y="14392" />\r
+ <pt x="21600" y="14392" />\r
+ </cubicBezTo>\r
+ <lnTo>\r
+ <pt x="21600" y="0" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="2972" y="0" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="2972" y="1815" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="1532" y="1815" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="1532" y="3675" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="0" y="3675" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </flowChartMultidocument>\r
+ <flowChartOfflineStorage>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="x4" fmla="*/ w 3 4" />\r
+ </gdLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="x4" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="wd4" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="wd4" t="t" r="x4" b="vc" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path stroke="false" extrusionOk="false" w="2" h="2">\r
+\r
+ <moveTo>\r
+ <pt x="0" y="0" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="2" y="0" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="1" y="2" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path fill="none" extrusionOk="false" w="5" h="5">\r
+\r
+ <moveTo>\r
+ <pt x="2" y="4" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="3" y="4" />\r
+ </lnTo>\r
+ </path>\r
+ <path fill="none" extrusionOk="true" w="2" h="2">\r
+\r
+ <moveTo>\r
+ <pt x="0" y="0" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="2" y="0" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="1" y="2" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </flowChartOfflineStorage>\r
+ <flowChartOffpageConnector>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="y1" fmla="*/ h 4 5" />\r
+ </gdLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="l" t="t" r="r" b="y1" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path w="10" h="10">\r
+ <moveTo>\r
+ <pt x="0" y="0" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="10" y="0" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="10" y="8" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="5" y="10" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="0" y="8" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </flowChartOffpageConnector>\r
+ <flowChartOnlineStorage>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="x2" fmla="*/ w 5 6" />\r
+ </gdLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="x2" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="wd6" t="t" r="x2" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path w="6" h="6">\r
+ <moveTo>\r
+ <pt x="1" y="0" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="6" y="0" />\r
+ </lnTo>\r
+ <arcTo wR="1" hR="3" stAng="3cd4" swAng="-10800000" />\r
+ <lnTo>\r
+ <pt x="1" y="6" />\r
+ </lnTo>\r
+ <arcTo wR="1" hR="3" stAng="cd4" swAng="cd2" />\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </flowChartOnlineStorage>\r
+ <flowChartOr>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="idx" fmla="cos wd2 2700000" />\r
+ <gd name="idy" fmla="sin hd2 2700000" />\r
+ <gd name="il" fmla="+- hc 0 idx" />\r
+ <gd name="ir" fmla="+- hc idx 0" />\r
+ <gd name="it" fmla="+- vc 0 idy" />\r
+ <gd name="ib" fmla="+- vc idy 0" />\r
+ </gdLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="il" y="it" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="il" y="ib" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="ir" y="ib" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="ir" y="it" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path stroke="false" extrusionOk="false">\r
+\r
+ <moveTo>\r
+ <pt x="l" y="vc" />\r
+ </moveTo>\r
+ <arcTo wR="wd2" hR="hd2" stAng="cd2" swAng="cd4" />\r
+ <arcTo wR="wd2" hR="hd2" stAng="3cd4" swAng="cd4" />\r
+ <arcTo wR="wd2" hR="hd2" stAng="0" swAng="cd4" />\r
+ <arcTo wR="wd2" hR="hd2" stAng="cd4" swAng="cd4" />\r
+ <close />\r
+ </path>\r
+ <path fill="none" extrusionOk="false">\r
+\r
+ <moveTo>\r
+ <pt x="hc" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="hc" y="b" />\r
+ </lnTo>\r
+ <moveTo>\r
+ <pt x="l" y="vc" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="r" y="vc" />\r
+ </lnTo>\r
+ </path>\r
+ <path fill="none">\r
+\r
+ <moveTo>\r
+ <pt x="l" y="vc" />\r
+ </moveTo>\r
+ <arcTo wR="wd2" hR="hd2" stAng="cd2" swAng="cd4" />\r
+ <arcTo wR="wd2" hR="hd2" stAng="3cd4" swAng="cd4" />\r
+ <arcTo wR="wd2" hR="hd2" stAng="0" swAng="cd4" />\r
+ <arcTo wR="wd2" hR="hd2" stAng="cd4" swAng="cd4" />\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </flowChartOr>\r
+ <flowChartPredefinedProcess>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="x2" fmla="*/ w 7 8" />\r
+ </gdLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="wd8" t="t" r="x2" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path stroke="false" extrusionOk="false" w="1" h="1">\r
+\r
+ <moveTo>\r
+ <pt x="0" y="0" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="1" y="0" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="1" y="1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="0" y="1" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path fill="none" extrusionOk="false" w="8" h="8">\r
+\r
+ <moveTo>\r
+ <pt x="1" y="0" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="1" y="8" />\r
+ </lnTo>\r
+ <moveTo>\r
+ <pt x="7" y="0" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="7" y="8" />\r
+ </lnTo>\r
+ </path>\r
+ <path fill="none" w="1" h="1">\r
+\r
+ <moveTo>\r
+ <pt x="0" y="0" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="1" y="0" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="1" y="1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="0" y="1" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </flowChartPredefinedProcess>\r
+ <flowChartPreparation>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="x2" fmla="*/ w 4 5" />\r
+ </gdLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="wd5" t="t" r="x2" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path w="10" h="10">\r
+ <moveTo>\r
+ <pt x="0" y="5" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="2" y="0" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="8" y="0" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="10" y="5" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="8" y="10" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="2" y="10" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </flowChartPreparation>\r
+ <flowChartProcess>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path w="1" h="1">\r
+ <moveTo>\r
+ <pt x="0" y="0" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="1" y="0" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="1" y="1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="0" y="1" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </flowChartProcess>\r
+ <flowChartPunchedCard>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="l" t="hd5" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path w="5" h="5">\r
+ <moveTo>\r
+ <pt x="0" y="1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="1" y="0" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="5" y="0" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="5" y="5" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="0" y="5" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </flowChartPunchedCard>\r
+ <flowChartPunchedTape>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="y2" fmla="*/ h 9 10" />\r
+ <gd name="ib" fmla="*/ h 4 5" />\r
+ </gdLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="hd10" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="y2" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="l" t="hd5" r="r" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path w="20" h="20">\r
+ <moveTo>\r
+ <pt x="0" y="2" />\r
+ </moveTo>\r
+ <arcTo wR="5" hR="2" stAng="cd2" swAng="-10800000" />\r
+ <arcTo wR="5" hR="2" stAng="cd2" swAng="cd2" />\r
+ <lnTo>\r
+ <pt x="20" y="18" />\r
+ </lnTo>\r
+ <arcTo wR="5" hR="2" stAng="0" swAng="-10800000" />\r
+ <arcTo wR="5" hR="2" stAng="0" swAng="cd2" />\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </flowChartPunchedTape>\r
+ <flowChartSort>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="ir" fmla="*/ w 3 4" />\r
+ <gd name="ib" fmla="*/ h 3 4" />\r
+ </gdLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="wd4" t="hd4" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path stroke="false" extrusionOk="false" w="2" h="2">\r
+\r
+ <moveTo>\r
+ <pt x="0" y="1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="1" y="0" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="2" y="1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="1" y="2" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path fill="none" extrusionOk="false" w="2" h="2">\r
+\r
+ <moveTo>\r
+ <pt x="0" y="1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="2" y="1" />\r
+ </lnTo>\r
+ </path>\r
+ <path fill="none" w="2" h="2">\r
+\r
+ <moveTo>\r
+ <pt x="0" y="1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="1" y="0" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="2" y="1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="1" y="2" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </flowChartSort>\r
+ <flowChartSummingJunction>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="idx" fmla="cos wd2 2700000" />\r
+ <gd name="idy" fmla="sin hd2 2700000" />\r
+ <gd name="il" fmla="+- hc 0 idx" />\r
+ <gd name="ir" fmla="+- hc idx 0" />\r
+ <gd name="it" fmla="+- vc 0 idy" />\r
+ <gd name="ib" fmla="+- vc idy 0" />\r
+ </gdLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="il" y="it" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="il" y="ib" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="ir" y="ib" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="ir" y="it" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path stroke="false" extrusionOk="false">\r
+\r
+ <moveTo>\r
+ <pt x="l" y="vc" />\r
+ </moveTo>\r
+ <arcTo wR="wd2" hR="hd2" stAng="cd2" swAng="cd4" />\r
+ <arcTo wR="wd2" hR="hd2" stAng="3cd4" swAng="cd4" />\r
+ <arcTo wR="wd2" hR="hd2" stAng="0" swAng="cd4" />\r
+ <arcTo wR="wd2" hR="hd2" stAng="cd4" swAng="cd4" />\r
+ <close />\r
+ </path>\r
+ <path fill="none" extrusionOk="false">\r
+\r
+ <moveTo>\r
+ <pt x="il" y="it" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="ir" y="ib" />\r
+ </lnTo>\r
+ <moveTo>\r
+ <pt x="ir" y="it" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="il" y="ib" />\r
+ </lnTo>\r
+ </path>\r
+ <path fill="none">\r
+\r
+ <moveTo>\r
+ <pt x="l" y="vc" />\r
+ </moveTo>\r
+ <arcTo wR="wd2" hR="hd2" stAng="cd2" swAng="cd4" />\r
+ <arcTo wR="wd2" hR="hd2" stAng="3cd4" swAng="cd4" />\r
+ <arcTo wR="wd2" hR="hd2" stAng="0" swAng="cd4" />\r
+ <arcTo wR="wd2" hR="hd2" stAng="cd4" swAng="cd4" />\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </flowChartSummingJunction>\r
+ <flowChartTerminator>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="il" fmla="*/ w 1018 21600" />\r
+ <gd name="ir" fmla="*/ w 20582 21600" />\r
+ <gd name="it" fmla="*/ h 3163 21600" />\r
+ <gd name="ib" fmla="*/ h 18437 21600" />\r
+ </gdLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path w="21600" h="21600">\r
+ <moveTo>\r
+ <pt x="3475" y="0" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="18125" y="0" />\r
+ </lnTo>\r
+ <arcTo wR="3475" hR="10800" stAng="3cd4" swAng="cd2" />\r
+ <lnTo>\r
+ <pt x="3475" y="21600" />\r
+ </lnTo>\r
+ <arcTo wR="3475" hR="10800" stAng="cd4" swAng="cd2" />\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </flowChartTerminator>\r
+ <foldedCorner>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj" fmla="val 16667" />\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a" fmla="pin 0 adj 50000" />\r
+ <gd name="dy2" fmla="*/ ss a 100000" />\r
+ <gd name="dy1" fmla="*/ dy2 1 5" />\r
+ <gd name="x1" fmla="+- r 0 dy2" />\r
+ <gd name="x2" fmla="+- x1 dy1 0" />\r
+ <gd name="y2" fmla="+- b 0 dy2" />\r
+ <gd name="y1" fmla="+- y2 dy1 0" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj" minX="0" maxX="50000">\r
+ <pos x="x1" y="b" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="l" t="t" r="r" b="y2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path stroke="false" extrusionOk="false">\r
+\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path stroke="false" fill="darkenLess" extrusionOk="false">\r
+\r
+ <moveTo>\r
+ <pt x="x1" y="b" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="y2" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path fill="none" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="x1" y="b" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="y2" />\r
+ </lnTo>\r
+ </path>\r
+ </pathLst>\r
+\r
+ </foldedCorner>\r
+ <frame>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 12500" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a1" fmla="pin 0 adj1 50000" />\r
+ <gd name="x1" fmla="*/ ss a1 100000" />\r
+\r
+ <gd name="x4" fmla="+- r 0 x1" />\r
+\r
+\r
+\r
+ <gd name="y4" fmla="+- b 0 x1" />\r
+\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj1" minX="0" maxX="50000">\r
+ <pos x="x1" y="t" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="x1" t="x1" r="x4" b="y4" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="x1" y="x1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="x1" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </frame>\r
+ <funnel>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+\r
+ <gd name="d" fmla="*/ ss 1 20" />\r
+\r
+\r
+ <gd name="rw2" fmla="+- wd2 0 d" />\r
+\r
+ <gd name="rh2" fmla="+- hd4 0 d" />\r
+\r
+\r
+\r
+ <gd name="t1" fmla="cos wd2 480000" />\r
+\r
+ <gd name="t2" fmla="sin hd4 480000" />\r
+\r
+ <gd name="da" fmla="at2 t1 t2" />\r
+\r
+\r
+ <gd name="2da" fmla="*/ da 2 1" />\r
+ <gd name="stAng1" fmla="+- cd2 0 da" />\r
+ <gd name="swAng1" fmla="+- cd2 2da 0" />\r
+\r
+\r
+ <gd name="swAng3" fmla="+- cd2 0 2da" />\r
+\r
+\r
+ <gd name="rw3" fmla="*/ wd2 1 4" />\r
+ <gd name="rh3" fmla="*/ hd4 1 4" />\r
+\r
+\r
+ <gd name="ct1" fmla="cos hd4 stAng1" />\r
+ <gd name="st1" fmla="sin wd2 stAng1" />\r
+ <gd name="m1" fmla="mod ct1 st1 0" />\r
+ <gd name="n1" fmla="*/ wd2 hd4 m1" />\r
+ <gd name="dx1" fmla="cos n1 stAng1" />\r
+ <gd name="dy1" fmla="sin n1 stAng1" />\r
+ <gd name="x1" fmla="+- hc dx1 0" />\r
+ <gd name="y1" fmla="+- hd4 dy1 0" />\r
+\r
+\r
+ <gd name="ct3" fmla="cos rh3 da" />\r
+ <gd name="st3" fmla="sin rw3 da" />\r
+ <gd name="m3" fmla="mod ct3 st3 0" />\r
+ <gd name="n3" fmla="*/ rw3 rh3 m3" />\r
+ <gd name="dx3" fmla="cos n3 da" />\r
+ <gd name="dy3" fmla="sin n3 da" />\r
+ <gd name="x3" fmla="+- hc dx3 0" />\r
+ <gd name="vc3" fmla="+- b 0 rh3" />\r
+ <gd name="y2" fmla="+- vc3 dy3 0" />\r
+\r
+\r
+ <gd name="x2" fmla="+- wd2 0 rw2" />\r
+\r
+ <gd name="cd" fmla="*/ cd2 2 1" />\r
+ </gdLst>\r
+\r
+ <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="x1" y="y1" />\r
+ </moveTo>\r
+ <arcTo hR="hd4" wR="wd2" stAng="stAng1" swAng="swAng1" />\r
+ <lnTo>\r
+ <pt x="x3" y="y2" />\r
+ </lnTo>\r
+ <arcTo hR="rh3" wR="rw3" stAng="da" swAng="swAng3" />\r
+ <close />\r
+ <moveTo>\r
+ <pt x="x2" y="hd4" />\r
+ </moveTo>\r
+ <arcTo hR="rh2" wR="rw2" stAng="cd2" swAng="-21600000" />\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </funnel>\r
+ <gear6>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 15000" />\r
+\r
+ <gd name="adj2" fmla="val 3526" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+\r
+\r
+\r
+\r
+ <gd name="a1" fmla="pin 0 adj1 20000" />\r
+ <gd name="a2" fmla="pin 0 adj2 5358" />\r
+\r
+\r
+ <gd name="th" fmla="*/ ss a1 100000" />\r
+ <gd name="lFD" fmla="*/ ss a2 100000" />\r
+\r
+ <gd name="th2" fmla="*/ th 1 2" />\r
+ <gd name="l2" fmla="*/ lFD 1 2" />\r
+ <gd name="l3" fmla="+- th2 l2 0" />\r
+\r
+\r
+ <gd name="rh" fmla="+- hd2 0 th" />\r
+ <gd name="rw" fmla="+- wd2 0 th" />\r
+\r
+\r
+ <gd name="dr" fmla="+- rw 0 rh" />\r
+ <gd name="maxr" fmla="?: dr rh rw" />\r
+ <gd name="ha" fmla="at2 maxr l3" />\r
+\r
+\r
+ <gd name="aA1" fmla="+- 19800000 0 ha" />\r
+ <gd name="aD1" fmla="+- 19800000 ha 0" />\r
+\r
+\r
+ <gd name="ta11" fmla="cos rw aA1" />\r
+ <gd name="ta12" fmla="sin rh aA1" />\r
+ <gd name="bA1" fmla="at2 ta11 ta12" />\r
+\r
+ <gd name="cta1" fmla="cos rh bA1" />\r
+ <gd name="sta1" fmla="sin rw bA1" />\r
+ <gd name="ma1" fmla="mod cta1 sta1 0" />\r
+ <gd name="na1" fmla="*/ rw rh ma1" />\r
+ <gd name="dxa1" fmla="cos na1 bA1" />\r
+ <gd name="dya1" fmla="sin na1 bA1" />\r
+ <gd name="xA1" fmla="+- hc dxa1 0" />\r
+ <gd name="yA1" fmla="+- vc dya1 0" />\r
+\r
+\r
+ <gd name="td11" fmla="cos rw aD1" />\r
+ <gd name="td12" fmla="sin rh aD1" />\r
+ <gd name="bD1" fmla="at2 td11 td12" />\r
+\r
+ <gd name="ctd1" fmla="cos rh bD1" />\r
+ <gd name="std1" fmla="sin rw bD1" />\r
+ <gd name="md1" fmla="mod ctd1 std1 0" />\r
+ <gd name="nd1" fmla="*/ rw rh md1" />\r
+ <gd name="dxd1" fmla="cos nd1 bD1" />\r
+ <gd name="dyd1" fmla="sin nd1 bD1" />\r
+ <gd name="xD1" fmla="+- hc dxd1 0" />\r
+ <gd name="yD1" fmla="+- vc dyd1 0" />\r
+\r
+\r
+ <gd name="xAD1" fmla="+- xA1 0 xD1" />\r
+ <gd name="yAD1" fmla="+- yA1 0 yD1" />\r
+ <gd name="lAD1" fmla="mod xAD1 yAD1 0" />\r
+ <gd name="a1" fmla="at2 yAD1 xAD1" />\r
+\r
+\r
+ <gd name="dxF1" fmla="sin lFD a1" />\r
+ <gd name="dyF1" fmla="cos lFD a1" />\r
+ <gd name="xF1" fmla="+- xD1 dxF1 0" />\r
+ <gd name="yF1" fmla="+- yD1 dyF1 0" />\r
+ <gd name="xE1" fmla="+- xA1 0 dxF1" />\r
+ <gd name="yE1" fmla="+- yA1 0 dyF1" />\r
+\r
+\r
+ <gd name="yC1t" fmla="sin th a1" />\r
+ <gd name="xC1t" fmla="cos th a1" />\r
+ <gd name="yC1" fmla="+- yF1 yC1t 0" />\r
+ <gd name="xC1" fmla="+- xF1 0 xC1t" />\r
+\r
+\r
+ <gd name="yB1" fmla="+- yE1 yC1t 0" />\r
+ <gd name="xB1" fmla="+- xE1 0 xC1t" />\r
+\r
+\r
+ <gd name="aD6" fmla="+- 3cd4 ha 0" />\r
+\r
+\r
+ <gd name="td61" fmla="cos rw aD6" />\r
+ <gd name="td62" fmla="sin rh aD6" />\r
+ <gd name="bD6" fmla="at2 td61 td62" />\r
+\r
+ <gd name="ctd6" fmla="cos rh bD6" />\r
+ <gd name="std6" fmla="sin rw bD6" />\r
+ <gd name="md6" fmla="mod ctd6 std6 0" />\r
+ <gd name="nd6" fmla="*/ rw rh md6" />\r
+ <gd name="dxd6" fmla="cos nd6 bD6" />\r
+ <gd name="dyd6" fmla="sin nd6 bD6" />\r
+ <gd name="xD6" fmla="+- hc dxd6 0" />\r
+ <gd name="yD6" fmla="+- vc dyd6 0" />\r
+\r
+\r
+ <gd name="xA6" fmla="+- hc 0 dxd6" />\r
+\r
+\r
+ <gd name="xF6" fmla="+- xD6 0 lFD" />\r
+ <gd name="xE6" fmla="+- xA6 lFD 0" />\r
+\r
+\r
+ <gd name="yC6" fmla="+- yD6 0 th" />\r
+\r
+ <gd name="swAng1" fmla="+- bA1 0 bD6" />\r
+\r
+\r
+ <gd name="aA2" fmla="+- 1800000 0 ha" />\r
+ <gd name="aD2" fmla="+- 1800000 ha 0" />\r
+\r
+\r
+ <gd name="ta21" fmla="cos rw aA2" />\r
+ <gd name="ta22" fmla="sin rh aA2" />\r
+ <gd name="bA2" fmla="at2 ta21 ta22" />\r
+\r
+ <gd name="yA2" fmla="+- h 0 yD1" />\r
+\r
+\r
+ <gd name="td21" fmla="cos rw aD2" />\r
+ <gd name="td22" fmla="sin rh aD2" />\r
+ <gd name="bD2" fmla="at2 td21 td22" />\r
+\r
+ <gd name="yD2" fmla="+- h 0 yA1" />\r
+\r
+\r
+ <gd name="yC2" fmla="+- h 0 yB1" />\r
+\r
+\r
+ <gd name="yB2" fmla="+- h 0 yC1" />\r
+ <gd name="xB2" fmla="val xC1" />\r
+\r
+ <gd name="swAng2" fmla="+- bA2 0 bD1" />\r
+\r
+\r
+ <gd name="aD3" fmla="+- cd4 ha 0" />\r
+\r
+ <gd name="td31" fmla="cos rw aD3" />\r
+ <gd name="td32" fmla="sin rh aD3" />\r
+ <gd name="bD3" fmla="at2 td31 td32" />\r
+\r
+\r
+ <gd name="yD3" fmla="+- h 0 yD6" />\r
+\r
+\r
+ <gd name="yB3" fmla="+- h 0 yC6" />\r
+\r
+\r
+ <gd name="aD4" fmla="+- 9000000 ha 0" />\r
+\r
+ <gd name="td41" fmla="cos rw aD4" />\r
+ <gd name="td42" fmla="sin rh aD4" />\r
+ <gd name="bD4" fmla="at2 td41 td42" />\r
+\r
+\r
+ <gd name="xD4" fmla="+- w 0 xD1" />\r
+\r
+\r
+ <gd name="xC4" fmla="+- w 0 xC1" />\r
+\r
+\r
+ <gd name="xB4" fmla="+- w 0 xB1" />\r
+\r
+\r
+ <gd name="aD5" fmla="+- 12600000 ha 0" />\r
+\r
+ <gd name="td51" fmla="cos rw aD5" />\r
+ <gd name="td52" fmla="sin rh aD5" />\r
+ <gd name="bD5" fmla="at2 td51 td52" />\r
+\r
+\r
+ <gd name="xD5" fmla="+- w 0 xA1" />\r
+\r
+\r
+ <gd name="xC5" fmla="+- w 0 xB1" />\r
+\r
+\r
+ <gd name="xB5" fmla="+- w 0 xC1" />\r
+\r
+\r
+ <gd name="xCxn1" fmla="+/ xB1 xC1 2" />\r
+ <gd name="yCxn1" fmla="+/ yB1 yC1 2" />\r
+ <gd name="yCxn2" fmla="+- b 0 yCxn1" />\r
+ <gd name="xCxn4" fmla="+/ r 0 xCxn1" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj1" minY="0" maxY="20000">\r
+ <pos x="xD6" y="yD6" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj2" minX="0" maxX="5358">\r
+ <pos x="xA6" y="yD6" />\r
+ </ahXY>\r
+\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="19800000">\r
+ <pos x="xCxn1" y="yCxn1" />\r
+ </cxn>\r
+\r
+ <cxn ang="1800000">\r
+ <pos x="xCxn1" y="yCxn2" />\r
+ </cxn>\r
+\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="yB3" />\r
+ </cxn>\r
+\r
+ <cxn ang="9000000">\r
+ <pos x="xCxn4" y="yCxn2" />\r
+ </cxn>\r
+\r
+ <cxn ang="12600000">\r
+ <pos x="xCxn4" y="yCxn1" />\r
+ </cxn>\r
+\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="yC6" />\r
+ </cxn>\r
+\r
+ </cxnLst>\r
+\r
+ <rect l="xD5" t="yA1" r="xA1" b="yD2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="xA1" y="yA1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="xB1" y="yB1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xC1" y="yC1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xD1" y="yD1" />\r
+ </lnTo>\r
+ <arcTo hR="rh" wR="rw" stAng="bD1" swAng="swAng2" />\r
+\r
+ <lnTo>\r
+ <pt x="xC1" y="yB2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xB1" y="yC2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xA1" y="yD2" />\r
+ </lnTo>\r
+ <arcTo hR="rh" wR="rw" stAng="bD2" swAng="swAng1" />\r
+\r
+ <lnTo>\r
+ <pt x="xF6" y="yB3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xE6" y="yB3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xA6" y="yD3" />\r
+ </lnTo>\r
+ <arcTo hR="rh" wR="rw" stAng="bD3" swAng="swAng1" />\r
+\r
+ <lnTo>\r
+ <pt x="xB4" y="yC2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xC4" y="yB2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xD4" y="yA2" />\r
+ </lnTo>\r
+ <arcTo hR="rh" wR="rw" stAng="bD4" swAng="swAng2" />\r
+\r
+ <lnTo>\r
+ <pt x="xB5" y="yC1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xC5" y="yB1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xD5" y="yA1" />\r
+ </lnTo>\r
+ <arcTo hR="rh" wR="rw" stAng="bD5" swAng="swAng1" />\r
+\r
+ <lnTo>\r
+ <pt x="xE6" y="yC6" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xF6" y="yC6" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xD6" y="yD6" />\r
+ </lnTo>\r
+ <arcTo hR="rh" wR="rw" stAng="bD6" swAng="swAng1" />\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </gear6>\r
+ <gear9>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 10000" />\r
+\r
+ <gd name="adj2" fmla="val 1763" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+\r
+\r
+\r
+\r
+ <gd name="a1" fmla="pin 0 adj1 20000" />\r
+ <gd name="a2" fmla="pin 0 adj2 2679" />\r
+\r
+\r
+ <gd name="th" fmla="*/ ss a1 100000" />\r
+ <gd name="lFD" fmla="*/ ss a2 100000" />\r
+\r
+ <gd name="th2" fmla="*/ th 1 2" />\r
+ <gd name="l2" fmla="*/ lFD 1 2" />\r
+ <gd name="l3" fmla="+- th2 l2 0" />\r
+\r
+\r
+ <gd name="rh" fmla="+- hd2 0 th" />\r
+ <gd name="rw" fmla="+- wd2 0 th" />\r
+\r
+\r
+ <gd name="dr" fmla="+- rw 0 rh" />\r
+ <gd name="maxr" fmla="?: dr rh rw" />\r
+ <gd name="ha" fmla="at2 maxr l3" />\r
+\r
+\r
+ <gd name="aA1" fmla="+- 18600000 0 ha" />\r
+ <gd name="aD1" fmla="+- 18600000 ha 0" />\r
+\r
+\r
+ <gd name="ta11" fmla="cos rw aA1" />\r
+ <gd name="ta12" fmla="sin rh aA1" />\r
+ <gd name="bA1" fmla="at2 ta11 ta12" />\r
+\r
+ <gd name="cta1" fmla="cos rh bA1" />\r
+ <gd name="sta1" fmla="sin rw bA1" />\r
+ <gd name="ma1" fmla="mod cta1 sta1 0" />\r
+ <gd name="na1" fmla="*/ rw rh ma1" />\r
+ <gd name="dxa1" fmla="cos na1 bA1" />\r
+ <gd name="dya1" fmla="sin na1 bA1" />\r
+ <gd name="xA1" fmla="+- hc dxa1 0" />\r
+ <gd name="yA1" fmla="+- vc dya1 0" />\r
+\r
+\r
+ <gd name="td11" fmla="cos rw aD1" />\r
+ <gd name="td12" fmla="sin rh aD1" />\r
+ <gd name="bD1" fmla="at2 td11 td12" />\r
+\r
+ <gd name="ctd1" fmla="cos rh bD1" />\r
+ <gd name="std1" fmla="sin rw bD1" />\r
+ <gd name="md1" fmla="mod ctd1 std1 0" />\r
+ <gd name="nd1" fmla="*/ rw rh md1" />\r
+ <gd name="dxd1" fmla="cos nd1 bD1" />\r
+ <gd name="dyd1" fmla="sin nd1 bD1" />\r
+ <gd name="xD1" fmla="+- hc dxd1 0" />\r
+ <gd name="yD1" fmla="+- vc dyd1 0" />\r
+\r
+\r
+ <gd name="xAD1" fmla="+- xA1 0 xD1" />\r
+ <gd name="yAD1" fmla="+- yA1 0 yD1" />\r
+ <gd name="lAD1" fmla="mod xAD1 yAD1 0" />\r
+ <gd name="a1" fmla="at2 yAD1 xAD1" />\r
+\r
+\r
+ <gd name="dxF1" fmla="sin lFD a1" />\r
+ <gd name="dyF1" fmla="cos lFD a1" />\r
+ <gd name="xF1" fmla="+- xD1 dxF1 0" />\r
+ <gd name="yF1" fmla="+- yD1 dyF1 0" />\r
+ <gd name="xE1" fmla="+- xA1 0 dxF1" />\r
+ <gd name="yE1" fmla="+- yA1 0 dyF1" />\r
+\r
+\r
+ <gd name="yC1t" fmla="sin th a1" />\r
+ <gd name="xC1t" fmla="cos th a1" />\r
+ <gd name="yC1" fmla="+- yF1 yC1t 0" />\r
+ <gd name="xC1" fmla="+- xF1 0 xC1t" />\r
+\r
+\r
+ <gd name="yB1" fmla="+- yE1 yC1t 0" />\r
+ <gd name="xB1" fmla="+- xE1 0 xC1t" />\r
+\r
+\r
+ <gd name="aA2" fmla="+- 21000000 0 ha" />\r
+ <gd name="aD2" fmla="+- 21000000 ha 0" />\r
+\r
+\r
+ <gd name="ta21" fmla="cos rw aA2" />\r
+ <gd name="ta22" fmla="sin rh aA2" />\r
+ <gd name="bA2" fmla="at2 ta21 ta22" />\r
+\r
+ <gd name="cta2" fmla="cos rh bA2" />\r
+ <gd name="sta2" fmla="sin rw bA2" />\r
+ <gd name="ma2" fmla="mod cta2 sta2 0" />\r
+ <gd name="na2" fmla="*/ rw rh ma2" />\r
+ <gd name="dxa2" fmla="cos na2 bA2" />\r
+ <gd name="dya2" fmla="sin na2 bA2" />\r
+ <gd name="xA2" fmla="+- hc dxa2 0" />\r
+ <gd name="yA2" fmla="+- vc dya2 0" />\r
+\r
+\r
+ <gd name="td21" fmla="cos rw aD2" />\r
+ <gd name="td22" fmla="sin rh aD2" />\r
+ <gd name="bD2" fmla="at2 td21 td22" />\r
+\r
+ <gd name="ctd2" fmla="cos rh bD2" />\r
+ <gd name="std2" fmla="sin rw bD2" />\r
+ <gd name="md2" fmla="mod ctd2 std2 0" />\r
+ <gd name="nd2" fmla="*/ rw rh md2" />\r
+ <gd name="dxd2" fmla="cos nd2 bD2" />\r
+ <gd name="dyd2" fmla="sin nd2 bD2" />\r
+ <gd name="xD2" fmla="+- hc dxd2 0" />\r
+ <gd name="yD2" fmla="+- vc dyd2 0" />\r
+\r
+\r
+ <gd name="xAD2" fmla="+- xA2 0 xD2" />\r
+ <gd name="yAD2" fmla="+- yA2 0 yD2" />\r
+ <gd name="lAD2" fmla="mod xAD2 yAD2 0" />\r
+ <gd name="a2" fmla="at2 yAD2 xAD2" />\r
+\r
+\r
+ <gd name="dxF2" fmla="sin lFD a2" />\r
+ <gd name="dyF2" fmla="cos lFD a2" />\r
+ <gd name="xF2" fmla="+- xD2 dxF2 0" />\r
+ <gd name="yF2" fmla="+- yD2 dyF2 0" />\r
+ <gd name="xE2" fmla="+- xA2 0 dxF2" />\r
+ <gd name="yE2" fmla="+- yA2 0 dyF2" />\r
+\r
+\r
+ <gd name="yC2t" fmla="sin th a2" />\r
+ <gd name="xC2t" fmla="cos th a2" />\r
+ <gd name="yC2" fmla="+- yF2 yC2t 0" />\r
+ <gd name="xC2" fmla="+- xF2 0 xC2t" />\r
+\r
+\r
+ <gd name="yB2" fmla="+- yE2 yC2t 0" />\r
+ <gd name="xB2" fmla="+- xE2 0 xC2t" />\r
+\r
+ <gd name="swAng1" fmla="+- bA2 0 bD1" />\r
+\r
+\r
+ <gd name="aA3" fmla="+- 1800000 0 ha" />\r
+ <gd name="aD3" fmla="+- 1800000 ha 0" />\r
+\r
+\r
+ <gd name="ta31" fmla="cos rw aA3" />\r
+ <gd name="ta32" fmla="sin rh aA3" />\r
+ <gd name="bA3" fmla="at2 ta31 ta32" />\r
+\r
+ <gd name="cta3" fmla="cos rh bA3" />\r
+ <gd name="sta3" fmla="sin rw bA3" />\r
+ <gd name="ma3" fmla="mod cta3 sta3 0" />\r
+ <gd name="na3" fmla="*/ rw rh ma3" />\r
+ <gd name="dxa3" fmla="cos na3 bA3" />\r
+ <gd name="dya3" fmla="sin na3 bA3" />\r
+ <gd name="xA3" fmla="+- hc dxa3 0" />\r
+ <gd name="yA3" fmla="+- vc dya3 0" />\r
+\r
+\r
+ <gd name="td31" fmla="cos rw aD3" />\r
+ <gd name="td32" fmla="sin rh aD3" />\r
+ <gd name="bD3" fmla="at2 td31 td32" />\r
+\r
+ <gd name="ctd3" fmla="cos rh bD3" />\r
+ <gd name="std3" fmla="sin rw bD3" />\r
+ <gd name="md3" fmla="mod ctd3 std3 0" />\r
+ <gd name="nd3" fmla="*/ rw rh md3" />\r
+ <gd name="dxd3" fmla="cos nd3 bD3" />\r
+ <gd name="dyd3" fmla="sin nd3 bD3" />\r
+ <gd name="xD3" fmla="+- hc dxd3 0" />\r
+ <gd name="yD3" fmla="+- vc dyd3 0" />\r
+\r
+\r
+ <gd name="xAD3" fmla="+- xA3 0 xD3" />\r
+ <gd name="yAD3" fmla="+- yA3 0 yD3" />\r
+ <gd name="lAD3" fmla="mod xAD3 yAD3 0" />\r
+ <gd name="a3" fmla="at2 yAD3 xAD3" />\r
+\r
+\r
+ <gd name="dxF3" fmla="sin lFD a3" />\r
+ <gd name="dyF3" fmla="cos lFD a3" />\r
+ <gd name="xF3" fmla="+- xD3 dxF3 0" />\r
+ <gd name="yF3" fmla="+- yD3 dyF3 0" />\r
+ <gd name="xE3" fmla="+- xA3 0 dxF3" />\r
+ <gd name="yE3" fmla="+- yA3 0 dyF3" />\r
+\r
+\r
+ <gd name="yC3t" fmla="sin th a3" />\r
+ <gd name="xC3t" fmla="cos th a3" />\r
+ <gd name="yC3" fmla="+- yF3 yC3t 0" />\r
+ <gd name="xC3" fmla="+- xF3 0 xC3t" />\r
+\r
+\r
+ <gd name="yB3" fmla="+- yE3 yC3t 0" />\r
+ <gd name="xB3" fmla="+- xE3 0 xC3t" />\r
+\r
+ <gd name="swAng2" fmla="+- bA3 0 bD2" />\r
+\r
+\r
+ <gd name="aA4" fmla="+- 4200000 0 ha" />\r
+ <gd name="aD4" fmla="+- 4200000 ha 0" />\r
+\r
+\r
+ <gd name="ta41" fmla="cos rw aA4" />\r
+ <gd name="ta42" fmla="sin rh aA4" />\r
+ <gd name="bA4" fmla="at2 ta41 ta42" />\r
+\r
+ <gd name="cta4" fmla="cos rh bA4" />\r
+ <gd name="sta4" fmla="sin rw bA4" />\r
+ <gd name="ma4" fmla="mod cta4 sta4 0" />\r
+ <gd name="na4" fmla="*/ rw rh ma4" />\r
+ <gd name="dxa4" fmla="cos na4 bA4" />\r
+ <gd name="dya4" fmla="sin na4 bA4" />\r
+ <gd name="xA4" fmla="+- hc dxa4 0" />\r
+ <gd name="yA4" fmla="+- vc dya4 0" />\r
+\r
+\r
+ <gd name="td41" fmla="cos rw aD4" />\r
+ <gd name="td42" fmla="sin rh aD4" />\r
+ <gd name="bD4" fmla="at2 td41 td42" />\r
+\r
+ <gd name="ctd4" fmla="cos rh bD4" />\r
+ <gd name="std4" fmla="sin rw bD4" />\r
+ <gd name="md4" fmla="mod ctd4 std4 0" />\r
+ <gd name="nd4" fmla="*/ rw rh md4" />\r
+ <gd name="dxd4" fmla="cos nd4 bD4" />\r
+ <gd name="dyd4" fmla="sin nd4 bD4" />\r
+ <gd name="xD4" fmla="+- hc dxd4 0" />\r
+ <gd name="yD4" fmla="+- vc dyd4 0" />\r
+\r
+\r
+ <gd name="xAD4" fmla="+- xA4 0 xD4" />\r
+ <gd name="yAD4" fmla="+- yA4 0 yD4" />\r
+ <gd name="lAD4" fmla="mod xAD4 yAD4 0" />\r
+ <gd name="a4" fmla="at2 yAD4 xAD4" />\r
+\r
+\r
+ <gd name="dxF4" fmla="sin lFD a4" />\r
+ <gd name="dyF4" fmla="cos lFD a4" />\r
+ <gd name="xF4" fmla="+- xD4 dxF4 0" />\r
+ <gd name="yF4" fmla="+- yD4 dyF4 0" />\r
+ <gd name="xE4" fmla="+- xA4 0 dxF4" />\r
+ <gd name="yE4" fmla="+- yA4 0 dyF4" />\r
+\r
+\r
+ <gd name="yC4t" fmla="sin th a4" />\r
+ <gd name="xC4t" fmla="cos th a4" />\r
+ <gd name="yC4" fmla="+- yF4 yC4t 0" />\r
+ <gd name="xC4" fmla="+- xF4 0 xC4t" />\r
+\r
+\r
+ <gd name="yB4" fmla="+- yE4 yC4t 0" />\r
+ <gd name="xB4" fmla="+- xE4 0 xC4t" />\r
+\r
+ <gd name="swAng3" fmla="+- bA4 0 bD3" />\r
+\r
+\r
+ <gd name="aA5" fmla="+- 6600000 0 ha" />\r
+ <gd name="aD5" fmla="+- 6600000 ha 0" />\r
+\r
+ <gd name="ta51" fmla="cos rw aA5" />\r
+ <gd name="ta52" fmla="sin rh aA5" />\r
+ <gd name="bA5" fmla="at2 ta51 ta52" />\r
+\r
+ <gd name="td51" fmla="cos rw aD5" />\r
+ <gd name="td52" fmla="sin rh aD5" />\r
+ <gd name="bD5" fmla="at2 td51 td52" />\r
+\r
+\r
+ <gd name="xD5" fmla="+- w 0 xA4" />\r
+\r
+\r
+ <gd name="xC5" fmla="+- w 0 xB4" />\r
+\r
+\r
+ <gd name="xB5" fmla="+- w 0 xC4" />\r
+\r
+ <gd name="swAng4" fmla="+- bA5 0 bD4" />\r
+\r
+\r
+ <gd name="aD6" fmla="+- 9000000 ha 0" />\r
+\r
+ <gd name="td61" fmla="cos rw aD6" />\r
+ <gd name="td62" fmla="sin rh aD6" />\r
+ <gd name="bD6" fmla="at2 td61 td62" />\r
+\r
+\r
+ <gd name="xD6" fmla="+- w 0 xA3" />\r
+\r
+\r
+ <gd name="xC6" fmla="+- w 0 xB3" />\r
+\r
+\r
+ <gd name="xB6" fmla="+- w 0 xC3" />\r
+\r
+\r
+ <gd name="aD7" fmla="+- 11400000 ha 0" />\r
+\r
+ <gd name="td71" fmla="cos rw aD7" />\r
+ <gd name="td72" fmla="sin rh aD7" />\r
+ <gd name="bD7" fmla="at2 td71 td72" />\r
+\r
+\r
+ <gd name="xD7" fmla="+- w 0 xA2" />\r
+\r
+\r
+ <gd name="xC7" fmla="+- w 0 xB2" />\r
+\r
+\r
+ <gd name="xB7" fmla="+- w 0 xC2" />\r
+\r
+\r
+ <gd name="aD8" fmla="+- 13800000 ha 0" />\r
+\r
+ <gd name="td81" fmla="cos rw aD8" />\r
+ <gd name="td82" fmla="sin rh aD8" />\r
+ <gd name="bD8" fmla="at2 td81 td82" />\r
+\r
+\r
+ <gd name="xA8" fmla="+- w 0 xD1" />\r
+\r
+ <gd name="xD8" fmla="+- w 0 xA1" />\r
+\r
+\r
+ <gd name="xC8" fmla="+- w 0 xB1" />\r
+\r
+\r
+ <gd name="xB8" fmla="+- w 0 xC1" />\r
+\r
+\r
+ <gd name="aA9" fmla="+- 3cd4 0 ha" />\r
+ <gd name="aD9" fmla="+- 3cd4 ha 0" />\r
+\r
+\r
+ <gd name="td91" fmla="cos rw aD9" />\r
+ <gd name="td92" fmla="sin rh aD9" />\r
+ <gd name="bD9" fmla="at2 td91 td92" />\r
+\r
+ <gd name="ctd9" fmla="cos rh bD9" />\r
+ <gd name="std9" fmla="sin rw bD9" />\r
+ <gd name="md9" fmla="mod ctd9 std9 0" />\r
+ <gd name="nd9" fmla="*/ rw rh md9" />\r
+ <gd name="dxd9" fmla="cos nd9 bD9" />\r
+ <gd name="dyd9" fmla="sin nd9 bD9" />\r
+ <gd name="xD9" fmla="+- hc dxd9 0" />\r
+ <gd name="yD9" fmla="+- vc dyd9 0" />\r
+\r
+\r
+ <gd name="ta91" fmla="cos rw aA9" />\r
+ <gd name="ta92" fmla="sin rh aA9" />\r
+ <gd name="bA9" fmla="at2 ta91 ta92" />\r
+\r
+ <gd name="xA9" fmla="+- hc 0 dxd9" />\r
+\r
+\r
+ <gd name="xF9" fmla="+- xD9 0 lFD" />\r
+ <gd name="xE9" fmla="+- xA9 lFD 0" />\r
+\r
+\r
+ <gd name="yC9" fmla="+- yD9 0 th" />\r
+\r
+ <gd name="swAng5" fmla="+- bA9 0 bD8" />\r
+\r
+\r
+ <gd name="xCxn1" fmla="+/ xB1 xC1 2" />\r
+ <gd name="yCxn1" fmla="+/ yB1 yC1 2" />\r
+ <gd name="xCxn2" fmla="+/ xB2 xC2 2" />\r
+ <gd name="yCxn2" fmla="+/ yB2 yC2 2" />\r
+ <gd name="xCxn3" fmla="+/ xB3 xC3 2" />\r
+ <gd name="yCxn3" fmla="+/ yB3 yC3 2" />\r
+ <gd name="xCxn4" fmla="+/ xB4 xC4 2" />\r
+ <gd name="yCxn4" fmla="+/ yB4 yC4 2" />\r
+ <gd name="xCxn5" fmla="+/ r 0 xCxn4" />\r
+ <gd name="xCxn6" fmla="+/ r 0 xCxn3" />\r
+ <gd name="xCxn7" fmla="+/ r 0 xCxn2" />\r
+ <gd name="xCxn8" fmla="+/ r 0 xCxn1" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj1" minY="0" maxY="20000">\r
+ <pos x="xD9" y="yD9" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj2" minX="0" maxX="2679">\r
+ <pos x="xA9" y="yD9" />\r
+ </ahXY>\r
+\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="18600000">\r
+ <pos x="xCxn1" y="yCxn1" />\r
+ </cxn>\r
+\r
+ <cxn ang="21000000">\r
+ <pos x="xCxn2" y="yCxn2" />\r
+ </cxn>\r
+\r
+ <cxn ang="1800000">\r
+ <pos x="xCxn3" y="yCxn3" />\r
+ </cxn>\r
+\r
+ <cxn ang="4200000">\r
+ <pos x="xCxn4" y="yCxn4" />\r
+ </cxn>\r
+\r
+ <cxn ang="6600000">\r
+ <pos x="xCxn5" y="yCxn4" />\r
+ </cxn>\r
+\r
+ <cxn ang="9000000">\r
+ <pos x="xCxn6" y="yCxn3" />\r
+ </cxn>\r
+\r
+ <cxn ang="11400000">\r
+ <pos x="xCxn7" y="yCxn2" />\r
+ </cxn>\r
+\r
+ <cxn ang="13800000">\r
+ <pos x="xCxn8" y="yCxn1" />\r
+ </cxn>\r
+\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="yC9" />\r
+ </cxn>\r
+\r
+ </cxnLst>\r
+\r
+ <rect l="xA8" t="yD1" r="xD1" b="yD3" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="xA1" y="yA1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="xB1" y="yB1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xC1" y="yC1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xD1" y="yD1" />\r
+ </lnTo>\r
+ <arcTo hR="rh" wR="rw" stAng="bD1" swAng="swAng1" />\r
+\r
+ <lnTo>\r
+ <pt x="xB2" y="yB2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xC2" y="yC2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xD2" y="yD2" />\r
+ </lnTo>\r
+ <arcTo hR="rh" wR="rw" stAng="bD2" swAng="swAng2" />\r
+\r
+ <lnTo>\r
+ <pt x="xB3" y="yB3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xC3" y="yC3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xD3" y="yD3" />\r
+ </lnTo>\r
+ <arcTo hR="rh" wR="rw" stAng="bD3" swAng="swAng3" />\r
+\r
+ <lnTo>\r
+ <pt x="xB4" y="yB4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xC4" y="yC4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xD4" y="yD4" />\r
+ </lnTo>\r
+ <arcTo hR="rh" wR="rw" stAng="bD4" swAng="swAng4" />\r
+\r
+ <lnTo>\r
+ <pt x="xB5" y="yC4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xC5" y="yB4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xD5" y="yA4" />\r
+ </lnTo>\r
+ <arcTo hR="rh" wR="rw" stAng="bD5" swAng="swAng3" />\r
+\r
+ <lnTo>\r
+ <pt x="xB6" y="yC3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xC6" y="yB3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xD6" y="yA3" />\r
+ </lnTo>\r
+ <arcTo hR="rh" wR="rw" stAng="bD6" swAng="swAng2" />\r
+\r
+ <lnTo>\r
+ <pt x="xB7" y="yC2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xC7" y="yB2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xD7" y="yA2" />\r
+ </lnTo>\r
+ <arcTo hR="rh" wR="rw" stAng="bD7" swAng="swAng1" />\r
+\r
+ <lnTo>\r
+ <pt x="xB8" y="yC1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xC8" y="yB1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xD8" y="yA1" />\r
+ </lnTo>\r
+ <arcTo hR="rh" wR="rw" stAng="bD8" swAng="swAng5" />\r
+\r
+ <lnTo>\r
+ <pt x="xE9" y="yC9" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xF9" y="yC9" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xD9" y="yD9" />\r
+ </lnTo>\r
+ <arcTo hR="rh" wR="rw" stAng="bD9" swAng="swAng5" />\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </gear9>\r
+ <halfFrame>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 33333" />\r
+\r
+ <gd name="adj2" fmla="val 33333" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="maxAdj2" fmla="*/ 100000 w ss" />\r
+ <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
+ <gd name="x1" fmla="*/ ss a2 100000" />\r
+ <gd name="g1" fmla="*/ h x1 w" />\r
+ <gd name="g2" fmla="+- h 0 g1" />\r
+ <gd name="maxAdj1" fmla="*/ 100000 g2 ss" />\r
+ <gd name="a1" fmla="pin 0 adj1 maxAdj1" />\r
+ <gd name="y1" fmla="*/ ss a1 100000" />\r
+ <gd name="dx2" fmla="*/ y1 w h" />\r
+ <gd name="x2" fmla="+- r 0 dx2" />\r
+ <gd name="dy2" fmla="*/ x1 h w" />\r
+ <gd name="y2" fmla="+- b 0 dy2" />\r
+ <gd name="cx1" fmla="*/ x1 1 2" />\r
+ <gd name="cy1" fmla="+/ y2 b 2" />\r
+ <gd name="cx2" fmla="+/ x2 r 2" />\r
+ <gd name="cy2" fmla="*/ y1 1 2" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj1" minY="0" maxY="maxAdj1">\r
+ <pos x="l" y="y1" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">\r
+ <pos x="x1" y="t" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="cx2" y="cy2" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="cx1" y="cy1" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </halfFrame>\r
+ <heart>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="dx1" fmla="*/ w 49 48" />\r
+ <gd name="dx2" fmla="*/ w 10 48" />\r
+ <gd name="x1" fmla="+- hc 0 dx1" />\r
+ <gd name="x2" fmla="+- hc 0 dx2" />\r
+ <gd name="x3" fmla="+- hc dx2 0" />\r
+ <gd name="x4" fmla="+- hc dx1 0" />\r
+ <gd name="y1" fmla="+- t 0 hd3" />\r
+\r
+\r
+ <gd name="il" fmla="*/ w 1 6" />\r
+ <gd name="ir" fmla="*/ w 5 6" />\r
+ <gd name="ib" fmla="*/ h 2 3" />\r
+ </gdLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="hd4" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="il" t="hd4" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="hc" y="hd4" />\r
+ </moveTo>\r
+ <cubicBezTo>\r
+ <pt x="x3" y="y1" />\r
+ <pt x="x4" y="hd4" />\r
+ <pt x="hc" y="b" />\r
+ </cubicBezTo>\r
+ <cubicBezTo>\r
+ <pt x="x1" y="hd4" />\r
+ <pt x="x2" y="y1" />\r
+ <pt x="hc" y="hd4" />\r
+ </cubicBezTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </heart>\r
+ <heptagon>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="hf" fmla="val 102572" />\r
+ <gd name="vf" fmla="val 105210" />\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="swd2" fmla="*/ wd2 hf 100000" />\r
+ <gd name="shd2" fmla="*/ hd2 vf 100000" />\r
+ <gd name="svc" fmla="*/ vc vf 100000" />\r
+ <gd name="dx1" fmla="*/ swd2 97493 100000" />\r
+ <gd name="dx2" fmla="*/ swd2 78183 100000" />\r
+ <gd name="dx3" fmla="*/ swd2 43388 100000" />\r
+ <gd name="dy1" fmla="*/ shd2 62349 100000" />\r
+ <gd name="dy2" fmla="*/ shd2 22252 100000" />\r
+ <gd name="dy3" fmla="*/ shd2 90097 100000" />\r
+ <gd name="x1" fmla="+- hc 0 dx1" />\r
+ <gd name="x2" fmla="+- hc 0 dx2" />\r
+ <gd name="x3" fmla="+- hc 0 dx3" />\r
+ <gd name="x4" fmla="+- hc dx3 0" />\r
+ <gd name="x5" fmla="+- hc dx2 0" />\r
+ <gd name="x6" fmla="+- hc dx1 0" />\r
+ <gd name="y1" fmla="+- svc 0 dy1" />\r
+ <gd name="y2" fmla="+- svc dy2 0" />\r
+ <gd name="y3" fmla="+- svc dy3 0" />\r
+ <gd name="ib" fmla="+- b 0 y1" />\r
+ </gdLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="x5" y="y1" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="x6" y="y2" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x4" y="y3" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x3" y="y3" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="x1" y="y2" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="x2" y="y1" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="x2" t="y1" r="x5" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="x1" y="y2" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="hc" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x5" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x6" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y3" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </heptagon>\r
+ <hexagon>\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj" fmla="val 25000" />\r
+ <gd name="vf" fmla="val 115470" />\r
+ </avLst>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="maxAdj" fmla="*/ 50000 w ss" />\r
+ <gd name="a" fmla="pin 0 adj maxAdj" />\r
+ <gd name="shd2" fmla="*/ hd2 vf 100000" />\r
+ <gd name="x1" fmla="*/ ss a 100000" />\r
+ <gd name="x2" fmla="+- r 0 x1" />\r
+ <gd name="dy1" fmla="sin shd2 3600000" />\r
+ <gd name="y1" fmla="+- vc 0 dy1" />\r
+ <gd name="y2" fmla="+- vc dy1 0" />\r
+ <gd name="q1" fmla="*/ maxAdj -1 2" />\r
+ <gd name="q2" fmla="+- a q1 0" />\r
+ <gd name="q3" fmla="?: q2 4 2" />\r
+ <gd name="q4" fmla="?: q2 3 2" />\r
+ <gd name="q5" fmla="?: q2 q1 0" />\r
+ <gd name="q6" fmla="+/ a q5 q1" />\r
+ <gd name="q7" fmla="*/ q6 q4 -1" />\r
+ <gd name="q8" fmla="+- q3 q7 0" />\r
+ <gd name="il" fmla="*/ w q8 24" />\r
+ <gd name="it" fmla="*/ h q8 24" />\r
+ <gd name="ir" fmla="+- r 0 il" />\r
+ <gd name="ib" fmla="+- b 0 it" />\r
+ </gdLst>\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj" minX="0" maxX="maxAdj">\r
+ <pos x="x1" y="t" />\r
+ </ahXY>\r
+ </ahLst>\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x2" y="y2" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x1" y="y2" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="x1" y="y1" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="x2" y="y1" />\r
+ </cxn>\r
+ </cxnLst>\r
+ <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="vc" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="vc" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y2" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+ </hexagon>\r
+ <homePlate>\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj" fmla="val 50000" />\r
+ </avLst>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="maxAdj" fmla="*/ 100000 w ss" />\r
+ <gd name="a" fmla="pin 0 adj maxAdj" />\r
+ <gd name="dx1" fmla="*/ ss a 100000" />\r
+ <gd name="x1" fmla="+- r 0 dx1" />\r
+ <gd name="ir" fmla="+/ x1 r 2" />\r
+ <gd name="x2" fmla="*/ x1 1 2" />\r
+ </gdLst>\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj" minX="0" maxX="maxAdj">\r
+ <pos x="x1" y="t" />\r
+ </ahXY>\r
+ </ahLst>\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="x2" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x1" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+ <rect l="l" t="t" r="ir" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x1" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="vc" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+ </homePlate>\r
+ <horizontalScroll>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj" fmla="val 12500" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a" fmla="pin 0 adj 25000" />\r
+ <gd name="ch" fmla="*/ ss a 100000" />\r
+\r
+ <gd name="ch2" fmla="*/ ch 1 2" />\r
+\r
+ <gd name="ch4" fmla="*/ ch 1 4" />\r
+\r
+\r
+\r
+\r
+\r
+ <gd name="y3" fmla="+- ch ch2 0" />\r
+\r
+ <gd name="y4" fmla="+- ch ch 0" />\r
+\r
+ <gd name="y6" fmla="+- b 0 ch" />\r
+\r
+ <gd name="y7" fmla="+- b 0 ch2" />\r
+\r
+ <gd name="y5" fmla="+- y6 0 ch2" />\r
+\r
+\r
+\r
+\r
+\r
+ <gd name="x3" fmla="+- r 0 ch" />\r
+\r
+ <gd name="x4" fmla="+- r 0 ch2" />\r
+\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj" minX="0" maxX="25000">\r
+ <pos x="ch" y="t" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="ch" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="y6" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="ch" t="ch" r="x4" b="y6" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path stroke="false" extrusionOk="false">\r
+\r
+ <moveTo>\r
+ <pt x="r" y="ch2" />\r
+ </moveTo>\r
+ <arcTo wR="ch2" hR="ch2" stAng="0" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="x4" y="ch2" />\r
+ </lnTo>\r
+ <arcTo wR="ch4" hR="ch4" stAng="0" swAng="cd2" />\r
+ <lnTo>\r
+ <pt x="x3" y="ch" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="ch2" y="ch" />\r
+ </lnTo>\r
+ <arcTo wR="ch2" hR="ch2" stAng="3cd4" swAng="-5400000" />\r
+ <lnTo>\r
+ <pt x="l" y="y7" />\r
+ </lnTo>\r
+ <arcTo wR="ch2" hR="ch2" stAng="cd2" swAng="-10800000" />\r
+ <lnTo>\r
+ <pt x="ch" y="y6" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y6" />\r
+ </lnTo>\r
+ <arcTo wR="ch2" hR="ch2" stAng="cd4" swAng="-5400000" />\r
+ <close />\r
+ <moveTo>\r
+ <pt x="ch2" y="y4" />\r
+ </moveTo>\r
+ <arcTo wR="ch2" hR="ch2" stAng="cd4" swAng="-5400000" />\r
+ <arcTo wR="ch4" hR="ch4" stAng="0" swAng="-10800000" />\r
+ <close />\r
+ </path>\r
+ <path fill="darkenLess" stroke="false" extrusionOk="false">\r
+\r
+ <moveTo>\r
+ <pt x="ch2" y="y4" />\r
+ </moveTo>\r
+ <arcTo wR="ch2" hR="ch2" stAng="cd4" swAng="-5400000" />\r
+ <arcTo wR="ch4" hR="ch4" stAng="0" swAng="-10800000" />\r
+ <close />\r
+ <moveTo>\r
+ <pt x="x4" y="ch" />\r
+ </moveTo>\r
+ <arcTo wR="ch2" hR="ch2" stAng="cd4" swAng="-16200000" />\r
+ <arcTo wR="ch4" hR="ch4" stAng="cd2" swAng="-10800000" />\r
+ <close />\r
+ </path>\r
+ <path fill="none" extrusionOk="false">\r
+\r
+ <moveTo>\r
+ <pt x="l" y="y3" />\r
+ </moveTo>\r
+ <arcTo wR="ch2" hR="ch2" stAng="cd2" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="x3" y="ch" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="ch2" />\r
+ </lnTo>\r
+ <arcTo wR="ch2" hR="ch2" stAng="cd2" swAng="cd2" />\r
+ <lnTo>\r
+ <pt x="r" y="y5" />\r
+ </lnTo>\r
+ <arcTo wR="ch2" hR="ch2" stAng="0" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="ch" y="y6" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="ch" y="y7" />\r
+ </lnTo>\r
+ <arcTo wR="ch2" hR="ch2" stAng="0" swAng="cd2" />\r
+ <close />\r
+ <moveTo>\r
+ <pt x="x3" y="ch" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x4" y="ch" />\r
+ </lnTo>\r
+ <arcTo wR="ch2" hR="ch2" stAng="cd4" swAng="-5400000" />\r
+ <moveTo>\r
+ <pt x="x4" y="ch" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x4" y="ch2" />\r
+ </lnTo>\r
+ <arcTo wR="ch4" hR="ch4" stAng="0" swAng="cd2" />\r
+ <moveTo>\r
+ <pt x="ch2" y="y4" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="ch2" y="y3" />\r
+ </lnTo>\r
+ <arcTo wR="ch4" hR="ch4" stAng="cd2" swAng="cd2" />\r
+ <arcTo wR="ch2" hR="ch2" stAng="0" swAng="cd2" />\r
+ <moveTo>\r
+ <pt x="ch" y="y3" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="ch" y="y6" />\r
+ </lnTo>\r
+ </path>\r
+ </pathLst>\r
+\r
+ </horizontalScroll>\r
+ <irregularSeal1>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="x5" fmla="*/ w 4627 21600" />\r
+ <gd name="x12" fmla="*/ w 8485 21600" />\r
+ <gd name="x21" fmla="*/ w 16702 21600" />\r
+ <gd name="x24" fmla="*/ w 14522 21600" />\r
+ <gd name="y3" fmla="*/ h 6320 21600" />\r
+ <gd name="y6" fmla="*/ h 8615 21600" />\r
+ <gd name="y9" fmla="*/ h 13937 21600" />\r
+ <gd name="y18" fmla="*/ h 13290 21600" />\r
+ </gdLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="x24" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="y6" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x12" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="y18" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="x5" t="y3" r="x21" b="y9" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path w="21600" h="21600">\r
+ <moveTo>\r
+ <pt x="10800" y="5800" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="14522" y="0" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="14155" y="5325" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="18380" y="4457" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="16702" y="7315" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="21097" y="8137" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="17607" y="10475" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="21600" y="13290" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="16837" y="12942" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="18145" y="18095" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="14020" y="14457" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="13247" y="19737" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="10532" y="14935" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="8485" y="21600" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="7715" y="15627" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="4762" y="17617" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="5667" y="13937" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="135" y="14587" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="3722" y="11775" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="0" y="8615" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="4627" y="7617" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="370" y="2295" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="7312" y="6320" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="8352" y="2295" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </irregularSeal1>\r
+ <irregularSeal2>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="x2" fmla="*/ w 9722 21600" />\r
+ <gd name="x5" fmla="*/ w 5372 21600" />\r
+ <gd name="x16" fmla="*/ w 11612 21600" />\r
+ <gd name="x19" fmla="*/ w 14640 21600" />\r
+ <gd name="y2" fmla="*/ h 1887 21600" />\r
+ <gd name="y3" fmla="*/ h 6382 21600" />\r
+ <gd name="y8" fmla="*/ h 12877 21600" />\r
+ <gd name="y14" fmla="*/ h 19712 21600" />\r
+ <gd name="y16" fmla="*/ h 18842 21600" />\r
+ <gd name="y17" fmla="*/ h 15935 21600" />\r
+ <gd name="y24" fmla="*/ h 6645 21600" />\r
+ </gdLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="x2" y="y2" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="y8" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x16" y="y16" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="y24" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="x5" t="y3" r="x19" b="y17" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path w="21600" h="21600">\r
+ <moveTo>\r
+ <pt x="11462" y="4342" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="14790" y="0" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="14525" y="5777" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="18007" y="3172" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="16380" y="6532" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="21600" y="6645" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="16985" y="9402" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="18270" y="11290" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="16380" y="12310" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="18877" y="15632" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="14640" y="14350" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="14942" y="17370" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="12180" y="15935" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="11612" y="18842" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="9872" y="17370" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="8700" y="19712" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="7527" y="18125" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="4917" y="21600" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="4805" y="18240" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="1285" y="17825" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="3330" y="15370" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="0" y="12877" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="3935" y="11592" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="1172" y="8270" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="5372" y="7817" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="4502" y="3625" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="8550" y="6382" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="9722" y="1887" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </irregularSeal2>\r
+ <leftArrow>\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 50000" />\r
+ <gd name="adj2" fmla="val 50000" />\r
+ </avLst>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="maxAdj2" fmla="*/ 100000 w ss" />\r
+ <gd name="a1" fmla="pin 0 adj1 100000" />\r
+ <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
+ <gd name="dx2" fmla="*/ ss a2 100000" />\r
+ <gd name="x2" fmla="+- l dx2 0" />\r
+ <gd name="dy1" fmla="*/ h a1 200000" />\r
+ <gd name="y1" fmla="+- vc 0 dy1" />\r
+ <gd name="y2" fmla="+- vc dy1 0" />\r
+ <gd name="dx1" fmla="*/ y1 dx2 hd2" />\r
+ <gd name="x1" fmla="+- x2 0 dx1" />\r
+ </gdLst>\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj1" minY="0" maxY="100000">\r
+ <pos x="r" y="y1" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">\r
+ <pos x="x2" y="t" />\r
+ </ahXY>\r
+ </ahLst>\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="x2" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x2" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+ <rect l="x1" t="y1" r="r" b="y2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="vc" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x2" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+ </leftArrow>\r
+ <leftArrowCallout>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 25000" />\r
+\r
+ <gd name="adj2" fmla="val 25000" />\r
+\r
+ <gd name="adj3" fmla="val 25000" />\r
+\r
+ <gd name="adj4" fmla="val 64977" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="maxAdj2" fmla="*/ 50000 h ss" />\r
+\r
+ <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
+ <gd name="maxAdj1" fmla="*/ a2 2 1" />\r
+\r
+ <gd name="a1" fmla="pin 0 adj1 maxAdj1" />\r
+ <gd name="maxAdj3" fmla="*/ 100000 w ss" />\r
+\r
+ <gd name="a3" fmla="pin 0 adj3 maxAdj3" />\r
+ <gd name="q2" fmla="*/ a3 ss w" />\r
+\r
+ <gd name="maxAdj4" fmla="+- 100000 0 q2" />\r
+\r
+ <gd name="a4" fmla="pin 0 adj4 maxAdj4" />\r
+ <gd name="dy1" fmla="*/ ss a2 100000" />\r
+\r
+ <gd name="dy2" fmla="*/ ss a1 200000" />\r
+\r
+ <gd name="y1" fmla="+- vc 0 dy1" />\r
+ <gd name="y2" fmla="+- vc 0 dy2" />\r
+ <gd name="y3" fmla="+- vc dy2 0" />\r
+ <gd name="y4" fmla="+- vc dy1 0" />\r
+ <gd name="x1" fmla="*/ ss a3 100000" />\r
+\r
+ <gd name="dx2" fmla="*/ w a4 100000" />\r
+\r
+ <gd name="x2" fmla="+- r 0 dx2" />\r
+ <gd name="x3" fmla="+/ x2 r 2" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj1" minY="0" maxY="maxAdj1">\r
+ <pos x="x1" y="y2" />\r
+ </ahXY>\r
+ <ahXY gdRefY="adj2" minY="0" maxY="maxAdj2">\r
+ <pos x="l" y="y1" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj3" minX="0" maxX="maxAdj3">\r
+ <pos x="x1" y="t" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj4" minX="0" maxX="maxAdj4">\r
+ <pos x="x2" y="b" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="x3" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x3" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="x2" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="vc" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y4" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </leftArrowCallout>\r
+ <leftBrace>\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 8333" />\r
+ <gd name="adj2" fmla="val 50000" />\r
+ </avLst>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a2" fmla="pin 0 adj2 100000" />\r
+ <gd name="q1" fmla="+- 100000 0 a2" />\r
+ <gd name="q2" fmla="min q1 a2" />\r
+ <gd name="q3" fmla="*/ q2 1 2" />\r
+ <gd name="maxAdj1" fmla="*/ q3 h ss" />\r
+ <gd name="a1" fmla="pin 0 adj1 maxAdj1" />\r
+ <gd name="y1" fmla="*/ ss a1 100000" />\r
+ <gd name="y3" fmla="*/ h a2 100000" />\r
+ <gd name="y4" fmla="+- y3 y1 0" />\r
+ <gd name="dx1" fmla="cos wd2 2700000" />\r
+ <gd name="dy1" fmla="sin y1 2700000" />\r
+ <gd name="il" fmla="+- r 0 dx1" />\r
+ <gd name="it" fmla="+- y1 0 dy1" />\r
+ <gd name="ib" fmla="+- b dy1 y1" />\r
+ </gdLst>\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj1" minY="0" maxY="maxAdj1">\r
+ <pos x="hc" y="y1" />\r
+ </ahXY>\r
+ <ahXY gdRefY="adj2" minY="0" maxY="100000">\r
+ <pos x="l" y="y3" />\r
+ </ahXY>\r
+ </ahLst>\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="cd4">\r
+ <pos x="r" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="y3" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="r" y="b" />\r
+ </cxn>\r
+ </cxnLst>\r
+ <rect l="il" t="it" r="r" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path stroke="false" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="r" y="b" />\r
+ </moveTo>\r
+ <arcTo wR="wd2" hR="y1" stAng="cd4" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="hc" y="y4" />\r
+ </lnTo>\r
+ <arcTo wR="wd2" hR="y1" stAng="0" swAng="-5400000" />\r
+ <arcTo wR="wd2" hR="y1" stAng="cd4" swAng="-5400000" />\r
+ <lnTo>\r
+ <pt x="hc" y="y1" />\r
+ </lnTo>\r
+ <arcTo wR="wd2" hR="y1" stAng="cd2" swAng="cd4" />\r
+ <close />\r
+ </path>\r
+ <path fill="none">\r
+ <moveTo>\r
+ <pt x="r" y="b" />\r
+ </moveTo>\r
+ <arcTo wR="wd2" hR="y1" stAng="cd4" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="hc" y="y4" />\r
+ </lnTo>\r
+ <arcTo wR="wd2" hR="y1" stAng="0" swAng="-5400000" />\r
+ <arcTo wR="wd2" hR="y1" stAng="cd4" swAng="-5400000" />\r
+ <lnTo>\r
+ <pt x="hc" y="y1" />\r
+ </lnTo>\r
+ <arcTo wR="wd2" hR="y1" stAng="cd2" swAng="cd4" />\r
+ </path>\r
+ </pathLst>\r
+ </leftBrace>\r
+ <leftBracket>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj" fmla="val 8333" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="maxAdj" fmla="*/ 50000 h ss" />\r
+\r
+ <gd name="a" fmla="pin 0 adj maxAdj" />\r
+ <gd name="y1" fmla="*/ ss a 100000" />\r
+\r
+ <gd name="y2" fmla="+- b 0 y1" />\r
+\r
+ <gd name="dx1" fmla="cos w 2700000" />\r
+ <gd name="dy1" fmla="sin y1 2700000" />\r
+ <gd name="il" fmla="+- r 0 dx1" />\r
+ <gd name="it" fmla="+- y1 0 dy1" />\r
+ <gd name="ib" fmla="+- b dy1 y1" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj" minY="0" maxY="maxAdj">\r
+ <pos x="l" y="y1" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="cd4">\r
+ <pos x="r" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="r" y="b" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="il" t="it" r="r" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path stroke="false" extrusionOk="false">\r
+\r
+ <moveTo>\r
+ <pt x="r" y="b" />\r
+ </moveTo>\r
+ <arcTo wR="w" hR="y1" stAng="cd4" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="l" y="y1" />\r
+ </lnTo>\r
+ <arcTo wR="w" hR="y1" stAng="cd2" swAng="cd4" />\r
+ <close />\r
+ </path>\r
+ <path fill="none">\r
+\r
+ <moveTo>\r
+ <pt x="r" y="b" />\r
+ </moveTo>\r
+ <arcTo wR="w" hR="y1" stAng="cd4" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="l" y="y1" />\r
+ </lnTo>\r
+ <arcTo wR="w" hR="y1" stAng="cd2" swAng="cd4" />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </leftBracket>\r
+ <leftCircularArrow>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 12500" />\r
+\r
+ <gd name="adj2" fmla="val -1142319" />\r
+\r
+ <gd name="adj3" fmla="val 1142319" />\r
+\r
+ <gd name="adj4" fmla="val 10800000" />\r
+\r
+ <gd name="adj5" fmla="val 12500" />\r
+\r
+ </avLst>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a5" fmla="pin 0 adj5 25000" />\r
+\r
+ <gd name="maxAdj1" fmla="*/ a5 2 1" />\r
+\r
+ <gd name="a1" fmla="pin 0 adj1 maxAdj1" />\r
+ <gd name="enAng" fmla="pin 1 adj3 21599999" />\r
+ <gd name="stAng" fmla="pin 0 adj4 21599999" />\r
+\r
+ <gd name="th" fmla="*/ ss a1 100000" />\r
+\r
+ <gd name="thh" fmla="*/ ss a5 100000" />\r
+\r
+ <gd name="th2" fmla="*/ th 1 2" />\r
+\r
+\r
+ <gd name="rw1" fmla="+- wd2 th2 thh" />\r
+\r
+ <gd name="rh1" fmla="+- hd2 th2 thh" />\r
+\r
+ <gd name="rw2" fmla="+- rw1 0 th" />\r
+\r
+ <gd name="rh2" fmla="+- rh1 0 th" />\r
+\r
+ <gd name="rw3" fmla="+- rw2 th2 0" />\r
+\r
+ <gd name="rh3" fmla="+- rh2 th2 0" />\r
+\r
+\r
+ <gd name="wtH" fmla="sin rw3 enAng" />\r
+ <gd name="htH" fmla="cos rh3 enAng" />\r
+ <gd name="dxH" fmla="cat2 rw3 htH wtH" />\r
+ <gd name="dyH" fmla="sat2 rh3 htH wtH" />\r
+ <gd name="xH" fmla="+- hc dxH 0" />\r
+\r
+ <gd name="yH" fmla="+- vc dyH 0" />\r
+\r
+\r
+ <gd name="rI" fmla="min rw2 rh2" />\r
+\r
+ <gd name="u1" fmla="*/ dxH dxH 1" />\r
+ <gd name="u2" fmla="*/ dyH dyH 1" />\r
+ <gd name="u3" fmla="*/ rI rI 1" />\r
+ <gd name="u4" fmla="+- u1 0 u3" />\r
+ <gd name="u5" fmla="+- u2 0 u3" />\r
+ <gd name="u6" fmla="*/ u4 u5 u1" />\r
+ <gd name="u7" fmla="*/ u6 1 u2" />\r
+ <gd name="u8" fmla="+- 1 0 u7" />\r
+ <gd name="u9" fmla="sqrt u8" />\r
+ <gd name="u10" fmla="*/ u4 1 dxH" />\r
+ <gd name="u11" fmla="*/ u10 1 dyH" />\r
+ <gd name="u12" fmla="+/ 1 u9 u11" />\r
+ <gd name="u13" fmla="at2 1 u12" />\r
+ <gd name="u14" fmla="+- u13 21600000 0" />\r
+ <gd name="u15" fmla="?: u13 u13 u14" />\r
+ <gd name="u16" fmla="+- u15 0 enAng" />\r
+\r
+ <gd name="u17" fmla="+- u16 21600000 0" />\r
+ <gd name="u18" fmla="?: u16 u16 u17" />\r
+ <gd name="u19" fmla="+- u18 0 cd2" />\r
+ <gd name="u20" fmla="+- u18 0 21600000" />\r
+ <gd name="u21" fmla="?: u19 u20 u18" />\r
+ <gd name="u22" fmla="abs u21" />\r
+ <gd name="minAng" fmla="*/ u22 -1 1" />\r
+ <gd name="u23" fmla="abs adj2" />\r
+ <gd name="a2" fmla="*/ u23 -1 1" />\r
+ <gd name="aAng" fmla="pin minAng a2 0" />\r
+\r
+ <gd name="ptAng" fmla="+- enAng aAng 0" />\r
+\r
+\r
+ <gd name="wtA" fmla="sin rw3 ptAng" />\r
+ <gd name="htA" fmla="cos rh3 ptAng" />\r
+ <gd name="dxA" fmla="cat2 rw3 htA wtA" />\r
+ <gd name="dyA" fmla="sat2 rh3 htA wtA" />\r
+ <gd name="xA" fmla="+- hc dxA 0" />\r
+\r
+ <gd name="yA" fmla="+- vc dyA 0" />\r
+\r
+\r
+ <gd name="wtE" fmla="sin rw1 stAng" />\r
+ <gd name="htE" fmla="cos rh1 stAng" />\r
+ <gd name="dxE" fmla="cat2 rw1 htE wtE" />\r
+ <gd name="dyE" fmla="sat2 rh1 htE wtE" />\r
+ <gd name="xE" fmla="+- hc dxE 0" />\r
+\r
+ <gd name="yE" fmla="+- vc dyE 0" />\r
+\r
+\r
+ <gd name="wtD" fmla="sin rw2 stAng" />\r
+ <gd name="htD" fmla="cos rh2 stAng" />\r
+ <gd name="dxD" fmla="cat2 rw2 htD wtD" />\r
+ <gd name="dyD" fmla="sat2 rh2 htD wtD" />\r
+ <gd name="xD" fmla="+- hc dxD 0" />\r
+\r
+ <gd name="yD" fmla="+- vc dyD 0" />\r
+\r
+\r
+ <gd name="dxG" fmla="cos thh ptAng" />\r
+ <gd name="dyG" fmla="sin thh ptAng" />\r
+ <gd name="xG" fmla="+- xH dxG 0" />\r
+\r
+ <gd name="yG" fmla="+- yH dyG 0" />\r
+\r
+\r
+ <gd name="dxB" fmla="cos thh ptAng" />\r
+ <gd name="dyB" fmla="sin thh ptAng" />\r
+ <gd name="xB" fmla="+- xH 0 dxB 0" />\r
+\r
+ <gd name="yB" fmla="+- yH 0 dyB 0" />\r
+\r
+\r
+ <gd name="sx1" fmla="+- xB 0 hc" />\r
+\r
+ <gd name="sy1" fmla="+- yB 0 vc" />\r
+\r
+ <gd name="sx2" fmla="+- xG 0 hc" />\r
+\r
+ <gd name="sy2" fmla="+- yG 0 vc" />\r
+\r
+\r
+ <gd name="rO" fmla="min rw1 rh1" />\r
+\r
+ <gd name="x1O" fmla="*/ sx1 rO rw1" />\r
+\r
+ <gd name="y1O" fmla="*/ sy1 rO rh1" />\r
+\r
+ <gd name="x2O" fmla="*/ sx2 rO rw1" />\r
+\r
+ <gd name="y2O" fmla="*/ sy2 rO rh1" />\r
+\r
+\r
+ <gd name="dxO" fmla="+- x2O 0 x1O" />\r
+ <gd name="dyO" fmla="+- y2O 0 y1O" />\r
+ <gd name="dO" fmla="mod dxO dyO 0" />\r
+\r
+ <gd name="q1" fmla="*/ x1O y2O 1" />\r
+ <gd name="q2" fmla="*/ x2O y1O 1" />\r
+ <gd name="DO" fmla="+- q1 0 q2" />\r
+\r
+\r
+ <gd name="q3" fmla="*/ rO rO 1" />\r
+\r
+ <gd name="q4" fmla="*/ dO dO 1" />\r
+\r
+ <gd name="q5" fmla="*/ q3 q4 1" />\r
+\r
+ <gd name="q6" fmla="*/ DO DO 1" />\r
+\r
+ <gd name="q7" fmla="+- q5 0 q6" />\r
+\r
+ <gd name="q8" fmla="max q7 0" />\r
+\r
+ <gd name="sdelO" fmla="sqrt q8" />\r
+\r
+ <gd name="ndyO" fmla="*/ dyO -1 1" />\r
+ <gd name="sdyO" fmla="?: ndyO -1 1" />\r
+\r
+ <gd name="q9" fmla="*/ sdyO dxO 1" />\r
+\r
+ <gd name="q10" fmla="*/ q9 sdelO 1" />\r
+\r
+ <gd name="q11" fmla="*/ DO dyO 1" />\r
+\r
+ <gd name="dxF1" fmla="+/ q11 q10 q4" />\r
+\r
+ <gd name="q12" fmla="+- q11 0 q10" />\r
+ <gd name="dxF2" fmla="*/ q12 1 q4" />\r
+\r
+\r
+ <gd name="adyO" fmla="abs dyO" />\r
+ <gd name="q13" fmla="*/ adyO sdelO 1" />\r
+\r
+ <gd name="q14" fmla="*/ DO dxO -1" />\r
+\r
+ <gd name="dyF1" fmla="+/ q14 q13 q4" />\r
+\r
+ <gd name="q15" fmla="+- q14 0 q13" />\r
+ <gd name="dyF2" fmla="*/ q15 1 q4" />\r
+\r
+\r
+\r
+ <gd name="q16" fmla="+- x2O 0 dxF1" />\r
+ <gd name="q17" fmla="+- x2O 0 dxF2" />\r
+ <gd name="q18" fmla="+- y2O 0 dyF1" />\r
+ <gd name="q19" fmla="+- y2O 0 dyF2" />\r
+ <gd name="q20" fmla="mod q16 q18 0" />\r
+\r
+ <gd name="q21" fmla="mod q17 q19 0" />\r
+\r
+ <gd name="q22" fmla="+- q21 0 q20" />\r
+ <gd name="dxF" fmla="?: q22 dxF1 dxF2" />\r
+\r
+ <gd name="dyF" fmla="?: q22 dyF1 dyF2" />\r
+\r
+ <gd name="sdxF" fmla="*/ dxF rw1 rO" />\r
+\r
+ <gd name="sdyF" fmla="*/ dyF rh1 rO" />\r
+\r
+ <gd name="xF" fmla="+- hc sdxF 0" />\r
+\r
+ <gd name="yF" fmla="+- vc sdyF 0" />\r
+\r
+\r
+\r
+\r
+ <gd name="x1I" fmla="*/ sx1 rI rw2" />\r
+\r
+ <gd name="y1I" fmla="*/ sy1 rI rh2" />\r
+\r
+ <gd name="x2I" fmla="*/ sx2 rI rw2" />\r
+\r
+ <gd name="y2I" fmla="*/ sy2 rI rh2" />\r
+\r
+\r
+ <gd name="dxI" fmla="+- x2I 0 x1I" />\r
+ <gd name="dyI" fmla="+- y2I 0 y1I" />\r
+ <gd name="dI" fmla="mod dxI dyI 0" />\r
+ <gd name="v1" fmla="*/ x1I y2I 1" />\r
+ <gd name="v2" fmla="*/ x2I y1I 1" />\r
+ <gd name="DI" fmla="+- v1 0 v2" />\r
+\r
+ <gd name="v3" fmla="*/ rI rI 1" />\r
+ <gd name="v4" fmla="*/ dI dI 1" />\r
+ <gd name="v5" fmla="*/ v3 v4 1" />\r
+ <gd name="v6" fmla="*/ DI DI 1" />\r
+ <gd name="v7" fmla="+- v5 0 v6" />\r
+ <gd name="v8" fmla="max v7 0" />\r
+ <gd name="sdelI" fmla="sqrt v8" />\r
+ <gd name="v9" fmla="*/ sdyO dxI 1" />\r
+ <gd name="v10" fmla="*/ v9 sdelI 1" />\r
+ <gd name="v11" fmla="*/ DI dyI 1" />\r
+ <gd name="dxC1" fmla="+/ v11 v10 v4" />\r
+ <gd name="v12" fmla="+- v11 0 v10" />\r
+ <gd name="dxC2" fmla="*/ v12 1 v4" />\r
+\r
+ <gd name="adyI" fmla="abs dyI" />\r
+ <gd name="v13" fmla="*/ adyI sdelI 1" />\r
+ <gd name="v14" fmla="*/ DI dxI -1" />\r
+ <gd name="dyC1" fmla="+/ v14 v13 v4" />\r
+ <gd name="v15" fmla="+- v14 0 v13" />\r
+ <gd name="dyC2" fmla="*/ v15 1 v4" />\r
+\r
+ <gd name="v16" fmla="+- x1I 0 dxC1" />\r
+ <gd name="v17" fmla="+- x1I 0 dxC2" />\r
+ <gd name="v18" fmla="+- y1I 0 dyC1" />\r
+ <gd name="v19" fmla="+- y1I 0 dyC2" />\r
+ <gd name="v20" fmla="mod v16 v18 0" />\r
+ <gd name="v21" fmla="mod v17 v19 0" />\r
+ <gd name="v22" fmla="+- v21 0 v20" />\r
+ <gd name="dxC" fmla="?: v22 dxC1 dxC2" />\r
+ <gd name="dyC" fmla="?: v22 dyC1 dyC2" />\r
+ <gd name="sdxC" fmla="*/ dxC rw2 rI" />\r
+ <gd name="sdyC" fmla="*/ dyC rh2 rI" />\r
+ <gd name="xC" fmla="+- hc sdxC 0" />\r
+\r
+ <gd name="yC" fmla="+- vc sdyC 0" />\r
+\r
+\r
+ <gd name="ist0" fmla="at2 sdxC sdyC" />\r
+ <gd name="ist1" fmla="+- ist0 21600000 0" />\r
+ <gd name="istAng0" fmla="?: ist0 ist0 ist1" />\r
+ <gd name="isw1" fmla="+- stAng 0 istAng0" />\r
+ <gd name="isw2" fmla="+- isw1 21600000 0" />\r
+ <gd name="iswAng0" fmla="?: isw1 isw1 isw2" />\r
+\r
+ <gd name="istAng" fmla="+- istAng0 iswAng0 0" />\r
+ <gd name="iswAng" fmla="+- 0 0 iswAng0" />\r
+\r
+ <gd name="p1" fmla="+- xF 0 xC" />\r
+ <gd name="p2" fmla="+- yF 0 yC" />\r
+ <gd name="p3" fmla="mod p1 p2 0" />\r
+ <gd name="p4" fmla="*/ p3 1 2" />\r
+ <gd name="p5" fmla="+- p4 0 thh" />\r
+ <gd name="xGp" fmla="?: p5 xF xG" />\r
+ <gd name="yGp" fmla="?: p5 yF yG" />\r
+ <gd name="xBp" fmla="?: p5 xC xB" />\r
+ <gd name="yBp" fmla="?: p5 yC yB" />\r
+\r
+ <gd name="en0" fmla="at2 sdxF sdyF" />\r
+ <gd name="en1" fmla="+- en0 21600000 0" />\r
+ <gd name="en2" fmla="?: en0 en0 en1" />\r
+ <gd name="sw0" fmla="+- en2 0 stAng" />\r
+ <gd name="sw1" fmla="+- sw0 0 21600000" />\r
+ <gd name="swAng" fmla="?: sw0 sw1 sw0" />\r
+\r
+\r
+ <gd name="stAng0" fmla="+- stAng swAng 0" />\r
+\r
+ <gd name="swAng0" fmla="+- 0 0 swAng" />\r
+\r
+\r
+ <gd name="wtI" fmla="sin rw3 stAng" />\r
+ <gd name="htI" fmla="cos rh3 stAng" />\r
+ <gd name="dxI" fmla="cat2 rw3 htI wtI" />\r
+ <gd name="dyI" fmla="sat2 rh3 htI wtI" />\r
+ <gd name="xI" fmla="+- hc dxI 0" />\r
+\r
+ <gd name="yI" fmla="+- vc dyI 0" />\r
+\r
+\r
+ <gd name="aI" fmla="+- stAng cd4 0" />\r
+ <gd name="aA" fmla="+- ptAng 0 cd4" />\r
+ <gd name="aB" fmla="+- ptAng cd2 0" />\r
+\r
+ <gd name="idx" fmla="cos rw1 2700000" />\r
+ <gd name="idy" fmla="sin rh1 2700000" />\r
+ <gd name="il" fmla="+- hc 0 idx" />\r
+ <gd name="ir" fmla="+- hc idx 0" />\r
+ <gd name="it" fmla="+- vc 0 idy" />\r
+ <gd name="ib" fmla="+- vc idy 0" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahPolar gdRefAng="adj2" minAng="minAng" maxAng="0">\r
+ <pos x="xA" y="yA" />\r
+ </ahPolar>\r
+ <ahPolar gdRefAng="adj4" minAng="0" maxAng="21599999">\r
+ <pos x="xE" y="yE" />\r
+ </ahPolar>\r
+ <ahPolar gdRefR="adj1" minR="0" maxR="maxAdj1" gdRefAng="adj3" minAng="0" maxAng="21599999">\r
+ <pos x="xF" y="yF" />\r
+ </ahPolar>\r
+ <ahPolar gdRefR="adj5" minR="0" maxR="25000">\r
+ <pos x="xB" y="yB" />\r
+ </ahPolar>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="aI">\r
+ <pos x="xI" y="yI" />\r
+ </cxn>\r
+ <cxn ang="ptAng">\r
+ <pos x="xGp" y="yGp" />\r
+ </cxn>\r
+ <cxn ang="aA">\r
+ <pos x="xA" y="yA" />\r
+ </cxn>\r
+ <cxn ang="aB">\r
+ <pos x="xBp" y="yBp" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="xE" y="yE" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="xD" y="yD" />\r
+ </lnTo>\r
+ <arcTo wR="rw2" hR="rh2" stAng="istAng" swAng="iswAng" />\r
+ <lnTo>\r
+ <pt x="xBp" y="yBp" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xA" y="yA" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xGp" y="yGp" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xF" y="yF" />\r
+ </lnTo>\r
+ <arcTo wR="rw1" hR="rh1" stAng="stAng0" swAng="swAng0" />\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </leftCircularArrow>\r
+ <leftRightArrow>\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 50000" />\r
+ <gd name="adj2" fmla="val 50000" />\r
+ </avLst>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="maxAdj2" fmla="*/ 50000 w ss" />\r
+ <gd name="a1" fmla="pin 0 adj1 100000" />\r
+ <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
+ <gd name="x2" fmla="*/ ss a2 100000" />\r
+ <gd name="x3" fmla="+- r 0 x2" />\r
+ <gd name="dy" fmla="*/ h a1 200000" />\r
+ <gd name="y1" fmla="+- vc 0 dy" />\r
+ <gd name="y2" fmla="+- vc dy 0" />\r
+ <gd name="dx1" fmla="*/ y1 x2 hd2" />\r
+ <gd name="x1" fmla="+- x2 0 dx1" />\r
+ <gd name="x4" fmla="+- x3 dx1 0" />\r
+ </gdLst>\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj1" minY="0" maxY="100000">\r
+ <pos x="x3" y="y1" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">\r
+ <pos x="x2" y="t" />\r
+ </ahXY>\r
+ </ahLst>\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x3" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x2" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="x2" y="t" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="x3" y="t" />\r
+ </cxn>\r
+ </cxnLst>\r
+ <rect l="x1" t="y1" r="x4" b="y2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="vc" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x2" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="vc" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+ </leftRightArrow>\r
+ <leftRightArrowCallout>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 25000" />\r
+\r
+ <gd name="adj2" fmla="val 25000" />\r
+\r
+ <gd name="adj3" fmla="val 25000" />\r
+\r
+ <gd name="adj4" fmla="val 48123" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="maxAdj2" fmla="*/ 50000 h ss" />\r
+\r
+ <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
+ <gd name="maxAdj1" fmla="*/ a2 2 1" />\r
+\r
+ <gd name="a1" fmla="pin 0 adj1 maxAdj1" />\r
+ <gd name="maxAdj3" fmla="*/ 50000 w ss" />\r
+\r
+ <gd name="a3" fmla="pin 0 adj3 maxAdj3" />\r
+ <gd name="q2" fmla="*/ a3 ss wd2" />\r
+\r
+ <gd name="maxAdj4" fmla="+- 100000 0 q2" />\r
+\r
+ <gd name="a4" fmla="pin 0 adj4 maxAdj4" />\r
+ <gd name="dy1" fmla="*/ ss a2 100000" />\r
+\r
+ <gd name="dy2" fmla="*/ ss a1 200000" />\r
+\r
+ <gd name="y1" fmla="+- vc 0 dy1" />\r
+ <gd name="y2" fmla="+- vc 0 dy2" />\r
+ <gd name="y3" fmla="+- vc dy2 0" />\r
+ <gd name="y4" fmla="+- vc dy1 0" />\r
+ <gd name="x1" fmla="*/ ss a3 100000" />\r
+\r
+ <gd name="x4" fmla="+- r 0 x1" />\r
+\r
+ <gd name="dx2" fmla="*/ w a4 200000" />\r
+\r
+ <gd name="x2" fmla="+- hc 0 dx2" />\r
+\r
+ <gd name="x3" fmla="+- hc dx2 0" />\r
+\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj1" minY="0" maxY="maxAdj1">\r
+ <pos x="x1" y="y2" />\r
+ </ahXY>\r
+ <ahXY gdRefY="adj2" minY="0" maxY="maxAdj2">\r
+ <pos x="l" y="y1" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj3" minX="0" maxX="maxAdj3">\r
+ <pos x="x1" y="t" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj4" minX="0" maxX="maxAdj4">\r
+ <pos x="x2" y="b" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="x2" t="t" r="x3" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="vc" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="vc" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y4" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </leftRightArrowCallout>\r
+ <leftRightCircularArrow>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 12500" />\r
+\r
+ <gd name="adj2" fmla="val 1142319" />\r
+\r
+ <gd name="adj3" fmla="val 20457681" />\r
+\r
+ <gd name="adj4" fmla="val 11942319" />\r
+\r
+ <gd name="adj5" fmla="val 12500" />\r
+\r
+ </avLst>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a5" fmla="pin 0 adj5 25000" />\r
+\r
+ <gd name="maxAdj1" fmla="*/ a5 2 1" />\r
+\r
+ <gd name="a1" fmla="pin 0 adj1 maxAdj1" />\r
+ <gd name="enAng" fmla="pin 1 adj3 21599999" />\r
+ <gd name="stAng" fmla="pin 0 adj4 21599999" />\r
+\r
+ <gd name="th" fmla="*/ ss a1 100000" />\r
+\r
+ <gd name="thh" fmla="*/ ss a5 100000" />\r
+\r
+ <gd name="th2" fmla="*/ th 1 2" />\r
+\r
+\r
+ <gd name="rw1" fmla="+- wd2 th2 thh" />\r
+\r
+ <gd name="rh1" fmla="+- hd2 th2 thh" />\r
+\r
+ <gd name="rw2" fmla="+- rw1 0 th" />\r
+\r
+ <gd name="rh2" fmla="+- rh1 0 th" />\r
+\r
+ <gd name="rw3" fmla="+- rw2 th2 0" />\r
+\r
+ <gd name="rh3" fmla="+- rh2 th2 0" />\r
+\r
+\r
+ <gd name="wtH" fmla="sin rw3 enAng" />\r
+ <gd name="htH" fmla="cos rh3 enAng" />\r
+ <gd name="dxH" fmla="cat2 rw3 htH wtH" />\r
+ <gd name="dyH" fmla="sat2 rh3 htH wtH" />\r
+ <gd name="xH" fmla="+- hc dxH 0" />\r
+\r
+ <gd name="yH" fmla="+- vc dyH 0" />\r
+\r
+\r
+ <gd name="rI" fmla="min rw2 rh2" />\r
+\r
+ <gd name="u1" fmla="*/ dxH dxH 1" />\r
+ <gd name="u2" fmla="*/ dyH dyH 1" />\r
+ <gd name="u3" fmla="*/ rI rI 1" />\r
+ <gd name="u4" fmla="+- u1 0 u3" />\r
+ <gd name="u5" fmla="+- u2 0 u3" />\r
+ <gd name="u6" fmla="*/ u4 u5 u1" />\r
+ <gd name="u7" fmla="*/ u6 1 u2" />\r
+ <gd name="u8" fmla="+- 1 0 u7" />\r
+ <gd name="u9" fmla="sqrt u8" />\r
+ <gd name="u10" fmla="*/ u4 1 dxH" />\r
+ <gd name="u11" fmla="*/ u10 1 dyH" />\r
+ <gd name="u12" fmla="+/ 1 u9 u11" />\r
+ <gd name="u13" fmla="at2 1 u12" />\r
+ <gd name="u14" fmla="+- u13 21600000 0" />\r
+ <gd name="u15" fmla="?: u13 u13 u14" />\r
+ <gd name="u16" fmla="+- u15 0 enAng" />\r
+\r
+ <gd name="u17" fmla="+- u16 21600000 0" />\r
+ <gd name="u18" fmla="?: u16 u16 u17" />\r
+ <gd name="u19" fmla="+- u18 0 cd2" />\r
+ <gd name="u20" fmla="+- u18 0 21600000" />\r
+ <gd name="u21" fmla="?: u19 u20 u18" />\r
+ <gd name="maxAng" fmla="abs u21" />\r
+ <gd name="aAng" fmla="pin 0 adj2 maxAng" />\r
+\r
+ <gd name="ptAng" fmla="+- enAng aAng 0" />\r
+\r
+\r
+ <gd name="wtA" fmla="sin rw3 ptAng" />\r
+ <gd name="htA" fmla="cos rh3 ptAng" />\r
+ <gd name="dxA" fmla="cat2 rw3 htA wtA" />\r
+ <gd name="dyA" fmla="sat2 rh3 htA wtA" />\r
+ <gd name="xA" fmla="+- hc dxA 0" />\r
+\r
+ <gd name="yA" fmla="+- vc dyA 0" />\r
+\r
+\r
+ <gd name="dxG" fmla="cos thh ptAng" />\r
+ <gd name="dyG" fmla="sin thh ptAng" />\r
+ <gd name="xG" fmla="+- xH dxG 0" />\r
+\r
+ <gd name="yG" fmla="+- yH dyG 0" />\r
+\r
+\r
+ <gd name="dxB" fmla="cos thh ptAng" />\r
+ <gd name="dyB" fmla="sin thh ptAng" />\r
+ <gd name="xB" fmla="+- xH 0 dxB 0" />\r
+\r
+ <gd name="yB" fmla="+- yH 0 dyB 0" />\r
+\r
+\r
+ <gd name="sx1" fmla="+- xB 0 hc" />\r
+\r
+ <gd name="sy1" fmla="+- yB 0 vc" />\r
+\r
+ <gd name="sx2" fmla="+- xG 0 hc" />\r
+\r
+ <gd name="sy2" fmla="+- yG 0 vc" />\r
+\r
+\r
+ <gd name="rO" fmla="min rw1 rh1" />\r
+\r
+ <gd name="x1O" fmla="*/ sx1 rO rw1" />\r
+\r
+ <gd name="y1O" fmla="*/ sy1 rO rh1" />\r
+\r
+ <gd name="x2O" fmla="*/ sx2 rO rw1" />\r
+\r
+ <gd name="y2O" fmla="*/ sy2 rO rh1" />\r
+\r
+\r
+ <gd name="dxO" fmla="+- x2O 0 x1O" />\r
+ <gd name="dyO" fmla="+- y2O 0 y1O" />\r
+ <gd name="dO" fmla="mod dxO dyO 0" />\r
+\r
+ <gd name="q1" fmla="*/ x1O y2O 1" />\r
+ <gd name="q2" fmla="*/ x2O y1O 1" />\r
+ <gd name="DO" fmla="+- q1 0 q2" />\r
+\r
+\r
+ <gd name="q3" fmla="*/ rO rO 1" />\r
+\r
+ <gd name="q4" fmla="*/ dO dO 1" />\r
+\r
+ <gd name="q5" fmla="*/ q3 q4 1" />\r
+\r
+ <gd name="q6" fmla="*/ DO DO 1" />\r
+\r
+ <gd name="q7" fmla="+- q5 0 q6" />\r
+\r
+ <gd name="q8" fmla="max q7 0" />\r
+\r
+ <gd name="sdelO" fmla="sqrt q8" />\r
+\r
+ <gd name="ndyO" fmla="*/ dyO -1 1" />\r
+ <gd name="sdyO" fmla="?: ndyO -1 1" />\r
+\r
+ <gd name="q9" fmla="*/ sdyO dxO 1" />\r
+\r
+ <gd name="q10" fmla="*/ q9 sdelO 1" />\r
+\r
+ <gd name="q11" fmla="*/ DO dyO 1" />\r
+\r
+ <gd name="dxF1" fmla="+/ q11 q10 q4" />\r
+\r
+ <gd name="q12" fmla="+- q11 0 q10" />\r
+ <gd name="dxF2" fmla="*/ q12 1 q4" />\r
+\r
+\r
+ <gd name="adyO" fmla="abs dyO" />\r
+ <gd name="q13" fmla="*/ adyO sdelO 1" />\r
+\r
+ <gd name="q14" fmla="*/ DO dxO -1" />\r
+\r
+ <gd name="dyF1" fmla="+/ q14 q13 q4" />\r
+\r
+ <gd name="q15" fmla="+- q14 0 q13" />\r
+ <gd name="dyF2" fmla="*/ q15 1 q4" />\r
+\r
+\r
+\r
+ <gd name="q16" fmla="+- x2O 0 dxF1" />\r
+ <gd name="q17" fmla="+- x2O 0 dxF2" />\r
+ <gd name="q18" fmla="+- y2O 0 dyF1" />\r
+ <gd name="q19" fmla="+- y2O 0 dyF2" />\r
+ <gd name="q20" fmla="mod q16 q18 0" />\r
+\r
+ <gd name="q21" fmla="mod q17 q19 0" />\r
+\r
+ <gd name="q22" fmla="+- q21 0 q20" />\r
+ <gd name="dxF" fmla="?: q22 dxF1 dxF2" />\r
+\r
+ <gd name="dyF" fmla="?: q22 dyF1 dyF2" />\r
+\r
+ <gd name="sdxF" fmla="*/ dxF rw1 rO" />\r
+\r
+ <gd name="sdyF" fmla="*/ dyF rh1 rO" />\r
+\r
+ <gd name="xF" fmla="+- hc sdxF 0" />\r
+\r
+ <gd name="yF" fmla="+- vc sdyF 0" />\r
+\r
+\r
+\r
+\r
+ <gd name="x1I" fmla="*/ sx1 rI rw2" />\r
+\r
+ <gd name="y1I" fmla="*/ sy1 rI rh2" />\r
+\r
+ <gd name="x2I" fmla="*/ sx2 rI rw2" />\r
+\r
+ <gd name="y2I" fmla="*/ sy2 rI rh2" />\r
+\r
+\r
+ <gd name="dxI" fmla="+- x2I 0 x1I" />\r
+ <gd name="dyI" fmla="+- y2I 0 y1I" />\r
+ <gd name="dI" fmla="mod dxI dyI 0" />\r
+ <gd name="v1" fmla="*/ x1I y2I 1" />\r
+ <gd name="v2" fmla="*/ x2I y1I 1" />\r
+ <gd name="DI" fmla="+- v1 0 v2" />\r
+\r
+ <gd name="v3" fmla="*/ rI rI 1" />\r
+ <gd name="v4" fmla="*/ dI dI 1" />\r
+ <gd name="v5" fmla="*/ v3 v4 1" />\r
+ <gd name="v6" fmla="*/ DI DI 1" />\r
+ <gd name="v7" fmla="+- v5 0 v6" />\r
+ <gd name="v8" fmla="max v7 0" />\r
+ <gd name="sdelI" fmla="sqrt v8" />\r
+ <gd name="v9" fmla="*/ sdyO dxI 1" />\r
+ <gd name="v10" fmla="*/ v9 sdelI 1" />\r
+ <gd name="v11" fmla="*/ DI dyI 1" />\r
+ <gd name="dxC1" fmla="+/ v11 v10 v4" />\r
+ <gd name="v12" fmla="+- v11 0 v10" />\r
+ <gd name="dxC2" fmla="*/ v12 1 v4" />\r
+\r
+ <gd name="adyI" fmla="abs dyI" />\r
+ <gd name="v13" fmla="*/ adyI sdelI 1" />\r
+ <gd name="v14" fmla="*/ DI dxI -1" />\r
+ <gd name="dyC1" fmla="+/ v14 v13 v4" />\r
+ <gd name="v15" fmla="+- v14 0 v13" />\r
+ <gd name="dyC2" fmla="*/ v15 1 v4" />\r
+\r
+ <gd name="v16" fmla="+- x1I 0 dxC1" />\r
+ <gd name="v17" fmla="+- x1I 0 dxC2" />\r
+ <gd name="v18" fmla="+- y1I 0 dyC1" />\r
+ <gd name="v19" fmla="+- y1I 0 dyC2" />\r
+ <gd name="v20" fmla="mod v16 v18 0" />\r
+ <gd name="v21" fmla="mod v17 v19 0" />\r
+ <gd name="v22" fmla="+- v21 0 v20" />\r
+ <gd name="dxC" fmla="?: v22 dxC1 dxC2" />\r
+ <gd name="dyC" fmla="?: v22 dyC1 dyC2" />\r
+ <gd name="sdxC" fmla="*/ dxC rw2 rI" />\r
+ <gd name="sdyC" fmla="*/ dyC rh2 rI" />\r
+ <gd name="xC" fmla="+- hc sdxC 0" />\r
+\r
+ <gd name="yC" fmla="+- vc sdyC 0" />\r
+\r
+\r
+ <gd name="wtI" fmla="sin rw3 stAng" />\r
+ <gd name="htI" fmla="cos rh3 stAng" />\r
+ <gd name="dxI" fmla="cat2 rw3 htI wtI" />\r
+ <gd name="dyI" fmla="sat2 rh3 htI wtI" />\r
+ <gd name="xI" fmla="+- hc dxI 0" />\r
+\r
+ <gd name="yI" fmla="+- vc dyI 0" />\r
+\r
+\r
+ <gd name="lptAng" fmla="+- stAng 0 aAng" />\r
+\r
+\r
+ <gd name="wtL" fmla="sin rw3 lptAng" />\r
+ <gd name="htL" fmla="cos rh3 lptAng" />\r
+ <gd name="dxL" fmla="cat2 rw3 htL wtL" />\r
+ <gd name="dyL" fmla="sat2 rh3 htL wtL" />\r
+ <gd name="xL" fmla="+- hc dxL 0" />\r
+\r
+ <gd name="yL" fmla="+- vc dyL 0" />\r
+\r
+\r
+ <gd name="dxK" fmla="cos thh lptAng" />\r
+ <gd name="dyK" fmla="sin thh lptAng" />\r
+ <gd name="xK" fmla="+- xI dxK 0" />\r
+\r
+ <gd name="yK" fmla="+- yI dyK 0" />\r
+\r
+\r
+ <gd name="dxJ" fmla="cos thh lptAng" />\r
+ <gd name="dyJ" fmla="sin thh lptAng" />\r
+ <gd name="xJ" fmla="+- xI 0 dxJ 0" />\r
+\r
+ <gd name="yJ" fmla="+- yI 0 dyJ 0" />\r
+\r
+\r
+ <gd name="p1" fmla="+- xF 0 xC" />\r
+ <gd name="p2" fmla="+- yF 0 yC" />\r
+ <gd name="p3" fmla="mod p1 p2 0" />\r
+ <gd name="p4" fmla="*/ p3 1 2" />\r
+ <gd name="p5" fmla="+- p4 0 thh" />\r
+ <gd name="xGp" fmla="?: p5 xF xG" />\r
+ <gd name="yGp" fmla="?: p5 yF yG" />\r
+ <gd name="xBp" fmla="?: p5 xC xB" />\r
+ <gd name="yBp" fmla="?: p5 yC yB" />\r
+\r
+ <gd name="en0" fmla="at2 sdxF sdyF" />\r
+ <gd name="en1" fmla="+- en0 21600000 0" />\r
+ <gd name="en2" fmla="?: en0 en0 en1" />\r
+ <gd name="od0" fmla="+- en2 0 enAng" />\r
+ <gd name="od1" fmla="+- od0 21600000 0" />\r
+ <gd name="od2" fmla="?: od0 od0 od1" />\r
+\r
+ <gd name="st0" fmla="+- stAng 0 od2" />\r
+ <gd name="st1" fmla="+- st0 21600000 0" />\r
+ <gd name="st2" fmla="?: st0 st0 st1" />\r
+\r
+ <gd name="sw0" fmla="+- en2 0 st2" />\r
+ <gd name="sw1" fmla="+- sw0 21600000 0" />\r
+ <gd name="swAng" fmla="?: sw0 sw0 sw1" />\r
+\r
+\r
+ <gd name="ist0" fmla="at2 sdxC sdyC" />\r
+ <gd name="ist1" fmla="+- ist0 21600000 0" />\r
+ <gd name="istAng" fmla="?: ist0 ist0 ist1" />\r
+\r
+ <gd name="id0" fmla="+- istAng 0 enAng" />\r
+ <gd name="id1" fmla="+- id0 0 21600000" />\r
+ <gd name="id2" fmla="?: id0 id1 id0" />\r
+\r
+ <gd name="ien0" fmla="+- stAng 0 id2" />\r
+ <gd name="ien1" fmla="+- ien0 0 21600000" />\r
+ <gd name="ien2" fmla="?: ien1 ien1 ien0" />\r
+\r
+ <gd name="isw1" fmla="+- ien2 0 istAng" />\r
+ <gd name="isw2" fmla="+- isw1 0 21600000" />\r
+ <gd name="iswAng" fmla="?: isw1 isw2 isw1" />\r
+\r
+\r
+ <gd name="wtE" fmla="sin rw1 st2" />\r
+ <gd name="htE" fmla="cos rh1 st2" />\r
+ <gd name="dxE" fmla="cat2 rw1 htE wtE" />\r
+ <gd name="dyE" fmla="sat2 rh1 htE wtE" />\r
+ <gd name="xE" fmla="+- hc dxE 0" />\r
+\r
+ <gd name="yE" fmla="+- vc dyE 0" />\r
+\r
+\r
+ <gd name="wtD" fmla="sin rw2 ien2" />\r
+ <gd name="htD" fmla="cos rh2 ien2" />\r
+ <gd name="dxD" fmla="cat2 rw2 htD wtD" />\r
+ <gd name="dyD" fmla="sat2 rh2 htD wtD" />\r
+ <gd name="xD" fmla="+- hc dxD 0" />\r
+\r
+ <gd name="yD" fmla="+- vc dyD 0" />\r
+\r
+\r
+ <gd name="xKp" fmla="?: p5 xE xK" />\r
+ <gd name="yKp" fmla="?: p5 yE yK" />\r
+ <gd name="xJp" fmla="?: p5 xD xJ" />\r
+ <gd name="yJp" fmla="?: p5 yD yJ" />\r
+\r
+ <gd name="aL" fmla="+- lptAng 0 cd4" />\r
+ <gd name="aA" fmla="+- ptAng cd4 0" />\r
+ <gd name="aB" fmla="+- ptAng cd2 0" />\r
+ <gd name="aJ" fmla="+- lptAng cd2 0" />\r
+\r
+ <gd name="idx" fmla="cos rw1 2700000" />\r
+ <gd name="idy" fmla="sin rh1 2700000" />\r
+ <gd name="il" fmla="+- hc 0 idx" />\r
+ <gd name="ir" fmla="+- hc idx 0" />\r
+ <gd name="it" fmla="+- vc 0 idy" />\r
+ <gd name="ib" fmla="+- vc idy 0" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahPolar gdRefAng="adj2" minAng="0" maxAng="maxAng">\r
+ <pos x="xA" y="yA" />\r
+ </ahPolar>\r
+ <ahPolar gdRefAng="adj4" minAng="0" maxAng="21599999">\r
+ <pos x="xE" y="yE" />\r
+ </ahPolar>\r
+ <ahPolar gdRefR="adj1" minR="0" maxR="maxAdj1" gdRefAng="adj3" minAng="0" maxAng="21599999">\r
+ <pos x="xF" y="yF" />\r
+ </ahPolar>\r
+ <ahPolar gdRefR="adj5" minR="0" maxR="25000">\r
+ <pos x="xB" y="yB" />\r
+ </ahPolar>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="aL">\r
+ <pos x="xL" y="yL" />\r
+ </cxn>\r
+ <cxn ang="lptAng">\r
+ <pos x="xKp" y="yKp" />\r
+ </cxn>\r
+ <cxn ang="ptAng">\r
+ <pos x="xGp" y="yGp" />\r
+ </cxn>\r
+ <cxn ang="aA">\r
+ <pos x="xA" y="yA" />\r
+ </cxn>\r
+ <cxn ang="aB">\r
+ <pos x="xBp" y="yBp" />\r
+ </cxn>\r
+ <cxn ang="aJ">\r
+ <pos x="xJp" y="yJp" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="xL" y="yL" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="xKp" y="yKp" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xE" y="yE" />\r
+ </lnTo>\r
+ <arcTo wR="rw1" hR="rh1" stAng="st2" swAng="swAng" />\r
+ <lnTo>\r
+ <pt x="xGp" y="yGp" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xA" y="yA" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xBp" y="yBp" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xC" y="yC" />\r
+ </lnTo>\r
+ <arcTo wR="rw2" hR="rh2" stAng="istAng" swAng="iswAng" />\r
+ <lnTo>\r
+ <pt x="xJp" y="yJp" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </leftRightCircularArrow>\r
+ <leftRightRibbon>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 50000" />\r
+\r
+ <gd name="adj2" fmla="val 50000" />\r
+\r
+ <gd name="adj3" fmla="val 16667" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a3" fmla="pin 0 adj3 33333" />\r
+ <gd name="maxAdj1" fmla="+- 100000 0 a3" />\r
+ <gd name="a1" fmla="pin 0 adj1 maxAdj1" />\r
+\r
+ <gd name="w1" fmla="+- wd2 0 wd32" />\r
+ <gd name="maxAdj2" fmla="*/ 100000 w1 ss" />\r
+ <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
+\r
+ <gd name="x1" fmla="*/ ss a2 100000" />\r
+\r
+ <gd name="x4" fmla="+- r 0 x1" />\r
+\r
+ <gd name="dy1" fmla="*/ h a1 200000" />\r
+\r
+ <gd name="dy2" fmla="*/ h a3 -200000" />\r
+\r
+ <gd name="ly1" fmla="+- vc dy2 dy1" />\r
+\r
+ <gd name="ry4" fmla="+- vc dy1 dy2" />\r
+\r
+ <gd name="ly2" fmla="+- ly1 dy1 0" />\r
+\r
+ <gd name="ry3" fmla="+- b 0 ly2" />\r
+\r
+ <gd name="ly4" fmla="*/ ly2 2 1" />\r
+\r
+ <gd name="ry1" fmla="+- b 0 ly4" />\r
+\r
+ <gd name="ly3" fmla="+- ly4 0 ly1" />\r
+\r
+ <gd name="ry2" fmla="+- b 0 ly3" />\r
+\r
+\r
+ <gd name="hR" fmla="*/ a3 ss 400000" />\r
+\r
+ <gd name="x2" fmla="+- hc 0 wd32" />\r
+\r
+ <gd name="x3" fmla="+- hc wd32 0" />\r
+\r
+ <gd name="y1" fmla="+- ly1 hR 0" />\r
+\r
+ <gd name="y2" fmla="+- ry2 0 hR" />\r
+\r
+\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj1" minY="0" maxY="maxAdj1">\r
+ <pos x="x4" y="ry2" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">\r
+ <pos x="x1" y="t" />\r
+ </ahXY>\r
+ <ahXY gdRefY="adj3" minY="0" maxY="33333">\r
+ <pos x="x3" y="ry2" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="r" y="ry3" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x4" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x1" y="ly4" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="ly2" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="x1" y="t" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="x4" y="ry1" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="x1" t="ly1" r="x4" b="ry4" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path stroke="false" extrusionOk="false">\r
+\r
+ <moveTo>\r
+ <pt x="l" y="ly2" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x1" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="ly1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="hc" y="ly1" />\r
+ </lnTo>\r
+ <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="cd2" />\r
+ <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="-10800000" />\r
+ <lnTo>\r
+ <pt x="x4" y="ry2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="ry1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="ry3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="ry4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="hc" y="ry4" />\r
+ </lnTo>\r
+ <arcTo wR="wd32" hR="hR" stAng="cd4" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="x2" y="ly3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="ly3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="ly4" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path stroke="false" fill="darkenLess" extrusionOk="false">\r
+\r
+ <moveTo>\r
+ <pt x="x3" y="y1" />\r
+ </moveTo>\r
+ <arcTo wR="wd32" hR="hR" stAng="0" swAng="cd4" />\r
+ <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="-10800000" />\r
+ <lnTo>\r
+ <pt x="x3" y="ry2" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path fill="none" extrusionOk="false">\r
+\r
+ <moveTo>\r
+ <pt x="l" y="ly2" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x1" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="ly1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="hc" y="ly1" />\r
+ </lnTo>\r
+ <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="cd2" />\r
+ <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="-10800000" />\r
+ <lnTo>\r
+ <pt x="x4" y="ry2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="ry1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="ry3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="ry4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="hc" y="ry4" />\r
+ </lnTo>\r
+ <arcTo wR="wd32" hR="hR" stAng="cd4" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="x2" y="ly3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="ly3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="ly4" />\r
+ </lnTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="x3" y="y1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x3" y="ry2" />\r
+ </lnTo>\r
+ <moveTo>\r
+ <pt x="x2" y="y2" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x2" y="ly3" />\r
+ </lnTo>\r
+ </path>\r
+ </pathLst>\r
+\r
+ </leftRightRibbon>\r
+ <leftRightUpArrow>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 25000" />\r
+\r
+ <gd name="adj2" fmla="val 25000" />\r
+\r
+ <gd name="adj3" fmla="val 25000" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a2" fmla="pin 0 adj2 50000" />\r
+ <gd name="maxAdj1" fmla="*/ a2 2 1" />\r
+ <gd name="a1" fmla="pin 0 adj1 maxAdj1" />\r
+ <gd name="q1" fmla="+- 100000 0 maxAdj1" />\r
+ <gd name="maxAdj3" fmla="*/ q1 1 2" />\r
+ <gd name="a3" fmla="pin 0 adj3 maxAdj3" />\r
+ <gd name="x1" fmla="*/ ss a3 100000" />\r
+ <gd name="dx2" fmla="*/ ss a2 100000" />\r
+\r
+ <gd name="x2" fmla="+- hc 0 dx2" />\r
+ <gd name="x5" fmla="+- hc dx2 0" />\r
+ <gd name="dx3" fmla="*/ ss a1 200000" />\r
+\r
+ <gd name="x3" fmla="+- hc 0 dx3" />\r
+ <gd name="x4" fmla="+- hc dx3 0" />\r
+ <gd name="x6" fmla="+- r 0 x1" />\r
+\r
+ <gd name="dy2" fmla="*/ ss a2 50000" />\r
+\r
+ <gd name="y2" fmla="+- b 0 dy2" />\r
+ <gd name="y4" fmla="+- b 0 dx2" />\r
+ <gd name="y3" fmla="+- y4 0 dx3" />\r
+ <gd name="y5" fmla="+- y4 dx3 0" />\r
+ <gd name="il" fmla="*/ dx3 x1 dx2" />\r
+ <gd name="ir" fmla="+- r 0 il" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj1" minX="0" maxX="maxAdj1">\r
+ <pos x="x3" y="x1" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj2" minX="0" maxX="50000">\r
+ <pos x="x2" y="t" />\r
+ </ahXY>\r
+ <ahXY gdRefY="adj3" minY="0" maxY="maxAdj3">\r
+ <pos x="r" y="x1" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="y4" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="y5" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="y4" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="il" t="y3" r="ir" b="y5" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="y4" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="x1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="x1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="hc" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x5" y="x1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="x1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x6" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x6" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x6" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x6" y="y5" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y5" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </leftRightUpArrow>\r
+ <leftUpArrow>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 25000" />\r
+\r
+ <gd name="adj2" fmla="val 25000" />\r
+\r
+ <gd name="adj3" fmla="val 25000" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a2" fmla="pin 0 adj2 50000" />\r
+ <gd name="maxAdj1" fmla="*/ a2 2 1" />\r
+ <gd name="a1" fmla="pin 0 adj1 maxAdj1" />\r
+ <gd name="maxAdj3" fmla="+- 100000 0 maxAdj1" />\r
+ <gd name="a3" fmla="pin 0 adj3 maxAdj3" />\r
+ <gd name="x1" fmla="*/ ss a3 100000" />\r
+\r
+ <gd name="dx2" fmla="*/ ss a2 50000" />\r
+\r
+ <gd name="x2" fmla="+- r 0 dx2" />\r
+ <gd name="y2" fmla="+- b 0 dx2" />\r
+ <gd name="dx4" fmla="*/ ss a2 100000" />\r
+\r
+ <gd name="x4" fmla="+- r 0 dx4" />\r
+ <gd name="y4" fmla="+- b 0 dx4" />\r
+ <gd name="dx3" fmla="*/ ss a1 200000" />\r
+\r
+ <gd name="x3" fmla="+- x4 0 dx3" />\r
+ <gd name="x5" fmla="+- x4 dx3 0" />\r
+ <gd name="y3" fmla="+- y4 0 dx3" />\r
+ <gd name="y5" fmla="+- y4 dx3 0" />\r
+ <gd name="il" fmla="*/ dx3 x1 dx4" />\r
+ <gd name="cx1" fmla="+/ x1 x5 2" />\r
+ <gd name="cy1" fmla="+/ x1 y5 2" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj1" minY="0" maxY="maxAdj1">\r
+ <pos x="x3" y="y3" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj2" minX="0" maxX="50000">\r
+ <pos x="x2" y="t" />\r
+ </ahXY>\r
+ <ahXY gdRefY="adj3" minY="0" maxY="maxAdj3">\r
+ <pos x="x3" y="x1" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="x4" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="x2" y="x1" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="x1" y="y2" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="y4" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x1" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="cx1" y="y5" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="x5" y="cy1" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="x1" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="il" t="y3" r="x4" b="y5" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="y4" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="x1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="x1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="x1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x5" y="x1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x5" y="y5" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y5" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </leftUpArrow>\r
+ <lightningBolt>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="x1" fmla="*/ w 5022 21600" />\r
+ <gd name="x3" fmla="*/ w 8472 21600" />\r
+ <gd name="x4" fmla="*/ w 8757 21600" />\r
+\r
+ <gd name="x5" fmla="*/ w 10012 21600" />\r
+ <gd name="x8" fmla="*/ w 12860 21600" />\r
+ <gd name="x9" fmla="*/ w 13917 21600" />\r
+\r
+ <gd name="x11" fmla="*/ w 16577 21600" />\r
+ <gd name="y1" fmla="*/ h 3890 21600" />\r
+ <gd name="y2" fmla="*/ h 6080 21600" />\r
+ <gd name="y4" fmla="*/ h 7437 21600" />\r
+\r
+ <gd name="y6" fmla="*/ h 9705 21600" />\r
+ <gd name="y7" fmla="*/ h 12007 21600" />\r
+ <gd name="y10" fmla="*/ h 14277 21600" />\r
+\r
+ <gd name="y11" fmla="*/ h 14915 21600" />\r
+\r
+ </gdLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="x3" y="t" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="l" y="y1" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="x1" y="y6" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="x5" y="y11" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="r" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="x11" y="y7" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="x8" y="y2" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="x4" t="y4" r="x9" b="y10" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path w="21600" h="21600">\r
+ <moveTo>\r
+ <pt x="8472" y="0" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="12860" y="6080" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="11050" y="6797" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="16577" y="12007" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="14767" y="12877" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="21600" y="21600" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="10012" y="14915" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="12222" y="13987" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="5022" y="9705" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="7602" y="8382" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="0" y="3890" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </lightningBolt>\r
+ <line>\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="cd4">\r
+ <pos x="l" y="t" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="r" y="b" />\r
+ </cxn>\r
+ </cxnLst>\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ </path>\r
+ </pathLst>\r
+ </line>\r
+ <lineInv>\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="cd4">\r
+ <pos x="l" y="b" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="r" y="t" />\r
+ </cxn>\r
+ </cxnLst>\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="b" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ </path>\r
+ </pathLst>\r
+ </lineInv>\r
+ <mathDivide>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 23520" />\r
+\r
+ <gd name="adj2" fmla="val 5880" />\r
+\r
+ <gd name="adj3" fmla="val 11760" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+\r
+ <gd name="a1" fmla="pin 1000 adj1 36745" />\r
+ <gd name="ma1" fmla="+- 0 0 a1" />\r
+\r
+ <gd name="ma3h" fmla="+/ 73490 ma1 4" />\r
+\r
+ <gd name="ma3w" fmla="*/ 36745 w h" />\r
+\r
+ <gd name="maxAdj3" fmla="min ma3h ma3w" />\r
+ <gd name="a3" fmla="pin 1000 adj3 maxAdj3" />\r
+ <gd name="m4a3" fmla="*/ -4 a3 1" />\r
+\r
+ <gd name="maxAdj2" fmla="+- 73490 m4a3 a1" />\r
+ <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
+\r
+ <gd name="dy1" fmla="*/ h a1 200000" />\r
+\r
+ <gd name="yg" fmla="*/ h a2 100000" />\r
+\r
+ <gd name="rad" fmla="*/ h a3 100000" />\r
+\r
+ <gd name="dx1" fmla="*/ w 73490 200000" />\r
+\r
+\r
+ <gd name="y3" fmla="+- vc 0 dy1" />\r
+\r
+ <gd name="y4" fmla="+- vc dy1 0" />\r
+\r
+ <gd name="a" fmla="+- yg rad 0" />\r
+ <gd name="y2" fmla="+- y3 0 a" />\r
+\r
+ <gd name="y1" fmla="+- y2 0 rad" />\r
+\r
+ <gd name="y5" fmla="+- b 0 y1" />\r
+\r
+\r
+ <gd name="x1" fmla="+- hc 0 dx1" />\r
+\r
+ <gd name="x3" fmla="+- hc dx1 0" />\r
+\r
+ <gd name="x2" fmla="+- hc 0 rad" />\r
+\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj1" minY="1000" maxY="36745">\r
+ <pos x="l" y="y3" />\r
+ </ahXY>\r
+ <ahXY gdRefY="adj2" minY="0" maxY="maxAdj2">\r
+ <pos x="r" y="y2" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj3" minX="1000" maxX="maxAdj3">\r
+ <pos x="x2" y="t" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="x3" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="y5" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="x1" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="y1" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="x1" t="y3" r="x3" b="y4" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="hc" y="y1" />\r
+ </moveTo>\r
+ <arcTo hR="rad" wR="rad" stAng="3cd4" swAng="21600000" />\r
+ <close />\r
+ <moveTo>\r
+ <pt x="hc" y="y5" />\r
+ </moveTo>\r
+ <arcTo hR="rad" wR="rad" stAng="cd4" swAng="21600000" />\r
+ <close />\r
+ <moveTo>\r
+ <pt x="x1" y="y3" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y4" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </mathDivide>\r
+ <mathEqual>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 23520" />\r
+\r
+ <gd name="adj2" fmla="val 11760" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a1" fmla="pin 0 adj1 36745" />\r
+\r
+\r
+ <gd name="2a1" fmla="*/ a1 2 1" />\r
+\r
+ <gd name="mAdj2" fmla="+- 100000 0 2a1" />\r
+\r
+ <gd name="a2" fmla="pin 0 adj2 mAdj2" />\r
+ <gd name="dy1" fmla="*/ h a1 100000" />\r
+\r
+ <gd name="dy2" fmla="*/ h a2 200000" />\r
+\r
+ <gd name="dx1" fmla="*/ w 73490 200000" />\r
+\r
+\r
+ <gd name="y2" fmla="+- vc 0 dy2" />\r
+\r
+ <gd name="y3" fmla="+- vc dy2 0" />\r
+\r
+ <gd name="y1" fmla="+- y2 0 dy1" />\r
+\r
+ <gd name="y4" fmla="+- y3 dy1 0" />\r
+\r
+\r
+ <gd name="x1" fmla="+- hc 0 dx1" />\r
+\r
+ <gd name="x2" fmla="+- hc dx1 0" />\r
+\r
+\r
+\r
+ <gd name="yC1" fmla="+/ y1 y2 2" />\r
+\r
+ <gd name="yC2" fmla="+/ y3 y4 2" />\r
+\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj1" minY="0" maxY="36745">\r
+ <pos x="l" y="y1" />\r
+ </ahXY>\r
+\r
+ <ahXY gdRefY="adj2" minY="0" maxY="mAdj2">\r
+ <pos x="r" y="y2" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="x2" y="yC1" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="x2" y="yC2" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="y4" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="x1" y="yC1" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="x1" y="yC2" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="y1" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="x1" t="y1" r="x2" b="y4" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="x1" y="y1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y2" />\r
+ </lnTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="x1" y="y3" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y4" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </mathEqual>\r
+ <mathMinus>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 23520" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a1" fmla="pin 0 adj1 100000" />\r
+ <gd name="dy1" fmla="*/ h a1 200000" />\r
+\r
+ <gd name="dx1" fmla="*/ w 73490 200000" />\r
+\r
+\r
+ <gd name="y1" fmla="+- vc 0 dy1" />\r
+\r
+ <gd name="y2" fmla="+- vc dy1 0" />\r
+\r
+\r
+ <gd name="x1" fmla="+- hc 0 dx1" />\r
+\r
+ <gd name="x2" fmla="+- hc dx1 0" />\r
+\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj1" minY="0" maxY="100000">\r
+ <pos x="l" y="y1" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="x2" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="y2" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="x1" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="y1" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="x1" t="y1" r="x2" b="y2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="x1" y="y1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y2" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </mathMinus>\r
+ <mathMultiply>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 23520" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+\r
+\r
+\r
+\r
+\r
+ <gd name="a1" fmla="pin 0 adj1 51965" />\r
+\r
+ <gd name="th" fmla="*/ ss a1 100000" />\r
+\r
+\r
+ <gd name="a" fmla="at2 w h" />\r
+\r
+ <gd name="sa" fmla="sin 1 a" />\r
+ <gd name="ca" fmla="cos 1 a" />\r
+ <gd name="ta" fmla="tan 1 a" />\r
+\r
+\r
+ <gd name="dl" fmla="mod w h 0" />\r
+\r
+ <gd name="rw" fmla="*/ dl 51965 100000" />\r
+\r
+\r
+\r
+ <gd name="lM" fmla="+- dl 0 rw" />\r
+ <gd name="xM" fmla="*/ ca lM 2" />\r
+ <gd name="yM" fmla="*/ sa lM 2" />\r
+\r
+\r
+ <gd name="dxAM" fmla="*/ sa th 2" />\r
+ <gd name="dyAM" fmla="*/ ca th 2" />\r
+ <gd name="xA" fmla="+- xM 0 dxAM" />\r
+ <gd name="yA" fmla="+- yM dyAM 0" />\r
+\r
+\r
+ <gd name="xB" fmla="+- xM dxAM 0" />\r
+ <gd name="yB" fmla="+- yM 0 dyAM" />\r
+\r
+\r
+ <gd name="xBC" fmla="+- hc 0 xB" />\r
+ <gd name="yBC" fmla="*/ xBC ta 1" />\r
+ <gd name="yC" fmla="+- yBC yB 0" />\r
+\r
+\r
+ <gd name="xD" fmla="+- r 0 xB" />\r
+ <gd name="xE" fmla="+- r 0 xA" />\r
+\r
+ <gd name="yFE" fmla="+- vc 0 yA" />\r
+ <gd name="xFE" fmla="*/ yFE 1 ta" />\r
+ <gd name="xF" fmla="+- xE 0 xFE" />\r
+ <gd name="xL" fmla="+- xA xFE 0" />\r
+ <gd name="yG" fmla="+- b 0 yA" />\r
+ <gd name="yH" fmla="+- b 0 yB" />\r
+ <gd name="yI" fmla="+- b 0 yC" />\r
+\r
+\r
+ <gd name="xC2" fmla="+- r 0 xM" />\r
+\r
+ <gd name="yC3" fmla="+- b 0 yM" />\r
+\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj1" minY="0" maxY="51965">\r
+ <pos x="l" y="th" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="cd2">\r
+ <pos x="xM" y="yM" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="xC2" y="yM" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="xC2" y="yC3" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="xM" y="yC3" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="xA" t="yB" r="xE" b="yH" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="xA" y="yA" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="xB" y="yB" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="hc" y="yC" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xD" y="yB" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xE" y="yA" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xF" y="vc" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xE" y="yG" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xD" y="yH" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="hc" y="yI" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xB" y="yH" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xA" y="yG" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xL" y="vc" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </mathMultiply>\r
+ <mathNotEqual>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 23520" />\r
+\r
+ <gd name="adj2" fmla="val 6600000" />\r
+\r
+ <gd name="adj3" fmla="val 11760" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a1" fmla="pin 0 adj1 50000" />\r
+ <gd name="crAng" fmla="pin 4200000 adj2 6600000" />\r
+\r
+\r
+ <gd name="2a1" fmla="*/ a1 2 1" />\r
+ <gd name="maxAdj3" fmla="+- 100000 0 2a1" />\r
+ <gd name="a3" fmla="pin 0 adj3 maxAdj3" />\r
+\r
+ <gd name="dy1" fmla="*/ h a1 100000" />\r
+\r
+ <gd name="dy2" fmla="*/ h a3 200000" />\r
+\r
+ <gd name="dx1" fmla="*/ w 73490 200000" />\r
+\r
+\r
+ <gd name="x1" fmla="+- hc 0 dx1" />\r
+\r
+ <gd name="x8" fmla="+- hc dx1 0" />\r
+\r
+\r
+\r
+ <gd name="y2" fmla="+- vc 0 dy2" />\r
+\r
+ <gd name="y3" fmla="+- vc dy2 0" />\r
+\r
+ <gd name="y1" fmla="+- y2 0 dy1" />\r
+\r
+ <gd name="y4" fmla="+- y3 dy1 0" />\r
+\r
+\r
+ <gd name="cadj2" fmla="+- crAng 0 cd4" />\r
+ <gd name="xadj2" fmla="tan hd2 cadj2" />\r
+\r
+\r
+\r
+ <gd name="len" fmla="mod xadj2 hd2 0" />\r
+\r
+\r
+\r
+ <gd name="bhw" fmla="*/ len dy1 hd2" />\r
+\r
+ <gd name="bhw2" fmla="*/ bhw 1 2" />\r
+ <gd name="x7" fmla="+- hc xadj2 bhw2" />\r
+\r
+ <gd name="dx67" fmla="*/ xadj2 y1 hd2" />\r
+ <gd name="x6" fmla="+- x7 0 dx67" />\r
+\r
+ <gd name="dx57" fmla="*/ xadj2 y2 hd2" />\r
+ <gd name="x5" fmla="+- x7 0 dx57" />\r
+\r
+ <gd name="dx47" fmla="*/ xadj2 y3 hd2" />\r
+ <gd name="x4" fmla="+- x7 0 dx47" />\r
+\r
+ <gd name="dx37" fmla="*/ xadj2 y4 hd2" />\r
+ <gd name="x3" fmla="+- x7 0 dx37" />\r
+\r
+ <gd name="dx27" fmla="*/ xadj2 2 1" />\r
+ <gd name="x2" fmla="+- x7 0 dx27" />\r
+\r
+\r
+ <gd name="rx7" fmla="+- x7 bhw 0" />\r
+\r
+ <gd name="rx6" fmla="+- x6 bhw 0" />\r
+\r
+ <gd name="rx5" fmla="+- x5 bhw 0" />\r
+\r
+ <gd name="rx4" fmla="+- x4 bhw 0" />\r
+\r
+ <gd name="rx3" fmla="+- x3 bhw 0" />\r
+\r
+ <gd name="rx2" fmla="+- x2 bhw 0" />\r
+\r
+\r
+\r
+ <gd name="dx7" fmla="*/ dy1 hd2 len" />\r
+ <gd name="rxt" fmla="+- x7 dx7 0" />\r
+\r
+ <gd name="lxt" fmla="+- rx7 0 dx7" />\r
+\r
+ <gd name="rx" fmla="?: cadj2 rxt rx7" />\r
+\r
+ <gd name="lx" fmla="?: cadj2 x7 lxt" />\r
+\r
+\r
+ <gd name="dy3" fmla="*/ dy1 xadj2 len" />\r
+ <gd name="dy4" fmla="+- 0 0 dy3" />\r
+ <gd name="ry" fmla="?: cadj2 dy3 t" />\r
+\r
+ <gd name="ly" fmla="?: cadj2 t dy4" />\r
+\r
+\r
+ <gd name="dlx" fmla="+- w 0 rx" />\r
+\r
+ <gd name="drx" fmla="+- w 0 lx" />\r
+\r
+\r
+ <gd name="dly" fmla="+- h 0 ry" />\r
+\r
+ <gd name="dry" fmla="+- h 0 ly" />\r
+\r
+\r
+\r
+ <gd name="xC1" fmla="+/ rx lx 2" />\r
+\r
+ <gd name="xC2" fmla="+/ drx dlx 2" />\r
+\r
+\r
+ <gd name="yC1" fmla="+/ ry ly 2" />\r
+\r
+ <gd name="yC2" fmla="+/ y1 y2 2" />\r
+\r
+ <gd name="yC3" fmla="+/ y3 y4 2" />\r
+\r
+ <gd name="yC4" fmla="+/ dry dly 2" />\r
+\r
+\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj1" minY="0" maxY="50000">\r
+ <pos x="l" y="y1" />\r
+ </ahXY>\r
+ <ahPolar gdRefAng="adj2" minAng="4200000" maxAng="6600000">\r
+ <pos x="lx" y="t" />\r
+ </ahPolar>\r
+ <ahXY gdRefY="adj3" minY="0" maxY="maxAdj3">\r
+ <pos x="r" y="y2" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="x8" y="yC2" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="x8" y="yC3" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="xC2" y="yC4" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="x1" y="yC2" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="x1" y="yC3" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="xC1" y="yC1" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="x1" t="y1" r="x8" b="y4" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="x1" y="y1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x6" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="lx" y="ly" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="rx" y="ry" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="rx6" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x8" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x8" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="rx5" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="rx4" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x8" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x8" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="rx3" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="drx" y="dry" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="dlx" y="dly" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x5" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y2" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </mathNotEqual>\r
+ <mathPlus>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 23520" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a1" fmla="pin 0 adj1 73490" />\r
+ <gd name="dx1" fmla="*/ w 73490 200000" />\r
+\r
+ <gd name="dy1" fmla="*/ h 73490 200000" />\r
+\r
+ <gd name="dx2" fmla="*/ ss a1 200000" />\r
+\r
+\r
+ <gd name="x1" fmla="+- hc 0 dx1" />\r
+\r
+ <gd name="x2" fmla="+- hc 0 dx2" />\r
+\r
+ <gd name="x3" fmla="+- hc dx2 0" />\r
+\r
+ <gd name="x4" fmla="+- hc dx1 0" />\r
+\r
+\r
+ <gd name="y1" fmla="+- vc 0 dy1" />\r
+\r
+ <gd name="y2" fmla="+- vc 0 dx2" />\r
+\r
+ <gd name="y3" fmla="+- vc dx2 0" />\r
+\r
+ <gd name="y4" fmla="+- vc dy1 0" />\r
+\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj1" minY="0" maxY="73490">\r
+ <pos x="l" y="y2" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="x4" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="y4" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="x1" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="y1" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="x1" t="y2" r="x4" b="y3" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="x1" y="y2" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y3" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </mathPlus>\r
+ <moon>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj" fmla="val 50000" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a" fmla="pin 0 adj 87500" />\r
+ <gd name="g0" fmla="*/ ss a 100000" />\r
+ <gd name="g0w" fmla="*/ g0 w ss" />\r
+ <gd name="g1" fmla="+- ss 0 g0" />\r
+ <gd name="g2" fmla="*/ g0 g0 g1" />\r
+ <gd name="g3" fmla="*/ ss ss g1" />\r
+ <gd name="g4" fmla="*/ g3 2 1" />\r
+ <gd name="g5" fmla="+- g4 0 g2" />\r
+ <gd name="g6" fmla="+- g5 0 g0" />\r
+ <gd name="g6w" fmla="*/ g6 w ss" />\r
+ <gd name="g7" fmla="*/ g5 1 2" />\r
+ <gd name="g8" fmla="+- g7 0 g0" />\r
+ <gd name="dy1" fmla="*/ g8 hd2 ss" />\r
+\r
+ <gd name="g10h" fmla="+- vc 0 dy1" />\r
+ <gd name="g11h" fmla="+- vc dy1 0" />\r
+ <gd name="g12" fmla="*/ g0 9598 32768" />\r
+ <gd name="g12w" fmla="*/ g12 w ss" />\r
+ <gd name="g13" fmla="+- ss 0 g12" />\r
+ <gd name="q1" fmla="*/ ss ss 1" />\r
+ <gd name="q2" fmla="*/ g13 g13 1" />\r
+ <gd name="q3" fmla="+- q1 0 q2" />\r
+ <gd name="q4" fmla="sqrt q3" />\r
+ <gd name="dy4" fmla="*/ q4 hd2 ss" />\r
+ <gd name="g15h" fmla="+- vc 0 dy4" />\r
+ <gd name="g16h" fmla="+- vc dy4 0" />\r
+ <gd name="g17w" fmla="+- g6w 0 g0w" />\r
+ <gd name="g18w" fmla="*/ g17w 1 2" />\r
+\r
+\r
+ <gd name="dx2p" fmla="+- g0w g18w w" />\r
+ <gd name="dx2" fmla="*/ dx2p -1 1" />\r
+\r
+ <gd name="dy2" fmla="*/ hd2 -1 1" />\r
+\r
+ <gd name="stAng1" fmla="at2 dx2 dy2" />\r
+ <gd name="enAngp1" fmla="at2 dx2 hd2" />\r
+ <gd name="enAng1" fmla="+- enAngp1 0 21600000" />\r
+ <gd name="swAng1" fmla="+- enAng1 0 stAng1" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj" minX="0" maxX="87500">\r
+ <pos x="g0w" y="vc" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="r" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="r" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="g0w" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="g12w" t="g15h" r="g0w" b="g16h" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="r" y="b" />\r
+ </moveTo>\r
+ <arcTo wR="w" hR="hd2" stAng="cd4" swAng="cd2" />\r
+ <arcTo wR="g18w" hR="dy1" stAng="stAng1" swAng="swAng1" />\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </moon>\r
+ <nonIsoscelesTrapezoid>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 25000" />\r
+\r
+ <gd name="adj2" fmla="val 25000" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="maxAdj" fmla="*/ 50000 w ss" />\r
+\r
+ <gd name="a1" fmla="pin 0 adj1 maxAdj" />\r
+ <gd name="a2" fmla="pin 0 adj2 maxAdj" />\r
+ <gd name="x1" fmla="*/ ss a1 200000" />\r
+\r
+ <gd name="x2" fmla="*/ ss a1 100000" />\r
+\r
+ <gd name="dx3" fmla="*/ ss a2 100000" />\r
+\r
+ <gd name="x3" fmla="+- r 0 dx3" />\r
+ <gd name="x4" fmla="+/ r x3 2" />\r
+ <gd name="il" fmla="*/ wd3 a1 maxAdj" />\r
+\r
+ <gd name="adjm" fmla="max a1 a2" />\r
+ <gd name="it" fmla="*/ hd3 adjm maxAdj" />\r
+\r
+ <gd name="irt" fmla="*/ wd3 a2 maxAdj" />\r
+ <gd name="ir" fmla="+- r 0 irt" />\r
+\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj1" minX="0" maxX="maxAdj">\r
+ <pos x="x2" y="t" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj2" minX="0" maxX="maxAdj">\r
+ <pos x="x3" y="t" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="x4" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="x1" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+\r
+ <rect l="il" t="it" r="ir" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="b" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x2" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </nonIsoscelesTrapezoid>\r
+ <noSmoking>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj" fmla="val 18750" />\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a" fmla="pin 0 adj 50000" />\r
+ <gd name="dr" fmla="*/ ss a 100000" />\r
+ <gd name="iwd2" fmla="+- wd2 0 dr" />\r
+ <gd name="ihd2" fmla="+- hd2 0 dr" />\r
+ <gd name="ang" fmla="at2 w h" />\r
+ <gd name="ct" fmla="cos ihd2 ang" />\r
+ <gd name="st" fmla="sin iwd2 ang" />\r
+ <gd name="m" fmla="mod ct st 0" />\r
+ <gd name="n" fmla="*/ iwd2 ihd2 m" />\r
+ <gd name="drd2" fmla="*/ dr 1 2" />\r
+ <gd name="dang" fmla="at2 n drd2" />\r
+ <gd name="2dang" fmla="*/ dang 2 1" />\r
+ <gd name="swAng" fmla="+- -10800000 2dang 0" />\r
+ <gd name="t3" fmla="at2 w h" />\r
+ <gd name="stAng1" fmla="+- t3 0 dang" />\r
+ <gd name="stAng2" fmla="+- stAng1 0 cd2" />\r
+ <gd name="ct1" fmla="cos ihd2 stAng1" />\r
+ <gd name="st1" fmla="sin iwd2 stAng1" />\r
+ <gd name="m1" fmla="mod ct1 st1 0" />\r
+ <gd name="n1" fmla="*/ iwd2 ihd2 m1" />\r
+ <gd name="dx1" fmla="cos n1 stAng1" />\r
+ <gd name="dy1" fmla="sin n1 stAng1" />\r
+ <gd name="x1" fmla="+- hc dx1 0" />\r
+ <gd name="y1" fmla="+- vc dy1 0" />\r
+ <gd name="x2" fmla="+- hc 0 dx1" />\r
+ <gd name="y2" fmla="+- vc 0 dy1" />\r
+ <gd name="idx" fmla="cos wd2 2700000" />\r
+ <gd name="idy" fmla="sin hd2 2700000" />\r
+ <gd name="il" fmla="+- hc 0 idx" />\r
+ <gd name="ir" fmla="+- hc idx 0" />\r
+ <gd name="it" fmla="+- vc 0 idy" />\r
+ <gd name="ib" fmla="+- vc idy 0" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahPolar gdRefR="adj" minR="0" maxR="50000">\r
+ <pos x="dr" y="vc" />\r
+ </ahPolar>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="il" y="it" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="il" y="ib" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="ir" y="ib" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="ir" y="it" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="vc" />\r
+ </moveTo>\r
+ <arcTo wR="wd2" hR="hd2" stAng="cd2" swAng="cd4" />\r
+ <arcTo wR="wd2" hR="hd2" stAng="3cd4" swAng="cd4" />\r
+ <arcTo wR="wd2" hR="hd2" stAng="0" swAng="cd4" />\r
+ <arcTo wR="wd2" hR="hd2" stAng="cd4" swAng="cd4" />\r
+ <close />\r
+ <moveTo>\r
+ <pt x="x1" y="y1" />\r
+ </moveTo>\r
+ <arcTo wR="iwd2" hR="ihd2" stAng="stAng1" swAng="swAng" />\r
+ <close />\r
+ <moveTo>\r
+ <pt x="x2" y="y2" />\r
+ </moveTo>\r
+ <arcTo wR="iwd2" hR="ihd2" stAng="stAng2" swAng="swAng" />\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </noSmoking>\r
+ <notchedRightArrow>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 50000" />\r
+\r
+ <gd name="adj2" fmla="val 50000" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="maxAdj2" fmla="*/ 100000 w ss" />\r
+\r
+ <gd name="a1" fmla="pin 0 adj1 100000" />\r
+ <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
+ <gd name="dx2" fmla="*/ ss a2 100000" />\r
+ <gd name="x2" fmla="+- r 0 dx2" />\r
+ <gd name="dy1" fmla="*/ h a1 200000" />\r
+ <gd name="y1" fmla="+- vc 0 dy1" />\r
+ <gd name="y2" fmla="+- vc dy1 0" />\r
+ <gd name="x1" fmla="*/ dy1 dx2 hd2" />\r
+ <gd name="x3" fmla="+- r 0 x1" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj1" minY="0" maxY="100000">\r
+ <pos x="r" y="y1" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">\r
+ <pos x="x2" y="t" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="x2" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="x1" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x2" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="x1" t="y1" r="x3" b="y2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="y1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="vc" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="vc" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </notchedRightArrow>\r
+ <octagon>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj" fmla="val 29289" />\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a" fmla="pin 0 adj 50000" />\r
+ <gd name="x1" fmla="*/ ss a 100000" />\r
+ <gd name="x2" fmla="+- r 0 x1" />\r
+ <gd name="y2" fmla="+- b 0 x1" />\r
+ <gd name="il" fmla="*/ x1 1 2" />\r
+ <gd name="ir" fmla="+- r 0 il" />\r
+ <gd name="ib" fmla="+- b 0 il" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj" minX="0" maxX="50000">\r
+ <pos x="x1" y="t" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="r" y="x1" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="y2" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x2" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x1" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="y2" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="x1" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="x1" y="t" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="x2" y="t" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="il" t="il" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="x1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x1" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="x1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="y2" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </octagon>\r
+ <parallelogram>\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj" fmla="val 25000" />\r
+ </avLst>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="maxAdj" fmla="*/ 100000 w ss" />\r
+ <gd name="a" fmla="pin 0 adj maxAdj" />\r
+ <gd name="x1" fmla="*/ ss a 200000" />\r
+ <gd name="x2" fmla="*/ ss a 100000" />\r
+ <gd name="x6" fmla="+- r 0 x1" />\r
+ <gd name="x5" fmla="+- r 0 x2" />\r
+ <gd name="x3" fmla="*/ x5 1 2" />\r
+ <gd name="x4" fmla="+- r 0 x3" />\r
+ <gd name="il" fmla="*/ wd2 a maxAdj" />\r
+ <gd name="q1" fmla="*/ 5 a maxAdj" />\r
+ <gd name="q2" fmla="+/ 1 q1 12" />\r
+ <gd name="il" fmla="*/ q2 w 1" />\r
+ <gd name="it" fmla="*/ q2 h 1" />\r
+ <gd name="ir" fmla="+- r 0 il" />\r
+ <gd name="ib" fmla="+- b 0 it" />\r
+ <gd name="q3" fmla="*/ h hc x2" />\r
+ <gd name="y1" fmla="pin 0 q3 h" />\r
+ <gd name="y2" fmla="+- b 0 y1" />\r
+ </gdLst>\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj" minX="0" maxX="maxAdj">\r
+ <pos x="x2" y="t" />\r
+ </ahXY>\r
+ </ahLst>\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="y2" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="x4" y="t" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="x6" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x3" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="y1" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="x1" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+ <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="b" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x2" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x5" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+ </parallelogram>\r
+ <pentagon>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="hf" fmla="val 105146" />\r
+ <gd name="vf" fmla="val 110557" />\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="swd2" fmla="*/ wd2 hf 100000" />\r
+ <gd name="shd2" fmla="*/ hd2 vf 100000" />\r
+ <gd name="svc" fmla="*/ vc vf 100000" />\r
+ <gd name="dx1" fmla="cos swd2 1080000" />\r
+ <gd name="dx2" fmla="cos swd2 18360000" />\r
+ <gd name="dy1" fmla="sin shd2 1080000" />\r
+ <gd name="dy2" fmla="sin shd2 18360000" />\r
+ <gd name="x1" fmla="+- hc 0 dx1" />\r
+ <gd name="x2" fmla="+- hc 0 dx2" />\r
+ <gd name="x3" fmla="+- hc dx2 0" />\r
+ <gd name="x4" fmla="+- hc dx1 0" />\r
+ <gd name="y1" fmla="+- svc 0 dy1" />\r
+ <gd name="y2" fmla="+- svc 0 dy2" />\r
+ <gd name="it" fmla="*/ y1 dx2 dx1" />\r
+ </gdLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="x1" y="y1" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x2" y="y2" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x3" y="y2" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="x4" y="y1" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="x2" t="it" r="x3" b="y2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="x1" y="y1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="hc" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y2" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </pentagon>\r
+ <pie>\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 0" />\r
+ <gd name="adj2" fmla="val 16200000" />\r
+ </avLst>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="stAng" fmla="pin 0 adj1 21599999" />\r
+ <gd name="enAng" fmla="pin 0 adj2 21599999" />\r
+ <gd name="sw1" fmla="+- enAng 0 stAng" />\r
+ <gd name="sw2" fmla="+- sw1 21600000 0" />\r
+ <gd name="swAng" fmla="?: sw1 sw1 sw2" />\r
+ <gd name="wt1" fmla="sin wd2 stAng" />\r
+ <gd name="ht1" fmla="cos hd2 stAng" />\r
+ <gd name="dx1" fmla="cat2 wd2 ht1 wt1" />\r
+ <gd name="dy1" fmla="sat2 hd2 ht1 wt1" />\r
+ <gd name="x1" fmla="+- hc dx1 0" />\r
+ <gd name="y1" fmla="+- vc dy1 0" />\r
+ <gd name="wt2" fmla="sin wd2 enAng" />\r
+ <gd name="ht2" fmla="cos hd2 enAng" />\r
+ <gd name="dx2" fmla="cat2 wd2 ht2 wt2" />\r
+ <gd name="dy2" fmla="sat2 hd2 ht2 wt2" />\r
+ <gd name="x2" fmla="+- hc dx2 0" />\r
+ <gd name="y2" fmla="+- vc dy2 0" />\r
+ <gd name="idx" fmla="cos wd2 2700000" />\r
+ <gd name="idy" fmla="sin hd2 2700000" />\r
+ <gd name="il" fmla="+- hc 0 idx" />\r
+ <gd name="ir" fmla="+- hc idx 0" />\r
+ <gd name="it" fmla="+- vc 0 idy" />\r
+ <gd name="ib" fmla="+- vc idy 0" />\r
+ </gdLst>\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahPolar gdRefAng="adj1" minAng="0" maxAng="21599999">\r
+ <pos x="x1" y="y1" />\r
+ </ahPolar>\r
+ <ahPolar gdRefAng="adj2" minAng="0" maxAng="21599999">\r
+ <pos x="x2" y="y2" />\r
+ </ahPolar>\r
+ </ahLst>\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ </cxnLst>\r
+ <rect l="il" t="ir" r="it" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="x1" y="y1" />\r
+ </moveTo>\r
+ <arcTo wR="wd2" hR="hd2" stAng="stAng" swAng="swAng" />\r
+ <lnTo>\r
+ <pt x="hc" y="vc" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+ </pie>\r
+ <pieWedge>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="g1" fmla="cos w 13500000" />\r
+ <gd name="g2" fmla="sin h 13500000" />\r
+ <gd name="x1" fmla="+- r g1 0" />\r
+ <gd name="y1" fmla="+- b g2 0" />\r
+ </gdLst>\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ </cxnLst>\r
+ <rect l="x1" t="y1" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="b" />\r
+ </moveTo>\r
+ <arcTo wR="w" hR="h" stAng="cd2" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+ </pieWedge>\r
+ <plaque>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj" fmla="val 16667" />\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a" fmla="pin 0 adj 50000" />\r
+ <gd name="x1" fmla="*/ ss a 100000" />\r
+ <gd name="x2" fmla="+- r 0 x1" />\r
+\r
+ <gd name="y2" fmla="+- b 0 x1" />\r
+ <gd name="il" fmla="*/ x1 70711 100000" />\r
+\r
+ <gd name="ir" fmla="+- r 0 il" />\r
+ <gd name="ib" fmla="+- b 0 il" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj" minX="0" maxX="50000">\r
+ <pos x="x1" y="t" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="il" t="il" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="x1" />\r
+ </moveTo>\r
+ <arcTo wR="x1" hR="x1" stAng="cd4" swAng="-5400000" />\r
+ <lnTo>\r
+ <pt x="x2" y="t" />\r
+ </lnTo>\r
+ <arcTo wR="x1" hR="x1" stAng="cd2" swAng="-5400000" />\r
+ <lnTo>\r
+ <pt x="r" y="y2" />\r
+ </lnTo>\r
+ <arcTo wR="x1" hR="x1" stAng="3cd4" swAng="-5400000" />\r
+ <lnTo>\r
+ <pt x="x1" y="b" />\r
+ </lnTo>\r
+ <arcTo wR="x1" hR="x1" stAng="0" swAng="-5400000" />\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </plaque>\r
+ <plaqueTabs>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="md" fmla="mod w h 0" />\r
+ <gd name="dx" fmla="*/ 1 md 20" />\r
+\r
+ <gd name="y1" fmla="+- 0 b dx" />\r
+\r
+ <gd name="x1" fmla="+- 0 r dx" />\r
+\r
+ </gdLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="dx" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="y1" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="b" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="dx" y="t" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="x1" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="dx" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x1" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="t" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="dx" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="y1" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="b" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="dx" t="dx" r="x1" b="y1" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="dx" y="t" />\r
+ </lnTo>\r
+ <arcTo wR="dx" hR="dx" stAng="0" swAng="cd4" />\r
+ <close />\r
+ </path>\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="y1" />\r
+ </moveTo>\r
+ <arcTo wR="dx" hR="dx" stAng="3cd4" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path>\r
+ <moveTo>\r
+ <pt x="r" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="r" y="dx" />\r
+ </lnTo>\r
+ <arcTo wR="dx" hR="dx" stAng="cd4" swAng="cd4" />\r
+ <close />\r
+ </path>\r
+ <path>\r
+ <moveTo>\r
+ <pt x="x1" y="b" />\r
+ </moveTo>\r
+ <arcTo wR="dx" hR="dx" stAng="cd2" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </plaqueTabs>\r
+ <plus>\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj" fmla="val 25000" />\r
+ </avLst>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a" fmla="pin 0 adj 50000" />\r
+ <gd name="x1" fmla="*/ ss a 100000" />\r
+ <gd name="x2" fmla="+- r 0 x1" />\r
+ <gd name="y2" fmla="+- b 0 x1" />\r
+ <gd name="d" fmla="+- w 0 h" />\r
+ <gd name="il" fmla="?: d l x1" />\r
+ <gd name="ir" fmla="?: d r x2" />\r
+ <gd name="it" fmla="?: d x1 t" />\r
+ <gd name="ib" fmla="?: d y2 b" />\r
+ </gdLst>\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj" minX="0" maxX="50000">\r
+ <pos x="x1" y="t" />\r
+ </ahXY>\r
+ </ahLst>\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+ <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="x1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x1" y="x1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="x1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="x1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="y2" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+ </plus>\r
+ <quadArrow>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 22500" />\r
+\r
+ <gd name="adj2" fmla="val 22500" />\r
+\r
+ <gd name="adj3" fmla="val 22500" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a2" fmla="pin 0 adj2 50000" />\r
+ <gd name="maxAdj1" fmla="*/ a2 2 1" />\r
+ <gd name="a1" fmla="pin 0 adj1 maxAdj1" />\r
+ <gd name="q1" fmla="+- 100000 0 maxAdj1" />\r
+ <gd name="maxAdj3" fmla="*/ q1 1 2" />\r
+ <gd name="a3" fmla="pin 0 adj3 maxAdj3" />\r
+ <gd name="x1" fmla="*/ ss a3 100000" />\r
+ <gd name="dx2" fmla="*/ ss a2 100000" />\r
+\r
+ <gd name="x2" fmla="+- hc 0 dx2" />\r
+ <gd name="x5" fmla="+- hc dx2 0" />\r
+ <gd name="dx3" fmla="*/ ss a1 200000" />\r
+\r
+ <gd name="x3" fmla="+- hc 0 dx3" />\r
+ <gd name="x4" fmla="+- hc dx3 0" />\r
+ <gd name="x6" fmla="+- r 0 x1" />\r
+\r
+ <gd name="y2" fmla="+- vc 0 dx2" />\r
+ <gd name="y5" fmla="+- vc dx2 0" />\r
+ <gd name="y3" fmla="+- vc 0 dx3" />\r
+ <gd name="y4" fmla="+- vc dx3 0" />\r
+ <gd name="y6" fmla="+- b 0 x1" />\r
+ <gd name="il" fmla="*/ dx3 x1 dx2" />\r
+ <gd name="ir" fmla="+- r 0 il" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj1" minX="0" maxX="maxAdj1">\r
+ <pos x="x3" y="x1" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj2" minX="0" maxX="50000">\r
+ <pos x="x2" y="t" />\r
+ </ahXY>\r
+ <ahXY gdRefY="adj3" minY="0" maxY="maxAdj3">\r
+ <pos x="r" y="x1" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="il" t="y3" r="ir" b="y4" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="vc" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="x1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="x1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="hc" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x5" y="x1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="x1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x6" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x6" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="vc" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x6" y="y5" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x6" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y6" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x5" y="y6" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="hc" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y6" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y6" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y5" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </quadArrow>\r
+ <quadArrowCallout>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 18515" />\r
+\r
+ <gd name="adj2" fmla="val 18515" />\r
+\r
+ <gd name="adj3" fmla="val 18515" />\r
+\r
+ <gd name="adj4" fmla="val 48123" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a2" fmla="pin 0 adj2 50000" />\r
+ <gd name="maxAdj1" fmla="*/ a2 2 1" />\r
+\r
+ <gd name="a1" fmla="pin 0 adj1 maxAdj1" />\r
+ <gd name="maxAdj3" fmla="+- 50000 0 a2" />\r
+ <gd name="a3" fmla="pin 0 adj3 maxAdj3" />\r
+ <gd name="q2" fmla="*/ a3 2 1" />\r
+\r
+ <gd name="maxAdj4" fmla="+- 100000 0 q2" />\r
+\r
+ <gd name="a4" fmla="pin a1 adj4 maxAdj4" />\r
+ <gd name="dx2" fmla="*/ ss a2 100000" />\r
+\r
+ <gd name="dx3" fmla="*/ ss a1 200000" />\r
+\r
+ <gd name="ah" fmla="*/ ss a3 100000" />\r
+\r
+ <gd name="dx1" fmla="*/ w a4 200000" />\r
+\r
+ <gd name="dy1" fmla="*/ h a4 200000" />\r
+\r
+\r
+ <gd name="x8" fmla="+- r 0 ah" />\r
+ <gd name="x2" fmla="+- hc 0 dx1" />\r
+ <gd name="x7" fmla="+- hc dx1 0" />\r
+ <gd name="x3" fmla="+- hc 0 dx2" />\r
+ <gd name="x6" fmla="+- hc dx2 0" />\r
+ <gd name="x4" fmla="+- hc 0 dx3" />\r
+ <gd name="x5" fmla="+- hc dx3 0" />\r
+\r
+ <gd name="y8" fmla="+- b 0 ah" />\r
+ <gd name="y2" fmla="+- vc 0 dy1" />\r
+ <gd name="y7" fmla="+- vc dy1 0" />\r
+ <gd name="y3" fmla="+- vc 0 dx2" />\r
+ <gd name="y6" fmla="+- vc dx2 0" />\r
+ <gd name="y4" fmla="+- vc 0 dx3" />\r
+ <gd name="y5" fmla="+- vc dx3 0" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj1" minX="0" maxX="maxAdj1">\r
+ <pos x="x4" y="ah" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj2" minX="0" maxX="50000">\r
+ <pos x="x3" y="t" />\r
+ </ahXY>\r
+ <ahXY gdRefY="adj3" minY="0" maxY="maxAdj3">\r
+ <pos x="r" y="ah" />\r
+ </ahXY>\r
+ <ahXY gdRefY="adj4" minY="a1" maxY="maxAdj4">\r
+ <pos x="l" y="y2" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="x2" t="y2" r="x7" b="y7" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="vc" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="ah" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="ah" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="ah" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="ah" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="hc" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x6" y="ah" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x5" y="ah" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x5" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x7" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x7" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x8" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x8" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="vc" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x8" y="y6" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x8" y="y5" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x7" y="y5" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x7" y="y7" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x5" y="y7" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x5" y="y8" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x6" y="y8" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="hc" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y8" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y8" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y7" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y7" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y5" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="ah" y="y5" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="ah" y="y6" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </quadArrowCallout>\r
+ <rect>\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+ <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+ </rect>\r
+ <ribbon>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 16667" />\r
+\r
+ <gd name="adj2" fmla="val 50000" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a1" fmla="pin 0 adj1 33333" />\r
+ <gd name="a2" fmla="pin 25000 adj2 75000" />\r
+\r
+\r
+ <gd name="x10" fmla="+- r 0 wd8" />\r
+\r
+ <gd name="dx2" fmla="*/ w a2 200000" />\r
+\r
+ <gd name="x2" fmla="+- hc 0 dx2" />\r
+\r
+ <gd name="x9" fmla="+- hc dx2 0" />\r
+\r
+ <gd name="x3" fmla="+- x2 wd32 0" />\r
+ <gd name="x8" fmla="+- x9 0 wd32" />\r
+ <gd name="x5" fmla="+- x2 wd8 0" />\r
+\r
+ <gd name="x6" fmla="+- x9 0 wd8" />\r
+\r
+ <gd name="x4" fmla="+- x5 0 wd32" />\r
+ <gd name="x7" fmla="+- x6 wd32 0" />\r
+ <gd name="y1" fmla="*/ h a1 200000" />\r
+\r
+ <gd name="y2" fmla="*/ h a1 100000" />\r
+\r
+ <gd name="y4" fmla="+- b 0 y2" />\r
+\r
+ <gd name="y3" fmla="*/ y4 1 2" />\r
+\r
+ <gd name="hR" fmla="*/ h a1 400000" />\r
+\r
+ <gd name="y5" fmla="+- b 0 hR" />\r
+ <gd name="y6" fmla="+- y2 0 hR" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj1" minY="0" maxY="33333">\r
+ <pos x="hc" y="y2" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj2" minX="25000" maxX="75000">\r
+ <pos x="x2" y="t" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="y2" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="wd8" y="y3" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="x10" y="y3" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="x2" t="y2" r="x9" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path stroke="false" extrusionOk="false">\r
+\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x4" y="t" />\r
+ </lnTo>\r
+ <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="cd2" />\r
+ <lnTo>\r
+ <pt x="x3" y="y1" />\r
+ </lnTo>\r
+ <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="-10800000" />\r
+ <lnTo>\r
+ <pt x="x8" y="y2" />\r
+ </lnTo>\r
+ <arcTo wR="wd32" hR="hR" stAng="cd4" swAng="-10800000" />\r
+ <lnTo>\r
+ <pt x="x7" y="y1" />\r
+ </lnTo>\r
+ <arcTo wR="wd32" hR="hR" stAng="cd4" swAng="cd2" />\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x10" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x9" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x9" y="y5" />\r
+ </lnTo>\r
+ <arcTo wR="wd32" hR="hR" stAng="0" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="x3" y="b" />\r
+ </lnTo>\r
+ <arcTo wR="wd32" hR="hR" stAng="cd4" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="x2" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="wd8" y="y3" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path stroke="false" fill="darkenLess" extrusionOk="false">\r
+\r
+ <moveTo>\r
+ <pt x="x5" y="hR" />\r
+ </moveTo>\r
+ <arcTo wR="wd32" hR="hR" stAng="0" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="x3" y="y1" />\r
+ </lnTo>\r
+ <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="-10800000" />\r
+ <lnTo>\r
+ <pt x="x5" y="y2" />\r
+ </lnTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="x6" y="hR" />\r
+ </moveTo>\r
+ <arcTo wR="wd32" hR="hR" stAng="cd2" swAng="-5400000" />\r
+ <lnTo>\r
+ <pt x="x8" y="y1" />\r
+ </lnTo>\r
+ <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="cd2" />\r
+ <lnTo>\r
+ <pt x="x6" y="y2" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path fill="none" extrusionOk="false">\r
+\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x4" y="t" />\r
+ </lnTo>\r
+ <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="cd2" />\r
+ <lnTo>\r
+ <pt x="x3" y="y1" />\r
+ </lnTo>\r
+ <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="-10800000" />\r
+ <lnTo>\r
+ <pt x="x8" y="y2" />\r
+ </lnTo>\r
+ <arcTo wR="wd32" hR="hR" stAng="cd4" swAng="-10800000" />\r
+ <lnTo>\r
+ <pt x="x7" y="y1" />\r
+ </lnTo>\r
+ <arcTo wR="wd32" hR="hR" stAng="cd4" swAng="cd2" />\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x10" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x9" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x9" y="y5" />\r
+ </lnTo>\r
+ <arcTo wR="wd32" hR="hR" stAng="0" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="x3" y="b" />\r
+ </lnTo>\r
+ <arcTo wR="wd32" hR="hR" stAng="cd4" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="x2" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="wd8" y="y3" />\r
+ </lnTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="x5" y="hR" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x5" y="y2" />\r
+ </lnTo>\r
+ <moveTo>\r
+ <pt x="x6" y="y2" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x6" y="hR" />\r
+ </lnTo>\r
+ <moveTo>\r
+ <pt x="x2" y="y4" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y6" />\r
+ </lnTo>\r
+ <moveTo>\r
+ <pt x="x9" y="y6" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x9" y="y4" />\r
+ </lnTo>\r
+ </path>\r
+ </pathLst>\r
+\r
+ </ribbon>\r
+ <ribbon2>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 16667" />\r
+\r
+ <gd name="adj2" fmla="val 50000" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a1" fmla="pin 0 adj1 33333" />\r
+ <gd name="a2" fmla="pin 25000 adj2 75000" />\r
+\r
+\r
+ <gd name="x10" fmla="+- r 0 wd8" />\r
+\r
+ <gd name="dx2" fmla="*/ w a2 200000" />\r
+\r
+ <gd name="x2" fmla="+- hc 0 dx2" />\r
+\r
+ <gd name="x9" fmla="+- hc dx2 0" />\r
+\r
+ <gd name="x3" fmla="+- x2 wd32 0" />\r
+ <gd name="x8" fmla="+- x9 0 wd32" />\r
+ <gd name="x5" fmla="+- x2 wd8 0" />\r
+\r
+ <gd name="x6" fmla="+- x9 0 wd8" />\r
+\r
+ <gd name="x4" fmla="+- x5 0 wd32" />\r
+ <gd name="x7" fmla="+- x6 wd32 0" />\r
+ <gd name="dy1" fmla="*/ h a1 200000" />\r
+\r
+ <gd name="y1" fmla="+- b 0 dy1" />\r
+ <gd name="dy2" fmla="*/ h a1 100000" />\r
+\r
+ <gd name="y2" fmla="+- b 0 dy2" />\r
+ <gd name="y4" fmla="+- t dy2 0" />\r
+\r
+ <gd name="y3" fmla="+/ y4 b 2" />\r
+\r
+ <gd name="hR" fmla="*/ h a1 400000" />\r
+\r
+\r
+ <gd name="y6" fmla="+- b 0 hR" />\r
+ <gd name="y7" fmla="+- y1 0 hR" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj1" minY="0" maxY="33333">\r
+ <pos x="hc" y="y2" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj2" minX="25000" maxX="75000">\r
+ <pos x="x2" y="b" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="wd8" y="y3" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="y2" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="x10" y="y3" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="x2" t="t" r="x9" b="y2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path stroke="false" extrusionOk="false">\r
+\r
+ <moveTo>\r
+ <pt x="l" y="b" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x4" y="b" />\r
+ </lnTo>\r
+ <arcTo wR="wd32" hR="hR" stAng="cd4" swAng="-10800000" />\r
+ <lnTo>\r
+ <pt x="x3" y="y1" />\r
+ </lnTo>\r
+ <arcTo wR="wd32" hR="hR" stAng="cd4" swAng="cd2" />\r
+ <lnTo>\r
+ <pt x="x8" y="y2" />\r
+ </lnTo>\r
+ <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="cd2" />\r
+ <lnTo>\r
+ <pt x="x7" y="y1" />\r
+ </lnTo>\r
+ <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="-10800000" />\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x10" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x9" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x9" y="hR" />\r
+ </lnTo>\r
+ <arcTo wR="wd32" hR="hR" stAng="0" swAng="-5400000" />\r
+ <lnTo>\r
+ <pt x="x3" y="t" />\r
+ </lnTo>\r
+ <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="-5400000" />\r
+ <lnTo>\r
+ <pt x="x2" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="wd8" y="y3" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path stroke="false" fill="darkenLess" extrusionOk="false">\r
+\r
+ <moveTo>\r
+ <pt x="x5" y="y6" />\r
+ </moveTo>\r
+ <arcTo wR="wd32" hR="hR" stAng="0" swAng="-5400000" />\r
+ <lnTo>\r
+ <pt x="x3" y="y1" />\r
+ </lnTo>\r
+ <arcTo wR="wd32" hR="hR" stAng="cd4" swAng="cd2" />\r
+ <lnTo>\r
+ <pt x="x5" y="y2" />\r
+ </lnTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="x6" y="y6" />\r
+ </moveTo>\r
+ <arcTo wR="wd32" hR="hR" stAng="cd2" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="x8" y="y1" />\r
+ </lnTo>\r
+ <arcTo wR="wd32" hR="hR" stAng="cd4" swAng="-10800000" />\r
+ <lnTo>\r
+ <pt x="x6" y="y2" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path fill="none" extrusionOk="false">\r
+\r
+ <moveTo>\r
+ <pt x="l" y="b" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="wd8" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="hR" />\r
+ </lnTo>\r
+ <arcTo wR="wd32" hR="hR" stAng="cd2" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="x8" y="t" />\r
+ </lnTo>\r
+ <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="x9" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x9" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x10" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x7" y="b" />\r
+ </lnTo>\r
+ <arcTo wR="wd32" hR="hR" stAng="cd4" swAng="cd2" />\r
+ <lnTo>\r
+ <pt x="x8" y="y1" />\r
+ </lnTo>\r
+ <arcTo wR="wd32" hR="hR" stAng="cd4" swAng="-10800000" />\r
+ <lnTo>\r
+ <pt x="x3" y="y2" />\r
+ </lnTo>\r
+ <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="-10800000" />\r
+ <lnTo>\r
+ <pt x="x4" y="y1" />\r
+ </lnTo>\r
+ <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="cd2" />\r
+ <close />\r
+ <moveTo>\r
+ <pt x="x5" y="y2" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x5" y="y6" />\r
+ </lnTo>\r
+ <moveTo>\r
+ <pt x="x6" y="y6" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x6" y="y2" />\r
+ </lnTo>\r
+ <moveTo>\r
+ <pt x="x2" y="y7" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y4" />\r
+ </lnTo>\r
+ <moveTo>\r
+ <pt x="x9" y="y4" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x9" y="y7" />\r
+ </lnTo>\r
+ </path>\r
+ </pathLst>\r
+\r
+ </ribbon2>\r
+ <rightArrow>\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 50000" />\r
+ <gd name="adj2" fmla="val 50000" />\r
+ </avLst>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="maxAdj2" fmla="*/ 100000 w ss" />\r
+ <gd name="a1" fmla="pin 0 adj1 100000" />\r
+ <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
+ <gd name="dx1" fmla="*/ ss a2 100000" />\r
+ <gd name="x1" fmla="+- r 0 dx1" />\r
+ <gd name="dy1" fmla="*/ h a1 200000" />\r
+ <gd name="y1" fmla="+- vc 0 dy1" />\r
+ <gd name="y2" fmla="+- vc dy1 0" />\r
+ <gd name="dx2" fmla="*/ y1 dx1 hd2" />\r
+ <gd name="x2" fmla="+- x1 dx2 0" />\r
+ </gdLst>\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj1" minY="0" maxY="100000">\r
+ <pos x="l" y="y1" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">\r
+ <pos x="x1" y="t" />\r
+ </ahXY>\r
+ </ahLst>\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="x1" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x1" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+ <rect l="l" t="y1" r="x2" b="y2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="y1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="vc" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="y2" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+ </rightArrow>\r
+ <rightArrowCallout>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 25000" />\r
+\r
+ <gd name="adj2" fmla="val 25000" />\r
+\r
+ <gd name="adj3" fmla="val 25000" />\r
+\r
+ <gd name="adj4" fmla="val 64977" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="maxAdj2" fmla="*/ 50000 h ss" />\r
+\r
+ <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
+ <gd name="maxAdj1" fmla="*/ a2 2 1" />\r
+\r
+ <gd name="a1" fmla="pin 0 adj1 maxAdj1" />\r
+ <gd name="maxAdj3" fmla="*/ 100000 w ss" />\r
+\r
+ <gd name="a3" fmla="pin 0 adj3 maxAdj3" />\r
+ <gd name="q2" fmla="*/ a3 ss w" />\r
+\r
+ <gd name="maxAdj4" fmla="+- 100000 0 q2" />\r
+\r
+ <gd name="a4" fmla="pin 0 adj4 maxAdj4" />\r
+ <gd name="dy1" fmla="*/ ss a2 100000" />\r
+\r
+ <gd name="dy2" fmla="*/ ss a1 200000" />\r
+\r
+ <gd name="y1" fmla="+- vc 0 dy1" />\r
+ <gd name="y2" fmla="+- vc 0 dy2" />\r
+ <gd name="y3" fmla="+- vc dy2 0" />\r
+ <gd name="y4" fmla="+- vc dy1 0" />\r
+ <gd name="dx3" fmla="*/ ss a3 100000" />\r
+\r
+ <gd name="x3" fmla="+- r 0 dx3" />\r
+ <gd name="x2" fmla="*/ w a4 100000" />\r
+\r
+ <gd name="x1" fmla="*/ x2 1 2" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj1" minY="0" maxY="maxAdj1">\r
+ <pos x="x3" y="y2" />\r
+ </ahXY>\r
+ <ahXY gdRefY="adj2" minY="0" maxY="maxAdj2">\r
+ <pos x="r" y="y1" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj3" minX="0" maxX="maxAdj3">\r
+ <pos x="x3" y="t" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj4" minX="0" maxX="maxAdj4">\r
+ <pos x="x2" y="b" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="x1" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x1" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="l" t="t" r="x2" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x2" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="vc" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </rightArrowCallout>\r
+ <rightBrace>\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 8333" />\r
+ <gd name="adj2" fmla="val 50000" />\r
+ </avLst>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a2" fmla="pin 0 adj2 100000" />\r
+ <gd name="q1" fmla="+- 100000 0 a2" />\r
+ <gd name="q2" fmla="min q1 a2" />\r
+ <gd name="q3" fmla="*/ q2 1 2" />\r
+ <gd name="maxAdj1" fmla="*/ q3 h ss" />\r
+ <gd name="a1" fmla="pin 0 adj1 maxAdj1" />\r
+ <gd name="y1" fmla="*/ ss a1 100000" />\r
+ <gd name="y3" fmla="*/ h a2 100000" />\r
+ <gd name="y2" fmla="+- y3 0 y1" />\r
+ <gd name="y4" fmla="+- b 0 y1" />\r
+ <gd name="dx1" fmla="cos wd2 2700000" />\r
+ <gd name="dy1" fmla="sin y1 2700000" />\r
+ <gd name="ir" fmla="+- l dx1 0" />\r
+ <gd name="it" fmla="+- y1 0 dy1" />\r
+ <gd name="ib" fmla="+- b dy1 y1" />\r
+ </gdLst>\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj1" minY="0" maxY="maxAdj1">\r
+ <pos x="hc" y="y1" />\r
+ </ahXY>\r
+ <ahXY gdRefY="adj2" minY="0" maxY="100000">\r
+ <pos x="r" y="y3" />\r
+ </ahXY>\r
+ </ahLst>\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="cd4">\r
+ <pos x="l" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="r" y="y3" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="l" y="b" />\r
+ </cxn>\r
+ </cxnLst>\r
+ <rect l="l" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path stroke="false" extrusionOk="false">\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <arcTo wR="wd2" hR="y1" stAng="3cd4" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="hc" y="y2" />\r
+ </lnTo>\r
+ <arcTo wR="wd2" hR="y1" stAng="cd2" swAng="-5400000" />\r
+ <arcTo wR="wd2" hR="y1" stAng="3cd4" swAng="-5400000" />\r
+ <lnTo>\r
+ <pt x="hc" y="y4" />\r
+ </lnTo>\r
+ <arcTo wR="wd2" hR="y1" stAng="0" swAng="cd4" />\r
+ <close />\r
+ </path>\r
+ <path fill="none">\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <arcTo wR="wd2" hR="y1" stAng="3cd4" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="hc" y="y2" />\r
+ </lnTo>\r
+ <arcTo wR="wd2" hR="y1" stAng="cd2" swAng="-5400000" />\r
+ <arcTo wR="wd2" hR="y1" stAng="3cd4" swAng="-5400000" />\r
+ <lnTo>\r
+ <pt x="hc" y="y4" />\r
+ </lnTo>\r
+ <arcTo wR="wd2" hR="y1" stAng="0" swAng="cd4" />\r
+ </path>\r
+ </pathLst>\r
+ </rightBrace>\r
+ <rightBracket>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj" fmla="val 8333" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="maxAdj" fmla="*/ 50000 h ss" />\r
+\r
+ <gd name="a" fmla="pin 0 adj maxAdj" />\r
+ <gd name="y1" fmla="*/ ss a 100000" />\r
+\r
+ <gd name="y2" fmla="+- b 0 y1" />\r
+\r
+ <gd name="dx1" fmla="cos w 2700000" />\r
+ <gd name="dy1" fmla="sin y1 2700000" />\r
+ <gd name="ir" fmla="+- l dx1 0" />\r
+ <gd name="it" fmla="+- y1 0 dy1" />\r
+ <gd name="ib" fmla="+- b dy1 y1" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj" minY="0" maxY="maxAdj">\r
+ <pos x="r" y="y1" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="cd4">\r
+ <pos x="l" y="t" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="l" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="l" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path stroke="false" extrusionOk="false">\r
+\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <arcTo wR="w" hR="y1" stAng="3cd4" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="r" y="y2" />\r
+ </lnTo>\r
+ <arcTo wR="w" hR="y1" stAng="0" swAng="cd4" />\r
+ <close />\r
+ </path>\r
+ <path fill="none">\r
+\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <arcTo wR="w" hR="y1" stAng="3cd4" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="r" y="y2" />\r
+ </lnTo>\r
+ <arcTo wR="w" hR="y1" stAng="0" swAng="cd4" />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </rightBracket>\r
+ <round1Rect>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj" fmla="val 16667" />\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a" fmla="pin 0 adj 50000" />\r
+ <gd name="dx1" fmla="*/ ss a 100000" />\r
+ <gd name="x1" fmla="+- r 0 dx1" />\r
+ <gd name="idx" fmla="*/ dx1 29289 100000" />\r
+ <gd name="ir" fmla="+- r 0 idx" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj" minX="0" maxX="50000">\r
+ <pos x="x1" y="t" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="l" t="t" r="ir" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x1" y="t" />\r
+ </lnTo>\r
+ <arcTo wR="dx1" hR="dx1" stAng="3cd4" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </round1Rect>\r
+ <round2DiagRect>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 16667" />\r
+ <gd name="adj2" fmla="val 0" />\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a1" fmla="pin 0 adj1 50000" />\r
+ <gd name="a2" fmla="pin 0 adj2 50000" />\r
+ <gd name="x1" fmla="*/ ss a1 100000" />\r
+ <gd name="y1" fmla="+- b 0 x1" />\r
+ <gd name="a" fmla="*/ ss a2 100000" />\r
+ <gd name="x2" fmla="+- r 0 a" />\r
+ <gd name="y2" fmla="+- b 0 a" />\r
+ <gd name="dx1" fmla="*/ x1 29289 100000" />\r
+ <gd name="dx2" fmla="*/ a 29289 100000" />\r
+ <gd name="d" fmla="+- dx1 0 dx2" />\r
+ <gd name="dx" fmla="?: d dx1 dx2" />\r
+ <gd name="ir" fmla="+- r 0 dx" />\r
+ <gd name="ib" fmla="+- b 0 dx" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj1" minX="0" maxX="50000">\r
+ <pos x="x1" y="t" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj2" minX="0" maxX="50000">\r
+ <pos x="x2" y="t" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="dx" t="dx" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="x1" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x2" y="t" />\r
+ </lnTo>\r
+ <arcTo wR="a" hR="a" stAng="3cd4" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="r" y="y1" />\r
+ </lnTo>\r
+ <arcTo wR="x1" hR="x1" stAng="0" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="a" y="b" />\r
+ </lnTo>\r
+ <arcTo wR="a" hR="a" stAng="cd4" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="l" y="x1" />\r
+ </lnTo>\r
+ <arcTo wR="x1" hR="x1" stAng="cd2" swAng="cd4" />\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </round2DiagRect>\r
+ <round2SameRect>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 16667" />\r
+ <gd name="adj2" fmla="val 0" />\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a1" fmla="pin 0 adj1 50000" />\r
+ <gd name="a2" fmla="pin 0 adj2 50000" />\r
+\r
+ <gd name="tx1" fmla="*/ ss a1 100000" />\r
+ <gd name="tx2" fmla="+- r 0 tx1" />\r
+\r
+ <gd name="bx1" fmla="*/ ss a2 100000" />\r
+ <gd name="bx2" fmla="+- r 0 bx1" />\r
+ <gd name="by1" fmla="+- b 0 bx1" />\r
+ <gd name="d" fmla="+- tx1 0 bx1" />\r
+ <gd name="tdx" fmla="*/ tx1 29289 100000" />\r
+ <gd name="bdx" fmla="*/ bx1 29289 100000" />\r
+ <gd name="il" fmla="?: d tdx bdx" />\r
+ <gd name="ir" fmla="+- r 0 il" />\r
+ <gd name="ib" fmla="+- b 0 bdx" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj1" minX="0" maxX="50000">\r
+ <pos x="tx2" y="t" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj2" minX="0" maxX="50000">\r
+ <pos x="bx1" y="b" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="il" t="tdx" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="tx1" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="tx2" y="t" />\r
+ </lnTo>\r
+ <arcTo wR="tx1" hR="tx1" stAng="3cd4" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="r" y="by1" />\r
+ </lnTo>\r
+ <arcTo wR="bx1" hR="bx1" stAng="0" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="bx1" y="b" />\r
+ </lnTo>\r
+ <arcTo wR="bx1" hR="bx1" stAng="cd4" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="l" y="tx1" />\r
+ </lnTo>\r
+ <arcTo wR="tx1" hR="tx1" stAng="cd2" swAng="cd4" />\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </round2SameRect>\r
+ <roundRect>\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj" fmla="val 16667" />\r
+ </avLst>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a" fmla="pin 0 adj 50000" />\r
+ <gd name="x1" fmla="*/ ss a 100000" />\r
+ <gd name="x2" fmla="+- r 0 x1" />\r
+ <gd name="y2" fmla="+- b 0 x1" />\r
+ <gd name="il" fmla="*/ x1 29289 100000" />\r
+ <gd name="ir" fmla="+- r 0 il" />\r
+ <gd name="ib" fmla="+- b 0 il" />\r
+ </gdLst>\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj" minX="0" maxX="50000">\r
+ <pos x="x1" y="t" />\r
+ </ahXY>\r
+ </ahLst>\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+ <rect l="il" t="il" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="x1" />\r
+ </moveTo>\r
+ <arcTo wR="x1" hR="x1" stAng="cd2" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="x2" y="t" />\r
+ </lnTo>\r
+ <arcTo wR="x1" hR="x1" stAng="3cd4" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="r" y="y2" />\r
+ </lnTo>\r
+ <arcTo wR="x1" hR="x1" stAng="0" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="x1" y="b" />\r
+ </lnTo>\r
+ <arcTo wR="x1" hR="x1" stAng="cd4" swAng="cd4" />\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+ </roundRect>\r
+ <rtTriangle>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="it" fmla="*/ h 7 12" />\r
+ <gd name="ir" fmla="*/ w 7 12" />\r
+ <gd name="ib" fmla="*/ h 11 12" />\r
+ </gdLst>\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="l" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="l" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="r" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="hc" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+ <rect l="wd12" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="b" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="l" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+ </rtTriangle>\r
+ <smileyFace>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj" fmla="val 4653" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a" fmla="pin -4653 adj 4653" />\r
+ <gd name="x1" fmla="*/ w 4969 21699" />\r
+\r
+ <gd name="x2" fmla="*/ w 6215 21600" />\r
+\r
+ <gd name="x3" fmla="*/ w 13135 21600" />\r
+\r
+ <gd name="x4" fmla="*/ w 16640 21600" />\r
+\r
+ <gd name="y1" fmla="*/ h 7570 21600" />\r
+\r
+ <gd name="y3" fmla="*/ h 16515 21600" />\r
+\r
+ <gd name="dy2" fmla="*/ h a 100000" />\r
+\r
+ <gd name="y2" fmla="+- y3 0 dy2" />\r
+\r
+ <gd name="y4" fmla="+- y3 dy2 0" />\r
+\r
+ <gd name="dy3" fmla="*/ h a 50000" />\r
+\r
+ <gd name="y5" fmla="+- y4 dy3 0" />\r
+ <gd name="idx" fmla="cos wd2 2700000" />\r
+ <gd name="idy" fmla="sin hd2 2700000" />\r
+ <gd name="il" fmla="+- hc 0 idx" />\r
+ <gd name="ir" fmla="+- hc idx 0" />\r
+ <gd name="it" fmla="+- vc 0 idy" />\r
+ <gd name="ib" fmla="+- vc idy 0" />\r
+ <gd name="wR" fmla="*/ w 1125 21600" />\r
+ <gd name="hR" fmla="*/ h 1125 21600" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj" minY="-4653" maxY="4653">\r
+ <pos x="hc" y="y4" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="il" y="it" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="il" y="ib" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="ir" y="ib" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="ir" y="it" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path stroke="false" extrusionOk="false">\r
+\r
+ <moveTo>\r
+ <pt x="l" y="vc" />\r
+ </moveTo>\r
+ <arcTo wR="wd2" hR="hd2" stAng="cd2" swAng="21600000" />\r
+ <close />\r
+ </path>\r
+ <path fill="darkenLess" extrusionOk="false">\r
+\r
+ <moveTo>\r
+ <pt x="x2" y="y1" />\r
+ </moveTo>\r
+ <arcTo wR="wR" hR="hR" stAng="cd2" swAng="21600000" />\r
+ <moveTo>\r
+ <pt x="x3" y="y1" />\r
+ </moveTo>\r
+ <arcTo wR="wR" hR="hR" stAng="cd2" swAng="21600000" />\r
+ </path>\r
+ <path fill="none" extrusionOk="false">\r
+\r
+ <moveTo>\r
+ <pt x="x1" y="y2" />\r
+ </moveTo>\r
+ <quadBezTo>\r
+ <pt x="hc" y="y5" />\r
+ <pt x="x4" y="y2" />\r
+ </quadBezTo>\r
+ </path>\r
+ <path fill="none">\r
+\r
+ <moveTo>\r
+ <pt x="l" y="vc" />\r
+ </moveTo>\r
+ <arcTo wR="wd2" hR="hd2" stAng="cd2" swAng="21600000" />\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </smileyFace>\r
+ <snip1Rect>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj" fmla="val 16667" />\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a" fmla="pin 0 adj 50000" />\r
+ <gd name="dx1" fmla="*/ ss a 100000" />\r
+ <gd name="x1" fmla="+- r 0 dx1" />\r
+ <gd name="it" fmla="*/ dx1 1 2" />\r
+ <gd name="ir" fmla="+/ x1 r 2" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj" minX="0" maxX="50000">\r
+ <pos x="x1" y="t" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="l" t="it" r="ir" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x1" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="dx1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </snip1Rect>\r
+ <snip2DiagRect>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 0" />\r
+ <gd name="adj2" fmla="val 16667" />\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a1" fmla="pin 0 adj1 50000" />\r
+ <gd name="a2" fmla="pin 0 adj2 50000" />\r
+ <gd name="lx1" fmla="*/ ss a1 100000" />\r
+ <gd name="lx2" fmla="+- r 0 lx1" />\r
+ <gd name="ly1" fmla="+- b 0 lx1" />\r
+ <gd name="rx1" fmla="*/ ss a2 100000" />\r
+ <gd name="rx2" fmla="+- r 0 rx1" />\r
+ <gd name="ry1" fmla="+- b 0 rx1" />\r
+ <gd name="d" fmla="+- lx1 0 rx1" />\r
+ <gd name="dx" fmla="?: d lx1 rx1" />\r
+ <gd name="il" fmla="*/ dx 1 2" />\r
+\r
+ <gd name="ir" fmla="+- r 0 il" />\r
+ <gd name="ib" fmla="+- b 0 il" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj1" minX="0" maxX="50000">\r
+ <pos x="lx1" y="t" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj2" minX="0" maxX="50000">\r
+ <pos x="rx2" y="t" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="il" t="il" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="lx1" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="rx2" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="rx1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="ly1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="lx2" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="rx1" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="ry1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="lx1" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </snip2DiagRect>\r
+ <snip2SameRect>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 16667" />\r
+ <gd name="adj2" fmla="val 0" />\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a1" fmla="pin 0 adj1 50000" />\r
+ <gd name="a2" fmla="pin 0 adj2 50000" />\r
+ <gd name="tx1" fmla="*/ ss a1 100000" />\r
+ <gd name="tx2" fmla="+- r 0 tx1" />\r
+ <gd name="bx1" fmla="*/ ss a2 100000" />\r
+ <gd name="bx2" fmla="+- r 0 bx1" />\r
+ <gd name="by1" fmla="+- b 0 bx1" />\r
+ <gd name="d" fmla="+- tx1 0 bx1" />\r
+ <gd name="dx" fmla="?: d tx1 bx1" />\r
+ <gd name="il" fmla="*/ dx 1 2" />\r
+ <gd name="ir" fmla="+- r 0 il" />\r
+ <gd name="it" fmla="*/ tx1 1 2" />\r
+ <gd name="ib" fmla="+/ by1 b 2" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj1" minX="0" maxX="50000">\r
+ <pos x="tx2" y="t" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj2" minX="0" maxX="50000">\r
+ <pos x="bx1" y="b" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="tx1" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="tx2" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="tx1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="by1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="bx2" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="bx1" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="by1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="tx1" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </snip2SameRect>\r
+ <snipRoundRect>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 16667" />\r
+ <gd name="adj2" fmla="val 16667" />\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a1" fmla="pin 0 adj1 50000" />\r
+ <gd name="a2" fmla="pin 0 adj2 50000" />\r
+ <gd name="x1" fmla="*/ ss a1 100000" />\r
+ <gd name="dx2" fmla="*/ ss a2 100000" />\r
+ <gd name="x2" fmla="+- r 0 dx2" />\r
+ <gd name="il" fmla="*/ x1 29289 100000" />\r
+\r
+ <gd name="ir" fmla="+/ x2 r 2" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj1" minX="0" maxX="50000">\r
+ <pos x="x1" y="t" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj2" minX="0" maxX="50000">\r
+ <pos x="x2" y="t" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="il" t="il" r="ir" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="x1" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x2" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="dx2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="x1" />\r
+ </lnTo>\r
+ <arcTo wR="x1" hR="x1" stAng="cd2" swAng="cd4" />\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </snipRoundRect>\r
+ <squareTabs>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="md" fmla="mod w h 0" />\r
+ <gd name="dx" fmla="*/ 1 md 20" />\r
+\r
+ <gd name="y1" fmla="+- 0 b dx" />\r
+\r
+ <gd name="x1" fmla="+- 0 r dx" />\r
+\r
+ </gdLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="dx" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="y1" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="dx" y="dx" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="dx" y="x1" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="dx" y="t" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="x1" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="dx" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x1" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="t" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="dx" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="y1" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="x1" y="dx" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="x1" y="y1" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="dx" t="dx" r="x1" b="y1" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="dx" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="dx" y="dx" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="dx" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="y1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="dx" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="dx" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path>\r
+ <moveTo>\r
+ <pt x="x1" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="dx" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="dx" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ <path>\r
+ <moveTo>\r
+ <pt x="x1" y="y1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="r" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </squareTabs>\r
+ <star10>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj" fmla="val 42533" />\r
+ <gd name="hf" fmla="val 105146" />\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a" fmla="pin 0 adj 50000" />\r
+ <gd name="swd2" fmla="*/ wd2 hf 100000" />\r
+ <gd name="dx1" fmla="*/ swd2 95106 100000" />\r
+ <gd name="dx2" fmla="*/ swd2 58779 100000" />\r
+ <gd name="x1" fmla="+- hc 0 dx1" />\r
+ <gd name="x2" fmla="+- hc 0 dx2" />\r
+ <gd name="x3" fmla="+- hc dx2 0" />\r
+ <gd name="x4" fmla="+- hc dx1 0" />\r
+ <gd name="dy1" fmla="*/ hd2 80902 100000" />\r
+ <gd name="dy2" fmla="*/ hd2 30902 100000" />\r
+ <gd name="y1" fmla="+- vc 0 dy1" />\r
+ <gd name="y2" fmla="+- vc 0 dy2" />\r
+ <gd name="y3" fmla="+- vc dy2 0" />\r
+ <gd name="y4" fmla="+- vc dy1 0" />\r
+ <gd name="iwd2" fmla="*/ swd2 a 50000" />\r
+ <gd name="ihd2" fmla="*/ hd2 a 50000" />\r
+ <gd name="sdx1" fmla="*/ iwd2 80902 100000" />\r
+ <gd name="sdx2" fmla="*/ iwd2 30902 100000" />\r
+ <gd name="sdy1" fmla="*/ ihd2 95106 100000" />\r
+ <gd name="sdy2" fmla="*/ ihd2 58779 100000" />\r
+ <gd name="sx1" fmla="+- hc 0 iwd2" />\r
+ <gd name="sx2" fmla="+- hc 0 sdx1" />\r
+ <gd name="sx3" fmla="+- hc 0 sdx2" />\r
+ <gd name="sx4" fmla="+- hc sdx2 0" />\r
+ <gd name="sx5" fmla="+- hc sdx1 0" />\r
+ <gd name="sx6" fmla="+- hc iwd2 0" />\r
+ <gd name="sy1" fmla="+- vc 0 sdy1" />\r
+ <gd name="sy2" fmla="+- vc 0 sdy2" />\r
+ <gd name="sy3" fmla="+- vc sdy2 0" />\r
+ <gd name="sy4" fmla="+- vc sdy1 0" />\r
+ <gd name="yAdj" fmla="+- vc 0 ihd2" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj" minY="0" maxY="50000">\r
+ <pos x="hc" y="yAdj" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="x4" y="y2" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="x4" y="y3" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x3" y="y4" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x2" y="y4" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="x1" y="y3" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="x1" y="y2" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="x2" y="y1" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="x3" y="y1" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="sx2" t="sy2" r="sx5" b="sy3" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="x1" y="y2" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="sx2" y="sy2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx3" y="sy1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="hc" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx4" y="sy1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx5" y="sy2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx6" y="vc" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx5" y="sy3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx4" y="sy4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="hc" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx3" y="sy4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx2" y="sy3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx1" y="vc" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </star10>\r
+ <star12>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj" fmla="val 37500" />\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a" fmla="pin 0 adj 50000" />\r
+ <gd name="dx1" fmla="cos wd2 1800000" />\r
+\r
+ <gd name="dy1" fmla="sin hd2 3600000" />\r
+\r
+ <gd name="x1" fmla="+- hc 0 dx1" />\r
+ <gd name="x3" fmla="*/ w 3 4" />\r
+ <gd name="x4" fmla="+- hc dx1 0" />\r
+ <gd name="y1" fmla="+- vc 0 dy1" />\r
+ <gd name="y3" fmla="*/ h 3 4" />\r
+ <gd name="y4" fmla="+- vc dy1 0" />\r
+ <gd name="iwd2" fmla="*/ wd2 a 50000" />\r
+ <gd name="ihd2" fmla="*/ hd2 a 50000" />\r
+ <gd name="sdx1" fmla="cos iwd2 900000" />\r
+ <gd name="sdx2" fmla="cos iwd2 2700000" />\r
+ <gd name="sdx3" fmla="cos iwd2 4500000" />\r
+ <gd name="sdy1" fmla="sin ihd2 4500000" />\r
+ <gd name="sdy2" fmla="sin ihd2 2700000" />\r
+ <gd name="sdy3" fmla="sin ihd2 900000" />\r
+ <gd name="sx1" fmla="+- hc 0 sdx1" />\r
+ <gd name="sx2" fmla="+- hc 0 sdx2" />\r
+ <gd name="sx3" fmla="+- hc 0 sdx3" />\r
+ <gd name="sx4" fmla="+- hc sdx3 0" />\r
+ <gd name="sx5" fmla="+- hc sdx2 0" />\r
+ <gd name="sx6" fmla="+- hc sdx1 0" />\r
+ <gd name="sy1" fmla="+- vc 0 sdy1" />\r
+ <gd name="sy2" fmla="+- vc 0 sdy2" />\r
+ <gd name="sy3" fmla="+- vc 0 sdy3" />\r
+ <gd name="sy4" fmla="+- vc sdy3 0" />\r
+ <gd name="sy5" fmla="+- vc sdy2 0" />\r
+ <gd name="sy6" fmla="+- vc sdy1 0" />\r
+ <gd name="yAdj" fmla="+- vc 0 ihd2" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj" minY="0" maxY="50000">\r
+ <pos x="hc" y="yAdj" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="x4" y="hd4" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="x4" y="y3" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x3" y="y4" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="wd4" y="y4" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="x1" y="y3" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="x1" y="hd4" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="wd4" y="y1" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="x3" y="y1" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="sx2" t="sy2" r="sx5" b="sy5" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="vc" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="sx1" y="sy3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="hd4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx2" y="sy2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="wd4" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx3" y="sy1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="hc" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx4" y="sy1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx5" y="sy2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="hd4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx6" y="sy3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="vc" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx6" y="sy4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx5" y="sy5" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx4" y="sy6" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="hc" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx3" y="sy6" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="wd4" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx2" y="sy5" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx1" y="sy4" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </star12>\r
+ <star16>\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj" fmla="val 37500" />\r
+ </avLst>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a" fmla="pin 0 adj 50000" />\r
+ <gd name="dx1" fmla="*/ wd2 92388 100000" />\r
+ <gd name="dx2" fmla="*/ wd2 70711 100000" />\r
+ <gd name="dx3" fmla="*/ wd2 38268 100000" />\r
+ <gd name="dy1" fmla="*/ hd2 92388 100000" />\r
+ <gd name="dy2" fmla="*/ hd2 70711 100000" />\r
+ <gd name="dy3" fmla="*/ hd2 38268 100000" />\r
+ <gd name="x1" fmla="+- hc 0 dx1" />\r
+ <gd name="x2" fmla="+- hc 0 dx2" />\r
+ <gd name="x3" fmla="+- hc 0 dx3" />\r
+ <gd name="x4" fmla="+- hc dx3 0" />\r
+ <gd name="x5" fmla="+- hc dx2 0" />\r
+ <gd name="x6" fmla="+- hc dx1 0" />\r
+ <gd name="y1" fmla="+- vc 0 dy1" />\r
+ <gd name="y2" fmla="+- vc 0 dy2" />\r
+ <gd name="y3" fmla="+- vc 0 dy3" />\r
+ <gd name="y4" fmla="+- vc dy3 0" />\r
+ <gd name="y5" fmla="+- vc dy2 0" />\r
+ <gd name="y6" fmla="+- vc dy1 0" />\r
+ <gd name="iwd2" fmla="*/ wd2 a 50000" />\r
+ <gd name="ihd2" fmla="*/ hd2 a 50000" />\r
+ <gd name="sdx1" fmla="*/ iwd2 98079 100000" />\r
+ <gd name="sdx2" fmla="*/ iwd2 83147 100000" />\r
+ <gd name="sdx3" fmla="*/ iwd2 55557 100000" />\r
+ <gd name="sdx4" fmla="*/ iwd2 19509 100000" />\r
+ <gd name="sdy1" fmla="*/ ihd2 98079 100000" />\r
+ <gd name="sdy2" fmla="*/ ihd2 83147 100000" />\r
+ <gd name="sdy3" fmla="*/ ihd2 55557 100000" />\r
+ <gd name="sdy4" fmla="*/ ihd2 19509 100000" />\r
+ <gd name="sx1" fmla="+- hc 0 sdx1" />\r
+ <gd name="sx2" fmla="+- hc 0 sdx2" />\r
+ <gd name="sx3" fmla="+- hc 0 sdx3" />\r
+ <gd name="sx4" fmla="+- hc 0 sdx4" />\r
+ <gd name="sx5" fmla="+- hc sdx4 0" />\r
+ <gd name="sx6" fmla="+- hc sdx3 0" />\r
+ <gd name="sx7" fmla="+- hc sdx2 0" />\r
+ <gd name="sx8" fmla="+- hc sdx1 0" />\r
+ <gd name="sy1" fmla="+- vc 0 sdy1" />\r
+ <gd name="sy2" fmla="+- vc 0 sdy2" />\r
+ <gd name="sy3" fmla="+- vc 0 sdy3" />\r
+ <gd name="sy4" fmla="+- vc 0 sdy4" />\r
+ <gd name="sy5" fmla="+- vc sdy4 0" />\r
+ <gd name="sy6" fmla="+- vc sdy3 0" />\r
+ <gd name="sy7" fmla="+- vc sdy2 0" />\r
+ <gd name="sy8" fmla="+- vc sdy1 0" />\r
+ <gd name="idx" fmla="cos iwd2 2700000" />\r
+ <gd name="idy" fmla="sin ihd2 2700000" />\r
+ <gd name="il" fmla="+- hc 0 idx" />\r
+ <gd name="it" fmla="+- vc 0 idy" />\r
+ <gd name="ir" fmla="+- hc idx 0" />\r
+ <gd name="ib" fmla="+- vc idy 0" />\r
+ <gd name="yAdj" fmla="+- vc 0 ihd2" />\r
+ </gdLst>\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj" minY="0" maxY="50000">\r
+ <pos x="hc" y="yAdj" />\r
+ </ahXY>\r
+ </ahLst>\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="x5" y="y2" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="x6" y="y3" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="x6" y="y4" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="x5" y="y5" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x4" y="y6" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x3" y="y6" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="x2" y="y5" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="x1" y="y4" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="x1" y="y3" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="x2" y="y2" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="x3" y="y1" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="x4" y="y1" />\r
+ </cxn>\r
+ </cxnLst>\r
+ <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="vc" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="sx1" y="sy4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx2" y="sy3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx3" y="sy2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx4" y="sy1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="hc" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx5" y="sy1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx6" y="sy2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x5" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx7" y="sy3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x6" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx8" y="sy4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="vc" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx8" y="sy5" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x6" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx7" y="sy6" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x5" y="y5" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx6" y="sy7" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y6" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx5" y="sy8" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="hc" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx4" y="sy8" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y6" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx3" y="sy7" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y5" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx2" y="sy6" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx1" y="sy5" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+ </star16>\r
+ <star24>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj" fmla="val 37500" />\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a" fmla="pin 0 adj 50000" />\r
+ <gd name="dx1" fmla="cos wd2 900000" />\r
+ <gd name="dx2" fmla="cos wd2 1800000" />\r
+ <gd name="dx3" fmla="cos wd2 2700000" />\r
+ <gd name="dx4" fmla="val wd4" />\r
+ <gd name="dx5" fmla="cos wd2 4500000" />\r
+ <gd name="dy1" fmla="sin hd2 4500000" />\r
+ <gd name="dy2" fmla="sin hd2 3600000" />\r
+ <gd name="dy3" fmla="sin hd2 2700000" />\r
+ <gd name="dy4" fmla="val hd4" />\r
+ <gd name="dy5" fmla="sin hd2 900000" />\r
+ <gd name="x1" fmla="+- hc 0 dx1" />\r
+ <gd name="x2" fmla="+- hc 0 dx2" />\r
+ <gd name="x3" fmla="+- hc 0 dx3" />\r
+ <gd name="x4" fmla="+- hc 0 dx4" />\r
+ <gd name="x5" fmla="+- hc 0 dx5" />\r
+ <gd name="x6" fmla="+- hc dx5 0" />\r
+ <gd name="x7" fmla="+- hc dx4 0" />\r
+ <gd name="x8" fmla="+- hc dx3 0" />\r
+ <gd name="x9" fmla="+- hc dx2 0" />\r
+ <gd name="x10" fmla="+- hc dx1 0" />\r
+ <gd name="y1" fmla="+- vc 0 dy1" />\r
+ <gd name="y2" fmla="+- vc 0 dy2" />\r
+ <gd name="y3" fmla="+- vc 0 dy3" />\r
+ <gd name="y4" fmla="+- vc 0 dy4" />\r
+ <gd name="y5" fmla="+- vc 0 dy5" />\r
+ <gd name="y6" fmla="+- vc dy5 0" />\r
+ <gd name="y7" fmla="+- vc dy4 0" />\r
+ <gd name="y8" fmla="+- vc dy3 0" />\r
+ <gd name="y9" fmla="+- vc dy2 0" />\r
+ <gd name="y10" fmla="+- vc dy1 0" />\r
+ <gd name="iwd2" fmla="*/ wd2 a 50000" />\r
+ <gd name="ihd2" fmla="*/ hd2 a 50000" />\r
+ <gd name="sdx1" fmla="*/ iwd2 99144 100000" />\r
+ <gd name="sdx2" fmla="*/ iwd2 92388 100000" />\r
+ <gd name="sdx3" fmla="*/ iwd2 79335 100000" />\r
+ <gd name="sdx4" fmla="*/ iwd2 60876 100000" />\r
+ <gd name="sdx5" fmla="*/ iwd2 38268 100000" />\r
+ <gd name="sdx6" fmla="*/ iwd2 13053 100000" />\r
+ <gd name="sdy1" fmla="*/ ihd2 99144 100000" />\r
+ <gd name="sdy2" fmla="*/ ihd2 92388 100000" />\r
+ <gd name="sdy3" fmla="*/ ihd2 79335 100000" />\r
+ <gd name="sdy4" fmla="*/ ihd2 60876 100000" />\r
+ <gd name="sdy5" fmla="*/ ihd2 38268 100000" />\r
+ <gd name="sdy6" fmla="*/ ihd2 13053 100000" />\r
+ <gd name="sx1" fmla="+- hc 0 sdx1" />\r
+ <gd name="sx2" fmla="+- hc 0 sdx2" />\r
+ <gd name="sx3" fmla="+- hc 0 sdx3" />\r
+ <gd name="sx4" fmla="+- hc 0 sdx4" />\r
+ <gd name="sx5" fmla="+- hc 0 sdx5" />\r
+ <gd name="sx6" fmla="+- hc 0 sdx6" />\r
+ <gd name="sx7" fmla="+- hc sdx6 0" />\r
+ <gd name="sx8" fmla="+- hc sdx5 0" />\r
+ <gd name="sx9" fmla="+- hc sdx4 0" />\r
+ <gd name="sx10" fmla="+- hc sdx3 0" />\r
+ <gd name="sx11" fmla="+- hc sdx2 0" />\r
+ <gd name="sx12" fmla="+- hc sdx1 0" />\r
+ <gd name="sy1" fmla="+- vc 0 sdy1" />\r
+ <gd name="sy2" fmla="+- vc 0 sdy2" />\r
+ <gd name="sy3" fmla="+- vc 0 sdy3" />\r
+ <gd name="sy4" fmla="+- vc 0 sdy4" />\r
+ <gd name="sy5" fmla="+- vc 0 sdy5" />\r
+ <gd name="sy6" fmla="+- vc 0 sdy6" />\r
+ <gd name="sy7" fmla="+- vc sdy6 0" />\r
+ <gd name="sy8" fmla="+- vc sdy5 0" />\r
+ <gd name="sy9" fmla="+- vc sdy4 0" />\r
+ <gd name="sy10" fmla="+- vc sdy3 0" />\r
+ <gd name="sy11" fmla="+- vc sdy2 0" />\r
+ <gd name="sy12" fmla="+- vc sdy1 0" />\r
+ <gd name="idx" fmla="cos iwd2 2700000" />\r
+ <gd name="idy" fmla="sin ihd2 2700000" />\r
+ <gd name="il" fmla="+- hc 0 idx" />\r
+ <gd name="it" fmla="+- vc 0 idy" />\r
+ <gd name="ir" fmla="+- hc idx 0" />\r
+ <gd name="ib" fmla="+- vc idy 0" />\r
+ <gd name="yAdj" fmla="+- vc 0 ihd2" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj" minY="0" maxY="ssd2">\r
+ <pos x="hc" y="yAdj" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="vc" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="sx1" y="sy6" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y5" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx2" y="sy5" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx3" y="sy4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx4" y="sy3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx5" y="sy2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x5" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx6" y="sy1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="hc" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx7" y="sy1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x6" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx8" y="sy2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x7" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx9" y="sy3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x8" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx10" y="sy4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x9" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx11" y="sy5" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x10" y="y5" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx12" y="sy6" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="vc" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx12" y="sy7" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x10" y="y6" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx11" y="sy8" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x9" y="y7" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx10" y="sy9" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x8" y="y8" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx9" y="sy10" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x7" y="y9" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx8" y="sy11" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x6" y="y10" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx7" y="sy12" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="hc" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx6" y="sy12" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x5" y="y10" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx5" y="sy11" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y9" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx4" y="sy10" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y8" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx3" y="sy9" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y7" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx2" y="sy8" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y6" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx1" y="sy7" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </star24>\r
+ <star32>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj" fmla="val 37500" />\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a" fmla="pin 0 adj 50000" />\r
+ <gd name="dx1" fmla="*/ wd2 98079 100000" />\r
+ <gd name="dx2" fmla="*/ wd2 92388 100000" />\r
+ <gd name="dx3" fmla="*/ wd2 83147 100000" />\r
+ <gd name="dx4" fmla="cos wd2 2700000" />\r
+ <gd name="dx5" fmla="*/ wd2 55557 100000" />\r
+ <gd name="dx6" fmla="*/ wd2 38268 100000" />\r
+ <gd name="dx7" fmla="*/ wd2 19509 100000" />\r
+ <gd name="dy1" fmla="*/ hd2 98079 100000" />\r
+ <gd name="dy2" fmla="*/ hd2 92388 100000" />\r
+ <gd name="dy3" fmla="*/ hd2 83147 100000" />\r
+ <gd name="dy4" fmla="sin hd2 2700000" />\r
+ <gd name="dy5" fmla="*/ hd2 55557 100000" />\r
+ <gd name="dy6" fmla="*/ hd2 38268 100000" />\r
+ <gd name="dy7" fmla="*/ hd2 19509 100000" />\r
+ <gd name="x1" fmla="+- hc 0 dx1" />\r
+ <gd name="x2" fmla="+- hc 0 dx2" />\r
+ <gd name="x3" fmla="+- hc 0 dx3" />\r
+ <gd name="x4" fmla="+- hc 0 dx4" />\r
+ <gd name="x5" fmla="+- hc 0 dx5" />\r
+ <gd name="x6" fmla="+- hc 0 dx6" />\r
+ <gd name="x7" fmla="+- hc 0 dx7" />\r
+ <gd name="x8" fmla="+- hc dx7 0" />\r
+ <gd name="x9" fmla="+- hc dx6 0" />\r
+ <gd name="x10" fmla="+- hc dx5 0" />\r
+ <gd name="x11" fmla="+- hc dx4 0" />\r
+ <gd name="x12" fmla="+- hc dx3 0" />\r
+ <gd name="x13" fmla="+- hc dx2 0" />\r
+ <gd name="x14" fmla="+- hc dx1 0" />\r
+ <gd name="y1" fmla="+- vc 0 dy1" />\r
+ <gd name="y2" fmla="+- vc 0 dy2" />\r
+ <gd name="y3" fmla="+- vc 0 dy3" />\r
+ <gd name="y4" fmla="+- vc 0 dy4" />\r
+ <gd name="y5" fmla="+- vc 0 dy5" />\r
+ <gd name="y6" fmla="+- vc 0 dy6" />\r
+ <gd name="y7" fmla="+- vc 0 dy7" />\r
+ <gd name="y8" fmla="+- vc dy7 0" />\r
+ <gd name="y9" fmla="+- vc dy6 0" />\r
+ <gd name="y10" fmla="+- vc dy5 0" />\r
+ <gd name="y11" fmla="+- vc dy4 0" />\r
+ <gd name="y12" fmla="+- vc dy3 0" />\r
+ <gd name="y13" fmla="+- vc dy2 0" />\r
+ <gd name="y14" fmla="+- vc dy1 0" />\r
+ <gd name="iwd2" fmla="*/ wd2 a 50000" />\r
+ <gd name="ihd2" fmla="*/ hd2 a 50000" />\r
+ <gd name="sdx1" fmla="*/ iwd2 99518 100000" />\r
+ <gd name="sdx2" fmla="*/ iwd2 95694 100000" />\r
+ <gd name="sdx3" fmla="*/ iwd2 88192 100000" />\r
+ <gd name="sdx4" fmla="*/ iwd2 77301 100000" />\r
+ <gd name="sdx5" fmla="*/ iwd2 63439 100000" />\r
+ <gd name="sdx6" fmla="*/ iwd2 47140 100000" />\r
+ <gd name="sdx7" fmla="*/ iwd2 29028 100000" />\r
+ <gd name="sdx8" fmla="*/ iwd2 9802 100000" />\r
+ <gd name="sdy1" fmla="*/ ihd2 99518 100000" />\r
+ <gd name="sdy2" fmla="*/ ihd2 95694 100000" />\r
+ <gd name="sdy3" fmla="*/ ihd2 88192 100000" />\r
+ <gd name="sdy4" fmla="*/ ihd2 77301 100000" />\r
+ <gd name="sdy5" fmla="*/ ihd2 63439 100000" />\r
+ <gd name="sdy6" fmla="*/ ihd2 47140 100000" />\r
+ <gd name="sdy7" fmla="*/ ihd2 29028 100000" />\r
+ <gd name="sdy8" fmla="*/ ihd2 9802 100000" />\r
+ <gd name="sx1" fmla="+- hc 0 sdx1" />\r
+ <gd name="sx2" fmla="+- hc 0 sdx2" />\r
+ <gd name="sx3" fmla="+- hc 0 sdx3" />\r
+ <gd name="sx4" fmla="+- hc 0 sdx4" />\r
+ <gd name="sx5" fmla="+- hc 0 sdx5" />\r
+ <gd name="sx6" fmla="+- hc 0 sdx6" />\r
+ <gd name="sx7" fmla="+- hc 0 sdx7" />\r
+ <gd name="sx8" fmla="+- hc 0 sdx8" />\r
+ <gd name="sx9" fmla="+- hc sdx8 0" />\r
+ <gd name="sx10" fmla="+- hc sdx7 0" />\r
+ <gd name="sx11" fmla="+- hc sdx6 0" />\r
+ <gd name="sx12" fmla="+- hc sdx5 0" />\r
+ <gd name="sx13" fmla="+- hc sdx4 0" />\r
+ <gd name="sx14" fmla="+- hc sdx3 0" />\r
+ <gd name="sx15" fmla="+- hc sdx2 0" />\r
+ <gd name="sx16" fmla="+- hc sdx1 0" />\r
+ <gd name="sy1" fmla="+- vc 0 sdy1" />\r
+ <gd name="sy2" fmla="+- vc 0 sdy2" />\r
+ <gd name="sy3" fmla="+- vc 0 sdy3" />\r
+ <gd name="sy4" fmla="+- vc 0 sdy4" />\r
+ <gd name="sy5" fmla="+- vc 0 sdy5" />\r
+ <gd name="sy6" fmla="+- vc 0 sdy6" />\r
+ <gd name="sy7" fmla="+- vc 0 sdy7" />\r
+ <gd name="sy8" fmla="+- vc 0 sdy8" />\r
+ <gd name="sy9" fmla="+- vc sdy8 0" />\r
+ <gd name="sy10" fmla="+- vc sdy7 0" />\r
+ <gd name="sy11" fmla="+- vc sdy6 0" />\r
+ <gd name="sy12" fmla="+- vc sdy5 0" />\r
+ <gd name="sy13" fmla="+- vc sdy4 0" />\r
+ <gd name="sy14" fmla="+- vc sdy3 0" />\r
+ <gd name="sy15" fmla="+- vc sdy2 0" />\r
+ <gd name="sy16" fmla="+- vc sdy1 0" />\r
+ <gd name="idx" fmla="cos iwd2 2700000" />\r
+ <gd name="idy" fmla="sin ihd2 2700000" />\r
+ <gd name="il" fmla="+- hc 0 idx" />\r
+ <gd name="it" fmla="+- vc 0 idy" />\r
+ <gd name="ir" fmla="+- hc idx 0" />\r
+ <gd name="ib" fmla="+- vc idy 0" />\r
+ <gd name="yAdj" fmla="+- vc 0 ihd2" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj" minY="0" maxY="ssd2">\r
+ <pos x="hc" y="yAdj" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="vc" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="sx1" y="sy8" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y7" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx2" y="sy7" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y6" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx3" y="sy6" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y5" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx4" y="sy5" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx5" y="sy4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x5" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx6" y="sy3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x6" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx7" y="sy2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x7" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx8" y="sy1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="hc" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx9" y="sy1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x8" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx10" y="sy2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x9" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx11" y="sy3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x10" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx12" y="sy4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x11" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx13" y="sy5" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x12" y="y5" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx14" y="sy6" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x13" y="y6" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx15" y="sy7" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x14" y="y7" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx16" y="sy8" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="vc" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx16" y="sy9" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x14" y="y8" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx15" y="sy10" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x13" y="y9" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx14" y="sy11" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x12" y="y10" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx13" y="sy12" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x11" y="y11" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx12" y="sy13" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x10" y="y12" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx11" y="sy14" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x9" y="y13" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx10" y="sy15" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x8" y="y14" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx9" y="sy16" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="hc" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx8" y="sy16" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x7" y="y14" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx7" y="sy15" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x6" y="y13" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx6" y="sy14" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x5" y="y12" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx5" y="sy13" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y11" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx4" y="sy12" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y10" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx3" y="sy11" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y9" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx2" y="sy10" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y8" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx1" y="sy9" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </star32>\r
+ <star4>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj" fmla="val 12500" />\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a" fmla="pin 0 adj 50000" />\r
+ <gd name="iwd2" fmla="*/ wd2 a 50000" />\r
+ <gd name="ihd2" fmla="*/ hd2 a 50000" />\r
+ <gd name="sdx" fmla="cos iwd2 2700000" />\r
+ <gd name="sdy" fmla="sin ihd2 2700000" />\r
+ <gd name="sx1" fmla="+- hc 0 sdx" />\r
+ <gd name="sx2" fmla="+- hc sdx 0" />\r
+ <gd name="sy1" fmla="+- vc 0 sdy" />\r
+ <gd name="sy2" fmla="+- vc sdy 0" />\r
+ <gd name="yAdj" fmla="+- vc 0 ihd2" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj" minY="0" maxY="50000">\r
+ <pos x="hc" y="yAdj" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="sx1" t="sy1" r="sx2" b="sy2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="vc" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="sx1" y="sy1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="hc" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx2" y="sy1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="vc" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx2" y="sy2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="hc" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx1" y="sy2" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </star4>\r
+ <star5>\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj" fmla="val 19098" />\r
+ <gd name="hf" fmla="val 105146" />\r
+ <gd name="vf" fmla="val 110557" />\r
+ </avLst>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a" fmla="pin 0 adj 50000" />\r
+ <gd name="swd2" fmla="*/ wd2 hf 100000" />\r
+ <gd name="shd2" fmla="*/ hd2 vf 100000" />\r
+ <gd name="svc" fmla="*/ vc vf 100000" />\r
+ <gd name="dx1" fmla="cos swd2 1080000" />\r
+ <gd name="dx2" fmla="cos swd2 18360000" />\r
+ <gd name="dy1" fmla="sin shd2 1080000" />\r
+ <gd name="dy2" fmla="sin shd2 18360000" />\r
+ <gd name="x1" fmla="+- hc 0 dx1" />\r
+ <gd name="x2" fmla="+- hc 0 dx2" />\r
+ <gd name="x3" fmla="+- hc dx2 0" />\r
+ <gd name="x4" fmla="+- hc dx1 0" />\r
+ <gd name="y1" fmla="+- svc 0 dy1" />\r
+ <gd name="y2" fmla="+- svc 0 dy2" />\r
+ <gd name="iwd2" fmla="*/ swd2 a 50000" />\r
+ <gd name="ihd2" fmla="*/ shd2 a 50000" />\r
+ <gd name="sdx1" fmla="cos iwd2 20520000" />\r
+ <gd name="sdx2" fmla="cos iwd2 3240000" />\r
+ <gd name="sdy1" fmla="sin ihd2 3240000" />\r
+ <gd name="sdy2" fmla="sin ihd2 20520000" />\r
+ <gd name="sx1" fmla="+- hc 0 sdx1" />\r
+ <gd name="sx2" fmla="+- hc 0 sdx2" />\r
+ <gd name="sx3" fmla="+- hc sdx2 0" />\r
+ <gd name="sx4" fmla="+- hc sdx1 0" />\r
+ <gd name="sy1" fmla="+- svc 0 sdy1" />\r
+ <gd name="sy2" fmla="+- svc 0 sdy2" />\r
+ <gd name="sy3" fmla="+- svc ihd2 0" />\r
+ <gd name="yAdj" fmla="+- svc 0 ihd2" />\r
+ </gdLst>\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj" minY="0" maxY="50000">\r
+ <pos x="hc" y="yAdj" />\r
+ </ahXY>\r
+ </ahLst>\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="x1" y="y1" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x2" y="y2" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x3" y="y2" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="x4" y="y1" />\r
+ </cxn>\r
+ </cxnLst>\r
+ <rect l="sx1" t="sy1" r="sx4" b="sy3" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="x1" y="y1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="sx2" y="sy1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="hc" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx3" y="sy1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx4" y="sy2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="hc" y="sy3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx1" y="sy2" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+ </star5>\r
+ <star6>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj" fmla="val 28868" />\r
+ <gd name="hf" fmla="val 115470" />\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a" fmla="pin 0 adj 50000" />\r
+ <gd name="swd2" fmla="*/ wd2 hf 100000" />\r
+ <gd name="dx1" fmla="cos swd2 1800000" />\r
+ <gd name="x1" fmla="+- hc 0 dx1" />\r
+ <gd name="x2" fmla="+- hc dx1 0" />\r
+ <gd name="y2" fmla="+- vc hd4 0" />\r
+ <gd name="iwd2" fmla="*/ swd2 a 50000" />\r
+ <gd name="ihd2" fmla="*/ hd2 a 50000" />\r
+ <gd name="sdx2" fmla="*/ iwd2 1 2" />\r
+ <gd name="sx1" fmla="+- hc 0 iwd2" />\r
+ <gd name="sx2" fmla="+- hc 0 sdx2" />\r
+ <gd name="sx3" fmla="+- hc sdx2 0" />\r
+ <gd name="sx4" fmla="+- hc iwd2 0" />\r
+ <gd name="sdy1" fmla="sin ihd2 3600000" />\r
+ <gd name="sy1" fmla="+- vc 0 sdy1" />\r
+ <gd name="sy2" fmla="+- vc sdy1 0" />\r
+ <gd name="yAdj" fmla="+- vc 0 ihd2" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj" minY="0" maxY="50000">\r
+ <pos x="hc" y="yAdj" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="x2" y="hd4" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="x2" y="y2" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="x1" y="y2" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="x1" y="hd4" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="sx1" t="sy1" r="sx4" b="sy2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="x1" y="hd4" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="sx2" y="sy1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="hc" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx3" y="sy1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="hd4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx4" y="vc" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx3" y="sy2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="hc" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx2" y="sy2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx1" y="vc" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </star6>\r
+ <star7>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj" fmla="val 34601" />\r
+ <gd name="hf" fmla="val 102572" />\r
+ <gd name="vf" fmla="val 105210" />\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a" fmla="pin 0 adj 50000" />\r
+ <gd name="swd2" fmla="*/ wd2 hf 100000" />\r
+ <gd name="shd2" fmla="*/ hd2 vf 100000" />\r
+ <gd name="svc" fmla="*/ vc vf 100000" />\r
+ <gd name="dx1" fmla="*/ swd2 97493 100000" />\r
+ <gd name="dx2" fmla="*/ swd2 78183 100000" />\r
+ <gd name="dx3" fmla="*/ swd2 43388 100000" />\r
+ <gd name="dy1" fmla="*/ shd2 62349 100000" />\r
+ <gd name="dy2" fmla="*/ shd2 22252 100000" />\r
+ <gd name="dy3" fmla="*/ shd2 90097 100000" />\r
+ <gd name="x1" fmla="+- hc 0 dx1" />\r
+ <gd name="x2" fmla="+- hc 0 dx2" />\r
+ <gd name="x3" fmla="+- hc 0 dx3" />\r
+ <gd name="x4" fmla="+- hc dx3 0" />\r
+ <gd name="x5" fmla="+- hc dx2 0" />\r
+ <gd name="x6" fmla="+- hc dx1 0" />\r
+ <gd name="y1" fmla="+- svc 0 dy1" />\r
+ <gd name="y2" fmla="+- svc dy2 0" />\r
+ <gd name="y3" fmla="+- svc dy3 0" />\r
+ <gd name="iwd2" fmla="*/ swd2 a 50000" />\r
+ <gd name="ihd2" fmla="*/ shd2 a 50000" />\r
+ <gd name="sdx1" fmla="*/ iwd2 97493 100000" />\r
+ <gd name="sdx2" fmla="*/ iwd2 78183 100000" />\r
+ <gd name="sdx3" fmla="*/ iwd2 43388 100000" />\r
+ <gd name="sx1" fmla="+- hc 0 sdx1" />\r
+ <gd name="sx2" fmla="+- hc 0 sdx2" />\r
+ <gd name="sx3" fmla="+- hc 0 sdx3" />\r
+ <gd name="sx4" fmla="+- hc sdx3 0" />\r
+ <gd name="sx5" fmla="+- hc sdx2 0" />\r
+ <gd name="sx6" fmla="+- hc sdx1 0" />\r
+ <gd name="sdy1" fmla="*/ ihd2 90097 100000" />\r
+ <gd name="sdy2" fmla="*/ ihd2 22252 100000" />\r
+ <gd name="sdy3" fmla="*/ ihd2 62349 100000" />\r
+ <gd name="sy1" fmla="+- svc 0 sdy1" />\r
+ <gd name="sy2" fmla="+- svc 0 sdy2" />\r
+ <gd name="sy3" fmla="+- svc sdy3 0" />\r
+ <gd name="sy4" fmla="+- svc ihd2 0" />\r
+ <gd name="yAdj" fmla="+- svc 0 ihd2" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj" minY="0" maxY="50000">\r
+ <pos x="hc" y="yAdj" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="x5" y="y1" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="x6" y="y2" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x4" y="y3" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x3" y="y3" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="x1" y="y2" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="x2" y="y1" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="sx2" t="sy1" r="sx5" b="sy3" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="x1" y="y2" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="sx1" y="sy2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx3" y="sy1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="hc" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx4" y="sy1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x5" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx6" y="sy2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x6" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx5" y="sy3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="hc" y="sy4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx2" y="sy3" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </star7>\r
+ <star8>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj" fmla="val 37500" />\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a" fmla="pin 0 adj 50000" />\r
+ <gd name="dx1" fmla="cos wd2 2700000" />\r
+ <gd name="x1" fmla="+- hc 0 dx1" />\r
+ <gd name="x2" fmla="+- hc dx1 0" />\r
+ <gd name="dy1" fmla="sin hd2 2700000" />\r
+ <gd name="y1" fmla="+- vc 0 dy1" />\r
+ <gd name="y2" fmla="+- vc dy1 0" />\r
+ <gd name="iwd2" fmla="*/ wd2 a 50000" />\r
+ <gd name="ihd2" fmla="*/ hd2 a 50000" />\r
+ <gd name="sdx1" fmla="*/ iwd2 92388 100000" />\r
+ <gd name="sdx2" fmla="*/ iwd2 38268 100000" />\r
+ <gd name="sdy1" fmla="*/ ihd2 92388 100000" />\r
+ <gd name="sdy2" fmla="*/ ihd2 38268 100000" />\r
+ <gd name="sx1" fmla="+- hc 0 sdx1" />\r
+ <gd name="sx2" fmla="+- hc 0 sdx2" />\r
+ <gd name="sx3" fmla="+- hc sdx2 0" />\r
+ <gd name="sx4" fmla="+- hc sdx1 0" />\r
+ <gd name="sy1" fmla="+- vc 0 sdy1" />\r
+ <gd name="sy2" fmla="+- vc 0 sdy2" />\r
+ <gd name="sy3" fmla="+- vc sdy2 0" />\r
+ <gd name="sy4" fmla="+- vc sdy1 0" />\r
+ <gd name="yAdj" fmla="+- vc 0 ihd2" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj" minY="0" maxY="50000">\r
+ <pos x="hc" y="yAdj" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x2" y="y2" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x1" y="y2" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="x1" y="y1" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="x2" y="y1" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="sx1" t="sy1" r="sx4" b="sy4" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="vc" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="sx1" y="sy2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx2" y="sy1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="hc" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx3" y="sy1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx4" y="sy2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="vc" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx4" y="sy3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx3" y="sy4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="hc" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx2" y="sy4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="sx1" y="sy3" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </star8>\r
+ <straightConnector1>\r
+ <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path fill="none">\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ </path>\r
+ </pathLst>\r
+ </straightConnector1>\r
+ <stripedRightArrow>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 50000" />\r
+\r
+ <gd name="adj2" fmla="val 50000" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="maxAdj2" fmla="*/ 84375 w ss" />\r
+\r
+ <gd name="a1" fmla="pin 0 adj1 100000" />\r
+ <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
+ <gd name="x4" fmla="*/ ss 5 32" />\r
+ <gd name="dx5" fmla="*/ ss a2 100000" />\r
+ <gd name="x5" fmla="+- r 0 dx5" />\r
+ <gd name="dy1" fmla="*/ h a1 200000" />\r
+ <gd name="y1" fmla="+- vc 0 dy1" />\r
+ <gd name="y2" fmla="+- vc dy1 0" />\r
+ <gd name="dx6" fmla="*/ dy1 dx5 hd2" />\r
+ <gd name="x6" fmla="+- r 0 dx6" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj1" minY="0" maxY="100000">\r
+ <pos x="l" y="y1" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">\r
+ <pos x="x5" y="t" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="x5" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x5" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="x4" t="y1" r="x6" b="y2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="y1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="ssd32" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="ssd32" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="y2" />\r
+ </lnTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="ssd16" y="y1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="ssd8" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="ssd8" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="ssd16" y="y2" />\r
+ </lnTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="x4" y="y1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x5" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x5" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="vc" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x5" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x5" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y2" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </stripedRightArrow>\r
+ <sun>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj" fmla="val 25000" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a" fmla="pin 12500 adj 46875" />\r
+ <gd name="g0" fmla="+- 50000 0 a" />\r
+ <gd name="g1" fmla="*/ g0 30274 32768" />\r
+ <gd name="g2" fmla="*/ g0 12540 32768" />\r
+ <gd name="g3" fmla="+- g1 50000 0" />\r
+ <gd name="g4" fmla="+- g2 50000 0" />\r
+ <gd name="g5" fmla="+- 50000 0 g1" />\r
+ <gd name="g6" fmla="+- 50000 0 g2" />\r
+ <gd name="g7" fmla="*/ g0 23170 32768" />\r
+ <gd name="g8" fmla="+- 50000 g7 0" />\r
+ <gd name="g9" fmla="+- 50000 0 g7" />\r
+ <gd name="g10" fmla="*/ g5 3 4" />\r
+ <gd name="g11" fmla="*/ g6 3 4" />\r
+ <gd name="g12" fmla="+- g10 3662 0" />\r
+ <gd name="g13" fmla="+- g11 3662 0" />\r
+ <gd name="g14" fmla="+- g11 12500 0" />\r
+ <gd name="g15" fmla="+- 100000 0 g10" />\r
+ <gd name="g16" fmla="+- 100000 0 g12" />\r
+ <gd name="g17" fmla="+- 100000 0 g13" />\r
+ <gd name="g18" fmla="+- 100000 0 g14" />\r
+ <gd name="ox1" fmla="*/ w 18436 21600" />\r
+ <gd name="oy1" fmla="*/ h 3163 21600" />\r
+ <gd name="ox2" fmla="*/ w 3163 21600" />\r
+ <gd name="oy2" fmla="*/ h 18436 21600" />\r
+ <gd name="x8" fmla="*/ w g8 100000" />\r
+ <gd name="x9" fmla="*/ w g9 100000" />\r
+ <gd name="x10" fmla="*/ w g10 100000" />\r
+ <gd name="x12" fmla="*/ w g12 100000" />\r
+ <gd name="x13" fmla="*/ w g13 100000" />\r
+ <gd name="x14" fmla="*/ w g14 100000" />\r
+ <gd name="x15" fmla="*/ w g15 100000" />\r
+ <gd name="x16" fmla="*/ w g16 100000" />\r
+ <gd name="x17" fmla="*/ w g17 100000" />\r
+ <gd name="x18" fmla="*/ w g18 100000" />\r
+ <gd name="x19" fmla="*/ w a 100000" />\r
+ <gd name="wR" fmla="*/ w g0 100000" />\r
+ <gd name="hR" fmla="*/ h g0 100000" />\r
+ <gd name="y8" fmla="*/ h g8 100000" />\r
+ <gd name="y9" fmla="*/ h g9 100000" />\r
+ <gd name="y10" fmla="*/ h g10 100000" />\r
+ <gd name="y12" fmla="*/ h g12 100000" />\r
+ <gd name="y13" fmla="*/ h g13 100000" />\r
+ <gd name="y14" fmla="*/ h g14 100000" />\r
+ <gd name="y15" fmla="*/ h g15 100000" />\r
+ <gd name="y16" fmla="*/ h g16 100000" />\r
+ <gd name="y17" fmla="*/ h g17 100000" />\r
+ <gd name="y18" fmla="*/ h g18 100000" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj" minX="12500" maxX="46875">\r
+ <pos x="x19" y="vc" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="x9" t="y9" r="x8" b="y8" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="r" y="vc" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x15" y="y18" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x15" y="y14" />\r
+ </lnTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="ox1" y="oy1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x16" y="y13" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x17" y="y12" />\r
+ </lnTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="hc" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x18" y="y10" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x14" y="y10" />\r
+ </lnTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="ox2" y="oy1" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x13" y="y12" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x12" y="y13" />\r
+ </lnTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="l" y="vc" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x10" y="y14" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x10" y="y18" />\r
+ </lnTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="ox2" y="oy2" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x12" y="y17" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x13" y="y16" />\r
+ </lnTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="hc" y="b" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x14" y="y15" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x18" y="y15" />\r
+ </lnTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="ox1" y="oy2" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x17" y="y16" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x16" y="y17" />\r
+ </lnTo>\r
+ <close />\r
+ <moveTo>\r
+ <pt x="x19" y="vc" />\r
+ </moveTo>\r
+ <arcTo wR="wR" hR="hR" stAng="cd2" swAng="21600000" />\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </sun>\r
+ <swooshArrow>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 25000" />\r
+\r
+ <gd name="adj2" fmla="val 16667" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+\r
+\r
+ <gd name="a1" fmla="pin 1 adj1 75000" />\r
+\r
+ <gd name="maxAdj2" fmla="*/ 70000 w ss" />\r
+\r
+ <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
+ <gd name="ad1" fmla="*/ h a1 100000" />\r
+ <gd name="ad2" fmla="*/ ss a2 100000" />\r
+\r
+ <gd name="xB" fmla="+- r 0 ad2" />\r
+ <gd name="yB" fmla="+- t ssd8 0" />\r
+\r
+ <gd name="alfa" fmla="*/ cd4 1 14" />\r
+\r
+ <gd name="dx0" fmla="tan ssd8 alfa" />\r
+ <gd name="xC" fmla="+- xB 0 dx0" />\r
+\r
+ <gd name="dx1" fmla="tan ad1 alfa" />\r
+\r
+ <gd name="yF" fmla="+- yB ad1 0" />\r
+ <gd name="xF" fmla="+- xB dx1 0" />\r
+\r
+ <gd name="xE" fmla="+- xF dx0 0" />\r
+ <gd name="yE" fmla="+- yF ssd8 0" />\r
+\r
+ <gd name="dy2" fmla="+- yE 0 t" />\r
+ <gd name="dy22" fmla="*/ dy2 1 2" />\r
+ <gd name="dy3" fmla="*/ h 1 20" />\r
+ <gd name="yD" fmla="+- t dy22 dy3" />\r
+\r
+\r
+ <gd name="dy4" fmla="*/ hd6 1 1" />\r
+ <gd name="yP1" fmla="+- hd6 dy4 0" />\r
+ <gd name="xP1" fmla="val wd6" />\r
+\r
+\r
+ <gd name="dy5" fmla="*/ hd6 1 2" />\r
+ <gd name="yP2" fmla="+- yF dy5 0" />\r
+ <gd name="xP2" fmla="val wd4" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj1" minY="1" maxY="75000">\r
+ <pos x="xF" y="yF" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">\r
+ <pos x="xB" y="yB" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="cd4">\r
+ <pos x="l" y="b" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="xC" y="t" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="yD" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="xE" y="yE" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="b" />\r
+ </moveTo>\r
+ <quadBezTo>\r
+ <pt x="xP1" y="yP1" />\r
+ <pt x="xB" y="yB" />\r
+ </quadBezTo>\r
+ <lnTo>\r
+ <pt x="xC" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="yD" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xE" y="yE" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xF" y="yF" />\r
+ </lnTo>\r
+ <quadBezTo>\r
+ <pt x="xP2" y="yP2" />\r
+ <pt x="l" y="b" />\r
+ </quadBezTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </swooshArrow>\r
+ <teardrop>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj" fmla="val 100000" />\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a" fmla="pin 0 adj 200000" />\r
+ <gd name="r2" fmla="sqrt 2" />\r
+ <gd name="tw" fmla="*/ wd2 r2 1" />\r
+ <gd name="th" fmla="*/ hd2 r2 1" />\r
+ <gd name="sw" fmla="*/ tw a 100000" />\r
+ <gd name="sh" fmla="*/ th a 100000" />\r
+ <gd name="dx1" fmla="cos sw 2700000" />\r
+ <gd name="dy1" fmla="sin sh 2700000" />\r
+ <gd name="x1" fmla="+- hc dx1 0" />\r
+ <gd name="y1" fmla="+- vc 0 dy1" />\r
+ <gd name="x2" fmla="+/ hc x1 2" />\r
+ <gd name="y2" fmla="+/ vc y1 2" />\r
+ <gd name="idx" fmla="cos wd2 2700000" />\r
+ <gd name="idy" fmla="sin hd2 2700000" />\r
+ <gd name="il" fmla="+- hc 0 idx" />\r
+ <gd name="ir" fmla="+- hc idx 0" />\r
+ <gd name="it" fmla="+- vc 0 idy" />\r
+ <gd name="ib" fmla="+- vc idy 0" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj" minX="0" maxX="200000">\r
+ <pos x="x1" y="t" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="ir" y="ib" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="il" y="ib" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="il" y="it" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="x1" y="y1" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="vc" />\r
+ </moveTo>\r
+ <arcTo wR="wd2" hR="hd2" stAng="cd2" swAng="cd4" />\r
+ <quadBezTo>\r
+ <pt x="x2" y="t" />\r
+ <pt x="x1" y="y1" />\r
+ </quadBezTo>\r
+ <quadBezTo>\r
+ <pt x="r" y="y2" />\r
+ <pt x="r" y="vc" />\r
+ </quadBezTo>\r
+ <arcTo wR="wd2" hR="hd2" stAng="0" swAng="cd4" />\r
+ <arcTo wR="wd2" hR="hd2" stAng="cd4" swAng="cd4" />\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </teardrop>\r
+ <trapezoid>\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj" fmla="val 25000" />\r
+ </avLst>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="maxAdj" fmla="*/ 50000 w ss" />\r
+ <gd name="a" fmla="pin 0 adj maxAdj" />\r
+ <gd name="x1" fmla="*/ ss a 200000" />\r
+ <gd name="x2" fmla="*/ ss a 100000" />\r
+ <gd name="x3" fmla="+- r 0 x2" />\r
+ <gd name="x4" fmla="+- r 0 x1" />\r
+ <gd name="il" fmla="*/ wd3 a maxAdj" />\r
+ <gd name="it" fmla="*/ hd3 a maxAdj" />\r
+ <gd name="ir" fmla="+- r 0 il" />\r
+ </gdLst>\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj" minX="0" maxX="maxAdj">\r
+ <pos x="x2" y="t" />\r
+ </ahXY>\r
+ </ahLst>\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="x1" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="x4" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+ <rect l="il" t="it" r="ir" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="b" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x2" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+ </trapezoid>\r
+ <triangle>\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj" fmla="val 50000" />\r
+ </avLst>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a" fmla="pin 0 adj 100000" />\r
+ <gd name="x1" fmla="*/ w a 200000" />\r
+ <gd name="x2" fmla="*/ w a 100000" />\r
+ <gd name="x3" fmla="+- x1 wd2 0" />\r
+ </gdLst>\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj" minX="0" maxX="100000">\r
+ <pos x="x2" y="t" />\r
+ </ahXY>\r
+ </ahLst>\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="x2" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="x1" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="l" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x2" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="r" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="x3" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+ <rect l="x1" t="vc" r="x3" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="b" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x2" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+ </triangle>\r
+ <upArrowCallout>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 25000" />\r
+\r
+ <gd name="adj2" fmla="val 25000" />\r
+\r
+ <gd name="adj3" fmla="val 25000" />\r
+\r
+ <gd name="adj4" fmla="val 64977" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="maxAdj2" fmla="*/ 50000 w ss" />\r
+\r
+ <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
+ <gd name="maxAdj1" fmla="*/ a2 2 1" />\r
+\r
+ <gd name="a1" fmla="pin 0 adj1 maxAdj1" />\r
+ <gd name="maxAdj3" fmla="*/ 100000 h ss" />\r
+\r
+ <gd name="a3" fmla="pin 0 adj3 maxAdj3" />\r
+ <gd name="q2" fmla="*/ a3 ss h" />\r
+\r
+ <gd name="maxAdj4" fmla="+- 100000 0 q2" />\r
+\r
+ <gd name="a4" fmla="pin 0 adj4 maxAdj4" />\r
+ <gd name="dx1" fmla="*/ ss a2 100000" />\r
+\r
+ <gd name="dx2" fmla="*/ ss a1 200000" />\r
+\r
+ <gd name="x1" fmla="+- hc 0 dx1" />\r
+ <gd name="x2" fmla="+- hc 0 dx2" />\r
+ <gd name="x3" fmla="+- hc dx2 0" />\r
+ <gd name="x4" fmla="+- hc dx1 0" />\r
+ <gd name="y1" fmla="*/ ss a3 100000" />\r
+\r
+ <gd name="dy2" fmla="*/ h a4 100000" />\r
+\r
+ <gd name="y2" fmla="+- b 0 dy2" />\r
+ <gd name="y3" fmla="+/ y2 b 2" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj1" minX="0" maxX="maxAdj1">\r
+ <pos x="x2" y="y1" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">\r
+ <pos x="x1" y="t" />\r
+ </ahXY>\r
+ <ahXY gdRefY="adj3" minY="0" maxY="maxAdj3">\r
+ <pos x="r" y="y1" />\r
+ </ahXY>\r
+ <ahXY gdRefY="adj4" minY="0" maxY="maxAdj4">\r
+ <pos x="l" y="y2" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="y2" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="y2" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="l" t="y2" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="y2" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="hc" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </upArrowCallout>\r
+ <upArrow>\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 50000" />\r
+ <gd name="adj2" fmla="val 50000" />\r
+ </avLst>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="maxAdj2" fmla="*/ 50000 h ss" />\r
+ <gd name="a1" fmla="pin 0 adj1 100000" />\r
+ <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
+ <gd name="y2" fmla="*/ ss a2 100000" />\r
+ <gd name="y3" fmla="+- b 0 y2" />\r
+ <gd name="dx1" fmla="*/ w a1 200000" />\r
+ <gd name="x1" fmla="+- hc 0 dx1" />\r
+ <gd name="x2" fmla="+- hc dx1 0" />\r
+ <gd name="dy1" fmla="*/ x1 y2 wd2" />\r
+ <gd name="y1" fmla="+- y2 0 dy1" />\r
+ <gd name="y4" fmla="+- y3 dy1 0" />\r
+ </gdLst>\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj1" minX="0" maxX="100000">\r
+ <pos x="x1" y="y3" />\r
+ </ahXY>\r
+ <ahXY gdRefY="adj2" minY="0" maxY="maxAdj2">\r
+ <pos x="l" y="y2" />\r
+ </ahXY>\r
+ </ahLst>\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="y2" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="x1" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="y3" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="y3" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="x2" y="vc" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="y2" />\r
+ </cxn>\r
+ </cxnLst>\r
+ <rect l="x1" t="y1" r="x2" b="y4" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="y2" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="hc" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y2" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+ </upArrow>\r
+ <upDownArrow>\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 50000" />\r
+ <gd name="adj2" fmla="val 50000" />\r
+ </avLst>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="maxAdj2" fmla="*/ 50000 h ss" />\r
+ <gd name="a1" fmla="pin 0 adj1 100000" />\r
+ <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
+ <gd name="y2" fmla="*/ ss a2 100000" />\r
+ <gd name="y3" fmla="+- b 0 y2" />\r
+ <gd name="dx1" fmla="*/ w a1 200000" />\r
+ <gd name="x1" fmla="+- hc 0 dx1" />\r
+ <gd name="x2" fmla="+- hc dx1 0" />\r
+ <gd name="dy1" fmla="*/ x1 y2 wd2" />\r
+ <gd name="y1" fmla="+- y2 0 dy1" />\r
+ <gd name="y4" fmla="+- y3 dy1 0" />\r
+ </gdLst>\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj1" minX="0" maxX="100000">\r
+ <pos x="x1" y="y3" />\r
+ </ahXY>\r
+ <ahXY gdRefY="adj2" minY="0" maxY="maxAdj2">\r
+ <pos x="l" y="y2" />\r
+ </ahXY>\r
+ </ahLst>\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="y2" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="x1" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="y3" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="y3" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="x2" y="vc" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="y2" />\r
+ </cxn>\r
+ </cxnLst>\r
+ <rect l="x1" t="y1" r="x2" b="y4" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="y2" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="hc" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="hc" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y2" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+ </upDownArrow>\r
+ <upDownArrowCallout>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 25000" />\r
+\r
+ <gd name="adj2" fmla="val 25000" />\r
+\r
+ <gd name="adj3" fmla="val 25000" />\r
+\r
+ <gd name="adj4" fmla="val 48123" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="maxAdj2" fmla="*/ 50000 w ss" />\r
+\r
+ <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
+ <gd name="maxAdj1" fmla="*/ a2 2 1" />\r
+\r
+ <gd name="a1" fmla="pin 0 adj1 maxAdj1" />\r
+ <gd name="maxAdj3" fmla="*/ 50000 h ss" />\r
+\r
+ <gd name="a3" fmla="pin 0 adj3 maxAdj3" />\r
+ <gd name="q2" fmla="*/ a3 ss hd2" />\r
+\r
+ <gd name="maxAdj4" fmla="+- 100000 0 q2" />\r
+\r
+ <gd name="a4" fmla="pin 0 adj4 maxAdj4" />\r
+ <gd name="dx1" fmla="*/ ss a2 100000" />\r
+\r
+ <gd name="dx2" fmla="*/ ss a1 200000" />\r
+\r
+ <gd name="x1" fmla="+- hc 0 dx1" />\r
+ <gd name="x2" fmla="+- hc 0 dx2" />\r
+ <gd name="x3" fmla="+- hc dx2 0" />\r
+ <gd name="x4" fmla="+- hc dx1 0" />\r
+ <gd name="y1" fmla="*/ ss a3 100000" />\r
+\r
+ <gd name="y4" fmla="+- b 0 y1" />\r
+\r
+ <gd name="dy2" fmla="*/ h a4 200000" />\r
+\r
+ <gd name="y2" fmla="+- vc 0 dy2" />\r
+\r
+ <gd name="y3" fmla="+- vc dy2 0" />\r
+\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj1" minX="0" maxX="maxAdj1">\r
+ <pos x="x2" y="y1" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">\r
+ <pos x="x1" y="t" />\r
+ </ahXY>\r
+ <ahXY gdRefY="adj3" minY="0" maxY="maxAdj3">\r
+ <pos x="r" y="y1" />\r
+ </ahXY>\r
+ <ahXY gdRefY="adj4" minY="0" maxY="maxAdj4">\r
+ <pos x="l" y="y2" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="l" t="y2" r="r" b="y3" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="y2" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="hc" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x3" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x4" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="hc" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="y3" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </upDownArrowCallout>\r
+ <uturnArrow>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 25000" />\r
+\r
+ <gd name="adj2" fmla="val 25000" />\r
+\r
+ <gd name="adj3" fmla="val 25000" />\r
+\r
+ <gd name="adj4" fmla="val 43750" />\r
+\r
+ <gd name="adj5" fmla="val 75000" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a2" fmla="pin 0 adj2 25000" />\r
+ <gd name="maxAdj1" fmla="*/ a2 2 1" />\r
+ <gd name="a1" fmla="pin 0 adj1 maxAdj1" />\r
+ <gd name="q2" fmla="*/ a1 ss h" />\r
+\r
+ <gd name="q3" fmla="+- 100000 0 q2" />\r
+\r
+ <gd name="maxAdj3" fmla="*/ q3 h ss" />\r
+\r
+ <gd name="a3" fmla="pin 0 adj3 maxAdj3" />\r
+ <gd name="q1" fmla="+- a3 a1 0" />\r
+ <gd name="minAdj5" fmla="*/ q1 ss h" />\r
+ <gd name="a5" fmla="pin minAdj5 adj5 100000" />\r
+ <gd name="th" fmla="*/ ss a1 100000" />\r
+\r
+ <gd name="aw2" fmla="*/ ss a2 100000" />\r
+\r
+ <gd name="th2" fmla="*/ th 1 2" />\r
+ <gd name="dh2" fmla="+- aw2 0 th2" />\r
+\r
+ <gd name="y5" fmla="*/ h a5 100000" />\r
+\r
+ <gd name="ah" fmla="*/ ss a3 100000" />\r
+\r
+ <gd name="y4" fmla="+- y5 0 ah" />\r
+ <gd name="x9" fmla="+- r 0 dh2" />\r
+\r
+ <gd name="bw" fmla="*/ x9 1 2" />\r
+ <gd name="bs" fmla="min bw y4" />\r
+ <gd name="maxAdj4" fmla="*/ bs 100000 ss" />\r
+ <gd name="a4" fmla="pin 0 adj4 maxAdj4" />\r
+\r
+\r
+ <gd name="bd" fmla="*/ ss a4 100000" />\r
+\r
+\r
+\r
+ <gd name="bd3" fmla="+- bd 0 th" />\r
+ <gd name="bd2" fmla="max bd3 0" />\r
+ <gd name="x3" fmla="+- th bd2 0" />\r
+\r
+ <gd name="x8" fmla="+- r 0 aw2" />\r
+\r
+ <gd name="x6" fmla="+- x8 0 aw2" />\r
+\r
+ <gd name="x7" fmla="+- x6 dh2 0" />\r
+\r
+ <gd name="x4" fmla="+- x9 0 bd" />\r
+\r
+ <gd name="x5" fmla="+- x7 0 bd2" />\r
+\r
+ <gd name="cx" fmla="+/ th x7 2" />\r
+\r
+\r
+\r
+\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj1" minX="0" maxX="maxAdj1">\r
+ <pos x="th" y="b" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj2" minX="0" maxX="25000">\r
+ <pos x="x6" y="b" />\r
+ </ahXY>\r
+ <ahXY gdRefY="adj3" minY="0" maxY="maxAdj3">\r
+ <pos x="x6" y="y4" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj4" minX="0" maxX="maxAdj4">\r
+ <pos x="bd" y="t" />\r
+ </ahXY>\r
+ <ahXY gdRefY="adj5" minY="minAdj5" maxY="100000">\r
+ <pos x="r" y="y5" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="cd4">\r
+ <pos x="x6" y="y4" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="x8" y="y5" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="y4" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="cx" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="th2" y="b" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="b" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="l" y="bd" />\r
+ </lnTo>\r
+ <arcTo wR="bd" hR="bd" stAng="cd2" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="x4" y="t" />\r
+ </lnTo>\r
+ <arcTo wR="bd" hR="bd" stAng="3cd4" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="x9" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x8" y="y5" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x6" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x7" y="y4" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x7" y="x3" />\r
+ </lnTo>\r
+ <arcTo wR="bd2" hR="bd2" stAng="0" swAng="-5400000" />\r
+ <lnTo>\r
+ <pt x="x3" y="th" />\r
+ </lnTo>\r
+ <arcTo wR="bd2" hR="bd2" stAng="3cd4" swAng="-5400000" />\r
+ <lnTo>\r
+ <pt x="th" y="b" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </uturnArrow>\r
+ <verticalScroll>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj" fmla="val 12500" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a" fmla="pin 0 adj 25000" />\r
+ <gd name="ch" fmla="*/ ss a 100000" />\r
+\r
+ <gd name="ch2" fmla="*/ ch 1 2" />\r
+\r
+ <gd name="ch4" fmla="*/ ch 1 4" />\r
+\r
+\r
+\r
+\r
+\r
+ <gd name="x3" fmla="+- ch ch2 0" />\r
+\r
+ <gd name="x4" fmla="+- ch ch 0" />\r
+\r
+ <gd name="x6" fmla="+- r 0 ch" />\r
+\r
+ <gd name="x7" fmla="+- r 0 ch2" />\r
+\r
+ <gd name="x5" fmla="+- x6 0 ch2" />\r
+\r
+\r
+\r
+\r
+\r
+ <gd name="y3" fmla="+- b 0 ch" />\r
+\r
+ <gd name="y4" fmla="+- b 0 ch2" />\r
+\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj" minY="0" maxY="25000">\r
+ <pos x="l" y="ch" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="ch" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="x6" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="ch" t="ch" r="x6" b="y4" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path stroke="false" extrusionOk="false">\r
+\r
+ <moveTo>\r
+ <pt x="ch2" y="b" />\r
+ </moveTo>\r
+ <arcTo wR="ch2" hR="ch2" stAng="cd4" swAng="-5400000" />\r
+ <lnTo>\r
+ <pt x="ch2" y="y4" />\r
+ </lnTo>\r
+ <arcTo wR="ch4" hR="ch4" stAng="cd4" swAng="-10800000" />\r
+ <lnTo>\r
+ <pt x="ch" y="y3" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="ch" y="ch2" />\r
+ </lnTo>\r
+ <arcTo wR="ch2" hR="ch2" stAng="cd2" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="x7" y="t" />\r
+ </lnTo>\r
+ <arcTo wR="ch2" hR="ch2" stAng="3cd4" swAng="cd2" />\r
+ <lnTo>\r
+ <pt x="x6" y="ch" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x6" y="y4" />\r
+ </lnTo>\r
+ <arcTo wR="ch2" hR="ch2" stAng="0" swAng="cd4" />\r
+ <close />\r
+ <moveTo>\r
+ <pt x="x4" y="ch2" />\r
+ </moveTo>\r
+ <arcTo wR="ch2" hR="ch2" stAng="0" swAng="cd4" />\r
+ <arcTo wR="ch4" hR="ch4" stAng="cd4" swAng="cd2" />\r
+ <close />\r
+ </path>\r
+ <path fill="darkenLess" stroke="false" extrusionOk="false">\r
+\r
+ <moveTo>\r
+ <pt x="x4" y="ch2" />\r
+ </moveTo>\r
+ <arcTo wR="ch2" hR="ch2" stAng="0" swAng="cd4" />\r
+ <arcTo wR="ch4" hR="ch4" stAng="cd4" swAng="cd2" />\r
+ <close />\r
+ <moveTo>\r
+ <pt x="ch" y="y4" />\r
+ </moveTo>\r
+ <arcTo wR="ch2" hR="ch2" stAng="0" swAng="3cd4" />\r
+ <arcTo wR="ch4" hR="ch4" stAng="3cd4" swAng="cd2" />\r
+ <close />\r
+ </path>\r
+ <path fill="none" extrusionOk="false">\r
+\r
+ <moveTo>\r
+ <pt x="ch" y="y3" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="ch" y="ch2" />\r
+ </lnTo>\r
+ <arcTo wR="ch2" hR="ch2" stAng="cd2" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="x7" y="t" />\r
+ </lnTo>\r
+ <arcTo wR="ch2" hR="ch2" stAng="3cd4" swAng="cd2" />\r
+ <lnTo>\r
+ <pt x="x6" y="ch" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x6" y="y4" />\r
+ </lnTo>\r
+ <arcTo wR="ch2" hR="ch2" stAng="0" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="ch2" y="b" />\r
+ </lnTo>\r
+ <arcTo wR="ch2" hR="ch2" stAng="cd4" swAng="cd2" />\r
+ <close />\r
+ <moveTo>\r
+ <pt x="x3" y="t" />\r
+ </moveTo>\r
+ <arcTo wR="ch2" hR="ch2" stAng="3cd4" swAng="cd2" />\r
+ <arcTo wR="ch4" hR="ch4" stAng="cd4" swAng="cd2" />\r
+ <lnTo>\r
+ <pt x="x4" y="ch2" />\r
+ </lnTo>\r
+ <moveTo>\r
+ <pt x="x6" y="ch" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x3" y="ch" />\r
+ </lnTo>\r
+ <moveTo>\r
+ <pt x="ch2" y="y3" />\r
+ </moveTo>\r
+ <arcTo wR="ch4" hR="ch4" stAng="3cd4" swAng="cd2" />\r
+ <lnTo>\r
+ <pt x="ch" y="y4" />\r
+ </lnTo>\r
+ <moveTo>\r
+ <pt x="ch2" y="b" />\r
+ </moveTo>\r
+ <arcTo wR="ch2" hR="ch2" stAng="cd4" swAng="-5400000" />\r
+ <lnTo>\r
+ <pt x="ch" y="y3" />\r
+ </lnTo>\r
+ </path>\r
+ </pathLst>\r
+\r
+ </verticalScroll>\r
+ <wave>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val 12500" />\r
+\r
+ <gd name="adj2" fmla="val 0" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="a1" fmla="pin 0 adj1 20000" />\r
+ <gd name="a2" fmla="pin -10000 adj2 10000" />\r
+ <gd name="y1" fmla="*/ h a1 100000" />\r
+\r
+ <gd name="dy2" fmla="*/ y1 10 3" />\r
+ <gd name="y2" fmla="+- y1 0 dy2" />\r
+\r
+ <gd name="y3" fmla="+- y1 dy2 0" />\r
+\r
+ <gd name="y4" fmla="+- b 0 y1" />\r
+\r
+ <gd name="y5" fmla="+- y4 0 dy2" />\r
+\r
+ <gd name="y6" fmla="+- y4 dy2 0" />\r
+\r
+ <gd name="dx1" fmla="*/ w a2 100000" />\r
+\r
+ <gd name="of2" fmla="*/ w a2 50000" />\r
+\r
+ <gd name="x1" fmla="abs dx1" />\r
+\r
+ <gd name="dx2" fmla="?: of2 0 of2" />\r
+ <gd name="x2" fmla="+- l 0 dx2" />\r
+\r
+ <gd name="dx5" fmla="?: of2 of2 0" />\r
+ <gd name="x5" fmla="+- r 0 dx5" />\r
+\r
+ <gd name="dx3" fmla="+/ dx2 x5 3" />\r
+\r
+ <gd name="x3" fmla="+- x2 dx3 0" />\r
+\r
+ <gd name="x4" fmla="+/ x3 x5 2" />\r
+\r
+ <gd name="x6" fmla="+- l dx5 0" />\r
+\r
+ <gd name="x10" fmla="+- r dx2 0" />\r
+\r
+ <gd name="x7" fmla="+- x6 dx3 0" />\r
+\r
+ <gd name="x8" fmla="+/ x7 x10 2" />\r
+\r
+ <gd name="x9" fmla="+- r 0 x1" />\r
+\r
+ <gd name="xAdj" fmla="+- hc dx1 0" />\r
+ <gd name="xAdj2" fmla="+- hc 0 dx1" />\r
+ <gd name="il" fmla="max x2 x6" />\r
+ <gd name="ir" fmla="min x5 x10" />\r
+ <gd name="it" fmla="*/ h a1 50000" />\r
+ <gd name="ib" fmla="+- b 0 it" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefY="adj1" minY="0" maxY="20000">\r
+ <pos x="l" y="y1" />\r
+ </ahXY>\r
+ <ahXY gdRefX="adj2" minX="-10000" maxX="10000">\r
+ <pos x="xAdj" y="b" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="cd4">\r
+ <pos x="xAdj2" y="y1" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="x1" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="xAdj" y="y4" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="x9" y="vc" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="x2" y="y1" />\r
+ </moveTo>\r
+ <cubicBezTo>\r
+ <pt x="x3" y="y2" />\r
+ <pt x="x4" y="y3" />\r
+ <pt x="x5" y="y1" />\r
+ </cubicBezTo>\r
+ <lnTo>\r
+ <pt x="x10" y="y4" />\r
+ </lnTo>\r
+ <cubicBezTo>\r
+ <pt x="x8" y="y6" />\r
+ <pt x="x7" y="y5" />\r
+ <pt x="x6" y="y4" />\r
+ </cubicBezTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </wave>\r
+ <wedgeEllipseCallout>\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val -20833" />\r
+ <gd name="adj2" fmla="val 62500" />\r
+ </avLst>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="dxPos" fmla="*/ w adj1 100000" />\r
+ <gd name="dyPos" fmla="*/ h adj2 100000" />\r
+ <gd name="xPos" fmla="+- hc dxPos 0" />\r
+ <gd name="yPos" fmla="+- vc dyPos 0" />\r
+ <gd name="sdx" fmla="*/ dxPos h 1" />\r
+ <gd name="sdy" fmla="*/ dyPos w 1" />\r
+ <gd name="pang" fmla="at2 sdx sdy" />\r
+ <gd name="stAng" fmla="+- pang 660000 0" />\r
+ <gd name="enAng" fmla="+- pang 0 660000" />\r
+ <gd name="dx1" fmla="cos wd2 stAng" />\r
+ <gd name="dy1" fmla="sin hd2 stAng" />\r
+ <gd name="x1" fmla="+- hc dx1 0" />\r
+ <gd name="y1" fmla="+- vc dy1 0" />\r
+ <gd name="dx2" fmla="cos wd2 enAng" />\r
+ <gd name="dy2" fmla="sin hd2 enAng" />\r
+ <gd name="x2" fmla="+- hc dx2 0" />\r
+ <gd name="y2" fmla="+- vc dy2 0" />\r
+ <gd name="stAng1" fmla="at2 dx1 dy1" />\r
+ <gd name="enAng1" fmla="at2 dx2 dy2" />\r
+ <gd name="swAng1" fmla="+- enAng1 0 stAng1" />\r
+ <gd name="swAng2" fmla="+- swAng1 21600000 0" />\r
+ <gd name="swAng" fmla="?: swAng1 swAng1 swAng2" />\r
+ <gd name="idx" fmla="cos wd2 2700000" />\r
+ <gd name="idy" fmla="sin hd2 2700000" />\r
+ <gd name="il" fmla="+- hc 0 idx" />\r
+ <gd name="ir" fmla="+- hc idx 0" />\r
+ <gd name="it" fmla="+- vc 0 idy" />\r
+ <gd name="ib" fmla="+- vc idy 0" />\r
+ </gdLst>\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj1" minX="-2147483647" maxX="2147483647" gdRefY="adj2" minY="-2147483647" maxY="2147483647">\r
+ <pos x="xPos" y="yPos" />\r
+ </ahXY>\r
+ </ahLst>\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="il" y="it" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="il" y="ib" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="ir" y="ib" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="3cd4">\r
+ <pos x="ir" y="it" />\r
+ </cxn>\r
+ <cxn ang="pang">\r
+ <pos x="xPos" y="yPos" />\r
+ </cxn>\r
+ </cxnLst>\r
+ <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="xPos" y="yPos" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x1" y="y1" />\r
+ </lnTo>\r
+ <arcTo wR="wd2" hR="hd2" stAng="stAng1" swAng="swAng" />\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+ </wedgeEllipseCallout>\r
+ <wedgeRectCallout>\r
+\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val -20833" />\r
+\r
+ <gd name="adj2" fmla="val 62500" />\r
+\r
+ </avLst>\r
+\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="dxPos" fmla="*/ w adj1 100000" />\r
+ <gd name="dyPos" fmla="*/ h adj2 100000" />\r
+ <gd name="xPos" fmla="+- hc dxPos 0" />\r
+ <gd name="yPos" fmla="+- vc dyPos 0" />\r
+ <gd name="dx" fmla="+- xPos 0 hc" />\r
+ <gd name="dy" fmla="+- yPos 0 vc" />\r
+ <gd name="dq" fmla="*/ dxPos h w" />\r
+ <gd name="ady" fmla="abs dyPos" />\r
+ <gd name="adq" fmla="abs dq" />\r
+ <gd name="dz" fmla="+- ady 0 adq" />\r
+ <gd name="xg1" fmla="?: dxPos 7 2" />\r
+ <gd name="xg2" fmla="?: dxPos 10 5" />\r
+ <gd name="x1" fmla="*/ w xg1 12" />\r
+ <gd name="x2" fmla="*/ w xg2 12" />\r
+ <gd name="yg1" fmla="?: dyPos 7 2" />\r
+ <gd name="yg2" fmla="?: dyPos 10 5" />\r
+ <gd name="y1" fmla="*/ h yg1 12" />\r
+ <gd name="y2" fmla="*/ h yg2 12" />\r
+ <gd name="t1" fmla="?: dxPos l xPos" />\r
+ <gd name="xl" fmla="?: dz l t1" />\r
+ <gd name="t2" fmla="?: dyPos x1 xPos" />\r
+ <gd name="xt" fmla="?: dz t2 x1" />\r
+ <gd name="t3" fmla="?: dxPos xPos r" />\r
+ <gd name="xr" fmla="?: dz r t3" />\r
+ <gd name="t4" fmla="?: dyPos xPos x1" />\r
+ <gd name="xb" fmla="?: dz t4 x1" />\r
+ <gd name="t5" fmla="?: dxPos y1 yPos" />\r
+ <gd name="yl" fmla="?: dz y1 t5" />\r
+ <gd name="t6" fmla="?: dyPos t yPos" />\r
+ <gd name="yt" fmla="?: dz t6 t" />\r
+ <gd name="t7" fmla="?: dxPos yPos y1" />\r
+ <gd name="yr" fmla="?: dz y1 t7" />\r
+ <gd name="t8" fmla="?: dyPos yPos b" />\r
+ <gd name="yb" fmla="?: dz t8 b" />\r
+ </gdLst>\r
+\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj1" minX="-2147483647" maxX="2147483647" gdRefY="adj2" minY="-2147483647" maxY="2147483647">\r
+ <pos x="xPos" y="yPos" />\r
+ </ahXY>\r
+ </ahLst>\r
+\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="xPos" y="yPos" />\r
+ </cxn>\r
+ </cxnLst>\r
+\r
+ <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="t" />\r
+ </moveTo>\r
+ <lnTo>\r
+ <pt x="x1" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xt" y="yt" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xr" y="yr" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xb" y="yb" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xl" y="yl" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="y1" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+\r
+ </wedgeRectCallout>\r
+ <wedgeRoundRectCallout>\r
+ <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="adj1" fmla="val -20833" />\r
+ <gd name="adj2" fmla="val 62500" />\r
+ <gd name="adj3" fmla="val 16667" />\r
+ </avLst>\r
+ <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <gd name="dxPos" fmla="*/ w adj1 100000" />\r
+ <gd name="dyPos" fmla="*/ h adj2 100000" />\r
+ <gd name="xPos" fmla="+- hc dxPos 0" />\r
+ <gd name="yPos" fmla="+- vc dyPos 0" />\r
+ <gd name="dq" fmla="*/ dxPos h w" />\r
+ <gd name="ady" fmla="abs dyPos" />\r
+ <gd name="adq" fmla="abs dq" />\r
+ <gd name="dz" fmla="+- ady 0 adq" />\r
+ <gd name="xg1" fmla="?: dxPos 7 2" />\r
+ <gd name="xg2" fmla="?: dxPos 10 5" />\r
+ <gd name="x1" fmla="*/ w xg1 12" />\r
+ <gd name="x2" fmla="*/ w xg2 12" />\r
+ <gd name="yg1" fmla="?: dyPos 7 2" />\r
+ <gd name="yg2" fmla="?: dyPos 10 5" />\r
+ <gd name="y1" fmla="*/ h yg1 12" />\r
+ <gd name="y2" fmla="*/ h yg2 12" />\r
+ <gd name="t1" fmla="?: dxPos l xPos" />\r
+ <gd name="xl" fmla="?: dz l t1" />\r
+ <gd name="t2" fmla="?: dyPos x1 xPos" />\r
+ <gd name="xt" fmla="?: dz t2 x1" />\r
+ <gd name="t3" fmla="?: dxPos xPos r" />\r
+ <gd name="xr" fmla="?: dz r t3" />\r
+ <gd name="t4" fmla="?: dyPos xPos x1" />\r
+ <gd name="xb" fmla="?: dz t4 x1" />\r
+ <gd name="t5" fmla="?: dxPos y1 yPos" />\r
+ <gd name="yl" fmla="?: dz y1 t5" />\r
+ <gd name="t6" fmla="?: dyPos t yPos" />\r
+ <gd name="yt" fmla="?: dz t6 t" />\r
+ <gd name="t7" fmla="?: dxPos yPos y1" />\r
+ <gd name="yr" fmla="?: dz y1 t7" />\r
+ <gd name="t8" fmla="?: dyPos yPos b" />\r
+ <gd name="yb" fmla="?: dz t8 b" />\r
+ <gd name="u1" fmla="*/ ss adj3 100000" />\r
+ <gd name="u2" fmla="+- r 0 u1" />\r
+ <gd name="v2" fmla="+- b 0 u1" />\r
+ <gd name="il" fmla="*/ u1 29289 100000" />\r
+ <gd name="ir" fmla="+- r 0 il" />\r
+ <gd name="ib" fmla="+- b 0 il" />\r
+ </gdLst>\r
+ <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <ahXY gdRefX="adj1" minX="-2147483647" maxX="2147483647" gdRefY="adj2" minY="-2147483647" maxY="2147483647">\r
+ <pos x="xPos" y="yPos" />\r
+ </ahXY>\r
+ </ahLst>\r
+ <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <cxn ang="3cd4">\r
+ <pos x="hc" y="t" />\r
+ </cxn>\r
+ <cxn ang="cd2">\r
+ <pos x="l" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="hc" y="b" />\r
+ </cxn>\r
+ <cxn ang="0">\r
+ <pos x="r" y="vc" />\r
+ </cxn>\r
+ <cxn ang="cd4">\r
+ <pos x="xPos" y="yPos" />\r
+ </cxn>\r
+ </cxnLst>\r
+ <rect l="il" t="il" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
+ <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
+ <path>\r
+ <moveTo>\r
+ <pt x="l" y="u1" />\r
+ </moveTo>\r
+ <arcTo wR="u1" hR="u1" stAng="cd2" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="x1" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xt" y="yt" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x2" y="t" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="u2" y="t" />\r
+ </lnTo>\r
+ <arcTo wR="u1" hR="u1" stAng="3cd4" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="r" y="y1" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xr" y="yr" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="r" y="v2" />\r
+ </lnTo>\r
+ <arcTo wR="u1" hR="u1" stAng="0" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="x2" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xb" y="yb" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="x1" y="b" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="u1" y="b" />\r
+ </lnTo>\r
+ <arcTo wR="u1" hR="u1" stAng="cd4" swAng="cd4" />\r
+ <lnTo>\r
+ <pt x="l" y="y2" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="xl" y="yl" />\r
+ </lnTo>\r
+ <lnTo>\r
+ <pt x="l" y="y1" />\r
+ </lnTo>\r
+ <close />\r
+ </path>\r
+ </pathLst>\r
+ </wedgeRoundRectCallout>\r
+</presetShapeDefinitons>\r
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>\r
-<presetShapeDefinitons>\r
- <accentBorderCallout1>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
-\r
- <gd name="adj1" fmla="val 18750" />\r
-\r
- <gd name="adj2" fmla="val -8333" />\r
-\r
- <gd name="adj3" fmla="val 112500" />\r
-\r
- <gd name="adj4" fmla="val -38333" />\r
-\r
- </avLst>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="y1" fmla="*/ h adj1 100000" />\r
- <gd name="x1" fmla="*/ w adj2 100000" />\r
- <gd name="y2" fmla="*/ h adj3 100000" />\r
- <gd name="x2" fmla="*/ w adj4 100000" />\r
- </gdLst>\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">\r
- <pos x="x1" y="y1" />\r
- </ahXY>\r
- <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">\r
- <pos x="x2" y="y2" />\r
- </ahXY>\r
- </ahLst>\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- </cxnLst>\r
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path extrusionOk="false">\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path fill="none" extrusionOk="false">\r
- <moveTo>\r
- <pt x="x1" y="t" />\r
- </moveTo>\r
- <close />\r
- <lnTo>\r
- <pt x="x1" y="b" />\r
- </lnTo>\r
- </path>\r
- <path fill="none" extrusionOk="false">\r
- <moveTo>\r
- <pt x="x1" y="y1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x2" y="y2" />\r
- </lnTo>\r
- </path>\r
- </pathLst>\r
-\r
- </accentBorderCallout1>\r
- <accentBorderCallout2>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
-\r
- <gd name="adj1" fmla="val 18750" />\r
-\r
- <gd name="adj2" fmla="val -8333" />\r
-\r
- <gd name="adj3" fmla="val 18750" />\r
-\r
- <gd name="adj4" fmla="val -16667" />\r
-\r
- <gd name="adj5" fmla="val 112500" />\r
-\r
- <gd name="adj6" fmla="val -46667" />\r
-\r
- </avLst>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="y1" fmla="*/ h adj1 100000" />\r
- <gd name="x1" fmla="*/ w adj2 100000" />\r
- <gd name="y2" fmla="*/ h adj3 100000" />\r
- <gd name="x2" fmla="*/ w adj4 100000" />\r
- <gd name="y3" fmla="*/ h adj5 100000" />\r
- <gd name="x3" fmla="*/ w adj6 100000" />\r
- </gdLst>\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">\r
- <pos x="x1" y="y1" />\r
- </ahXY>\r
- <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">\r
- <pos x="x2" y="y2" />\r
- </ahXY>\r
- <ahXY gdRefX="adj6" minX="-2147483647" maxX="2147483647" gdRefY="adj5" minY="-2147483647" maxY="2147483647">\r
- <pos x="x3" y="y3" />\r
- </ahXY>\r
- </ahLst>\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- </cxnLst>\r
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path extrusionOk="false">\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path fill="none" extrusionOk="false">\r
- <moveTo>\r
- <pt x="x1" y="t" />\r
- </moveTo>\r
- <close />\r
- <lnTo>\r
- <pt x="x1" y="b" />\r
- </lnTo>\r
- </path>\r
- <path fill="none" extrusionOk="false">\r
- <moveTo>\r
- <pt x="x1" y="y1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x2" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y3" />\r
- </lnTo>\r
- </path>\r
- </pathLst>\r
-\r
- </accentBorderCallout2>\r
- <accentBorderCallout3>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
-\r
- <gd name="adj1" fmla="val 18750" />\r
-\r
- <gd name="adj2" fmla="val -8333" />\r
-\r
- <gd name="adj3" fmla="val 18750" />\r
-\r
- <gd name="adj4" fmla="val -16667" />\r
-\r
- <gd name="adj5" fmla="val 100000" />\r
-\r
- <gd name="adj6" fmla="val -16667" />\r
-\r
- <gd name="adj7" fmla="val 112963" />\r
-\r
- <gd name="adj8" fmla="val -8333" />\r
-\r
- </avLst>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="y1" fmla="*/ h adj1 100000" />\r
- <gd name="x1" fmla="*/ w adj2 100000" />\r
- <gd name="y2" fmla="*/ h adj3 100000" />\r
- <gd name="x2" fmla="*/ w adj4 100000" />\r
- <gd name="y3" fmla="*/ h adj5 100000" />\r
- <gd name="x3" fmla="*/ w adj6 100000" />\r
- <gd name="y4" fmla="*/ h adj7 100000" />\r
- <gd name="x4" fmla="*/ w adj8 100000" />\r
- </gdLst>\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">\r
- <pos x="x1" y="y1" />\r
- </ahXY>\r
- <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">\r
- <pos x="x2" y="y2" />\r
- </ahXY>\r
- <ahXY gdRefX="adj6" minX="-2147483647" maxX="2147483647" gdRefY="adj5" minY="-2147483647" maxY="2147483647">\r
- <pos x="x3" y="y3" />\r
- </ahXY>\r
- <ahXY gdRefX="adj8" minX="-2147483647" maxX="2147483647" gdRefY="adj7" minY="-2147483647" maxY="2147483647">\r
- <pos x="x4" y="y4" />\r
- </ahXY>\r
- </ahLst>\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- </cxnLst>\r
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path extrusionOk="false">\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path fill="none" extrusionOk="false">\r
- <moveTo>\r
- <pt x="x1" y="t" />\r
- </moveTo>\r
- <close />\r
- <lnTo>\r
- <pt x="x1" y="b" />\r
- </lnTo>\r
- </path>\r
- <path fill="none" extrusionOk="false">\r
- <moveTo>\r
- <pt x="x1" y="y1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x2" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y4" />\r
- </lnTo>\r
- </path>\r
- </pathLst>\r
-\r
- </accentBorderCallout3>\r
- <accentCallout1>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
-\r
- <gd name="adj1" fmla="val 18750" />\r
-\r
- <gd name="adj2" fmla="val -8333" />\r
-\r
- <gd name="adj3" fmla="val 112500" />\r
-\r
- <gd name="adj4" fmla="val -38333" />\r
-\r
- </avLst>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="y1" fmla="*/ h adj1 100000" />\r
- <gd name="x1" fmla="*/ w adj2 100000" />\r
- <gd name="y2" fmla="*/ h adj3 100000" />\r
- <gd name="x2" fmla="*/ w adj4 100000" />\r
- </gdLst>\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">\r
- <pos x="x1" y="y1" />\r
- </ahXY>\r
- <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">\r
- <pos x="x2" y="y2" />\r
- </ahXY>\r
- </ahLst>\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- </cxnLst>\r
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path stroke="false" extrusionOk="false">\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path fill="none" extrusionOk="false">\r
- <moveTo>\r
- <pt x="x1" y="t" />\r
- </moveTo>\r
- <close />\r
- <lnTo>\r
- <pt x="x1" y="b" />\r
- </lnTo>\r
- </path>\r
- <path fill="none" extrusionOk="false">\r
- <moveTo>\r
- <pt x="x1" y="y1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x2" y="y2" />\r
- </lnTo>\r
- </path>\r
- </pathLst>\r
-\r
- </accentCallout1>\r
- <accentCallout2>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
-\r
- <gd name="adj1" fmla="val 18750" />\r
-\r
- <gd name="adj2" fmla="val -8333" />\r
-\r
- <gd name="adj3" fmla="val 18750" />\r
-\r
- <gd name="adj4" fmla="val -16667" />\r
-\r
- <gd name="adj5" fmla="val 112500" />\r
-\r
- <gd name="adj6" fmla="val -46667" />\r
-\r
- </avLst>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="y1" fmla="*/ h adj1 100000" />\r
- <gd name="x1" fmla="*/ w adj2 100000" />\r
- <gd name="y2" fmla="*/ h adj3 100000" />\r
- <gd name="x2" fmla="*/ w adj4 100000" />\r
- <gd name="y3" fmla="*/ h adj5 100000" />\r
- <gd name="x3" fmla="*/ w adj6 100000" />\r
- </gdLst>\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">\r
- <pos x="x1" y="y1" />\r
- </ahXY>\r
- <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">\r
- <pos x="x2" y="y2" />\r
- </ahXY>\r
- <ahXY gdRefX="adj6" minX="-2147483647" maxX="2147483647" gdRefY="adj5" minY="-2147483647" maxY="2147483647">\r
- <pos x="x3" y="y3" />\r
- </ahXY>\r
- </ahLst>\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- </cxnLst>\r
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path stroke="false" extrusionOk="false">\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path fill="none" extrusionOk="false">\r
- <moveTo>\r
- <pt x="x1" y="t" />\r
- </moveTo>\r
- <close />\r
- <lnTo>\r
- <pt x="x1" y="b" />\r
- </lnTo>\r
- </path>\r
- <path fill="none" extrusionOk="false">\r
- <moveTo>\r
- <pt x="x1" y="y1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x2" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y3" />\r
- </lnTo>\r
- </path>\r
- </pathLst>\r
-\r
- </accentCallout2>\r
- <accentCallout3>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
-\r
- <gd name="adj1" fmla="val 18750" />\r
-\r
- <gd name="adj2" fmla="val -8333" />\r
-\r
- <gd name="adj3" fmla="val 18750" />\r
-\r
- <gd name="adj4" fmla="val -16667" />\r
-\r
- <gd name="adj5" fmla="val 100000" />\r
-\r
- <gd name="adj6" fmla="val -16667" />\r
-\r
- <gd name="adj7" fmla="val 112963" />\r
-\r
- <gd name="adj8" fmla="val -8333" />\r
-\r
- </avLst>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="y1" fmla="*/ h adj1 100000" />\r
- <gd name="x1" fmla="*/ w adj2 100000" />\r
- <gd name="y2" fmla="*/ h adj3 100000" />\r
- <gd name="x2" fmla="*/ w adj4 100000" />\r
- <gd name="y3" fmla="*/ h adj5 100000" />\r
- <gd name="x3" fmla="*/ w adj6 100000" />\r
- <gd name="y4" fmla="*/ h adj7 100000" />\r
- <gd name="x4" fmla="*/ w adj8 100000" />\r
- </gdLst>\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">\r
- <pos x="x1" y="y1" />\r
- </ahXY>\r
- <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">\r
- <pos x="x2" y="y2" />\r
- </ahXY>\r
- <ahXY gdRefX="adj6" minX="-2147483647" maxX="2147483647" gdRefY="adj5" minY="-2147483647" maxY="2147483647">\r
- <pos x="x3" y="y3" />\r
- </ahXY>\r
- <ahXY gdRefX="adj8" minX="-2147483647" maxX="2147483647" gdRefY="adj7" minY="-2147483647" maxY="2147483647">\r
- <pos x="x4" y="y4" />\r
- </ahXY>\r
- </ahLst>\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- </cxnLst>\r
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path stroke="false" extrusionOk="false">\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path fill="none" extrusionOk="false">\r
- <moveTo>\r
- <pt x="x1" y="t" />\r
- </moveTo>\r
- <close />\r
- <lnTo>\r
- <pt x="x1" y="b" />\r
- </lnTo>\r
- </path>\r
- <path fill="none" extrusionOk="false">\r
- <moveTo>\r
- <pt x="x1" y="y1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x2" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y4" />\r
- </lnTo>\r
- </path>\r
- </pathLst>\r
-\r
- </accentCallout3>\r
- <actionButtonBackPrevious>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="dx2" fmla="*/ ss 3 8" />\r
- <gd name="g9" fmla="+- vc 0 dx2" />\r
- <gd name="g10" fmla="+- vc dx2 0" />\r
- <gd name="g11" fmla="+- hc 0 dx2" />\r
- <gd name="g12" fmla="+- hc dx2 0" />\r
- </gdLst>\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- </cxnLst>\r
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path stroke="false" extrusionOk="false">\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- <moveTo>\r
- <pt x="g11" y="vc" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="g12" y="g9" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g12" y="g10" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path stroke="false" fill="darken" extrusionOk="false">\r
- <moveTo>\r
- <pt x="g11" y="vc" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="g12" y="g9" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g12" y="g10" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path fill="none" extrusionOk="false">\r
- <moveTo>\r
- <pt x="g11" y="vc" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="g12" y="g9" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g12" y="g10" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path fill="none">\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
- </actionButtonBackPrevious>\r
- <actionButtonBeginning>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="dx2" fmla="*/ ss 3 8" />\r
- <gd name="g9" fmla="+- vc 0 dx2" />\r
- <gd name="g10" fmla="+- vc dx2 0" />\r
- <gd name="g11" fmla="+- hc 0 dx2" />\r
- <gd name="g12" fmla="+- hc dx2 0" />\r
- <gd name="g13" fmla="*/ ss 3 4" />\r
- <gd name="g14" fmla="*/ g13 1 8" />\r
- <gd name="g15" fmla="*/ g13 1 4" />\r
- <gd name="g16" fmla="+- g11 g14 0" />\r
- <gd name="g17" fmla="+- g11 g15 0" />\r
- </gdLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path stroke="false" extrusionOk="false">\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- <moveTo>\r
- <pt x="g17" y="vc" />\r
- </moveTo>\r
-\r
- <lnTo>\r
- <pt x="g12" y="g9" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g12" y="g10" />\r
- </lnTo>\r
- <close />\r
- <moveTo>\r
- <pt x="g16" y="g9" />\r
- </moveTo>\r
-\r
- <lnTo>\r
- <pt x="g11" y="g9" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g11" y="g10" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g16" y="g10" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path stroke="false" fill="darken" extrusionOk="false">\r
- <moveTo>\r
- <pt x="g17" y="vc" />\r
- </moveTo>\r
-\r
- <lnTo>\r
- <pt x="g12" y="g9" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g12" y="g10" />\r
- </lnTo>\r
- <close />\r
- <moveTo>\r
- <pt x="g16" y="g9" />\r
- </moveTo>\r
-\r
- <lnTo>\r
- <pt x="g11" y="g9" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g11" y="g10" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g16" y="g10" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path fill="none" extrusionOk="false">\r
- <moveTo>\r
- <pt x="g17" y="vc" />\r
- </moveTo>\r
-\r
- <lnTo>\r
- <pt x="g12" y="g9" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g12" y="g10" />\r
- </lnTo>\r
- <close />\r
- <moveTo>\r
- <pt x="g16" y="g9" />\r
- </moveTo>\r
-\r
- <lnTo>\r
- <pt x="g16" y="g10" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g11" y="g10" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g11" y="g9" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path fill="none">\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
-\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </actionButtonBeginning>\r
- <actionButtonBlank>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </actionButtonBlank>\r
- <actionButtonDocument>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="dx2" fmla="*/ ss 3 8" />\r
- <gd name="g9" fmla="+- vc 0 dx2" />\r
- <gd name="g10" fmla="+- vc dx2 0" />\r
- <gd name="dx1" fmla="*/ ss 9 32" />\r
- <gd name="g11" fmla="+- hc 0 dx1" />\r
- <gd name="g12" fmla="+- hc dx1 0" />\r
- <gd name="g13" fmla="*/ ss 3 16" />\r
- <gd name="g14" fmla="+- g12 0 g13" />\r
- <gd name="g15" fmla="+- g9 g13 0" />\r
- </gdLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path stroke="false" extrusionOk="false">\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- <moveTo>\r
- <pt x="g11" y="g9" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="g14" y="g9" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g12" y="g15" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g12" y="g10" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g11" y="g10" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path stroke="false" fill="darkenLess" extrusionOk="false">\r
-\r
- <moveTo>\r
- <pt x="g11" y="g9" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="g14" y="g9" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g14" y="g15" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g12" y="g15" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g12" y="g10" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g11" y="g10" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path stroke="false" fill="darken" extrusionOk="false">\r
- <moveTo>\r
- <pt x="g14" y="g9" />\r
- </moveTo>\r
-\r
- <lnTo>\r
- <pt x="g14" y="g15" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g12" y="g15" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path fill="none" extrusionOk="false">\r
- <moveTo>\r
- <pt x="g11" y="g9" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="g14" y="g9" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g12" y="g15" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g12" y="g10" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g11" y="g10" />\r
- </lnTo>\r
- <close />\r
- <moveTo>\r
- <pt x="g12" y="g15" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="g14" y="g15" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g14" y="g9" />\r
- </lnTo>\r
- </path>\r
- <path fill="none">\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
-\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </actionButtonDocument>\r
- <actionButtonEnd>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="dx2" fmla="*/ ss 3 8" />\r
- <gd name="g9" fmla="+- vc 0 dx2" />\r
- <gd name="g10" fmla="+- vc dx2 0" />\r
- <gd name="g11" fmla="+- hc 0 dx2" />\r
- <gd name="g12" fmla="+- hc dx2 0" />\r
- <gd name="g13" fmla="*/ ss 3 4" />\r
- <gd name="g14" fmla="*/ g13 3 4" />\r
- <gd name="g15" fmla="*/ g13 7 8" />\r
- <gd name="g16" fmla="+- g11 g14 0" />\r
- <gd name="g17" fmla="+- g11 g15 0" />\r
- </gdLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path stroke="false" extrusionOk="false">\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- <moveTo>\r
- <pt x="g16" y="vc" />\r
- </moveTo>\r
-\r
- <lnTo>\r
- <pt x="g11" y="g9" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g11" y="g10" />\r
- </lnTo>\r
- <close />\r
- <moveTo>\r
- <pt x="g17" y="g9" />\r
- </moveTo>\r
-\r
- <lnTo>\r
- <pt x="g12" y="g9" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g12" y="g10" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g17" y="g10" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path stroke="false" fill="darken" extrusionOk="false">\r
- <moveTo>\r
- <pt x="g16" y="vc" />\r
- </moveTo>\r
-\r
- <lnTo>\r
- <pt x="g11" y="g9" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g11" y="g10" />\r
- </lnTo>\r
- <close />\r
- <moveTo>\r
- <pt x="g17" y="g9" />\r
- </moveTo>\r
-\r
- <lnTo>\r
- <pt x="g12" y="g9" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g12" y="g10" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g17" y="g10" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path fill="none" extrusionOk="false">\r
- <moveTo>\r
- <pt x="g16" y="vc" />\r
- </moveTo>\r
-\r
- <lnTo>\r
- <pt x="g11" y="g10" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g11" y="g9" />\r
- </lnTo>\r
- <close />\r
- <moveTo>\r
- <pt x="g17" y="g9" />\r
- </moveTo>\r
-\r
- <lnTo>\r
- <pt x="g12" y="g9" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g12" y="g10" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g17" y="g10" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path fill="none">\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
-\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </actionButtonEnd>\r
- <actionButtonForwardNext>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="dx2" fmla="*/ ss 3 8" />\r
- <gd name="g9" fmla="+- vc 0 dx2" />\r
- <gd name="g10" fmla="+- vc dx2 0" />\r
- <gd name="g11" fmla="+- hc 0 dx2" />\r
- <gd name="g12" fmla="+- hc dx2 0" />\r
- </gdLst>\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- </cxnLst>\r
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path stroke="false" extrusionOk="false">\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- <moveTo>\r
- <pt x="g12" y="vc" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="g11" y="g9" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g11" y="g10" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path stroke="false" fill="darken" extrusionOk="false">\r
- <moveTo>\r
- <pt x="g12" y="vc" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="g11" y="g9" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g11" y="g10" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path fill="none" extrusionOk="false">\r
- <moveTo>\r
- <pt x="g12" y="vc" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="g11" y="g10" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g11" y="g9" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path fill="none">\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
- </actionButtonForwardNext>\r
- <actionButtonHelp>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="dx2" fmla="*/ ss 3 8" />\r
- <gd name="g9" fmla="+- vc 0 dx2" />\r
- <gd name="g11" fmla="+- hc 0 dx2" />\r
- <gd name="g13" fmla="*/ ss 3 4" />\r
- <gd name="g14" fmla="*/ g13 1 7" />\r
- <gd name="g15" fmla="*/ g13 3 14" />\r
- <gd name="g16" fmla="*/ g13 2 7" />\r
- <gd name="g19" fmla="*/ g13 3 7" />\r
- <gd name="g20" fmla="*/ g13 4 7" />\r
- <gd name="g21" fmla="*/ g13 17 28" />\r
- <gd name="g23" fmla="*/ g13 21 28" />\r
- <gd name="g24" fmla="*/ g13 11 14" />\r
- <gd name="g27" fmla="+- g9 g16 0" />\r
- <gd name="g29" fmla="+- g9 g21 0" />\r
- <gd name="g30" fmla="+- g9 g23 0" />\r
- <gd name="g31" fmla="+- g9 g24 0" />\r
- <gd name="g33" fmla="+- g11 g15 0" />\r
- <gd name="g36" fmla="+- g11 g19 0" />\r
- <gd name="g37" fmla="+- g11 g20 0" />\r
- <gd name="g41" fmla="*/ g13 1 14" />\r
- <gd name="g42" fmla="*/ g13 3 28" />\r
- </gdLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path stroke="false" extrusionOk="false">\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- <moveTo>\r
- <pt x="g33" y="g27" />\r
- </moveTo>\r
-\r
- <arcTo wR="g16" hR="g16" stAng="cd2" swAng="cd2" />\r
- <arcTo wR="g14" hR="g15" stAng="0" swAng="cd4" />\r
- <arcTo wR="g41" hR="g42" stAng="3cd4" swAng="-5400000" />\r
- <lnTo>\r
- <pt x="g37" y="g30" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g36" y="g30" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g36" y="g29" />\r
- </lnTo>\r
- <arcTo wR="g14" hR="g15" stAng="cd2" swAng="cd4" />\r
- <arcTo wR="g41" hR="g42" stAng="cd4" swAng="-5400000" />\r
- <arcTo wR="g14" hR="g14" stAng="0" swAng="-10800000" />\r
- <close />\r
- <moveTo>\r
- <pt x="hc" y="g31" />\r
- </moveTo>\r
-\r
- <arcTo wR="g42" hR="g42" stAng="3cd4" swAng="21600000" />\r
- <close />\r
- </path>\r
- <path stroke="false" fill="darken" extrusionOk="false">\r
- <moveTo>\r
- <pt x="g33" y="g27" />\r
- </moveTo>\r
-\r
- <arcTo wR="g16" hR="g16" stAng="cd2" swAng="cd2" />\r
- <arcTo wR="g14" hR="g15" stAng="0" swAng="cd4" />\r
- <arcTo wR="g41" hR="g42" stAng="3cd4" swAng="-5400000" />\r
- <lnTo>\r
- <pt x="g37" y="g30" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g36" y="g30" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g36" y="g29" />\r
- </lnTo>\r
- <arcTo wR="g14" hR="g15" stAng="cd2" swAng="cd4" />\r
- <arcTo wR="g41" hR="g42" stAng="cd4" swAng="-5400000" />\r
- <arcTo wR="g14" hR="g14" stAng="0" swAng="-10800000" />\r
- <close />\r
- <moveTo>\r
- <pt x="hc" y="g31" />\r
- </moveTo>\r
-\r
- <arcTo wR="g42" hR="g42" stAng="3cd4" swAng="21600000" />\r
- <close />\r
- </path>\r
- <path fill="none" extrusionOk="false">\r
- <moveTo>\r
- <pt x="g33" y="g27" />\r
- </moveTo>\r
-\r
- <arcTo wR="g16" hR="g16" stAng="cd2" swAng="cd2" />\r
- <arcTo wR="g14" hR="g15" stAng="0" swAng="cd4" />\r
- <arcTo wR="g41" hR="g42" stAng="3cd4" swAng="-5400000" />\r
- <lnTo>\r
- <pt x="g37" y="g30" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g36" y="g30" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g36" y="g29" />\r
- </lnTo>\r
- <arcTo wR="g14" hR="g15" stAng="cd2" swAng="cd4" />\r
- <arcTo wR="g41" hR="g42" stAng="cd4" swAng="-5400000" />\r
- <arcTo wR="g14" hR="g14" stAng="0" swAng="-10800000" />\r
- <close />\r
- <moveTo>\r
- <pt x="hc" y="g31" />\r
- </moveTo>\r
-\r
- <arcTo wR="g42" hR="g42" stAng="3cd4" swAng="21600000" />\r
- <close />\r
- </path>\r
- <path fill="none">\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
-\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </actionButtonHelp>\r
- <actionButtonHome>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="dx2" fmla="*/ ss 3 8" />\r
- <gd name="g9" fmla="+- vc 0 dx2" />\r
- <gd name="g10" fmla="+- vc dx2 0" />\r
- <gd name="g11" fmla="+- hc 0 dx2" />\r
- <gd name="g12" fmla="+- hc dx2 0" />\r
- <gd name="g13" fmla="*/ ss 3 4" />\r
- <gd name="g14" fmla="*/ g13 1 16" />\r
- <gd name="g15" fmla="*/ g13 1 8" />\r
- <gd name="g16" fmla="*/ g13 3 16" />\r
- <gd name="g17" fmla="*/ g13 5 16" />\r
- <gd name="g18" fmla="*/ g13 7 16" />\r
- <gd name="g19" fmla="*/ g13 9 16" />\r
- <gd name="g20" fmla="*/ g13 11 16" />\r
- <gd name="g21" fmla="*/ g13 3 4" />\r
- <gd name="g22" fmla="*/ g13 13 16" />\r
- <gd name="g23" fmla="*/ g13 7 8" />\r
- <gd name="g24" fmla="+- g9 g14 0" />\r
- <gd name="g25" fmla="+- g9 g16 0" />\r
- <gd name="g26" fmla="+- g9 g17 0" />\r
- <gd name="g27" fmla="+- g9 g21 0" />\r
- <gd name="g28" fmla="+- g11 g15 0" />\r
- <gd name="g29" fmla="+- g11 g18 0" />\r
- <gd name="g30" fmla="+- g11 g19 0" />\r
- <gd name="g31" fmla="+- g11 g20 0" />\r
- <gd name="g32" fmla="+- g11 g22 0" />\r
- <gd name="g33" fmla="+- g11 g23 0" />\r
- </gdLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path stroke="false" extrusionOk="false">\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- <moveTo>\r
- <pt x="hc" y="g9" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="g11" y="vc" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g28" y="vc" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g28" y="g10" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g33" y="g10" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g33" y="vc" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g12" y="vc" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g32" y="g26" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g32" y="g24" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g31" y="g24" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g31" y="g25" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path stroke="false" fill="darkenLess" extrusionOk="false">\r
-\r
- <moveTo>\r
- <pt x="g32" y="g26" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="g32" y="g24" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g31" y="g24" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g31" y="g25" />\r
- </lnTo>\r
- <close />\r
- <moveTo>\r
- <pt x="g28" y="vc" />\r
- </moveTo>\r
-\r
- <lnTo>\r
- <pt x="g28" y="g10" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g29" y="g10" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g29" y="g27" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g30" y="g27" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g30" y="g10" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g33" y="g10" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g33" y="vc" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path stroke="false" fill="darken" extrusionOk="false">\r
- <moveTo>\r
- <pt x="hc" y="g9" />\r
- </moveTo>\r
-\r
- <lnTo>\r
- <pt x="g11" y="vc" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g12" y="vc" />\r
- </lnTo>\r
- <close />\r
- <moveTo>\r
- <pt x="g29" y="g27" />\r
- </moveTo>\r
-\r
- <lnTo>\r
- <pt x="g30" y="g27" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g30" y="g10" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g29" y="g10" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path fill="none" extrusionOk="false">\r
- <moveTo>\r
- <pt x="hc" y="g9" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="g31" y="g25" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g31" y="g24" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g32" y="g24" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g32" y="g26" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g12" y="vc" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g33" y="vc" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g33" y="g10" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g28" y="g10" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g28" y="vc" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g11" y="vc" />\r
- </lnTo>\r
- <close />\r
- <moveTo>\r
- <pt x="g31" y="g25" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="g32" y="g26" />\r
- </lnTo>\r
-\r
- <moveTo>\r
- <pt x="g33" y="vc" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="g28" y="vc" />\r
- </lnTo>\r
-\r
- <moveTo>\r
- <pt x="g29" y="g10" />\r
- </moveTo>\r
-\r
- <lnTo>\r
- <pt x="g29" y="g27" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g30" y="g27" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g30" y="g10" />\r
- </lnTo>\r
- </path>\r
- <path fill="none">\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
-\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </actionButtonHome>\r
- <actionButtonInformation>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="dx2" fmla="*/ ss 3 8" />\r
- <gd name="g9" fmla="+- vc 0 dx2" />\r
- <gd name="g11" fmla="+- hc 0 dx2" />\r
- <gd name="g13" fmla="*/ ss 3 4" />\r
- <gd name="g14" fmla="*/ g13 1 32" />\r
- <gd name="g17" fmla="*/ g13 5 16" />\r
- <gd name="g18" fmla="*/ g13 3 8" />\r
- <gd name="g19" fmla="*/ g13 13 32" />\r
- <gd name="g20" fmla="*/ g13 19 32" />\r
- <gd name="g22" fmla="*/ g13 11 16" />\r
- <gd name="g23" fmla="*/ g13 13 16" />\r
- <gd name="g24" fmla="*/ g13 7 8" />\r
- <gd name="g25" fmla="+- g9 g14 0" />\r
- <gd name="g28" fmla="+- g9 g17 0" />\r
- <gd name="g29" fmla="+- g9 g18 0" />\r
- <gd name="g30" fmla="+- g9 g23 0" />\r
- <gd name="g31" fmla="+- g9 g24 0" />\r
- <gd name="g32" fmla="+- g11 g17 0" />\r
- <gd name="g34" fmla="+- g11 g19 0" />\r
- <gd name="g35" fmla="+- g11 g20 0" />\r
- <gd name="g37" fmla="+- g11 g22 0" />\r
- <gd name="g38" fmla="*/ g13 3 32" />\r
- </gdLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path stroke="false" extrusionOk="false">\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- <moveTo>\r
- <pt x="hc" y="g9" />\r
- </moveTo>\r
-\r
- <arcTo wR="dx2" hR="dx2" stAng="3cd4" swAng="21600000" />\r
- <close />\r
- </path>\r
- <path stroke="false" fill="darken" extrusionOk="false">\r
- <moveTo>\r
- <pt x="hc" y="g9" />\r
- </moveTo>\r
-\r
- <arcTo wR="dx2" hR="dx2" stAng="3cd4" swAng="21600000" />\r
- <close />\r
- <moveTo>\r
- <pt x="hc" y="g25" />\r
- </moveTo>\r
-\r
- <arcTo wR="g38" hR="g38" stAng="3cd4" swAng="21600000" />\r
- <moveTo>\r
- <pt x="g32" y="g28" />\r
- </moveTo>\r
-\r
- <lnTo>\r
- <pt x="g32" y="g29" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g34" y="g29" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g34" y="g30" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g32" y="g30" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g32" y="g31" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g37" y="g31" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g37" y="g30" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g35" y="g30" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g35" y="g28" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path stroke="false" fill="lighten" extrusionOk="false">\r
- <moveTo>\r
- <pt x="hc" y="g25" />\r
- </moveTo>\r
-\r
- <arcTo wR="g38" hR="g38" stAng="3cd4" swAng="21600000" />\r
- <moveTo>\r
- <pt x="g32" y="g28" />\r
- </moveTo>\r
-\r
- <lnTo>\r
- <pt x="g35" y="g28" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g35" y="g30" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g37" y="g30" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g37" y="g31" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g32" y="g31" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g32" y="g30" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g34" y="g30" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g34" y="g29" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g32" y="g29" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path fill="none" extrusionOk="false">\r
- <moveTo>\r
- <pt x="hc" y="g9" />\r
- </moveTo>\r
-\r
- <arcTo wR="dx2" hR="dx2" stAng="3cd4" swAng="21600000" />\r
- <close />\r
- <moveTo>\r
- <pt x="hc" y="g25" />\r
- </moveTo>\r
-\r
- <arcTo wR="g38" hR="g38" stAng="3cd4" swAng="21600000" />\r
- <moveTo>\r
- <pt x="g32" y="g28" />\r
- </moveTo>\r
-\r
- <lnTo>\r
- <pt x="g35" y="g28" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g35" y="g30" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g37" y="g30" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g37" y="g31" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g32" y="g31" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g32" y="g30" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g34" y="g30" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g34" y="g29" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g32" y="g29" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path fill="none">\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
-\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </actionButtonInformation>\r
- <actionButtonMovie>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="dx2" fmla="*/ ss 3 8" />\r
- <gd name="g9" fmla="+- vc 0 dx2" />\r
- <gd name="g10" fmla="+- vc dx2 0" />\r
- <gd name="g11" fmla="+- hc 0 dx2" />\r
- <gd name="g12" fmla="+- hc dx2 0" />\r
- <gd name="g13" fmla="*/ ss 3 4" />\r
- <gd name="g14" fmla="*/ g13 1455 21600" />\r
- <gd name="g15" fmla="*/ g13 1905 21600" />\r
- <gd name="g16" fmla="*/ g13 2325 21600" />\r
- <gd name="g17" fmla="*/ g13 16155 21600" />\r
- <gd name="g18" fmla="*/ g13 17010 21600" />\r
- <gd name="g19" fmla="*/ g13 19335 21600" />\r
- <gd name="g20" fmla="*/ g13 19725 21600" />\r
- <gd name="g21" fmla="*/ g13 20595 21600" />\r
- <gd name="g22" fmla="*/ g13 5280 21600" />\r
- <gd name="g23" fmla="*/ g13 5730 21600" />\r
- <gd name="g24" fmla="*/ g13 6630 21600" />\r
- <gd name="g25" fmla="*/ g13 7492 21600" />\r
- <gd name="g26" fmla="*/ g13 9067 21600" />\r
- <gd name="g27" fmla="*/ g13 9555 21600" />\r
- <gd name="g28" fmla="*/ g13 13342 21600" />\r
- <gd name="g29" fmla="*/ g13 14580 21600" />\r
- <gd name="g30" fmla="*/ g13 15592 21600" />\r
- <gd name="g31" fmla="+- g11 g14 0" />\r
- <gd name="g32" fmla="+- g11 g15 0" />\r
- <gd name="g33" fmla="+- g11 g16 0" />\r
- <gd name="g34" fmla="+- g11 g17 0" />\r
- <gd name="g35" fmla="+- g11 g18 0" />\r
- <gd name="g36" fmla="+- g11 g19 0" />\r
- <gd name="g37" fmla="+- g11 g20 0" />\r
- <gd name="g38" fmla="+- g11 g21 0" />\r
- <gd name="g39" fmla="+- g9 g22 0" />\r
- <gd name="g40" fmla="+- g9 g23 0" />\r
- <gd name="g41" fmla="+- g9 g24 0" />\r
- <gd name="g42" fmla="+- g9 g25 0" />\r
- <gd name="g43" fmla="+- g9 g26 0" />\r
- <gd name="g44" fmla="+- g9 g27 0" />\r
- <gd name="g45" fmla="+- g9 g28 0" />\r
- <gd name="g46" fmla="+- g9 g29 0" />\r
- <gd name="g47" fmla="+- g9 g30 0" />\r
- <gd name="g48" fmla="+- g9 g31 0" />\r
- </gdLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path stroke="false" extrusionOk="false">\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- <moveTo>\r
- <pt x="g11" y="g39" />\r
- </moveTo>\r
-\r
- <lnTo>\r
- <pt x="g11" y="g44" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g31" y="g44" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g32" y="g43" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g33" y="g43" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g33" y="g47" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g35" y="g47" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g35" y="g45" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g36" y="g45" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g38" y="g46" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g12" y="g46" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g12" y="g41" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g38" y="g41" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g37" y="g42" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g35" y="g42" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g35" y="g41" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g34" y="g40" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g32" y="g40" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g31" y="g39" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path stroke="false" fill="darken" extrusionOk="false">\r
- <moveTo>\r
- <pt x="g11" y="g39" />\r
- </moveTo>\r
-\r
- <lnTo>\r
- <pt x="g11" y="g44" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g31" y="g44" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g32" y="g43" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g33" y="g43" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g33" y="g47" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g35" y="g47" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g35" y="g45" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g36" y="g45" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g38" y="g46" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g12" y="g46" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g12" y="g41" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g38" y="g41" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g37" y="g42" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g35" y="g42" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g35" y="g41" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g34" y="g40" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g32" y="g40" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g31" y="g39" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path fill="none" extrusionOk="false">\r
- <moveTo>\r
- <pt x="g11" y="g39" />\r
- </moveTo>\r
-\r
- <lnTo>\r
- <pt x="g31" y="g39" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g32" y="g40" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g34" y="g40" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g35" y="g41" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g35" y="g42" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g37" y="g42" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g38" y="g41" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g12" y="g41" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g12" y="g46" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g38" y="g46" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g36" y="g45" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g35" y="g45" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g35" y="g47" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g33" y="g47" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g33" y="g43" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g32" y="g43" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g31" y="g44" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g11" y="g44" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path fill="none">\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
-\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </actionButtonMovie>\r
- <actionButtonReturn>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="dx2" fmla="*/ ss 3 8" />\r
- <gd name="g9" fmla="+- vc 0 dx2" />\r
- <gd name="g10" fmla="+- vc dx2 0" />\r
- <gd name="g11" fmla="+- hc 0 dx2" />\r
- <gd name="g12" fmla="+- hc dx2 0" />\r
- <gd name="g13" fmla="*/ ss 3 4" />\r
- <gd name="g14" fmla="*/ g13 7 8" />\r
- <gd name="g15" fmla="*/ g13 3 4" />\r
- <gd name="g16" fmla="*/ g13 5 8" />\r
- <gd name="g17" fmla="*/ g13 3 8" />\r
- <gd name="g18" fmla="*/ g13 1 4" />\r
- <gd name="g19" fmla="+- g9 g15 0" />\r
- <gd name="g20" fmla="+- g9 g16 0" />\r
- <gd name="g21" fmla="+- g9 g18 0" />\r
- <gd name="g22" fmla="+- g11 g14 0" />\r
- <gd name="g23" fmla="+- g11 g15 0" />\r
- <gd name="g24" fmla="+- g11 g16 0" />\r
- <gd name="g25" fmla="+- g11 g17 0" />\r
- <gd name="g26" fmla="+- g11 g18 0" />\r
- <gd name="g27" fmla="*/ g13 1 8" />\r
- </gdLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path stroke="false" extrusionOk="false">\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- <moveTo>\r
- <pt x="g12" y="g21" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="g23" y="g9" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="hc" y="g21" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g24" y="g21" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g24" y="g20" />\r
- </lnTo>\r
- <arcTo wR="g27" hR="g27" stAng="0" swAng="cd4" />\r
- <lnTo>\r
- <pt x="g25" y="g19" />\r
- </lnTo>\r
- <arcTo wR="g27" hR="g27" stAng="cd4" swAng="cd4" />\r
- <lnTo>\r
- <pt x="g26" y="g21" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g11" y="g21" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g11" y="g20" />\r
- </lnTo>\r
- <arcTo wR="g17" hR="g17" stAng="cd2" swAng="-5400000" />\r
- <lnTo>\r
- <pt x="hc" y="g10" />\r
- </lnTo>\r
- <arcTo wR="g17" hR="g17" stAng="cd4" swAng="-5400000" />\r
- <lnTo>\r
- <pt x="g22" y="g21" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path stroke="false" fill="darken" extrusionOk="false">\r
- <moveTo>\r
- <pt x="g12" y="g21" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="g23" y="g9" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="hc" y="g21" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g24" y="g21" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g24" y="g20" />\r
- </lnTo>\r
- <arcTo wR="g27" hR="g27" stAng="0" swAng="cd4" />\r
- <lnTo>\r
- <pt x="g25" y="g19" />\r
- </lnTo>\r
- <arcTo wR="g27" hR="g27" stAng="cd4" swAng="cd4" />\r
- <lnTo>\r
- <pt x="g26" y="g21" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g11" y="g21" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g11" y="g20" />\r
- </lnTo>\r
- <arcTo wR="g17" hR="g17" stAng="cd2" swAng="-5400000" />\r
- <lnTo>\r
- <pt x="hc" y="g10" />\r
- </lnTo>\r
- <arcTo wR="g17" hR="g17" stAng="cd4" swAng="-5400000" />\r
- <lnTo>\r
- <pt x="g22" y="g21" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path fill="none" extrusionOk="false">\r
- <moveTo>\r
- <pt x="g12" y="g21" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="g22" y="g21" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g22" y="g20" />\r
- </lnTo>\r
- <arcTo wR="g17" hR="g17" stAng="0" swAng="cd4" />\r
- <lnTo>\r
- <pt x="g25" y="g10" />\r
- </lnTo>\r
- <arcTo wR="g17" hR="g17" stAng="cd4" swAng="cd4" />\r
- <lnTo>\r
- <pt x="g11" y="g21" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g26" y="g21" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g26" y="g20" />\r
- </lnTo>\r
- <arcTo wR="g27" hR="g27" stAng="cd2" swAng="-5400000" />\r
- <lnTo>\r
- <pt x="hc" y="g19" />\r
- </lnTo>\r
- <arcTo wR="g27" hR="g27" stAng="cd4" swAng="-5400000" />\r
- <lnTo>\r
- <pt x="g24" y="g21" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="hc" y="g21" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g23" y="g9" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path fill="none">\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
-\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </actionButtonReturn>\r
- <actionButtonSound>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="dx2" fmla="*/ ss 3 8" />\r
- <gd name="g9" fmla="+- vc 0 dx2" />\r
- <gd name="g10" fmla="+- vc dx2 0" />\r
- <gd name="g11" fmla="+- hc 0 dx2" />\r
- <gd name="g12" fmla="+- hc dx2 0" />\r
- <gd name="g13" fmla="*/ ss 3 4" />\r
- <gd name="g14" fmla="*/ g13 1 8" />\r
- <gd name="g15" fmla="*/ g13 5 16" />\r
- <gd name="g16" fmla="*/ g13 5 8" />\r
- <gd name="g17" fmla="*/ g13 11 16" />\r
- <gd name="g18" fmla="*/ g13 3 4" />\r
- <gd name="g19" fmla="*/ g13 7 8" />\r
- <gd name="g20" fmla="+- g9 g14 0" />\r
- <gd name="g21" fmla="+- g9 g15 0" />\r
- <gd name="g22" fmla="+- g9 g17 0" />\r
- <gd name="g23" fmla="+- g9 g19 0" />\r
- <gd name="g24" fmla="+- g11 g15 0" />\r
- <gd name="g25" fmla="+- g11 g16 0" />\r
- <gd name="g26" fmla="+- g11 g18 0" />\r
- </gdLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path stroke="false" extrusionOk="false">\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- <moveTo>\r
- <pt x="g11" y="g21" />\r
- </moveTo>\r
-\r
- <lnTo>\r
- <pt x="g11" y="g22" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g24" y="g22" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g25" y="g10" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g25" y="g9" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g24" y="g21" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path stroke="false" fill="darken" extrusionOk="false">\r
- <moveTo>\r
- <pt x="g11" y="g21" />\r
- </moveTo>\r
-\r
- <lnTo>\r
- <pt x="g11" y="g22" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g24" y="g22" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g25" y="g10" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g25" y="g9" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g24" y="g21" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path fill="none" extrusionOk="false">\r
- <moveTo>\r
- <pt x="g11" y="g21" />\r
- </moveTo>\r
-\r
- <lnTo>\r
- <pt x="g24" y="g21" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g25" y="g9" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g25" y="g10" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g24" y="g22" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="g11" y="g22" />\r
- </lnTo>\r
- <close />\r
- <moveTo>\r
- <pt x="g26" y="g21" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="g12" y="g20" />\r
- </lnTo>\r
- <moveTo>\r
- <pt x="g26" y="vc" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="g12" y="vc" />\r
- </lnTo>\r
- <moveTo>\r
- <pt x="g26" y="g22" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="g12" y="g23" />\r
- </lnTo>\r
- </path>\r
- <path fill="none">\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
-\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </actionButtonSound>\r
- <arc>\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 16200000" />\r
- <gd name="adj2" fmla="val 0" />\r
- </avLst>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="stAng" fmla="pin 0 adj1 21599999" />\r
- <gd name="enAng" fmla="pin 0 adj2 21599999" />\r
- <gd name="sw11" fmla="+- enAng 0 stAng" />\r
- <gd name="sw12" fmla="+- sw11 21600000 0" />\r
- <gd name="swAng" fmla="?: sw11 sw11 sw12" />\r
- <gd name="wt1" fmla="sin wd2 stAng" />\r
- <gd name="ht1" fmla="cos hd2 stAng" />\r
- <gd name="dx1" fmla="cat2 wd2 ht1 wt1" />\r
- <gd name="dy1" fmla="sat2 hd2 ht1 wt1" />\r
- <gd name="wt2" fmla="sin wd2 enAng" />\r
- <gd name="ht2" fmla="cos hd2 enAng" />\r
- <gd name="dx2" fmla="cat2 wd2 ht2 wt2" />\r
- <gd name="dy2" fmla="sat2 hd2 ht2 wt2" />\r
- <gd name="x1" fmla="+- hc dx1 0" />\r
- <gd name="y1" fmla="+- vc dy1 0" />\r
- <gd name="x2" fmla="+- hc dx2 0" />\r
- <gd name="y2" fmla="+- vc dy2 0" />\r
- <gd name="sw0" fmla="+- 21600000 0 stAng" />\r
- <gd name="da1" fmla="+- swAng 0 sw0" />\r
- <gd name="g1" fmla="max x1 x2" />\r
- <gd name="ir" fmla="?: da1 r g1" />\r
- <gd name="sw1" fmla="+- cd4 0 stAng" />\r
- <gd name="sw2" fmla="+- 27000000 0 stAng" />\r
- <gd name="sw3" fmla="?: sw1 sw1 sw2" />\r
- <gd name="da2" fmla="+- swAng 0 sw3" />\r
- <gd name="g5" fmla="max y1 y2" />\r
- <gd name="ib" fmla="?: da2 b g5" />\r
- <gd name="sw4" fmla="+- cd2 0 stAng" />\r
- <gd name="sw5" fmla="+- 32400000 0 stAng" />\r
- <gd name="sw6" fmla="?: sw4 sw4 sw5" />\r
- <gd name="da3" fmla="+- swAng 0 sw6" />\r
- <gd name="g9" fmla="min x1 x2" />\r
- <gd name="il" fmla="?: da3 l g9" />\r
- <gd name="sw7" fmla="+- 3cd4 0 stAng" />\r
- <gd name="sw8" fmla="+- 37800000 0 stAng" />\r
- <gd name="sw9" fmla="?: sw7 sw7 sw8" />\r
- <gd name="da4" fmla="+- swAng 0 sw9" />\r
- <gd name="g13" fmla="min y1 y2" />\r
- <gd name="it" fmla="?: da4 t g13" />\r
- <gd name="cang1" fmla="+- stAng 0 cd4" />\r
- <gd name="cang2" fmla="+- enAng cd4 0" />\r
- <gd name="cang3" fmla="+/ cang1 cang2 2" />\r
- </gdLst>\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahPolar gdRefAng="adj1" minAng="0" maxAng="21599999">\r
- <pos x="x1" y="y1" />\r
- </ahPolar>\r
- <ahPolar gdRefAng="adj2" minAng="0" maxAng="21599999">\r
- <pos x="x2" y="y2" />\r
- </ahPolar>\r
- </ahLst>\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="cang1">\r
- <pos x="x1" y="y1" />\r
- </cxn>\r
- <cxn ang="cang3">\r
- <pos x="hc" y="vc" />\r
- </cxn>\r
- <cxn ang="cang2">\r
- <pos x="x2" y="y2" />\r
- </cxn>\r
- </cxnLst>\r
- <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path stroke="false" extrusionOk="false">\r
- <moveTo>\r
- <pt x="x1" y="y1" />\r
- </moveTo>\r
- <arcTo wR="wd2" hR="hd2" stAng="stAng" swAng="swAng" />\r
- <lnTo>\r
- <pt x="hc" y="vc" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path fill="none">\r
- <moveTo>\r
- <pt x="x1" y="y1" />\r
- </moveTo>\r
- <arcTo wR="wd2" hR="hd2" stAng="stAng" swAng="swAng" />\r
- </path>\r
- </pathLst>\r
- </arc>\r
- <bentArrow>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 25000" />\r
-\r
- <gd name="adj2" fmla="val 25000" />\r
-\r
- <gd name="adj3" fmla="val 25000" />\r
-\r
- <gd name="adj4" fmla="val 43750" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a2" fmla="pin 0 adj2 50000" />\r
- <gd name="maxAdj1" fmla="*/ a2 2 1" />\r
-\r
- <gd name="a1" fmla="pin 0 adj1 maxAdj1" />\r
- <gd name="a3" fmla="pin 0 adj3 50000" />\r
- <gd name="th" fmla="*/ ss a1 100000" />\r
-\r
- <gd name="aw2" fmla="*/ ss a2 100000" />\r
-\r
- <gd name="th2" fmla="*/ th 1 2" />\r
- <gd name="dh2" fmla="+- aw2 0 th2" />\r
-\r
- <gd name="ah" fmla="*/ ss a3 100000" />\r
-\r
- <gd name="bw" fmla="+- r 0 ah" />\r
-\r
- <gd name="bh" fmla="+- b 0 dh2" />\r
-\r
- <gd name="bs" fmla="min bw bh" />\r
-\r
- <gd name="maxAdj4" fmla="*/ 100000 bs ss" />\r
- <gd name="a4" fmla="pin 0 adj4 maxAdj4" />\r
-\r
- <gd name="bd" fmla="*/ ss a4 100000" />\r
-\r
-\r
- <gd name="bd3" fmla="+- bd 0 th" />\r
- <gd name="bd2" fmla="max bd3 0" />\r
- <gd name="x3" fmla="+- th bd2 0" />\r
- <gd name="x4" fmla="+- r 0 ah" />\r
-\r
-\r
- <gd name="y3" fmla="+- dh2 th 0" />\r
- <gd name="y4" fmla="+- y3 dh2 0" />\r
- <gd name="y5" fmla="+- dh2 bd 0" />\r
- <gd name="y6" fmla="+- y3 bd2 0" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj1" minX="0" maxX="maxAdj1">\r
- <pos x="th" y="b" />\r
- </ahXY>\r
- <ahXY gdRefY="adj2" minY="0" maxY="50000">\r
- <pos x="r" y="y4" />\r
- </ahXY>\r
- <ahXY gdRefX="adj3" minX="0" maxX="50000">\r
- <pos x="x4" y="t" />\r
- </ahXY>\r
- <ahXY gdRefX="adj4" minX="0" maxX="maxAdj4">\r
- <pos x="bd" y="t" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="x4" y="t" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x4" y="y4" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="th2" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="aw2" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="b" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="l" y="y5" />\r
- </lnTo>\r
- <arcTo wR="bd" hR="bd" stAng="cd2" swAng="cd4" />\r
- <lnTo>\r
- <pt x="x4" y="dh2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="aw2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y3" />\r
- </lnTo>\r
- <arcTo wR="bd2" hR="bd2" stAng="3cd4" swAng="-5400000" />\r
- <lnTo>\r
- <pt x="th" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </bentArrow>\r
- <bentConnector2>\r
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path fill="none">\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- </path>\r
- </pathLst>\r
- </bentConnector2>\r
- <bentConnector3>\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 50000" />\r
- </avLst>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="x1" fmla="*/ w adj1 100000" />\r
- </gdLst>\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj1" minX="-2147483647" maxX="2147483647">\r
- <pos x="x1" y="vc" />\r
- </ahXY>\r
- </ahLst>\r
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path fill="none">\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x1" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- </path>\r
- </pathLst>\r
- </bentConnector3>\r
- <bentConnector4>\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 50000" />\r
- <gd name="adj2" fmla="val 50000" />\r
- </avLst>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="x1" fmla="*/ w adj1 100000" />\r
- <gd name="x2" fmla="+/ x1 r 2" />\r
- <gd name="y2" fmla="*/ h adj2 100000" />\r
- <gd name="y1" fmla="+/ t y2 2" />\r
- </gdLst>\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj1" minX="-2147483647" maxX="2147483647">\r
- <pos x="x1" y="y1" />\r
- </ahXY>\r
- <ahXY gdRefY="adj2" minY="-2147483647" maxY="2147483647">\r
- <pos x="x2" y="y2" />\r
- </ahXY>\r
- </ahLst>\r
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path fill="none">\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x1" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- </path>\r
- </pathLst>\r
- </bentConnector4>\r
- <bentConnector5>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 50000" />\r
-\r
- <gd name="adj2" fmla="val 50000" />\r
-\r
- <gd name="adj3" fmla="val 50000" />\r
-\r
- </avLst>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="x1" fmla="*/ w adj1 100000" />\r
-\r
- <gd name="x3" fmla="*/ w adj3 100000" />\r
-\r
- <gd name="x2" fmla="+/ x1 x3 2" />\r
-\r
- <gd name="y2" fmla="*/ h adj2 100000" />\r
-\r
- <gd name="y1" fmla="+/ t y2 2" />\r
-\r
- <gd name="y3" fmla="+/ b y2 2" />\r
-\r
- </gdLst>\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj1" minX="-2147483647" maxX="2147483647">\r
- <pos x="x1" y="y1" />\r
- </ahXY>\r
- <ahXY gdRefY="adj2" minY="-2147483647" maxY="2147483647">\r
- <pos x="x2" y="y2" />\r
- </ahXY>\r
- <ahXY gdRefX="adj3" minX="-2147483647" maxX="2147483647">\r
- <pos x="x3" y="y3" />\r
- </ahXY>\r
- </ahLst>\r
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path fill="none">\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x1" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- </path>\r
- </pathLst>\r
-\r
- </bentConnector5>\r
- <bentUpArrow>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 25000" />\r
-\r
- <gd name="adj2" fmla="val 25000" />\r
-\r
- <gd name="adj3" fmla="val 25000" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a1" fmla="pin 0 adj1 50000" />\r
- <gd name="a2" fmla="pin 0 adj2 50000" />\r
- <gd name="a3" fmla="pin 0 adj3 50000" />\r
- <gd name="y1" fmla="*/ ss a3 100000" />\r
- <gd name="dx1" fmla="*/ ss a2 50000" />\r
-\r
- <gd name="x1" fmla="+- r 0 dx1" />\r
- <gd name="dx3" fmla="*/ ss a2 100000" />\r
-\r
- <gd name="x3" fmla="+- r 0 dx3" />\r
- <gd name="dx2" fmla="*/ ss a1 200000" />\r
-\r
- <gd name="x2" fmla="+- x3 0 dx2" />\r
- <gd name="x4" fmla="+- x3 dx2 0" />\r
- <gd name="dy2" fmla="*/ ss a1 100000" />\r
-\r
- <gd name="y2" fmla="+- b 0 dy2" />\r
- <gd name="x0" fmla="*/ x4 1 2" />\r
- <gd name="y3" fmla="+/ y2 b 2" />\r
- <gd name="y15" fmla="+/ y1 b 2" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj1" minY="0" maxY="50000">\r
- <pos x="l" y="y2" />\r
- </ahXY>\r
- <ahXY gdRefX="adj2" minX="0" maxX="50000">\r
- <pos x="x1" y="t" />\r
- </ahXY>\r
- <ahXY gdRefY="adj3" minY="0" maxY="50000">\r
- <pos x="x2" y="y1" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="x3" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="x1" y="y1" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="y3" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x0" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="x4" y="y15" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="y1" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="l" t="y2" r="x4" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="y2" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x2" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </bentUpArrow>\r
- <bevel>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj" fmla="val 12500" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a" fmla="pin 0 adj 50000" />\r
- <gd name="x1" fmla="*/ ss a 100000" />\r
-\r
-\r
-\r
- <gd name="x2" fmla="+- r 0 x1" />\r
-\r
- <gd name="y2" fmla="+- b 0 x1" />\r
-\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj" minX="0" maxX="50000">\r
- <pos x="x1" y="t" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="x2" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="y2" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="x1" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="x1" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="x1" t="x1" r="x2" b="y2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path stroke="false" extrusionOk="false">\r
-\r
- <moveTo>\r
- <pt x="x1" y="x1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x2" y="x1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y2" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path stroke="false" fill="lightenLess" extrusionOk="false">\r
-\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="x1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="x1" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path stroke="false" fill="darkenLess" extrusionOk="false">\r
-\r
- <moveTo>\r
- <pt x="l" y="b" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x1" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path stroke="false" fill="lighten" extrusionOk="false">\r
-\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x1" y="x1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path stroke="false" fill="darken" extrusionOk="false">\r
-\r
- <moveTo>\r
- <pt x="r" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="x1" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path fill="none" extrusionOk="false">\r
-\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- <moveTo>\r
- <pt x="x1" y="x1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x2" y="x1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y2" />\r
- </lnTo>\r
- <close />\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x1" y="x1" />\r
- </lnTo>\r
- <moveTo>\r
- <pt x="l" y="b" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x1" y="y2" />\r
- </lnTo>\r
- <moveTo>\r
- <pt x="r" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x2" y="x1" />\r
- </lnTo>\r
- <moveTo>\r
- <pt x="r" y="b" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x2" y="y2" />\r
- </lnTo>\r
- </path>\r
- </pathLst>\r
-\r
- </bevel>\r
- <blockArc>\r
-\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 10800000" />\r
-\r
- <gd name="adj2" fmla="val 0" />\r
-\r
- <gd name="adj3" fmla="val 25000" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="stAng" fmla="pin 0 adj1 21599999" />\r
- <gd name="istAng" fmla="pin 0 adj2 21599999" />\r
- <gd name="a3" fmla="pin 0 adj3 50000" />\r
- <gd name="sw11" fmla="+- istAng 0 stAng" />\r
-\r
- <gd name="sw12" fmla="+- sw11 21600000 0" />\r
-\r
- <gd name="swAng" fmla="?: sw11 sw11 sw12" />\r
-\r
- <gd name="iswAng" fmla="+- 0 0 swAng" />\r
-\r
-\r
- <gd name="wt1" fmla="sin wd2 stAng" />\r
- <gd name="ht1" fmla="cos hd2 stAng" />\r
- <gd name="wt3" fmla="sin wd2 istAng" />\r
- <gd name="ht3" fmla="cos hd2 istAng" />\r
- <gd name="dx1" fmla="cat2 wd2 ht1 wt1" />\r
- <gd name="dy1" fmla="sat2 hd2 ht1 wt1" />\r
- <gd name="dx3" fmla="cat2 wd2 ht3 wt3" />\r
- <gd name="dy3" fmla="sat2 hd2 ht3 wt3" />\r
- <gd name="x1" fmla="+- hc dx1 0" />\r
-\r
- <gd name="y1" fmla="+- vc dy1 0" />\r
-\r
- <gd name="x3" fmla="+- hc dx3 0" />\r
-\r
- <gd name="y3" fmla="+- vc dy3 0" />\r
-\r
-\r
- <gd name="dr" fmla="*/ ss a3 100000" />\r
- <gd name="iwd2" fmla="+- wd2 0 dr" />\r
- <gd name="ihd2" fmla="+- hd2 0 dr" />\r
- <gd name="wt2" fmla="sin iwd2 istAng" />\r
- <gd name="ht2" fmla="cos ihd2 istAng" />\r
- <gd name="wt4" fmla="sin iwd2 stAng" />\r
- <gd name="ht4" fmla="cos ihd2 stAng" />\r
- <gd name="dx2" fmla="cat2 iwd2 ht2 wt2" />\r
- <gd name="dy2" fmla="sat2 ihd2 ht2 wt2" />\r
- <gd name="dx4" fmla="cat2 iwd2 ht4 wt4" />\r
- <gd name="dy4" fmla="sat2 ihd2 ht4 wt4" />\r
- <gd name="x2" fmla="+- hc dx2 0" />\r
-\r
- <gd name="y2" fmla="+- vc dy2 0" />\r
-\r
- <gd name="x4" fmla="+- hc dx4 0" />\r
-\r
- <gd name="y4" fmla="+- vc dy4 0" />\r
-\r
-\r
- <gd name="sw0" fmla="+- 21600000 0 stAng" />\r
- <gd name="da1" fmla="+- swAng 0 sw0" />\r
- <gd name="g1" fmla="max x1 x2" />\r
- <gd name="g2" fmla="max x3 x4" />\r
- <gd name="g3" fmla="max g1 g2" />\r
- <gd name="ir" fmla="?: da1 r g3" />\r
-\r
- <gd name="sw1" fmla="+- cd4 0 stAng" />\r
- <gd name="sw2" fmla="+- 27000000 0 stAng" />\r
- <gd name="sw3" fmla="?: sw1 sw1 sw2" />\r
- <gd name="da2" fmla="+- swAng 0 sw3" />\r
- <gd name="g5" fmla="max y1 y2" />\r
- <gd name="g6" fmla="max y3 y4" />\r
- <gd name="g7" fmla="max g5 g6" />\r
- <gd name="ib" fmla="?: da2 b g7" />\r
-\r
- <gd name="sw4" fmla="+- cd2 0 stAng" />\r
- <gd name="sw5" fmla="+- 32400000 0 stAng" />\r
- <gd name="sw6" fmla="?: sw4 sw4 sw5" />\r
- <gd name="da3" fmla="+- swAng 0 sw6" />\r
- <gd name="g9" fmla="min x1 x2" />\r
- <gd name="g10" fmla="min x3 x4" />\r
- <gd name="g11" fmla="min g9 g10" />\r
- <gd name="il" fmla="?: da3 l g11" />\r
-\r
- <gd name="sw7" fmla="+- 3cd4 0 stAng" />\r
- <gd name="sw8" fmla="+- 37800000 0 stAng" />\r
- <gd name="sw9" fmla="?: sw7 sw7 sw8" />\r
- <gd name="da4" fmla="+- swAng 0 sw9" />\r
- <gd name="g13" fmla="min y1 y2" />\r
- <gd name="g14" fmla="min y3 y4" />\r
- <gd name="g15" fmla="min g13 g14" />\r
- <gd name="it" fmla="?: da4 t g15" />\r
-\r
- <gd name="x5" fmla="+/ x1 x4 2" />\r
-\r
- <gd name="y5" fmla="+/ y1 y4 2" />\r
-\r
- <gd name="x6" fmla="+/ x3 x2 2" />\r
-\r
- <gd name="y6" fmla="+/ y3 y2 2" />\r
-\r
- <gd name="cang1" fmla="+- stAng 0 cd4" />\r
- <gd name="cang2" fmla="+- istAng cd4 0" />\r
- <gd name="cang3" fmla="+/ cang1 cang2 2" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahPolar gdRefAng="adj1" minAng="0" maxAng="21599999">\r
- <pos x="x1" y="y1" />\r
- </ahPolar>\r
- <ahPolar gdRefR="adj3" minR="0" maxR="50000" gdRefAng="adj2" minAng="0" maxAng="21599999">\r
- <pos x="x2" y="y2" />\r
- </ahPolar>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="cang1">\r
- <pos x="x5" y="y5" />\r
- </cxn>\r
- <cxn ang="cang2">\r
- <pos x="x6" y="y6" />\r
- </cxn>\r
- <cxn ang="cang3">\r
- <pos x="hc" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="x1" y="y1" />\r
- </moveTo>\r
- <arcTo wR="wd2" hR="hd2" stAng="stAng" swAng="swAng" />\r
- <lnTo>\r
- <pt x="x2" y="y2" />\r
- </lnTo>\r
- <arcTo wR="iwd2" hR="ihd2" stAng="istAng" swAng="iswAng" />\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </blockArc>\r
- <borderCallout1>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
-\r
- <gd name="adj1" fmla="val 18750" />\r
-\r
- <gd name="adj2" fmla="val -8333" />\r
-\r
- <gd name="adj3" fmla="val 112500" />\r
-\r
- <gd name="adj4" fmla="val -38333" />\r
-\r
- </avLst>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="y1" fmla="*/ h adj1 100000" />\r
- <gd name="x1" fmla="*/ w adj2 100000" />\r
- <gd name="y2" fmla="*/ h adj3 100000" />\r
- <gd name="x2" fmla="*/ w adj4 100000" />\r
- </gdLst>\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">\r
- <pos x="x1" y="y1" />\r
- </ahXY>\r
- <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">\r
- <pos x="x2" y="y2" />\r
- </ahXY>\r
- </ahLst>\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- </cxnLst>\r
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path extrusionOk="false">\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path fill="none" extrusionOk="false">\r
- <moveTo>\r
- <pt x="x1" y="y1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x2" y="y2" />\r
- </lnTo>\r
- </path>\r
- </pathLst>\r
-\r
- </borderCallout1>\r
- <borderCallout2>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
-\r
- <gd name="adj1" fmla="val 18750" />\r
-\r
- <gd name="adj2" fmla="val -8333" />\r
-\r
- <gd name="adj3" fmla="val 18750" />\r
-\r
- <gd name="adj4" fmla="val -16667" />\r
-\r
- <gd name="adj5" fmla="val 112500" />\r
-\r
- <gd name="adj6" fmla="val -46667" />\r
-\r
- </avLst>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="y1" fmla="*/ h adj1 100000" />\r
- <gd name="x1" fmla="*/ w adj2 100000" />\r
- <gd name="y2" fmla="*/ h adj3 100000" />\r
- <gd name="x2" fmla="*/ w adj4 100000" />\r
- <gd name="y3" fmla="*/ h adj5 100000" />\r
- <gd name="x3" fmla="*/ w adj6 100000" />\r
- </gdLst>\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">\r
- <pos x="x1" y="y1" />\r
- </ahXY>\r
- <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">\r
- <pos x="x2" y="y2" />\r
- </ahXY>\r
- <ahXY gdRefX="adj6" minX="-2147483647" maxX="2147483647" gdRefY="adj5" minY="-2147483647" maxY="2147483647">\r
- <pos x="x3" y="y3" />\r
- </ahXY>\r
- </ahLst>\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- </cxnLst>\r
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path extrusionOk="false">\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path fill="none" extrusionOk="false">\r
- <moveTo>\r
- <pt x="x1" y="y1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x2" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y3" />\r
- </lnTo>\r
- </path>\r
- </pathLst>\r
-\r
- </borderCallout2>\r
- <borderCallout3>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
-\r
- <gd name="adj1" fmla="val 18750" />\r
-\r
- <gd name="adj2" fmla="val -8333" />\r
-\r
- <gd name="adj3" fmla="val 18750" />\r
-\r
- <gd name="adj4" fmla="val -16667" />\r
-\r
- <gd name="adj5" fmla="val 100000" />\r
-\r
- <gd name="adj6" fmla="val -16667" />\r
-\r
- <gd name="adj7" fmla="val 112963" />\r
-\r
- <gd name="adj8" fmla="val -8333" />\r
-\r
- </avLst>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="y1" fmla="*/ h adj1 100000" />\r
- <gd name="x1" fmla="*/ w adj2 100000" />\r
- <gd name="y2" fmla="*/ h adj3 100000" />\r
- <gd name="x2" fmla="*/ w adj4 100000" />\r
- <gd name="y3" fmla="*/ h adj5 100000" />\r
- <gd name="x3" fmla="*/ w adj6 100000" />\r
- <gd name="y4" fmla="*/ h adj7 100000" />\r
- <gd name="x4" fmla="*/ w adj8 100000" />\r
- </gdLst>\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">\r
- <pos x="x1" y="y1" />\r
- </ahXY>\r
- <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">\r
- <pos x="x2" y="y2" />\r
- </ahXY>\r
- <ahXY gdRefX="adj6" minX="-2147483647" maxX="2147483647" gdRefY="adj5" minY="-2147483647" maxY="2147483647">\r
- <pos x="x3" y="y3" />\r
- </ahXY>\r
- <ahXY gdRefX="adj8" minX="-2147483647" maxX="2147483647" gdRefY="adj7" minY="-2147483647" maxY="2147483647">\r
- <pos x="x4" y="y4" />\r
- </ahXY>\r
- </ahLst>\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- </cxnLst>\r
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path extrusionOk="false">\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path fill="none" extrusionOk="false">\r
- <moveTo>\r
- <pt x="x1" y="y1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x2" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y4" />\r
- </lnTo>\r
- </path>\r
- </pathLst>\r
-\r
- </borderCallout3>\r
- <bracePair>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj" fmla="val 8333" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a" fmla="pin 0 adj 25000" />\r
- <gd name="x1" fmla="*/ ss a 100000" />\r
- <gd name="x2" fmla="*/ ss a 50000" />\r
- <gd name="x3" fmla="+- r 0 x2" />\r
- <gd name="x4" fmla="+- r 0 x1" />\r
-\r
- <gd name="y2" fmla="+- vc 0 x1" />\r
- <gd name="y3" fmla="+- vc x1 0" />\r
- <gd name="y4" fmla="+- b 0 x1" />\r
- <gd name="it" fmla="*/ x1 29289 100000" />\r
-\r
- <gd name="il" fmla="+- x1 it 0" />\r
- <gd name="ir" fmla="+- r 0 il" />\r
- <gd name="ib" fmla="+- b 0 it" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj" minY="0" maxY="25000">\r
- <pos x="l" y="x1" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="il" t="il" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path stroke="false" extrusionOk="false">\r
- <moveTo>\r
- <pt x="x2" y="b" />\r
- </moveTo>\r
- <arcTo wR="x1" hR="x1" stAng="cd4" swAng="cd4" />\r
- <lnTo>\r
- <pt x="x1" y="y3" />\r
- </lnTo>\r
- <arcTo wR="x1" hR="x1" stAng="0" swAng="-5400000" />\r
- <arcTo wR="x1" hR="x1" stAng="cd4" swAng="-5400000" />\r
- <lnTo>\r
- <pt x="x1" y="x1" />\r
- </lnTo>\r
- <arcTo wR="x1" hR="x1" stAng="cd2" swAng="cd4" />\r
- <lnTo>\r
- <pt x="x3" y="t" />\r
- </lnTo>\r
- <arcTo wR="x1" hR="x1" stAng="3cd4" swAng="cd4" />\r
- <lnTo>\r
- <pt x="x4" y="y2" />\r
- </lnTo>\r
- <arcTo wR="x1" hR="x1" stAng="cd2" swAng="-5400000" />\r
- <arcTo wR="x1" hR="x1" stAng="3cd4" swAng="-5400000" />\r
- <lnTo>\r
- <pt x="x4" y="y4" />\r
- </lnTo>\r
- <arcTo wR="x1" hR="x1" stAng="0" swAng="cd4" />\r
- <close />\r
- </path>\r
- <path fill="none">\r
- <moveTo>\r
- <pt x="x2" y="b" />\r
- </moveTo>\r
- <arcTo wR="x1" hR="x1" stAng="cd4" swAng="cd4" />\r
- <lnTo>\r
- <pt x="x1" y="y3" />\r
- </lnTo>\r
- <arcTo wR="x1" hR="x1" stAng="0" swAng="-5400000" />\r
- <arcTo wR="x1" hR="x1" stAng="cd4" swAng="-5400000" />\r
- <lnTo>\r
- <pt x="x1" y="x1" />\r
- </lnTo>\r
- <arcTo wR="x1" hR="x1" stAng="cd2" swAng="cd4" />\r
- <moveTo>\r
- <pt x="x3" y="t" />\r
- </moveTo>\r
- <arcTo wR="x1" hR="x1" stAng="3cd4" swAng="cd4" />\r
- <lnTo>\r
- <pt x="x4" y="y2" />\r
- </lnTo>\r
- <arcTo wR="x1" hR="x1" stAng="cd2" swAng="-5400000" />\r
- <arcTo wR="x1" hR="x1" stAng="3cd4" swAng="-5400000" />\r
- <lnTo>\r
- <pt x="x4" y="y4" />\r
- </lnTo>\r
- <arcTo wR="x1" hR="x1" stAng="0" swAng="cd4" />\r
- </path>\r
- </pathLst>\r
-\r
- </bracePair>\r
- <bracketPair>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj" fmla="val 16667" />\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a" fmla="pin 0 adj 50000" />\r
- <gd name="x1" fmla="*/ ss a 100000" />\r
- <gd name="x2" fmla="+- r 0 x1" />\r
-\r
- <gd name="y2" fmla="+- b 0 x1" />\r
- <gd name="il" fmla="*/ x1 29289 100000" />\r
-\r
-\r
- <gd name="ir" fmla="+- r 0 il" />\r
- <gd name="ib" fmla="+- b 0 il" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj" minY="0" maxY="50000">\r
- <pos x="l" y="x1" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="il" t="il" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path stroke="false" extrusionOk="false">\r
- <moveTo>\r
- <pt x="l" y="x1" />\r
- </moveTo>\r
- <arcTo wR="x1" hR="x1" stAng="cd2" swAng="cd4" />\r
- <lnTo>\r
- <pt x="x2" y="t" />\r
- </lnTo>\r
- <arcTo wR="x1" hR="x1" stAng="3cd4" swAng="cd4" />\r
- <lnTo>\r
- <pt x="r" y="y2" />\r
- </lnTo>\r
- <arcTo wR="x1" hR="x1" stAng="0" swAng="cd4" />\r
- <lnTo>\r
- <pt x="x1" y="b" />\r
- </lnTo>\r
- <arcTo wR="x1" hR="x1" stAng="cd4" swAng="cd4" />\r
- <close />\r
- </path>\r
- <path fill="none">\r
- <moveTo>\r
- <pt x="x1" y="b" />\r
- </moveTo>\r
- <arcTo wR="x1" hR="x1" stAng="cd4" swAng="cd4" />\r
- <lnTo>\r
- <pt x="l" y="x1" />\r
- </lnTo>\r
- <arcTo wR="x1" hR="x1" stAng="cd2" swAng="cd4" />\r
- <moveTo>\r
- <pt x="x2" y="t" />\r
- </moveTo>\r
- <arcTo wR="x1" hR="x1" stAng="3cd4" swAng="cd4" />\r
- <lnTo>\r
- <pt x="r" y="y2" />\r
- </lnTo>\r
- <arcTo wR="x1" hR="x1" stAng="0" swAng="cd4" />\r
- </path>\r
- </pathLst>\r
-\r
- </bracketPair>\r
- <callout1>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
-\r
- <gd name="adj1" fmla="val 18750" />\r
-\r
- <gd name="adj2" fmla="val -8333" />\r
-\r
- <gd name="adj3" fmla="val 112500" />\r
-\r
- <gd name="adj4" fmla="val -38333" />\r
-\r
- </avLst>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="y1" fmla="*/ h adj1 100000" />\r
- <gd name="x1" fmla="*/ w adj2 100000" />\r
- <gd name="y2" fmla="*/ h adj3 100000" />\r
- <gd name="x2" fmla="*/ w adj4 100000" />\r
- </gdLst>\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">\r
- <pos x="x1" y="y1" />\r
- </ahXY>\r
- <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">\r
- <pos x="x2" y="y2" />\r
- </ahXY>\r
- </ahLst>\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- </cxnLst>\r
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path stroke="false" extrusionOk="false">\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path fill="none" extrusionOk="false">\r
- <moveTo>\r
- <pt x="x1" y="y1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x2" y="y2" />\r
- </lnTo>\r
- </path>\r
- </pathLst>\r
-\r
- </callout1>\r
- <callout2>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
-\r
- <gd name="adj1" fmla="val 18750" />\r
-\r
- <gd name="adj2" fmla="val -8333" />\r
-\r
- <gd name="adj3" fmla="val 18750" />\r
-\r
- <gd name="adj4" fmla="val -16667" />\r
-\r
- <gd name="adj5" fmla="val 112500" />\r
-\r
- <gd name="adj6" fmla="val -46667" />\r
-\r
- </avLst>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="y1" fmla="*/ h adj1 100000" />\r
- <gd name="x1" fmla="*/ w adj2 100000" />\r
- <gd name="y2" fmla="*/ h adj3 100000" />\r
- <gd name="x2" fmla="*/ w adj4 100000" />\r
- <gd name="y3" fmla="*/ h adj5 100000" />\r
- <gd name="x3" fmla="*/ w adj6 100000" />\r
- </gdLst>\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">\r
- <pos x="x1" y="y1" />\r
- </ahXY>\r
- <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">\r
- <pos x="x2" y="y2" />\r
- </ahXY>\r
- <ahXY gdRefX="adj6" minX="-2147483647" maxX="2147483647" gdRefY="adj5" minY="-2147483647" maxY="2147483647">\r
- <pos x="x3" y="y3" />\r
- </ahXY>\r
- </ahLst>\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- </cxnLst>\r
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path stroke="false" extrusionOk="false">\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path fill="none" extrusionOk="false">\r
- <moveTo>\r
- <pt x="x1" y="y1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x2" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y3" />\r
- </lnTo>\r
- </path>\r
- </pathLst>\r
-\r
- </callout2>\r
- <callout3>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
-\r
- <gd name="adj1" fmla="val 18750" />\r
-\r
- <gd name="adj2" fmla="val -8333" />\r
-\r
- <gd name="adj3" fmla="val 18750" />\r
-\r
- <gd name="adj4" fmla="val -16667" />\r
-\r
- <gd name="adj5" fmla="val 100000" />\r
-\r
- <gd name="adj6" fmla="val -16667" />\r
-\r
- <gd name="adj7" fmla="val 112963" />\r
-\r
- <gd name="adj8" fmla="val -8333" />\r
-\r
- </avLst>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="y1" fmla="*/ h adj1 100000" />\r
- <gd name="x1" fmla="*/ w adj2 100000" />\r
- <gd name="y2" fmla="*/ h adj3 100000" />\r
- <gd name="x2" fmla="*/ w adj4 100000" />\r
- <gd name="y3" fmla="*/ h adj5 100000" />\r
- <gd name="x3" fmla="*/ w adj6 100000" />\r
- <gd name="y4" fmla="*/ h adj7 100000" />\r
- <gd name="x4" fmla="*/ w adj8 100000" />\r
- </gdLst>\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">\r
- <pos x="x1" y="y1" />\r
- </ahXY>\r
- <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">\r
- <pos x="x2" y="y2" />\r
- </ahXY>\r
- <ahXY gdRefX="adj6" minX="-2147483647" maxX="2147483647" gdRefY="adj5" minY="-2147483647" maxY="2147483647">\r
- <pos x="x3" y="y3" />\r
- </ahXY>\r
- <ahXY gdRefX="adj8" minX="-2147483647" maxX="2147483647" gdRefY="adj7" minY="-2147483647" maxY="2147483647">\r
- <pos x="x4" y="y4" />\r
- </ahXY>\r
- </ahLst>\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- </cxnLst>\r
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path stroke="false" extrusionOk="false">\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path fill="none" extrusionOk="false">\r
- <moveTo>\r
- <pt x="x1" y="y1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x2" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y4" />\r
- </lnTo>\r
- </path>\r
- </pathLst>\r
-\r
- </callout3>\r
- <can>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj" fmla="val 25000" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="maxAdj" fmla="*/ 50000 h ss" />\r
- <gd name="a" fmla="pin 0 adj maxAdj" />\r
- <gd name="y1" fmla="*/ ss a 200000" />\r
- <gd name="y2" fmla="+- y1 y1 0" />\r
- <gd name="y3" fmla="+- b 0 y1" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj" minY="0" maxY="maxAdj">\r
- <pos x="hc" y="y2" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="y2" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="l" t="y2" r="r" b="y3" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path stroke="false" extrusionOk="false">\r
-\r
- <moveTo>\r
- <pt x="l" y="y1" />\r
- </moveTo>\r
- <arcTo wR="wd2" hR="y1" stAng="cd2" swAng="-10800000" />\r
- <lnTo>\r
- <pt x="r" y="y3" />\r
- </lnTo>\r
- <arcTo wR="wd2" hR="y1" stAng="0" swAng="cd2" />\r
- <close />\r
- </path>\r
- <path stroke="false" fill="lighten" extrusionOk="false">\r
-\r
- <moveTo>\r
- <pt x="l" y="y1" />\r
- </moveTo>\r
- <arcTo wR="wd2" hR="y1" stAng="cd2" swAng="cd2" />\r
- <arcTo wR="wd2" hR="y1" stAng="0" swAng="cd2" />\r
- <close />\r
- </path>\r
- <path fill="none" extrusionOk="false">\r
-\r
- <moveTo>\r
- <pt x="r" y="y1" />\r
- </moveTo>\r
- <arcTo wR="wd2" hR="y1" stAng="0" swAng="cd2" />\r
- <arcTo wR="wd2" hR="y1" stAng="cd2" swAng="cd2" />\r
- <lnTo>\r
- <pt x="r" y="y3" />\r
- </lnTo>\r
- <arcTo wR="wd2" hR="y1" stAng="0" swAng="cd2" />\r
- <lnTo>\r
- <pt x="l" y="y1" />\r
- </lnTo>\r
- </path>\r
- </pathLst>\r
-\r
- </can>\r
- <chartPlus>\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path w="10" h="10" fill="none" extrusionOk="false">\r
- <moveTo>\r
- <pt x="5" y="0" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="5" y="10" />\r
- </lnTo>\r
- <moveTo>\r
- <pt x="0" y="5" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="10" y="5" />\r
- </lnTo>\r
- </path>\r
- <path w="10" h="10" stroke="false">\r
- <moveTo>\r
- <pt x="0" y="0" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="0" y="10" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="10" y="10" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="10" y="0" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </chartPlus>\r
- <chartStar>\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path w="10" h="10" fill="none" extrusionOk="false">\r
- <moveTo>\r
- <pt x="0" y="0" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="10" y="10" />\r
- </lnTo>\r
- <moveTo>\r
- <pt x="0" y="10" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="10" y="0" />\r
- </lnTo>\r
- <moveTo>\r
- <pt x="5" y="0" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="5" y="10" />\r
- </lnTo>\r
- </path>\r
- <path w="10" h="10" stroke="false">\r
- <moveTo>\r
- <pt x="0" y="0" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="0" y="10" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="10" y="10" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="10" y="0" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </chartStar>\r
- <chartX>\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path w="10" h="10" fill="none" extrusionOk="false">\r
- <moveTo>\r
- <pt x="0" y="0" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="10" y="10" />\r
- </lnTo>\r
- <moveTo>\r
- <pt x="0" y="10" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="10" y="0" />\r
- </lnTo>\r
- </path>\r
- <path w="10" h="10" stroke="false">\r
- <moveTo>\r
- <pt x="0" y="0" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="0" y="10" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="10" y="10" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="10" y="0" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </chartX>\r
- <chevron>\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj" fmla="val 50000" />\r
- </avLst>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="maxAdj" fmla="*/ 100000 w ss" />\r
- <gd name="a" fmla="pin 0 adj maxAdj" />\r
- <gd name="x1" fmla="*/ ss a 100000" />\r
- <gd name="x2" fmla="+- r 0 x1" />\r
- <gd name="x3" fmla="*/ x2 1 2" />\r
- <gd name="dx" fmla="+- x2 0 x1" />\r
- <gd name="il" fmla="?: dx x1 l" />\r
- <gd name="ir" fmla="?: dx x2 r" />\r
- </gdLst>\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj" minX="0" maxX="maxAdj">\r
- <pos x="x2" y="t" />\r
- </ahXY>\r
- </ahLst>\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="x3" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="x1" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x3" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
- <rect l="il" t="t" r="ir" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x2" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="vc" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="vc" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
- </chevron>\r
- <chord>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 2700000" />\r
-\r
- <gd name="adj2" fmla="val 16200000" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="stAng" fmla="pin 0 adj1 21599999" />\r
- <gd name="enAng" fmla="pin 0 adj2 21599999" />\r
- <gd name="sw1" fmla="+- enAng 0 stAng" />\r
-\r
- <gd name="sw2" fmla="+- sw1 21600000 0" />\r
-\r
- <gd name="swAng" fmla="?: sw1 sw1 sw2" />\r
-\r
- <gd name="wt1" fmla="sin wd2 stAng" />\r
- <gd name="ht1" fmla="cos hd2 stAng" />\r
- <gd name="dx1" fmla="cat2 wd2 ht1 wt1" />\r
- <gd name="dy1" fmla="sat2 hd2 ht1 wt1" />\r
- <gd name="wt2" fmla="sin wd2 enAng" />\r
- <gd name="ht2" fmla="cos hd2 enAng" />\r
- <gd name="dx2" fmla="cat2 wd2 ht2 wt2" />\r
- <gd name="dy2" fmla="sat2 hd2 ht2 wt2" />\r
- <gd name="x1" fmla="+- hc dx1 0" />\r
-\r
- <gd name="y1" fmla="+- vc dy1 0" />\r
-\r
- <gd name="x2" fmla="+- hc dx2 0" />\r
-\r
- <gd name="y2" fmla="+- vc dy2 0" />\r
-\r
- <gd name="x3" fmla="+/ x1 x2 2" />\r
- <gd name="y3" fmla="+/ y1 y2 2" />\r
- <gd name="midAng0" fmla="*/ swAng 1 2" />\r
- <gd name="midAng" fmla="+- stAng midAng0 cd2" />\r
- <gd name="idx" fmla="cos wd2 2700000" />\r
- <gd name="idy" fmla="sin hd2 2700000" />\r
- <gd name="il" fmla="+- hc 0 idx" />\r
- <gd name="ir" fmla="+- hc idx 0" />\r
- <gd name="it" fmla="+- vc 0 idy" />\r
- <gd name="ib" fmla="+- vc idy 0" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahPolar gdRefAng="adj1" minAng="0" maxAng="21599999">\r
- <pos x="x1" y="y1" />\r
- </ahPolar>\r
- <ahPolar gdRefAng="adj2" minAng="0" maxAng="21599999">\r
- <pos x="x2" y="y2" />\r
- </ahPolar>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="stAng">\r
- <pos x="x1" y="y1" />\r
- </cxn>\r
- <cxn ang="enAng">\r
- <pos x="x2" y="y2" />\r
- </cxn>\r
- <cxn ang="midAng">\r
- <pos x="x3" y="y3" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="x1" y="y1" />\r
- </moveTo>\r
- <arcTo wR="wd2" hR="hd2" stAng="stAng" swAng="swAng" />\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </chord>\r
- <circularArrow>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 12500" />\r
-\r
- <gd name="adj2" fmla="val 1142319" />\r
-\r
- <gd name="adj3" fmla="val 20457681" />\r
-\r
- <gd name="adj4" fmla="val 10800000" />\r
-\r
- <gd name="adj5" fmla="val 12500" />\r
-\r
- </avLst>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a5" fmla="pin 0 adj5 25000" />\r
-\r
- <gd name="maxAdj1" fmla="*/ a5 2 1" />\r
-\r
- <gd name="a1" fmla="pin 0 adj1 maxAdj1" />\r
- <gd name="enAng" fmla="pin 1 adj3 21599999" />\r
- <gd name="stAng" fmla="pin 0 adj4 21599999" />\r
-\r
- <gd name="th" fmla="*/ ss a1 100000" />\r
-\r
- <gd name="thh" fmla="*/ ss a5 100000" />\r
-\r
- <gd name="th2" fmla="*/ th 1 2" />\r
-\r
-\r
- <gd name="rw1" fmla="+- wd2 th2 thh" />\r
-\r
- <gd name="rh1" fmla="+- hd2 th2 thh" />\r
-\r
- <gd name="rw2" fmla="+- rw1 0 th" />\r
-\r
- <gd name="rh2" fmla="+- rh1 0 th" />\r
-\r
- <gd name="rw3" fmla="+- rw2 th2 0" />\r
-\r
- <gd name="rh3" fmla="+- rh2 th2 0" />\r
-\r
-\r
- <gd name="wtH" fmla="sin rw3 enAng" />\r
- <gd name="htH" fmla="cos rh3 enAng" />\r
- <gd name="dxH" fmla="cat2 rw3 htH wtH" />\r
- <gd name="dyH" fmla="sat2 rh3 htH wtH" />\r
- <gd name="xH" fmla="+- hc dxH 0" />\r
-\r
- <gd name="yH" fmla="+- vc dyH 0" />\r
-\r
-\r
- <gd name="rI" fmla="min rw2 rh2" />\r
-\r
- <gd name="u1" fmla="*/ dxH dxH 1" />\r
- <gd name="u2" fmla="*/ dyH dyH 1" />\r
- <gd name="u3" fmla="*/ rI rI 1" />\r
- <gd name="u4" fmla="+- u1 0 u3" />\r
- <gd name="u5" fmla="+- u2 0 u3" />\r
- <gd name="u6" fmla="*/ u4 u5 u1" />\r
- <gd name="u7" fmla="*/ u6 1 u2" />\r
- <gd name="u8" fmla="+- 1 0 u7" />\r
- <gd name="u9" fmla="sqrt u8" />\r
- <gd name="u10" fmla="*/ u4 1 dxH" />\r
- <gd name="u11" fmla="*/ u10 1 dyH" />\r
- <gd name="u12" fmla="+/ 1 u9 u11" />\r
- <gd name="u13" fmla="at2 1 u12" />\r
- <gd name="u14" fmla="+- u13 21600000 0" />\r
- <gd name="u15" fmla="?: u13 u13 u14" />\r
- <gd name="u16" fmla="+- u15 0 enAng" />\r
-\r
- <gd name="u17" fmla="+- u16 21600000 0" />\r
- <gd name="u18" fmla="?: u16 u16 u17" />\r
- <gd name="u19" fmla="+- u18 0 cd2" />\r
- <gd name="u20" fmla="+- u18 0 21600000" />\r
- <gd name="u21" fmla="?: u19 u20 u18" />\r
- <gd name="maxAng" fmla="abs u21" />\r
- <gd name="aAng" fmla="pin 0 adj2 maxAng" />\r
-\r
- <gd name="ptAng" fmla="+- enAng aAng 0" />\r
-\r
-\r
- <gd name="wtA" fmla="sin rw3 ptAng" />\r
- <gd name="htA" fmla="cos rh3 ptAng" />\r
- <gd name="dxA" fmla="cat2 rw3 htA wtA" />\r
- <gd name="dyA" fmla="sat2 rh3 htA wtA" />\r
- <gd name="xA" fmla="+- hc dxA 0" />\r
-\r
- <gd name="yA" fmla="+- vc dyA 0" />\r
-\r
-\r
- <gd name="wtE" fmla="sin rw1 stAng" />\r
- <gd name="htE" fmla="cos rh1 stAng" />\r
- <gd name="dxE" fmla="cat2 rw1 htE wtE" />\r
- <gd name="dyE" fmla="sat2 rh1 htE wtE" />\r
- <gd name="xE" fmla="+- hc dxE 0" />\r
-\r
- <gd name="yE" fmla="+- vc dyE 0" />\r
-\r
-\r
- <gd name="dxG" fmla="cos thh ptAng" />\r
- <gd name="dyG" fmla="sin thh ptAng" />\r
- <gd name="xG" fmla="+- xH dxG 0" />\r
-\r
- <gd name="yG" fmla="+- yH dyG 0" />\r
-\r
-\r
- <gd name="dxB" fmla="cos thh ptAng" />\r
- <gd name="dyB" fmla="sin thh ptAng" />\r
- <gd name="xB" fmla="+- xH 0 dxB 0" />\r
-\r
- <gd name="yB" fmla="+- yH 0 dyB 0" />\r
-\r
-\r
- <gd name="sx1" fmla="+- xB 0 hc" />\r
-\r
- <gd name="sy1" fmla="+- yB 0 vc" />\r
-\r
- <gd name="sx2" fmla="+- xG 0 hc" />\r
-\r
- <gd name="sy2" fmla="+- yG 0 vc" />\r
-\r
-\r
- <gd name="rO" fmla="min rw1 rh1" />\r
-\r
- <gd name="x1O" fmla="*/ sx1 rO rw1" />\r
-\r
- <gd name="y1O" fmla="*/ sy1 rO rh1" />\r
-\r
- <gd name="x2O" fmla="*/ sx2 rO rw1" />\r
-\r
- <gd name="y2O" fmla="*/ sy2 rO rh1" />\r
-\r
-\r
- <gd name="dxO" fmla="+- x2O 0 x1O" />\r
- <gd name="dyO" fmla="+- y2O 0 y1O" />\r
- <gd name="dO" fmla="mod dxO dyO 0" />\r
-\r
- <gd name="q1" fmla="*/ x1O y2O 1" />\r
- <gd name="q2" fmla="*/ x2O y1O 1" />\r
- <gd name="DO" fmla="+- q1 0 q2" />\r
-\r
-\r
- <gd name="q3" fmla="*/ rO rO 1" />\r
-\r
- <gd name="q4" fmla="*/ dO dO 1" />\r
-\r
- <gd name="q5" fmla="*/ q3 q4 1" />\r
-\r
- <gd name="q6" fmla="*/ DO DO 1" />\r
-\r
- <gd name="q7" fmla="+- q5 0 q6" />\r
-\r
- <gd name="q8" fmla="max q7 0" />\r
-\r
- <gd name="sdelO" fmla="sqrt q8" />\r
-\r
- <gd name="ndyO" fmla="*/ dyO -1 1" />\r
- <gd name="sdyO" fmla="?: ndyO -1 1" />\r
-\r
- <gd name="q9" fmla="*/ sdyO dxO 1" />\r
-\r
- <gd name="q10" fmla="*/ q9 sdelO 1" />\r
-\r
- <gd name="q11" fmla="*/ DO dyO 1" />\r
-\r
- <gd name="dxF1" fmla="+/ q11 q10 q4" />\r
-\r
- <gd name="q12" fmla="+- q11 0 q10" />\r
- <gd name="dxF2" fmla="*/ q12 1 q4" />\r
-\r
-\r
- <gd name="adyO" fmla="abs dyO" />\r
- <gd name="q13" fmla="*/ adyO sdelO 1" />\r
-\r
- <gd name="q14" fmla="*/ DO dxO -1" />\r
-\r
- <gd name="dyF1" fmla="+/ q14 q13 q4" />\r
-\r
- <gd name="q15" fmla="+- q14 0 q13" />\r
- <gd name="dyF2" fmla="*/ q15 1 q4" />\r
-\r
-\r
-\r
- <gd name="q16" fmla="+- x2O 0 dxF1" />\r
- <gd name="q17" fmla="+- x2O 0 dxF2" />\r
- <gd name="q18" fmla="+- y2O 0 dyF1" />\r
- <gd name="q19" fmla="+- y2O 0 dyF2" />\r
- <gd name="q20" fmla="mod q16 q18 0" />\r
-\r
- <gd name="q21" fmla="mod q17 q19 0" />\r
-\r
- <gd name="q22" fmla="+- q21 0 q20" />\r
- <gd name="dxF" fmla="?: q22 dxF1 dxF2" />\r
-\r
- <gd name="dyF" fmla="?: q22 dyF1 dyF2" />\r
-\r
- <gd name="sdxF" fmla="*/ dxF rw1 rO" />\r
-\r
- <gd name="sdyF" fmla="*/ dyF rh1 rO" />\r
-\r
- <gd name="xF" fmla="+- hc sdxF 0" />\r
-\r
- <gd name="yF" fmla="+- vc sdyF 0" />\r
-\r
-\r
-\r
-\r
- <gd name="x1I" fmla="*/ sx1 rI rw2" />\r
-\r
- <gd name="y1I" fmla="*/ sy1 rI rh2" />\r
-\r
- <gd name="x2I" fmla="*/ sx2 rI rw2" />\r
-\r
- <gd name="y2I" fmla="*/ sy2 rI rh2" />\r
-\r
-\r
- <gd name="dxI" fmla="+- x2I 0 x1I" />\r
- <gd name="dyI" fmla="+- y2I 0 y1I" />\r
- <gd name="dI" fmla="mod dxI dyI 0" />\r
- <gd name="v1" fmla="*/ x1I y2I 1" />\r
- <gd name="v2" fmla="*/ x2I y1I 1" />\r
- <gd name="DI" fmla="+- v1 0 v2" />\r
-\r
- <gd name="v3" fmla="*/ rI rI 1" />\r
- <gd name="v4" fmla="*/ dI dI 1" />\r
- <gd name="v5" fmla="*/ v3 v4 1" />\r
- <gd name="v6" fmla="*/ DI DI 1" />\r
- <gd name="v7" fmla="+- v5 0 v6" />\r
- <gd name="v8" fmla="max v7 0" />\r
- <gd name="sdelI" fmla="sqrt v8" />\r
- <gd name="v9" fmla="*/ sdyO dxI 1" />\r
- <gd name="v10" fmla="*/ v9 sdelI 1" />\r
- <gd name="v11" fmla="*/ DI dyI 1" />\r
- <gd name="dxC1" fmla="+/ v11 v10 v4" />\r
- <gd name="v12" fmla="+- v11 0 v10" />\r
- <gd name="dxC2" fmla="*/ v12 1 v4" />\r
-\r
- <gd name="adyI" fmla="abs dyI" />\r
- <gd name="v13" fmla="*/ adyI sdelI 1" />\r
- <gd name="v14" fmla="*/ DI dxI -1" />\r
- <gd name="dyC1" fmla="+/ v14 v13 v4" />\r
- <gd name="v15" fmla="+- v14 0 v13" />\r
- <gd name="dyC2" fmla="*/ v15 1 v4" />\r
-\r
- <gd name="v16" fmla="+- x1I 0 dxC1" />\r
- <gd name="v17" fmla="+- x1I 0 dxC2" />\r
- <gd name="v18" fmla="+- y1I 0 dyC1" />\r
- <gd name="v19" fmla="+- y1I 0 dyC2" />\r
- <gd name="v20" fmla="mod v16 v18 0" />\r
- <gd name="v21" fmla="mod v17 v19 0" />\r
- <gd name="v22" fmla="+- v21 0 v20" />\r
- <gd name="dxC" fmla="?: v22 dxC1 dxC2" />\r
- <gd name="dyC" fmla="?: v22 dyC1 dyC2" />\r
- <gd name="sdxC" fmla="*/ dxC rw2 rI" />\r
- <gd name="sdyC" fmla="*/ dyC rh2 rI" />\r
- <gd name="xC" fmla="+- hc sdxC 0" />\r
-\r
- <gd name="yC" fmla="+- vc sdyC 0" />\r
-\r
-\r
- <gd name="ist0" fmla="at2 sdxC sdyC" />\r
- <gd name="ist1" fmla="+- ist0 21600000 0" />\r
- <gd name="istAng" fmla="?: ist0 ist0 ist1" />\r
- <gd name="isw1" fmla="+- stAng 0 istAng" />\r
- <gd name="isw2" fmla="+- isw1 0 21600000" />\r
- <gd name="iswAng" fmla="?: isw1 isw2 isw1" />\r
-\r
-\r
- <gd name="p1" fmla="+- xF 0 xC" />\r
- <gd name="p2" fmla="+- yF 0 yC" />\r
- <gd name="p3" fmla="mod p1 p2 0" />\r
- <gd name="p4" fmla="*/ p3 1 2" />\r
- <gd name="p5" fmla="+- p4 0 thh" />\r
- <gd name="xGp" fmla="?: p5 xF xG" />\r
- <gd name="yGp" fmla="?: p5 yF yG" />\r
- <gd name="xBp" fmla="?: p5 xC xB" />\r
- <gd name="yBp" fmla="?: p5 yC yB" />\r
-\r
- <gd name="en0" fmla="at2 sdxF sdyF" />\r
- <gd name="en1" fmla="+- en0 21600000 0" />\r
- <gd name="en2" fmla="?: en0 en0 en1" />\r
- <gd name="sw0" fmla="+- en2 0 stAng" />\r
- <gd name="sw1" fmla="+- sw0 21600000 0" />\r
- <gd name="swAng" fmla="?: sw0 sw0 sw1" />\r
-\r
- <gd name="wtI" fmla="sin rw3 stAng" />\r
- <gd name="htI" fmla="cos rh3 stAng" />\r
- <gd name="dxI" fmla="cat2 rw3 htI wtI" />\r
- <gd name="dyI" fmla="sat2 rh3 htI wtI" />\r
- <gd name="xI" fmla="+- hc dxI 0" />\r
-\r
- <gd name="yI" fmla="+- vc dyI 0" />\r
-\r
-\r
- <gd name="aI" fmla="+- stAng 0 cd4" />\r
- <gd name="aA" fmla="+- ptAng cd4 0" />\r
- <gd name="aB" fmla="+- ptAng cd2 0" />\r
-\r
- <gd name="idx" fmla="cos rw1 2700000" />\r
- <gd name="idy" fmla="sin rh1 2700000" />\r
- <gd name="il" fmla="+- hc 0 idx" />\r
- <gd name="ir" fmla="+- hc idx 0" />\r
- <gd name="it" fmla="+- vc 0 idy" />\r
- <gd name="ib" fmla="+- vc idy 0" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahPolar gdRefAng="adj2" minAng="0" maxAng="maxAng">\r
- <pos x="xA" y="yA" />\r
- </ahPolar>\r
- <ahPolar gdRefAng="adj4" minAng="0" maxAng="21599999">\r
- <pos x="xE" y="yE" />\r
- </ahPolar>\r
- <ahPolar gdRefR="adj1" minR="0" maxR="maxAdj1" gdRefAng="adj3" minAng="0" maxAng="21599999">\r
- <pos x="xF" y="yF" />\r
- </ahPolar>\r
- <ahPolar gdRefR="adj5" minR="0" maxR="25000">\r
- <pos x="xB" y="yB" />\r
- </ahPolar>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="aI">\r
- <pos x="xI" y="yI" />\r
- </cxn>\r
- <cxn ang="ptAng">\r
- <pos x="xGp" y="yGp" />\r
- </cxn>\r
- <cxn ang="aA">\r
- <pos x="xA" y="yA" />\r
- </cxn>\r
- <cxn ang="aB">\r
- <pos x="xBp" y="yBp" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="xE" y="yE" />\r
- </moveTo>\r
- <arcTo wR="rw1" hR="rh1" stAng="stAng" swAng="swAng" />\r
- <lnTo>\r
- <pt x="xGp" y="yGp" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xA" y="yA" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xBp" y="yBp" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xC" y="yC" />\r
- </lnTo>\r
- <arcTo wR="rw2" hR="rh2" stAng="istAng" swAng="iswAng" />\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </circularArrow>\r
- <cloud>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="il" fmla="*/ w 2977 21600" />\r
- <gd name="it" fmla="*/ h 3262 21600" />\r
- <gd name="ir" fmla="*/ w 17087 21600" />\r
- <gd name="ib" fmla="*/ h 17337 21600" />\r
- <gd name="g27" fmla="*/ w 67 21600" />\r
- <gd name="g28" fmla="*/ h 21577 21600" />\r
- <gd name="g29" fmla="*/ w 21582 21600" />\r
- <gd name="g30" fmla="*/ h 1235 21600" />\r
- </gdLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="g29" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="g28" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="g27" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="g30" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path w="43200" h="43200">\r
- <moveTo>\r
- <pt x="3900" y="14370" />\r
- </moveTo>\r
- <arcTo wR="6753" hR="9190" stAng="-11429249" swAng="7426832" />\r
- <arcTo wR="5333" hR="7267" stAng="-8646143" swAng="5396714" />\r
- <arcTo wR="4365" hR="5945" stAng="-8748475" swAng="5983381" />\r
- <arcTo wR="4857" hR="6595" stAng="-7859164" swAng="7034504" />\r
- <arcTo wR="5333" hR="7273" stAng="-4722533" swAng="6541615" />\r
- <arcTo wR="6775" hR="9220" stAng="-2776035" swAng="7816140" />\r
- <arcTo wR="5785" hR="7867" stAng="37501" swAng="6842000" />\r
- <arcTo wR="6752" hR="9215" stAng="1347096" swAng="6910353" />\r
- <arcTo wR="7720" hR="10543" stAng="3974558" swAng="4542661" />\r
- <arcTo wR="4360" hR="5918" stAng="-16496525" swAng="8804134" />\r
- <arcTo wR="4345" hR="5945" stAng="-14809710" swAng="9151131" />\r
- <close />\r
- </path>\r
- <path w="43200" h="43200" fill="none" extrusionOk="false">\r
- <moveTo>\r
- <pt x="4693" y="26177" />\r
- </moveTo>\r
- <arcTo wR="4345" hR="5945" stAng="5204520" swAng="1585770" />\r
- <moveTo>\r
- <pt x="6928" y="34899" />\r
- </moveTo>\r
- <arcTo wR="4360" hR="5918" stAng="4416628" swAng="686848" />\r
- <moveTo>\r
- <pt x="16478" y="39090" />\r
- </moveTo>\r
- <arcTo wR="6752" hR="9215" stAng="8257449" swAng="844866" />\r
- <moveTo>\r
- <pt x="28827" y="34751" />\r
- </moveTo>\r
- <arcTo wR="6752" hR="9215" stAng="387196" swAng="959901" />\r
- <moveTo>\r
- <pt x="34129" y="22954" />\r
- </moveTo>\r
- <arcTo wR="5785" hR="7867" stAng="-4217541" swAng="4255042" />\r
- <moveTo>\r
- <pt x="41798" y="15354" />\r
- </moveTo>\r
- <arcTo wR="5333" hR="7273" stAng="1819082" swAng="1665090" />\r
- <moveTo>\r
- <pt x="38324" y="5426" />\r
- </moveTo>\r
- <arcTo wR="4857" hR="6595" stAng="-824660" swAng="891534" />\r
- <moveTo>\r
- <pt x="29078" y="3952" />\r
- </moveTo>\r
- <arcTo wR="4857" hR="6595" stAng="-8950887" swAng="1091722" />\r
- <moveTo>\r
- <pt x="22141" y="4720" />\r
- </moveTo>\r
- <arcTo wR="4365" hR="5945" stAng="-9809656" swAng="1061181" />\r
- <moveTo>\r
- <pt x="14000" y="5192" />\r
- </moveTo>\r
- <arcTo wR="6753" hR="9190" stAng="-4002417" swAng="739161" />\r
- <moveTo>\r
- <pt x="4127" y="15789" />\r
- </moveTo>\r
- <arcTo wR="6753" hR="9190" stAng="9459261" swAng="711490" />\r
- </path>\r
- </pathLst>\r
-\r
- </cloud>\r
- <cloudCallout>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val -20833" />\r
-\r
- <gd name="adj2" fmla="val 62500" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="dxPos" fmla="*/ w adj1 100000" />\r
- <gd name="dyPos" fmla="*/ h adj2 100000" />\r
- <gd name="xPos" fmla="+- hc dxPos 0" />\r
- <gd name="yPos" fmla="+- vc dyPos 0" />\r
- <gd name="ht" fmla="cat2 hd2 dxPos dyPos" />\r
- <gd name="wt" fmla="sat2 wd2 dxPos dyPos" />\r
- <gd name="g2" fmla="cat2 wd2 ht wt" />\r
- <gd name="g3" fmla="sat2 hd2 ht wt" />\r
- <gd name="g4" fmla="+- hc g2 0" />\r
-\r
- <gd name="g5" fmla="+- vc g3 0" />\r
-\r
- <gd name="g6" fmla="+- g4 0 xPos" />\r
-\r
- <gd name="g7" fmla="+- g5 0 yPos" />\r
-\r
- <gd name="g8" fmla="mod g6 g7 0" />\r
-\r
- <gd name="g9" fmla="*/ ss 6600 21600" />\r
-\r
- <gd name="g10" fmla="+- g8 0 g9" />\r
-\r
- <gd name="g11" fmla="*/ g10 1 3" />\r
-\r
- <gd name="g12" fmla="*/ ss 1800 21600" />\r
-\r
- <gd name="g13" fmla="+- g11 g12 0" />\r
-\r
- <gd name="g14" fmla="*/ g13 g6 g8" />\r
-\r
- <gd name="g15" fmla="*/ g13 g7 g8" />\r
-\r
- <gd name="g16" fmla="+- g14 xPos 0" />\r
-\r
- <gd name="g17" fmla="+- g15 yPos 0" />\r
-\r
- <gd name="g18" fmla="*/ ss 4800 21600" />\r
-\r
- <gd name="g19" fmla="*/ g11 2 1" />\r
-\r
- <gd name="g20" fmla="+- g18 g19 0" />\r
-\r
- <gd name="g21" fmla="*/ g20 g6 g8" />\r
- <gd name="g22" fmla="*/ g20 g7 g8" />\r
- <gd name="g23" fmla="+- g21 xPos 0" />\r
- <gd name="g24" fmla="+- g22 yPos 0" />\r
- <gd name="g25" fmla="*/ ss 1200 21600" />\r
- <gd name="g26" fmla="*/ ss 600 21600" />\r
-\r
- <gd name="x23" fmla="+- xPos g26 0" />\r
- <gd name="x24" fmla="+- g16 g25 0" />\r
- <gd name="x25" fmla="+- g23 g12 0" />\r
- <gd name="il" fmla="*/ w 2977 21600" />\r
- <gd name="it" fmla="*/ h 3262 21600" />\r
- <gd name="ir" fmla="*/ w 17087 21600" />\r
- <gd name="ib" fmla="*/ h 17337 21600" />\r
-\r
- <gd name="g27" fmla="*/ w 67 21600" />\r
- <gd name="g28" fmla="*/ h 21577 21600" />\r
- <gd name="g29" fmla="*/ w 21582 21600" />\r
- <gd name="g30" fmla="*/ h 1235 21600" />\r
- <gd name="pang" fmla="at2 dxPos dyPos" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj1" minX="-2147483647" maxX="2147483647" gdRefY="adj2" minY="-2147483647" maxY="2147483647">\r
- <pos x="xPos" y="yPos" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="cd2">\r
- <pos x="g27" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="g28" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="g29" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="g30" />\r
- </cxn>\r
- <cxn ang="pang">\r
- <pos x="xPos" y="yPos" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path w="43200" h="43200">\r
- <moveTo>\r
- <pt x="3900" y="14370" />\r
- </moveTo>\r
- <arcTo wR="6753" hR="9190" stAng="-11429249" swAng="7426832" />\r
- <arcTo wR="5333" hR="7267" stAng="-8646143" swAng="5396714" />\r
- <arcTo wR="4365" hR="5945" stAng="-8748475" swAng="5983381" />\r
- <arcTo wR="4857" hR="6595" stAng="-7859164" swAng="7034504" />\r
- <arcTo wR="5333" hR="7273" stAng="-4722533" swAng="6541615" />\r
- <arcTo wR="6775" hR="9220" stAng="-2776035" swAng="7816140" />\r
- <arcTo wR="5785" hR="7867" stAng="37501" swAng="6842000" />\r
- <arcTo wR="6752" hR="9215" stAng="1347096" swAng="6910353" />\r
- <arcTo wR="7720" hR="10543" stAng="3974558" swAng="4542661" />\r
- <arcTo wR="4360" hR="5918" stAng="-16496525" swAng="8804134" />\r
- <arcTo wR="4345" hR="5945" stAng="-14809710" swAng="9151131" />\r
- <close />\r
- </path>\r
- <path>\r
- <moveTo>\r
- <pt x="x23" y="yPos" />\r
- </moveTo>\r
- <arcTo wR="g26" hR="g26" stAng="0" swAng="21600000" />\r
- <close />\r
- </path>\r
- <path>\r
- <moveTo>\r
- <pt x="x24" y="g17" />\r
- </moveTo>\r
- <arcTo wR="g25" hR="g25" stAng="0" swAng="21600000" />\r
- <close />\r
- </path>\r
- <path>\r
- <moveTo>\r
- <pt x="x25" y="g24" />\r
- </moveTo>\r
- <arcTo wR="g12" hR="g12" stAng="0" swAng="21600000" />\r
- <close />\r
- </path>\r
- <path w="43200" h="43200" fill="none" extrusionOk="false">\r
- <moveTo>\r
- <pt x="4693" y="26177" />\r
- </moveTo>\r
- <arcTo wR="4345" hR="5945" stAng="5204520" swAng="1585770" />\r
- <moveTo>\r
- <pt x="6928" y="34899" />\r
- </moveTo>\r
- <arcTo wR="4360" hR="5918" stAng="4416628" swAng="686848" />\r
- <moveTo>\r
- <pt x="16478" y="39090" />\r
- </moveTo>\r
- <arcTo wR="6752" hR="9215" stAng="8257449" swAng="844866" />\r
- <moveTo>\r
- <pt x="28827" y="34751" />\r
- </moveTo>\r
- <arcTo wR="6752" hR="9215" stAng="387196" swAng="959901" />\r
- <moveTo>\r
- <pt x="34129" y="22954" />\r
- </moveTo>\r
- <arcTo wR="5785" hR="7867" stAng="-4217541" swAng="4255042" />\r
- <moveTo>\r
- <pt x="41798" y="15354" />\r
- </moveTo>\r
- <arcTo wR="5333" hR="7273" stAng="1819082" swAng="1665090" />\r
- <moveTo>\r
- <pt x="38324" y="5426" />\r
- </moveTo>\r
- <arcTo wR="4857" hR="6595" stAng="-824660" swAng="891534" />\r
- <moveTo>\r
- <pt x="29078" y="3952" />\r
- </moveTo>\r
- <arcTo wR="4857" hR="6595" stAng="-8950887" swAng="1091722" />\r
- <moveTo>\r
- <pt x="22141" y="4720" />\r
- </moveTo>\r
- <arcTo wR="4365" hR="5945" stAng="-9809656" swAng="1061181" />\r
- <moveTo>\r
- <pt x="14000" y="5192" />\r
- </moveTo>\r
- <arcTo wR="6753" hR="9190" stAng="-4002417" swAng="739161" />\r
- <moveTo>\r
- <pt x="4127" y="15789" />\r
- </moveTo>\r
- <arcTo wR="6753" hR="9190" stAng="9459261" swAng="711490" />\r
- </path>\r
- </pathLst>\r
-\r
- </cloudCallout>\r
- <corner>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 50000" />\r
-\r
- <gd name="adj2" fmla="val 50000" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="maxAdj1" fmla="*/ 100000 h ss" />\r
- <gd name="maxAdj2" fmla="*/ 100000 w ss" />\r
- <gd name="a1" fmla="pin 0 adj1 maxAdj1" />\r
- <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
- <gd name="x1" fmla="*/ ss a2 100000" />\r
- <gd name="dy1" fmla="*/ ss a1 100000" />\r
- <gd name="y1" fmla="+- b 0 dy1" />\r
- <gd name="cx1" fmla="*/ x1 1 2" />\r
- <gd name="cy1" fmla="+/ y1 b 2" />\r
- <gd name="d" fmla="+- w 0 h" />\r
- <gd name="it" fmla="?: d y1 t" />\r
- <gd name="ir" fmla="?: d r x1" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj1" minY="0" maxY="maxAdj1">\r
- <pos x="l" y="y1" />\r
- </ahXY>\r
- <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">\r
- <pos x="x1" y="t" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="r" y="cy1" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="cx1" y="t" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="l" t="it" r="ir" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x1" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </corner>\r
- <cornerTabs>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="md" fmla="mod w h 0" />\r
- <gd name="dx" fmla="*/ 1 md 20" />\r
-\r
- <gd name="y1" fmla="+- 0 b dx" />\r
-\r
- <gd name="x1" fmla="+- 0 r dx" />\r
-\r
- </gdLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="cd2">\r
- <pos x="l" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="dx" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="y1" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="b" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="dx" y="t" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="x1" y="t" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="dx" y="b" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x1" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="t" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="dx" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="y1" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="b" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="dx" t="dx" r="x1" b="y1" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="dx" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="dx" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="y1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="dx" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path>\r
- <moveTo>\r
- <pt x="x1" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="dx" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path>\r
- <moveTo>\r
- <pt x="r" y="y1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </cornerTabs>\r
- <cube>\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj" fmla="val 25000" />\r
- </avLst>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a" fmla="pin 0 adj 100000" />\r
- <gd name="y1" fmla="*/ ss a 100000" />\r
- <gd name="y4" fmla="+- b 0 y1" />\r
- <gd name="y2" fmla="*/ y4 1 2" />\r
- <gd name="y3" fmla="+/ y1 b 2" />\r
- <gd name="x4" fmla="+- r 0 y1" />\r
- <gd name="x2" fmla="*/ x4 1 2" />\r
- <gd name="x3" fmla="+/ y1 r 2" />\r
- </gdLst>\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj" minY="0" maxY="100000">\r
- <pos x="l" y="y1" />\r
- </ahXY>\r
- </ahLst>\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="x3" y="t" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="x2" y="y1" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="y3" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x2" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="x4" y="y3" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="y2" />\r
- </cxn>\r
- </cxnLst>\r
- <rect l="l" t="y1" r="x4" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path stroke="false" extrusionOk="false">\r
- <moveTo>\r
- <pt x="l" y="y1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x4" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path stroke="false" fill="darkenLess" extrusionOk="false">\r
- <moveTo>\r
- <pt x="x4" y="y1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path stroke="false" fill="lightenLess" extrusionOk="false">\r
- <moveTo>\r
- <pt x="l" y="y1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="y1" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y1" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path fill="none" extrusionOk="false">\r
- <moveTo>\r
- <pt x="l" y="y1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="y1" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- <moveTo>\r
- <pt x="l" y="y1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x4" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <moveTo>\r
- <pt x="x4" y="y1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x4" y="b" />\r
- </lnTo>\r
- </path>\r
- </pathLst>\r
- </cube>\r
- <curvedConnector2>\r
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path fill="none">\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <cubicBezTo>\r
- <pt x="wd2" y="t" />\r
- <pt x="r" y="hd2" />\r
- <pt x="r" y="b" />\r
- </cubicBezTo>\r
- </path>\r
- </pathLst>\r
- </curvedConnector2>\r
- <curvedConnector3>\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 50000" />\r
- </avLst>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="x2" fmla="*/ w adj1 100000" />\r
- <gd name="x1" fmla="+/ l x2 2" />\r
- <gd name="x3" fmla="+/ r x2 2" />\r
- <gd name="y3" fmla="*/ h 3 4" />\r
- </gdLst>\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj1" minX="-2147483647" maxX="2147483647">\r
- <pos x="x2" y="vc" />\r
- </ahXY>\r
- </ahLst>\r
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path fill="none">\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <cubicBezTo>\r
- <pt x="x1" y="t" />\r
- <pt x="x2" y="hd4" />\r
- <pt x="x2" y="vc" />\r
- </cubicBezTo>\r
- <cubicBezTo>\r
- <pt x="x2" y="y3" />\r
- <pt x="x3" y="b" />\r
- <pt x="r" y="b" />\r
- </cubicBezTo>\r
- </path>\r
- </pathLst>\r
- </curvedConnector3>\r
- <curvedConnector4>\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 50000" />\r
- <gd name="adj2" fmla="val 50000" />\r
- </avLst>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="x2" fmla="*/ w adj1 100000" />\r
- <gd name="x1" fmla="+/ l x2 2" />\r
- <gd name="x3" fmla="+/ r x2 2" />\r
- <gd name="x4" fmla="+/ x2 x3 2" />\r
- <gd name="x5" fmla="+/ x3 r 2" />\r
- <gd name="y4" fmla="*/ h adj2 100000" />\r
- <gd name="y1" fmla="+/ t y4 2" />\r
- <gd name="y2" fmla="+/ t y1 2" />\r
- <gd name="y3" fmla="+/ y1 y4 2" />\r
- <gd name="y5" fmla="+/ b y4 2" />\r
- </gdLst>\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj1" minX="-2147483647" maxX="2147483647">\r
- <pos x="x2" y="y1" />\r
- </ahXY>\r
- <ahXY gdRefY="adj2" minY="-2147483647" maxY="2147483647">\r
- <pos x="x3" y="y4" />\r
- </ahXY>\r
- </ahLst>\r
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path fill="none">\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <cubicBezTo>\r
- <pt x="x1" y="t" />\r
- <pt x="x2" y="y2" />\r
- <pt x="x2" y="y1" />\r
- </cubicBezTo>\r
- <cubicBezTo>\r
- <pt x="x2" y="y3" />\r
- <pt x="x4" y="y4" />\r
- <pt x="x3" y="y4" />\r
- </cubicBezTo>\r
- <cubicBezTo>\r
- <pt x="x5" y="y4" />\r
- <pt x="r" y="y5" />\r
- <pt x="r" y="b" />\r
- </cubicBezTo>\r
- </path>\r
- </pathLst>\r
- </curvedConnector4>\r
- <curvedConnector5>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 50000" />\r
-\r
- <gd name="adj2" fmla="val 50000" />\r
-\r
- <gd name="adj3" fmla="val 50000" />\r
-\r
- </avLst>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="x3" fmla="*/ w adj1 100000" />\r
- <gd name="x6" fmla="*/ w adj3 100000" />\r
- <gd name="x1" fmla="+/ x3 x6 2" />\r
- <gd name="x2" fmla="+/ l x3 2" />\r
- <gd name="x4" fmla="+/ x3 x1 2" />\r
- <gd name="x5" fmla="+/ x6 x1 2" />\r
- <gd name="x7" fmla="+/ x6 r 2" />\r
- <gd name="y4" fmla="*/ h adj2 100000" />\r
- <gd name="y1" fmla="+/ t y4 2" />\r
- <gd name="y2" fmla="+/ t y1 2" />\r
- <gd name="y3" fmla="+/ y1 y4 2" />\r
- <gd name="y5" fmla="+/ b y4 2" />\r
- <gd name="y6" fmla="+/ y5 y4 2" />\r
- <gd name="y7" fmla="+/ y5 b 2" />\r
- </gdLst>\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj1" minX="-2147483647" maxX="2147483647">\r
- <pos x="x3" y="y1" />\r
- </ahXY>\r
- <ahXY gdRefY="adj2" minY="-2147483647" maxY="2147483647">\r
- <pos x="x1" y="y4" />\r
- </ahXY>\r
- <ahXY gdRefX="adj3" minX="-2147483647" maxX="2147483647">\r
- <pos x="x6" y="y5" />\r
- </ahXY>\r
- </ahLst>\r
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path fill="none">\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <cubicBezTo>\r
- <pt x="x2" y="t" />\r
- <pt x="x3" y="y2" />\r
- <pt x="x3" y="y1" />\r
- </cubicBezTo>\r
- <cubicBezTo>\r
- <pt x="x3" y="y3" />\r
- <pt x="x4" y="y4" />\r
- <pt x="x1" y="y4" />\r
- </cubicBezTo>\r
- <cubicBezTo>\r
- <pt x="x5" y="y4" />\r
- <pt x="x6" y="y6" />\r
- <pt x="x6" y="y5" />\r
- </cubicBezTo>\r
- <cubicBezTo>\r
- <pt x="x6" y="y7" />\r
- <pt x="x7" y="b" />\r
- <pt x="r" y="b" />\r
- </cubicBezTo>\r
- </path>\r
- </pathLst>\r
-\r
- </curvedConnector5>\r
- <curvedDownArrow>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 25000" />\r
-\r
- <gd name="adj2" fmla="val 50000" />\r
-\r
- <gd name="adj3" fmla="val 25000" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="maxAdj2" fmla="*/ 50000 w ss" />\r
-\r
- <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
- <gd name="a1" fmla="pin 0 adj1 100000" />\r
- <gd name="th" fmla="*/ ss a1 100000" />\r
-\r
- <gd name="aw" fmla="*/ ss a2 100000" />\r
-\r
- <gd name="q1" fmla="+/ th aw 4" />\r
-\r
- <gd name="wR" fmla="+- wd2 0 q1" />\r
-\r
- <gd name="q7" fmla="*/ wR 2 1" />\r
-\r
- <gd name="q8" fmla="*/ q7 q7 1" />\r
-\r
- <gd name="q9" fmla="*/ th th 1" />\r
-\r
- <gd name="q10" fmla="+- q8 0 q9" />\r
- <gd name="q11" fmla="sqrt q10" />\r
- <gd name="idy" fmla="*/ q11 h q7" />\r
- <gd name="maxAdj3" fmla="*/ 100000 idy ss" />\r
-\r
- <gd name="a3" fmla="pin 0 adj3 maxAdj3" />\r
- <gd name="ah" fmla="*/ ss adj3 100000" />\r
-\r
-\r
-\r
-\r
-\r
- <gd name="x3" fmla="+- wR th 0" />\r
-\r
- <gd name="q2" fmla="*/ h h 1" />\r
- <gd name="q3" fmla="*/ ah ah 1" />\r
- <gd name="q4" fmla="+- q2 0 q3" />\r
- <gd name="q5" fmla="sqrt q4" />\r
- <gd name="dx" fmla="*/ q5 wR h" />\r
- <gd name="x5" fmla="+- wR dx 0" />\r
-\r
- <gd name="x7" fmla="+- x3 dx 0" />\r
-\r
- <gd name="q6" fmla="+- aw 0 th" />\r
- <gd name="dh" fmla="*/ q6 1 2" />\r
-\r
- <gd name="x4" fmla="+- x5 0 dh" />\r
-\r
- <gd name="x8" fmla="+- x7 dh 0" />\r
-\r
- <gd name="aw2" fmla="*/ aw 1 2" />\r
- <gd name="x6" fmla="+- r 0 aw2" />\r
-\r
- <gd name="y1" fmla="+- b 0 ah" />\r
- <gd name="swAng" fmla="at2 ah dx" />\r
-\r
- <gd name="mswAng" fmla="+- 0 0 swAng" />\r
- <gd name="iy" fmla="+- b 0 idy" />\r
-\r
- <gd name="ix" fmla="+/ wR x3 2" />\r
-\r
- <gd name="q12" fmla="*/ th 1 2" />\r
- <gd name="dang2" fmla="at2 idy q12" />\r
- <gd name="stAng" fmla="+- 3cd4 swAng 0" />\r
- <gd name="stAng2" fmla="+- 3cd4 0 dang2" />\r
- <gd name="swAng2" fmla="+- dang2 0 cd4" />\r
- <gd name="swAng3" fmla="+- cd4 dang2 0" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj1" minX="0" maxX="adj2">\r
- <pos x="x7" y="y1" />\r
- </ahXY>\r
- <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">\r
- <pos x="x4" y="b" />\r
- </ahXY>\r
- <ahXY gdRefY="adj3" minY="0" maxY="maxAdj3">\r
- <pos x="r" y="y1" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="ix" y="t" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="q12" y="b" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x4" y="y1" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x6" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="x8" y="y1" />\r
- </cxn>\r
- </cxnLst>\r
-\r
-\r
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
-\r
- <path stroke="false" extrusionOk="false">\r
- <moveTo>\r
- <pt x="x6" y="b" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x4" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x5" y="y1" />\r
- </lnTo>\r
- <arcTo wR="wR" hR="h" stAng="stAng" swAng="mswAng" />\r
- <lnTo>\r
- <pt x="x3" y="t" />\r
- </lnTo>\r
- <arcTo wR="wR" hR="h" stAng="3cd4" swAng="swAng" />\r
- <lnTo>\r
- <pt x="x8" y="y1" />\r
- </lnTo>\r
- <close />\r
- </path>\r
-\r
- <path fill="darkenLess" stroke="false" extrusionOk="false">\r
- <moveTo>\r
- <pt x="ix" y="iy" />\r
- </moveTo>\r
- <arcTo wR="wR" hR="h" stAng="stAng2" swAng="swAng2" />\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <arcTo wR="wR" hR="h" stAng="cd2" swAng="swAng3" />\r
- <close />\r
- </path>\r
-\r
- <path fill="none" extrusionOk="false">\r
- <moveTo>\r
- <pt x="ix" y="iy" />\r
- </moveTo>\r
- <arcTo wR="wR" hR="h" stAng="stAng2" swAng="swAng2" />\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <arcTo wR="wR" hR="h" stAng="cd2" swAng="cd4" />\r
- <lnTo>\r
- <pt x="x3" y="t" />\r
- </lnTo>\r
- <arcTo wR="wR" hR="h" stAng="3cd4" swAng="swAng" />\r
- <lnTo>\r
- <pt x="x8" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x6" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x5" y="y1" />\r
- </lnTo>\r
- <arcTo wR="wR" hR="h" stAng="stAng" swAng="mswAng" />\r
- </path>\r
- </pathLst>\r
-\r
- </curvedDownArrow>\r
- <curvedLeftArrow>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 25000" />\r
-\r
- <gd name="adj2" fmla="val 50000" />\r
-\r
- <gd name="adj3" fmla="val 25000" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="maxAdj2" fmla="*/ 50000 h ss" />\r
-\r
- <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
- <gd name="a1" fmla="pin 0 adj1 a2" />\r
- <gd name="th" fmla="*/ ss a1 100000" />\r
-\r
- <gd name="aw" fmla="*/ ss a2 100000" />\r
-\r
- <gd name="q1" fmla="+/ th aw 4" />\r
-\r
- <gd name="hR" fmla="+- hd2 0 q1" />\r
-\r
- <gd name="q7" fmla="*/ hR 2 1" />\r
-\r
- <gd name="q8" fmla="*/ q7 q7 1" />\r
-\r
- <gd name="q9" fmla="*/ th th 1" />\r
-\r
- <gd name="q10" fmla="+- q8 0 q9" />\r
- <gd name="q11" fmla="sqrt q10" />\r
- <gd name="idx" fmla="*/ q11 w q7" />\r
- <gd name="maxAdj3" fmla="*/ 100000 idx ss" />\r
-\r
- <gd name="a3" fmla="pin 0 adj3 maxAdj3" />\r
- <gd name="ah" fmla="*/ ss a3 100000" />\r
-\r
-\r
-\r
-\r
-\r
- <gd name="y3" fmla="+- hR th 0" />\r
-\r
- <gd name="q2" fmla="*/ w w 1" />\r
- <gd name="q3" fmla="*/ ah ah 1" />\r
- <gd name="q4" fmla="+- q2 0 q3" />\r
- <gd name="q5" fmla="sqrt q4" />\r
- <gd name="dy" fmla="*/ q5 hR w" />\r
- <gd name="y5" fmla="+- hR dy 0" />\r
-\r
- <gd name="y7" fmla="+- y3 dy 0" />\r
-\r
- <gd name="q6" fmla="+- aw 0 th" />\r
- <gd name="dh" fmla="*/ q6 1 2" />\r
-\r
- <gd name="y4" fmla="+- y5 0 dh" />\r
-\r
- <gd name="y8" fmla="+- y7 dh 0" />\r
-\r
- <gd name="aw2" fmla="*/ aw 1 2" />\r
- <gd name="y6" fmla="+- b 0 aw2" />\r
-\r
- <gd name="x1" fmla="+- l ah 0" />\r
- <gd name="swAng" fmla="at2 ah dy" />\r
-\r
- <gd name="mswAng" fmla="+- 0 0 swAng" />\r
- <gd name="ix" fmla="+- l idx 0" />\r
-\r
- <gd name="iy" fmla="+/ hR y3 2" />\r
-\r
- <gd name="q12" fmla="*/ th 1 2" />\r
- <gd name="dang2" fmla="at2 idx q12" />\r
- <gd name="swAng2" fmla="+- dang2 0 swAng" />\r
- <gd name="swAng3" fmla="+- swAng dang2 0" />\r
- <gd name="stAng3" fmla="+- 0 0 dang2" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj1" minY="0" maxY="a2">\r
- <pos x="x1" y="y5" />\r
- </ahXY>\r
- <ahXY gdRefY="adj2" minY="0" maxY="maxAdj2">\r
- <pos x="r" y="y4" />\r
- </ahXY>\r
- <ahXY gdRefX="adj3" minX="0" maxX="maxAdj3">\r
- <pos x="x1" y="b" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="cd2">\r
- <pos x="l" y="q12" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="x1" y="y4" />\r
- </cxn>\r
- <cxn ang="cd3">\r
- <pos x="l" y="y6" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x1" y="y8" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="iy" />\r
- </cxn>\r
- </cxnLst>\r
-\r
-\r
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
-\r
- <path stroke="false" extrusionOk="false">\r
- <moveTo>\r
- <pt x="l" y="y6" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x1" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y5" />\r
- </lnTo>\r
- <arcTo wR="w" hR="hR" stAng="swAng" swAng="swAng2" />\r
- <arcTo wR="w" hR="hR" stAng="stAng3" swAng="swAng3" />\r
- <lnTo>\r
- <pt x="x1" y="y8" />\r
- </lnTo>\r
- <close />\r
- </path>\r
-\r
- <path fill="darkenLess" stroke="false" extrusionOk="false">\r
- <moveTo>\r
- <pt x="r" y="y3" />\r
- </moveTo>\r
- <arcTo wR="w" hR="hR" stAng="0" swAng="-5400000" />\r
- <lnTo>\r
- <pt x="l" y="t" />\r
- </lnTo>\r
- <arcTo wR="w" hR="hR" stAng="3cd4" swAng="cd4" />\r
- <close />\r
- </path>\r
-\r
- <path fill="none" extrusionOk="false">\r
- <moveTo>\r
- <pt x="r" y="y3" />\r
- </moveTo>\r
- <arcTo wR="w" hR="hR" stAng="0" swAng="-5400000" />\r
- <lnTo>\r
- <pt x="l" y="t" />\r
- </lnTo>\r
- <arcTo wR="w" hR="hR" stAng="3cd4" swAng="cd4" />\r
- <lnTo>\r
- <pt x="r" y="y3" />\r
- </lnTo>\r
- <arcTo wR="w" hR="hR" stAng="0" swAng="swAng" />\r
- <lnTo>\r
- <pt x="x1" y="y8" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="y6" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y5" />\r
- </lnTo>\r
- <arcTo wR="w" hR="hR" stAng="swAng" swAng="swAng2" />\r
- </path>\r
- </pathLst>\r
-\r
- </curvedLeftArrow>\r
- <curvedRightArrow>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 25000" />\r
-\r
- <gd name="adj2" fmla="val 50000" />\r
-\r
- <gd name="adj3" fmla="val 25000" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="maxAdj2" fmla="*/ 50000 h ss" />\r
-\r
- <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
- <gd name="a1" fmla="pin 0 adj1 a2" />\r
- <gd name="th" fmla="*/ ss a1 100000" />\r
-\r
- <gd name="aw" fmla="*/ ss a2 100000" />\r
-\r
- <gd name="q1" fmla="+/ th aw 4" />\r
-\r
- <gd name="hR" fmla="+- hd2 0 q1" />\r
-\r
- <gd name="q7" fmla="*/ hR 2 1" />\r
-\r
- <gd name="q8" fmla="*/ q7 q7 1" />\r
-\r
- <gd name="q9" fmla="*/ th th 1" />\r
-\r
- <gd name="q10" fmla="+- q8 0 q9" />\r
- <gd name="q11" fmla="sqrt q10" />\r
- <gd name="idx" fmla="*/ q11 w q7" />\r
- <gd name="maxAdj3" fmla="*/ 100000 idx ss" />\r
-\r
- <gd name="a3" fmla="pin 0 adj3 maxAdj3" />\r
- <gd name="ah" fmla="*/ ss a3 100000" />\r
-\r
-\r
-\r
-\r
-\r
- <gd name="y3" fmla="+- hR th 0" />\r
-\r
- <gd name="q2" fmla="*/ w w 1" />\r
- <gd name="q3" fmla="*/ ah ah 1" />\r
- <gd name="q4" fmla="+- q2 0 q3" />\r
- <gd name="q5" fmla="sqrt q4" />\r
- <gd name="dy" fmla="*/ q5 hR w" />\r
- <gd name="y5" fmla="+- hR dy 0" />\r
-\r
- <gd name="y7" fmla="+- y3 dy 0" />\r
-\r
- <gd name="q6" fmla="+- aw 0 th" />\r
- <gd name="dh" fmla="*/ q6 1 2" />\r
-\r
- <gd name="y4" fmla="+- y5 0 dh" />\r
-\r
- <gd name="y8" fmla="+- y7 dh 0" />\r
-\r
- <gd name="aw2" fmla="*/ aw 1 2" />\r
- <gd name="y6" fmla="+- b 0 aw2" />\r
-\r
- <gd name="x1" fmla="+- r 0 ah" />\r
- <gd name="swAng" fmla="at2 ah dy" />\r
-\r
- <gd name="stAng" fmla="+- cd2 0 swAng" />\r
- <gd name="mswAng" fmla="+- 0 0 swAng" />\r
- <gd name="ix" fmla="+- r 0 idx" />\r
-\r
- <gd name="iy" fmla="+/ hR y3 2" />\r
-\r
- <gd name="q12" fmla="*/ th 1 2" />\r
- <gd name="dang2" fmla="at2 idx q12" />\r
- <gd name="swAng2" fmla="+- dang2 0 cd4" />\r
- <gd name="swAng3" fmla="+- cd4 dang2 0" />\r
- <gd name="stAng3" fmla="+- cd2 0 dang2" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj1" minY="0" maxY="a2">\r
- <pos x="x1" y="y5" />\r
- </ahXY>\r
- <ahXY gdRefY="adj2" minY="0" maxY="maxAdj2">\r
- <pos x="r" y="y4" />\r
- </ahXY>\r
- <ahXY gdRefX="adj3" minX="0" maxX="maxAdj3">\r
- <pos x="x1" y="b" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="cd2">\r
- <pos x="l" y="iy" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x1" y="y8" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="y6" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="x1" y="y4" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="q12" />\r
- </cxn>\r
- </cxnLst>\r
-\r
-\r
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
-\r
- <path stroke="false" extrusionOk="false">\r
- <moveTo>\r
- <pt x="l" y="hR" />\r
- </moveTo>\r
- <arcTo wR="w" hR="hR" stAng="cd2" swAng="mswAng" />\r
- <lnTo>\r
- <pt x="x1" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="y6" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y8" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y7" />\r
- </lnTo>\r
- <arcTo wR="w" hR="hR" stAng="stAng" swAng="swAng" />\r
- <close />\r
- </path>\r
-\r
- <path fill="darkenLess" stroke="false" extrusionOk="false">\r
- <moveTo>\r
- <pt x="r" y="th" />\r
- </moveTo>\r
- <arcTo wR="w" hR="hR" stAng="3cd4" swAng="swAng2" />\r
- <arcTo wR="w" hR="hR" stAng="stAng3" swAng="swAng3" />\r
- <close />\r
- </path>\r
-\r
- <path fill="none" extrusionOk="false">\r
- <moveTo>\r
- <pt x="l" y="hR" />\r
- </moveTo>\r
- <arcTo wR="w" hR="hR" stAng="cd2" swAng="mswAng" />\r
- <lnTo>\r
- <pt x="x1" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="y6" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y8" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y7" />\r
- </lnTo>\r
- <arcTo wR="w" hR="hR" stAng="stAng" swAng="swAng" />\r
- <lnTo>\r
- <pt x="l" y="hR" />\r
- </lnTo>\r
- <arcTo wR="w" hR="hR" stAng="cd2" swAng="cd4" />\r
- <lnTo>\r
- <pt x="r" y="th" />\r
- </lnTo>\r
- <arcTo wR="w" hR="hR" stAng="3cd4" swAng="swAng2" />\r
- </path>\r
- </pathLst>\r
-\r
- </curvedRightArrow>\r
- <curvedUpArrow>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 25000" />\r
-\r
- <gd name="adj2" fmla="val 50000" />\r
-\r
- <gd name="adj3" fmla="val 25000" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="maxAdj2" fmla="*/ 50000 w ss" />\r
-\r
- <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
- <gd name="a1" fmla="pin 0 adj1 100000" />\r
- <gd name="th" fmla="*/ ss a1 100000" />\r
-\r
- <gd name="aw" fmla="*/ ss a2 100000" />\r
-\r
- <gd name="q1" fmla="+/ th aw 4" />\r
-\r
- <gd name="wR" fmla="+- wd2 0 q1" />\r
-\r
- <gd name="q7" fmla="*/ wR 2 1" />\r
-\r
- <gd name="q8" fmla="*/ q7 q7 1" />\r
-\r
- <gd name="q9" fmla="*/ th th 1" />\r
-\r
- <gd name="q10" fmla="+- q8 0 q9" />\r
- <gd name="q11" fmla="sqrt q10" />\r
- <gd name="idy" fmla="*/ q11 h q7" />\r
- <gd name="maxAdj3" fmla="*/ 100000 idy ss" />\r
-\r
- <gd name="a3" fmla="pin 0 adj3 maxAdj3" />\r
- <gd name="ah" fmla="*/ ss adj3 100000" />\r
-\r
-\r
-\r
-\r
-\r
- <gd name="x3" fmla="+- wR th 0" />\r
-\r
- <gd name="q2" fmla="*/ h h 1" />\r
- <gd name="q3" fmla="*/ ah ah 1" />\r
- <gd name="q4" fmla="+- q2 0 q3" />\r
- <gd name="q5" fmla="sqrt q4" />\r
- <gd name="dx" fmla="*/ q5 wR h" />\r
- <gd name="x5" fmla="+- wR dx 0" />\r
-\r
- <gd name="x7" fmla="+- x3 dx 0" />\r
-\r
- <gd name="q6" fmla="+- aw 0 th" />\r
- <gd name="dh" fmla="*/ q6 1 2" />\r
-\r
- <gd name="x4" fmla="+- x5 0 dh" />\r
-\r
- <gd name="x8" fmla="+- x7 dh 0" />\r
-\r
- <gd name="aw2" fmla="*/ aw 1 2" />\r
- <gd name="x6" fmla="+- r 0 aw2" />\r
-\r
- <gd name="y1" fmla="+- t ah 0" />\r
- <gd name="swAng" fmla="at2 ah dx" />\r
-\r
- <gd name="mswAng" fmla="+- 0 0 swAng" />\r
- <gd name="iy" fmla="+- t idy 0" />\r
-\r
- <gd name="ix" fmla="+/ wR x3 2" />\r
-\r
- <gd name="q12" fmla="*/ th 1 2" />\r
- <gd name="dang2" fmla="at2 idy q12" />\r
- <gd name="swAng2" fmla="+- dang2 0 swAng" />\r
- <gd name="mswAng2" fmla="+- 0 0 swAng2" />\r
- <gd name="stAng3" fmla="+- cd4 0 swAng" />\r
- <gd name="swAng3" fmla="+- swAng dang2 0" />\r
- <gd name="stAng2" fmla="+- cd4 0 dang2" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj1" minX="0" maxX="a2">\r
- <pos x="x7" y="y1" />\r
- </ahXY>\r
- <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">\r
- <pos x="x4" y="t" />\r
- </ahXY>\r
- <ahXY gdRefY="adj3" minY="0" maxY="maxAdj3">\r
- <pos x="r" y="y1" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="x6" y="t" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="x4" y="y1" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="q12" y="t" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="ix" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="x8" y="y1" />\r
- </cxn>\r
- </cxnLst>\r
-\r
-\r
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
-\r
- <path stroke="false" extrusionOk="false">\r
- <moveTo>\r
- <pt x="x6" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x8" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x7" y="y1" />\r
- </lnTo>\r
- <arcTo wR="wR" hR="h" stAng="stAng3" swAng="swAng3" />\r
- <arcTo wR="wR" hR="h" stAng="stAng2" swAng="swAng2" />\r
- <lnTo>\r
- <pt x="x4" y="y1" />\r
- </lnTo>\r
- <close />\r
- </path>\r
-\r
- <path fill="darkenLess" stroke="false" extrusionOk="false">\r
- <moveTo>\r
- <pt x="wR" y="b" />\r
- </moveTo>\r
- <arcTo wR="wR" hR="h" stAng="cd4" swAng="cd4" />\r
- <lnTo>\r
- <pt x="th" y="t" />\r
- </lnTo>\r
- <arcTo wR="wR" hR="h" stAng="cd2" swAng="-5400000" />\r
- <close />\r
- </path>\r
-\r
- <path fill="none" extrusionOk="false">\r
- <moveTo>\r
- <pt x="ix" y="iy" />\r
- </moveTo>\r
- <arcTo wR="wR" hR="h" stAng="stAng2" swAng="swAng2" />\r
- <lnTo>\r
- <pt x="x4" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x6" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x8" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x7" y="y1" />\r
- </lnTo>\r
- <arcTo wR="wR" hR="h" stAng="stAng3" swAng="swAng" />\r
- <lnTo>\r
- <pt x="wR" y="b" />\r
- </lnTo>\r
- <arcTo wR="wR" hR="h" stAng="cd4" swAng="cd4" />\r
- <lnTo>\r
- <pt x="th" y="t" />\r
- </lnTo>\r
- <arcTo wR="wR" hR="h" stAng="cd2" swAng="-5400000" />\r
- </path>\r
- </pathLst>\r
-\r
- </curvedUpArrow>\r
- <decagon>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="vf" fmla="val 105146" />\r
- </avLst>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="shd2" fmla="*/ hd2 vf 100000" />\r
- <gd name="dx1" fmla="cos wd2 2160000" />\r
- <gd name="dx2" fmla="cos wd2 4320000" />\r
- <gd name="x1" fmla="+- hc 0 dx1" />\r
- <gd name="x2" fmla="+- hc 0 dx2" />\r
- <gd name="x3" fmla="+- hc dx2 0" />\r
- <gd name="x4" fmla="+- hc dx1 0" />\r
- <gd name="dy1" fmla="sin shd2 4320000" />\r
- <gd name="dy2" fmla="sin shd2 2160000" />\r
- <gd name="y1" fmla="+- vc 0 dy1" />\r
- <gd name="y2" fmla="+- vc 0 dy2" />\r
- <gd name="y3" fmla="+- vc dy2 0" />\r
- <gd name="y4" fmla="+- vc dy1 0" />\r
- </gdLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="x4" y="y2" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="x4" y="y3" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x3" y="y4" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x2" y="y4" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="x1" y="y3" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="x1" y="y2" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="x2" y="y1" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="x3" y="y1" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="x1" t="y2" r="x4" b="y3" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="vc" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x1" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="vc" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y3" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </decagon>\r
- <diagStripe>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj" fmla="val 50000" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a" fmla="pin 0 adj 100000" />\r
- <gd name="x2" fmla="*/ w a 100000" />\r
- <gd name="x1" fmla="*/ x2 1 2" />\r
- <gd name="x3" fmla="+/ x2 r 2" />\r
- <gd name="y2" fmla="*/ h a 100000" />\r
- <gd name="y1" fmla="*/ y2 1 2" />\r
- <gd name="y3" fmla="+/ y2 b 2" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj" minY="0" maxY="100000">\r
- <pos x="l" y="y2" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="hc" y="vc" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="y3" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="x1" y="y1" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="x3" y="t" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="l" t="t" r="x3" b="y3" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="y2" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x2" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </diagStripe>\r
- <diamond>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="ir" fmla="*/ w 3 4" />\r
- <gd name="ib" fmla="*/ h 3 4" />\r
- </gdLst>\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
- <rect l="wd4" t="hd4" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="vc" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="hc" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="vc" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="hc" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
- </diamond>\r
- <dodecagon>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="x1" fmla="*/ w 2894 21600" />\r
- <gd name="x2" fmla="*/ w 7906 21600" />\r
- <gd name="x3" fmla="*/ w 13694 21600" />\r
- <gd name="x4" fmla="*/ w 18706 21600" />\r
- <gd name="y1" fmla="*/ h 2894 21600" />\r
- <gd name="y2" fmla="*/ h 7906 21600" />\r
- <gd name="y3" fmla="*/ h 13694 21600" />\r
- <gd name="y4" fmla="*/ h 18706 21600" />\r
- </gdLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="x4" y="y1" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="y2" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="y3" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="x4" y="y4" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x3" y="b" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x2" y="b" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="x1" y="y4" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="y3" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="y2" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="x1" y="y1" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="x2" y="t" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="x3" y="t" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="x1" t="y1" r="x4" b="y4" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="y2" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x1" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="y3" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </dodecagon>\r
- <donut>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj" fmla="val 25000" />\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a" fmla="pin 0 adj 50000" />\r
- <gd name="dr" fmla="*/ ss a 100000" />\r
- <gd name="iwd2" fmla="+- wd2 0 dr" />\r
- <gd name="ihd2" fmla="+- hd2 0 dr" />\r
- <gd name="idx" fmla="cos wd2 2700000" />\r
- <gd name="idy" fmla="sin hd2 2700000" />\r
- <gd name="il" fmla="+- hc 0 idx" />\r
- <gd name="ir" fmla="+- hc idx 0" />\r
- <gd name="it" fmla="+- vc 0 idy" />\r
- <gd name="ib" fmla="+- vc idy 0" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahPolar gdRefR="adj" minR="0" maxR="50000">\r
- <pos x="dr" y="vc" />\r
- </ahPolar>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="il" y="it" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="il" y="ib" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="ir" y="ib" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="ir" y="it" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="vc" />\r
- </moveTo>\r
- <arcTo wR="wd2" hR="hd2" stAng="cd2" swAng="cd4" />\r
- <arcTo wR="wd2" hR="hd2" stAng="3cd4" swAng="cd4" />\r
- <arcTo wR="wd2" hR="hd2" stAng="0" swAng="cd4" />\r
- <arcTo wR="wd2" hR="hd2" stAng="cd4" swAng="cd4" />\r
- <close />\r
- <moveTo>\r
- <pt x="dr" y="vc" />\r
- </moveTo>\r
- <arcTo wR="iwd2" hR="ihd2" stAng="cd2" swAng="-5400000" />\r
- <arcTo wR="iwd2" hR="ihd2" stAng="cd4" swAng="-5400000" />\r
- <arcTo wR="iwd2" hR="ihd2" stAng="0" swAng="-5400000" />\r
- <arcTo wR="iwd2" hR="ihd2" stAng="3cd4" swAng="-5400000" />\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </donut>\r
- <doubleWave>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 6250" />\r
-\r
- <gd name="adj2" fmla="val 0" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a1" fmla="pin 0 adj1 12500" />\r
- <gd name="a2" fmla="pin -10000 adj2 10000" />\r
- <gd name="y1" fmla="*/ h a1 100000" />\r
-\r
- <gd name="dy2" fmla="*/ y1 10 3" />\r
- <gd name="y2" fmla="+- y1 0 dy2" />\r
-\r
- <gd name="y3" fmla="+- y1 dy2 0" />\r
-\r
- <gd name="y4" fmla="+- b 0 y1" />\r
-\r
- <gd name="y5" fmla="+- y4 0 dy2" />\r
-\r
- <gd name="y6" fmla="+- y4 dy2 0" />\r
-\r
- <gd name="dx1" fmla="*/ w a2 100000" />\r
-\r
- <gd name="of2" fmla="*/ w a2 50000" />\r
-\r
- <gd name="x1" fmla="abs dx1" />\r
-\r
- <gd name="dx2" fmla="?: of2 0 of2" />\r
- <gd name="x2" fmla="+- l 0 dx2" />\r
-\r
- <gd name="dx8" fmla="?: of2 of2 0" />\r
- <gd name="x8" fmla="+- r 0 dx8" />\r
-\r
- <gd name="dx3" fmla="+/ dx2 x8 6" />\r
- <gd name="x3" fmla="+- x2 dx3 0" />\r
-\r
- <gd name="dx4" fmla="+/ dx2 x8 3" />\r
- <gd name="x4" fmla="+- x2 dx4 0" />\r
-\r
- <gd name="x5" fmla="+/ x2 x8 2" />\r
-\r
- <gd name="x6" fmla="+- x5 dx3 0" />\r
-\r
- <gd name="x7" fmla="+/ x6 x8 2" />\r
-\r
- <gd name="x9" fmla="+- l dx8 0" />\r
-\r
- <gd name="x15" fmla="+- r dx2 0" />\r
-\r
- <gd name="x10" fmla="+- x9 dx3 0" />\r
-\r
- <gd name="x11" fmla="+- x9 dx4 0" />\r
-\r
- <gd name="x12" fmla="+/ x9 x15 2" />\r
-\r
- <gd name="x13" fmla="+- x12 dx3 0" />\r
-\r
- <gd name="x14" fmla="+/ x13 x15 2" />\r
-\r
- <gd name="x16" fmla="+- r 0 x1" />\r
-\r
- <gd name="xAdj" fmla="+- hc dx1 0" />\r
- <gd name="il" fmla="max x2 x9" />\r
- <gd name="ir" fmla="min x8 x15" />\r
- <gd name="it" fmla="*/ h a1 50000" />\r
- <gd name="ib" fmla="+- b 0 it" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj1" minY="0" maxY="12500">\r
- <pos x="l" y="y1" />\r
- </ahXY>\r
- <ahXY gdRefX="adj2" minX="-10000" maxX="10000">\r
- <pos x="xAdj" y="b" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="cd4">\r
- <pos x="x12" y="y1" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="x1" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="x5" y="y4" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="x16" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="x2" y="y1" />\r
- </moveTo>\r
- <cubicBezTo>\r
- <pt x="x3" y="y2" />\r
- <pt x="x4" y="y3" />\r
- <pt x="x5" y="y1" />\r
- </cubicBezTo>\r
- <cubicBezTo>\r
- <pt x="x6" y="y2" />\r
- <pt x="x7" y="y3" />\r
- <pt x="x8" y="y1" />\r
- </cubicBezTo>\r
- <lnTo>\r
- <pt x="x15" y="y4" />\r
- </lnTo>\r
- <cubicBezTo>\r
- <pt x="x14" y="y6" />\r
- <pt x="x13" y="y5" />\r
- <pt x="x12" y="y4" />\r
- </cubicBezTo>\r
- <cubicBezTo>\r
- <pt x="x11" y="y6" />\r
- <pt x="x10" y="y5" />\r
- <pt x="x9" y="y4" />\r
- </cubicBezTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </doubleWave>\r
- <downArrow>\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 50000" />\r
- <gd name="adj2" fmla="val 50000" />\r
- </avLst>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="maxAdj2" fmla="*/ 100000 h ss" />\r
- <gd name="a1" fmla="pin 0 adj1 100000" />\r
- <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
- <gd name="dy1" fmla="*/ ss a2 100000" />\r
- <gd name="y1" fmla="+- b 0 dy1" />\r
- <gd name="dx1" fmla="*/ w a1 200000" />\r
- <gd name="x1" fmla="+- hc 0 dx1" />\r
- <gd name="x2" fmla="+- hc dx1 0" />\r
- <gd name="dy2" fmla="*/ x1 dy1 wd2" />\r
- <gd name="y2" fmla="+- y1 dy2 0" />\r
- </gdLst>\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj1" minX="0" maxX="100000">\r
- <pos x="x1" y="t" />\r
- </ahXY>\r
- <ahXY gdRefY="adj2" minY="0" maxY="maxAdj2">\r
- <pos x="l" y="y1" />\r
- </ahXY>\r
- </ahLst>\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="y1" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="y1" />\r
- </cxn>\r
- </cxnLst>\r
- <rect l="x1" t="t" r="x2" b="y2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="y1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x1" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="hc" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
- </downArrow>\r
- <downArrowCallout>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 25000" />\r
-\r
- <gd name="adj2" fmla="val 25000" />\r
-\r
- <gd name="adj3" fmla="val 25000" />\r
-\r
- <gd name="adj4" fmla="val 64977" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="maxAdj2" fmla="*/ 50000 w ss" />\r
-\r
- <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
- <gd name="maxAdj1" fmla="*/ a2 2 1" />\r
-\r
- <gd name="a1" fmla="pin 0 adj1 maxAdj1" />\r
- <gd name="maxAdj3" fmla="*/ 100000 h ss" />\r
-\r
- <gd name="a3" fmla="pin 0 adj3 maxAdj3" />\r
- <gd name="q2" fmla="*/ a3 ss h" />\r
-\r
- <gd name="maxAdj4" fmla="+- 100000 0 q2" />\r
-\r
- <gd name="a4" fmla="pin 0 adj4 maxAdj4" />\r
- <gd name="dx1" fmla="*/ ss a2 100000" />\r
-\r
- <gd name="dx2" fmla="*/ ss a1 200000" />\r
-\r
- <gd name="x1" fmla="+- hc 0 dx1" />\r
- <gd name="x2" fmla="+- hc 0 dx2" />\r
- <gd name="x3" fmla="+- hc dx2 0" />\r
- <gd name="x4" fmla="+- hc dx1 0" />\r
- <gd name="dy3" fmla="*/ ss a3 100000" />\r
-\r
- <gd name="y3" fmla="+- b 0 dy3" />\r
- <gd name="y2" fmla="*/ h a4 100000" />\r
-\r
- <gd name="y1" fmla="*/ y2 1 2" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj1" minX="0" maxX="maxAdj1">\r
- <pos x="x2" y="y3" />\r
- </ahXY>\r
- <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">\r
- <pos x="x1" y="b" />\r
- </ahXY>\r
- <ahXY gdRefY="adj3" minY="0" maxY="maxAdj3">\r
- <pos x="r" y="y3" />\r
- </ahXY>\r
- <ahXY gdRefY="adj4" minY="0" maxY="maxAdj4">\r
- <pos x="l" y="y2" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="y1" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="y1" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="l" t="t" r="r" b="y2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="hc" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="y2" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </downArrowCallout>\r
- <ellipse>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="idx" fmla="cos wd2 2700000" />\r
- <gd name="idy" fmla="sin hd2 2700000" />\r
- <gd name="il" fmla="+- hc 0 idx" />\r
- <gd name="ir" fmla="+- hc idx 0" />\r
- <gd name="it" fmla="+- vc 0 idy" />\r
- <gd name="ib" fmla="+- vc idy 0" />\r
- </gdLst>\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="il" y="it" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="il" y="ib" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="ir" y="ib" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="ir" y="it" />\r
- </cxn>\r
- </cxnLst>\r
- <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="vc" />\r
- </moveTo>\r
- <arcTo wR="wd2" hR="hd2" stAng="cd2" swAng="cd4" />\r
- <arcTo wR="wd2" hR="hd2" stAng="3cd4" swAng="cd4" />\r
- <arcTo wR="wd2" hR="hd2" stAng="0" swAng="cd4" />\r
- <arcTo wR="wd2" hR="hd2" stAng="cd4" swAng="cd4" />\r
- <close />\r
- </path>\r
- </pathLst>\r
- </ellipse>\r
- <ellipseRibbon>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 25000" />\r
-\r
- <gd name="adj2" fmla="val 50000" />\r
-\r
- <gd name="adj3" fmla="val 12500" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a1" fmla="pin 0 adj1 100000" />\r
- <gd name="a2" fmla="pin 25000 adj2 75000" />\r
- <gd name="q10" fmla="+- 100000 0 a1" />\r
- <gd name="q11" fmla="*/ q10 1 2" />\r
- <gd name="q12" fmla="+- a1 0 q11" />\r
- <gd name="minAdj3" fmla="max 0 q12" />\r
- <gd name="a3" fmla="pin minAdj3 adj3 a1" />\r
-\r
-\r
- <gd name="dx2" fmla="*/ w a2 200000" />\r
-\r
- <gd name="x2" fmla="+- hc 0 dx2" />\r
-\r
- <gd name="x3" fmla="+- x2 wd8 0" />\r
-\r
- <gd name="x4" fmla="+- r 0 x3" />\r
-\r
- <gd name="x5" fmla="+- r 0 x2" />\r
-\r
- <gd name="x6" fmla="+- r 0 wd8" />\r
-\r
- <gd name="dy1" fmla="*/ h a3 100000" />\r
-\r
- <gd name="f1" fmla="*/ 4 dy1 w" />\r
-\r
- <gd name="q1" fmla="*/ x3 x3 w" />\r
- <gd name="q2" fmla="+- x3 0 q1" />\r
- <gd name="y1" fmla="*/ f1 q2 1" />\r
-\r
- <gd name="cx1" fmla="*/ x3 1 2" />\r
-\r
- <gd name="cy1" fmla="*/ f1 cx1 1" />\r
-\r
- <gd name="cx2" fmla="+- r 0 cx1" />\r
-\r
-\r
-\r
- <gd name="q1" fmla="*/ h a1 100000" />\r
-\r
- <gd name="dy3" fmla="+- q1 0 dy1" />\r
-\r
- <gd name="q3" fmla="*/ x2 x2 w" />\r
- <gd name="q4" fmla="+- x2 0 q3" />\r
- <gd name="q5" fmla="*/ f1 q4 1" />\r
- <gd name="y3" fmla="+- q5 dy3 0" />\r
-\r
-\r
-\r
- <gd name="q6" fmla="+- dy1 dy3 y3" />\r
- <gd name="q7" fmla="+- q6 dy1 0" />\r
- <gd name="cy3" fmla="+- q7 dy3 0" />\r
-\r
- <gd name="rh" fmla="+- b 0 q1" />\r
-\r
- <gd name="q8" fmla="*/ dy1 14 16" />\r
- <gd name="y2" fmla="+/ q8 rh 2" />\r
-\r
-\r
- <gd name="y5" fmla="+- q5 rh 0" />\r
-\r
- <gd name="y6" fmla="+- y3 rh 0" />\r
-\r
- <gd name="cx4" fmla="*/ x2 1 2" />\r
-\r
- <gd name="q9" fmla="*/ f1 cx4 1" />\r
- <gd name="cy4" fmla="+- q9 rh 0" />\r
-\r
- <gd name="cx5" fmla="+- r 0 cx4" />\r
-\r
-\r
-\r
-\r
-\r
- <gd name="cy6" fmla="+- cy3 rh 0" />\r
-\r
- <gd name="y7" fmla="+- y1 dy3 0" />\r
- <gd name="cy7" fmla="+- q1 q1 y7" />\r
- <gd name="y8" fmla="+- b 0 dy1" />\r
-\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj1" minY="0" maxY="100000">\r
- <pos x="hc" y="q1" />\r
- </ahXY>\r
- <ahXY gdRefX="adj2" minX="25000" maxX="75000">\r
- <pos x="x2" y="b" />\r
- </ahXY>\r
- <ahXY gdRefY="adj3" minY="minAdj3" maxY="a1">\r
- <pos x="l" y="y8" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="q1" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="wd8" y="y2" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="x6" y="y2" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="x2" t="q1" r="x5" b="y6" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path stroke="false" extrusionOk="false">\r
-\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <quadBezTo>\r
- <pt x="cx1" y="cy1" />\r
- <pt x="x3" y="y1" />\r
- </quadBezTo>\r
- <lnTo>\r
- <pt x="x2" y="y3" />\r
- </lnTo>\r
- <quadBezTo>\r
- <pt x="hc" y="cy3" />\r
- <pt x="x5" y="y3" />\r
- </quadBezTo>\r
- <lnTo>\r
- <pt x="x4" y="y1" />\r
- </lnTo>\r
- <quadBezTo>\r
- <pt x="cx2" y="cy1" />\r
- <pt x="r" y="t" />\r
- </quadBezTo>\r
- <lnTo>\r
- <pt x="x6" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="rh" />\r
- </lnTo>\r
- <quadBezTo>\r
- <pt x="cx5" y="cy4" />\r
- <pt x="x5" y="y5" />\r
- </quadBezTo>\r
- <lnTo>\r
- <pt x="x5" y="y6" />\r
- </lnTo>\r
- <quadBezTo>\r
- <pt x="hc" y="cy6" />\r
- <pt x="x2" y="y6" />\r
- </quadBezTo>\r
- <lnTo>\r
- <pt x="x2" y="y5" />\r
- </lnTo>\r
- <quadBezTo>\r
- <pt x="cx4" y="cy4" />\r
- <pt x="l" y="rh" />\r
- </quadBezTo>\r
- <lnTo>\r
- <pt x="wd8" y="y2" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path fill="darkenLess" stroke="false" extrusionOk="false">\r
- <moveTo>\r
- <pt x="x3" y="y7" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x3" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y3" />\r
- </lnTo>\r
- <quadBezTo>\r
- <pt x="hc" y="cy3" />\r
- <pt x="x5" y="y3" />\r
- </quadBezTo>\r
- <lnTo>\r
- <pt x="x4" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y7" />\r
- </lnTo>\r
- <quadBezTo>\r
- <pt x="hc" y="cy7" />\r
- <pt x="x3" y="y7" />\r
- </quadBezTo>\r
- <close />\r
- </path>\r
- <path fill="none" extrusionOk="false">\r
-\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <quadBezTo>\r
- <pt x="cx1" y="cy1" />\r
- <pt x="x3" y="y1" />\r
- </quadBezTo>\r
- <lnTo>\r
- <pt x="x2" y="y3" />\r
- </lnTo>\r
- <quadBezTo>\r
- <pt x="hc" y="cy3" />\r
- <pt x="x5" y="y3" />\r
- </quadBezTo>\r
- <lnTo>\r
- <pt x="x4" y="y1" />\r
- </lnTo>\r
- <quadBezTo>\r
- <pt x="cx2" y="cy1" />\r
- <pt x="r" y="t" />\r
- </quadBezTo>\r
- <lnTo>\r
- <pt x="x6" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="rh" />\r
- </lnTo>\r
- <quadBezTo>\r
- <pt x="cx5" y="cy4" />\r
- <pt x="x5" y="y5" />\r
- </quadBezTo>\r
- <lnTo>\r
- <pt x="x5" y="y6" />\r
- </lnTo>\r
- <quadBezTo>\r
- <pt x="hc" y="cy6" />\r
- <pt x="x2" y="y6" />\r
- </quadBezTo>\r
- <lnTo>\r
- <pt x="x2" y="y5" />\r
- </lnTo>\r
- <quadBezTo>\r
- <pt x="cx4" y="cy4" />\r
- <pt x="l" y="rh" />\r
- </quadBezTo>\r
- <lnTo>\r
- <pt x="wd8" y="y2" />\r
- </lnTo>\r
- <close />\r
- <moveTo>\r
- <pt x="x2" y="y5" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x2" y="y3" />\r
- </lnTo>\r
- <moveTo>\r
- <pt x="x5" y="y3" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x5" y="y5" />\r
- </lnTo>\r
- <moveTo>\r
- <pt x="x3" y="y1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x3" y="y7" />\r
- </lnTo>\r
- <moveTo>\r
- <pt x="x4" y="y7" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x4" y="y1" />\r
- </lnTo>\r
- </path>\r
- </pathLst>\r
-\r
- </ellipseRibbon>\r
- <ellipseRibbon2>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 25000" />\r
-\r
- <gd name="adj2" fmla="val 50000" />\r
-\r
- <gd name="adj3" fmla="val 12500" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
-\r
-\r
- <gd name="a1" fmla="pin 0 adj1 100000" />\r
- <gd name="a2" fmla="pin 25000 adj2 75000" />\r
- <gd name="q10" fmla="+- 100000 0 a1" />\r
- <gd name="q11" fmla="*/ q10 1 2" />\r
- <gd name="q12" fmla="+- a1 0 q11" />\r
- <gd name="minAdj3" fmla="max 0 q12" />\r
- <gd name="a3" fmla="pin minAdj3 adj3 a1" />\r
- <gd name="dx2" fmla="*/ w a2 200000" />\r
-\r
- <gd name="x2" fmla="+- hc 0 dx2" />\r
-\r
- <gd name="x3" fmla="+- x2 wd8 0" />\r
-\r
- <gd name="x4" fmla="+- r 0 x3" />\r
-\r
- <gd name="x5" fmla="+- r 0 x2" />\r
-\r
- <gd name="x6" fmla="+- r 0 wd8" />\r
-\r
- <gd name="dy1" fmla="*/ h a3 100000" />\r
-\r
- <gd name="f1" fmla="*/ 4 dy1 w" />\r
-\r
- <gd name="q1" fmla="*/ x3 x3 w" />\r
- <gd name="q2" fmla="+- x3 0 q1" />\r
- <gd name="u1" fmla="*/ f1 q2 1" />\r
-\r
- <gd name="y1" fmla="+- b 0 u1" />\r
- <gd name="cx1" fmla="*/ x3 1 2" />\r
-\r
- <gd name="cu1" fmla="*/ f1 cx1 1" />\r
-\r
- <gd name="cy1" fmla="+- b 0 cu1" />\r
- <gd name="cx2" fmla="+- r 0 cx1" />\r
-\r
-\r
-\r
- <gd name="q1" fmla="*/ h a1 100000" />\r
-\r
- <gd name="dy3" fmla="+- q1 0 dy1" />\r
-\r
- <gd name="q3" fmla="*/ x2 x2 w" />\r
- <gd name="q4" fmla="+- x2 0 q3" />\r
- <gd name="q5" fmla="*/ f1 q4 1" />\r
- <gd name="u3" fmla="+- q5 dy3 0" />\r
-\r
- <gd name="y3" fmla="+- b 0 u3" />\r
-\r
-\r
- <gd name="q6" fmla="+- dy1 dy3 u3" />\r
- <gd name="q7" fmla="+- q6 dy1 0" />\r
- <gd name="cu3" fmla="+- q7 dy3 0" />\r
-\r
- <gd name="cy3" fmla="+- b 0 cu3" />\r
- <gd name="rh" fmla="+- b 0 q1" />\r
-\r
- <gd name="q8" fmla="*/ dy1 14 16" />\r
- <gd name="u2" fmla="+/ q8 rh 2" />\r
-\r
- <gd name="y2" fmla="+- b 0 u2" />\r
-\r
- <gd name="u5" fmla="+- q5 rh 0" />\r
-\r
- <gd name="y5" fmla="+- b 0 u5" />\r
- <gd name="u6" fmla="+- u3 rh 0" />\r
-\r
- <gd name="y6" fmla="+- b 0 u6" />\r
- <gd name="cx4" fmla="*/ x2 1 2" />\r
-\r
- <gd name="q9" fmla="*/ f1 cx4 1" />\r
- <gd name="cu4" fmla="+- q9 rh 0" />\r
-\r
- <gd name="cy4" fmla="+- b 0 cu4" />\r
- <gd name="cx5" fmla="+- r 0 cx4" />\r
-\r
-\r
-\r
-\r
-\r
- <gd name="cu6" fmla="+- cu3 rh 0" />\r
-\r
- <gd name="cy6" fmla="+- b 0 cu6" />\r
- <gd name="u7" fmla="+- u1 dy3 0" />\r
- <gd name="y7" fmla="+- b 0 u7" />\r
- <gd name="cu7" fmla="+- q1 q1 u7" />\r
- <gd name="cy7" fmla="+- b 0 cu7" />\r
-\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj1" minY="0" maxY="100000">\r
- <pos x="hc" y="rh" />\r
- </ahXY>\r
- <ahXY gdRefX="adj2" minX="25000" maxX="100000">\r
- <pos x="x2" y="t" />\r
- </ahXY>\r
- <ahXY gdRefY="adj3" minY="minAdj3" maxY="a1">\r
- <pos x="l" y="dy1" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="wd8" y="y2" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="rh" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="x6" y="y2" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="x2" t="y6" r="x5" b="rh" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path stroke="false" extrusionOk="false">\r
-\r
- <moveTo>\r
- <pt x="l" y="b" />\r
- </moveTo>\r
- <quadBezTo>\r
- <pt x="cx1" y="cy1" />\r
- <pt x="x3" y="y1" />\r
- </quadBezTo>\r
- <lnTo>\r
- <pt x="x2" y="y3" />\r
- </lnTo>\r
- <quadBezTo>\r
- <pt x="hc" y="cy3" />\r
- <pt x="x5" y="y3" />\r
- </quadBezTo>\r
- <lnTo>\r
- <pt x="x4" y="y1" />\r
- </lnTo>\r
- <quadBezTo>\r
- <pt x="cx2" y="cy1" />\r
- <pt x="r" y="b" />\r
- </quadBezTo>\r
- <lnTo>\r
- <pt x="x6" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="q1" />\r
- </lnTo>\r
- <quadBezTo>\r
- <pt x="cx5" y="cy4" />\r
- <pt x="x5" y="y5" />\r
- </quadBezTo>\r
- <lnTo>\r
- <pt x="x5" y="y6" />\r
- </lnTo>\r
- <quadBezTo>\r
- <pt x="hc" y="cy6" />\r
- <pt x="x2" y="y6" />\r
- </quadBezTo>\r
- <lnTo>\r
- <pt x="x2" y="y5" />\r
- </lnTo>\r
- <quadBezTo>\r
- <pt x="cx4" y="cy4" />\r
- <pt x="l" y="q1" />\r
- </quadBezTo>\r
- <lnTo>\r
- <pt x="wd8" y="y2" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path fill="darkenLess" stroke="false" extrusionOk="false">\r
- <moveTo>\r
- <pt x="x3" y="y7" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x3" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y3" />\r
- </lnTo>\r
- <quadBezTo>\r
- <pt x="hc" y="cy3" />\r
- <pt x="x5" y="y3" />\r
- </quadBezTo>\r
- <lnTo>\r
- <pt x="x4" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y7" />\r
- </lnTo>\r
- <quadBezTo>\r
- <pt x="hc" y="cy7" />\r
- <pt x="x3" y="y7" />\r
- </quadBezTo>\r
- <close />\r
- </path>\r
- <path fill="none" extrusionOk="false">\r
-\r
- <moveTo>\r
- <pt x="l" y="b" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="wd8" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="q1" />\r
- </lnTo>\r
- <quadBezTo>\r
- <pt x="cx4" y="cy4" />\r
- <pt x="x2" y="y5" />\r
- </quadBezTo>\r
- <lnTo>\r
- <pt x="x2" y="y6" />\r
- </lnTo>\r
- <quadBezTo>\r
- <pt x="hc" y="cy6" />\r
- <pt x="x5" y="y6" />\r
- </quadBezTo>\r
- <lnTo>\r
- <pt x="x5" y="y5" />\r
- </lnTo>\r
- <quadBezTo>\r
- <pt x="cx5" y="cy4" />\r
- <pt x="r" y="q1" />\r
- </quadBezTo>\r
- <lnTo>\r
- <pt x="x6" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <quadBezTo>\r
- <pt x="cx2" y="cy1" />\r
- <pt x="x4" y="y1" />\r
- </quadBezTo>\r
- <lnTo>\r
- <pt x="x5" y="y3" />\r
- </lnTo>\r
- <quadBezTo>\r
- <pt x="hc" y="cy3" />\r
- <pt x="x2" y="y3" />\r
- </quadBezTo>\r
- <lnTo>\r
- <pt x="x3" y="y1" />\r
- </lnTo>\r
- <quadBezTo>\r
- <pt x="cx1" y="cy1" />\r
- <pt x="l" y="b" />\r
- </quadBezTo>\r
- <close />\r
- <moveTo>\r
- <pt x="x2" y="y3" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x2" y="y5" />\r
- </lnTo>\r
- <moveTo>\r
- <pt x="x5" y="y5" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x5" y="y3" />\r
- </lnTo>\r
- <moveTo>\r
- <pt x="x3" y="y7" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x3" y="y1" />\r
- </lnTo>\r
- <moveTo>\r
- <pt x="x4" y="y1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x4" y="y7" />\r
- </lnTo>\r
- </path>\r
- </pathLst>\r
-\r
- </ellipseRibbon2>\r
- <flowChartAlternateProcess>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="x2" fmla="+- r 0 ssd6" />\r
- <gd name="y2" fmla="+- b 0 ssd6" />\r
- <gd name="il" fmla="*/ ssd6 29289 100000" />\r
-\r
-\r
- <gd name="ir" fmla="+- r 0 il" />\r
- <gd name="ib" fmla="+- b 0 il" />\r
- </gdLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="il" t="il" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="ssd6" />\r
- </moveTo>\r
- <arcTo wR="ssd6" hR="ssd6" stAng="cd2" swAng="cd4" />\r
- <lnTo>\r
- <pt x="x2" y="t" />\r
- </lnTo>\r
- <arcTo wR="ssd6" hR="ssd6" stAng="3cd4" swAng="cd4" />\r
- <lnTo>\r
- <pt x="r" y="y2" />\r
- </lnTo>\r
- <arcTo wR="ssd6" hR="ssd6" stAng="0" swAng="cd4" />\r
- <lnTo>\r
- <pt x="ssd6" y="b" />\r
- </lnTo>\r
- <arcTo wR="ssd6" hR="ssd6" stAng="cd4" swAng="cd4" />\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </flowChartAlternateProcess>\r
- <flowChartCollate>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="ir" fmla="*/ w 3 4" />\r
- <gd name="ib" fmla="*/ h 3 4" />\r
- </gdLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="wd4" t="hd4" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path w="2" h="2">\r
- <moveTo>\r
- <pt x="0" y="0" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="2" y="0" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="1" y="1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="2" y="2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="0" y="2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="1" y="1" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </flowChartCollate>\r
- <flowChartConnector>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="idx" fmla="cos wd2 2700000" />\r
- <gd name="idy" fmla="sin hd2 2700000" />\r
- <gd name="il" fmla="+- hc 0 idx" />\r
- <gd name="ir" fmla="+- hc idx 0" />\r
- <gd name="it" fmla="+- vc 0 idy" />\r
- <gd name="ib" fmla="+- vc idy 0" />\r
- </gdLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="il" y="it" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="il" y="ib" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="ir" y="ib" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="ir" y="it" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="vc" />\r
- </moveTo>\r
- <arcTo wR="wd2" hR="hd2" stAng="cd2" swAng="cd4" />\r
- <arcTo wR="wd2" hR="hd2" stAng="3cd4" swAng="cd4" />\r
- <arcTo wR="wd2" hR="hd2" stAng="0" swAng="cd4" />\r
- <arcTo wR="wd2" hR="hd2" stAng="cd4" swAng="cd4" />\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </flowChartConnector>\r
- <flowChartDecision>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="ir" fmla="*/ w 3 4" />\r
- <gd name="ib" fmla="*/ h 3 4" />\r
- </gdLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="wd4" t="hd4" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path w="2" h="2">\r
- <moveTo>\r
- <pt x="0" y="1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="1" y="0" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="2" y="1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="1" y="2" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </flowChartDecision>\r
- <flowChartDelay>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="idx" fmla="cos wd2 2700000" />\r
- <gd name="idy" fmla="sin hd2 2700000" />\r
- <gd name="ir" fmla="+- hc idx 0" />\r
- <gd name="it" fmla="+- vc 0 idy" />\r
- <gd name="ib" fmla="+- vc idy 0" />\r
- </gdLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="l" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="hc" y="t" />\r
- </lnTo>\r
- <arcTo wR="wd2" hR="hd2" stAng="3cd4" swAng="cd2" />\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </flowChartDelay>\r
- <flowChartDisplay>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="x2" fmla="*/ w 5 6" />\r
- </gdLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="wd6" t="t" r="x2" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path w="6" h="6">\r
- <moveTo>\r
- <pt x="0" y="3" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="1" y="0" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="5" y="0" />\r
- </lnTo>\r
- <arcTo wR="1" hR="3" stAng="3cd4" swAng="cd2" />\r
- <lnTo>\r
- <pt x="1" y="6" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </flowChartDisplay>\r
- <flowChartDocument>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="y1" fmla="*/ h 17322 21600" />\r
- <gd name="y2" fmla="*/ h 20172 21600" />\r
- </gdLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="y2" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="l" t="t" r="r" b="y1" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path w="21600" h="21600">\r
- <moveTo>\r
- <pt x="0" y="0" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="21600" y="0" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="21600" y="17322" />\r
- </lnTo>\r
- <cubicBezTo>\r
- <pt x="10800" y="17322" />\r
- <pt x="10800" y="23922" />\r
- <pt x="0" y="20172" />\r
- </cubicBezTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </flowChartDocument>\r
- <flowChartExtract>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="x2" fmla="*/ w 3 4" />\r
- </gdLst>\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="wd4" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="x2" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="wd4" t="vc" r="x2" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path w="2" h="2">\r
- <moveTo>\r
- <pt x="0" y="2" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="1" y="0" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="2" y="2" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </flowChartExtract>\r
- <flowChartInputOutput>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="x3" fmla="*/ w 2 5" />\r
- <gd name="x4" fmla="*/ w 3 5" />\r
- <gd name="x5" fmla="*/ w 4 5" />\r
- <gd name="x6" fmla="*/ w 9 10" />\r
- </gdLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="x4" y="t" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="wd10" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x3" y="b" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="x6" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="wd5" t="t" r="x5" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path w="5" h="5">\r
- <moveTo>\r
- <pt x="0" y="5" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="1" y="0" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="5" y="0" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="4" y="5" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </flowChartInputOutput>\r
- <flowChartInternalStorage>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="wd8" t="hd8" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path stroke="false" extrusionOk="false" w="1" h="1">\r
-\r
- <moveTo>\r
- <pt x="0" y="0" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="1" y="0" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="1" y="1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="0" y="1" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path fill="none" extrusionOk="false" w="8" h="8">\r
-\r
- <moveTo>\r
- <pt x="1" y="0" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="1" y="8" />\r
- </lnTo>\r
- <moveTo>\r
- <pt x="0" y="1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="8" y="1" />\r
- </lnTo>\r
- </path>\r
- <path fill="none" w="1" h="1">\r
-\r
- <moveTo>\r
- <pt x="0" y="0" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="1" y="0" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="1" y="1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="0" y="1" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </flowChartInternalStorage>\r
- <flowChartMagneticDisk>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="y3" fmla="*/ h 5 6" />\r
- </gdLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="hd3" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="l" t="hd3" r="r" b="y3" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path stroke="false" extrusionOk="false" w="6" h="6">\r
-\r
- <moveTo>\r
- <pt x="0" y="1" />\r
- </moveTo>\r
- <arcTo wR="3" hR="1" stAng="cd2" swAng="cd2" />\r
- <lnTo>\r
- <pt x="6" y="5" />\r
- </lnTo>\r
- <arcTo wR="3" hR="1" stAng="0" swAng="cd2" />\r
- <close />\r
- </path>\r
- <path fill="none" extrusionOk="false" w="6" h="6">\r
-\r
- <moveTo>\r
- <pt x="6" y="1" />\r
- </moveTo>\r
- <arcTo wR="3" hR="1" stAng="0" swAng="cd2" />\r
- </path>\r
- <path fill="none" w="6" h="6">\r
-\r
- <moveTo>\r
- <pt x="0" y="1" />\r
- </moveTo>\r
- <arcTo wR="3" hR="1" stAng="cd2" swAng="cd2" />\r
- <lnTo>\r
- <pt x="6" y="5" />\r
- </lnTo>\r
- <arcTo wR="3" hR="1" stAng="0" swAng="cd2" />\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </flowChartMagneticDisk>\r
- <flowChartMagneticDrum>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="x2" fmla="*/ w 2 3" />\r
- </gdLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="x2" y="vc" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="wd6" t="t" r="x2" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path stroke="false" extrusionOk="false" w="6" h="6">\r
-\r
- <moveTo>\r
- <pt x="1" y="0" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="5" y="0" />\r
- </lnTo>\r
- <arcTo wR="1" hR="3" stAng="3cd4" swAng="cd2" />\r
- <lnTo>\r
- <pt x="1" y="6" />\r
- </lnTo>\r
- <arcTo wR="1" hR="3" stAng="cd4" swAng="cd2" />\r
- <close />\r
- </path>\r
- <path fill="none" extrusionOk="false" w="6" h="6">\r
-\r
- <moveTo>\r
- <pt x="5" y="6" />\r
- </moveTo>\r
- <arcTo wR="1" hR="3" stAng="cd4" swAng="cd2" />\r
- </path>\r
- <path fill="none" w="6" h="6">\r
-\r
- <moveTo>\r
- <pt x="1" y="0" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="5" y="0" />\r
- </lnTo>\r
- <arcTo wR="1" hR="3" stAng="3cd4" swAng="cd2" />\r
- <lnTo>\r
- <pt x="1" y="6" />\r
- </lnTo>\r
- <arcTo wR="1" hR="3" stAng="cd4" swAng="cd2" />\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </flowChartMagneticDrum>\r
- <flowChartMagneticTape>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="idx" fmla="cos wd2 2700000" />\r
- <gd name="idy" fmla="sin hd2 2700000" />\r
- <gd name="il" fmla="+- hc 0 idx" />\r
- <gd name="ir" fmla="+- hc idx 0" />\r
- <gd name="it" fmla="+- vc 0 idy" />\r
- <gd name="ib" fmla="+- vc idy 0" />\r
- <gd name="ang1" fmla="at2 w h" />\r
- </gdLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="hc" y="b" />\r
- </moveTo>\r
- <arcTo wR="wd2" hR="hd2" stAng="cd4" swAng="cd4" />\r
- <arcTo wR="wd2" hR="hd2" stAng="cd2" swAng="cd4" />\r
- <arcTo wR="wd2" hR="hd2" stAng="3cd4" swAng="cd4" />\r
- <arcTo wR="wd2" hR="hd2" stAng="0" swAng="ang1" />\r
- <lnTo>\r
- <pt x="r" y="ib" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </flowChartMagneticTape>\r
- <flowChartManualInput>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="hd10" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="l" t="hd5" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path w="5" h="5">\r
- <moveTo>\r
- <pt x="0" y="1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="5" y="0" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="5" y="5" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="0" y="5" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </flowChartManualInput>\r
- <flowChartManualOperation>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="x3" fmla="*/ w 4 5" />\r
- <gd name="x4" fmla="*/ w 9 10" />\r
- </gdLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="wd10" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="x4" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="wd5" t="t" r="x3" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path w="5" h="5">\r
- <moveTo>\r
- <pt x="0" y="0" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="5" y="0" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="4" y="5" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="1" y="5" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </flowChartManualOperation>\r
- <flowChartMerge>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="x2" fmla="*/ w 3 4" />\r
- </gdLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="wd4" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="x2" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="wd4" t="t" r="x2" b="vc" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path w="2" h="2">\r
- <moveTo>\r
- <pt x="0" y="0" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="2" y="0" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="1" y="2" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </flowChartMerge>\r
- <flowChartMultidocument>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="y2" fmla="*/ h 3675 21600" />\r
- <gd name="y8" fmla="*/ h 20782 21600" />\r
- <gd name="x3" fmla="*/ w 9298 21600" />\r
- <gd name="x4" fmla="*/ w 12286 21600" />\r
- <gd name="x5" fmla="*/ w 18595 21600" />\r
- </gdLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="x4" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x3" y="y8" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="l" t="y2" r="x5" b="y8" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path stroke="false" extrusionOk="false" w="21600" h="21600">\r
-\r
- <moveTo>\r
- <pt x="0" y="20782" />\r
- </moveTo>\r
- <cubicBezTo>\r
- <pt x="9298" y="23542" />\r
- <pt x="9298" y="18022" />\r
- <pt x="18595" y="18022" />\r
- </cubicBezTo>\r
- <lnTo>\r
- <pt x="18595" y="3675" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="0" y="3675" />\r
- </lnTo>\r
- <close />\r
- <moveTo>\r
- <pt x="1532" y="3675" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="1532" y="1815" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="20000" y="1815" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="20000" y="16252" />\r
- </lnTo>\r
- <cubicBezTo>\r
- <pt x="19298" y="16252" />\r
- <pt x="18595" y="16352" />\r
- <pt x="18595" y="16352" />\r
- </cubicBezTo>\r
- <lnTo>\r
- <pt x="18595" y="3675" />\r
- </lnTo>\r
- <close />\r
- <moveTo>\r
- <pt x="2972" y="1815" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="2972" y="0" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="21600" y="0" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="21600" y="14392" />\r
- </lnTo>\r
- <cubicBezTo>\r
- <pt x="20800" y="14392" />\r
- <pt x="20000" y="14467" />\r
- <pt x="20000" y="14467" />\r
- </cubicBezTo>\r
- <lnTo>\r
- <pt x="20000" y="1815" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path fill="none" extrusionOk="false" w="21600" h="21600">\r
-\r
- <moveTo>\r
- <pt x="0" y="3675" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="18595" y="3675" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="18595" y="18022" />\r
- </lnTo>\r
- <cubicBezTo>\r
- <pt x="9298" y="18022" />\r
- <pt x="9298" y="23542" />\r
- <pt x="0" y="20782" />\r
- </cubicBezTo>\r
- <close />\r
- <moveTo>\r
- <pt x="1532" y="3675" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="1532" y="1815" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="20000" y="1815" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="20000" y="16252" />\r
- </lnTo>\r
- <cubicBezTo>\r
- <pt x="19298" y="16252" />\r
- <pt x="18595" y="16352" />\r
- <pt x="18595" y="16352" />\r
- </cubicBezTo>\r
- <moveTo>\r
- <pt x="2972" y="1815" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="2972" y="0" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="21600" y="0" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="21600" y="14392" />\r
- </lnTo>\r
- <cubicBezTo>\r
- <pt x="20800" y="14392" />\r
- <pt x="20000" y="14467" />\r
- <pt x="20000" y="14467" />\r
- </cubicBezTo>\r
- </path>\r
- <path stroke="false" fill="none" w="21600" h="21600">\r
-\r
- <moveTo>\r
- <pt x="0" y="20782" />\r
- </moveTo>\r
- <cubicBezTo>\r
- <pt x="9298" y="23542" />\r
- <pt x="9298" y="18022" />\r
- <pt x="18595" y="18022" />\r
- </cubicBezTo>\r
- <lnTo>\r
- <pt x="18595" y="16352" />\r
- </lnTo>\r
- <cubicBezTo>\r
- <pt x="18595" y="16352" />\r
- <pt x="19298" y="16252" />\r
- <pt x="20000" y="16252" />\r
- </cubicBezTo>\r
- <lnTo>\r
- <pt x="20000" y="14467" />\r
- </lnTo>\r
- <cubicBezTo>\r
- <pt x="20000" y="14467" />\r
- <pt x="20800" y="14392" />\r
- <pt x="21600" y="14392" />\r
- </cubicBezTo>\r
- <lnTo>\r
- <pt x="21600" y="0" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="2972" y="0" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="2972" y="1815" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="1532" y="1815" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="1532" y="3675" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="0" y="3675" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </flowChartMultidocument>\r
- <flowChartOfflineStorage>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="x4" fmla="*/ w 3 4" />\r
- </gdLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="x4" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="wd4" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="wd4" t="t" r="x4" b="vc" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path stroke="false" extrusionOk="false" w="2" h="2">\r
-\r
- <moveTo>\r
- <pt x="0" y="0" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="2" y="0" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="1" y="2" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path fill="none" extrusionOk="false" w="5" h="5">\r
-\r
- <moveTo>\r
- <pt x="2" y="4" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="3" y="4" />\r
- </lnTo>\r
- </path>\r
- <path fill="none" extrusionOk="true" w="2" h="2">\r
-\r
- <moveTo>\r
- <pt x="0" y="0" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="2" y="0" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="1" y="2" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </flowChartOfflineStorage>\r
- <flowChartOffpageConnector>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="y1" fmla="*/ h 4 5" />\r
- </gdLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="l" t="t" r="r" b="y1" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path w="10" h="10">\r
- <moveTo>\r
- <pt x="0" y="0" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="10" y="0" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="10" y="8" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="5" y="10" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="0" y="8" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </flowChartOffpageConnector>\r
- <flowChartOnlineStorage>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="x2" fmla="*/ w 5 6" />\r
- </gdLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="x2" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="wd6" t="t" r="x2" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path w="6" h="6">\r
- <moveTo>\r
- <pt x="1" y="0" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="6" y="0" />\r
- </lnTo>\r
- <arcTo wR="1" hR="3" stAng="3cd4" swAng="-10800000" />\r
- <lnTo>\r
- <pt x="1" y="6" />\r
- </lnTo>\r
- <arcTo wR="1" hR="3" stAng="cd4" swAng="cd2" />\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </flowChartOnlineStorage>\r
- <flowChartOr>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="idx" fmla="cos wd2 2700000" />\r
- <gd name="idy" fmla="sin hd2 2700000" />\r
- <gd name="il" fmla="+- hc 0 idx" />\r
- <gd name="ir" fmla="+- hc idx 0" />\r
- <gd name="it" fmla="+- vc 0 idy" />\r
- <gd name="ib" fmla="+- vc idy 0" />\r
- </gdLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="il" y="it" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="il" y="ib" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="ir" y="ib" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="ir" y="it" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path stroke="false" extrusionOk="false">\r
-\r
- <moveTo>\r
- <pt x="l" y="vc" />\r
- </moveTo>\r
- <arcTo wR="wd2" hR="hd2" stAng="cd2" swAng="cd4" />\r
- <arcTo wR="wd2" hR="hd2" stAng="3cd4" swAng="cd4" />\r
- <arcTo wR="wd2" hR="hd2" stAng="0" swAng="cd4" />\r
- <arcTo wR="wd2" hR="hd2" stAng="cd4" swAng="cd4" />\r
- <close />\r
- </path>\r
- <path fill="none" extrusionOk="false">\r
-\r
- <moveTo>\r
- <pt x="hc" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="hc" y="b" />\r
- </lnTo>\r
- <moveTo>\r
- <pt x="l" y="vc" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="r" y="vc" />\r
- </lnTo>\r
- </path>\r
- <path fill="none">\r
-\r
- <moveTo>\r
- <pt x="l" y="vc" />\r
- </moveTo>\r
- <arcTo wR="wd2" hR="hd2" stAng="cd2" swAng="cd4" />\r
- <arcTo wR="wd2" hR="hd2" stAng="3cd4" swAng="cd4" />\r
- <arcTo wR="wd2" hR="hd2" stAng="0" swAng="cd4" />\r
- <arcTo wR="wd2" hR="hd2" stAng="cd4" swAng="cd4" />\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </flowChartOr>\r
- <flowChartPredefinedProcess>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="x2" fmla="*/ w 7 8" />\r
- </gdLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="wd8" t="t" r="x2" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path stroke="false" extrusionOk="false" w="1" h="1">\r
-\r
- <moveTo>\r
- <pt x="0" y="0" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="1" y="0" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="1" y="1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="0" y="1" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path fill="none" extrusionOk="false" w="8" h="8">\r
-\r
- <moveTo>\r
- <pt x="1" y="0" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="1" y="8" />\r
- </lnTo>\r
- <moveTo>\r
- <pt x="7" y="0" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="7" y="8" />\r
- </lnTo>\r
- </path>\r
- <path fill="none" w="1" h="1">\r
-\r
- <moveTo>\r
- <pt x="0" y="0" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="1" y="0" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="1" y="1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="0" y="1" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </flowChartPredefinedProcess>\r
- <flowChartPreparation>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="x2" fmla="*/ w 4 5" />\r
- </gdLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="wd5" t="t" r="x2" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path w="10" h="10">\r
- <moveTo>\r
- <pt x="0" y="5" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="2" y="0" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="8" y="0" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="10" y="5" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="8" y="10" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="2" y="10" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </flowChartPreparation>\r
- <flowChartProcess>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path w="1" h="1">\r
- <moveTo>\r
- <pt x="0" y="0" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="1" y="0" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="1" y="1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="0" y="1" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </flowChartProcess>\r
- <flowChartPunchedCard>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="l" t="hd5" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path w="5" h="5">\r
- <moveTo>\r
- <pt x="0" y="1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="1" y="0" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="5" y="0" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="5" y="5" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="0" y="5" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </flowChartPunchedCard>\r
- <flowChartPunchedTape>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="y2" fmla="*/ h 9 10" />\r
- <gd name="ib" fmla="*/ h 4 5" />\r
- </gdLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="hd10" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="y2" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="l" t="hd5" r="r" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path w="20" h="20">\r
- <moveTo>\r
- <pt x="0" y="2" />\r
- </moveTo>\r
- <arcTo wR="5" hR="2" stAng="cd2" swAng="-10800000" />\r
- <arcTo wR="5" hR="2" stAng="cd2" swAng="cd2" />\r
- <lnTo>\r
- <pt x="20" y="18" />\r
- </lnTo>\r
- <arcTo wR="5" hR="2" stAng="0" swAng="-10800000" />\r
- <arcTo wR="5" hR="2" stAng="0" swAng="cd2" />\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </flowChartPunchedTape>\r
- <flowChartSort>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="ir" fmla="*/ w 3 4" />\r
- <gd name="ib" fmla="*/ h 3 4" />\r
- </gdLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="wd4" t="hd4" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path stroke="false" extrusionOk="false" w="2" h="2">\r
-\r
- <moveTo>\r
- <pt x="0" y="1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="1" y="0" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="2" y="1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="1" y="2" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path fill="none" extrusionOk="false" w="2" h="2">\r
-\r
- <moveTo>\r
- <pt x="0" y="1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="2" y="1" />\r
- </lnTo>\r
- </path>\r
- <path fill="none" w="2" h="2">\r
-\r
- <moveTo>\r
- <pt x="0" y="1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="1" y="0" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="2" y="1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="1" y="2" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </flowChartSort>\r
- <flowChartSummingJunction>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="idx" fmla="cos wd2 2700000" />\r
- <gd name="idy" fmla="sin hd2 2700000" />\r
- <gd name="il" fmla="+- hc 0 idx" />\r
- <gd name="ir" fmla="+- hc idx 0" />\r
- <gd name="it" fmla="+- vc 0 idy" />\r
- <gd name="ib" fmla="+- vc idy 0" />\r
- </gdLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="il" y="it" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="il" y="ib" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="ir" y="ib" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="ir" y="it" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path stroke="false" extrusionOk="false">\r
-\r
- <moveTo>\r
- <pt x="l" y="vc" />\r
- </moveTo>\r
- <arcTo wR="wd2" hR="hd2" stAng="cd2" swAng="cd4" />\r
- <arcTo wR="wd2" hR="hd2" stAng="3cd4" swAng="cd4" />\r
- <arcTo wR="wd2" hR="hd2" stAng="0" swAng="cd4" />\r
- <arcTo wR="wd2" hR="hd2" stAng="cd4" swAng="cd4" />\r
- <close />\r
- </path>\r
- <path fill="none" extrusionOk="false">\r
-\r
- <moveTo>\r
- <pt x="il" y="it" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="ir" y="ib" />\r
- </lnTo>\r
- <moveTo>\r
- <pt x="ir" y="it" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="il" y="ib" />\r
- </lnTo>\r
- </path>\r
- <path fill="none">\r
-\r
- <moveTo>\r
- <pt x="l" y="vc" />\r
- </moveTo>\r
- <arcTo wR="wd2" hR="hd2" stAng="cd2" swAng="cd4" />\r
- <arcTo wR="wd2" hR="hd2" stAng="3cd4" swAng="cd4" />\r
- <arcTo wR="wd2" hR="hd2" stAng="0" swAng="cd4" />\r
- <arcTo wR="wd2" hR="hd2" stAng="cd4" swAng="cd4" />\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </flowChartSummingJunction>\r
- <flowChartTerminator>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="il" fmla="*/ w 1018 21600" />\r
- <gd name="ir" fmla="*/ w 20582 21600" />\r
- <gd name="it" fmla="*/ h 3163 21600" />\r
- <gd name="ib" fmla="*/ h 18437 21600" />\r
- </gdLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path w="21600" h="21600">\r
- <moveTo>\r
- <pt x="3475" y="0" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="18125" y="0" />\r
- </lnTo>\r
- <arcTo wR="3475" hR="10800" stAng="3cd4" swAng="cd2" />\r
- <lnTo>\r
- <pt x="3475" y="21600" />\r
- </lnTo>\r
- <arcTo wR="3475" hR="10800" stAng="cd4" swAng="cd2" />\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </flowChartTerminator>\r
- <foldedCorner>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj" fmla="val 16667" />\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a" fmla="pin 0 adj 50000" />\r
- <gd name="dy2" fmla="*/ ss a 100000" />\r
- <gd name="dy1" fmla="*/ dy2 1 5" />\r
- <gd name="x1" fmla="+- r 0 dy2" />\r
- <gd name="x2" fmla="+- x1 dy1 0" />\r
- <gd name="y2" fmla="+- b 0 dy2" />\r
- <gd name="y1" fmla="+- y2 dy1 0" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj" minX="0" maxX="50000">\r
- <pos x="x1" y="b" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="l" t="t" r="r" b="y2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path stroke="false" extrusionOk="false">\r
-\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path stroke="false" fill="darkenLess" extrusionOk="false">\r
-\r
- <moveTo>\r
- <pt x="x1" y="b" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x2" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="y2" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path fill="none" extrusionOk="false">\r
- <moveTo>\r
- <pt x="x1" y="b" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x2" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="y2" />\r
- </lnTo>\r
- </path>\r
- </pathLst>\r
-\r
- </foldedCorner>\r
- <frame>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 12500" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a1" fmla="pin 0 adj1 50000" />\r
- <gd name="x1" fmla="*/ ss a1 100000" />\r
-\r
- <gd name="x4" fmla="+- r 0 x1" />\r
-\r
-\r
-\r
- <gd name="y4" fmla="+- b 0 x1" />\r
-\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj1" minX="0" maxX="50000">\r
- <pos x="x1" y="t" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="x1" t="x1" r="x4" b="y4" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
-\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- <moveTo>\r
- <pt x="x1" y="x1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x1" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="x1" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </frame>\r
- <funnel>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
-\r
- <gd name="d" fmla="*/ ss 1 20" />\r
-\r
-\r
- <gd name="rw2" fmla="+- wd2 0 d" />\r
-\r
- <gd name="rh2" fmla="+- hd4 0 d" />\r
-\r
-\r
-\r
- <gd name="t1" fmla="cos wd2 480000" />\r
-\r
- <gd name="t2" fmla="sin hd4 480000" />\r
-\r
- <gd name="da" fmla="at2 t1 t2" />\r
-\r
-\r
- <gd name="2da" fmla="*/ da 2 1" />\r
- <gd name="stAng1" fmla="+- cd2 0 da" />\r
- <gd name="swAng1" fmla="+- cd2 2da 0" />\r
-\r
-\r
- <gd name="swAng3" fmla="+- cd2 0 2da" />\r
-\r
-\r
- <gd name="rw3" fmla="*/ wd2 1 4" />\r
- <gd name="rh3" fmla="*/ hd4 1 4" />\r
-\r
-\r
- <gd name="ct1" fmla="cos hd4 stAng1" />\r
- <gd name="st1" fmla="sin wd2 stAng1" />\r
- <gd name="m1" fmla="mod ct1 st1 0" />\r
- <gd name="n1" fmla="*/ wd2 hd4 m1" />\r
- <gd name="dx1" fmla="cos n1 stAng1" />\r
- <gd name="dy1" fmla="sin n1 stAng1" />\r
- <gd name="x1" fmla="+- hc dx1 0" />\r
- <gd name="y1" fmla="+- hd4 dy1 0" />\r
-\r
-\r
- <gd name="ct3" fmla="cos rh3 da" />\r
- <gd name="st3" fmla="sin rw3 da" />\r
- <gd name="m3" fmla="mod ct3 st3 0" />\r
- <gd name="n3" fmla="*/ rw3 rh3 m3" />\r
- <gd name="dx3" fmla="cos n3 da" />\r
- <gd name="dy3" fmla="sin n3 da" />\r
- <gd name="x3" fmla="+- hc dx3 0" />\r
- <gd name="vc3" fmla="+- b 0 rh3" />\r
- <gd name="y2" fmla="+- vc3 dy3 0" />\r
-\r
-\r
- <gd name="x2" fmla="+- wd2 0 rw2" />\r
-\r
- <gd name="cd" fmla="*/ cd2 2 1" />\r
- </gdLst>\r
-\r
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="x1" y="y1" />\r
- </moveTo>\r
- <arcTo hR="hd4" wR="wd2" stAng="stAng1" swAng="swAng1" />\r
- <lnTo>\r
- <pt x="x3" y="y2" />\r
- </lnTo>\r
- <arcTo hR="rh3" wR="rw3" stAng="da" swAng="swAng3" />\r
- <close />\r
- <moveTo>\r
- <pt x="x2" y="hd4" />\r
- </moveTo>\r
- <arcTo hR="rh2" wR="rw2" stAng="cd2" swAng="-21600000" />\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </funnel>\r
- <gear6>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 15000" />\r
-\r
- <gd name="adj2" fmla="val 3526" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
-\r
-\r
-\r
-\r
- <gd name="a1" fmla="pin 0 adj1 20000" />\r
- <gd name="a2" fmla="pin 0 adj2 5358" />\r
-\r
-\r
- <gd name="th" fmla="*/ ss a1 100000" />\r
- <gd name="lFD" fmla="*/ ss a2 100000" />\r
-\r
- <gd name="th2" fmla="*/ th 1 2" />\r
- <gd name="l2" fmla="*/ lFD 1 2" />\r
- <gd name="l3" fmla="+- th2 l2 0" />\r
-\r
-\r
- <gd name="rh" fmla="+- hd2 0 th" />\r
- <gd name="rw" fmla="+- wd2 0 th" />\r
-\r
-\r
- <gd name="dr" fmla="+- rw 0 rh" />\r
- <gd name="maxr" fmla="?: dr rh rw" />\r
- <gd name="ha" fmla="at2 maxr l3" />\r
-\r
-\r
- <gd name="aA1" fmla="+- 19800000 0 ha" />\r
- <gd name="aD1" fmla="+- 19800000 ha 0" />\r
-\r
-\r
- <gd name="ta11" fmla="cos rw aA1" />\r
- <gd name="ta12" fmla="sin rh aA1" />\r
- <gd name="bA1" fmla="at2 ta11 ta12" />\r
-\r
- <gd name="cta1" fmla="cos rh bA1" />\r
- <gd name="sta1" fmla="sin rw bA1" />\r
- <gd name="ma1" fmla="mod cta1 sta1 0" />\r
- <gd name="na1" fmla="*/ rw rh ma1" />\r
- <gd name="dxa1" fmla="cos na1 bA1" />\r
- <gd name="dya1" fmla="sin na1 bA1" />\r
- <gd name="xA1" fmla="+- hc dxa1 0" />\r
- <gd name="yA1" fmla="+- vc dya1 0" />\r
-\r
-\r
- <gd name="td11" fmla="cos rw aD1" />\r
- <gd name="td12" fmla="sin rh aD1" />\r
- <gd name="bD1" fmla="at2 td11 td12" />\r
-\r
- <gd name="ctd1" fmla="cos rh bD1" />\r
- <gd name="std1" fmla="sin rw bD1" />\r
- <gd name="md1" fmla="mod ctd1 std1 0" />\r
- <gd name="nd1" fmla="*/ rw rh md1" />\r
- <gd name="dxd1" fmla="cos nd1 bD1" />\r
- <gd name="dyd1" fmla="sin nd1 bD1" />\r
- <gd name="xD1" fmla="+- hc dxd1 0" />\r
- <gd name="yD1" fmla="+- vc dyd1 0" />\r
-\r
-\r
- <gd name="xAD1" fmla="+- xA1 0 xD1" />\r
- <gd name="yAD1" fmla="+- yA1 0 yD1" />\r
- <gd name="lAD1" fmla="mod xAD1 yAD1 0" />\r
- <gd name="a1" fmla="at2 yAD1 xAD1" />\r
-\r
-\r
- <gd name="dxF1" fmla="sin lFD a1" />\r
- <gd name="dyF1" fmla="cos lFD a1" />\r
- <gd name="xF1" fmla="+- xD1 dxF1 0" />\r
- <gd name="yF1" fmla="+- yD1 dyF1 0" />\r
- <gd name="xE1" fmla="+- xA1 0 dxF1" />\r
- <gd name="yE1" fmla="+- yA1 0 dyF1" />\r
-\r
-\r
- <gd name="yC1t" fmla="sin th a1" />\r
- <gd name="xC1t" fmla="cos th a1" />\r
- <gd name="yC1" fmla="+- yF1 yC1t 0" />\r
- <gd name="xC1" fmla="+- xF1 0 xC1t" />\r
-\r
-\r
- <gd name="yB1" fmla="+- yE1 yC1t 0" />\r
- <gd name="xB1" fmla="+- xE1 0 xC1t" />\r
-\r
-\r
- <gd name="aD6" fmla="+- 3cd4 ha 0" />\r
-\r
-\r
- <gd name="td61" fmla="cos rw aD6" />\r
- <gd name="td62" fmla="sin rh aD6" />\r
- <gd name="bD6" fmla="at2 td61 td62" />\r
-\r
- <gd name="ctd6" fmla="cos rh bD6" />\r
- <gd name="std6" fmla="sin rw bD6" />\r
- <gd name="md6" fmla="mod ctd6 std6 0" />\r
- <gd name="nd6" fmla="*/ rw rh md6" />\r
- <gd name="dxd6" fmla="cos nd6 bD6" />\r
- <gd name="dyd6" fmla="sin nd6 bD6" />\r
- <gd name="xD6" fmla="+- hc dxd6 0" />\r
- <gd name="yD6" fmla="+- vc dyd6 0" />\r
-\r
-\r
- <gd name="xA6" fmla="+- hc 0 dxd6" />\r
-\r
-\r
- <gd name="xF6" fmla="+- xD6 0 lFD" />\r
- <gd name="xE6" fmla="+- xA6 lFD 0" />\r
-\r
-\r
- <gd name="yC6" fmla="+- yD6 0 th" />\r
-\r
- <gd name="swAng1" fmla="+- bA1 0 bD6" />\r
-\r
-\r
- <gd name="aA2" fmla="+- 1800000 0 ha" />\r
- <gd name="aD2" fmla="+- 1800000 ha 0" />\r
-\r
-\r
- <gd name="ta21" fmla="cos rw aA2" />\r
- <gd name="ta22" fmla="sin rh aA2" />\r
- <gd name="bA2" fmla="at2 ta21 ta22" />\r
-\r
- <gd name="yA2" fmla="+- h 0 yD1" />\r
-\r
-\r
- <gd name="td21" fmla="cos rw aD2" />\r
- <gd name="td22" fmla="sin rh aD2" />\r
- <gd name="bD2" fmla="at2 td21 td22" />\r
-\r
- <gd name="yD2" fmla="+- h 0 yA1" />\r
-\r
-\r
- <gd name="yC2" fmla="+- h 0 yB1" />\r
-\r
-\r
- <gd name="yB2" fmla="+- h 0 yC1" />\r
- <gd name="xB2" fmla="val xC1" />\r
-\r
- <gd name="swAng2" fmla="+- bA2 0 bD1" />\r
-\r
-\r
- <gd name="aD3" fmla="+- cd4 ha 0" />\r
-\r
- <gd name="td31" fmla="cos rw aD3" />\r
- <gd name="td32" fmla="sin rh aD3" />\r
- <gd name="bD3" fmla="at2 td31 td32" />\r
-\r
-\r
- <gd name="yD3" fmla="+- h 0 yD6" />\r
-\r
-\r
- <gd name="yB3" fmla="+- h 0 yC6" />\r
-\r
-\r
- <gd name="aD4" fmla="+- 9000000 ha 0" />\r
-\r
- <gd name="td41" fmla="cos rw aD4" />\r
- <gd name="td42" fmla="sin rh aD4" />\r
- <gd name="bD4" fmla="at2 td41 td42" />\r
-\r
-\r
- <gd name="xD4" fmla="+- w 0 xD1" />\r
-\r
-\r
- <gd name="xC4" fmla="+- w 0 xC1" />\r
-\r
-\r
- <gd name="xB4" fmla="+- w 0 xB1" />\r
-\r
-\r
- <gd name="aD5" fmla="+- 12600000 ha 0" />\r
-\r
- <gd name="td51" fmla="cos rw aD5" />\r
- <gd name="td52" fmla="sin rh aD5" />\r
- <gd name="bD5" fmla="at2 td51 td52" />\r
-\r
-\r
- <gd name="xD5" fmla="+- w 0 xA1" />\r
-\r
-\r
- <gd name="xC5" fmla="+- w 0 xB1" />\r
-\r
-\r
- <gd name="xB5" fmla="+- w 0 xC1" />\r
-\r
-\r
- <gd name="xCxn1" fmla="+/ xB1 xC1 2" />\r
- <gd name="yCxn1" fmla="+/ yB1 yC1 2" />\r
- <gd name="yCxn2" fmla="+- b 0 yCxn1" />\r
- <gd name="xCxn4" fmla="+/ r 0 xCxn1" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj1" minY="0" maxY="20000">\r
- <pos x="xD6" y="yD6" />\r
- </ahXY>\r
- <ahXY gdRefX="adj2" minX="0" maxX="5358">\r
- <pos x="xA6" y="yD6" />\r
- </ahXY>\r
-\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="19800000">\r
- <pos x="xCxn1" y="yCxn1" />\r
- </cxn>\r
-\r
- <cxn ang="1800000">\r
- <pos x="xCxn1" y="yCxn2" />\r
- </cxn>\r
-\r
- <cxn ang="cd4">\r
- <pos x="hc" y="yB3" />\r
- </cxn>\r
-\r
- <cxn ang="9000000">\r
- <pos x="xCxn4" y="yCxn2" />\r
- </cxn>\r
-\r
- <cxn ang="12600000">\r
- <pos x="xCxn4" y="yCxn1" />\r
- </cxn>\r
-\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="yC6" />\r
- </cxn>\r
-\r
- </cxnLst>\r
-\r
- <rect l="xD5" t="yA1" r="xA1" b="yD2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="xA1" y="yA1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="xB1" y="yB1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xC1" y="yC1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xD1" y="yD1" />\r
- </lnTo>\r
- <arcTo hR="rh" wR="rw" stAng="bD1" swAng="swAng2" />\r
-\r
- <lnTo>\r
- <pt x="xC1" y="yB2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xB1" y="yC2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xA1" y="yD2" />\r
- </lnTo>\r
- <arcTo hR="rh" wR="rw" stAng="bD2" swAng="swAng1" />\r
-\r
- <lnTo>\r
- <pt x="xF6" y="yB3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xE6" y="yB3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xA6" y="yD3" />\r
- </lnTo>\r
- <arcTo hR="rh" wR="rw" stAng="bD3" swAng="swAng1" />\r
-\r
- <lnTo>\r
- <pt x="xB4" y="yC2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xC4" y="yB2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xD4" y="yA2" />\r
- </lnTo>\r
- <arcTo hR="rh" wR="rw" stAng="bD4" swAng="swAng2" />\r
-\r
- <lnTo>\r
- <pt x="xB5" y="yC1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xC5" y="yB1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xD5" y="yA1" />\r
- </lnTo>\r
- <arcTo hR="rh" wR="rw" stAng="bD5" swAng="swAng1" />\r
-\r
- <lnTo>\r
- <pt x="xE6" y="yC6" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xF6" y="yC6" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xD6" y="yD6" />\r
- </lnTo>\r
- <arcTo hR="rh" wR="rw" stAng="bD6" swAng="swAng1" />\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </gear6>\r
- <gear9>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 10000" />\r
-\r
- <gd name="adj2" fmla="val 1763" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
-\r
-\r
-\r
-\r
- <gd name="a1" fmla="pin 0 adj1 20000" />\r
- <gd name="a2" fmla="pin 0 adj2 2679" />\r
-\r
-\r
- <gd name="th" fmla="*/ ss a1 100000" />\r
- <gd name="lFD" fmla="*/ ss a2 100000" />\r
-\r
- <gd name="th2" fmla="*/ th 1 2" />\r
- <gd name="l2" fmla="*/ lFD 1 2" />\r
- <gd name="l3" fmla="+- th2 l2 0" />\r
-\r
-\r
- <gd name="rh" fmla="+- hd2 0 th" />\r
- <gd name="rw" fmla="+- wd2 0 th" />\r
-\r
-\r
- <gd name="dr" fmla="+- rw 0 rh" />\r
- <gd name="maxr" fmla="?: dr rh rw" />\r
- <gd name="ha" fmla="at2 maxr l3" />\r
-\r
-\r
- <gd name="aA1" fmla="+- 18600000 0 ha" />\r
- <gd name="aD1" fmla="+- 18600000 ha 0" />\r
-\r
-\r
- <gd name="ta11" fmla="cos rw aA1" />\r
- <gd name="ta12" fmla="sin rh aA1" />\r
- <gd name="bA1" fmla="at2 ta11 ta12" />\r
-\r
- <gd name="cta1" fmla="cos rh bA1" />\r
- <gd name="sta1" fmla="sin rw bA1" />\r
- <gd name="ma1" fmla="mod cta1 sta1 0" />\r
- <gd name="na1" fmla="*/ rw rh ma1" />\r
- <gd name="dxa1" fmla="cos na1 bA1" />\r
- <gd name="dya1" fmla="sin na1 bA1" />\r
- <gd name="xA1" fmla="+- hc dxa1 0" />\r
- <gd name="yA1" fmla="+- vc dya1 0" />\r
-\r
-\r
- <gd name="td11" fmla="cos rw aD1" />\r
- <gd name="td12" fmla="sin rh aD1" />\r
- <gd name="bD1" fmla="at2 td11 td12" />\r
-\r
- <gd name="ctd1" fmla="cos rh bD1" />\r
- <gd name="std1" fmla="sin rw bD1" />\r
- <gd name="md1" fmla="mod ctd1 std1 0" />\r
- <gd name="nd1" fmla="*/ rw rh md1" />\r
- <gd name="dxd1" fmla="cos nd1 bD1" />\r
- <gd name="dyd1" fmla="sin nd1 bD1" />\r
- <gd name="xD1" fmla="+- hc dxd1 0" />\r
- <gd name="yD1" fmla="+- vc dyd1 0" />\r
-\r
-\r
- <gd name="xAD1" fmla="+- xA1 0 xD1" />\r
- <gd name="yAD1" fmla="+- yA1 0 yD1" />\r
- <gd name="lAD1" fmla="mod xAD1 yAD1 0" />\r
- <gd name="a1" fmla="at2 yAD1 xAD1" />\r
-\r
-\r
- <gd name="dxF1" fmla="sin lFD a1" />\r
- <gd name="dyF1" fmla="cos lFD a1" />\r
- <gd name="xF1" fmla="+- xD1 dxF1 0" />\r
- <gd name="yF1" fmla="+- yD1 dyF1 0" />\r
- <gd name="xE1" fmla="+- xA1 0 dxF1" />\r
- <gd name="yE1" fmla="+- yA1 0 dyF1" />\r
-\r
-\r
- <gd name="yC1t" fmla="sin th a1" />\r
- <gd name="xC1t" fmla="cos th a1" />\r
- <gd name="yC1" fmla="+- yF1 yC1t 0" />\r
- <gd name="xC1" fmla="+- xF1 0 xC1t" />\r
-\r
-\r
- <gd name="yB1" fmla="+- yE1 yC1t 0" />\r
- <gd name="xB1" fmla="+- xE1 0 xC1t" />\r
-\r
-\r
- <gd name="aA2" fmla="+- 21000000 0 ha" />\r
- <gd name="aD2" fmla="+- 21000000 ha 0" />\r
-\r
-\r
- <gd name="ta21" fmla="cos rw aA2" />\r
- <gd name="ta22" fmla="sin rh aA2" />\r
- <gd name="bA2" fmla="at2 ta21 ta22" />\r
-\r
- <gd name="cta2" fmla="cos rh bA2" />\r
- <gd name="sta2" fmla="sin rw bA2" />\r
- <gd name="ma2" fmla="mod cta2 sta2 0" />\r
- <gd name="na2" fmla="*/ rw rh ma2" />\r
- <gd name="dxa2" fmla="cos na2 bA2" />\r
- <gd name="dya2" fmla="sin na2 bA2" />\r
- <gd name="xA2" fmla="+- hc dxa2 0" />\r
- <gd name="yA2" fmla="+- vc dya2 0" />\r
-\r
-\r
- <gd name="td21" fmla="cos rw aD2" />\r
- <gd name="td22" fmla="sin rh aD2" />\r
- <gd name="bD2" fmla="at2 td21 td22" />\r
-\r
- <gd name="ctd2" fmla="cos rh bD2" />\r
- <gd name="std2" fmla="sin rw bD2" />\r
- <gd name="md2" fmla="mod ctd2 std2 0" />\r
- <gd name="nd2" fmla="*/ rw rh md2" />\r
- <gd name="dxd2" fmla="cos nd2 bD2" />\r
- <gd name="dyd2" fmla="sin nd2 bD2" />\r
- <gd name="xD2" fmla="+- hc dxd2 0" />\r
- <gd name="yD2" fmla="+- vc dyd2 0" />\r
-\r
-\r
- <gd name="xAD2" fmla="+- xA2 0 xD2" />\r
- <gd name="yAD2" fmla="+- yA2 0 yD2" />\r
- <gd name="lAD2" fmla="mod xAD2 yAD2 0" />\r
- <gd name="a2" fmla="at2 yAD2 xAD2" />\r
-\r
-\r
- <gd name="dxF2" fmla="sin lFD a2" />\r
- <gd name="dyF2" fmla="cos lFD a2" />\r
- <gd name="xF2" fmla="+- xD2 dxF2 0" />\r
- <gd name="yF2" fmla="+- yD2 dyF2 0" />\r
- <gd name="xE2" fmla="+- xA2 0 dxF2" />\r
- <gd name="yE2" fmla="+- yA2 0 dyF2" />\r
-\r
-\r
- <gd name="yC2t" fmla="sin th a2" />\r
- <gd name="xC2t" fmla="cos th a2" />\r
- <gd name="yC2" fmla="+- yF2 yC2t 0" />\r
- <gd name="xC2" fmla="+- xF2 0 xC2t" />\r
-\r
-\r
- <gd name="yB2" fmla="+- yE2 yC2t 0" />\r
- <gd name="xB2" fmla="+- xE2 0 xC2t" />\r
-\r
- <gd name="swAng1" fmla="+- bA2 0 bD1" />\r
-\r
-\r
- <gd name="aA3" fmla="+- 1800000 0 ha" />\r
- <gd name="aD3" fmla="+- 1800000 ha 0" />\r
-\r
-\r
- <gd name="ta31" fmla="cos rw aA3" />\r
- <gd name="ta32" fmla="sin rh aA3" />\r
- <gd name="bA3" fmla="at2 ta31 ta32" />\r
-\r
- <gd name="cta3" fmla="cos rh bA3" />\r
- <gd name="sta3" fmla="sin rw bA3" />\r
- <gd name="ma3" fmla="mod cta3 sta3 0" />\r
- <gd name="na3" fmla="*/ rw rh ma3" />\r
- <gd name="dxa3" fmla="cos na3 bA3" />\r
- <gd name="dya3" fmla="sin na3 bA3" />\r
- <gd name="xA3" fmla="+- hc dxa3 0" />\r
- <gd name="yA3" fmla="+- vc dya3 0" />\r
-\r
-\r
- <gd name="td31" fmla="cos rw aD3" />\r
- <gd name="td32" fmla="sin rh aD3" />\r
- <gd name="bD3" fmla="at2 td31 td32" />\r
-\r
- <gd name="ctd3" fmla="cos rh bD3" />\r
- <gd name="std3" fmla="sin rw bD3" />\r
- <gd name="md3" fmla="mod ctd3 std3 0" />\r
- <gd name="nd3" fmla="*/ rw rh md3" />\r
- <gd name="dxd3" fmla="cos nd3 bD3" />\r
- <gd name="dyd3" fmla="sin nd3 bD3" />\r
- <gd name="xD3" fmla="+- hc dxd3 0" />\r
- <gd name="yD3" fmla="+- vc dyd3 0" />\r
-\r
-\r
- <gd name="xAD3" fmla="+- xA3 0 xD3" />\r
- <gd name="yAD3" fmla="+- yA3 0 yD3" />\r
- <gd name="lAD3" fmla="mod xAD3 yAD3 0" />\r
- <gd name="a3" fmla="at2 yAD3 xAD3" />\r
-\r
-\r
- <gd name="dxF3" fmla="sin lFD a3" />\r
- <gd name="dyF3" fmla="cos lFD a3" />\r
- <gd name="xF3" fmla="+- xD3 dxF3 0" />\r
- <gd name="yF3" fmla="+- yD3 dyF3 0" />\r
- <gd name="xE3" fmla="+- xA3 0 dxF3" />\r
- <gd name="yE3" fmla="+- yA3 0 dyF3" />\r
-\r
-\r
- <gd name="yC3t" fmla="sin th a3" />\r
- <gd name="xC3t" fmla="cos th a3" />\r
- <gd name="yC3" fmla="+- yF3 yC3t 0" />\r
- <gd name="xC3" fmla="+- xF3 0 xC3t" />\r
-\r
-\r
- <gd name="yB3" fmla="+- yE3 yC3t 0" />\r
- <gd name="xB3" fmla="+- xE3 0 xC3t" />\r
-\r
- <gd name="swAng2" fmla="+- bA3 0 bD2" />\r
-\r
-\r
- <gd name="aA4" fmla="+- 4200000 0 ha" />\r
- <gd name="aD4" fmla="+- 4200000 ha 0" />\r
-\r
-\r
- <gd name="ta41" fmla="cos rw aA4" />\r
- <gd name="ta42" fmla="sin rh aA4" />\r
- <gd name="bA4" fmla="at2 ta41 ta42" />\r
-\r
- <gd name="cta4" fmla="cos rh bA4" />\r
- <gd name="sta4" fmla="sin rw bA4" />\r
- <gd name="ma4" fmla="mod cta4 sta4 0" />\r
- <gd name="na4" fmla="*/ rw rh ma4" />\r
- <gd name="dxa4" fmla="cos na4 bA4" />\r
- <gd name="dya4" fmla="sin na4 bA4" />\r
- <gd name="xA4" fmla="+- hc dxa4 0" />\r
- <gd name="yA4" fmla="+- vc dya4 0" />\r
-\r
-\r
- <gd name="td41" fmla="cos rw aD4" />\r
- <gd name="td42" fmla="sin rh aD4" />\r
- <gd name="bD4" fmla="at2 td41 td42" />\r
-\r
- <gd name="ctd4" fmla="cos rh bD4" />\r
- <gd name="std4" fmla="sin rw bD4" />\r
- <gd name="md4" fmla="mod ctd4 std4 0" />\r
- <gd name="nd4" fmla="*/ rw rh md4" />\r
- <gd name="dxd4" fmla="cos nd4 bD4" />\r
- <gd name="dyd4" fmla="sin nd4 bD4" />\r
- <gd name="xD4" fmla="+- hc dxd4 0" />\r
- <gd name="yD4" fmla="+- vc dyd4 0" />\r
-\r
-\r
- <gd name="xAD4" fmla="+- xA4 0 xD4" />\r
- <gd name="yAD4" fmla="+- yA4 0 yD4" />\r
- <gd name="lAD4" fmla="mod xAD4 yAD4 0" />\r
- <gd name="a4" fmla="at2 yAD4 xAD4" />\r
-\r
-\r
- <gd name="dxF4" fmla="sin lFD a4" />\r
- <gd name="dyF4" fmla="cos lFD a4" />\r
- <gd name="xF4" fmla="+- xD4 dxF4 0" />\r
- <gd name="yF4" fmla="+- yD4 dyF4 0" />\r
- <gd name="xE4" fmla="+- xA4 0 dxF4" />\r
- <gd name="yE4" fmla="+- yA4 0 dyF4" />\r
-\r
-\r
- <gd name="yC4t" fmla="sin th a4" />\r
- <gd name="xC4t" fmla="cos th a4" />\r
- <gd name="yC4" fmla="+- yF4 yC4t 0" />\r
- <gd name="xC4" fmla="+- xF4 0 xC4t" />\r
-\r
-\r
- <gd name="yB4" fmla="+- yE4 yC4t 0" />\r
- <gd name="xB4" fmla="+- xE4 0 xC4t" />\r
-\r
- <gd name="swAng3" fmla="+- bA4 0 bD3" />\r
-\r
-\r
- <gd name="aA5" fmla="+- 6600000 0 ha" />\r
- <gd name="aD5" fmla="+- 6600000 ha 0" />\r
-\r
- <gd name="ta51" fmla="cos rw aA5" />\r
- <gd name="ta52" fmla="sin rh aA5" />\r
- <gd name="bA5" fmla="at2 ta51 ta52" />\r
-\r
- <gd name="td51" fmla="cos rw aD5" />\r
- <gd name="td52" fmla="sin rh aD5" />\r
- <gd name="bD5" fmla="at2 td51 td52" />\r
-\r
-\r
- <gd name="xD5" fmla="+- w 0 xA4" />\r
-\r
-\r
- <gd name="xC5" fmla="+- w 0 xB4" />\r
-\r
-\r
- <gd name="xB5" fmla="+- w 0 xC4" />\r
-\r
- <gd name="swAng4" fmla="+- bA5 0 bD4" />\r
-\r
-\r
- <gd name="aD6" fmla="+- 9000000 ha 0" />\r
-\r
- <gd name="td61" fmla="cos rw aD6" />\r
- <gd name="td62" fmla="sin rh aD6" />\r
- <gd name="bD6" fmla="at2 td61 td62" />\r
-\r
-\r
- <gd name="xD6" fmla="+- w 0 xA3" />\r
-\r
-\r
- <gd name="xC6" fmla="+- w 0 xB3" />\r
-\r
-\r
- <gd name="xB6" fmla="+- w 0 xC3" />\r
-\r
-\r
- <gd name="aD7" fmla="+- 11400000 ha 0" />\r
-\r
- <gd name="td71" fmla="cos rw aD7" />\r
- <gd name="td72" fmla="sin rh aD7" />\r
- <gd name="bD7" fmla="at2 td71 td72" />\r
-\r
-\r
- <gd name="xD7" fmla="+- w 0 xA2" />\r
-\r
-\r
- <gd name="xC7" fmla="+- w 0 xB2" />\r
-\r
-\r
- <gd name="xB7" fmla="+- w 0 xC2" />\r
-\r
-\r
- <gd name="aD8" fmla="+- 13800000 ha 0" />\r
-\r
- <gd name="td81" fmla="cos rw aD8" />\r
- <gd name="td82" fmla="sin rh aD8" />\r
- <gd name="bD8" fmla="at2 td81 td82" />\r
-\r
-\r
- <gd name="xA8" fmla="+- w 0 xD1" />\r
-\r
- <gd name="xD8" fmla="+- w 0 xA1" />\r
-\r
-\r
- <gd name="xC8" fmla="+- w 0 xB1" />\r
-\r
-\r
- <gd name="xB8" fmla="+- w 0 xC1" />\r
-\r
-\r
- <gd name="aA9" fmla="+- 3cd4 0 ha" />\r
- <gd name="aD9" fmla="+- 3cd4 ha 0" />\r
-\r
-\r
- <gd name="td91" fmla="cos rw aD9" />\r
- <gd name="td92" fmla="sin rh aD9" />\r
- <gd name="bD9" fmla="at2 td91 td92" />\r
-\r
- <gd name="ctd9" fmla="cos rh bD9" />\r
- <gd name="std9" fmla="sin rw bD9" />\r
- <gd name="md9" fmla="mod ctd9 std9 0" />\r
- <gd name="nd9" fmla="*/ rw rh md9" />\r
- <gd name="dxd9" fmla="cos nd9 bD9" />\r
- <gd name="dyd9" fmla="sin nd9 bD9" />\r
- <gd name="xD9" fmla="+- hc dxd9 0" />\r
- <gd name="yD9" fmla="+- vc dyd9 0" />\r
-\r
-\r
- <gd name="ta91" fmla="cos rw aA9" />\r
- <gd name="ta92" fmla="sin rh aA9" />\r
- <gd name="bA9" fmla="at2 ta91 ta92" />\r
-\r
- <gd name="xA9" fmla="+- hc 0 dxd9" />\r
-\r
-\r
- <gd name="xF9" fmla="+- xD9 0 lFD" />\r
- <gd name="xE9" fmla="+- xA9 lFD 0" />\r
-\r
-\r
- <gd name="yC9" fmla="+- yD9 0 th" />\r
-\r
- <gd name="swAng5" fmla="+- bA9 0 bD8" />\r
-\r
-\r
- <gd name="xCxn1" fmla="+/ xB1 xC1 2" />\r
- <gd name="yCxn1" fmla="+/ yB1 yC1 2" />\r
- <gd name="xCxn2" fmla="+/ xB2 xC2 2" />\r
- <gd name="yCxn2" fmla="+/ yB2 yC2 2" />\r
- <gd name="xCxn3" fmla="+/ xB3 xC3 2" />\r
- <gd name="yCxn3" fmla="+/ yB3 yC3 2" />\r
- <gd name="xCxn4" fmla="+/ xB4 xC4 2" />\r
- <gd name="yCxn4" fmla="+/ yB4 yC4 2" />\r
- <gd name="xCxn5" fmla="+/ r 0 xCxn4" />\r
- <gd name="xCxn6" fmla="+/ r 0 xCxn3" />\r
- <gd name="xCxn7" fmla="+/ r 0 xCxn2" />\r
- <gd name="xCxn8" fmla="+/ r 0 xCxn1" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj1" minY="0" maxY="20000">\r
- <pos x="xD9" y="yD9" />\r
- </ahXY>\r
- <ahXY gdRefX="adj2" minX="0" maxX="2679">\r
- <pos x="xA9" y="yD9" />\r
- </ahXY>\r
-\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="18600000">\r
- <pos x="xCxn1" y="yCxn1" />\r
- </cxn>\r
-\r
- <cxn ang="21000000">\r
- <pos x="xCxn2" y="yCxn2" />\r
- </cxn>\r
-\r
- <cxn ang="1800000">\r
- <pos x="xCxn3" y="yCxn3" />\r
- </cxn>\r
-\r
- <cxn ang="4200000">\r
- <pos x="xCxn4" y="yCxn4" />\r
- </cxn>\r
-\r
- <cxn ang="6600000">\r
- <pos x="xCxn5" y="yCxn4" />\r
- </cxn>\r
-\r
- <cxn ang="9000000">\r
- <pos x="xCxn6" y="yCxn3" />\r
- </cxn>\r
-\r
- <cxn ang="11400000">\r
- <pos x="xCxn7" y="yCxn2" />\r
- </cxn>\r
-\r
- <cxn ang="13800000">\r
- <pos x="xCxn8" y="yCxn1" />\r
- </cxn>\r
-\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="yC9" />\r
- </cxn>\r
-\r
- </cxnLst>\r
-\r
- <rect l="xA8" t="yD1" r="xD1" b="yD3" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="xA1" y="yA1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="xB1" y="yB1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xC1" y="yC1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xD1" y="yD1" />\r
- </lnTo>\r
- <arcTo hR="rh" wR="rw" stAng="bD1" swAng="swAng1" />\r
-\r
- <lnTo>\r
- <pt x="xB2" y="yB2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xC2" y="yC2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xD2" y="yD2" />\r
- </lnTo>\r
- <arcTo hR="rh" wR="rw" stAng="bD2" swAng="swAng2" />\r
-\r
- <lnTo>\r
- <pt x="xB3" y="yB3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xC3" y="yC3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xD3" y="yD3" />\r
- </lnTo>\r
- <arcTo hR="rh" wR="rw" stAng="bD3" swAng="swAng3" />\r
-\r
- <lnTo>\r
- <pt x="xB4" y="yB4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xC4" y="yC4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xD4" y="yD4" />\r
- </lnTo>\r
- <arcTo hR="rh" wR="rw" stAng="bD4" swAng="swAng4" />\r
-\r
- <lnTo>\r
- <pt x="xB5" y="yC4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xC5" y="yB4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xD5" y="yA4" />\r
- </lnTo>\r
- <arcTo hR="rh" wR="rw" stAng="bD5" swAng="swAng3" />\r
-\r
- <lnTo>\r
- <pt x="xB6" y="yC3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xC6" y="yB3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xD6" y="yA3" />\r
- </lnTo>\r
- <arcTo hR="rh" wR="rw" stAng="bD6" swAng="swAng2" />\r
-\r
- <lnTo>\r
- <pt x="xB7" y="yC2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xC7" y="yB2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xD7" y="yA2" />\r
- </lnTo>\r
- <arcTo hR="rh" wR="rw" stAng="bD7" swAng="swAng1" />\r
-\r
- <lnTo>\r
- <pt x="xB8" y="yC1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xC8" y="yB1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xD8" y="yA1" />\r
- </lnTo>\r
- <arcTo hR="rh" wR="rw" stAng="bD8" swAng="swAng5" />\r
-\r
- <lnTo>\r
- <pt x="xE9" y="yC9" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xF9" y="yC9" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xD9" y="yD9" />\r
- </lnTo>\r
- <arcTo hR="rh" wR="rw" stAng="bD9" swAng="swAng5" />\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </gear9>\r
- <halfFrame>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 33333" />\r
-\r
- <gd name="adj2" fmla="val 33333" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="maxAdj2" fmla="*/ 100000 w ss" />\r
- <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
- <gd name="x1" fmla="*/ ss a2 100000" />\r
- <gd name="g1" fmla="*/ h x1 w" />\r
- <gd name="g2" fmla="+- h 0 g1" />\r
- <gd name="maxAdj1" fmla="*/ 100000 g2 ss" />\r
- <gd name="a1" fmla="pin 0 adj1 maxAdj1" />\r
- <gd name="y1" fmla="*/ ss a1 100000" />\r
- <gd name="dx2" fmla="*/ y1 w h" />\r
- <gd name="x2" fmla="+- r 0 dx2" />\r
- <gd name="dy2" fmla="*/ x1 h w" />\r
- <gd name="y2" fmla="+- b 0 dy2" />\r
- <gd name="cx1" fmla="*/ x1 1 2" />\r
- <gd name="cy1" fmla="+/ y2 b 2" />\r
- <gd name="cx2" fmla="+/ x2 r 2" />\r
- <gd name="cy2" fmla="*/ y1 1 2" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj1" minY="0" maxY="maxAdj1">\r
- <pos x="l" y="y1" />\r
- </ahXY>\r
- <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">\r
- <pos x="x1" y="t" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="cx2" y="cy2" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="cx1" y="cy1" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </halfFrame>\r
- <heart>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="dx1" fmla="*/ w 49 48" />\r
- <gd name="dx2" fmla="*/ w 10 48" />\r
- <gd name="x1" fmla="+- hc 0 dx1" />\r
- <gd name="x2" fmla="+- hc 0 dx2" />\r
- <gd name="x3" fmla="+- hc dx2 0" />\r
- <gd name="x4" fmla="+- hc dx1 0" />\r
- <gd name="y1" fmla="+- t 0 hd3" />\r
-\r
-\r
- <gd name="il" fmla="*/ w 1 6" />\r
- <gd name="ir" fmla="*/ w 5 6" />\r
- <gd name="ib" fmla="*/ h 2 3" />\r
- </gdLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="hd4" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="il" t="hd4" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="hc" y="hd4" />\r
- </moveTo>\r
- <cubicBezTo>\r
- <pt x="x3" y="y1" />\r
- <pt x="x4" y="hd4" />\r
- <pt x="hc" y="b" />\r
- </cubicBezTo>\r
- <cubicBezTo>\r
- <pt x="x1" y="hd4" />\r
- <pt x="x2" y="y1" />\r
- <pt x="hc" y="hd4" />\r
- </cubicBezTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </heart>\r
- <heptagon>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="hf" fmla="val 102572" />\r
- <gd name="vf" fmla="val 105210" />\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="swd2" fmla="*/ wd2 hf 100000" />\r
- <gd name="shd2" fmla="*/ hd2 vf 100000" />\r
- <gd name="svc" fmla="*/ vc vf 100000" />\r
- <gd name="dx1" fmla="*/ swd2 97493 100000" />\r
- <gd name="dx2" fmla="*/ swd2 78183 100000" />\r
- <gd name="dx3" fmla="*/ swd2 43388 100000" />\r
- <gd name="dy1" fmla="*/ shd2 62349 100000" />\r
- <gd name="dy2" fmla="*/ shd2 22252 100000" />\r
- <gd name="dy3" fmla="*/ shd2 90097 100000" />\r
- <gd name="x1" fmla="+- hc 0 dx1" />\r
- <gd name="x2" fmla="+- hc 0 dx2" />\r
- <gd name="x3" fmla="+- hc 0 dx3" />\r
- <gd name="x4" fmla="+- hc dx3 0" />\r
- <gd name="x5" fmla="+- hc dx2 0" />\r
- <gd name="x6" fmla="+- hc dx1 0" />\r
- <gd name="y1" fmla="+- svc 0 dy1" />\r
- <gd name="y2" fmla="+- svc dy2 0" />\r
- <gd name="y3" fmla="+- svc dy3 0" />\r
- <gd name="ib" fmla="+- b 0 y1" />\r
- </gdLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="x5" y="y1" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="x6" y="y2" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x4" y="y3" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x3" y="y3" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="x1" y="y2" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="x2" y="y1" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="x2" t="y1" r="x5" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="x1" y="y2" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x2" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="hc" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x5" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x6" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y3" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </heptagon>\r
- <hexagon>\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj" fmla="val 25000" />\r
- <gd name="vf" fmla="val 115470" />\r
- </avLst>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="maxAdj" fmla="*/ 50000 w ss" />\r
- <gd name="a" fmla="pin 0 adj maxAdj" />\r
- <gd name="shd2" fmla="*/ hd2 vf 100000" />\r
- <gd name="x1" fmla="*/ ss a 100000" />\r
- <gd name="x2" fmla="+- r 0 x1" />\r
- <gd name="dy1" fmla="sin shd2 3600000" />\r
- <gd name="y1" fmla="+- vc 0 dy1" />\r
- <gd name="y2" fmla="+- vc dy1 0" />\r
- <gd name="q1" fmla="*/ maxAdj -1 2" />\r
- <gd name="q2" fmla="+- a q1 0" />\r
- <gd name="q3" fmla="?: q2 4 2" />\r
- <gd name="q4" fmla="?: q2 3 2" />\r
- <gd name="q5" fmla="?: q2 q1 0" />\r
- <gd name="q6" fmla="+/ a q5 q1" />\r
- <gd name="q7" fmla="*/ q6 q4 -1" />\r
- <gd name="q8" fmla="+- q3 q7 0" />\r
- <gd name="il" fmla="*/ w q8 24" />\r
- <gd name="it" fmla="*/ h q8 24" />\r
- <gd name="ir" fmla="+- r 0 il" />\r
- <gd name="ib" fmla="+- b 0 it" />\r
- </gdLst>\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj" minX="0" maxX="maxAdj">\r
- <pos x="x1" y="t" />\r
- </ahXY>\r
- </ahLst>\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x2" y="y2" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x1" y="y2" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="x1" y="y1" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="x2" y="y1" />\r
- </cxn>\r
- </cxnLst>\r
- <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="vc" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x1" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="vc" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y2" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
- </hexagon>\r
- <homePlate>\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj" fmla="val 50000" />\r
- </avLst>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="maxAdj" fmla="*/ 100000 w ss" />\r
- <gd name="a" fmla="pin 0 adj maxAdj" />\r
- <gd name="dx1" fmla="*/ ss a 100000" />\r
- <gd name="x1" fmla="+- r 0 dx1" />\r
- <gd name="ir" fmla="+/ x1 r 2" />\r
- <gd name="x2" fmla="*/ x1 1 2" />\r
- </gdLst>\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj" minX="0" maxX="maxAdj">\r
- <pos x="x1" y="t" />\r
- </ahXY>\r
- </ahLst>\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="x2" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x1" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
- <rect l="l" t="t" r="ir" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x1" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="vc" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
- </homePlate>\r
- <horizontalScroll>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj" fmla="val 12500" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a" fmla="pin 0 adj 25000" />\r
- <gd name="ch" fmla="*/ ss a 100000" />\r
-\r
- <gd name="ch2" fmla="*/ ch 1 2" />\r
-\r
- <gd name="ch4" fmla="*/ ch 1 4" />\r
-\r
-\r
-\r
-\r
-\r
- <gd name="y3" fmla="+- ch ch2 0" />\r
-\r
- <gd name="y4" fmla="+- ch ch 0" />\r
-\r
- <gd name="y6" fmla="+- b 0 ch" />\r
-\r
- <gd name="y7" fmla="+- b 0 ch2" />\r
-\r
- <gd name="y5" fmla="+- y6 0 ch2" />\r
-\r
-\r
-\r
-\r
-\r
- <gd name="x3" fmla="+- r 0 ch" />\r
-\r
- <gd name="x4" fmla="+- r 0 ch2" />\r
-\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj" minX="0" maxX="25000">\r
- <pos x="ch" y="t" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="cd4">\r
- <pos x="hc" y="ch" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="y6" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="ch" t="ch" r="x4" b="y6" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path stroke="false" extrusionOk="false">\r
-\r
- <moveTo>\r
- <pt x="r" y="ch2" />\r
- </moveTo>\r
- <arcTo wR="ch2" hR="ch2" stAng="0" swAng="cd4" />\r
- <lnTo>\r
- <pt x="x4" y="ch2" />\r
- </lnTo>\r
- <arcTo wR="ch4" hR="ch4" stAng="0" swAng="cd2" />\r
- <lnTo>\r
- <pt x="x3" y="ch" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="ch2" y="ch" />\r
- </lnTo>\r
- <arcTo wR="ch2" hR="ch2" stAng="3cd4" swAng="-5400000" />\r
- <lnTo>\r
- <pt x="l" y="y7" />\r
- </lnTo>\r
- <arcTo wR="ch2" hR="ch2" stAng="cd2" swAng="-10800000" />\r
- <lnTo>\r
- <pt x="ch" y="y6" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y6" />\r
- </lnTo>\r
- <arcTo wR="ch2" hR="ch2" stAng="cd4" swAng="-5400000" />\r
- <close />\r
- <moveTo>\r
- <pt x="ch2" y="y4" />\r
- </moveTo>\r
- <arcTo wR="ch2" hR="ch2" stAng="cd4" swAng="-5400000" />\r
- <arcTo wR="ch4" hR="ch4" stAng="0" swAng="-10800000" />\r
- <close />\r
- </path>\r
- <path fill="darkenLess" stroke="false" extrusionOk="false">\r
-\r
- <moveTo>\r
- <pt x="ch2" y="y4" />\r
- </moveTo>\r
- <arcTo wR="ch2" hR="ch2" stAng="cd4" swAng="-5400000" />\r
- <arcTo wR="ch4" hR="ch4" stAng="0" swAng="-10800000" />\r
- <close />\r
- <moveTo>\r
- <pt x="x4" y="ch" />\r
- </moveTo>\r
- <arcTo wR="ch2" hR="ch2" stAng="cd4" swAng="-16200000" />\r
- <arcTo wR="ch4" hR="ch4" stAng="cd2" swAng="-10800000" />\r
- <close />\r
- </path>\r
- <path fill="none" extrusionOk="false">\r
-\r
- <moveTo>\r
- <pt x="l" y="y3" />\r
- </moveTo>\r
- <arcTo wR="ch2" hR="ch2" stAng="cd2" swAng="cd4" />\r
- <lnTo>\r
- <pt x="x3" y="ch" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="ch2" />\r
- </lnTo>\r
- <arcTo wR="ch2" hR="ch2" stAng="cd2" swAng="cd2" />\r
- <lnTo>\r
- <pt x="r" y="y5" />\r
- </lnTo>\r
- <arcTo wR="ch2" hR="ch2" stAng="0" swAng="cd4" />\r
- <lnTo>\r
- <pt x="ch" y="y6" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="ch" y="y7" />\r
- </lnTo>\r
- <arcTo wR="ch2" hR="ch2" stAng="0" swAng="cd2" />\r
- <close />\r
- <moveTo>\r
- <pt x="x3" y="ch" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x4" y="ch" />\r
- </lnTo>\r
- <arcTo wR="ch2" hR="ch2" stAng="cd4" swAng="-5400000" />\r
- <moveTo>\r
- <pt x="x4" y="ch" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x4" y="ch2" />\r
- </lnTo>\r
- <arcTo wR="ch4" hR="ch4" stAng="0" swAng="cd2" />\r
- <moveTo>\r
- <pt x="ch2" y="y4" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="ch2" y="y3" />\r
- </lnTo>\r
- <arcTo wR="ch4" hR="ch4" stAng="cd2" swAng="cd2" />\r
- <arcTo wR="ch2" hR="ch2" stAng="0" swAng="cd2" />\r
- <moveTo>\r
- <pt x="ch" y="y3" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="ch" y="y6" />\r
- </lnTo>\r
- </path>\r
- </pathLst>\r
-\r
- </horizontalScroll>\r
- <irregularSeal1>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="x5" fmla="*/ w 4627 21600" />\r
- <gd name="x12" fmla="*/ w 8485 21600" />\r
- <gd name="x21" fmla="*/ w 16702 21600" />\r
- <gd name="x24" fmla="*/ w 14522 21600" />\r
- <gd name="y3" fmla="*/ h 6320 21600" />\r
- <gd name="y6" fmla="*/ h 8615 21600" />\r
- <gd name="y9" fmla="*/ h 13937 21600" />\r
- <gd name="y18" fmla="*/ h 13290 21600" />\r
- </gdLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="x24" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="y6" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x12" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="y18" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="x5" t="y3" r="x21" b="y9" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path w="21600" h="21600">\r
- <moveTo>\r
- <pt x="10800" y="5800" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="14522" y="0" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="14155" y="5325" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="18380" y="4457" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="16702" y="7315" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="21097" y="8137" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="17607" y="10475" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="21600" y="13290" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="16837" y="12942" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="18145" y="18095" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="14020" y="14457" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="13247" y="19737" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="10532" y="14935" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="8485" y="21600" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="7715" y="15627" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="4762" y="17617" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="5667" y="13937" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="135" y="14587" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="3722" y="11775" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="0" y="8615" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="4627" y="7617" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="370" y="2295" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="7312" y="6320" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="8352" y="2295" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </irregularSeal1>\r
- <irregularSeal2>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="x2" fmla="*/ w 9722 21600" />\r
- <gd name="x5" fmla="*/ w 5372 21600" />\r
- <gd name="x16" fmla="*/ w 11612 21600" />\r
- <gd name="x19" fmla="*/ w 14640 21600" />\r
- <gd name="y2" fmla="*/ h 1887 21600" />\r
- <gd name="y3" fmla="*/ h 6382 21600" />\r
- <gd name="y8" fmla="*/ h 12877 21600" />\r
- <gd name="y14" fmla="*/ h 19712 21600" />\r
- <gd name="y16" fmla="*/ h 18842 21600" />\r
- <gd name="y17" fmla="*/ h 15935 21600" />\r
- <gd name="y24" fmla="*/ h 6645 21600" />\r
- </gdLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="x2" y="y2" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="y8" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x16" y="y16" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="y24" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="x5" t="y3" r="x19" b="y17" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path w="21600" h="21600">\r
- <moveTo>\r
- <pt x="11462" y="4342" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="14790" y="0" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="14525" y="5777" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="18007" y="3172" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="16380" y="6532" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="21600" y="6645" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="16985" y="9402" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="18270" y="11290" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="16380" y="12310" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="18877" y="15632" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="14640" y="14350" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="14942" y="17370" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="12180" y="15935" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="11612" y="18842" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="9872" y="17370" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="8700" y="19712" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="7527" y="18125" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="4917" y="21600" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="4805" y="18240" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="1285" y="17825" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="3330" y="15370" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="0" y="12877" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="3935" y="11592" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="1172" y="8270" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="5372" y="7817" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="4502" y="3625" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="8550" y="6382" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="9722" y="1887" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </irregularSeal2>\r
- <leftArrow>\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 50000" />\r
- <gd name="adj2" fmla="val 50000" />\r
- </avLst>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="maxAdj2" fmla="*/ 100000 w ss" />\r
- <gd name="a1" fmla="pin 0 adj1 100000" />\r
- <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
- <gd name="dx2" fmla="*/ ss a2 100000" />\r
- <gd name="x2" fmla="+- l dx2 0" />\r
- <gd name="dy1" fmla="*/ h a1 200000" />\r
- <gd name="y1" fmla="+- vc 0 dy1" />\r
- <gd name="y2" fmla="+- vc dy1 0" />\r
- <gd name="dx1" fmla="*/ y1 dx2 hd2" />\r
- <gd name="x1" fmla="+- x2 0 dx1" />\r
- </gdLst>\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj1" minY="0" maxY="100000">\r
- <pos x="r" y="y1" />\r
- </ahXY>\r
- <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">\r
- <pos x="x2" y="t" />\r
- </ahXY>\r
- </ahLst>\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="x2" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x2" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
- <rect l="x1" t="y1" r="r" b="y2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="vc" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x2" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
- </leftArrow>\r
- <leftArrowCallout>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 25000" />\r
-\r
- <gd name="adj2" fmla="val 25000" />\r
-\r
- <gd name="adj3" fmla="val 25000" />\r
-\r
- <gd name="adj4" fmla="val 64977" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="maxAdj2" fmla="*/ 50000 h ss" />\r
-\r
- <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
- <gd name="maxAdj1" fmla="*/ a2 2 1" />\r
-\r
- <gd name="a1" fmla="pin 0 adj1 maxAdj1" />\r
- <gd name="maxAdj3" fmla="*/ 100000 w ss" />\r
-\r
- <gd name="a3" fmla="pin 0 adj3 maxAdj3" />\r
- <gd name="q2" fmla="*/ a3 ss w" />\r
-\r
- <gd name="maxAdj4" fmla="+- 100000 0 q2" />\r
-\r
- <gd name="a4" fmla="pin 0 adj4 maxAdj4" />\r
- <gd name="dy1" fmla="*/ ss a2 100000" />\r
-\r
- <gd name="dy2" fmla="*/ ss a1 200000" />\r
-\r
- <gd name="y1" fmla="+- vc 0 dy1" />\r
- <gd name="y2" fmla="+- vc 0 dy2" />\r
- <gd name="y3" fmla="+- vc dy2 0" />\r
- <gd name="y4" fmla="+- vc dy1 0" />\r
- <gd name="x1" fmla="*/ ss a3 100000" />\r
-\r
- <gd name="dx2" fmla="*/ w a4 100000" />\r
-\r
- <gd name="x2" fmla="+- r 0 dx2" />\r
- <gd name="x3" fmla="+/ x2 r 2" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj1" minY="0" maxY="maxAdj1">\r
- <pos x="x1" y="y2" />\r
- </ahXY>\r
- <ahXY gdRefY="adj2" minY="0" maxY="maxAdj2">\r
- <pos x="l" y="y1" />\r
- </ahXY>\r
- <ahXY gdRefX="adj3" minX="0" maxX="maxAdj3">\r
- <pos x="x1" y="t" />\r
- </ahXY>\r
- <ahXY gdRefX="adj4" minX="0" maxX="maxAdj4">\r
- <pos x="x2" y="b" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="x3" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x3" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="x2" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="vc" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x1" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y4" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </leftArrowCallout>\r
- <leftBrace>\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 8333" />\r
- <gd name="adj2" fmla="val 50000" />\r
- </avLst>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a2" fmla="pin 0 adj2 100000" />\r
- <gd name="q1" fmla="+- 100000 0 a2" />\r
- <gd name="q2" fmla="min q1 a2" />\r
- <gd name="q3" fmla="*/ q2 1 2" />\r
- <gd name="maxAdj1" fmla="*/ q3 h ss" />\r
- <gd name="a1" fmla="pin 0 adj1 maxAdj1" />\r
- <gd name="y1" fmla="*/ ss a1 100000" />\r
- <gd name="y3" fmla="*/ h a2 100000" />\r
- <gd name="y4" fmla="+- y3 y1 0" />\r
- <gd name="dx1" fmla="cos wd2 2700000" />\r
- <gd name="dy1" fmla="sin y1 2700000" />\r
- <gd name="il" fmla="+- r 0 dx1" />\r
- <gd name="it" fmla="+- y1 0 dy1" />\r
- <gd name="ib" fmla="+- b dy1 y1" />\r
- </gdLst>\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj1" minY="0" maxY="maxAdj1">\r
- <pos x="hc" y="y1" />\r
- </ahXY>\r
- <ahXY gdRefY="adj2" minY="0" maxY="100000">\r
- <pos x="l" y="y3" />\r
- </ahXY>\r
- </ahLst>\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="cd4">\r
- <pos x="r" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="y3" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="r" y="b" />\r
- </cxn>\r
- </cxnLst>\r
- <rect l="il" t="it" r="r" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path stroke="false" extrusionOk="false">\r
- <moveTo>\r
- <pt x="r" y="b" />\r
- </moveTo>\r
- <arcTo wR="wd2" hR="y1" stAng="cd4" swAng="cd4" />\r
- <lnTo>\r
- <pt x="hc" y="y4" />\r
- </lnTo>\r
- <arcTo wR="wd2" hR="y1" stAng="0" swAng="-5400000" />\r
- <arcTo wR="wd2" hR="y1" stAng="cd4" swAng="-5400000" />\r
- <lnTo>\r
- <pt x="hc" y="y1" />\r
- </lnTo>\r
- <arcTo wR="wd2" hR="y1" stAng="cd2" swAng="cd4" />\r
- <close />\r
- </path>\r
- <path fill="none">\r
- <moveTo>\r
- <pt x="r" y="b" />\r
- </moveTo>\r
- <arcTo wR="wd2" hR="y1" stAng="cd4" swAng="cd4" />\r
- <lnTo>\r
- <pt x="hc" y="y4" />\r
- </lnTo>\r
- <arcTo wR="wd2" hR="y1" stAng="0" swAng="-5400000" />\r
- <arcTo wR="wd2" hR="y1" stAng="cd4" swAng="-5400000" />\r
- <lnTo>\r
- <pt x="hc" y="y1" />\r
- </lnTo>\r
- <arcTo wR="wd2" hR="y1" stAng="cd2" swAng="cd4" />\r
- </path>\r
- </pathLst>\r
- </leftBrace>\r
- <leftBracket>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj" fmla="val 8333" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="maxAdj" fmla="*/ 50000 h ss" />\r
-\r
- <gd name="a" fmla="pin 0 adj maxAdj" />\r
- <gd name="y1" fmla="*/ ss a 100000" />\r
-\r
- <gd name="y2" fmla="+- b 0 y1" />\r
-\r
- <gd name="dx1" fmla="cos w 2700000" />\r
- <gd name="dy1" fmla="sin y1 2700000" />\r
- <gd name="il" fmla="+- r 0 dx1" />\r
- <gd name="it" fmla="+- y1 0 dy1" />\r
- <gd name="ib" fmla="+- b dy1 y1" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj" minY="0" maxY="maxAdj">\r
- <pos x="l" y="y1" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="cd4">\r
- <pos x="r" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="r" y="b" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="il" t="it" r="r" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path stroke="false" extrusionOk="false">\r
-\r
- <moveTo>\r
- <pt x="r" y="b" />\r
- </moveTo>\r
- <arcTo wR="w" hR="y1" stAng="cd4" swAng="cd4" />\r
- <lnTo>\r
- <pt x="l" y="y1" />\r
- </lnTo>\r
- <arcTo wR="w" hR="y1" stAng="cd2" swAng="cd4" />\r
- <close />\r
- </path>\r
- <path fill="none">\r
-\r
- <moveTo>\r
- <pt x="r" y="b" />\r
- </moveTo>\r
- <arcTo wR="w" hR="y1" stAng="cd4" swAng="cd4" />\r
- <lnTo>\r
- <pt x="l" y="y1" />\r
- </lnTo>\r
- <arcTo wR="w" hR="y1" stAng="cd2" swAng="cd4" />\r
- </path>\r
- </pathLst>\r
-\r
- </leftBracket>\r
- <leftCircularArrow>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 12500" />\r
-\r
- <gd name="adj2" fmla="val -1142319" />\r
-\r
- <gd name="adj3" fmla="val 1142319" />\r
-\r
- <gd name="adj4" fmla="val 10800000" />\r
-\r
- <gd name="adj5" fmla="val 12500" />\r
-\r
- </avLst>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a5" fmla="pin 0 adj5 25000" />\r
-\r
- <gd name="maxAdj1" fmla="*/ a5 2 1" />\r
-\r
- <gd name="a1" fmla="pin 0 adj1 maxAdj1" />\r
- <gd name="enAng" fmla="pin 1 adj3 21599999" />\r
- <gd name="stAng" fmla="pin 0 adj4 21599999" />\r
-\r
- <gd name="th" fmla="*/ ss a1 100000" />\r
-\r
- <gd name="thh" fmla="*/ ss a5 100000" />\r
-\r
- <gd name="th2" fmla="*/ th 1 2" />\r
-\r
-\r
- <gd name="rw1" fmla="+- wd2 th2 thh" />\r
-\r
- <gd name="rh1" fmla="+- hd2 th2 thh" />\r
-\r
- <gd name="rw2" fmla="+- rw1 0 th" />\r
-\r
- <gd name="rh2" fmla="+- rh1 0 th" />\r
-\r
- <gd name="rw3" fmla="+- rw2 th2 0" />\r
-\r
- <gd name="rh3" fmla="+- rh2 th2 0" />\r
-\r
-\r
- <gd name="wtH" fmla="sin rw3 enAng" />\r
- <gd name="htH" fmla="cos rh3 enAng" />\r
- <gd name="dxH" fmla="cat2 rw3 htH wtH" />\r
- <gd name="dyH" fmla="sat2 rh3 htH wtH" />\r
- <gd name="xH" fmla="+- hc dxH 0" />\r
-\r
- <gd name="yH" fmla="+- vc dyH 0" />\r
-\r
-\r
- <gd name="rI" fmla="min rw2 rh2" />\r
-\r
- <gd name="u1" fmla="*/ dxH dxH 1" />\r
- <gd name="u2" fmla="*/ dyH dyH 1" />\r
- <gd name="u3" fmla="*/ rI rI 1" />\r
- <gd name="u4" fmla="+- u1 0 u3" />\r
- <gd name="u5" fmla="+- u2 0 u3" />\r
- <gd name="u6" fmla="*/ u4 u5 u1" />\r
- <gd name="u7" fmla="*/ u6 1 u2" />\r
- <gd name="u8" fmla="+- 1 0 u7" />\r
- <gd name="u9" fmla="sqrt u8" />\r
- <gd name="u10" fmla="*/ u4 1 dxH" />\r
- <gd name="u11" fmla="*/ u10 1 dyH" />\r
- <gd name="u12" fmla="+/ 1 u9 u11" />\r
- <gd name="u13" fmla="at2 1 u12" />\r
- <gd name="u14" fmla="+- u13 21600000 0" />\r
- <gd name="u15" fmla="?: u13 u13 u14" />\r
- <gd name="u16" fmla="+- u15 0 enAng" />\r
-\r
- <gd name="u17" fmla="+- u16 21600000 0" />\r
- <gd name="u18" fmla="?: u16 u16 u17" />\r
- <gd name="u19" fmla="+- u18 0 cd2" />\r
- <gd name="u20" fmla="+- u18 0 21600000" />\r
- <gd name="u21" fmla="?: u19 u20 u18" />\r
- <gd name="u22" fmla="abs u21" />\r
- <gd name="minAng" fmla="*/ u22 -1 1" />\r
- <gd name="u23" fmla="abs adj2" />\r
- <gd name="a2" fmla="*/ u23 -1 1" />\r
- <gd name="aAng" fmla="pin minAng a2 0" />\r
-\r
- <gd name="ptAng" fmla="+- enAng aAng 0" />\r
-\r
-\r
- <gd name="wtA" fmla="sin rw3 ptAng" />\r
- <gd name="htA" fmla="cos rh3 ptAng" />\r
- <gd name="dxA" fmla="cat2 rw3 htA wtA" />\r
- <gd name="dyA" fmla="sat2 rh3 htA wtA" />\r
- <gd name="xA" fmla="+- hc dxA 0" />\r
-\r
- <gd name="yA" fmla="+- vc dyA 0" />\r
-\r
-\r
- <gd name="wtE" fmla="sin rw1 stAng" />\r
- <gd name="htE" fmla="cos rh1 stAng" />\r
- <gd name="dxE" fmla="cat2 rw1 htE wtE" />\r
- <gd name="dyE" fmla="sat2 rh1 htE wtE" />\r
- <gd name="xE" fmla="+- hc dxE 0" />\r
-\r
- <gd name="yE" fmla="+- vc dyE 0" />\r
-\r
-\r
- <gd name="wtD" fmla="sin rw2 stAng" />\r
- <gd name="htD" fmla="cos rh2 stAng" />\r
- <gd name="dxD" fmla="cat2 rw2 htD wtD" />\r
- <gd name="dyD" fmla="sat2 rh2 htD wtD" />\r
- <gd name="xD" fmla="+- hc dxD 0" />\r
-\r
- <gd name="yD" fmla="+- vc dyD 0" />\r
-\r
-\r
- <gd name="dxG" fmla="cos thh ptAng" />\r
- <gd name="dyG" fmla="sin thh ptAng" />\r
- <gd name="xG" fmla="+- xH dxG 0" />\r
-\r
- <gd name="yG" fmla="+- yH dyG 0" />\r
-\r
-\r
- <gd name="dxB" fmla="cos thh ptAng" />\r
- <gd name="dyB" fmla="sin thh ptAng" />\r
- <gd name="xB" fmla="+- xH 0 dxB 0" />\r
-\r
- <gd name="yB" fmla="+- yH 0 dyB 0" />\r
-\r
-\r
- <gd name="sx1" fmla="+- xB 0 hc" />\r
-\r
- <gd name="sy1" fmla="+- yB 0 vc" />\r
-\r
- <gd name="sx2" fmla="+- xG 0 hc" />\r
-\r
- <gd name="sy2" fmla="+- yG 0 vc" />\r
-\r
-\r
- <gd name="rO" fmla="min rw1 rh1" />\r
-\r
- <gd name="x1O" fmla="*/ sx1 rO rw1" />\r
-\r
- <gd name="y1O" fmla="*/ sy1 rO rh1" />\r
-\r
- <gd name="x2O" fmla="*/ sx2 rO rw1" />\r
-\r
- <gd name="y2O" fmla="*/ sy2 rO rh1" />\r
-\r
-\r
- <gd name="dxO" fmla="+- x2O 0 x1O" />\r
- <gd name="dyO" fmla="+- y2O 0 y1O" />\r
- <gd name="dO" fmla="mod dxO dyO 0" />\r
-\r
- <gd name="q1" fmla="*/ x1O y2O 1" />\r
- <gd name="q2" fmla="*/ x2O y1O 1" />\r
- <gd name="DO" fmla="+- q1 0 q2" />\r
-\r
-\r
- <gd name="q3" fmla="*/ rO rO 1" />\r
-\r
- <gd name="q4" fmla="*/ dO dO 1" />\r
-\r
- <gd name="q5" fmla="*/ q3 q4 1" />\r
-\r
- <gd name="q6" fmla="*/ DO DO 1" />\r
-\r
- <gd name="q7" fmla="+- q5 0 q6" />\r
-\r
- <gd name="q8" fmla="max q7 0" />\r
-\r
- <gd name="sdelO" fmla="sqrt q8" />\r
-\r
- <gd name="ndyO" fmla="*/ dyO -1 1" />\r
- <gd name="sdyO" fmla="?: ndyO -1 1" />\r
-\r
- <gd name="q9" fmla="*/ sdyO dxO 1" />\r
-\r
- <gd name="q10" fmla="*/ q9 sdelO 1" />\r
-\r
- <gd name="q11" fmla="*/ DO dyO 1" />\r
-\r
- <gd name="dxF1" fmla="+/ q11 q10 q4" />\r
-\r
- <gd name="q12" fmla="+- q11 0 q10" />\r
- <gd name="dxF2" fmla="*/ q12 1 q4" />\r
-\r
-\r
- <gd name="adyO" fmla="abs dyO" />\r
- <gd name="q13" fmla="*/ adyO sdelO 1" />\r
-\r
- <gd name="q14" fmla="*/ DO dxO -1" />\r
-\r
- <gd name="dyF1" fmla="+/ q14 q13 q4" />\r
-\r
- <gd name="q15" fmla="+- q14 0 q13" />\r
- <gd name="dyF2" fmla="*/ q15 1 q4" />\r
-\r
-\r
-\r
- <gd name="q16" fmla="+- x2O 0 dxF1" />\r
- <gd name="q17" fmla="+- x2O 0 dxF2" />\r
- <gd name="q18" fmla="+- y2O 0 dyF1" />\r
- <gd name="q19" fmla="+- y2O 0 dyF2" />\r
- <gd name="q20" fmla="mod q16 q18 0" />\r
-\r
- <gd name="q21" fmla="mod q17 q19 0" />\r
-\r
- <gd name="q22" fmla="+- q21 0 q20" />\r
- <gd name="dxF" fmla="?: q22 dxF1 dxF2" />\r
-\r
- <gd name="dyF" fmla="?: q22 dyF1 dyF2" />\r
-\r
- <gd name="sdxF" fmla="*/ dxF rw1 rO" />\r
-\r
- <gd name="sdyF" fmla="*/ dyF rh1 rO" />\r
-\r
- <gd name="xF" fmla="+- hc sdxF 0" />\r
-\r
- <gd name="yF" fmla="+- vc sdyF 0" />\r
-\r
-\r
-\r
-\r
- <gd name="x1I" fmla="*/ sx1 rI rw2" />\r
-\r
- <gd name="y1I" fmla="*/ sy1 rI rh2" />\r
-\r
- <gd name="x2I" fmla="*/ sx2 rI rw2" />\r
-\r
- <gd name="y2I" fmla="*/ sy2 rI rh2" />\r
-\r
-\r
- <gd name="dxI" fmla="+- x2I 0 x1I" />\r
- <gd name="dyI" fmla="+- y2I 0 y1I" />\r
- <gd name="dI" fmla="mod dxI dyI 0" />\r
- <gd name="v1" fmla="*/ x1I y2I 1" />\r
- <gd name="v2" fmla="*/ x2I y1I 1" />\r
- <gd name="DI" fmla="+- v1 0 v2" />\r
-\r
- <gd name="v3" fmla="*/ rI rI 1" />\r
- <gd name="v4" fmla="*/ dI dI 1" />\r
- <gd name="v5" fmla="*/ v3 v4 1" />\r
- <gd name="v6" fmla="*/ DI DI 1" />\r
- <gd name="v7" fmla="+- v5 0 v6" />\r
- <gd name="v8" fmla="max v7 0" />\r
- <gd name="sdelI" fmla="sqrt v8" />\r
- <gd name="v9" fmla="*/ sdyO dxI 1" />\r
- <gd name="v10" fmla="*/ v9 sdelI 1" />\r
- <gd name="v11" fmla="*/ DI dyI 1" />\r
- <gd name="dxC1" fmla="+/ v11 v10 v4" />\r
- <gd name="v12" fmla="+- v11 0 v10" />\r
- <gd name="dxC2" fmla="*/ v12 1 v4" />\r
-\r
- <gd name="adyI" fmla="abs dyI" />\r
- <gd name="v13" fmla="*/ adyI sdelI 1" />\r
- <gd name="v14" fmla="*/ DI dxI -1" />\r
- <gd name="dyC1" fmla="+/ v14 v13 v4" />\r
- <gd name="v15" fmla="+- v14 0 v13" />\r
- <gd name="dyC2" fmla="*/ v15 1 v4" />\r
-\r
- <gd name="v16" fmla="+- x1I 0 dxC1" />\r
- <gd name="v17" fmla="+- x1I 0 dxC2" />\r
- <gd name="v18" fmla="+- y1I 0 dyC1" />\r
- <gd name="v19" fmla="+- y1I 0 dyC2" />\r
- <gd name="v20" fmla="mod v16 v18 0" />\r
- <gd name="v21" fmla="mod v17 v19 0" />\r
- <gd name="v22" fmla="+- v21 0 v20" />\r
- <gd name="dxC" fmla="?: v22 dxC1 dxC2" />\r
- <gd name="dyC" fmla="?: v22 dyC1 dyC2" />\r
- <gd name="sdxC" fmla="*/ dxC rw2 rI" />\r
- <gd name="sdyC" fmla="*/ dyC rh2 rI" />\r
- <gd name="xC" fmla="+- hc sdxC 0" />\r
-\r
- <gd name="yC" fmla="+- vc sdyC 0" />\r
-\r
-\r
- <gd name="ist0" fmla="at2 sdxC sdyC" />\r
- <gd name="ist1" fmla="+- ist0 21600000 0" />\r
- <gd name="istAng0" fmla="?: ist0 ist0 ist1" />\r
- <gd name="isw1" fmla="+- stAng 0 istAng0" />\r
- <gd name="isw2" fmla="+- isw1 21600000 0" />\r
- <gd name="iswAng0" fmla="?: isw1 isw1 isw2" />\r
-\r
- <gd name="istAng" fmla="+- istAng0 iswAng0 0" />\r
- <gd name="iswAng" fmla="+- 0 0 iswAng0" />\r
-\r
- <gd name="p1" fmla="+- xF 0 xC" />\r
- <gd name="p2" fmla="+- yF 0 yC" />\r
- <gd name="p3" fmla="mod p1 p2 0" />\r
- <gd name="p4" fmla="*/ p3 1 2" />\r
- <gd name="p5" fmla="+- p4 0 thh" />\r
- <gd name="xGp" fmla="?: p5 xF xG" />\r
- <gd name="yGp" fmla="?: p5 yF yG" />\r
- <gd name="xBp" fmla="?: p5 xC xB" />\r
- <gd name="yBp" fmla="?: p5 yC yB" />\r
-\r
- <gd name="en0" fmla="at2 sdxF sdyF" />\r
- <gd name="en1" fmla="+- en0 21600000 0" />\r
- <gd name="en2" fmla="?: en0 en0 en1" />\r
- <gd name="sw0" fmla="+- en2 0 stAng" />\r
- <gd name="sw1" fmla="+- sw0 0 21600000" />\r
- <gd name="swAng" fmla="?: sw0 sw1 sw0" />\r
-\r
-\r
- <gd name="stAng0" fmla="+- stAng swAng 0" />\r
-\r
- <gd name="swAng0" fmla="+- 0 0 swAng" />\r
-\r
-\r
- <gd name="wtI" fmla="sin rw3 stAng" />\r
- <gd name="htI" fmla="cos rh3 stAng" />\r
- <gd name="dxI" fmla="cat2 rw3 htI wtI" />\r
- <gd name="dyI" fmla="sat2 rh3 htI wtI" />\r
- <gd name="xI" fmla="+- hc dxI 0" />\r
-\r
- <gd name="yI" fmla="+- vc dyI 0" />\r
-\r
-\r
- <gd name="aI" fmla="+- stAng cd4 0" />\r
- <gd name="aA" fmla="+- ptAng 0 cd4" />\r
- <gd name="aB" fmla="+- ptAng cd2 0" />\r
-\r
- <gd name="idx" fmla="cos rw1 2700000" />\r
- <gd name="idy" fmla="sin rh1 2700000" />\r
- <gd name="il" fmla="+- hc 0 idx" />\r
- <gd name="ir" fmla="+- hc idx 0" />\r
- <gd name="it" fmla="+- vc 0 idy" />\r
- <gd name="ib" fmla="+- vc idy 0" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahPolar gdRefAng="adj2" minAng="minAng" maxAng="0">\r
- <pos x="xA" y="yA" />\r
- </ahPolar>\r
- <ahPolar gdRefAng="adj4" minAng="0" maxAng="21599999">\r
- <pos x="xE" y="yE" />\r
- </ahPolar>\r
- <ahPolar gdRefR="adj1" minR="0" maxR="maxAdj1" gdRefAng="adj3" minAng="0" maxAng="21599999">\r
- <pos x="xF" y="yF" />\r
- </ahPolar>\r
- <ahPolar gdRefR="adj5" minR="0" maxR="25000">\r
- <pos x="xB" y="yB" />\r
- </ahPolar>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="aI">\r
- <pos x="xI" y="yI" />\r
- </cxn>\r
- <cxn ang="ptAng">\r
- <pos x="xGp" y="yGp" />\r
- </cxn>\r
- <cxn ang="aA">\r
- <pos x="xA" y="yA" />\r
- </cxn>\r
- <cxn ang="aB">\r
- <pos x="xBp" y="yBp" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="xE" y="yE" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="xD" y="yD" />\r
- </lnTo>\r
- <arcTo wR="rw2" hR="rh2" stAng="istAng" swAng="iswAng" />\r
- <lnTo>\r
- <pt x="xBp" y="yBp" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xA" y="yA" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xGp" y="yGp" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xF" y="yF" />\r
- </lnTo>\r
- <arcTo wR="rw1" hR="rh1" stAng="stAng0" swAng="swAng0" />\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </leftCircularArrow>\r
- <leftRightArrow>\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 50000" />\r
- <gd name="adj2" fmla="val 50000" />\r
- </avLst>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="maxAdj2" fmla="*/ 50000 w ss" />\r
- <gd name="a1" fmla="pin 0 adj1 100000" />\r
- <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
- <gd name="x2" fmla="*/ ss a2 100000" />\r
- <gd name="x3" fmla="+- r 0 x2" />\r
- <gd name="dy" fmla="*/ h a1 200000" />\r
- <gd name="y1" fmla="+- vc 0 dy" />\r
- <gd name="y2" fmla="+- vc dy 0" />\r
- <gd name="dx1" fmla="*/ y1 x2 hd2" />\r
- <gd name="x1" fmla="+- x2 0 dx1" />\r
- <gd name="x4" fmla="+- x3 dx1 0" />\r
- </gdLst>\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj1" minY="0" maxY="100000">\r
- <pos x="x3" y="y1" />\r
- </ahXY>\r
- <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">\r
- <pos x="x2" y="t" />\r
- </ahXY>\r
- </ahLst>\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x3" y="b" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x2" y="b" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="x2" y="t" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="x3" y="t" />\r
- </cxn>\r
- </cxnLst>\r
- <rect l="x1" t="y1" r="x4" b="y2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="vc" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x2" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="vc" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
- </leftRightArrow>\r
- <leftRightArrowCallout>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 25000" />\r
-\r
- <gd name="adj2" fmla="val 25000" />\r
-\r
- <gd name="adj3" fmla="val 25000" />\r
-\r
- <gd name="adj4" fmla="val 48123" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="maxAdj2" fmla="*/ 50000 h ss" />\r
-\r
- <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
- <gd name="maxAdj1" fmla="*/ a2 2 1" />\r
-\r
- <gd name="a1" fmla="pin 0 adj1 maxAdj1" />\r
- <gd name="maxAdj3" fmla="*/ 50000 w ss" />\r
-\r
- <gd name="a3" fmla="pin 0 adj3 maxAdj3" />\r
- <gd name="q2" fmla="*/ a3 ss wd2" />\r
-\r
- <gd name="maxAdj4" fmla="+- 100000 0 q2" />\r
-\r
- <gd name="a4" fmla="pin 0 adj4 maxAdj4" />\r
- <gd name="dy1" fmla="*/ ss a2 100000" />\r
-\r
- <gd name="dy2" fmla="*/ ss a1 200000" />\r
-\r
- <gd name="y1" fmla="+- vc 0 dy1" />\r
- <gd name="y2" fmla="+- vc 0 dy2" />\r
- <gd name="y3" fmla="+- vc dy2 0" />\r
- <gd name="y4" fmla="+- vc dy1 0" />\r
- <gd name="x1" fmla="*/ ss a3 100000" />\r
-\r
- <gd name="x4" fmla="+- r 0 x1" />\r
-\r
- <gd name="dx2" fmla="*/ w a4 200000" />\r
-\r
- <gd name="x2" fmla="+- hc 0 dx2" />\r
-\r
- <gd name="x3" fmla="+- hc dx2 0" />\r
-\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj1" minY="0" maxY="maxAdj1">\r
- <pos x="x1" y="y2" />\r
- </ahXY>\r
- <ahXY gdRefY="adj2" minY="0" maxY="maxAdj2">\r
- <pos x="l" y="y1" />\r
- </ahXY>\r
- <ahXY gdRefX="adj3" minX="0" maxX="maxAdj3">\r
- <pos x="x1" y="t" />\r
- </ahXY>\r
- <ahXY gdRefX="adj4" minX="0" maxX="maxAdj4">\r
- <pos x="x2" y="b" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="x2" t="t" r="x3" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="vc" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x1" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="vc" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y4" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </leftRightArrowCallout>\r
- <leftRightCircularArrow>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 12500" />\r
-\r
- <gd name="adj2" fmla="val 1142319" />\r
-\r
- <gd name="adj3" fmla="val 20457681" />\r
-\r
- <gd name="adj4" fmla="val 11942319" />\r
-\r
- <gd name="adj5" fmla="val 12500" />\r
-\r
- </avLst>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a5" fmla="pin 0 adj5 25000" />\r
-\r
- <gd name="maxAdj1" fmla="*/ a5 2 1" />\r
-\r
- <gd name="a1" fmla="pin 0 adj1 maxAdj1" />\r
- <gd name="enAng" fmla="pin 1 adj3 21599999" />\r
- <gd name="stAng" fmla="pin 0 adj4 21599999" />\r
-\r
- <gd name="th" fmla="*/ ss a1 100000" />\r
-\r
- <gd name="thh" fmla="*/ ss a5 100000" />\r
-\r
- <gd name="th2" fmla="*/ th 1 2" />\r
-\r
-\r
- <gd name="rw1" fmla="+- wd2 th2 thh" />\r
-\r
- <gd name="rh1" fmla="+- hd2 th2 thh" />\r
-\r
- <gd name="rw2" fmla="+- rw1 0 th" />\r
-\r
- <gd name="rh2" fmla="+- rh1 0 th" />\r
-\r
- <gd name="rw3" fmla="+- rw2 th2 0" />\r
-\r
- <gd name="rh3" fmla="+- rh2 th2 0" />\r
-\r
-\r
- <gd name="wtH" fmla="sin rw3 enAng" />\r
- <gd name="htH" fmla="cos rh3 enAng" />\r
- <gd name="dxH" fmla="cat2 rw3 htH wtH" />\r
- <gd name="dyH" fmla="sat2 rh3 htH wtH" />\r
- <gd name="xH" fmla="+- hc dxH 0" />\r
-\r
- <gd name="yH" fmla="+- vc dyH 0" />\r
-\r
-\r
- <gd name="rI" fmla="min rw2 rh2" />\r
-\r
- <gd name="u1" fmla="*/ dxH dxH 1" />\r
- <gd name="u2" fmla="*/ dyH dyH 1" />\r
- <gd name="u3" fmla="*/ rI rI 1" />\r
- <gd name="u4" fmla="+- u1 0 u3" />\r
- <gd name="u5" fmla="+- u2 0 u3" />\r
- <gd name="u6" fmla="*/ u4 u5 u1" />\r
- <gd name="u7" fmla="*/ u6 1 u2" />\r
- <gd name="u8" fmla="+- 1 0 u7" />\r
- <gd name="u9" fmla="sqrt u8" />\r
- <gd name="u10" fmla="*/ u4 1 dxH" />\r
- <gd name="u11" fmla="*/ u10 1 dyH" />\r
- <gd name="u12" fmla="+/ 1 u9 u11" />\r
- <gd name="u13" fmla="at2 1 u12" />\r
- <gd name="u14" fmla="+- u13 21600000 0" />\r
- <gd name="u15" fmla="?: u13 u13 u14" />\r
- <gd name="u16" fmla="+- u15 0 enAng" />\r
-\r
- <gd name="u17" fmla="+- u16 21600000 0" />\r
- <gd name="u18" fmla="?: u16 u16 u17" />\r
- <gd name="u19" fmla="+- u18 0 cd2" />\r
- <gd name="u20" fmla="+- u18 0 21600000" />\r
- <gd name="u21" fmla="?: u19 u20 u18" />\r
- <gd name="maxAng" fmla="abs u21" />\r
- <gd name="aAng" fmla="pin 0 adj2 maxAng" />\r
-\r
- <gd name="ptAng" fmla="+- enAng aAng 0" />\r
-\r
-\r
- <gd name="wtA" fmla="sin rw3 ptAng" />\r
- <gd name="htA" fmla="cos rh3 ptAng" />\r
- <gd name="dxA" fmla="cat2 rw3 htA wtA" />\r
- <gd name="dyA" fmla="sat2 rh3 htA wtA" />\r
- <gd name="xA" fmla="+- hc dxA 0" />\r
-\r
- <gd name="yA" fmla="+- vc dyA 0" />\r
-\r
-\r
- <gd name="dxG" fmla="cos thh ptAng" />\r
- <gd name="dyG" fmla="sin thh ptAng" />\r
- <gd name="xG" fmla="+- xH dxG 0" />\r
-\r
- <gd name="yG" fmla="+- yH dyG 0" />\r
-\r
-\r
- <gd name="dxB" fmla="cos thh ptAng" />\r
- <gd name="dyB" fmla="sin thh ptAng" />\r
- <gd name="xB" fmla="+- xH 0 dxB 0" />\r
-\r
- <gd name="yB" fmla="+- yH 0 dyB 0" />\r
-\r
-\r
- <gd name="sx1" fmla="+- xB 0 hc" />\r
-\r
- <gd name="sy1" fmla="+- yB 0 vc" />\r
-\r
- <gd name="sx2" fmla="+- xG 0 hc" />\r
-\r
- <gd name="sy2" fmla="+- yG 0 vc" />\r
-\r
-\r
- <gd name="rO" fmla="min rw1 rh1" />\r
-\r
- <gd name="x1O" fmla="*/ sx1 rO rw1" />\r
-\r
- <gd name="y1O" fmla="*/ sy1 rO rh1" />\r
-\r
- <gd name="x2O" fmla="*/ sx2 rO rw1" />\r
-\r
- <gd name="y2O" fmla="*/ sy2 rO rh1" />\r
-\r
-\r
- <gd name="dxO" fmla="+- x2O 0 x1O" />\r
- <gd name="dyO" fmla="+- y2O 0 y1O" />\r
- <gd name="dO" fmla="mod dxO dyO 0" />\r
-\r
- <gd name="q1" fmla="*/ x1O y2O 1" />\r
- <gd name="q2" fmla="*/ x2O y1O 1" />\r
- <gd name="DO" fmla="+- q1 0 q2" />\r
-\r
-\r
- <gd name="q3" fmla="*/ rO rO 1" />\r
-\r
- <gd name="q4" fmla="*/ dO dO 1" />\r
-\r
- <gd name="q5" fmla="*/ q3 q4 1" />\r
-\r
- <gd name="q6" fmla="*/ DO DO 1" />\r
-\r
- <gd name="q7" fmla="+- q5 0 q6" />\r
-\r
- <gd name="q8" fmla="max q7 0" />\r
-\r
- <gd name="sdelO" fmla="sqrt q8" />\r
-\r
- <gd name="ndyO" fmla="*/ dyO -1 1" />\r
- <gd name="sdyO" fmla="?: ndyO -1 1" />\r
-\r
- <gd name="q9" fmla="*/ sdyO dxO 1" />\r
-\r
- <gd name="q10" fmla="*/ q9 sdelO 1" />\r
-\r
- <gd name="q11" fmla="*/ DO dyO 1" />\r
-\r
- <gd name="dxF1" fmla="+/ q11 q10 q4" />\r
-\r
- <gd name="q12" fmla="+- q11 0 q10" />\r
- <gd name="dxF2" fmla="*/ q12 1 q4" />\r
-\r
-\r
- <gd name="adyO" fmla="abs dyO" />\r
- <gd name="q13" fmla="*/ adyO sdelO 1" />\r
-\r
- <gd name="q14" fmla="*/ DO dxO -1" />\r
-\r
- <gd name="dyF1" fmla="+/ q14 q13 q4" />\r
-\r
- <gd name="q15" fmla="+- q14 0 q13" />\r
- <gd name="dyF2" fmla="*/ q15 1 q4" />\r
-\r
-\r
-\r
- <gd name="q16" fmla="+- x2O 0 dxF1" />\r
- <gd name="q17" fmla="+- x2O 0 dxF2" />\r
- <gd name="q18" fmla="+- y2O 0 dyF1" />\r
- <gd name="q19" fmla="+- y2O 0 dyF2" />\r
- <gd name="q20" fmla="mod q16 q18 0" />\r
-\r
- <gd name="q21" fmla="mod q17 q19 0" />\r
-\r
- <gd name="q22" fmla="+- q21 0 q20" />\r
- <gd name="dxF" fmla="?: q22 dxF1 dxF2" />\r
-\r
- <gd name="dyF" fmla="?: q22 dyF1 dyF2" />\r
-\r
- <gd name="sdxF" fmla="*/ dxF rw1 rO" />\r
-\r
- <gd name="sdyF" fmla="*/ dyF rh1 rO" />\r
-\r
- <gd name="xF" fmla="+- hc sdxF 0" />\r
-\r
- <gd name="yF" fmla="+- vc sdyF 0" />\r
-\r
-\r
-\r
-\r
- <gd name="x1I" fmla="*/ sx1 rI rw2" />\r
-\r
- <gd name="y1I" fmla="*/ sy1 rI rh2" />\r
-\r
- <gd name="x2I" fmla="*/ sx2 rI rw2" />\r
-\r
- <gd name="y2I" fmla="*/ sy2 rI rh2" />\r
-\r
-\r
- <gd name="dxI" fmla="+- x2I 0 x1I" />\r
- <gd name="dyI" fmla="+- y2I 0 y1I" />\r
- <gd name="dI" fmla="mod dxI dyI 0" />\r
- <gd name="v1" fmla="*/ x1I y2I 1" />\r
- <gd name="v2" fmla="*/ x2I y1I 1" />\r
- <gd name="DI" fmla="+- v1 0 v2" />\r
-\r
- <gd name="v3" fmla="*/ rI rI 1" />\r
- <gd name="v4" fmla="*/ dI dI 1" />\r
- <gd name="v5" fmla="*/ v3 v4 1" />\r
- <gd name="v6" fmla="*/ DI DI 1" />\r
- <gd name="v7" fmla="+- v5 0 v6" />\r
- <gd name="v8" fmla="max v7 0" />\r
- <gd name="sdelI" fmla="sqrt v8" />\r
- <gd name="v9" fmla="*/ sdyO dxI 1" />\r
- <gd name="v10" fmla="*/ v9 sdelI 1" />\r
- <gd name="v11" fmla="*/ DI dyI 1" />\r
- <gd name="dxC1" fmla="+/ v11 v10 v4" />\r
- <gd name="v12" fmla="+- v11 0 v10" />\r
- <gd name="dxC2" fmla="*/ v12 1 v4" />\r
-\r
- <gd name="adyI" fmla="abs dyI" />\r
- <gd name="v13" fmla="*/ adyI sdelI 1" />\r
- <gd name="v14" fmla="*/ DI dxI -1" />\r
- <gd name="dyC1" fmla="+/ v14 v13 v4" />\r
- <gd name="v15" fmla="+- v14 0 v13" />\r
- <gd name="dyC2" fmla="*/ v15 1 v4" />\r
-\r
- <gd name="v16" fmla="+- x1I 0 dxC1" />\r
- <gd name="v17" fmla="+- x1I 0 dxC2" />\r
- <gd name="v18" fmla="+- y1I 0 dyC1" />\r
- <gd name="v19" fmla="+- y1I 0 dyC2" />\r
- <gd name="v20" fmla="mod v16 v18 0" />\r
- <gd name="v21" fmla="mod v17 v19 0" />\r
- <gd name="v22" fmla="+- v21 0 v20" />\r
- <gd name="dxC" fmla="?: v22 dxC1 dxC2" />\r
- <gd name="dyC" fmla="?: v22 dyC1 dyC2" />\r
- <gd name="sdxC" fmla="*/ dxC rw2 rI" />\r
- <gd name="sdyC" fmla="*/ dyC rh2 rI" />\r
- <gd name="xC" fmla="+- hc sdxC 0" />\r
-\r
- <gd name="yC" fmla="+- vc sdyC 0" />\r
-\r
-\r
- <gd name="wtI" fmla="sin rw3 stAng" />\r
- <gd name="htI" fmla="cos rh3 stAng" />\r
- <gd name="dxI" fmla="cat2 rw3 htI wtI" />\r
- <gd name="dyI" fmla="sat2 rh3 htI wtI" />\r
- <gd name="xI" fmla="+- hc dxI 0" />\r
-\r
- <gd name="yI" fmla="+- vc dyI 0" />\r
-\r
-\r
- <gd name="lptAng" fmla="+- stAng 0 aAng" />\r
-\r
-\r
- <gd name="wtL" fmla="sin rw3 lptAng" />\r
- <gd name="htL" fmla="cos rh3 lptAng" />\r
- <gd name="dxL" fmla="cat2 rw3 htL wtL" />\r
- <gd name="dyL" fmla="sat2 rh3 htL wtL" />\r
- <gd name="xL" fmla="+- hc dxL 0" />\r
-\r
- <gd name="yL" fmla="+- vc dyL 0" />\r
-\r
-\r
- <gd name="dxK" fmla="cos thh lptAng" />\r
- <gd name="dyK" fmla="sin thh lptAng" />\r
- <gd name="xK" fmla="+- xI dxK 0" />\r
-\r
- <gd name="yK" fmla="+- yI dyK 0" />\r
-\r
-\r
- <gd name="dxJ" fmla="cos thh lptAng" />\r
- <gd name="dyJ" fmla="sin thh lptAng" />\r
- <gd name="xJ" fmla="+- xI 0 dxJ 0" />\r
-\r
- <gd name="yJ" fmla="+- yI 0 dyJ 0" />\r
-\r
-\r
- <gd name="p1" fmla="+- xF 0 xC" />\r
- <gd name="p2" fmla="+- yF 0 yC" />\r
- <gd name="p3" fmla="mod p1 p2 0" />\r
- <gd name="p4" fmla="*/ p3 1 2" />\r
- <gd name="p5" fmla="+- p4 0 thh" />\r
- <gd name="xGp" fmla="?: p5 xF xG" />\r
- <gd name="yGp" fmla="?: p5 yF yG" />\r
- <gd name="xBp" fmla="?: p5 xC xB" />\r
- <gd name="yBp" fmla="?: p5 yC yB" />\r
-\r
- <gd name="en0" fmla="at2 sdxF sdyF" />\r
- <gd name="en1" fmla="+- en0 21600000 0" />\r
- <gd name="en2" fmla="?: en0 en0 en1" />\r
- <gd name="od0" fmla="+- en2 0 enAng" />\r
- <gd name="od1" fmla="+- od0 21600000 0" />\r
- <gd name="od2" fmla="?: od0 od0 od1" />\r
-\r
- <gd name="st0" fmla="+- stAng 0 od2" />\r
- <gd name="st1" fmla="+- st0 21600000 0" />\r
- <gd name="st2" fmla="?: st0 st0 st1" />\r
-\r
- <gd name="sw0" fmla="+- en2 0 st2" />\r
- <gd name="sw1" fmla="+- sw0 21600000 0" />\r
- <gd name="swAng" fmla="?: sw0 sw0 sw1" />\r
-\r
-\r
- <gd name="ist0" fmla="at2 sdxC sdyC" />\r
- <gd name="ist1" fmla="+- ist0 21600000 0" />\r
- <gd name="istAng" fmla="?: ist0 ist0 ist1" />\r
-\r
- <gd name="id0" fmla="+- istAng 0 enAng" />\r
- <gd name="id1" fmla="+- id0 0 21600000" />\r
- <gd name="id2" fmla="?: id0 id1 id0" />\r
-\r
- <gd name="ien0" fmla="+- stAng 0 id2" />\r
- <gd name="ien1" fmla="+- ien0 0 21600000" />\r
- <gd name="ien2" fmla="?: ien1 ien1 ien0" />\r
-\r
- <gd name="isw1" fmla="+- ien2 0 istAng" />\r
- <gd name="isw2" fmla="+- isw1 0 21600000" />\r
- <gd name="iswAng" fmla="?: isw1 isw2 isw1" />\r
-\r
-\r
- <gd name="wtE" fmla="sin rw1 st2" />\r
- <gd name="htE" fmla="cos rh1 st2" />\r
- <gd name="dxE" fmla="cat2 rw1 htE wtE" />\r
- <gd name="dyE" fmla="sat2 rh1 htE wtE" />\r
- <gd name="xE" fmla="+- hc dxE 0" />\r
-\r
- <gd name="yE" fmla="+- vc dyE 0" />\r
-\r
-\r
- <gd name="wtD" fmla="sin rw2 ien2" />\r
- <gd name="htD" fmla="cos rh2 ien2" />\r
- <gd name="dxD" fmla="cat2 rw2 htD wtD" />\r
- <gd name="dyD" fmla="sat2 rh2 htD wtD" />\r
- <gd name="xD" fmla="+- hc dxD 0" />\r
-\r
- <gd name="yD" fmla="+- vc dyD 0" />\r
-\r
-\r
- <gd name="xKp" fmla="?: p5 xE xK" />\r
- <gd name="yKp" fmla="?: p5 yE yK" />\r
- <gd name="xJp" fmla="?: p5 xD xJ" />\r
- <gd name="yJp" fmla="?: p5 yD yJ" />\r
-\r
- <gd name="aL" fmla="+- lptAng 0 cd4" />\r
- <gd name="aA" fmla="+- ptAng cd4 0" />\r
- <gd name="aB" fmla="+- ptAng cd2 0" />\r
- <gd name="aJ" fmla="+- lptAng cd2 0" />\r
-\r
- <gd name="idx" fmla="cos rw1 2700000" />\r
- <gd name="idy" fmla="sin rh1 2700000" />\r
- <gd name="il" fmla="+- hc 0 idx" />\r
- <gd name="ir" fmla="+- hc idx 0" />\r
- <gd name="it" fmla="+- vc 0 idy" />\r
- <gd name="ib" fmla="+- vc idy 0" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahPolar gdRefAng="adj2" minAng="0" maxAng="maxAng">\r
- <pos x="xA" y="yA" />\r
- </ahPolar>\r
- <ahPolar gdRefAng="adj4" minAng="0" maxAng="21599999">\r
- <pos x="xE" y="yE" />\r
- </ahPolar>\r
- <ahPolar gdRefR="adj1" minR="0" maxR="maxAdj1" gdRefAng="adj3" minAng="0" maxAng="21599999">\r
- <pos x="xF" y="yF" />\r
- </ahPolar>\r
- <ahPolar gdRefR="adj5" minR="0" maxR="25000">\r
- <pos x="xB" y="yB" />\r
- </ahPolar>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="aL">\r
- <pos x="xL" y="yL" />\r
- </cxn>\r
- <cxn ang="lptAng">\r
- <pos x="xKp" y="yKp" />\r
- </cxn>\r
- <cxn ang="ptAng">\r
- <pos x="xGp" y="yGp" />\r
- </cxn>\r
- <cxn ang="aA">\r
- <pos x="xA" y="yA" />\r
- </cxn>\r
- <cxn ang="aB">\r
- <pos x="xBp" y="yBp" />\r
- </cxn>\r
- <cxn ang="aJ">\r
- <pos x="xJp" y="yJp" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="xL" y="yL" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="xKp" y="yKp" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xE" y="yE" />\r
- </lnTo>\r
- <arcTo wR="rw1" hR="rh1" stAng="st2" swAng="swAng" />\r
- <lnTo>\r
- <pt x="xGp" y="yGp" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xA" y="yA" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xBp" y="yBp" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xC" y="yC" />\r
- </lnTo>\r
- <arcTo wR="rw2" hR="rh2" stAng="istAng" swAng="iswAng" />\r
- <lnTo>\r
- <pt x="xJp" y="yJp" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </leftRightCircularArrow>\r
- <leftRightRibbon>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 50000" />\r
-\r
- <gd name="adj2" fmla="val 50000" />\r
-\r
- <gd name="adj3" fmla="val 16667" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a3" fmla="pin 0 adj3 33333" />\r
- <gd name="maxAdj1" fmla="+- 100000 0 a3" />\r
- <gd name="a1" fmla="pin 0 adj1 maxAdj1" />\r
-\r
- <gd name="w1" fmla="+- wd2 0 wd32" />\r
- <gd name="maxAdj2" fmla="*/ 100000 w1 ss" />\r
- <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
-\r
- <gd name="x1" fmla="*/ ss a2 100000" />\r
-\r
- <gd name="x4" fmla="+- r 0 x1" />\r
-\r
- <gd name="dy1" fmla="*/ h a1 200000" />\r
-\r
- <gd name="dy2" fmla="*/ h a3 -200000" />\r
-\r
- <gd name="ly1" fmla="+- vc dy2 dy1" />\r
-\r
- <gd name="ry4" fmla="+- vc dy1 dy2" />\r
-\r
- <gd name="ly2" fmla="+- ly1 dy1 0" />\r
-\r
- <gd name="ry3" fmla="+- b 0 ly2" />\r
-\r
- <gd name="ly4" fmla="*/ ly2 2 1" />\r
-\r
- <gd name="ry1" fmla="+- b 0 ly4" />\r
-\r
- <gd name="ly3" fmla="+- ly4 0 ly1" />\r
-\r
- <gd name="ry2" fmla="+- b 0 ly3" />\r
-\r
-\r
- <gd name="hR" fmla="*/ a3 ss 400000" />\r
-\r
- <gd name="x2" fmla="+- hc 0 wd32" />\r
-\r
- <gd name="x3" fmla="+- hc wd32 0" />\r
-\r
- <gd name="y1" fmla="+- ly1 hR 0" />\r
-\r
- <gd name="y2" fmla="+- ry2 0 hR" />\r
-\r
-\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj1" minY="0" maxY="maxAdj1">\r
- <pos x="x4" y="ry2" />\r
- </ahXY>\r
- <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">\r
- <pos x="x1" y="t" />\r
- </ahXY>\r
- <ahXY gdRefY="adj3" minY="0" maxY="33333">\r
- <pos x="x3" y="ry2" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="r" y="ry3" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x4" y="b" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x1" y="ly4" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="ly2" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="x1" y="t" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="x4" y="ry1" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="x1" t="ly1" r="x4" b="ry4" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path stroke="false" extrusionOk="false">\r
-\r
- <moveTo>\r
- <pt x="l" y="ly2" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x1" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="ly1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="hc" y="ly1" />\r
- </lnTo>\r
- <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="cd2" />\r
- <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="-10800000" />\r
- <lnTo>\r
- <pt x="x4" y="ry2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="ry1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="ry3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="ry4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="hc" y="ry4" />\r
- </lnTo>\r
- <arcTo wR="wd32" hR="hR" stAng="cd4" swAng="cd4" />\r
- <lnTo>\r
- <pt x="x2" y="ly3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="ly3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="ly4" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path stroke="false" fill="darkenLess" extrusionOk="false">\r
-\r
- <moveTo>\r
- <pt x="x3" y="y1" />\r
- </moveTo>\r
- <arcTo wR="wd32" hR="hR" stAng="0" swAng="cd4" />\r
- <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="-10800000" />\r
- <lnTo>\r
- <pt x="x3" y="ry2" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path fill="none" extrusionOk="false">\r
-\r
- <moveTo>\r
- <pt x="l" y="ly2" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x1" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="ly1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="hc" y="ly1" />\r
- </lnTo>\r
- <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="cd2" />\r
- <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="-10800000" />\r
- <lnTo>\r
- <pt x="x4" y="ry2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="ry1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="ry3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="ry4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="hc" y="ry4" />\r
- </lnTo>\r
- <arcTo wR="wd32" hR="hR" stAng="cd4" swAng="cd4" />\r
- <lnTo>\r
- <pt x="x2" y="ly3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="ly3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="ly4" />\r
- </lnTo>\r
- <close />\r
- <moveTo>\r
- <pt x="x3" y="y1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x3" y="ry2" />\r
- </lnTo>\r
- <moveTo>\r
- <pt x="x2" y="y2" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x2" y="ly3" />\r
- </lnTo>\r
- </path>\r
- </pathLst>\r
-\r
- </leftRightRibbon>\r
- <leftRightUpArrow>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 25000" />\r
-\r
- <gd name="adj2" fmla="val 25000" />\r
-\r
- <gd name="adj3" fmla="val 25000" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a2" fmla="pin 0 adj2 50000" />\r
- <gd name="maxAdj1" fmla="*/ a2 2 1" />\r
- <gd name="a1" fmla="pin 0 adj1 maxAdj1" />\r
- <gd name="q1" fmla="+- 100000 0 maxAdj1" />\r
- <gd name="maxAdj3" fmla="*/ q1 1 2" />\r
- <gd name="a3" fmla="pin 0 adj3 maxAdj3" />\r
- <gd name="x1" fmla="*/ ss a3 100000" />\r
- <gd name="dx2" fmla="*/ ss a2 100000" />\r
-\r
- <gd name="x2" fmla="+- hc 0 dx2" />\r
- <gd name="x5" fmla="+- hc dx2 0" />\r
- <gd name="dx3" fmla="*/ ss a1 200000" />\r
-\r
- <gd name="x3" fmla="+- hc 0 dx3" />\r
- <gd name="x4" fmla="+- hc dx3 0" />\r
- <gd name="x6" fmla="+- r 0 x1" />\r
-\r
- <gd name="dy2" fmla="*/ ss a2 50000" />\r
-\r
- <gd name="y2" fmla="+- b 0 dy2" />\r
- <gd name="y4" fmla="+- b 0 dx2" />\r
- <gd name="y3" fmla="+- y4 0 dx3" />\r
- <gd name="y5" fmla="+- y4 dx3 0" />\r
- <gd name="il" fmla="*/ dx3 x1 dx2" />\r
- <gd name="ir" fmla="+- r 0 il" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj1" minX="0" maxX="maxAdj1">\r
- <pos x="x3" y="x1" />\r
- </ahXY>\r
- <ahXY gdRefX="adj2" minX="0" maxX="50000">\r
- <pos x="x2" y="t" />\r
- </ahXY>\r
- <ahXY gdRefY="adj3" minY="0" maxY="maxAdj3">\r
- <pos x="r" y="x1" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="y4" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="y5" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="y4" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="il" t="y3" r="ir" b="y5" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="y4" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x1" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="x1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="x1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="hc" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x5" y="x1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="x1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x6" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x6" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x6" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x6" y="y5" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y5" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </leftRightUpArrow>\r
- <leftUpArrow>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 25000" />\r
-\r
- <gd name="adj2" fmla="val 25000" />\r
-\r
- <gd name="adj3" fmla="val 25000" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a2" fmla="pin 0 adj2 50000" />\r
- <gd name="maxAdj1" fmla="*/ a2 2 1" />\r
- <gd name="a1" fmla="pin 0 adj1 maxAdj1" />\r
- <gd name="maxAdj3" fmla="+- 100000 0 maxAdj1" />\r
- <gd name="a3" fmla="pin 0 adj3 maxAdj3" />\r
- <gd name="x1" fmla="*/ ss a3 100000" />\r
-\r
- <gd name="dx2" fmla="*/ ss a2 50000" />\r
-\r
- <gd name="x2" fmla="+- r 0 dx2" />\r
- <gd name="y2" fmla="+- b 0 dx2" />\r
- <gd name="dx4" fmla="*/ ss a2 100000" />\r
-\r
- <gd name="x4" fmla="+- r 0 dx4" />\r
- <gd name="y4" fmla="+- b 0 dx4" />\r
- <gd name="dx3" fmla="*/ ss a1 200000" />\r
-\r
- <gd name="x3" fmla="+- x4 0 dx3" />\r
- <gd name="x5" fmla="+- x4 dx3 0" />\r
- <gd name="y3" fmla="+- y4 0 dx3" />\r
- <gd name="y5" fmla="+- y4 dx3 0" />\r
- <gd name="il" fmla="*/ dx3 x1 dx4" />\r
- <gd name="cx1" fmla="+/ x1 x5 2" />\r
- <gd name="cy1" fmla="+/ x1 y5 2" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj1" minY="0" maxY="maxAdj1">\r
- <pos x="x3" y="y3" />\r
- </ahXY>\r
- <ahXY gdRefX="adj2" minX="0" maxX="50000">\r
- <pos x="x2" y="t" />\r
- </ahXY>\r
- <ahXY gdRefY="adj3" minY="0" maxY="maxAdj3">\r
- <pos x="x3" y="x1" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="x4" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="x2" y="x1" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="x1" y="y2" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="y4" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x1" y="b" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="cx1" y="y5" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="x5" y="cy1" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="x1" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="il" t="y3" r="x4" b="y5" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="y4" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x1" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="x1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="x1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="x1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x5" y="x1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x5" y="y5" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y5" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </leftUpArrow>\r
- <lightningBolt>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="x1" fmla="*/ w 5022 21600" />\r
- <gd name="x3" fmla="*/ w 8472 21600" />\r
- <gd name="x4" fmla="*/ w 8757 21600" />\r
-\r
- <gd name="x5" fmla="*/ w 10012 21600" />\r
- <gd name="x8" fmla="*/ w 12860 21600" />\r
- <gd name="x9" fmla="*/ w 13917 21600" />\r
-\r
- <gd name="x11" fmla="*/ w 16577 21600" />\r
- <gd name="y1" fmla="*/ h 3890 21600" />\r
- <gd name="y2" fmla="*/ h 6080 21600" />\r
- <gd name="y4" fmla="*/ h 7437 21600" />\r
-\r
- <gd name="y6" fmla="*/ h 9705 21600" />\r
- <gd name="y7" fmla="*/ h 12007 21600" />\r
- <gd name="y10" fmla="*/ h 14277 21600" />\r
-\r
- <gd name="y11" fmla="*/ h 14915 21600" />\r
-\r
- </gdLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="x3" y="t" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="l" y="y1" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="x1" y="y6" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="x5" y="y11" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="r" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="x11" y="y7" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="x8" y="y2" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="x4" t="y4" r="x9" b="y10" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path w="21600" h="21600">\r
- <moveTo>\r
- <pt x="8472" y="0" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="12860" y="6080" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="11050" y="6797" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="16577" y="12007" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="14767" y="12877" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="21600" y="21600" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="10012" y="14915" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="12222" y="13987" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="5022" y="9705" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="7602" y="8382" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="0" y="3890" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </lightningBolt>\r
- <line>\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="cd4">\r
- <pos x="l" y="t" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="r" y="b" />\r
- </cxn>\r
- </cxnLst>\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- </path>\r
- </pathLst>\r
- </line>\r
- <lineInv>\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="cd4">\r
- <pos x="l" y="b" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="r" y="t" />\r
- </cxn>\r
- </cxnLst>\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="b" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- </path>\r
- </pathLst>\r
- </lineInv>\r
- <mathDivide>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 23520" />\r
-\r
- <gd name="adj2" fmla="val 5880" />\r
-\r
- <gd name="adj3" fmla="val 11760" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
-\r
- <gd name="a1" fmla="pin 1000 adj1 36745" />\r
- <gd name="ma1" fmla="+- 0 0 a1" />\r
-\r
- <gd name="ma3h" fmla="+/ 73490 ma1 4" />\r
-\r
- <gd name="ma3w" fmla="*/ 36745 w h" />\r
-\r
- <gd name="maxAdj3" fmla="min ma3h ma3w" />\r
- <gd name="a3" fmla="pin 1000 adj3 maxAdj3" />\r
- <gd name="m4a3" fmla="*/ -4 a3 1" />\r
-\r
- <gd name="maxAdj2" fmla="+- 73490 m4a3 a1" />\r
- <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
-\r
- <gd name="dy1" fmla="*/ h a1 200000" />\r
-\r
- <gd name="yg" fmla="*/ h a2 100000" />\r
-\r
- <gd name="rad" fmla="*/ h a3 100000" />\r
-\r
- <gd name="dx1" fmla="*/ w 73490 200000" />\r
-\r
-\r
- <gd name="y3" fmla="+- vc 0 dy1" />\r
-\r
- <gd name="y4" fmla="+- vc dy1 0" />\r
-\r
- <gd name="a" fmla="+- yg rad 0" />\r
- <gd name="y2" fmla="+- y3 0 a" />\r
-\r
- <gd name="y1" fmla="+- y2 0 rad" />\r
-\r
- <gd name="y5" fmla="+- b 0 y1" />\r
-\r
-\r
- <gd name="x1" fmla="+- hc 0 dx1" />\r
-\r
- <gd name="x3" fmla="+- hc dx1 0" />\r
-\r
- <gd name="x2" fmla="+- hc 0 rad" />\r
-\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj1" minY="1000" maxY="36745">\r
- <pos x="l" y="y3" />\r
- </ahXY>\r
- <ahXY gdRefY="adj2" minY="0" maxY="maxAdj2">\r
- <pos x="r" y="y2" />\r
- </ahXY>\r
- <ahXY gdRefX="adj3" minX="1000" maxX="maxAdj3">\r
- <pos x="x2" y="t" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="x3" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="y5" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="x1" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="y1" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="x1" t="y3" r="x3" b="y4" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="hc" y="y1" />\r
- </moveTo>\r
- <arcTo hR="rad" wR="rad" stAng="3cd4" swAng="21600000" />\r
- <close />\r
- <moveTo>\r
- <pt x="hc" y="y5" />\r
- </moveTo>\r
- <arcTo hR="rad" wR="rad" stAng="cd4" swAng="21600000" />\r
- <close />\r
- <moveTo>\r
- <pt x="x1" y="y3" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x3" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y4" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </mathDivide>\r
- <mathEqual>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 23520" />\r
-\r
- <gd name="adj2" fmla="val 11760" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a1" fmla="pin 0 adj1 36745" />\r
-\r
-\r
- <gd name="2a1" fmla="*/ a1 2 1" />\r
-\r
- <gd name="mAdj2" fmla="+- 100000 0 2a1" />\r
-\r
- <gd name="a2" fmla="pin 0 adj2 mAdj2" />\r
- <gd name="dy1" fmla="*/ h a1 100000" />\r
-\r
- <gd name="dy2" fmla="*/ h a2 200000" />\r
-\r
- <gd name="dx1" fmla="*/ w 73490 200000" />\r
-\r
-\r
- <gd name="y2" fmla="+- vc 0 dy2" />\r
-\r
- <gd name="y3" fmla="+- vc dy2 0" />\r
-\r
- <gd name="y1" fmla="+- y2 0 dy1" />\r
-\r
- <gd name="y4" fmla="+- y3 dy1 0" />\r
-\r
-\r
- <gd name="x1" fmla="+- hc 0 dx1" />\r
-\r
- <gd name="x2" fmla="+- hc dx1 0" />\r
-\r
-\r
-\r
- <gd name="yC1" fmla="+/ y1 y2 2" />\r
-\r
- <gd name="yC2" fmla="+/ y3 y4 2" />\r
-\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj1" minY="0" maxY="36745">\r
- <pos x="l" y="y1" />\r
- </ahXY>\r
-\r
- <ahXY gdRefY="adj2" minY="0" maxY="mAdj2">\r
- <pos x="r" y="y2" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="x2" y="yC1" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="x2" y="yC2" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="y4" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="x1" y="yC1" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="x1" y="yC2" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="y1" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="x1" t="y1" r="x2" b="y4" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="x1" y="y1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x2" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y2" />\r
- </lnTo>\r
- <close />\r
- <moveTo>\r
- <pt x="x1" y="y3" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x2" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y4" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </mathEqual>\r
- <mathMinus>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 23520" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a1" fmla="pin 0 adj1 100000" />\r
- <gd name="dy1" fmla="*/ h a1 200000" />\r
-\r
- <gd name="dx1" fmla="*/ w 73490 200000" />\r
-\r
-\r
- <gd name="y1" fmla="+- vc 0 dy1" />\r
-\r
- <gd name="y2" fmla="+- vc dy1 0" />\r
-\r
-\r
- <gd name="x1" fmla="+- hc 0 dx1" />\r
-\r
- <gd name="x2" fmla="+- hc dx1 0" />\r
-\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj1" minY="0" maxY="100000">\r
- <pos x="l" y="y1" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="x2" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="y2" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="x1" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="y1" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="x1" t="y1" r="x2" b="y2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="x1" y="y1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x2" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y2" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </mathMinus>\r
- <mathMultiply>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 23520" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
-\r
-\r
-\r
-\r
-\r
- <gd name="a1" fmla="pin 0 adj1 51965" />\r
-\r
- <gd name="th" fmla="*/ ss a1 100000" />\r
-\r
-\r
- <gd name="a" fmla="at2 w h" />\r
-\r
- <gd name="sa" fmla="sin 1 a" />\r
- <gd name="ca" fmla="cos 1 a" />\r
- <gd name="ta" fmla="tan 1 a" />\r
-\r
-\r
- <gd name="dl" fmla="mod w h 0" />\r
-\r
- <gd name="rw" fmla="*/ dl 51965 100000" />\r
-\r
-\r
-\r
- <gd name="lM" fmla="+- dl 0 rw" />\r
- <gd name="xM" fmla="*/ ca lM 2" />\r
- <gd name="yM" fmla="*/ sa lM 2" />\r
-\r
-\r
- <gd name="dxAM" fmla="*/ sa th 2" />\r
- <gd name="dyAM" fmla="*/ ca th 2" />\r
- <gd name="xA" fmla="+- xM 0 dxAM" />\r
- <gd name="yA" fmla="+- yM dyAM 0" />\r
-\r
-\r
- <gd name="xB" fmla="+- xM dxAM 0" />\r
- <gd name="yB" fmla="+- yM 0 dyAM" />\r
-\r
-\r
- <gd name="xBC" fmla="+- hc 0 xB" />\r
- <gd name="yBC" fmla="*/ xBC ta 1" />\r
- <gd name="yC" fmla="+- yBC yB 0" />\r
-\r
-\r
- <gd name="xD" fmla="+- r 0 xB" />\r
- <gd name="xE" fmla="+- r 0 xA" />\r
-\r
- <gd name="yFE" fmla="+- vc 0 yA" />\r
- <gd name="xFE" fmla="*/ yFE 1 ta" />\r
- <gd name="xF" fmla="+- xE 0 xFE" />\r
- <gd name="xL" fmla="+- xA xFE 0" />\r
- <gd name="yG" fmla="+- b 0 yA" />\r
- <gd name="yH" fmla="+- b 0 yB" />\r
- <gd name="yI" fmla="+- b 0 yC" />\r
-\r
-\r
- <gd name="xC2" fmla="+- r 0 xM" />\r
-\r
- <gd name="yC3" fmla="+- b 0 yM" />\r
-\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj1" minY="0" maxY="51965">\r
- <pos x="l" y="th" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="cd2">\r
- <pos x="xM" y="yM" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="xC2" y="yM" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="xC2" y="yC3" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="xM" y="yC3" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="xA" t="yB" r="xE" b="yH" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="xA" y="yA" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="xB" y="yB" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="hc" y="yC" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xD" y="yB" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xE" y="yA" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xF" y="vc" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xE" y="yG" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xD" y="yH" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="hc" y="yI" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xB" y="yH" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xA" y="yG" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xL" y="vc" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </mathMultiply>\r
- <mathNotEqual>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 23520" />\r
-\r
- <gd name="adj2" fmla="val 6600000" />\r
-\r
- <gd name="adj3" fmla="val 11760" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a1" fmla="pin 0 adj1 50000" />\r
- <gd name="crAng" fmla="pin 4200000 adj2 6600000" />\r
-\r
-\r
- <gd name="2a1" fmla="*/ a1 2 1" />\r
- <gd name="maxAdj3" fmla="+- 100000 0 2a1" />\r
- <gd name="a3" fmla="pin 0 adj3 maxAdj3" />\r
-\r
- <gd name="dy1" fmla="*/ h a1 100000" />\r
-\r
- <gd name="dy2" fmla="*/ h a3 200000" />\r
-\r
- <gd name="dx1" fmla="*/ w 73490 200000" />\r
-\r
-\r
- <gd name="x1" fmla="+- hc 0 dx1" />\r
-\r
- <gd name="x8" fmla="+- hc dx1 0" />\r
-\r
-\r
-\r
- <gd name="y2" fmla="+- vc 0 dy2" />\r
-\r
- <gd name="y3" fmla="+- vc dy2 0" />\r
-\r
- <gd name="y1" fmla="+- y2 0 dy1" />\r
-\r
- <gd name="y4" fmla="+- y3 dy1 0" />\r
-\r
-\r
- <gd name="cadj2" fmla="+- crAng 0 cd4" />\r
- <gd name="xadj2" fmla="tan hd2 cadj2" />\r
-\r
-\r
-\r
- <gd name="len" fmla="mod xadj2 hd2 0" />\r
-\r
-\r
-\r
- <gd name="bhw" fmla="*/ len dy1 hd2" />\r
-\r
- <gd name="bhw2" fmla="*/ bhw 1 2" />\r
- <gd name="x7" fmla="+- hc xadj2 bhw2" />\r
-\r
- <gd name="dx67" fmla="*/ xadj2 y1 hd2" />\r
- <gd name="x6" fmla="+- x7 0 dx67" />\r
-\r
- <gd name="dx57" fmla="*/ xadj2 y2 hd2" />\r
- <gd name="x5" fmla="+- x7 0 dx57" />\r
-\r
- <gd name="dx47" fmla="*/ xadj2 y3 hd2" />\r
- <gd name="x4" fmla="+- x7 0 dx47" />\r
-\r
- <gd name="dx37" fmla="*/ xadj2 y4 hd2" />\r
- <gd name="x3" fmla="+- x7 0 dx37" />\r
-\r
- <gd name="dx27" fmla="*/ xadj2 2 1" />\r
- <gd name="x2" fmla="+- x7 0 dx27" />\r
-\r
-\r
- <gd name="rx7" fmla="+- x7 bhw 0" />\r
-\r
- <gd name="rx6" fmla="+- x6 bhw 0" />\r
-\r
- <gd name="rx5" fmla="+- x5 bhw 0" />\r
-\r
- <gd name="rx4" fmla="+- x4 bhw 0" />\r
-\r
- <gd name="rx3" fmla="+- x3 bhw 0" />\r
-\r
- <gd name="rx2" fmla="+- x2 bhw 0" />\r
-\r
-\r
-\r
- <gd name="dx7" fmla="*/ dy1 hd2 len" />\r
- <gd name="rxt" fmla="+- x7 dx7 0" />\r
-\r
- <gd name="lxt" fmla="+- rx7 0 dx7" />\r
-\r
- <gd name="rx" fmla="?: cadj2 rxt rx7" />\r
-\r
- <gd name="lx" fmla="?: cadj2 x7 lxt" />\r
-\r
-\r
- <gd name="dy3" fmla="*/ dy1 xadj2 len" />\r
- <gd name="dy4" fmla="+- 0 0 dy3" />\r
- <gd name="ry" fmla="?: cadj2 dy3 t" />\r
-\r
- <gd name="ly" fmla="?: cadj2 t dy4" />\r
-\r
-\r
- <gd name="dlx" fmla="+- w 0 rx" />\r
-\r
- <gd name="drx" fmla="+- w 0 lx" />\r
-\r
-\r
- <gd name="dly" fmla="+- h 0 ry" />\r
-\r
- <gd name="dry" fmla="+- h 0 ly" />\r
-\r
-\r
-\r
- <gd name="xC1" fmla="+/ rx lx 2" />\r
-\r
- <gd name="xC2" fmla="+/ drx dlx 2" />\r
-\r
-\r
- <gd name="yC1" fmla="+/ ry ly 2" />\r
-\r
- <gd name="yC2" fmla="+/ y1 y2 2" />\r
-\r
- <gd name="yC3" fmla="+/ y3 y4 2" />\r
-\r
- <gd name="yC4" fmla="+/ dry dly 2" />\r
-\r
-\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj1" minY="0" maxY="50000">\r
- <pos x="l" y="y1" />\r
- </ahXY>\r
- <ahPolar gdRefAng="adj2" minAng="4200000" maxAng="6600000">\r
- <pos x="lx" y="t" />\r
- </ahPolar>\r
- <ahXY gdRefY="adj3" minY="0" maxY="maxAdj3">\r
- <pos x="r" y="y2" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="x8" y="yC2" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="x8" y="yC3" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="xC2" y="yC4" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="x1" y="yC2" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="x1" y="yC3" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="xC1" y="yC1" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="x1" t="y1" r="x8" b="y4" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="x1" y="y1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x6" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="lx" y="ly" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="rx" y="ry" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="rx6" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x8" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x8" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="rx5" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="rx4" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x8" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x8" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="rx3" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="drx" y="dry" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="dlx" y="dly" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x5" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y2" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </mathNotEqual>\r
- <mathPlus>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 23520" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a1" fmla="pin 0 adj1 73490" />\r
- <gd name="dx1" fmla="*/ w 73490 200000" />\r
-\r
- <gd name="dy1" fmla="*/ h 73490 200000" />\r
-\r
- <gd name="dx2" fmla="*/ ss a1 200000" />\r
-\r
-\r
- <gd name="x1" fmla="+- hc 0 dx1" />\r
-\r
- <gd name="x2" fmla="+- hc 0 dx2" />\r
-\r
- <gd name="x3" fmla="+- hc dx2 0" />\r
-\r
- <gd name="x4" fmla="+- hc dx1 0" />\r
-\r
-\r
- <gd name="y1" fmla="+- vc 0 dy1" />\r
-\r
- <gd name="y2" fmla="+- vc 0 dx2" />\r
-\r
- <gd name="y3" fmla="+- vc dx2 0" />\r
-\r
- <gd name="y4" fmla="+- vc dy1 0" />\r
-\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj1" minY="0" maxY="73490">\r
- <pos x="l" y="y2" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="x4" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="y4" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="x1" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="y1" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="x1" t="y2" r="x4" b="y3" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="x1" y="y2" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x2" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y3" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </mathPlus>\r
- <moon>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj" fmla="val 50000" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a" fmla="pin 0 adj 87500" />\r
- <gd name="g0" fmla="*/ ss a 100000" />\r
- <gd name="g0w" fmla="*/ g0 w ss" />\r
- <gd name="g1" fmla="+- ss 0 g0" />\r
- <gd name="g2" fmla="*/ g0 g0 g1" />\r
- <gd name="g3" fmla="*/ ss ss g1" />\r
- <gd name="g4" fmla="*/ g3 2 1" />\r
- <gd name="g5" fmla="+- g4 0 g2" />\r
- <gd name="g6" fmla="+- g5 0 g0" />\r
- <gd name="g6w" fmla="*/ g6 w ss" />\r
- <gd name="g7" fmla="*/ g5 1 2" />\r
- <gd name="g8" fmla="+- g7 0 g0" />\r
- <gd name="dy1" fmla="*/ g8 hd2 ss" />\r
-\r
- <gd name="g10h" fmla="+- vc 0 dy1" />\r
- <gd name="g11h" fmla="+- vc dy1 0" />\r
- <gd name="g12" fmla="*/ g0 9598 32768" />\r
- <gd name="g12w" fmla="*/ g12 w ss" />\r
- <gd name="g13" fmla="+- ss 0 g12" />\r
- <gd name="q1" fmla="*/ ss ss 1" />\r
- <gd name="q2" fmla="*/ g13 g13 1" />\r
- <gd name="q3" fmla="+- q1 0 q2" />\r
- <gd name="q4" fmla="sqrt q3" />\r
- <gd name="dy4" fmla="*/ q4 hd2 ss" />\r
- <gd name="g15h" fmla="+- vc 0 dy4" />\r
- <gd name="g16h" fmla="+- vc dy4 0" />\r
- <gd name="g17w" fmla="+- g6w 0 g0w" />\r
- <gd name="g18w" fmla="*/ g17w 1 2" />\r
-\r
-\r
- <gd name="dx2p" fmla="+- g0w g18w w" />\r
- <gd name="dx2" fmla="*/ dx2p -1 1" />\r
-\r
- <gd name="dy2" fmla="*/ hd2 -1 1" />\r
-\r
- <gd name="stAng1" fmla="at2 dx2 dy2" />\r
- <gd name="enAngp1" fmla="at2 dx2 hd2" />\r
- <gd name="enAng1" fmla="+- enAngp1 0 21600000" />\r
- <gd name="swAng1" fmla="+- enAng1 0 stAng1" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj" minX="0" maxX="87500">\r
- <pos x="g0w" y="vc" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="r" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="r" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="g0w" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="g12w" t="g15h" r="g0w" b="g16h" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="r" y="b" />\r
- </moveTo>\r
- <arcTo wR="w" hR="hd2" stAng="cd4" swAng="cd2" />\r
- <arcTo wR="g18w" hR="dy1" stAng="stAng1" swAng="swAng1" />\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </moon>\r
- <nonIsoscelesTrapezoid>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 25000" />\r
-\r
- <gd name="adj2" fmla="val 25000" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="maxAdj" fmla="*/ 50000 w ss" />\r
-\r
- <gd name="a1" fmla="pin 0 adj1 maxAdj" />\r
- <gd name="a2" fmla="pin 0 adj2 maxAdj" />\r
- <gd name="x1" fmla="*/ ss a1 200000" />\r
-\r
- <gd name="x2" fmla="*/ ss a1 100000" />\r
-\r
- <gd name="dx3" fmla="*/ ss a2 100000" />\r
-\r
- <gd name="x3" fmla="+- r 0 dx3" />\r
- <gd name="x4" fmla="+/ r x3 2" />\r
- <gd name="il" fmla="*/ wd3 a1 maxAdj" />\r
-\r
- <gd name="adjm" fmla="max a1 a2" />\r
- <gd name="it" fmla="*/ hd3 adjm maxAdj" />\r
-\r
- <gd name="irt" fmla="*/ wd3 a2 maxAdj" />\r
- <gd name="ir" fmla="+- r 0 irt" />\r
-\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj1" minX="0" maxX="maxAdj">\r
- <pos x="x2" y="t" />\r
- </ahXY>\r
- <ahXY gdRefX="adj2" minX="0" maxX="maxAdj">\r
- <pos x="x3" y="t" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="x4" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="x1" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- </cxnLst>\r
-\r
-\r
- <rect l="il" t="it" r="ir" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="b" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x2" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </nonIsoscelesTrapezoid>\r
- <noSmoking>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj" fmla="val 18750" />\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a" fmla="pin 0 adj 50000" />\r
- <gd name="dr" fmla="*/ ss a 100000" />\r
- <gd name="iwd2" fmla="+- wd2 0 dr" />\r
- <gd name="ihd2" fmla="+- hd2 0 dr" />\r
- <gd name="ang" fmla="at2 w h" />\r
- <gd name="ct" fmla="cos ihd2 ang" />\r
- <gd name="st" fmla="sin iwd2 ang" />\r
- <gd name="m" fmla="mod ct st 0" />\r
- <gd name="n" fmla="*/ iwd2 ihd2 m" />\r
- <gd name="drd2" fmla="*/ dr 1 2" />\r
- <gd name="dang" fmla="at2 n drd2" />\r
- <gd name="2dang" fmla="*/ dang 2 1" />\r
- <gd name="swAng" fmla="+- -10800000 2dang 0" />\r
- <gd name="t3" fmla="at2 w h" />\r
- <gd name="stAng1" fmla="+- t3 0 dang" />\r
- <gd name="stAng2" fmla="+- stAng1 0 cd2" />\r
- <gd name="ct1" fmla="cos ihd2 stAng1" />\r
- <gd name="st1" fmla="sin iwd2 stAng1" />\r
- <gd name="m1" fmla="mod ct1 st1 0" />\r
- <gd name="n1" fmla="*/ iwd2 ihd2 m1" />\r
- <gd name="dx1" fmla="cos n1 stAng1" />\r
- <gd name="dy1" fmla="sin n1 stAng1" />\r
- <gd name="x1" fmla="+- hc dx1 0" />\r
- <gd name="y1" fmla="+- vc dy1 0" />\r
- <gd name="x2" fmla="+- hc 0 dx1" />\r
- <gd name="y2" fmla="+- vc 0 dy1" />\r
- <gd name="idx" fmla="cos wd2 2700000" />\r
- <gd name="idy" fmla="sin hd2 2700000" />\r
- <gd name="il" fmla="+- hc 0 idx" />\r
- <gd name="ir" fmla="+- hc idx 0" />\r
- <gd name="it" fmla="+- vc 0 idy" />\r
- <gd name="ib" fmla="+- vc idy 0" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahPolar gdRefR="adj" minR="0" maxR="50000">\r
- <pos x="dr" y="vc" />\r
- </ahPolar>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="il" y="it" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="il" y="ib" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="ir" y="ib" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="ir" y="it" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="vc" />\r
- </moveTo>\r
- <arcTo wR="wd2" hR="hd2" stAng="cd2" swAng="cd4" />\r
- <arcTo wR="wd2" hR="hd2" stAng="3cd4" swAng="cd4" />\r
- <arcTo wR="wd2" hR="hd2" stAng="0" swAng="cd4" />\r
- <arcTo wR="wd2" hR="hd2" stAng="cd4" swAng="cd4" />\r
- <close />\r
- <moveTo>\r
- <pt x="x1" y="y1" />\r
- </moveTo>\r
- <arcTo wR="iwd2" hR="ihd2" stAng="stAng1" swAng="swAng" />\r
- <close />\r
- <moveTo>\r
- <pt x="x2" y="y2" />\r
- </moveTo>\r
- <arcTo wR="iwd2" hR="ihd2" stAng="stAng2" swAng="swAng" />\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </noSmoking>\r
- <notchedRightArrow>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 50000" />\r
-\r
- <gd name="adj2" fmla="val 50000" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="maxAdj2" fmla="*/ 100000 w ss" />\r
-\r
- <gd name="a1" fmla="pin 0 adj1 100000" />\r
- <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
- <gd name="dx2" fmla="*/ ss a2 100000" />\r
- <gd name="x2" fmla="+- r 0 dx2" />\r
- <gd name="dy1" fmla="*/ h a1 200000" />\r
- <gd name="y1" fmla="+- vc 0 dy1" />\r
- <gd name="y2" fmla="+- vc dy1 0" />\r
- <gd name="x1" fmla="*/ dy1 dx2 hd2" />\r
- <gd name="x3" fmla="+- r 0 x1" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj1" minY="0" maxY="100000">\r
- <pos x="r" y="y1" />\r
- </ahXY>\r
- <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">\r
- <pos x="x2" y="t" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="x2" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="x1" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x2" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="x1" t="y1" r="x3" b="y2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="y1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x2" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="vc" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="vc" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </notchedRightArrow>\r
- <octagon>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj" fmla="val 29289" />\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a" fmla="pin 0 adj 50000" />\r
- <gd name="x1" fmla="*/ ss a 100000" />\r
- <gd name="x2" fmla="+- r 0 x1" />\r
- <gd name="y2" fmla="+- b 0 x1" />\r
- <gd name="il" fmla="*/ x1 1 2" />\r
- <gd name="ir" fmla="+- r 0 il" />\r
- <gd name="ib" fmla="+- b 0 il" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj" minX="0" maxX="50000">\r
- <pos x="x1" y="t" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="r" y="x1" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="y2" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x2" y="b" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x1" y="b" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="y2" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="x1" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="x1" y="t" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="x2" y="t" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="il" t="il" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="x1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x1" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="x1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="y2" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </octagon>\r
- <parallelogram>\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj" fmla="val 25000" />\r
- </avLst>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="maxAdj" fmla="*/ 100000 w ss" />\r
- <gd name="a" fmla="pin 0 adj maxAdj" />\r
- <gd name="x1" fmla="*/ ss a 200000" />\r
- <gd name="x2" fmla="*/ ss a 100000" />\r
- <gd name="x6" fmla="+- r 0 x1" />\r
- <gd name="x5" fmla="+- r 0 x2" />\r
- <gd name="x3" fmla="*/ x5 1 2" />\r
- <gd name="x4" fmla="+- r 0 x3" />\r
- <gd name="il" fmla="*/ wd2 a maxAdj" />\r
- <gd name="q1" fmla="*/ 5 a maxAdj" />\r
- <gd name="q2" fmla="+/ 1 q1 12" />\r
- <gd name="il" fmla="*/ q2 w 1" />\r
- <gd name="it" fmla="*/ q2 h 1" />\r
- <gd name="ir" fmla="+- r 0 il" />\r
- <gd name="ib" fmla="+- b 0 it" />\r
- <gd name="q3" fmla="*/ h hc x2" />\r
- <gd name="y1" fmla="pin 0 q3 h" />\r
- <gd name="y2" fmla="+- b 0 y1" />\r
- </gdLst>\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj" minX="0" maxX="maxAdj">\r
- <pos x="x2" y="t" />\r
- </ahXY>\r
- </ahLst>\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="y2" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="x4" y="t" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="x6" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x3" y="b" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="y1" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="x1" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
- <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="b" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x2" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x5" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
- </parallelogram>\r
- <pentagon>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="hf" fmla="val 105146" />\r
- <gd name="vf" fmla="val 110557" />\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="swd2" fmla="*/ wd2 hf 100000" />\r
- <gd name="shd2" fmla="*/ hd2 vf 100000" />\r
- <gd name="svc" fmla="*/ vc vf 100000" />\r
- <gd name="dx1" fmla="cos swd2 1080000" />\r
- <gd name="dx2" fmla="cos swd2 18360000" />\r
- <gd name="dy1" fmla="sin shd2 1080000" />\r
- <gd name="dy2" fmla="sin shd2 18360000" />\r
- <gd name="x1" fmla="+- hc 0 dx1" />\r
- <gd name="x2" fmla="+- hc 0 dx2" />\r
- <gd name="x3" fmla="+- hc dx2 0" />\r
- <gd name="x4" fmla="+- hc dx1 0" />\r
- <gd name="y1" fmla="+- svc 0 dy1" />\r
- <gd name="y2" fmla="+- svc 0 dy2" />\r
- <gd name="it" fmla="*/ y1 dx2 dx1" />\r
- </gdLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="x1" y="y1" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x2" y="y2" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x3" y="y2" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="x4" y="y1" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="x2" t="it" r="x3" b="y2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="x1" y="y1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="hc" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y2" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </pentagon>\r
- <pie>\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 0" />\r
- <gd name="adj2" fmla="val 16200000" />\r
- </avLst>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="stAng" fmla="pin 0 adj1 21599999" />\r
- <gd name="enAng" fmla="pin 0 adj2 21599999" />\r
- <gd name="sw1" fmla="+- enAng 0 stAng" />\r
- <gd name="sw2" fmla="+- sw1 21600000 0" />\r
- <gd name="swAng" fmla="?: sw1 sw1 sw2" />\r
- <gd name="wt1" fmla="sin wd2 stAng" />\r
- <gd name="ht1" fmla="cos hd2 stAng" />\r
- <gd name="dx1" fmla="cat2 wd2 ht1 wt1" />\r
- <gd name="dy1" fmla="sat2 hd2 ht1 wt1" />\r
- <gd name="x1" fmla="+- hc dx1 0" />\r
- <gd name="y1" fmla="+- vc dy1 0" />\r
- <gd name="wt2" fmla="sin wd2 enAng" />\r
- <gd name="ht2" fmla="cos hd2 enAng" />\r
- <gd name="dx2" fmla="cat2 wd2 ht2 wt2" />\r
- <gd name="dy2" fmla="sat2 hd2 ht2 wt2" />\r
- <gd name="x2" fmla="+- hc dx2 0" />\r
- <gd name="y2" fmla="+- vc dy2 0" />\r
- <gd name="idx" fmla="cos wd2 2700000" />\r
- <gd name="idy" fmla="sin hd2 2700000" />\r
- <gd name="il" fmla="+- hc 0 idx" />\r
- <gd name="ir" fmla="+- hc idx 0" />\r
- <gd name="it" fmla="+- vc 0 idy" />\r
- <gd name="ib" fmla="+- vc idy 0" />\r
- </gdLst>\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahPolar gdRefAng="adj1" minAng="0" maxAng="21599999">\r
- <pos x="x1" y="y1" />\r
- </ahPolar>\r
- <ahPolar gdRefAng="adj2" minAng="0" maxAng="21599999">\r
- <pos x="x2" y="y2" />\r
- </ahPolar>\r
- </ahLst>\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- </cxnLst>\r
- <rect l="il" t="ir" r="it" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="x1" y="y1" />\r
- </moveTo>\r
- <arcTo wR="wd2" hR="hd2" stAng="stAng" swAng="swAng" />\r
- <lnTo>\r
- <pt x="hc" y="vc" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
- </pie>\r
- <pieWedge>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="g1" fmla="cos w 13500000" />\r
- <gd name="g2" fmla="sin h 13500000" />\r
- <gd name="x1" fmla="+- r g1 0" />\r
- <gd name="y1" fmla="+- b g2 0" />\r
- </gdLst>\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- </cxnLst>\r
- <rect l="x1" t="y1" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="b" />\r
- </moveTo>\r
- <arcTo wR="w" hR="h" stAng="cd2" swAng="cd4" />\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
- </pieWedge>\r
- <plaque>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj" fmla="val 16667" />\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a" fmla="pin 0 adj 50000" />\r
- <gd name="x1" fmla="*/ ss a 100000" />\r
- <gd name="x2" fmla="+- r 0 x1" />\r
-\r
- <gd name="y2" fmla="+- b 0 x1" />\r
- <gd name="il" fmla="*/ x1 70711 100000" />\r
-\r
- <gd name="ir" fmla="+- r 0 il" />\r
- <gd name="ib" fmla="+- b 0 il" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj" minX="0" maxX="50000">\r
- <pos x="x1" y="t" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="il" t="il" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="x1" />\r
- </moveTo>\r
- <arcTo wR="x1" hR="x1" stAng="cd4" swAng="-5400000" />\r
- <lnTo>\r
- <pt x="x2" y="t" />\r
- </lnTo>\r
- <arcTo wR="x1" hR="x1" stAng="cd2" swAng="-5400000" />\r
- <lnTo>\r
- <pt x="r" y="y2" />\r
- </lnTo>\r
- <arcTo wR="x1" hR="x1" stAng="3cd4" swAng="-5400000" />\r
- <lnTo>\r
- <pt x="x1" y="b" />\r
- </lnTo>\r
- <arcTo wR="x1" hR="x1" stAng="0" swAng="-5400000" />\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </plaque>\r
- <plaqueTabs>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="md" fmla="mod w h 0" />\r
- <gd name="dx" fmla="*/ 1 md 20" />\r
-\r
- <gd name="y1" fmla="+- 0 b dx" />\r
-\r
- <gd name="x1" fmla="+- 0 r dx" />\r
-\r
- </gdLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="cd2">\r
- <pos x="l" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="dx" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="y1" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="b" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="dx" y="t" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="x1" y="t" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="dx" y="b" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x1" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="t" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="dx" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="y1" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="b" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="dx" t="dx" r="x1" b="y1" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="dx" y="t" />\r
- </lnTo>\r
- <arcTo wR="dx" hR="dx" stAng="0" swAng="cd4" />\r
- <close />\r
- </path>\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="y1" />\r
- </moveTo>\r
- <arcTo wR="dx" hR="dx" stAng="3cd4" swAng="cd4" />\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path>\r
- <moveTo>\r
- <pt x="r" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="r" y="dx" />\r
- </lnTo>\r
- <arcTo wR="dx" hR="dx" stAng="cd4" swAng="cd4" />\r
- <close />\r
- </path>\r
- <path>\r
- <moveTo>\r
- <pt x="x1" y="b" />\r
- </moveTo>\r
- <arcTo wR="dx" hR="dx" stAng="cd2" swAng="cd4" />\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </plaqueTabs>\r
- <plus>\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj" fmla="val 25000" />\r
- </avLst>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a" fmla="pin 0 adj 50000" />\r
- <gd name="x1" fmla="*/ ss a 100000" />\r
- <gd name="x2" fmla="+- r 0 x1" />\r
- <gd name="y2" fmla="+- b 0 x1" />\r
- <gd name="d" fmla="+- w 0 h" />\r
- <gd name="il" fmla="?: d l x1" />\r
- <gd name="ir" fmla="?: d r x2" />\r
- <gd name="it" fmla="?: d x1 t" />\r
- <gd name="ib" fmla="?: d y2 b" />\r
- </gdLst>\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj" minX="0" maxX="50000">\r
- <pos x="x1" y="t" />\r
- </ahXY>\r
- </ahLst>\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
- <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="x1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x1" y="x1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="x1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="x1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="y2" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
- </plus>\r
- <quadArrow>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 22500" />\r
-\r
- <gd name="adj2" fmla="val 22500" />\r
-\r
- <gd name="adj3" fmla="val 22500" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a2" fmla="pin 0 adj2 50000" />\r
- <gd name="maxAdj1" fmla="*/ a2 2 1" />\r
- <gd name="a1" fmla="pin 0 adj1 maxAdj1" />\r
- <gd name="q1" fmla="+- 100000 0 maxAdj1" />\r
- <gd name="maxAdj3" fmla="*/ q1 1 2" />\r
- <gd name="a3" fmla="pin 0 adj3 maxAdj3" />\r
- <gd name="x1" fmla="*/ ss a3 100000" />\r
- <gd name="dx2" fmla="*/ ss a2 100000" />\r
-\r
- <gd name="x2" fmla="+- hc 0 dx2" />\r
- <gd name="x5" fmla="+- hc dx2 0" />\r
- <gd name="dx3" fmla="*/ ss a1 200000" />\r
-\r
- <gd name="x3" fmla="+- hc 0 dx3" />\r
- <gd name="x4" fmla="+- hc dx3 0" />\r
- <gd name="x6" fmla="+- r 0 x1" />\r
-\r
- <gd name="y2" fmla="+- vc 0 dx2" />\r
- <gd name="y5" fmla="+- vc dx2 0" />\r
- <gd name="y3" fmla="+- vc 0 dx3" />\r
- <gd name="y4" fmla="+- vc dx3 0" />\r
- <gd name="y6" fmla="+- b 0 x1" />\r
- <gd name="il" fmla="*/ dx3 x1 dx2" />\r
- <gd name="ir" fmla="+- r 0 il" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj1" minX="0" maxX="maxAdj1">\r
- <pos x="x3" y="x1" />\r
- </ahXY>\r
- <ahXY gdRefX="adj2" minX="0" maxX="50000">\r
- <pos x="x2" y="t" />\r
- </ahXY>\r
- <ahXY gdRefY="adj3" minY="0" maxY="maxAdj3">\r
- <pos x="r" y="x1" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="il" t="y3" r="ir" b="y4" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="vc" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x1" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="x1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="x1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="hc" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x5" y="x1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="x1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x6" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x6" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="vc" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x6" y="y5" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x6" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y6" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x5" y="y6" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="hc" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y6" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y6" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y5" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </quadArrow>\r
- <quadArrowCallout>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 18515" />\r
-\r
- <gd name="adj2" fmla="val 18515" />\r
-\r
- <gd name="adj3" fmla="val 18515" />\r
-\r
- <gd name="adj4" fmla="val 48123" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a2" fmla="pin 0 adj2 50000" />\r
- <gd name="maxAdj1" fmla="*/ a2 2 1" />\r
-\r
- <gd name="a1" fmla="pin 0 adj1 maxAdj1" />\r
- <gd name="maxAdj3" fmla="+- 50000 0 a2" />\r
- <gd name="a3" fmla="pin 0 adj3 maxAdj3" />\r
- <gd name="q2" fmla="*/ a3 2 1" />\r
-\r
- <gd name="maxAdj4" fmla="+- 100000 0 q2" />\r
-\r
- <gd name="a4" fmla="pin a1 adj4 maxAdj4" />\r
- <gd name="dx2" fmla="*/ ss a2 100000" />\r
-\r
- <gd name="dx3" fmla="*/ ss a1 200000" />\r
-\r
- <gd name="ah" fmla="*/ ss a3 100000" />\r
-\r
- <gd name="dx1" fmla="*/ w a4 200000" />\r
-\r
- <gd name="dy1" fmla="*/ h a4 200000" />\r
-\r
-\r
- <gd name="x8" fmla="+- r 0 ah" />\r
- <gd name="x2" fmla="+- hc 0 dx1" />\r
- <gd name="x7" fmla="+- hc dx1 0" />\r
- <gd name="x3" fmla="+- hc 0 dx2" />\r
- <gd name="x6" fmla="+- hc dx2 0" />\r
- <gd name="x4" fmla="+- hc 0 dx3" />\r
- <gd name="x5" fmla="+- hc dx3 0" />\r
-\r
- <gd name="y8" fmla="+- b 0 ah" />\r
- <gd name="y2" fmla="+- vc 0 dy1" />\r
- <gd name="y7" fmla="+- vc dy1 0" />\r
- <gd name="y3" fmla="+- vc 0 dx2" />\r
- <gd name="y6" fmla="+- vc dx2 0" />\r
- <gd name="y4" fmla="+- vc 0 dx3" />\r
- <gd name="y5" fmla="+- vc dx3 0" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj1" minX="0" maxX="maxAdj1">\r
- <pos x="x4" y="ah" />\r
- </ahXY>\r
- <ahXY gdRefX="adj2" minX="0" maxX="50000">\r
- <pos x="x3" y="t" />\r
- </ahXY>\r
- <ahXY gdRefY="adj3" minY="0" maxY="maxAdj3">\r
- <pos x="r" y="ah" />\r
- </ahXY>\r
- <ahXY gdRefY="adj4" minY="a1" maxY="maxAdj4">\r
- <pos x="l" y="y2" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="x2" t="y2" r="x7" b="y7" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="vc" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="ah" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="ah" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="ah" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="ah" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="hc" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x6" y="ah" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x5" y="ah" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x5" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x7" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x7" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x8" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x8" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="vc" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x8" y="y6" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x8" y="y5" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x7" y="y5" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x7" y="y7" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x5" y="y7" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x5" y="y8" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x6" y="y8" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="hc" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y8" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y8" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y7" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y7" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y5" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="ah" y="y5" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="ah" y="y6" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </quadArrowCallout>\r
- <rect>\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
- </rect>\r
- <ribbon>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 16667" />\r
-\r
- <gd name="adj2" fmla="val 50000" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a1" fmla="pin 0 adj1 33333" />\r
- <gd name="a2" fmla="pin 25000 adj2 75000" />\r
-\r
-\r
- <gd name="x10" fmla="+- r 0 wd8" />\r
-\r
- <gd name="dx2" fmla="*/ w a2 200000" />\r
-\r
- <gd name="x2" fmla="+- hc 0 dx2" />\r
-\r
- <gd name="x9" fmla="+- hc dx2 0" />\r
-\r
- <gd name="x3" fmla="+- x2 wd32 0" />\r
- <gd name="x8" fmla="+- x9 0 wd32" />\r
- <gd name="x5" fmla="+- x2 wd8 0" />\r
-\r
- <gd name="x6" fmla="+- x9 0 wd8" />\r
-\r
- <gd name="x4" fmla="+- x5 0 wd32" />\r
- <gd name="x7" fmla="+- x6 wd32 0" />\r
- <gd name="y1" fmla="*/ h a1 200000" />\r
-\r
- <gd name="y2" fmla="*/ h a1 100000" />\r
-\r
- <gd name="y4" fmla="+- b 0 y2" />\r
-\r
- <gd name="y3" fmla="*/ y4 1 2" />\r
-\r
- <gd name="hR" fmla="*/ h a1 400000" />\r
-\r
- <gd name="y5" fmla="+- b 0 hR" />\r
- <gd name="y6" fmla="+- y2 0 hR" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj1" minY="0" maxY="33333">\r
- <pos x="hc" y="y2" />\r
- </ahXY>\r
- <ahXY gdRefX="adj2" minX="25000" maxX="75000">\r
- <pos x="x2" y="t" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="y2" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="wd8" y="y3" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="x10" y="y3" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="x2" t="y2" r="x9" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path stroke="false" extrusionOk="false">\r
-\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x4" y="t" />\r
- </lnTo>\r
- <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="cd2" />\r
- <lnTo>\r
- <pt x="x3" y="y1" />\r
- </lnTo>\r
- <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="-10800000" />\r
- <lnTo>\r
- <pt x="x8" y="y2" />\r
- </lnTo>\r
- <arcTo wR="wd32" hR="hR" stAng="cd4" swAng="-10800000" />\r
- <lnTo>\r
- <pt x="x7" y="y1" />\r
- </lnTo>\r
- <arcTo wR="wd32" hR="hR" stAng="cd4" swAng="cd2" />\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x10" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x9" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x9" y="y5" />\r
- </lnTo>\r
- <arcTo wR="wd32" hR="hR" stAng="0" swAng="cd4" />\r
- <lnTo>\r
- <pt x="x3" y="b" />\r
- </lnTo>\r
- <arcTo wR="wd32" hR="hR" stAng="cd4" swAng="cd4" />\r
- <lnTo>\r
- <pt x="x2" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="wd8" y="y3" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path stroke="false" fill="darkenLess" extrusionOk="false">\r
-\r
- <moveTo>\r
- <pt x="x5" y="hR" />\r
- </moveTo>\r
- <arcTo wR="wd32" hR="hR" stAng="0" swAng="cd4" />\r
- <lnTo>\r
- <pt x="x3" y="y1" />\r
- </lnTo>\r
- <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="-10800000" />\r
- <lnTo>\r
- <pt x="x5" y="y2" />\r
- </lnTo>\r
- <close />\r
- <moveTo>\r
- <pt x="x6" y="hR" />\r
- </moveTo>\r
- <arcTo wR="wd32" hR="hR" stAng="cd2" swAng="-5400000" />\r
- <lnTo>\r
- <pt x="x8" y="y1" />\r
- </lnTo>\r
- <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="cd2" />\r
- <lnTo>\r
- <pt x="x6" y="y2" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path fill="none" extrusionOk="false">\r
-\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x4" y="t" />\r
- </lnTo>\r
- <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="cd2" />\r
- <lnTo>\r
- <pt x="x3" y="y1" />\r
- </lnTo>\r
- <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="-10800000" />\r
- <lnTo>\r
- <pt x="x8" y="y2" />\r
- </lnTo>\r
- <arcTo wR="wd32" hR="hR" stAng="cd4" swAng="-10800000" />\r
- <lnTo>\r
- <pt x="x7" y="y1" />\r
- </lnTo>\r
- <arcTo wR="wd32" hR="hR" stAng="cd4" swAng="cd2" />\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x10" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x9" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x9" y="y5" />\r
- </lnTo>\r
- <arcTo wR="wd32" hR="hR" stAng="0" swAng="cd4" />\r
- <lnTo>\r
- <pt x="x3" y="b" />\r
- </lnTo>\r
- <arcTo wR="wd32" hR="hR" stAng="cd4" swAng="cd4" />\r
- <lnTo>\r
- <pt x="x2" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="wd8" y="y3" />\r
- </lnTo>\r
- <close />\r
- <moveTo>\r
- <pt x="x5" y="hR" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x5" y="y2" />\r
- </lnTo>\r
- <moveTo>\r
- <pt x="x6" y="y2" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x6" y="hR" />\r
- </lnTo>\r
- <moveTo>\r
- <pt x="x2" y="y4" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x2" y="y6" />\r
- </lnTo>\r
- <moveTo>\r
- <pt x="x9" y="y6" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x9" y="y4" />\r
- </lnTo>\r
- </path>\r
- </pathLst>\r
-\r
- </ribbon>\r
- <ribbon2>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 16667" />\r
-\r
- <gd name="adj2" fmla="val 50000" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a1" fmla="pin 0 adj1 33333" />\r
- <gd name="a2" fmla="pin 25000 adj2 75000" />\r
-\r
-\r
- <gd name="x10" fmla="+- r 0 wd8" />\r
-\r
- <gd name="dx2" fmla="*/ w a2 200000" />\r
-\r
- <gd name="x2" fmla="+- hc 0 dx2" />\r
-\r
- <gd name="x9" fmla="+- hc dx2 0" />\r
-\r
- <gd name="x3" fmla="+- x2 wd32 0" />\r
- <gd name="x8" fmla="+- x9 0 wd32" />\r
- <gd name="x5" fmla="+- x2 wd8 0" />\r
-\r
- <gd name="x6" fmla="+- x9 0 wd8" />\r
-\r
- <gd name="x4" fmla="+- x5 0 wd32" />\r
- <gd name="x7" fmla="+- x6 wd32 0" />\r
- <gd name="dy1" fmla="*/ h a1 200000" />\r
-\r
- <gd name="y1" fmla="+- b 0 dy1" />\r
- <gd name="dy2" fmla="*/ h a1 100000" />\r
-\r
- <gd name="y2" fmla="+- b 0 dy2" />\r
- <gd name="y4" fmla="+- t dy2 0" />\r
-\r
- <gd name="y3" fmla="+/ y4 b 2" />\r
-\r
- <gd name="hR" fmla="*/ h a1 400000" />\r
-\r
-\r
- <gd name="y6" fmla="+- b 0 hR" />\r
- <gd name="y7" fmla="+- y1 0 hR" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj1" minY="0" maxY="33333">\r
- <pos x="hc" y="y2" />\r
- </ahXY>\r
- <ahXY gdRefX="adj2" minX="25000" maxX="75000">\r
- <pos x="x2" y="b" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="wd8" y="y3" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="y2" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="x10" y="y3" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="x2" t="t" r="x9" b="y2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path stroke="false" extrusionOk="false">\r
-\r
- <moveTo>\r
- <pt x="l" y="b" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x4" y="b" />\r
- </lnTo>\r
- <arcTo wR="wd32" hR="hR" stAng="cd4" swAng="-10800000" />\r
- <lnTo>\r
- <pt x="x3" y="y1" />\r
- </lnTo>\r
- <arcTo wR="wd32" hR="hR" stAng="cd4" swAng="cd2" />\r
- <lnTo>\r
- <pt x="x8" y="y2" />\r
- </lnTo>\r
- <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="cd2" />\r
- <lnTo>\r
- <pt x="x7" y="y1" />\r
- </lnTo>\r
- <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="-10800000" />\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x10" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x9" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x9" y="hR" />\r
- </lnTo>\r
- <arcTo wR="wd32" hR="hR" stAng="0" swAng="-5400000" />\r
- <lnTo>\r
- <pt x="x3" y="t" />\r
- </lnTo>\r
- <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="-5400000" />\r
- <lnTo>\r
- <pt x="x2" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="wd8" y="y3" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path stroke="false" fill="darkenLess" extrusionOk="false">\r
-\r
- <moveTo>\r
- <pt x="x5" y="y6" />\r
- </moveTo>\r
- <arcTo wR="wd32" hR="hR" stAng="0" swAng="-5400000" />\r
- <lnTo>\r
- <pt x="x3" y="y1" />\r
- </lnTo>\r
- <arcTo wR="wd32" hR="hR" stAng="cd4" swAng="cd2" />\r
- <lnTo>\r
- <pt x="x5" y="y2" />\r
- </lnTo>\r
- <close />\r
- <moveTo>\r
- <pt x="x6" y="y6" />\r
- </moveTo>\r
- <arcTo wR="wd32" hR="hR" stAng="cd2" swAng="cd4" />\r
- <lnTo>\r
- <pt x="x8" y="y1" />\r
- </lnTo>\r
- <arcTo wR="wd32" hR="hR" stAng="cd4" swAng="-10800000" />\r
- <lnTo>\r
- <pt x="x6" y="y2" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path fill="none" extrusionOk="false">\r
-\r
- <moveTo>\r
- <pt x="l" y="b" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="wd8" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="hR" />\r
- </lnTo>\r
- <arcTo wR="wd32" hR="hR" stAng="cd2" swAng="cd4" />\r
- <lnTo>\r
- <pt x="x8" y="t" />\r
- </lnTo>\r
- <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="cd4" />\r
- <lnTo>\r
- <pt x="x9" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x9" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x10" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x7" y="b" />\r
- </lnTo>\r
- <arcTo wR="wd32" hR="hR" stAng="cd4" swAng="cd2" />\r
- <lnTo>\r
- <pt x="x8" y="y1" />\r
- </lnTo>\r
- <arcTo wR="wd32" hR="hR" stAng="cd4" swAng="-10800000" />\r
- <lnTo>\r
- <pt x="x3" y="y2" />\r
- </lnTo>\r
- <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="-10800000" />\r
- <lnTo>\r
- <pt x="x4" y="y1" />\r
- </lnTo>\r
- <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="cd2" />\r
- <close />\r
- <moveTo>\r
- <pt x="x5" y="y2" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x5" y="y6" />\r
- </lnTo>\r
- <moveTo>\r
- <pt x="x6" y="y6" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x6" y="y2" />\r
- </lnTo>\r
- <moveTo>\r
- <pt x="x2" y="y7" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x2" y="y4" />\r
- </lnTo>\r
- <moveTo>\r
- <pt x="x9" y="y4" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x9" y="y7" />\r
- </lnTo>\r
- </path>\r
- </pathLst>\r
-\r
- </ribbon2>\r
- <rightArrow>\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 50000" />\r
- <gd name="adj2" fmla="val 50000" />\r
- </avLst>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="maxAdj2" fmla="*/ 100000 w ss" />\r
- <gd name="a1" fmla="pin 0 adj1 100000" />\r
- <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
- <gd name="dx1" fmla="*/ ss a2 100000" />\r
- <gd name="x1" fmla="+- r 0 dx1" />\r
- <gd name="dy1" fmla="*/ h a1 200000" />\r
- <gd name="y1" fmla="+- vc 0 dy1" />\r
- <gd name="y2" fmla="+- vc dy1 0" />\r
- <gd name="dx2" fmla="*/ y1 dx1 hd2" />\r
- <gd name="x2" fmla="+- x1 dx2 0" />\r
- </gdLst>\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj1" minY="0" maxY="100000">\r
- <pos x="l" y="y1" />\r
- </ahXY>\r
- <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">\r
- <pos x="x1" y="t" />\r
- </ahXY>\r
- </ahLst>\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="x1" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x1" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
- <rect l="l" t="y1" r="x2" b="y2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="y1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x1" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="vc" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="y2" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
- </rightArrow>\r
- <rightArrowCallout>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 25000" />\r
-\r
- <gd name="adj2" fmla="val 25000" />\r
-\r
- <gd name="adj3" fmla="val 25000" />\r
-\r
- <gd name="adj4" fmla="val 64977" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="maxAdj2" fmla="*/ 50000 h ss" />\r
-\r
- <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
- <gd name="maxAdj1" fmla="*/ a2 2 1" />\r
-\r
- <gd name="a1" fmla="pin 0 adj1 maxAdj1" />\r
- <gd name="maxAdj3" fmla="*/ 100000 w ss" />\r
-\r
- <gd name="a3" fmla="pin 0 adj3 maxAdj3" />\r
- <gd name="q2" fmla="*/ a3 ss w" />\r
-\r
- <gd name="maxAdj4" fmla="+- 100000 0 q2" />\r
-\r
- <gd name="a4" fmla="pin 0 adj4 maxAdj4" />\r
- <gd name="dy1" fmla="*/ ss a2 100000" />\r
-\r
- <gd name="dy2" fmla="*/ ss a1 200000" />\r
-\r
- <gd name="y1" fmla="+- vc 0 dy1" />\r
- <gd name="y2" fmla="+- vc 0 dy2" />\r
- <gd name="y3" fmla="+- vc dy2 0" />\r
- <gd name="y4" fmla="+- vc dy1 0" />\r
- <gd name="dx3" fmla="*/ ss a3 100000" />\r
-\r
- <gd name="x3" fmla="+- r 0 dx3" />\r
- <gd name="x2" fmla="*/ w a4 100000" />\r
-\r
- <gd name="x1" fmla="*/ x2 1 2" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj1" minY="0" maxY="maxAdj1">\r
- <pos x="x3" y="y2" />\r
- </ahXY>\r
- <ahXY gdRefY="adj2" minY="0" maxY="maxAdj2">\r
- <pos x="r" y="y1" />\r
- </ahXY>\r
- <ahXY gdRefX="adj3" minX="0" maxX="maxAdj3">\r
- <pos x="x3" y="t" />\r
- </ahXY>\r
- <ahXY gdRefX="adj4" minX="0" maxX="maxAdj4">\r
- <pos x="x2" y="b" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="x1" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x1" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="l" t="t" r="x2" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x2" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="vc" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </rightArrowCallout>\r
- <rightBrace>\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 8333" />\r
- <gd name="adj2" fmla="val 50000" />\r
- </avLst>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a2" fmla="pin 0 adj2 100000" />\r
- <gd name="q1" fmla="+- 100000 0 a2" />\r
- <gd name="q2" fmla="min q1 a2" />\r
- <gd name="q3" fmla="*/ q2 1 2" />\r
- <gd name="maxAdj1" fmla="*/ q3 h ss" />\r
- <gd name="a1" fmla="pin 0 adj1 maxAdj1" />\r
- <gd name="y1" fmla="*/ ss a1 100000" />\r
- <gd name="y3" fmla="*/ h a2 100000" />\r
- <gd name="y2" fmla="+- y3 0 y1" />\r
- <gd name="y4" fmla="+- b 0 y1" />\r
- <gd name="dx1" fmla="cos wd2 2700000" />\r
- <gd name="dy1" fmla="sin y1 2700000" />\r
- <gd name="ir" fmla="+- l dx1 0" />\r
- <gd name="it" fmla="+- y1 0 dy1" />\r
- <gd name="ib" fmla="+- b dy1 y1" />\r
- </gdLst>\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj1" minY="0" maxY="maxAdj1">\r
- <pos x="hc" y="y1" />\r
- </ahXY>\r
- <ahXY gdRefY="adj2" minY="0" maxY="100000">\r
- <pos x="r" y="y3" />\r
- </ahXY>\r
- </ahLst>\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="cd4">\r
- <pos x="l" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="r" y="y3" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="l" y="b" />\r
- </cxn>\r
- </cxnLst>\r
- <rect l="l" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path stroke="false" extrusionOk="false">\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <arcTo wR="wd2" hR="y1" stAng="3cd4" swAng="cd4" />\r
- <lnTo>\r
- <pt x="hc" y="y2" />\r
- </lnTo>\r
- <arcTo wR="wd2" hR="y1" stAng="cd2" swAng="-5400000" />\r
- <arcTo wR="wd2" hR="y1" stAng="3cd4" swAng="-5400000" />\r
- <lnTo>\r
- <pt x="hc" y="y4" />\r
- </lnTo>\r
- <arcTo wR="wd2" hR="y1" stAng="0" swAng="cd4" />\r
- <close />\r
- </path>\r
- <path fill="none">\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <arcTo wR="wd2" hR="y1" stAng="3cd4" swAng="cd4" />\r
- <lnTo>\r
- <pt x="hc" y="y2" />\r
- </lnTo>\r
- <arcTo wR="wd2" hR="y1" stAng="cd2" swAng="-5400000" />\r
- <arcTo wR="wd2" hR="y1" stAng="3cd4" swAng="-5400000" />\r
- <lnTo>\r
- <pt x="hc" y="y4" />\r
- </lnTo>\r
- <arcTo wR="wd2" hR="y1" stAng="0" swAng="cd4" />\r
- </path>\r
- </pathLst>\r
- </rightBrace>\r
- <rightBracket>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj" fmla="val 8333" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="maxAdj" fmla="*/ 50000 h ss" />\r
-\r
- <gd name="a" fmla="pin 0 adj maxAdj" />\r
- <gd name="y1" fmla="*/ ss a 100000" />\r
-\r
- <gd name="y2" fmla="+- b 0 y1" />\r
-\r
- <gd name="dx1" fmla="cos w 2700000" />\r
- <gd name="dy1" fmla="sin y1 2700000" />\r
- <gd name="ir" fmla="+- l dx1 0" />\r
- <gd name="it" fmla="+- y1 0 dy1" />\r
- <gd name="ib" fmla="+- b dy1 y1" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj" minY="0" maxY="maxAdj">\r
- <pos x="r" y="y1" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="cd4">\r
- <pos x="l" y="t" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="l" y="b" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="l" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path stroke="false" extrusionOk="false">\r
-\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <arcTo wR="w" hR="y1" stAng="3cd4" swAng="cd4" />\r
- <lnTo>\r
- <pt x="r" y="y2" />\r
- </lnTo>\r
- <arcTo wR="w" hR="y1" stAng="0" swAng="cd4" />\r
- <close />\r
- </path>\r
- <path fill="none">\r
-\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <arcTo wR="w" hR="y1" stAng="3cd4" swAng="cd4" />\r
- <lnTo>\r
- <pt x="r" y="y2" />\r
- </lnTo>\r
- <arcTo wR="w" hR="y1" stAng="0" swAng="cd4" />\r
- </path>\r
- </pathLst>\r
-\r
- </rightBracket>\r
- <round1Rect>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj" fmla="val 16667" />\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a" fmla="pin 0 adj 50000" />\r
- <gd name="dx1" fmla="*/ ss a 100000" />\r
- <gd name="x1" fmla="+- r 0 dx1" />\r
- <gd name="idx" fmla="*/ dx1 29289 100000" />\r
- <gd name="ir" fmla="+- r 0 idx" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj" minX="0" maxX="50000">\r
- <pos x="x1" y="t" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="l" t="t" r="ir" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x1" y="t" />\r
- </lnTo>\r
- <arcTo wR="dx1" hR="dx1" stAng="3cd4" swAng="cd4" />\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </round1Rect>\r
- <round2DiagRect>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 16667" />\r
- <gd name="adj2" fmla="val 0" />\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a1" fmla="pin 0 adj1 50000" />\r
- <gd name="a2" fmla="pin 0 adj2 50000" />\r
- <gd name="x1" fmla="*/ ss a1 100000" />\r
- <gd name="y1" fmla="+- b 0 x1" />\r
- <gd name="a" fmla="*/ ss a2 100000" />\r
- <gd name="x2" fmla="+- r 0 a" />\r
- <gd name="y2" fmla="+- b 0 a" />\r
- <gd name="dx1" fmla="*/ x1 29289 100000" />\r
- <gd name="dx2" fmla="*/ a 29289 100000" />\r
- <gd name="d" fmla="+- dx1 0 dx2" />\r
- <gd name="dx" fmla="?: d dx1 dx2" />\r
- <gd name="ir" fmla="+- r 0 dx" />\r
- <gd name="ib" fmla="+- b 0 dx" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj1" minX="0" maxX="50000">\r
- <pos x="x1" y="t" />\r
- </ahXY>\r
- <ahXY gdRefX="adj2" minX="0" maxX="50000">\r
- <pos x="x2" y="t" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="dx" t="dx" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="x1" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x2" y="t" />\r
- </lnTo>\r
- <arcTo wR="a" hR="a" stAng="3cd4" swAng="cd4" />\r
- <lnTo>\r
- <pt x="r" y="y1" />\r
- </lnTo>\r
- <arcTo wR="x1" hR="x1" stAng="0" swAng="cd4" />\r
- <lnTo>\r
- <pt x="a" y="b" />\r
- </lnTo>\r
- <arcTo wR="a" hR="a" stAng="cd4" swAng="cd4" />\r
- <lnTo>\r
- <pt x="l" y="x1" />\r
- </lnTo>\r
- <arcTo wR="x1" hR="x1" stAng="cd2" swAng="cd4" />\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </round2DiagRect>\r
- <round2SameRect>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 16667" />\r
- <gd name="adj2" fmla="val 0" />\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a1" fmla="pin 0 adj1 50000" />\r
- <gd name="a2" fmla="pin 0 adj2 50000" />\r
-\r
- <gd name="tx1" fmla="*/ ss a1 100000" />\r
- <gd name="tx2" fmla="+- r 0 tx1" />\r
-\r
- <gd name="bx1" fmla="*/ ss a2 100000" />\r
- <gd name="bx2" fmla="+- r 0 bx1" />\r
- <gd name="by1" fmla="+- b 0 bx1" />\r
- <gd name="d" fmla="+- tx1 0 bx1" />\r
- <gd name="tdx" fmla="*/ tx1 29289 100000" />\r
- <gd name="bdx" fmla="*/ bx1 29289 100000" />\r
- <gd name="il" fmla="?: d tdx bdx" />\r
- <gd name="ir" fmla="+- r 0 il" />\r
- <gd name="ib" fmla="+- b 0 bdx" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj1" minX="0" maxX="50000">\r
- <pos x="tx2" y="t" />\r
- </ahXY>\r
- <ahXY gdRefX="adj2" minX="0" maxX="50000">\r
- <pos x="bx1" y="b" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="il" t="tdx" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="tx1" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="tx2" y="t" />\r
- </lnTo>\r
- <arcTo wR="tx1" hR="tx1" stAng="3cd4" swAng="cd4" />\r
- <lnTo>\r
- <pt x="r" y="by1" />\r
- </lnTo>\r
- <arcTo wR="bx1" hR="bx1" stAng="0" swAng="cd4" />\r
- <lnTo>\r
- <pt x="bx1" y="b" />\r
- </lnTo>\r
- <arcTo wR="bx1" hR="bx1" stAng="cd4" swAng="cd4" />\r
- <lnTo>\r
- <pt x="l" y="tx1" />\r
- </lnTo>\r
- <arcTo wR="tx1" hR="tx1" stAng="cd2" swAng="cd4" />\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </round2SameRect>\r
- <roundRect>\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj" fmla="val 16667" />\r
- </avLst>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a" fmla="pin 0 adj 50000" />\r
- <gd name="x1" fmla="*/ ss a 100000" />\r
- <gd name="x2" fmla="+- r 0 x1" />\r
- <gd name="y2" fmla="+- b 0 x1" />\r
- <gd name="il" fmla="*/ x1 29289 100000" />\r
- <gd name="ir" fmla="+- r 0 il" />\r
- <gd name="ib" fmla="+- b 0 il" />\r
- </gdLst>\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj" minX="0" maxX="50000">\r
- <pos x="x1" y="t" />\r
- </ahXY>\r
- </ahLst>\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
- <rect l="il" t="il" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="x1" />\r
- </moveTo>\r
- <arcTo wR="x1" hR="x1" stAng="cd2" swAng="cd4" />\r
- <lnTo>\r
- <pt x="x2" y="t" />\r
- </lnTo>\r
- <arcTo wR="x1" hR="x1" stAng="3cd4" swAng="cd4" />\r
- <lnTo>\r
- <pt x="r" y="y2" />\r
- </lnTo>\r
- <arcTo wR="x1" hR="x1" stAng="0" swAng="cd4" />\r
- <lnTo>\r
- <pt x="x1" y="b" />\r
- </lnTo>\r
- <arcTo wR="x1" hR="x1" stAng="cd4" swAng="cd4" />\r
- <close />\r
- </path>\r
- </pathLst>\r
- </roundRect>\r
- <rtTriangle>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="it" fmla="*/ h 7 12" />\r
- <gd name="ir" fmla="*/ w 7 12" />\r
- <gd name="ib" fmla="*/ h 11 12" />\r
- </gdLst>\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="l" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="l" y="b" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="r" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="hc" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
- <rect l="wd12" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="b" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="l" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
- </rtTriangle>\r
- <smileyFace>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj" fmla="val 4653" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a" fmla="pin -4653 adj 4653" />\r
- <gd name="x1" fmla="*/ w 4969 21699" />\r
-\r
- <gd name="x2" fmla="*/ w 6215 21600" />\r
-\r
- <gd name="x3" fmla="*/ w 13135 21600" />\r
-\r
- <gd name="x4" fmla="*/ w 16640 21600" />\r
-\r
- <gd name="y1" fmla="*/ h 7570 21600" />\r
-\r
- <gd name="y3" fmla="*/ h 16515 21600" />\r
-\r
- <gd name="dy2" fmla="*/ h a 100000" />\r
-\r
- <gd name="y2" fmla="+- y3 0 dy2" />\r
-\r
- <gd name="y4" fmla="+- y3 dy2 0" />\r
-\r
- <gd name="dy3" fmla="*/ h a 50000" />\r
-\r
- <gd name="y5" fmla="+- y4 dy3 0" />\r
- <gd name="idx" fmla="cos wd2 2700000" />\r
- <gd name="idy" fmla="sin hd2 2700000" />\r
- <gd name="il" fmla="+- hc 0 idx" />\r
- <gd name="ir" fmla="+- hc idx 0" />\r
- <gd name="it" fmla="+- vc 0 idy" />\r
- <gd name="ib" fmla="+- vc idy 0" />\r
- <gd name="wR" fmla="*/ w 1125 21600" />\r
- <gd name="hR" fmla="*/ h 1125 21600" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj" minY="-4653" maxY="4653">\r
- <pos x="hc" y="y4" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="il" y="it" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="il" y="ib" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="ir" y="ib" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="ir" y="it" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path stroke="false" extrusionOk="false">\r
-\r
- <moveTo>\r
- <pt x="l" y="vc" />\r
- </moveTo>\r
- <arcTo wR="wd2" hR="hd2" stAng="cd2" swAng="21600000" />\r
- <close />\r
- </path>\r
- <path fill="darkenLess" extrusionOk="false">\r
-\r
- <moveTo>\r
- <pt x="x2" y="y1" />\r
- </moveTo>\r
- <arcTo wR="wR" hR="hR" stAng="cd2" swAng="21600000" />\r
- <moveTo>\r
- <pt x="x3" y="y1" />\r
- </moveTo>\r
- <arcTo wR="wR" hR="hR" stAng="cd2" swAng="21600000" />\r
- </path>\r
- <path fill="none" extrusionOk="false">\r
-\r
- <moveTo>\r
- <pt x="x1" y="y2" />\r
- </moveTo>\r
- <quadBezTo>\r
- <pt x="hc" y="y5" />\r
- <pt x="x4" y="y2" />\r
- </quadBezTo>\r
- </path>\r
- <path fill="none">\r
-\r
- <moveTo>\r
- <pt x="l" y="vc" />\r
- </moveTo>\r
- <arcTo wR="wd2" hR="hd2" stAng="cd2" swAng="21600000" />\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </smileyFace>\r
- <snip1Rect>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj" fmla="val 16667" />\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a" fmla="pin 0 adj 50000" />\r
- <gd name="dx1" fmla="*/ ss a 100000" />\r
- <gd name="x1" fmla="+- r 0 dx1" />\r
- <gd name="it" fmla="*/ dx1 1 2" />\r
- <gd name="ir" fmla="+/ x1 r 2" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj" minX="0" maxX="50000">\r
- <pos x="x1" y="t" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="l" t="it" r="ir" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x1" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="dx1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </snip1Rect>\r
- <snip2DiagRect>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 0" />\r
- <gd name="adj2" fmla="val 16667" />\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a1" fmla="pin 0 adj1 50000" />\r
- <gd name="a2" fmla="pin 0 adj2 50000" />\r
- <gd name="lx1" fmla="*/ ss a1 100000" />\r
- <gd name="lx2" fmla="+- r 0 lx1" />\r
- <gd name="ly1" fmla="+- b 0 lx1" />\r
- <gd name="rx1" fmla="*/ ss a2 100000" />\r
- <gd name="rx2" fmla="+- r 0 rx1" />\r
- <gd name="ry1" fmla="+- b 0 rx1" />\r
- <gd name="d" fmla="+- lx1 0 rx1" />\r
- <gd name="dx" fmla="?: d lx1 rx1" />\r
- <gd name="il" fmla="*/ dx 1 2" />\r
-\r
- <gd name="ir" fmla="+- r 0 il" />\r
- <gd name="ib" fmla="+- b 0 il" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj1" minX="0" maxX="50000">\r
- <pos x="lx1" y="t" />\r
- </ahXY>\r
- <ahXY gdRefX="adj2" minX="0" maxX="50000">\r
- <pos x="rx2" y="t" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="il" t="il" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="lx1" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="rx2" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="rx1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="ly1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="lx2" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="rx1" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="ry1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="lx1" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </snip2DiagRect>\r
- <snip2SameRect>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 16667" />\r
- <gd name="adj2" fmla="val 0" />\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a1" fmla="pin 0 adj1 50000" />\r
- <gd name="a2" fmla="pin 0 adj2 50000" />\r
- <gd name="tx1" fmla="*/ ss a1 100000" />\r
- <gd name="tx2" fmla="+- r 0 tx1" />\r
- <gd name="bx1" fmla="*/ ss a2 100000" />\r
- <gd name="bx2" fmla="+- r 0 bx1" />\r
- <gd name="by1" fmla="+- b 0 bx1" />\r
- <gd name="d" fmla="+- tx1 0 bx1" />\r
- <gd name="dx" fmla="?: d tx1 bx1" />\r
- <gd name="il" fmla="*/ dx 1 2" />\r
- <gd name="ir" fmla="+- r 0 il" />\r
- <gd name="it" fmla="*/ tx1 1 2" />\r
- <gd name="ib" fmla="+/ by1 b 2" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj1" minX="0" maxX="50000">\r
- <pos x="tx2" y="t" />\r
- </ahXY>\r
- <ahXY gdRefX="adj2" minX="0" maxX="50000">\r
- <pos x="bx1" y="b" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="tx1" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="tx2" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="tx1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="by1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="bx2" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="bx1" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="by1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="tx1" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </snip2SameRect>\r
- <snipRoundRect>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 16667" />\r
- <gd name="adj2" fmla="val 16667" />\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a1" fmla="pin 0 adj1 50000" />\r
- <gd name="a2" fmla="pin 0 adj2 50000" />\r
- <gd name="x1" fmla="*/ ss a1 100000" />\r
- <gd name="dx2" fmla="*/ ss a2 100000" />\r
- <gd name="x2" fmla="+- r 0 dx2" />\r
- <gd name="il" fmla="*/ x1 29289 100000" />\r
-\r
- <gd name="ir" fmla="+/ x2 r 2" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj1" minX="0" maxX="50000">\r
- <pos x="x1" y="t" />\r
- </ahXY>\r
- <ahXY gdRefX="adj2" minX="0" maxX="50000">\r
- <pos x="x2" y="t" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="il" t="il" r="ir" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="x1" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x2" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="dx2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="x1" />\r
- </lnTo>\r
- <arcTo wR="x1" hR="x1" stAng="cd2" swAng="cd4" />\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </snipRoundRect>\r
- <squareTabs>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="md" fmla="mod w h 0" />\r
- <gd name="dx" fmla="*/ 1 md 20" />\r
-\r
- <gd name="y1" fmla="+- 0 b dx" />\r
-\r
- <gd name="x1" fmla="+- 0 r dx" />\r
-\r
- </gdLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="cd2">\r
- <pos x="l" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="dx" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="y1" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="b" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="dx" y="dx" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="dx" y="x1" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="dx" y="t" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="x1" y="t" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="dx" y="b" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x1" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="t" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="dx" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="y1" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="x1" y="dx" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="x1" y="y1" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="dx" t="dx" r="x1" b="y1" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="dx" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="dx" y="dx" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="dx" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="y1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="dx" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="dx" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path>\r
- <moveTo>\r
- <pt x="x1" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="dx" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="dx" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- <path>\r
- <moveTo>\r
- <pt x="x1" y="y1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="r" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </squareTabs>\r
- <star10>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj" fmla="val 42533" />\r
- <gd name="hf" fmla="val 105146" />\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a" fmla="pin 0 adj 50000" />\r
- <gd name="swd2" fmla="*/ wd2 hf 100000" />\r
- <gd name="dx1" fmla="*/ swd2 95106 100000" />\r
- <gd name="dx2" fmla="*/ swd2 58779 100000" />\r
- <gd name="x1" fmla="+- hc 0 dx1" />\r
- <gd name="x2" fmla="+- hc 0 dx2" />\r
- <gd name="x3" fmla="+- hc dx2 0" />\r
- <gd name="x4" fmla="+- hc dx1 0" />\r
- <gd name="dy1" fmla="*/ hd2 80902 100000" />\r
- <gd name="dy2" fmla="*/ hd2 30902 100000" />\r
- <gd name="y1" fmla="+- vc 0 dy1" />\r
- <gd name="y2" fmla="+- vc 0 dy2" />\r
- <gd name="y3" fmla="+- vc dy2 0" />\r
- <gd name="y4" fmla="+- vc dy1 0" />\r
- <gd name="iwd2" fmla="*/ swd2 a 50000" />\r
- <gd name="ihd2" fmla="*/ hd2 a 50000" />\r
- <gd name="sdx1" fmla="*/ iwd2 80902 100000" />\r
- <gd name="sdx2" fmla="*/ iwd2 30902 100000" />\r
- <gd name="sdy1" fmla="*/ ihd2 95106 100000" />\r
- <gd name="sdy2" fmla="*/ ihd2 58779 100000" />\r
- <gd name="sx1" fmla="+- hc 0 iwd2" />\r
- <gd name="sx2" fmla="+- hc 0 sdx1" />\r
- <gd name="sx3" fmla="+- hc 0 sdx2" />\r
- <gd name="sx4" fmla="+- hc sdx2 0" />\r
- <gd name="sx5" fmla="+- hc sdx1 0" />\r
- <gd name="sx6" fmla="+- hc iwd2 0" />\r
- <gd name="sy1" fmla="+- vc 0 sdy1" />\r
- <gd name="sy2" fmla="+- vc 0 sdy2" />\r
- <gd name="sy3" fmla="+- vc sdy2 0" />\r
- <gd name="sy4" fmla="+- vc sdy1 0" />\r
- <gd name="yAdj" fmla="+- vc 0 ihd2" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj" minY="0" maxY="50000">\r
- <pos x="hc" y="yAdj" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="x4" y="y2" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="x4" y="y3" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x3" y="y4" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x2" y="y4" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="x1" y="y3" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="x1" y="y2" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="x2" y="y1" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="x3" y="y1" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="sx2" t="sy2" r="sx5" b="sy3" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="x1" y="y2" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="sx2" y="sy2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx3" y="sy1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="hc" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx4" y="sy1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx5" y="sy2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx6" y="vc" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx5" y="sy3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx4" y="sy4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="hc" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx3" y="sy4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx2" y="sy3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx1" y="vc" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </star10>\r
- <star12>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj" fmla="val 37500" />\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a" fmla="pin 0 adj 50000" />\r
- <gd name="dx1" fmla="cos wd2 1800000" />\r
-\r
- <gd name="dy1" fmla="sin hd2 3600000" />\r
-\r
- <gd name="x1" fmla="+- hc 0 dx1" />\r
- <gd name="x3" fmla="*/ w 3 4" />\r
- <gd name="x4" fmla="+- hc dx1 0" />\r
- <gd name="y1" fmla="+- vc 0 dy1" />\r
- <gd name="y3" fmla="*/ h 3 4" />\r
- <gd name="y4" fmla="+- vc dy1 0" />\r
- <gd name="iwd2" fmla="*/ wd2 a 50000" />\r
- <gd name="ihd2" fmla="*/ hd2 a 50000" />\r
- <gd name="sdx1" fmla="cos iwd2 900000" />\r
- <gd name="sdx2" fmla="cos iwd2 2700000" />\r
- <gd name="sdx3" fmla="cos iwd2 4500000" />\r
- <gd name="sdy1" fmla="sin ihd2 4500000" />\r
- <gd name="sdy2" fmla="sin ihd2 2700000" />\r
- <gd name="sdy3" fmla="sin ihd2 900000" />\r
- <gd name="sx1" fmla="+- hc 0 sdx1" />\r
- <gd name="sx2" fmla="+- hc 0 sdx2" />\r
- <gd name="sx3" fmla="+- hc 0 sdx3" />\r
- <gd name="sx4" fmla="+- hc sdx3 0" />\r
- <gd name="sx5" fmla="+- hc sdx2 0" />\r
- <gd name="sx6" fmla="+- hc sdx1 0" />\r
- <gd name="sy1" fmla="+- vc 0 sdy1" />\r
- <gd name="sy2" fmla="+- vc 0 sdy2" />\r
- <gd name="sy3" fmla="+- vc 0 sdy3" />\r
- <gd name="sy4" fmla="+- vc sdy3 0" />\r
- <gd name="sy5" fmla="+- vc sdy2 0" />\r
- <gd name="sy6" fmla="+- vc sdy1 0" />\r
- <gd name="yAdj" fmla="+- vc 0 ihd2" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj" minY="0" maxY="50000">\r
- <pos x="hc" y="yAdj" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="x4" y="hd4" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="x4" y="y3" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x3" y="y4" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="wd4" y="y4" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="x1" y="y3" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="x1" y="hd4" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="wd4" y="y1" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="x3" y="y1" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="sx2" t="sy2" r="sx5" b="sy5" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="vc" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="sx1" y="sy3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="hd4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx2" y="sy2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="wd4" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx3" y="sy1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="hc" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx4" y="sy1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx5" y="sy2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="hd4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx6" y="sy3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="vc" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx6" y="sy4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx5" y="sy5" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx4" y="sy6" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="hc" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx3" y="sy6" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="wd4" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx2" y="sy5" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx1" y="sy4" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </star12>\r
- <star16>\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj" fmla="val 37500" />\r
- </avLst>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a" fmla="pin 0 adj 50000" />\r
- <gd name="dx1" fmla="*/ wd2 92388 100000" />\r
- <gd name="dx2" fmla="*/ wd2 70711 100000" />\r
- <gd name="dx3" fmla="*/ wd2 38268 100000" />\r
- <gd name="dy1" fmla="*/ hd2 92388 100000" />\r
- <gd name="dy2" fmla="*/ hd2 70711 100000" />\r
- <gd name="dy3" fmla="*/ hd2 38268 100000" />\r
- <gd name="x1" fmla="+- hc 0 dx1" />\r
- <gd name="x2" fmla="+- hc 0 dx2" />\r
- <gd name="x3" fmla="+- hc 0 dx3" />\r
- <gd name="x4" fmla="+- hc dx3 0" />\r
- <gd name="x5" fmla="+- hc dx2 0" />\r
- <gd name="x6" fmla="+- hc dx1 0" />\r
- <gd name="y1" fmla="+- vc 0 dy1" />\r
- <gd name="y2" fmla="+- vc 0 dy2" />\r
- <gd name="y3" fmla="+- vc 0 dy3" />\r
- <gd name="y4" fmla="+- vc dy3 0" />\r
- <gd name="y5" fmla="+- vc dy2 0" />\r
- <gd name="y6" fmla="+- vc dy1 0" />\r
- <gd name="iwd2" fmla="*/ wd2 a 50000" />\r
- <gd name="ihd2" fmla="*/ hd2 a 50000" />\r
- <gd name="sdx1" fmla="*/ iwd2 98079 100000" />\r
- <gd name="sdx2" fmla="*/ iwd2 83147 100000" />\r
- <gd name="sdx3" fmla="*/ iwd2 55557 100000" />\r
- <gd name="sdx4" fmla="*/ iwd2 19509 100000" />\r
- <gd name="sdy1" fmla="*/ ihd2 98079 100000" />\r
- <gd name="sdy2" fmla="*/ ihd2 83147 100000" />\r
- <gd name="sdy3" fmla="*/ ihd2 55557 100000" />\r
- <gd name="sdy4" fmla="*/ ihd2 19509 100000" />\r
- <gd name="sx1" fmla="+- hc 0 sdx1" />\r
- <gd name="sx2" fmla="+- hc 0 sdx2" />\r
- <gd name="sx3" fmla="+- hc 0 sdx3" />\r
- <gd name="sx4" fmla="+- hc 0 sdx4" />\r
- <gd name="sx5" fmla="+- hc sdx4 0" />\r
- <gd name="sx6" fmla="+- hc sdx3 0" />\r
- <gd name="sx7" fmla="+- hc sdx2 0" />\r
- <gd name="sx8" fmla="+- hc sdx1 0" />\r
- <gd name="sy1" fmla="+- vc 0 sdy1" />\r
- <gd name="sy2" fmla="+- vc 0 sdy2" />\r
- <gd name="sy3" fmla="+- vc 0 sdy3" />\r
- <gd name="sy4" fmla="+- vc 0 sdy4" />\r
- <gd name="sy5" fmla="+- vc sdy4 0" />\r
- <gd name="sy6" fmla="+- vc sdy3 0" />\r
- <gd name="sy7" fmla="+- vc sdy2 0" />\r
- <gd name="sy8" fmla="+- vc sdy1 0" />\r
- <gd name="idx" fmla="cos iwd2 2700000" />\r
- <gd name="idy" fmla="sin ihd2 2700000" />\r
- <gd name="il" fmla="+- hc 0 idx" />\r
- <gd name="it" fmla="+- vc 0 idy" />\r
- <gd name="ir" fmla="+- hc idx 0" />\r
- <gd name="ib" fmla="+- vc idy 0" />\r
- <gd name="yAdj" fmla="+- vc 0 ihd2" />\r
- </gdLst>\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj" minY="0" maxY="50000">\r
- <pos x="hc" y="yAdj" />\r
- </ahXY>\r
- </ahLst>\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="x5" y="y2" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="x6" y="y3" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="x6" y="y4" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="x5" y="y5" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x4" y="y6" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x3" y="y6" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="x2" y="y5" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="x1" y="y4" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="x1" y="y3" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="x2" y="y2" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="x3" y="y1" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="x4" y="y1" />\r
- </cxn>\r
- </cxnLst>\r
- <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="vc" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="sx1" y="sy4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx2" y="sy3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx3" y="sy2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx4" y="sy1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="hc" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx5" y="sy1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx6" y="sy2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x5" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx7" y="sy3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x6" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx8" y="sy4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="vc" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx8" y="sy5" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x6" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx7" y="sy6" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x5" y="y5" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx6" y="sy7" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y6" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx5" y="sy8" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="hc" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx4" y="sy8" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y6" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx3" y="sy7" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y5" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx2" y="sy6" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx1" y="sy5" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
- </star16>\r
- <star24>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj" fmla="val 37500" />\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a" fmla="pin 0 adj 50000" />\r
- <gd name="dx1" fmla="cos wd2 900000" />\r
- <gd name="dx2" fmla="cos wd2 1800000" />\r
- <gd name="dx3" fmla="cos wd2 2700000" />\r
- <gd name="dx4" fmla="val wd4" />\r
- <gd name="dx5" fmla="cos wd2 4500000" />\r
- <gd name="dy1" fmla="sin hd2 4500000" />\r
- <gd name="dy2" fmla="sin hd2 3600000" />\r
- <gd name="dy3" fmla="sin hd2 2700000" />\r
- <gd name="dy4" fmla="val hd4" />\r
- <gd name="dy5" fmla="sin hd2 900000" />\r
- <gd name="x1" fmla="+- hc 0 dx1" />\r
- <gd name="x2" fmla="+- hc 0 dx2" />\r
- <gd name="x3" fmla="+- hc 0 dx3" />\r
- <gd name="x4" fmla="+- hc 0 dx4" />\r
- <gd name="x5" fmla="+- hc 0 dx5" />\r
- <gd name="x6" fmla="+- hc dx5 0" />\r
- <gd name="x7" fmla="+- hc dx4 0" />\r
- <gd name="x8" fmla="+- hc dx3 0" />\r
- <gd name="x9" fmla="+- hc dx2 0" />\r
- <gd name="x10" fmla="+- hc dx1 0" />\r
- <gd name="y1" fmla="+- vc 0 dy1" />\r
- <gd name="y2" fmla="+- vc 0 dy2" />\r
- <gd name="y3" fmla="+- vc 0 dy3" />\r
- <gd name="y4" fmla="+- vc 0 dy4" />\r
- <gd name="y5" fmla="+- vc 0 dy5" />\r
- <gd name="y6" fmla="+- vc dy5 0" />\r
- <gd name="y7" fmla="+- vc dy4 0" />\r
- <gd name="y8" fmla="+- vc dy3 0" />\r
- <gd name="y9" fmla="+- vc dy2 0" />\r
- <gd name="y10" fmla="+- vc dy1 0" />\r
- <gd name="iwd2" fmla="*/ wd2 a 50000" />\r
- <gd name="ihd2" fmla="*/ hd2 a 50000" />\r
- <gd name="sdx1" fmla="*/ iwd2 99144 100000" />\r
- <gd name="sdx2" fmla="*/ iwd2 92388 100000" />\r
- <gd name="sdx3" fmla="*/ iwd2 79335 100000" />\r
- <gd name="sdx4" fmla="*/ iwd2 60876 100000" />\r
- <gd name="sdx5" fmla="*/ iwd2 38268 100000" />\r
- <gd name="sdx6" fmla="*/ iwd2 13053 100000" />\r
- <gd name="sdy1" fmla="*/ ihd2 99144 100000" />\r
- <gd name="sdy2" fmla="*/ ihd2 92388 100000" />\r
- <gd name="sdy3" fmla="*/ ihd2 79335 100000" />\r
- <gd name="sdy4" fmla="*/ ihd2 60876 100000" />\r
- <gd name="sdy5" fmla="*/ ihd2 38268 100000" />\r
- <gd name="sdy6" fmla="*/ ihd2 13053 100000" />\r
- <gd name="sx1" fmla="+- hc 0 sdx1" />\r
- <gd name="sx2" fmla="+- hc 0 sdx2" />\r
- <gd name="sx3" fmla="+- hc 0 sdx3" />\r
- <gd name="sx4" fmla="+- hc 0 sdx4" />\r
- <gd name="sx5" fmla="+- hc 0 sdx5" />\r
- <gd name="sx6" fmla="+- hc 0 sdx6" />\r
- <gd name="sx7" fmla="+- hc sdx6 0" />\r
- <gd name="sx8" fmla="+- hc sdx5 0" />\r
- <gd name="sx9" fmla="+- hc sdx4 0" />\r
- <gd name="sx10" fmla="+- hc sdx3 0" />\r
- <gd name="sx11" fmla="+- hc sdx2 0" />\r
- <gd name="sx12" fmla="+- hc sdx1 0" />\r
- <gd name="sy1" fmla="+- vc 0 sdy1" />\r
- <gd name="sy2" fmla="+- vc 0 sdy2" />\r
- <gd name="sy3" fmla="+- vc 0 sdy3" />\r
- <gd name="sy4" fmla="+- vc 0 sdy4" />\r
- <gd name="sy5" fmla="+- vc 0 sdy5" />\r
- <gd name="sy6" fmla="+- vc 0 sdy6" />\r
- <gd name="sy7" fmla="+- vc sdy6 0" />\r
- <gd name="sy8" fmla="+- vc sdy5 0" />\r
- <gd name="sy9" fmla="+- vc sdy4 0" />\r
- <gd name="sy10" fmla="+- vc sdy3 0" />\r
- <gd name="sy11" fmla="+- vc sdy2 0" />\r
- <gd name="sy12" fmla="+- vc sdy1 0" />\r
- <gd name="idx" fmla="cos iwd2 2700000" />\r
- <gd name="idy" fmla="sin ihd2 2700000" />\r
- <gd name="il" fmla="+- hc 0 idx" />\r
- <gd name="it" fmla="+- vc 0 idy" />\r
- <gd name="ir" fmla="+- hc idx 0" />\r
- <gd name="ib" fmla="+- vc idy 0" />\r
- <gd name="yAdj" fmla="+- vc 0 ihd2" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj" minY="0" maxY="ssd2">\r
- <pos x="hc" y="yAdj" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="vc" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="sx1" y="sy6" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y5" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx2" y="sy5" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx3" y="sy4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx4" y="sy3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx5" y="sy2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x5" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx6" y="sy1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="hc" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx7" y="sy1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x6" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx8" y="sy2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x7" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx9" y="sy3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x8" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx10" y="sy4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x9" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx11" y="sy5" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x10" y="y5" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx12" y="sy6" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="vc" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx12" y="sy7" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x10" y="y6" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx11" y="sy8" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x9" y="y7" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx10" y="sy9" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x8" y="y8" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx9" y="sy10" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x7" y="y9" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx8" y="sy11" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x6" y="y10" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx7" y="sy12" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="hc" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx6" y="sy12" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x5" y="y10" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx5" y="sy11" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y9" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx4" y="sy10" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y8" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx3" y="sy9" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y7" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx2" y="sy8" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y6" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx1" y="sy7" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </star24>\r
- <star32>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj" fmla="val 37500" />\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a" fmla="pin 0 adj 50000" />\r
- <gd name="dx1" fmla="*/ wd2 98079 100000" />\r
- <gd name="dx2" fmla="*/ wd2 92388 100000" />\r
- <gd name="dx3" fmla="*/ wd2 83147 100000" />\r
- <gd name="dx4" fmla="cos wd2 2700000" />\r
- <gd name="dx5" fmla="*/ wd2 55557 100000" />\r
- <gd name="dx6" fmla="*/ wd2 38268 100000" />\r
- <gd name="dx7" fmla="*/ wd2 19509 100000" />\r
- <gd name="dy1" fmla="*/ hd2 98079 100000" />\r
- <gd name="dy2" fmla="*/ hd2 92388 100000" />\r
- <gd name="dy3" fmla="*/ hd2 83147 100000" />\r
- <gd name="dy4" fmla="sin hd2 2700000" />\r
- <gd name="dy5" fmla="*/ hd2 55557 100000" />\r
- <gd name="dy6" fmla="*/ hd2 38268 100000" />\r
- <gd name="dy7" fmla="*/ hd2 19509 100000" />\r
- <gd name="x1" fmla="+- hc 0 dx1" />\r
- <gd name="x2" fmla="+- hc 0 dx2" />\r
- <gd name="x3" fmla="+- hc 0 dx3" />\r
- <gd name="x4" fmla="+- hc 0 dx4" />\r
- <gd name="x5" fmla="+- hc 0 dx5" />\r
- <gd name="x6" fmla="+- hc 0 dx6" />\r
- <gd name="x7" fmla="+- hc 0 dx7" />\r
- <gd name="x8" fmla="+- hc dx7 0" />\r
- <gd name="x9" fmla="+- hc dx6 0" />\r
- <gd name="x10" fmla="+- hc dx5 0" />\r
- <gd name="x11" fmla="+- hc dx4 0" />\r
- <gd name="x12" fmla="+- hc dx3 0" />\r
- <gd name="x13" fmla="+- hc dx2 0" />\r
- <gd name="x14" fmla="+- hc dx1 0" />\r
- <gd name="y1" fmla="+- vc 0 dy1" />\r
- <gd name="y2" fmla="+- vc 0 dy2" />\r
- <gd name="y3" fmla="+- vc 0 dy3" />\r
- <gd name="y4" fmla="+- vc 0 dy4" />\r
- <gd name="y5" fmla="+- vc 0 dy5" />\r
- <gd name="y6" fmla="+- vc 0 dy6" />\r
- <gd name="y7" fmla="+- vc 0 dy7" />\r
- <gd name="y8" fmla="+- vc dy7 0" />\r
- <gd name="y9" fmla="+- vc dy6 0" />\r
- <gd name="y10" fmla="+- vc dy5 0" />\r
- <gd name="y11" fmla="+- vc dy4 0" />\r
- <gd name="y12" fmla="+- vc dy3 0" />\r
- <gd name="y13" fmla="+- vc dy2 0" />\r
- <gd name="y14" fmla="+- vc dy1 0" />\r
- <gd name="iwd2" fmla="*/ wd2 a 50000" />\r
- <gd name="ihd2" fmla="*/ hd2 a 50000" />\r
- <gd name="sdx1" fmla="*/ iwd2 99518 100000" />\r
- <gd name="sdx2" fmla="*/ iwd2 95694 100000" />\r
- <gd name="sdx3" fmla="*/ iwd2 88192 100000" />\r
- <gd name="sdx4" fmla="*/ iwd2 77301 100000" />\r
- <gd name="sdx5" fmla="*/ iwd2 63439 100000" />\r
- <gd name="sdx6" fmla="*/ iwd2 47140 100000" />\r
- <gd name="sdx7" fmla="*/ iwd2 29028 100000" />\r
- <gd name="sdx8" fmla="*/ iwd2 9802 100000" />\r
- <gd name="sdy1" fmla="*/ ihd2 99518 100000" />\r
- <gd name="sdy2" fmla="*/ ihd2 95694 100000" />\r
- <gd name="sdy3" fmla="*/ ihd2 88192 100000" />\r
- <gd name="sdy4" fmla="*/ ihd2 77301 100000" />\r
- <gd name="sdy5" fmla="*/ ihd2 63439 100000" />\r
- <gd name="sdy6" fmla="*/ ihd2 47140 100000" />\r
- <gd name="sdy7" fmla="*/ ihd2 29028 100000" />\r
- <gd name="sdy8" fmla="*/ ihd2 9802 100000" />\r
- <gd name="sx1" fmla="+- hc 0 sdx1" />\r
- <gd name="sx2" fmla="+- hc 0 sdx2" />\r
- <gd name="sx3" fmla="+- hc 0 sdx3" />\r
- <gd name="sx4" fmla="+- hc 0 sdx4" />\r
- <gd name="sx5" fmla="+- hc 0 sdx5" />\r
- <gd name="sx6" fmla="+- hc 0 sdx6" />\r
- <gd name="sx7" fmla="+- hc 0 sdx7" />\r
- <gd name="sx8" fmla="+- hc 0 sdx8" />\r
- <gd name="sx9" fmla="+- hc sdx8 0" />\r
- <gd name="sx10" fmla="+- hc sdx7 0" />\r
- <gd name="sx11" fmla="+- hc sdx6 0" />\r
- <gd name="sx12" fmla="+- hc sdx5 0" />\r
- <gd name="sx13" fmla="+- hc sdx4 0" />\r
- <gd name="sx14" fmla="+- hc sdx3 0" />\r
- <gd name="sx15" fmla="+- hc sdx2 0" />\r
- <gd name="sx16" fmla="+- hc sdx1 0" />\r
- <gd name="sy1" fmla="+- vc 0 sdy1" />\r
- <gd name="sy2" fmla="+- vc 0 sdy2" />\r
- <gd name="sy3" fmla="+- vc 0 sdy3" />\r
- <gd name="sy4" fmla="+- vc 0 sdy4" />\r
- <gd name="sy5" fmla="+- vc 0 sdy5" />\r
- <gd name="sy6" fmla="+- vc 0 sdy6" />\r
- <gd name="sy7" fmla="+- vc 0 sdy7" />\r
- <gd name="sy8" fmla="+- vc 0 sdy8" />\r
- <gd name="sy9" fmla="+- vc sdy8 0" />\r
- <gd name="sy10" fmla="+- vc sdy7 0" />\r
- <gd name="sy11" fmla="+- vc sdy6 0" />\r
- <gd name="sy12" fmla="+- vc sdy5 0" />\r
- <gd name="sy13" fmla="+- vc sdy4 0" />\r
- <gd name="sy14" fmla="+- vc sdy3 0" />\r
- <gd name="sy15" fmla="+- vc sdy2 0" />\r
- <gd name="sy16" fmla="+- vc sdy1 0" />\r
- <gd name="idx" fmla="cos iwd2 2700000" />\r
- <gd name="idy" fmla="sin ihd2 2700000" />\r
- <gd name="il" fmla="+- hc 0 idx" />\r
- <gd name="it" fmla="+- vc 0 idy" />\r
- <gd name="ir" fmla="+- hc idx 0" />\r
- <gd name="ib" fmla="+- vc idy 0" />\r
- <gd name="yAdj" fmla="+- vc 0 ihd2" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj" minY="0" maxY="ssd2">\r
- <pos x="hc" y="yAdj" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="vc" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="sx1" y="sy8" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y7" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx2" y="sy7" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y6" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx3" y="sy6" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y5" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx4" y="sy5" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx5" y="sy4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x5" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx6" y="sy3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x6" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx7" y="sy2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x7" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx8" y="sy1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="hc" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx9" y="sy1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x8" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx10" y="sy2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x9" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx11" y="sy3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x10" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx12" y="sy4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x11" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx13" y="sy5" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x12" y="y5" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx14" y="sy6" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x13" y="y6" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx15" y="sy7" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x14" y="y7" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx16" y="sy8" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="vc" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx16" y="sy9" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x14" y="y8" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx15" y="sy10" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x13" y="y9" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx14" y="sy11" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x12" y="y10" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx13" y="sy12" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x11" y="y11" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx12" y="sy13" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x10" y="y12" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx11" y="sy14" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x9" y="y13" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx10" y="sy15" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x8" y="y14" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx9" y="sy16" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="hc" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx8" y="sy16" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x7" y="y14" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx7" y="sy15" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x6" y="y13" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx6" y="sy14" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x5" y="y12" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx5" y="sy13" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y11" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx4" y="sy12" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y10" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx3" y="sy11" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y9" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx2" y="sy10" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y8" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx1" y="sy9" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </star32>\r
- <star4>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj" fmla="val 12500" />\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a" fmla="pin 0 adj 50000" />\r
- <gd name="iwd2" fmla="*/ wd2 a 50000" />\r
- <gd name="ihd2" fmla="*/ hd2 a 50000" />\r
- <gd name="sdx" fmla="cos iwd2 2700000" />\r
- <gd name="sdy" fmla="sin ihd2 2700000" />\r
- <gd name="sx1" fmla="+- hc 0 sdx" />\r
- <gd name="sx2" fmla="+- hc sdx 0" />\r
- <gd name="sy1" fmla="+- vc 0 sdy" />\r
- <gd name="sy2" fmla="+- vc sdy 0" />\r
- <gd name="yAdj" fmla="+- vc 0 ihd2" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj" minY="0" maxY="50000">\r
- <pos x="hc" y="yAdj" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="sx1" t="sy1" r="sx2" b="sy2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="vc" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="sx1" y="sy1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="hc" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx2" y="sy1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="vc" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx2" y="sy2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="hc" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx1" y="sy2" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </star4>\r
- <star5>\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj" fmla="val 19098" />\r
- <gd name="hf" fmla="val 105146" />\r
- <gd name="vf" fmla="val 110557" />\r
- </avLst>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a" fmla="pin 0 adj 50000" />\r
- <gd name="swd2" fmla="*/ wd2 hf 100000" />\r
- <gd name="shd2" fmla="*/ hd2 vf 100000" />\r
- <gd name="svc" fmla="*/ vc vf 100000" />\r
- <gd name="dx1" fmla="cos swd2 1080000" />\r
- <gd name="dx2" fmla="cos swd2 18360000" />\r
- <gd name="dy1" fmla="sin shd2 1080000" />\r
- <gd name="dy2" fmla="sin shd2 18360000" />\r
- <gd name="x1" fmla="+- hc 0 dx1" />\r
- <gd name="x2" fmla="+- hc 0 dx2" />\r
- <gd name="x3" fmla="+- hc dx2 0" />\r
- <gd name="x4" fmla="+- hc dx1 0" />\r
- <gd name="y1" fmla="+- svc 0 dy1" />\r
- <gd name="y2" fmla="+- svc 0 dy2" />\r
- <gd name="iwd2" fmla="*/ swd2 a 50000" />\r
- <gd name="ihd2" fmla="*/ shd2 a 50000" />\r
- <gd name="sdx1" fmla="cos iwd2 20520000" />\r
- <gd name="sdx2" fmla="cos iwd2 3240000" />\r
- <gd name="sdy1" fmla="sin ihd2 3240000" />\r
- <gd name="sdy2" fmla="sin ihd2 20520000" />\r
- <gd name="sx1" fmla="+- hc 0 sdx1" />\r
- <gd name="sx2" fmla="+- hc 0 sdx2" />\r
- <gd name="sx3" fmla="+- hc sdx2 0" />\r
- <gd name="sx4" fmla="+- hc sdx1 0" />\r
- <gd name="sy1" fmla="+- svc 0 sdy1" />\r
- <gd name="sy2" fmla="+- svc 0 sdy2" />\r
- <gd name="sy3" fmla="+- svc ihd2 0" />\r
- <gd name="yAdj" fmla="+- svc 0 ihd2" />\r
- </gdLst>\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj" minY="0" maxY="50000">\r
- <pos x="hc" y="yAdj" />\r
- </ahXY>\r
- </ahLst>\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="x1" y="y1" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x2" y="y2" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x3" y="y2" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="x4" y="y1" />\r
- </cxn>\r
- </cxnLst>\r
- <rect l="sx1" t="sy1" r="sx4" b="sy3" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="x1" y="y1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="sx2" y="sy1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="hc" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx3" y="sy1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx4" y="sy2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="hc" y="sy3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx1" y="sy2" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
- </star5>\r
- <star6>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj" fmla="val 28868" />\r
- <gd name="hf" fmla="val 115470" />\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a" fmla="pin 0 adj 50000" />\r
- <gd name="swd2" fmla="*/ wd2 hf 100000" />\r
- <gd name="dx1" fmla="cos swd2 1800000" />\r
- <gd name="x1" fmla="+- hc 0 dx1" />\r
- <gd name="x2" fmla="+- hc dx1 0" />\r
- <gd name="y2" fmla="+- vc hd4 0" />\r
- <gd name="iwd2" fmla="*/ swd2 a 50000" />\r
- <gd name="ihd2" fmla="*/ hd2 a 50000" />\r
- <gd name="sdx2" fmla="*/ iwd2 1 2" />\r
- <gd name="sx1" fmla="+- hc 0 iwd2" />\r
- <gd name="sx2" fmla="+- hc 0 sdx2" />\r
- <gd name="sx3" fmla="+- hc sdx2 0" />\r
- <gd name="sx4" fmla="+- hc iwd2 0" />\r
- <gd name="sdy1" fmla="sin ihd2 3600000" />\r
- <gd name="sy1" fmla="+- vc 0 sdy1" />\r
- <gd name="sy2" fmla="+- vc sdy1 0" />\r
- <gd name="yAdj" fmla="+- vc 0 ihd2" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj" minY="0" maxY="50000">\r
- <pos x="hc" y="yAdj" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="x2" y="hd4" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="x2" y="y2" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="x1" y="y2" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="x1" y="hd4" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="sx1" t="sy1" r="sx4" b="sy2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="x1" y="hd4" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="sx2" y="sy1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="hc" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx3" y="sy1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="hd4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx4" y="vc" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx3" y="sy2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="hc" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx2" y="sy2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx1" y="vc" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </star6>\r
- <star7>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj" fmla="val 34601" />\r
- <gd name="hf" fmla="val 102572" />\r
- <gd name="vf" fmla="val 105210" />\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a" fmla="pin 0 adj 50000" />\r
- <gd name="swd2" fmla="*/ wd2 hf 100000" />\r
- <gd name="shd2" fmla="*/ hd2 vf 100000" />\r
- <gd name="svc" fmla="*/ vc vf 100000" />\r
- <gd name="dx1" fmla="*/ swd2 97493 100000" />\r
- <gd name="dx2" fmla="*/ swd2 78183 100000" />\r
- <gd name="dx3" fmla="*/ swd2 43388 100000" />\r
- <gd name="dy1" fmla="*/ shd2 62349 100000" />\r
- <gd name="dy2" fmla="*/ shd2 22252 100000" />\r
- <gd name="dy3" fmla="*/ shd2 90097 100000" />\r
- <gd name="x1" fmla="+- hc 0 dx1" />\r
- <gd name="x2" fmla="+- hc 0 dx2" />\r
- <gd name="x3" fmla="+- hc 0 dx3" />\r
- <gd name="x4" fmla="+- hc dx3 0" />\r
- <gd name="x5" fmla="+- hc dx2 0" />\r
- <gd name="x6" fmla="+- hc dx1 0" />\r
- <gd name="y1" fmla="+- svc 0 dy1" />\r
- <gd name="y2" fmla="+- svc dy2 0" />\r
- <gd name="y3" fmla="+- svc dy3 0" />\r
- <gd name="iwd2" fmla="*/ swd2 a 50000" />\r
- <gd name="ihd2" fmla="*/ shd2 a 50000" />\r
- <gd name="sdx1" fmla="*/ iwd2 97493 100000" />\r
- <gd name="sdx2" fmla="*/ iwd2 78183 100000" />\r
- <gd name="sdx3" fmla="*/ iwd2 43388 100000" />\r
- <gd name="sx1" fmla="+- hc 0 sdx1" />\r
- <gd name="sx2" fmla="+- hc 0 sdx2" />\r
- <gd name="sx3" fmla="+- hc 0 sdx3" />\r
- <gd name="sx4" fmla="+- hc sdx3 0" />\r
- <gd name="sx5" fmla="+- hc sdx2 0" />\r
- <gd name="sx6" fmla="+- hc sdx1 0" />\r
- <gd name="sdy1" fmla="*/ ihd2 90097 100000" />\r
- <gd name="sdy2" fmla="*/ ihd2 22252 100000" />\r
- <gd name="sdy3" fmla="*/ ihd2 62349 100000" />\r
- <gd name="sy1" fmla="+- svc 0 sdy1" />\r
- <gd name="sy2" fmla="+- svc 0 sdy2" />\r
- <gd name="sy3" fmla="+- svc sdy3 0" />\r
- <gd name="sy4" fmla="+- svc ihd2 0" />\r
- <gd name="yAdj" fmla="+- svc 0 ihd2" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj" minY="0" maxY="50000">\r
- <pos x="hc" y="yAdj" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="x5" y="y1" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="x6" y="y2" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x4" y="y3" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x3" y="y3" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="x1" y="y2" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="x2" y="y1" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="sx2" t="sy1" r="sx5" b="sy3" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="x1" y="y2" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="sx1" y="sy2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx3" y="sy1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="hc" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx4" y="sy1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x5" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx6" y="sy2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x6" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx5" y="sy3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="hc" y="sy4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx2" y="sy3" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </star7>\r
- <star8>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj" fmla="val 37500" />\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a" fmla="pin 0 adj 50000" />\r
- <gd name="dx1" fmla="cos wd2 2700000" />\r
- <gd name="x1" fmla="+- hc 0 dx1" />\r
- <gd name="x2" fmla="+- hc dx1 0" />\r
- <gd name="dy1" fmla="sin hd2 2700000" />\r
- <gd name="y1" fmla="+- vc 0 dy1" />\r
- <gd name="y2" fmla="+- vc dy1 0" />\r
- <gd name="iwd2" fmla="*/ wd2 a 50000" />\r
- <gd name="ihd2" fmla="*/ hd2 a 50000" />\r
- <gd name="sdx1" fmla="*/ iwd2 92388 100000" />\r
- <gd name="sdx2" fmla="*/ iwd2 38268 100000" />\r
- <gd name="sdy1" fmla="*/ ihd2 92388 100000" />\r
- <gd name="sdy2" fmla="*/ ihd2 38268 100000" />\r
- <gd name="sx1" fmla="+- hc 0 sdx1" />\r
- <gd name="sx2" fmla="+- hc 0 sdx2" />\r
- <gd name="sx3" fmla="+- hc sdx2 0" />\r
- <gd name="sx4" fmla="+- hc sdx1 0" />\r
- <gd name="sy1" fmla="+- vc 0 sdy1" />\r
- <gd name="sy2" fmla="+- vc 0 sdy2" />\r
- <gd name="sy3" fmla="+- vc sdy2 0" />\r
- <gd name="sy4" fmla="+- vc sdy1 0" />\r
- <gd name="yAdj" fmla="+- vc 0 ihd2" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj" minY="0" maxY="50000">\r
- <pos x="hc" y="yAdj" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x2" y="y2" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x1" y="y2" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="x1" y="y1" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="x2" y="y1" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="sx1" t="sy1" r="sx4" b="sy4" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="vc" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="sx1" y="sy2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx2" y="sy1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="hc" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx3" y="sy1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx4" y="sy2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="vc" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx4" y="sy3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx3" y="sy4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="hc" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx2" y="sy4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="sx1" y="sy3" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </star8>\r
- <straightConnector1>\r
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path fill="none">\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- </path>\r
- </pathLst>\r
- </straightConnector1>\r
- <stripedRightArrow>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 50000" />\r
-\r
- <gd name="adj2" fmla="val 50000" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="maxAdj2" fmla="*/ 84375 w ss" />\r
-\r
- <gd name="a1" fmla="pin 0 adj1 100000" />\r
- <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
- <gd name="x4" fmla="*/ ss 5 32" />\r
- <gd name="dx5" fmla="*/ ss a2 100000" />\r
- <gd name="x5" fmla="+- r 0 dx5" />\r
- <gd name="dy1" fmla="*/ h a1 200000" />\r
- <gd name="y1" fmla="+- vc 0 dy1" />\r
- <gd name="y2" fmla="+- vc dy1 0" />\r
- <gd name="dx6" fmla="*/ dy1 dx5 hd2" />\r
- <gd name="x6" fmla="+- r 0 dx6" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj1" minY="0" maxY="100000">\r
- <pos x="l" y="y1" />\r
- </ahXY>\r
- <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">\r
- <pos x="x5" y="t" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="x5" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x5" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="x4" t="y1" r="x6" b="y2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="y1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="ssd32" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="ssd32" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="y2" />\r
- </lnTo>\r
- <close />\r
- <moveTo>\r
- <pt x="ssd16" y="y1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="ssd8" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="ssd8" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="ssd16" y="y2" />\r
- </lnTo>\r
- <close />\r
- <moveTo>\r
- <pt x="x4" y="y1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x5" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x5" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="vc" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x5" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x5" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y2" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </stripedRightArrow>\r
- <sun>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj" fmla="val 25000" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a" fmla="pin 12500 adj 46875" />\r
- <gd name="g0" fmla="+- 50000 0 a" />\r
- <gd name="g1" fmla="*/ g0 30274 32768" />\r
- <gd name="g2" fmla="*/ g0 12540 32768" />\r
- <gd name="g3" fmla="+- g1 50000 0" />\r
- <gd name="g4" fmla="+- g2 50000 0" />\r
- <gd name="g5" fmla="+- 50000 0 g1" />\r
- <gd name="g6" fmla="+- 50000 0 g2" />\r
- <gd name="g7" fmla="*/ g0 23170 32768" />\r
- <gd name="g8" fmla="+- 50000 g7 0" />\r
- <gd name="g9" fmla="+- 50000 0 g7" />\r
- <gd name="g10" fmla="*/ g5 3 4" />\r
- <gd name="g11" fmla="*/ g6 3 4" />\r
- <gd name="g12" fmla="+- g10 3662 0" />\r
- <gd name="g13" fmla="+- g11 3662 0" />\r
- <gd name="g14" fmla="+- g11 12500 0" />\r
- <gd name="g15" fmla="+- 100000 0 g10" />\r
- <gd name="g16" fmla="+- 100000 0 g12" />\r
- <gd name="g17" fmla="+- 100000 0 g13" />\r
- <gd name="g18" fmla="+- 100000 0 g14" />\r
- <gd name="ox1" fmla="*/ w 18436 21600" />\r
- <gd name="oy1" fmla="*/ h 3163 21600" />\r
- <gd name="ox2" fmla="*/ w 3163 21600" />\r
- <gd name="oy2" fmla="*/ h 18436 21600" />\r
- <gd name="x8" fmla="*/ w g8 100000" />\r
- <gd name="x9" fmla="*/ w g9 100000" />\r
- <gd name="x10" fmla="*/ w g10 100000" />\r
- <gd name="x12" fmla="*/ w g12 100000" />\r
- <gd name="x13" fmla="*/ w g13 100000" />\r
- <gd name="x14" fmla="*/ w g14 100000" />\r
- <gd name="x15" fmla="*/ w g15 100000" />\r
- <gd name="x16" fmla="*/ w g16 100000" />\r
- <gd name="x17" fmla="*/ w g17 100000" />\r
- <gd name="x18" fmla="*/ w g18 100000" />\r
- <gd name="x19" fmla="*/ w a 100000" />\r
- <gd name="wR" fmla="*/ w g0 100000" />\r
- <gd name="hR" fmla="*/ h g0 100000" />\r
- <gd name="y8" fmla="*/ h g8 100000" />\r
- <gd name="y9" fmla="*/ h g9 100000" />\r
- <gd name="y10" fmla="*/ h g10 100000" />\r
- <gd name="y12" fmla="*/ h g12 100000" />\r
- <gd name="y13" fmla="*/ h g13 100000" />\r
- <gd name="y14" fmla="*/ h g14 100000" />\r
- <gd name="y15" fmla="*/ h g15 100000" />\r
- <gd name="y16" fmla="*/ h g16 100000" />\r
- <gd name="y17" fmla="*/ h g17 100000" />\r
- <gd name="y18" fmla="*/ h g18 100000" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj" minX="12500" maxX="46875">\r
- <pos x="x19" y="vc" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="x9" t="y9" r="x8" b="y8" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="r" y="vc" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x15" y="y18" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x15" y="y14" />\r
- </lnTo>\r
- <close />\r
- <moveTo>\r
- <pt x="ox1" y="oy1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x16" y="y13" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x17" y="y12" />\r
- </lnTo>\r
- <close />\r
- <moveTo>\r
- <pt x="hc" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x18" y="y10" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x14" y="y10" />\r
- </lnTo>\r
- <close />\r
- <moveTo>\r
- <pt x="ox2" y="oy1" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x13" y="y12" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x12" y="y13" />\r
- </lnTo>\r
- <close />\r
- <moveTo>\r
- <pt x="l" y="vc" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x10" y="y14" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x10" y="y18" />\r
- </lnTo>\r
- <close />\r
- <moveTo>\r
- <pt x="ox2" y="oy2" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x12" y="y17" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x13" y="y16" />\r
- </lnTo>\r
- <close />\r
- <moveTo>\r
- <pt x="hc" y="b" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x14" y="y15" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x18" y="y15" />\r
- </lnTo>\r
- <close />\r
- <moveTo>\r
- <pt x="ox1" y="oy2" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x17" y="y16" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x16" y="y17" />\r
- </lnTo>\r
- <close />\r
- <moveTo>\r
- <pt x="x19" y="vc" />\r
- </moveTo>\r
- <arcTo wR="wR" hR="hR" stAng="cd2" swAng="21600000" />\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </sun>\r
- <swooshArrow>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 25000" />\r
-\r
- <gd name="adj2" fmla="val 16667" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
-\r
-\r
- <gd name="a1" fmla="pin 1 adj1 75000" />\r
-\r
- <gd name="maxAdj2" fmla="*/ 70000 w ss" />\r
-\r
- <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
- <gd name="ad1" fmla="*/ h a1 100000" />\r
- <gd name="ad2" fmla="*/ ss a2 100000" />\r
-\r
- <gd name="xB" fmla="+- r 0 ad2" />\r
- <gd name="yB" fmla="+- t ssd8 0" />\r
-\r
- <gd name="alfa" fmla="*/ cd4 1 14" />\r
-\r
- <gd name="dx0" fmla="tan ssd8 alfa" />\r
- <gd name="xC" fmla="+- xB 0 dx0" />\r
-\r
- <gd name="dx1" fmla="tan ad1 alfa" />\r
-\r
- <gd name="yF" fmla="+- yB ad1 0" />\r
- <gd name="xF" fmla="+- xB dx1 0" />\r
-\r
- <gd name="xE" fmla="+- xF dx0 0" />\r
- <gd name="yE" fmla="+- yF ssd8 0" />\r
-\r
- <gd name="dy2" fmla="+- yE 0 t" />\r
- <gd name="dy22" fmla="*/ dy2 1 2" />\r
- <gd name="dy3" fmla="*/ h 1 20" />\r
- <gd name="yD" fmla="+- t dy22 dy3" />\r
-\r
-\r
- <gd name="dy4" fmla="*/ hd6 1 1" />\r
- <gd name="yP1" fmla="+- hd6 dy4 0" />\r
- <gd name="xP1" fmla="val wd6" />\r
-\r
-\r
- <gd name="dy5" fmla="*/ hd6 1 2" />\r
- <gd name="yP2" fmla="+- yF dy5 0" />\r
- <gd name="xP2" fmla="val wd4" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj1" minY="1" maxY="75000">\r
- <pos x="xF" y="yF" />\r
- </ahXY>\r
- <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">\r
- <pos x="xB" y="yB" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="cd4">\r
- <pos x="l" y="b" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="xC" y="t" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="yD" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="xE" y="yE" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="b" />\r
- </moveTo>\r
- <quadBezTo>\r
- <pt x="xP1" y="yP1" />\r
- <pt x="xB" y="yB" />\r
- </quadBezTo>\r
- <lnTo>\r
- <pt x="xC" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="yD" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xE" y="yE" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xF" y="yF" />\r
- </lnTo>\r
- <quadBezTo>\r
- <pt x="xP2" y="yP2" />\r
- <pt x="l" y="b" />\r
- </quadBezTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </swooshArrow>\r
- <teardrop>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj" fmla="val 100000" />\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a" fmla="pin 0 adj 200000" />\r
- <gd name="r2" fmla="sqrt 2" />\r
- <gd name="tw" fmla="*/ wd2 r2 1" />\r
- <gd name="th" fmla="*/ hd2 r2 1" />\r
- <gd name="sw" fmla="*/ tw a 100000" />\r
- <gd name="sh" fmla="*/ th a 100000" />\r
- <gd name="dx1" fmla="cos sw 2700000" />\r
- <gd name="dy1" fmla="sin sh 2700000" />\r
- <gd name="x1" fmla="+- hc dx1 0" />\r
- <gd name="y1" fmla="+- vc 0 dy1" />\r
- <gd name="x2" fmla="+/ hc x1 2" />\r
- <gd name="y2" fmla="+/ vc y1 2" />\r
- <gd name="idx" fmla="cos wd2 2700000" />\r
- <gd name="idy" fmla="sin hd2 2700000" />\r
- <gd name="il" fmla="+- hc 0 idx" />\r
- <gd name="ir" fmla="+- hc idx 0" />\r
- <gd name="it" fmla="+- vc 0 idy" />\r
- <gd name="ib" fmla="+- vc idy 0" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj" minX="0" maxX="200000">\r
- <pos x="x1" y="t" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="ir" y="ib" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="il" y="ib" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="il" y="it" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="x1" y="y1" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="vc" />\r
- </moveTo>\r
- <arcTo wR="wd2" hR="hd2" stAng="cd2" swAng="cd4" />\r
- <quadBezTo>\r
- <pt x="x2" y="t" />\r
- <pt x="x1" y="y1" />\r
- </quadBezTo>\r
- <quadBezTo>\r
- <pt x="r" y="y2" />\r
- <pt x="r" y="vc" />\r
- </quadBezTo>\r
- <arcTo wR="wd2" hR="hd2" stAng="0" swAng="cd4" />\r
- <arcTo wR="wd2" hR="hd2" stAng="cd4" swAng="cd4" />\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </teardrop>\r
- <trapezoid>\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj" fmla="val 25000" />\r
- </avLst>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="maxAdj" fmla="*/ 50000 w ss" />\r
- <gd name="a" fmla="pin 0 adj maxAdj" />\r
- <gd name="x1" fmla="*/ ss a 200000" />\r
- <gd name="x2" fmla="*/ ss a 100000" />\r
- <gd name="x3" fmla="+- r 0 x2" />\r
- <gd name="x4" fmla="+- r 0 x1" />\r
- <gd name="il" fmla="*/ wd3 a maxAdj" />\r
- <gd name="it" fmla="*/ hd3 a maxAdj" />\r
- <gd name="ir" fmla="+- r 0 il" />\r
- </gdLst>\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj" minX="0" maxX="maxAdj">\r
- <pos x="x2" y="t" />\r
- </ahXY>\r
- </ahLst>\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="x1" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="x4" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
- <rect l="il" t="it" r="ir" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="b" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x2" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
- </trapezoid>\r
- <triangle>\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj" fmla="val 50000" />\r
- </avLst>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a" fmla="pin 0 adj 100000" />\r
- <gd name="x1" fmla="*/ w a 200000" />\r
- <gd name="x2" fmla="*/ w a 100000" />\r
- <gd name="x3" fmla="+- x1 wd2 0" />\r
- </gdLst>\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj" minX="0" maxX="100000">\r
- <pos x="x2" y="t" />\r
- </ahXY>\r
- </ahLst>\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="x2" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="x1" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="l" y="b" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x2" y="b" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="r" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="x3" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
- <rect l="x1" t="vc" r="x3" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="b" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x2" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
- </triangle>\r
- <upArrowCallout>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 25000" />\r
-\r
- <gd name="adj2" fmla="val 25000" />\r
-\r
- <gd name="adj3" fmla="val 25000" />\r
-\r
- <gd name="adj4" fmla="val 64977" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="maxAdj2" fmla="*/ 50000 w ss" />\r
-\r
- <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
- <gd name="maxAdj1" fmla="*/ a2 2 1" />\r
-\r
- <gd name="a1" fmla="pin 0 adj1 maxAdj1" />\r
- <gd name="maxAdj3" fmla="*/ 100000 h ss" />\r
-\r
- <gd name="a3" fmla="pin 0 adj3 maxAdj3" />\r
- <gd name="q2" fmla="*/ a3 ss h" />\r
-\r
- <gd name="maxAdj4" fmla="+- 100000 0 q2" />\r
-\r
- <gd name="a4" fmla="pin 0 adj4 maxAdj4" />\r
- <gd name="dx1" fmla="*/ ss a2 100000" />\r
-\r
- <gd name="dx2" fmla="*/ ss a1 200000" />\r
-\r
- <gd name="x1" fmla="+- hc 0 dx1" />\r
- <gd name="x2" fmla="+- hc 0 dx2" />\r
- <gd name="x3" fmla="+- hc dx2 0" />\r
- <gd name="x4" fmla="+- hc dx1 0" />\r
- <gd name="y1" fmla="*/ ss a3 100000" />\r
-\r
- <gd name="dy2" fmla="*/ h a4 100000" />\r
-\r
- <gd name="y2" fmla="+- b 0 dy2" />\r
- <gd name="y3" fmla="+/ y2 b 2" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj1" minX="0" maxX="maxAdj1">\r
- <pos x="x2" y="y1" />\r
- </ahXY>\r
- <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">\r
- <pos x="x1" y="t" />\r
- </ahXY>\r
- <ahXY gdRefY="adj3" minY="0" maxY="maxAdj3">\r
- <pos x="r" y="y1" />\r
- </ahXY>\r
- <ahXY gdRefY="adj4" minY="0" maxY="maxAdj4">\r
- <pos x="l" y="y2" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="y2" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="y2" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="l" t="y2" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="y2" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x2" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="hc" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </upArrowCallout>\r
- <upArrow>\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 50000" />\r
- <gd name="adj2" fmla="val 50000" />\r
- </avLst>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="maxAdj2" fmla="*/ 50000 h ss" />\r
- <gd name="a1" fmla="pin 0 adj1 100000" />\r
- <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
- <gd name="y2" fmla="*/ ss a2 100000" />\r
- <gd name="y3" fmla="+- b 0 y2" />\r
- <gd name="dx1" fmla="*/ w a1 200000" />\r
- <gd name="x1" fmla="+- hc 0 dx1" />\r
- <gd name="x2" fmla="+- hc dx1 0" />\r
- <gd name="dy1" fmla="*/ x1 y2 wd2" />\r
- <gd name="y1" fmla="+- y2 0 dy1" />\r
- <gd name="y4" fmla="+- y3 dy1 0" />\r
- </gdLst>\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj1" minX="0" maxX="100000">\r
- <pos x="x1" y="y3" />\r
- </ahXY>\r
- <ahXY gdRefY="adj2" minY="0" maxY="maxAdj2">\r
- <pos x="l" y="y2" />\r
- </ahXY>\r
- </ahLst>\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="y2" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="x1" y="vc" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="y3" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="y3" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="x2" y="vc" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="y2" />\r
- </cxn>\r
- </cxnLst>\r
- <rect l="x1" t="y1" r="x2" b="y4" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="y2" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="hc" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y2" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
- </upArrow>\r
- <upDownArrow>\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 50000" />\r
- <gd name="adj2" fmla="val 50000" />\r
- </avLst>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="maxAdj2" fmla="*/ 50000 h ss" />\r
- <gd name="a1" fmla="pin 0 adj1 100000" />\r
- <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
- <gd name="y2" fmla="*/ ss a2 100000" />\r
- <gd name="y3" fmla="+- b 0 y2" />\r
- <gd name="dx1" fmla="*/ w a1 200000" />\r
- <gd name="x1" fmla="+- hc 0 dx1" />\r
- <gd name="x2" fmla="+- hc dx1 0" />\r
- <gd name="dy1" fmla="*/ x1 y2 wd2" />\r
- <gd name="y1" fmla="+- y2 0 dy1" />\r
- <gd name="y4" fmla="+- y3 dy1 0" />\r
- </gdLst>\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj1" minX="0" maxX="100000">\r
- <pos x="x1" y="y3" />\r
- </ahXY>\r
- <ahXY gdRefY="adj2" minY="0" maxY="maxAdj2">\r
- <pos x="l" y="y2" />\r
- </ahXY>\r
- </ahLst>\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="y2" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="x1" y="vc" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="y3" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="y3" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="x2" y="vc" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="y2" />\r
- </cxn>\r
- </cxnLst>\r
- <rect l="x1" t="y1" r="x2" b="y4" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="y2" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="hc" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="hc" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y2" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
- </upDownArrow>\r
- <upDownArrowCallout>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 25000" />\r
-\r
- <gd name="adj2" fmla="val 25000" />\r
-\r
- <gd name="adj3" fmla="val 25000" />\r
-\r
- <gd name="adj4" fmla="val 48123" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="maxAdj2" fmla="*/ 50000 w ss" />\r
-\r
- <gd name="a2" fmla="pin 0 adj2 maxAdj2" />\r
- <gd name="maxAdj1" fmla="*/ a2 2 1" />\r
-\r
- <gd name="a1" fmla="pin 0 adj1 maxAdj1" />\r
- <gd name="maxAdj3" fmla="*/ 50000 h ss" />\r
-\r
- <gd name="a3" fmla="pin 0 adj3 maxAdj3" />\r
- <gd name="q2" fmla="*/ a3 ss hd2" />\r
-\r
- <gd name="maxAdj4" fmla="+- 100000 0 q2" />\r
-\r
- <gd name="a4" fmla="pin 0 adj4 maxAdj4" />\r
- <gd name="dx1" fmla="*/ ss a2 100000" />\r
-\r
- <gd name="dx2" fmla="*/ ss a1 200000" />\r
-\r
- <gd name="x1" fmla="+- hc 0 dx1" />\r
- <gd name="x2" fmla="+- hc 0 dx2" />\r
- <gd name="x3" fmla="+- hc dx2 0" />\r
- <gd name="x4" fmla="+- hc dx1 0" />\r
- <gd name="y1" fmla="*/ ss a3 100000" />\r
-\r
- <gd name="y4" fmla="+- b 0 y1" />\r
-\r
- <gd name="dy2" fmla="*/ h a4 200000" />\r
-\r
- <gd name="y2" fmla="+- vc 0 dy2" />\r
-\r
- <gd name="y3" fmla="+- vc dy2 0" />\r
-\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj1" minX="0" maxX="maxAdj1">\r
- <pos x="x2" y="y1" />\r
- </ahXY>\r
- <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">\r
- <pos x="x1" y="t" />\r
- </ahXY>\r
- <ahXY gdRefY="adj3" minY="0" maxY="maxAdj3">\r
- <pos x="r" y="y1" />\r
- </ahXY>\r
- <ahXY gdRefY="adj4" minY="0" maxY="maxAdj4">\r
- <pos x="l" y="y2" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="l" t="y2" r="r" b="y3" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="y2" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x2" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="hc" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x3" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x4" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="hc" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="y3" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </upDownArrowCallout>\r
- <uturnArrow>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 25000" />\r
-\r
- <gd name="adj2" fmla="val 25000" />\r
-\r
- <gd name="adj3" fmla="val 25000" />\r
-\r
- <gd name="adj4" fmla="val 43750" />\r
-\r
- <gd name="adj5" fmla="val 75000" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a2" fmla="pin 0 adj2 25000" />\r
- <gd name="maxAdj1" fmla="*/ a2 2 1" />\r
- <gd name="a1" fmla="pin 0 adj1 maxAdj1" />\r
- <gd name="q2" fmla="*/ a1 ss h" />\r
-\r
- <gd name="q3" fmla="+- 100000 0 q2" />\r
-\r
- <gd name="maxAdj3" fmla="*/ q3 h ss" />\r
-\r
- <gd name="a3" fmla="pin 0 adj3 maxAdj3" />\r
- <gd name="q1" fmla="+- a3 a1 0" />\r
- <gd name="minAdj5" fmla="*/ q1 ss h" />\r
- <gd name="a5" fmla="pin minAdj5 adj5 100000" />\r
- <gd name="th" fmla="*/ ss a1 100000" />\r
-\r
- <gd name="aw2" fmla="*/ ss a2 100000" />\r
-\r
- <gd name="th2" fmla="*/ th 1 2" />\r
- <gd name="dh2" fmla="+- aw2 0 th2" />\r
-\r
- <gd name="y5" fmla="*/ h a5 100000" />\r
-\r
- <gd name="ah" fmla="*/ ss a3 100000" />\r
-\r
- <gd name="y4" fmla="+- y5 0 ah" />\r
- <gd name="x9" fmla="+- r 0 dh2" />\r
-\r
- <gd name="bw" fmla="*/ x9 1 2" />\r
- <gd name="bs" fmla="min bw y4" />\r
- <gd name="maxAdj4" fmla="*/ bs 100000 ss" />\r
- <gd name="a4" fmla="pin 0 adj4 maxAdj4" />\r
-\r
-\r
- <gd name="bd" fmla="*/ ss a4 100000" />\r
-\r
-\r
-\r
- <gd name="bd3" fmla="+- bd 0 th" />\r
- <gd name="bd2" fmla="max bd3 0" />\r
- <gd name="x3" fmla="+- th bd2 0" />\r
-\r
- <gd name="x8" fmla="+- r 0 aw2" />\r
-\r
- <gd name="x6" fmla="+- x8 0 aw2" />\r
-\r
- <gd name="x7" fmla="+- x6 dh2 0" />\r
-\r
- <gd name="x4" fmla="+- x9 0 bd" />\r
-\r
- <gd name="x5" fmla="+- x7 0 bd2" />\r
-\r
- <gd name="cx" fmla="+/ th x7 2" />\r
-\r
-\r
-\r
-\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj1" minX="0" maxX="maxAdj1">\r
- <pos x="th" y="b" />\r
- </ahXY>\r
- <ahXY gdRefX="adj2" minX="0" maxX="25000">\r
- <pos x="x6" y="b" />\r
- </ahXY>\r
- <ahXY gdRefY="adj3" minY="0" maxY="maxAdj3">\r
- <pos x="x6" y="y4" />\r
- </ahXY>\r
- <ahXY gdRefX="adj4" minX="0" maxX="maxAdj4">\r
- <pos x="bd" y="t" />\r
- </ahXY>\r
- <ahXY gdRefY="adj5" minY="minAdj5" maxY="100000">\r
- <pos x="r" y="y5" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="cd4">\r
- <pos x="x6" y="y4" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="x8" y="y5" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="y4" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="cx" y="t" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="th2" y="b" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="b" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="l" y="bd" />\r
- </lnTo>\r
- <arcTo wR="bd" hR="bd" stAng="cd2" swAng="cd4" />\r
- <lnTo>\r
- <pt x="x4" y="t" />\r
- </lnTo>\r
- <arcTo wR="bd" hR="bd" stAng="3cd4" swAng="cd4" />\r
- <lnTo>\r
- <pt x="x9" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x8" y="y5" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x6" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x7" y="y4" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x7" y="x3" />\r
- </lnTo>\r
- <arcTo wR="bd2" hR="bd2" stAng="0" swAng="-5400000" />\r
- <lnTo>\r
- <pt x="x3" y="th" />\r
- </lnTo>\r
- <arcTo wR="bd2" hR="bd2" stAng="3cd4" swAng="-5400000" />\r
- <lnTo>\r
- <pt x="th" y="b" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </uturnArrow>\r
- <verticalScroll>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj" fmla="val 12500" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a" fmla="pin 0 adj 25000" />\r
- <gd name="ch" fmla="*/ ss a 100000" />\r
-\r
- <gd name="ch2" fmla="*/ ch 1 2" />\r
-\r
- <gd name="ch4" fmla="*/ ch 1 4" />\r
-\r
-\r
-\r
-\r
-\r
- <gd name="x3" fmla="+- ch ch2 0" />\r
-\r
- <gd name="x4" fmla="+- ch ch 0" />\r
-\r
- <gd name="x6" fmla="+- r 0 ch" />\r
-\r
- <gd name="x7" fmla="+- r 0 ch2" />\r
-\r
- <gd name="x5" fmla="+- x6 0 ch2" />\r
-\r
-\r
-\r
-\r
-\r
- <gd name="y3" fmla="+- b 0 ch" />\r
-\r
- <gd name="y4" fmla="+- b 0 ch2" />\r
-\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj" minY="0" maxY="25000">\r
- <pos x="l" y="ch" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="ch" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="x6" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="ch" t="ch" r="x6" b="y4" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path stroke="false" extrusionOk="false">\r
-\r
- <moveTo>\r
- <pt x="ch2" y="b" />\r
- </moveTo>\r
- <arcTo wR="ch2" hR="ch2" stAng="cd4" swAng="-5400000" />\r
- <lnTo>\r
- <pt x="ch2" y="y4" />\r
- </lnTo>\r
- <arcTo wR="ch4" hR="ch4" stAng="cd4" swAng="-10800000" />\r
- <lnTo>\r
- <pt x="ch" y="y3" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="ch" y="ch2" />\r
- </lnTo>\r
- <arcTo wR="ch2" hR="ch2" stAng="cd2" swAng="cd4" />\r
- <lnTo>\r
- <pt x="x7" y="t" />\r
- </lnTo>\r
- <arcTo wR="ch2" hR="ch2" stAng="3cd4" swAng="cd2" />\r
- <lnTo>\r
- <pt x="x6" y="ch" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x6" y="y4" />\r
- </lnTo>\r
- <arcTo wR="ch2" hR="ch2" stAng="0" swAng="cd4" />\r
- <close />\r
- <moveTo>\r
- <pt x="x4" y="ch2" />\r
- </moveTo>\r
- <arcTo wR="ch2" hR="ch2" stAng="0" swAng="cd4" />\r
- <arcTo wR="ch4" hR="ch4" stAng="cd4" swAng="cd2" />\r
- <close />\r
- </path>\r
- <path fill="darkenLess" stroke="false" extrusionOk="false">\r
-\r
- <moveTo>\r
- <pt x="x4" y="ch2" />\r
- </moveTo>\r
- <arcTo wR="ch2" hR="ch2" stAng="0" swAng="cd4" />\r
- <arcTo wR="ch4" hR="ch4" stAng="cd4" swAng="cd2" />\r
- <close />\r
- <moveTo>\r
- <pt x="ch" y="y4" />\r
- </moveTo>\r
- <arcTo wR="ch2" hR="ch2" stAng="0" swAng="3cd4" />\r
- <arcTo wR="ch4" hR="ch4" stAng="3cd4" swAng="cd2" />\r
- <close />\r
- </path>\r
- <path fill="none" extrusionOk="false">\r
-\r
- <moveTo>\r
- <pt x="ch" y="y3" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="ch" y="ch2" />\r
- </lnTo>\r
- <arcTo wR="ch2" hR="ch2" stAng="cd2" swAng="cd4" />\r
- <lnTo>\r
- <pt x="x7" y="t" />\r
- </lnTo>\r
- <arcTo wR="ch2" hR="ch2" stAng="3cd4" swAng="cd2" />\r
- <lnTo>\r
- <pt x="x6" y="ch" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x6" y="y4" />\r
- </lnTo>\r
- <arcTo wR="ch2" hR="ch2" stAng="0" swAng="cd4" />\r
- <lnTo>\r
- <pt x="ch2" y="b" />\r
- </lnTo>\r
- <arcTo wR="ch2" hR="ch2" stAng="cd4" swAng="cd2" />\r
- <close />\r
- <moveTo>\r
- <pt x="x3" y="t" />\r
- </moveTo>\r
- <arcTo wR="ch2" hR="ch2" stAng="3cd4" swAng="cd2" />\r
- <arcTo wR="ch4" hR="ch4" stAng="cd4" swAng="cd2" />\r
- <lnTo>\r
- <pt x="x4" y="ch2" />\r
- </lnTo>\r
- <moveTo>\r
- <pt x="x6" y="ch" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x3" y="ch" />\r
- </lnTo>\r
- <moveTo>\r
- <pt x="ch2" y="y3" />\r
- </moveTo>\r
- <arcTo wR="ch4" hR="ch4" stAng="3cd4" swAng="cd2" />\r
- <lnTo>\r
- <pt x="ch" y="y4" />\r
- </lnTo>\r
- <moveTo>\r
- <pt x="ch2" y="b" />\r
- </moveTo>\r
- <arcTo wR="ch2" hR="ch2" stAng="cd4" swAng="-5400000" />\r
- <lnTo>\r
- <pt x="ch" y="y3" />\r
- </lnTo>\r
- </path>\r
- </pathLst>\r
-\r
- </verticalScroll>\r
- <wave>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val 12500" />\r
-\r
- <gd name="adj2" fmla="val 0" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="a1" fmla="pin 0 adj1 20000" />\r
- <gd name="a2" fmla="pin -10000 adj2 10000" />\r
- <gd name="y1" fmla="*/ h a1 100000" />\r
-\r
- <gd name="dy2" fmla="*/ y1 10 3" />\r
- <gd name="y2" fmla="+- y1 0 dy2" />\r
-\r
- <gd name="y3" fmla="+- y1 dy2 0" />\r
-\r
- <gd name="y4" fmla="+- b 0 y1" />\r
-\r
- <gd name="y5" fmla="+- y4 0 dy2" />\r
-\r
- <gd name="y6" fmla="+- y4 dy2 0" />\r
-\r
- <gd name="dx1" fmla="*/ w a2 100000" />\r
-\r
- <gd name="of2" fmla="*/ w a2 50000" />\r
-\r
- <gd name="x1" fmla="abs dx1" />\r
-\r
- <gd name="dx2" fmla="?: of2 0 of2" />\r
- <gd name="x2" fmla="+- l 0 dx2" />\r
-\r
- <gd name="dx5" fmla="?: of2 of2 0" />\r
- <gd name="x5" fmla="+- r 0 dx5" />\r
-\r
- <gd name="dx3" fmla="+/ dx2 x5 3" />\r
-\r
- <gd name="x3" fmla="+- x2 dx3 0" />\r
-\r
- <gd name="x4" fmla="+/ x3 x5 2" />\r
-\r
- <gd name="x6" fmla="+- l dx5 0" />\r
-\r
- <gd name="x10" fmla="+- r dx2 0" />\r
-\r
- <gd name="x7" fmla="+- x6 dx3 0" />\r
-\r
- <gd name="x8" fmla="+/ x7 x10 2" />\r
-\r
- <gd name="x9" fmla="+- r 0 x1" />\r
-\r
- <gd name="xAdj" fmla="+- hc dx1 0" />\r
- <gd name="xAdj2" fmla="+- hc 0 dx1" />\r
- <gd name="il" fmla="max x2 x6" />\r
- <gd name="ir" fmla="min x5 x10" />\r
- <gd name="it" fmla="*/ h a1 50000" />\r
- <gd name="ib" fmla="+- b 0 it" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefY="adj1" minY="0" maxY="20000">\r
- <pos x="l" y="y1" />\r
- </ahXY>\r
- <ahXY gdRefX="adj2" minX="-10000" maxX="10000">\r
- <pos x="xAdj" y="b" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="cd4">\r
- <pos x="xAdj2" y="y1" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="x1" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="xAdj" y="y4" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="x9" y="vc" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="x2" y="y1" />\r
- </moveTo>\r
- <cubicBezTo>\r
- <pt x="x3" y="y2" />\r
- <pt x="x4" y="y3" />\r
- <pt x="x5" y="y1" />\r
- </cubicBezTo>\r
- <lnTo>\r
- <pt x="x10" y="y4" />\r
- </lnTo>\r
- <cubicBezTo>\r
- <pt x="x8" y="y6" />\r
- <pt x="x7" y="y5" />\r
- <pt x="x6" y="y4" />\r
- </cubicBezTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </wave>\r
- <wedgeEllipseCallout>\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val -20833" />\r
- <gd name="adj2" fmla="val 62500" />\r
- </avLst>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="dxPos" fmla="*/ w adj1 100000" />\r
- <gd name="dyPos" fmla="*/ h adj2 100000" />\r
- <gd name="xPos" fmla="+- hc dxPos 0" />\r
- <gd name="yPos" fmla="+- vc dyPos 0" />\r
- <gd name="sdx" fmla="*/ dxPos h 1" />\r
- <gd name="sdy" fmla="*/ dyPos w 1" />\r
- <gd name="pang" fmla="at2 sdx sdy" />\r
- <gd name="stAng" fmla="+- pang 660000 0" />\r
- <gd name="enAng" fmla="+- pang 0 660000" />\r
- <gd name="dx1" fmla="cos wd2 stAng" />\r
- <gd name="dy1" fmla="sin hd2 stAng" />\r
- <gd name="x1" fmla="+- hc dx1 0" />\r
- <gd name="y1" fmla="+- vc dy1 0" />\r
- <gd name="dx2" fmla="cos wd2 enAng" />\r
- <gd name="dy2" fmla="sin hd2 enAng" />\r
- <gd name="x2" fmla="+- hc dx2 0" />\r
- <gd name="y2" fmla="+- vc dy2 0" />\r
- <gd name="stAng1" fmla="at2 dx1 dy1" />\r
- <gd name="enAng1" fmla="at2 dx2 dy2" />\r
- <gd name="swAng1" fmla="+- enAng1 0 stAng1" />\r
- <gd name="swAng2" fmla="+- swAng1 21600000 0" />\r
- <gd name="swAng" fmla="?: swAng1 swAng1 swAng2" />\r
- <gd name="idx" fmla="cos wd2 2700000" />\r
- <gd name="idy" fmla="sin hd2 2700000" />\r
- <gd name="il" fmla="+- hc 0 idx" />\r
- <gd name="ir" fmla="+- hc idx 0" />\r
- <gd name="it" fmla="+- vc 0 idy" />\r
- <gd name="ib" fmla="+- vc idy 0" />\r
- </gdLst>\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj1" minX="-2147483647" maxX="2147483647" gdRefY="adj2" minY="-2147483647" maxY="2147483647">\r
- <pos x="xPos" y="yPos" />\r
- </ahXY>\r
- </ahLst>\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="il" y="it" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="il" y="ib" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="ir" y="ib" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="3cd4">\r
- <pos x="ir" y="it" />\r
- </cxn>\r
- <cxn ang="pang">\r
- <pos x="xPos" y="yPos" />\r
- </cxn>\r
- </cxnLst>\r
- <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="xPos" y="yPos" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x1" y="y1" />\r
- </lnTo>\r
- <arcTo wR="wd2" hR="hd2" stAng="stAng1" swAng="swAng" />\r
- <close />\r
- </path>\r
- </pathLst>\r
- </wedgeEllipseCallout>\r
- <wedgeRectCallout>\r
-\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val -20833" />\r
-\r
- <gd name="adj2" fmla="val 62500" />\r
-\r
- </avLst>\r
-\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="dxPos" fmla="*/ w adj1 100000" />\r
- <gd name="dyPos" fmla="*/ h adj2 100000" />\r
- <gd name="xPos" fmla="+- hc dxPos 0" />\r
- <gd name="yPos" fmla="+- vc dyPos 0" />\r
- <gd name="dx" fmla="+- xPos 0 hc" />\r
- <gd name="dy" fmla="+- yPos 0 vc" />\r
- <gd name="dq" fmla="*/ dxPos h w" />\r
- <gd name="ady" fmla="abs dyPos" />\r
- <gd name="adq" fmla="abs dq" />\r
- <gd name="dz" fmla="+- ady 0 adq" />\r
- <gd name="xg1" fmla="?: dxPos 7 2" />\r
- <gd name="xg2" fmla="?: dxPos 10 5" />\r
- <gd name="x1" fmla="*/ w xg1 12" />\r
- <gd name="x2" fmla="*/ w xg2 12" />\r
- <gd name="yg1" fmla="?: dyPos 7 2" />\r
- <gd name="yg2" fmla="?: dyPos 10 5" />\r
- <gd name="y1" fmla="*/ h yg1 12" />\r
- <gd name="y2" fmla="*/ h yg2 12" />\r
- <gd name="t1" fmla="?: dxPos l xPos" />\r
- <gd name="xl" fmla="?: dz l t1" />\r
- <gd name="t2" fmla="?: dyPos x1 xPos" />\r
- <gd name="xt" fmla="?: dz t2 x1" />\r
- <gd name="t3" fmla="?: dxPos xPos r" />\r
- <gd name="xr" fmla="?: dz r t3" />\r
- <gd name="t4" fmla="?: dyPos xPos x1" />\r
- <gd name="xb" fmla="?: dz t4 x1" />\r
- <gd name="t5" fmla="?: dxPos y1 yPos" />\r
- <gd name="yl" fmla="?: dz y1 t5" />\r
- <gd name="t6" fmla="?: dyPos t yPos" />\r
- <gd name="yt" fmla="?: dz t6 t" />\r
- <gd name="t7" fmla="?: dxPos yPos y1" />\r
- <gd name="yr" fmla="?: dz y1 t7" />\r
- <gd name="t8" fmla="?: dyPos yPos b" />\r
- <gd name="yb" fmla="?: dz t8 b" />\r
- </gdLst>\r
-\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj1" minX="-2147483647" maxX="2147483647" gdRefY="adj2" minY="-2147483647" maxY="2147483647">\r
- <pos x="xPos" y="yPos" />\r
- </ahXY>\r
- </ahLst>\r
-\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="xPos" y="yPos" />\r
- </cxn>\r
- </cxnLst>\r
-\r
- <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
-\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="t" />\r
- </moveTo>\r
- <lnTo>\r
- <pt x="x1" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xt" y="yt" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xr" y="yr" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xb" y="yb" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xl" y="yl" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="y1" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
-\r
- </wedgeRectCallout>\r
- <wedgeRoundRectCallout>\r
- <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="adj1" fmla="val -20833" />\r
- <gd name="adj2" fmla="val 62500" />\r
- <gd name="adj3" fmla="val 16667" />\r
- </avLst>\r
- <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <gd name="dxPos" fmla="*/ w adj1 100000" />\r
- <gd name="dyPos" fmla="*/ h adj2 100000" />\r
- <gd name="xPos" fmla="+- hc dxPos 0" />\r
- <gd name="yPos" fmla="+- vc dyPos 0" />\r
- <gd name="dq" fmla="*/ dxPos h w" />\r
- <gd name="ady" fmla="abs dyPos" />\r
- <gd name="adq" fmla="abs dq" />\r
- <gd name="dz" fmla="+- ady 0 adq" />\r
- <gd name="xg1" fmla="?: dxPos 7 2" />\r
- <gd name="xg2" fmla="?: dxPos 10 5" />\r
- <gd name="x1" fmla="*/ w xg1 12" />\r
- <gd name="x2" fmla="*/ w xg2 12" />\r
- <gd name="yg1" fmla="?: dyPos 7 2" />\r
- <gd name="yg2" fmla="?: dyPos 10 5" />\r
- <gd name="y1" fmla="*/ h yg1 12" />\r
- <gd name="y2" fmla="*/ h yg2 12" />\r
- <gd name="t1" fmla="?: dxPos l xPos" />\r
- <gd name="xl" fmla="?: dz l t1" />\r
- <gd name="t2" fmla="?: dyPos x1 xPos" />\r
- <gd name="xt" fmla="?: dz t2 x1" />\r
- <gd name="t3" fmla="?: dxPos xPos r" />\r
- <gd name="xr" fmla="?: dz r t3" />\r
- <gd name="t4" fmla="?: dyPos xPos x1" />\r
- <gd name="xb" fmla="?: dz t4 x1" />\r
- <gd name="t5" fmla="?: dxPos y1 yPos" />\r
- <gd name="yl" fmla="?: dz y1 t5" />\r
- <gd name="t6" fmla="?: dyPos t yPos" />\r
- <gd name="yt" fmla="?: dz t6 t" />\r
- <gd name="t7" fmla="?: dxPos yPos y1" />\r
- <gd name="yr" fmla="?: dz y1 t7" />\r
- <gd name="t8" fmla="?: dyPos yPos b" />\r
- <gd name="yb" fmla="?: dz t8 b" />\r
- <gd name="u1" fmla="*/ ss adj3 100000" />\r
- <gd name="u2" fmla="+- r 0 u1" />\r
- <gd name="v2" fmla="+- b 0 u1" />\r
- <gd name="il" fmla="*/ u1 29289 100000" />\r
- <gd name="ir" fmla="+- r 0 il" />\r
- <gd name="ib" fmla="+- b 0 il" />\r
- </gdLst>\r
- <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <ahXY gdRefX="adj1" minX="-2147483647" maxX="2147483647" gdRefY="adj2" minY="-2147483647" maxY="2147483647">\r
- <pos x="xPos" y="yPos" />\r
- </ahXY>\r
- </ahLst>\r
- <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <cxn ang="3cd4">\r
- <pos x="hc" y="t" />\r
- </cxn>\r
- <cxn ang="cd2">\r
- <pos x="l" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="hc" y="b" />\r
- </cxn>\r
- <cxn ang="0">\r
- <pos x="r" y="vc" />\r
- </cxn>\r
- <cxn ang="cd4">\r
- <pos x="xPos" y="yPos" />\r
- </cxn>\r
- </cxnLst>\r
- <rect l="il" t="il" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />\r
- <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">\r
- <path>\r
- <moveTo>\r
- <pt x="l" y="u1" />\r
- </moveTo>\r
- <arcTo wR="u1" hR="u1" stAng="cd2" swAng="cd4" />\r
- <lnTo>\r
- <pt x="x1" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xt" y="yt" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x2" y="t" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="u2" y="t" />\r
- </lnTo>\r
- <arcTo wR="u1" hR="u1" stAng="3cd4" swAng="cd4" />\r
- <lnTo>\r
- <pt x="r" y="y1" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xr" y="yr" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="r" y="v2" />\r
- </lnTo>\r
- <arcTo wR="u1" hR="u1" stAng="0" swAng="cd4" />\r
- <lnTo>\r
- <pt x="x2" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xb" y="yb" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="x1" y="b" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="u1" y="b" />\r
- </lnTo>\r
- <arcTo wR="u1" hR="u1" stAng="cd4" swAng="cd4" />\r
- <lnTo>\r
- <pt x="l" y="y2" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="xl" y="yl" />\r
- </lnTo>\r
- <lnTo>\r
- <pt x="l" y="y1" />\r
- </lnTo>\r
- <close />\r
- </path>\r
- </pathLst>\r
- </wedgeRoundRectCallout>\r
-</presetShapeDefinitons>\r
+++ /dev/null
-/* ====================================================================
- 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.hslf;
-
-import java.io.OutputStream;
-import java.security.GeneralSecurityException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.NavigableMap;
-import java.util.TreeMap;
-
-import javax.crypto.Cipher;
-import javax.crypto.CipherOutputStream;
-
-import org.apache.poi.hslf.exceptions.CorruptPowerPointFileException;
-import org.apache.poi.hslf.exceptions.EncryptedPowerPointFileException;
-import org.apache.poi.hslf.record.DocumentEncryptionAtom;
-import org.apache.poi.hslf.record.PersistPtrHolder;
-import org.apache.poi.hslf.record.PositionDependentRecord;
-import org.apache.poi.hslf.record.Record;
-import org.apache.poi.hslf.record.UserEditAtom;
-import org.apache.poi.hssf.record.crypto.Biff8EncryptionKey;
-import org.apache.poi.poifs.crypt.Decryptor;
-import org.apache.poi.poifs.crypt.EncryptionInfo;
-import org.apache.poi.poifs.crypt.Encryptor;
-import org.apache.poi.poifs.crypt.cryptoapi.CryptoAPIDecryptor;
-import org.apache.poi.poifs.crypt.cryptoapi.CryptoAPIEncryptor;
-import org.apache.poi.util.BitField;
-import org.apache.poi.util.Internal;
-import org.apache.poi.util.LittleEndian;
-
-/**
- * This class provides helper functions for encrypted PowerPoint documents.
- */
-@Internal
-public class EncryptedSlideShow {
- DocumentEncryptionAtom dea;
- CryptoAPIEncryptor enc = null;
- CryptoAPIDecryptor dec = null;
- Cipher cipher = null;
- CipherOutputStream cyos = null;
-
- private static final BitField fieldRecInst = new BitField(0xFFF0);
-
- protected EncryptedSlideShow(DocumentEncryptionAtom dea) {
- this.dea = dea;
- }
-
- protected EncryptedSlideShow(byte[] docstream, NavigableMap<Integer,Record> recordMap) {
- // check for DocumentEncryptionAtom, which would be at the last offset
- // need to ignore already set UserEdit and PersistAtoms
- UserEditAtom userEditAtomWithEncryption = null;
- for (Map.Entry<Integer, Record> me : recordMap.descendingMap().entrySet()) {
- Record r = me.getValue();
- if (!(r instanceof UserEditAtom)) continue;
- UserEditAtom uea = (UserEditAtom)r;
- if (uea.getEncryptSessionPersistIdRef() != -1) {
- userEditAtomWithEncryption = uea;
- break;
- }
- }
-
- if (userEditAtomWithEncryption == null) {
- dea = null;
- return;
- }
-
- Record r = recordMap.get(userEditAtomWithEncryption.getPersistPointersOffset());
- assert(r instanceof PersistPtrHolder);
- PersistPtrHolder ptr = (PersistPtrHolder)r;
-
- Integer encOffset = ptr.getSlideLocationsLookup().get(userEditAtomWithEncryption.getEncryptSessionPersistIdRef());
- assert(encOffset != null);
-
- r = recordMap.get(encOffset);
- if (r == null) {
- r = Record.buildRecordAtOffset(docstream, encOffset);
- recordMap.put(encOffset, r);
- }
- assert(r instanceof DocumentEncryptionAtom);
- this.dea = (DocumentEncryptionAtom)r;
-
- CryptoAPIDecryptor dec = (CryptoAPIDecryptor)dea.getEncryptionInfo().getDecryptor();
- String pass = Biff8EncryptionKey.getCurrentUserPassword();
- if(!dec.verifyPassword(pass != null ? pass : Decryptor.DEFAULT_PASSWORD)) {
- throw new EncryptedPowerPointFileException("PowerPoint file is encrypted. The correct password needs to be set via Biff8EncryptionKey.setCurrentUserPassword()");
- }
- }
-
- public DocumentEncryptionAtom getDocumentEncryptionAtom() {
- return dea;
- }
-
- protected void setPersistId(int persistId) {
- if (enc != null && dec != null) {
- throw new EncryptedPowerPointFileException("Use instance either for en- or decryption");
- }
-
- try {
- if (enc != null) cipher = enc.initCipherForBlock(cipher, persistId);
- if (dec != null) cipher = dec.initCipherForBlock(cipher, persistId);
- } catch (GeneralSecurityException e) {
- throw new EncryptedPowerPointFileException(e);
- }
- }
-
- protected void decryptInit() {
- if (dec != null) return;
- EncryptionInfo ei = dea.getEncryptionInfo();
- dec = (CryptoAPIDecryptor)ei.getDecryptor();
- }
-
- protected void encryptInit() {
- if (enc != null) return;
- EncryptionInfo ei = dea.getEncryptionInfo();
- enc = (CryptoAPIEncryptor)ei.getEncryptor();
- }
-
-
-
- protected OutputStream encryptRecord(OutputStream plainStream, int persistId, Record record) {
- boolean isPlain = (dea == null
- || record instanceof UserEditAtom
- || record instanceof PersistPtrHolder
- || record instanceof DocumentEncryptionAtom
- );
- if (isPlain) return plainStream;
-
- encryptInit();
- setPersistId(persistId);
-
- if (cyos == null) {
- cyos = new CipherOutputStream(plainStream, cipher);
- }
- return cyos;
- }
-
- protected void decryptRecord(byte[] docstream, int persistId, int offset) {
- if (dea == null) return;
-
- decryptInit();
- setPersistId(persistId);
-
- try {
- // decrypt header and read length to be decrypted
- cipher.update(docstream, offset, 8, docstream, offset);
- // decrypt the rest of the record
- int rlen = (int)LittleEndian.getUInt(docstream, offset+4);
- cipher.update(docstream, offset+8, rlen, docstream, offset+8);
- } catch (GeneralSecurityException e) {
- throw new CorruptPowerPointFileException(e);
- }
- }
-
- protected void decryptPicture(byte[] pictstream, int offset) {
- if (dea == null) return;
-
- decryptInit();
- setPersistId(0);
-
- try {
- // decrypt header and read length to be decrypted
- cipher.doFinal(pictstream, offset, 8, pictstream, offset);
- int recInst = fieldRecInst.getValue(LittleEndian.getUShort(pictstream, offset));
- int recType = LittleEndian.getUShort(pictstream, offset+2);
- int rlen = (int)LittleEndian.getUInt(pictstream, offset+4);
- offset += 8;
- int endOffset = offset + rlen;
-
- if (recType == 0xF007) {
- // TOOD: get a real example file ... to actual test the FBSE entry
- // not sure where the foDelay block is
-
- // File BLIP Store Entry (FBSE)
- cipher.doFinal(pictstream, offset, 1, pictstream, offset); // btWin32
- offset++;
- cipher.doFinal(pictstream, offset, 1, pictstream, offset); // btMacOS
- offset++;
- cipher.doFinal(pictstream, offset, 16, pictstream, offset); // rgbUid
- offset += 16;
- cipher.doFinal(pictstream, offset, 2, pictstream, offset); // tag
- offset += 2;
- cipher.doFinal(pictstream, offset, 4, pictstream, offset); // size
- offset += 4;
- cipher.doFinal(pictstream, offset, 4, pictstream, offset); // cRef
- offset += 4;
- cipher.doFinal(pictstream, offset, 4, pictstream, offset); // foDelay
- offset += 4;
- cipher.doFinal(pictstream, offset+0, 1, pictstream, offset+0); // unused1
- cipher.doFinal(pictstream, offset+1, 1, pictstream, offset+1); // cbName
- cipher.doFinal(pictstream, offset+2, 1, pictstream, offset+2); // unused2
- cipher.doFinal(pictstream, offset+3, 1, pictstream, offset+3); // unused3
- int cbName = LittleEndian.getUShort(pictstream, offset+1);
- offset += 4;
- if (cbName > 0) {
- cipher.doFinal(pictstream, offset, cbName, pictstream, offset); // nameData
- offset += cbName;
- }
- if (offset == endOffset) {
- return; // no embedded blip
- }
- // fall through, read embedded blip now
-
- // update header data
- cipher.doFinal(pictstream, offset, 8, pictstream, offset);
- recInst = fieldRecInst.getValue(LittleEndian.getUShort(pictstream, offset));
- recType = LittleEndian.getUShort(pictstream, offset+2);
- rlen = (int)LittleEndian.getUInt(pictstream, offset+4);
- offset += 8;
- }
-
- int rgbUidCnt = (recInst == 0x217 || recInst == 0x3D5 || recInst == 0x46B || recInst == 0x543 ||
- recInst == 0x6E1 || recInst == 0x6E3 || recInst == 0x6E5 || recInst == 0x7A9) ? 2 : 1;
-
- for (int i=0; i<rgbUidCnt; i++) {
- cipher.doFinal(pictstream, offset, 16, pictstream, offset); // rgbUid 1/2
- offset += 16;
- }
-
- if (recType == 0xF01A || recType == 0XF01B || recType == 0XF01C) {
- cipher.doFinal(pictstream, offset, 34, pictstream, offset); // metafileHeader
- offset += 34;
- } else {
- cipher.doFinal(pictstream, offset, 1, pictstream, offset); // tag
- offset += 1;
- }
-
- int blipLen = endOffset - offset;
- cipher.doFinal(pictstream, offset, blipLen, pictstream, offset);
- } catch (GeneralSecurityException e) {
- throw new CorruptPowerPointFileException(e);
- }
- }
-
- protected void encryptPicture(byte[] pictstream, int offset) {
- if (dea == null) return;
-
- encryptInit();
- setPersistId(0);
-
- try {
- int recInst = fieldRecInst.getValue(LittleEndian.getUShort(pictstream, offset));
- int recType = LittleEndian.getUShort(pictstream, offset+2);
- int rlen = (int)LittleEndian.getUInt(pictstream, offset+4);
- cipher.doFinal(pictstream, offset, 8, pictstream, offset);
- offset += 8;
- int endOffset = offset + rlen;
-
- if (recType == 0xF007) {
- // TOOD: get a real example file ... to actual test the FBSE entry
- // not sure where the foDelay block is
-
- // File BLIP Store Entry (FBSE)
- cipher.doFinal(pictstream, offset, 1, pictstream, offset); // btWin32
- offset++;
- cipher.doFinal(pictstream, offset, 1, pictstream, offset); // btMacOS
- offset++;
- cipher.doFinal(pictstream, offset, 16, pictstream, offset); // rgbUid
- offset += 16;
- cipher.doFinal(pictstream, offset, 2, pictstream, offset); // tag
- offset += 2;
- cipher.doFinal(pictstream, offset, 4, pictstream, offset); // size
- offset += 4;
- cipher.doFinal(pictstream, offset, 4, pictstream, offset); // cRef
- offset += 4;
- cipher.doFinal(pictstream, offset, 4, pictstream, offset); // foDelay
- offset += 4;
- int cbName = LittleEndian.getUShort(pictstream, offset+1);
- cipher.doFinal(pictstream, offset+0, 1, pictstream, offset+0); // unused1
- cipher.doFinal(pictstream, offset+1, 1, pictstream, offset+1); // cbName
- cipher.doFinal(pictstream, offset+2, 1, pictstream, offset+2); // unused2
- cipher.doFinal(pictstream, offset+3, 1, pictstream, offset+3); // unused3
- offset += 4;
- if (cbName > 0) {
- cipher.doFinal(pictstream, offset, cbName, pictstream, offset); // nameData
- offset += cbName;
- }
- if (offset == endOffset) {
- return; // no embedded blip
- }
- // fall through, read embedded blip now
-
- // update header data
- recInst = fieldRecInst.getValue(LittleEndian.getUShort(pictstream, offset));
- recType = LittleEndian.getUShort(pictstream, offset+2);
- rlen = (int)LittleEndian.getUInt(pictstream, offset+4);
- cipher.doFinal(pictstream, offset, 8, pictstream, offset);
- offset += 8;
- }
-
- int rgbUidCnt = (recInst == 0x217 || recInst == 0x3D5 || recInst == 0x46B || recInst == 0x543 ||
- recInst == 0x6E1 || recInst == 0x6E3 || recInst == 0x6E5 || recInst == 0x7A9) ? 2 : 1;
-
- for (int i=0; i<rgbUidCnt; i++) {
- cipher.doFinal(pictstream, offset, 16, pictstream, offset); // rgbUid 1/2
- offset += 16;
- }
-
- if (recType == 0xF01A || recType == 0XF01B || recType == 0XF01C) {
- cipher.doFinal(pictstream, offset, 34, pictstream, offset); // metafileHeader
- offset += 34;
- } else {
- cipher.doFinal(pictstream, offset, 1, pictstream, offset); // tag
- offset += 1;
- }
-
- int blipLen = endOffset - offset;
- cipher.doFinal(pictstream, offset, blipLen, pictstream, offset);
- } catch (GeneralSecurityException e) {
- throw new CorruptPowerPointFileException(e);
- }
- }
-
- protected Record[] updateEncryptionRecord(Record records[]) {
- String password = Biff8EncryptionKey.getCurrentUserPassword();
- if (password == null) {
- if (dea == null) {
- // no password given, no encryption record exits -> done
- return records;
- } else {
- // need to remove password data
- dea = null;
- return removeEncryptionRecord(records);
- }
- } else {
- // create password record
- if (dea == null) {
- dea = new DocumentEncryptionAtom();
- }
- EncryptionInfo ei = dea.getEncryptionInfo();
- byte salt[] = ei.getVerifier().getSalt();
- Encryptor enc = ei.getEncryptor();
- if (salt == null) {
- enc.confirmPassword(password);
- } else {
- byte verifier[] = ei.getDecryptor().getVerifier();
- enc.confirmPassword(password, null, null, verifier, salt, null);
- }
-
- // move EncryptionRecord to last slide position
- records = normalizeRecords(records);
- return addEncryptionRecord(records, dea);
- }
- }
-
- /**
- * remove duplicated UserEditAtoms and merge PersistPtrHolder.
- * Before this method is called, make sure that the offsets are correct,
- * i.e. call {@link HSLFSlideShow#updateAndWriteDependantRecords(OutputStream, Map)}
- */
- protected static Record[] normalizeRecords(Record records[]) {
- // http://msdn.microsoft.com/en-us/library/office/gg615594(v=office.14).aspx
- // repeated slideIds can be overwritten, i.e. ignored
-
- UserEditAtom uea = null;
- PersistPtrHolder pph = null;
- TreeMap<Integer,Integer> slideLocations = new TreeMap<Integer,Integer>();
- TreeMap<Integer,Record> recordMap = new TreeMap<Integer,Record>();
- List<Integer> obsoleteOffsets = new ArrayList<Integer>();
- int duplicatedCount = 0;
- for (Record r : records) {
- assert(r instanceof PositionDependentRecord);
- PositionDependentRecord pdr = (PositionDependentRecord)r;
- if (pdr instanceof UserEditAtom) {
- uea = (UserEditAtom)pdr;
- continue;
- }
-
- if (pdr instanceof PersistPtrHolder) {
- if (pph != null) {
- duplicatedCount++;
- }
- pph = (PersistPtrHolder)pdr;
- for (Map.Entry<Integer,Integer> me : pph.getSlideLocationsLookup().entrySet()) {
- Integer oldOffset = slideLocations.put(me.getKey(), me.getValue());
- if (oldOffset != null) obsoleteOffsets.add(oldOffset);
- }
- continue;
- }
-
- recordMap.put(pdr.getLastOnDiskOffset(), r);
- }
- recordMap.put(pph.getLastOnDiskOffset(), pph);
- recordMap.put(uea.getLastOnDiskOffset(), uea);
-
- assert(uea != null && pph != null && uea.getPersistPointersOffset() == pph.getLastOnDiskOffset());
-
- if (duplicatedCount == 0 && obsoleteOffsets.isEmpty()) {
- return records;
- }
-
- uea.setLastUserEditAtomOffset(0);
- pph.clear();
- for (Map.Entry<Integer,Integer> me : slideLocations.entrySet()) {
- pph.addSlideLookup(me.getKey(), me.getValue());
- }
-
- for (Integer oldOffset : obsoleteOffsets) {
- recordMap.remove(oldOffset);
- }
-
- return recordMap.values().toArray(new Record[recordMap.size()]);
- }
-
-
- protected static Record[] removeEncryptionRecord(Record records[]) {
- int deaSlideId = -1;
- int deaOffset = -1;
- PersistPtrHolder ptr = null;
- UserEditAtom uea = null;
- List<Record> recordList = new ArrayList<Record>();
- for (Record r : records) {
- if (r instanceof DocumentEncryptionAtom) {
- deaOffset = ((DocumentEncryptionAtom)r).getLastOnDiskOffset();
- continue;
- } else if (r instanceof UserEditAtom) {
- uea = (UserEditAtom)r;
- deaSlideId = uea.getEncryptSessionPersistIdRef();
- uea.setEncryptSessionPersistIdRef(-1);
- } else if (r instanceof PersistPtrHolder) {
- ptr = (PersistPtrHolder)r;
- }
- recordList.add(r);
- }
-
- assert(ptr != null);
- if (deaSlideId == -1 && deaOffset == -1) return records;
-
- TreeMap<Integer,Integer> tm = new TreeMap<Integer,Integer>(ptr.getSlideLocationsLookup());
- ptr.clear();
- int maxSlideId = -1;
- for (Map.Entry<Integer,Integer> me : tm.entrySet()) {
- if (me.getKey() == deaSlideId || me.getValue() == deaOffset) continue;
- ptr.addSlideLookup(me.getKey(), me.getValue());
- maxSlideId = Math.max(me.getKey(), maxSlideId);
- }
-
- uea.setMaxPersistWritten(maxSlideId);
-
- records = recordList.toArray(new Record[recordList.size()]);
-
- return records;
- }
-
-
- protected static Record[] addEncryptionRecord(Record records[], DocumentEncryptionAtom dea) {
- assert(dea != null);
- int ueaIdx = -1, ptrIdx = -1, deaIdx = -1, idx = -1;
- for (Record r : records) {
- idx++;
- if (r instanceof UserEditAtom) ueaIdx = idx;
- else if (r instanceof PersistPtrHolder) ptrIdx = idx;
- else if (r instanceof DocumentEncryptionAtom) deaIdx = idx;
- }
- assert(ueaIdx != -1 && ptrIdx != -1 && ptrIdx < ueaIdx);
- if (deaIdx != -1) {
- DocumentEncryptionAtom deaOld = (DocumentEncryptionAtom)records[deaIdx];
- dea.setLastOnDiskOffset(deaOld.getLastOnDiskOffset());
- records[deaIdx] = dea;
- return records;
- } else {
- PersistPtrHolder ptr = (PersistPtrHolder)records[ptrIdx];
- UserEditAtom uea = ((UserEditAtom)records[ueaIdx]);
- dea.setLastOnDiskOffset(ptr.getLastOnDiskOffset()-1);
- int nextSlideId = uea.getMaxPersistWritten()+1;
- ptr.addSlideLookup(nextSlideId, ptr.getLastOnDiskOffset()-1);
- uea.setEncryptSessionPersistIdRef(nextSlideId);
- uea.setMaxPersistWritten(nextSlideId);
-
- Record newRecords[] = new Record[records.length+1];
- if (ptrIdx > 0) System.arraycopy(records, 0, newRecords, 0, ptrIdx);
- if (ptrIdx < records.length-1) System.arraycopy(records, ptrIdx, newRecords, ptrIdx+1, records.length-ptrIdx);
- newRecords[ptrIdx] = dea;
- return newRecords;
- }
- }
-
-}
+++ /dev/null
-/* ====================================================================
- 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.hslf;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.security.GeneralSecurityException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Map;
-import java.util.NavigableMap;
-import java.util.TreeMap;
-
-import org.apache.poi.POIDocument;
-import org.apache.poi.hpsf.PropertySet;
-import org.apache.poi.hslf.exceptions.CorruptPowerPointFileException;
-import org.apache.poi.hslf.exceptions.HSLFException;
-import org.apache.poi.hslf.record.CurrentUserAtom;
-import org.apache.poi.hslf.record.DocumentEncryptionAtom;
-import org.apache.poi.hslf.record.ExOleObjStg;
-import org.apache.poi.hslf.record.PersistPtrHolder;
-import org.apache.poi.hslf.record.PersistRecord;
-import org.apache.poi.hslf.record.PositionDependentRecord;
-import org.apache.poi.hslf.record.Record;
-import org.apache.poi.hslf.record.RecordTypes;
-import org.apache.poi.hslf.record.UserEditAtom;
-import org.apache.poi.hslf.usermodel.ObjectData;
-import org.apache.poi.hslf.usermodel.PictureData;
-import org.apache.poi.poifs.crypt.cryptoapi.CryptoAPIEncryptor;
-import org.apache.poi.poifs.filesystem.DirectoryNode;
-import org.apache.poi.poifs.filesystem.DocumentEntry;
-import org.apache.poi.poifs.filesystem.DocumentInputStream;
-import org.apache.poi.poifs.filesystem.EntryUtils;
-import org.apache.poi.poifs.filesystem.NPOIFSFileSystem;
-import org.apache.poi.poifs.filesystem.POIFSFileSystem;
-import org.apache.poi.util.LittleEndian;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
-
-/**
- * This class contains the main functionality for the Powerpoint file
- * "reader". It is only a very basic class for now
- *
- * @author Nick Burch
- */
-public final class HSLFSlideShow extends POIDocument {
- public static final int UNSET_OFFSET = -1;
-
- // For logging
- private POILogger logger = POILogFactory.getLogger(this.getClass());
-
- // Holds metadata on where things are in our document
- private CurrentUserAtom currentUser;
-
- // Low level contents of the file
- private byte[] _docstream;
-
- // Low level contents
- private Record[] _records;
-
- // Raw Pictures contained in the pictures stream
- private List<PictureData> _pictures;
-
- // Embedded objects stored in storage records in the document stream, lazily populated.
- private ObjectData[] _objects;
-
- /**
- * Returns the underlying POIFSFileSystem for the document
- * that is open.
- */
- protected POIFSFileSystem getPOIFSFileSystem() {
- return directory.getFileSystem();
- }
-
- /**
- * Returns the directory in the underlying POIFSFileSystem for the
- * document that is open.
- */
- protected DirectoryNode getPOIFSDirectory() {
- return directory;
- }
-
- /**
- * Constructs a Powerpoint document from fileName. Parses the document
- * and places all the important stuff into data structures.
- *
- * @param fileName The name of the file to read.
- * @throws IOException if there is a problem while parsing the document.
- */
- public HSLFSlideShow(String fileName) throws IOException
- {
- this(new FileInputStream(fileName));
- }
-
- /**
- * Constructs a Powerpoint document from an input stream. Parses the
- * document and places all the important stuff into data structures.
- *
- * @param inputStream the source of the data
- * @throws IOException if there is a problem while parsing the document.
- */
- public HSLFSlideShow(InputStream inputStream) throws IOException {
- //do Ole stuff
- this(new POIFSFileSystem(inputStream));
- }
-
- /**
- * Constructs a Powerpoint document from a POIFS Filesystem. Parses the
- * document and places all the important stuff into data structures.
- *
- * @param filesystem the POIFS FileSystem to read from
- * @throws IOException if there is a problem while parsing the document.
- */
- public HSLFSlideShow(POIFSFileSystem filesystem) throws IOException
- {
- this(filesystem.getRoot());
- }
-
- /**
- * Constructs a Powerpoint document from a POIFS Filesystem. Parses the
- * document and places all the important stuff into data structures.
- *
- * @param filesystem the POIFS FileSystem to read from
- * @throws IOException if there is a problem while parsing the document.
- */
- public HSLFSlideShow(NPOIFSFileSystem filesystem) throws IOException
- {
- this(filesystem.getRoot());
- }
-
- /**
- * Constructs a Powerpoint document from a specific point in a
- * POIFS Filesystem. Parses the document and places all the
- * important stuff into data structures.
- *
- * @deprecated Use {@link #HSLFSlideShow(DirectoryNode)} instead
- * @param dir the POIFS directory to read from
- * @param filesystem the POIFS FileSystem to read from
- * @throws IOException if there is a problem while parsing the document.
- */
- @Deprecated
- public HSLFSlideShow(DirectoryNode dir, POIFSFileSystem filesystem) throws IOException
- {
- this(dir);
- }
-
- /**
- * Constructs a Powerpoint document from a specific point in a
- * POIFS Filesystem. Parses the document and places all the
- * important stuff into data structures.
- *
- * @param dir the POIFS directory to read from
- * @throws IOException if there is a problem while parsing the document.
- */
- public HSLFSlideShow(DirectoryNode dir) throws IOException {
- super(handleDualStorage(dir));
-
- // First up, grab the "Current User" stream
- // We need this before we can detect Encrypted Documents
- readCurrentUserStream();
-
- // Next up, grab the data that makes up the
- // PowerPoint stream
- readPowerPointStream();
-
- // Now, build records based on the PowerPoint stream
- buildRecords();
-
- // Look for any other streams
- readOtherStreams();
- }
-
- private static DirectoryNode handleDualStorage(DirectoryNode dir) throws IOException {
- // when there's a dual storage entry, use it, as the outer document can't be read quite probably ...
- String dualName = "PP97_DUALSTORAGE";
- if (!dir.hasEntry(dualName)) return dir;
- dir = (DirectoryNode)dir.getEntry(dualName);
- return dir;
- }
-
- /**
- * Constructs a new, empty, Powerpoint document.
- */
- public static final HSLFSlideShow create() {
- InputStream is = HSLFSlideShow.class.getResourceAsStream("data/empty.ppt");
- if (is == null) {
- throw new RuntimeException("Missing resource 'empty.ppt'");
- }
- try {
- return new HSLFSlideShow(is);
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- }
-
- /**
- * Extracts the main PowerPoint document stream from the
- * POI file, ready to be passed
- *
- * @throws IOException
- */
- private void readPowerPointStream() throws IOException
- {
- // Get the main document stream
- DocumentEntry docProps =
- (DocumentEntry)directory.getEntry("PowerPoint Document");
-
- // Grab the document stream
- _docstream = new byte[docProps.getSize()];
- directory.createDocumentInputStream("PowerPoint Document").read(_docstream);
- }
-
- /**
- * Builds the list of records, based on the contents
- * of the PowerPoint stream
- */
- private void buildRecords()
- {
- // The format of records in a powerpoint file are:
- // <little endian 2 byte "info">
- // <little endian 2 byte "type">
- // <little endian 4 byte "length">
- // If it has a zero length, following it will be another record
- // <xx xx yy yy 00 00 00 00> <xx xx yy yy zz zz zz zz>
- // If it has a length, depending on its type it may have children or data
- // If it has children, these will follow straight away
- // <xx xx yy yy zz zz zz zz <xx xx yy yy zz zz zz zz>>
- // If it has data, this will come straigh after, and run for the length
- // <xx xx yy yy zz zz zz zz dd dd dd dd dd dd dd>
- // All lengths given exclude the 8 byte record header
- // (Data records are known as Atoms)
-
- // Document should start with:
- // 0F 00 E8 03 ## ## ## ##
- // (type 1000 = document, info 00 0f is normal, rest is document length)
- // 01 00 E9 03 28 00 00 00
- // (type 1001 = document atom, info 00 01 normal, 28 bytes long)
- // 80 16 00 00 E0 10 00 00 xx xx xx xx xx xx xx xx
- // 05 00 00 00 0A 00 00 00 xx xx xx
- // (the contents of the document atom, not sure what it means yet)
- // (records then follow)
-
- // When parsing a document, look to see if you know about that type
- // of the current record. If you know it's a type that has children,
- // process the record's data area looking for more records
- // If you know about the type and it doesn't have children, either do
- // something with the data (eg TextRun) or skip over it
- // If you don't know about the type, play safe and skip over it (using
- // its length to know where the next record will start)
- //
-
- _records = read(_docstream, (int)currentUser.getCurrentEditOffset());
- }
-
- private Record[] read(byte[] docstream, int usrOffset){
- //sort found records by offset.
- //(it is not necessary but SlideShow.findMostRecentCoreRecords() expects them sorted)
- NavigableMap<Integer,Record> records = new TreeMap<Integer,Record>(); // offset -> record
- Map<Integer,Integer> persistIds = new HashMap<Integer,Integer>(); // offset -> persistId
- initRecordOffsets(docstream, usrOffset, records, persistIds);
- EncryptedSlideShow decryptData = new EncryptedSlideShow(docstream, records);
-
- for (Map.Entry<Integer,Record> entry : records.entrySet()) {
- Integer offset = entry.getKey();
- Record record = entry.getValue();
- Integer persistId = persistIds.get(offset);
- if (record == null) {
- // all plain records have been already added,
- // only new records need to be decrypted (tbd #35897)
- decryptData.decryptRecord(docstream, persistId, offset);
- record = Record.buildRecordAtOffset(docstream, offset);
- entry.setValue(record);
- }
-
- if (record instanceof PersistRecord) {
- ((PersistRecord)record).setPersistId(persistId);
- }
- }
-
- return records.values().toArray(new Record[records.size()]);
- }
-
- private void initRecordOffsets(byte[] docstream, int usrOffset, NavigableMap<Integer,Record> recordMap, Map<Integer,Integer> offset2id) {
- while (usrOffset != 0){
- UserEditAtom usr = (UserEditAtom) Record.buildRecordAtOffset(docstream, usrOffset);
- recordMap.put(usrOffset, usr);
-
- int psrOffset = usr.getPersistPointersOffset();
- PersistPtrHolder ptr = (PersistPtrHolder)Record.buildRecordAtOffset(docstream, psrOffset);
- recordMap.put(psrOffset, ptr);
-
- for(Map.Entry<Integer,Integer> entry : ptr.getSlideLocationsLookup().entrySet()) {
- Integer offset = entry.getValue();
- Integer id = entry.getKey();
- recordMap.put(offset, null); // reserve a slot for the record
- offset2id.put(offset, id);
- }
-
- usrOffset = usr.getLastUserEditAtomOffset();
-
- // check for corrupted user edit atom and try to repair it
- // if the next user edit atom offset is already known, we would go into an endless loop
- if (usrOffset > 0 && recordMap.containsKey(usrOffset)) {
- // a user edit atom is usually located 36 byte before the smallest known record offset
- usrOffset = recordMap.firstKey()-36;
- // check that we really are located on a user edit atom
- int ver_inst = LittleEndian.getUShort(docstream, usrOffset);
- int type = LittleEndian.getUShort(docstream, usrOffset+2);
- int len = LittleEndian.getInt(docstream, usrOffset+4);
- if (ver_inst == 0 && type == 4085 && (len == 0x1C || len == 0x20)) {
- logger.log(POILogger.WARN, "Repairing invalid user edit atom");
- usr.setLastUserEditAtomOffset(usrOffset);
- } else {
- throw new CorruptPowerPointFileException("Powerpoint document contains invalid user edit atom");
- }
- }
- }
- }
-
- public DocumentEncryptionAtom getDocumentEncryptionAtom() {
- for (Record r : _records) {
- if (r instanceof DocumentEncryptionAtom) {
- return (DocumentEncryptionAtom)r;
- }
- }
- return null;
- }
-
-
- /**
- * Find the "Current User" stream, and load it
- */
- private void readCurrentUserStream() {
- try {
- currentUser = new CurrentUserAtom(directory);
- } catch(IOException ie) {
- logger.log(POILogger.ERROR, "Error finding Current User Atom:\n" + ie);
- currentUser = new CurrentUserAtom();
- }
- }
-
- /**
- * Find any other streams from the filesystem, and load them
- */
- private void readOtherStreams() {
- // Currently, there aren't any
- }
-
- /**
- * Find and read in pictures contained in this presentation.
- * This is lazily called as and when we want to touch pictures.
- */
- @SuppressWarnings("unused")
- private void readPictures() throws IOException {
- _pictures = new ArrayList<PictureData>();
-
- // if the presentation doesn't contain pictures - will use a null set instead
- if (!directory.hasEntry("Pictures")) return;
-
- EncryptedSlideShow decryptData = new EncryptedSlideShow(getDocumentEncryptionAtom());
-
- DocumentEntry entry = (DocumentEntry)directory.getEntry("Pictures");
- byte[] pictstream = new byte[entry.getSize()];
- DocumentInputStream is = directory.createDocumentInputStream(entry);
- is.read(pictstream);
- is.close();
-
-
- int pos = 0;
- // An empty picture record (length 0) will take up 8 bytes
- while (pos <= (pictstream.length-8)) {
- int offset = pos;
-
- decryptData.decryptPicture(pictstream, offset);
-
- // Image signature
- int signature = LittleEndian.getUShort(pictstream, pos);
- pos += LittleEndian.SHORT_SIZE;
- // Image type + 0xF018
- int type = LittleEndian.getUShort(pictstream, pos);
- pos += LittleEndian.SHORT_SIZE;
- // Image size (excluding the 8 byte header)
- int imgsize = LittleEndian.getInt(pictstream, pos);
- pos += LittleEndian.INT_SIZE;
-
- // When parsing the BStoreDelay stream, [MS-ODRAW] says that we
- // should terminate if the type isn't 0xf007 or 0xf018->0xf117
- if (!((type == 0xf007) || (type >= 0xf018 && type <= 0xf117)))
- break;
-
- // The image size must be 0 or greater
- // (0 is allowed, but odd, since we do wind on by the header each
- // time, so we won't get stuck)
- if(imgsize < 0) {
- throw new CorruptPowerPointFileException("The file contains a picture, at position " + _pictures.size() + ", which has a negatively sized data length, so we can't trust any of the picture data");
- }
-
- // If they type (including the bonus 0xF018) is 0, skip it
- if(type == 0) {
- logger.log(POILogger.ERROR, "Problem reading picture: Invalid image type 0, on picture with length " + imgsize + ".\nYou document will probably become corrupted if you save it!");
- logger.log(POILogger.ERROR, "" + pos);
- } else {
- // Build the PictureData object from the data
- try {
- PictureData pict = PictureData.create(type - 0xF018);
-
- // Copy the data, ready to pass to PictureData
- byte[] imgdata = new byte[imgsize];
- System.arraycopy(pictstream, pos, imgdata, 0, imgdata.length);
- pict.setRawData(imgdata);
-
- pict.setOffset(offset);
- _pictures.add(pict);
- } catch(IllegalArgumentException e) {
- logger.log(POILogger.ERROR, "Problem reading picture: " + e + "\nYou document will probably become corrupted if you save it!");
- }
- }
-
- pos += imgsize;
- }
- }
-
- /**
- * remove duplicated UserEditAtoms and merge PersistPtrHolder, i.e.
- * remove document edit history
- */
- public void normalizeRecords() {
- try {
- updateAndWriteDependantRecords(null, null);
- } catch (IOException e) {
- throw new CorruptPowerPointFileException(e);
- }
- _records = EncryptedSlideShow.normalizeRecords(_records);
- }
-
-
- /**
- * This is a helper functions, which is needed for adding new position dependent records
- * or finally write the slideshow to a file.
- *
- * @param os the stream to write to, if null only the references are updated
- * @param interestingRecords a map of interesting records (PersistPtrHolder and UserEditAtom)
- * referenced by their RecordType. Only the very last of each type will be saved to the map.
- * May be null, if not needed.
- * @throws IOException
- */
- public void updateAndWriteDependantRecords(OutputStream os, Map<RecordTypes.Type,PositionDependentRecord> interestingRecords)
- throws IOException {
- // For position dependent records, hold where they were and now are
- // As we go along, update, and hand over, to any Position Dependent
- // records we happen across
- Hashtable<Integer,Integer> oldToNewPositions = new Hashtable<Integer,Integer>();
-
- // First pass - figure out where all the position dependent
- // records are going to end up, in the new scheme
- // (Annoyingly, some powerpoint files have PersistPtrHolders
- // that reference slides after the PersistPtrHolder)
- UserEditAtom usr = null;
- PersistPtrHolder ptr = null;
- CountingOS cos = new CountingOS();
- for (Record record : _records) {
- // all top level records are position dependent
- assert(record instanceof PositionDependentRecord);
- PositionDependentRecord pdr = (PositionDependentRecord)record;
- int oldPos = pdr.getLastOnDiskOffset();
- int newPos = cos.size();
- pdr.setLastOnDiskOffset(newPos);
- if (oldPos != UNSET_OFFSET) {
- // new records don't need a mapping, as they aren't in a relation yet
- oldToNewPositions.put(oldPos,newPos);
- }
-
- // Grab interesting records as they come past
- // this will only save the very last record of each type
- RecordTypes.Type saveme = null;
- int recordType = (int)record.getRecordType();
- if (recordType == RecordTypes.PersistPtrIncrementalBlock.typeID) {
- saveme = RecordTypes.PersistPtrIncrementalBlock;
- ptr = (PersistPtrHolder)pdr;
- } else if (recordType == RecordTypes.UserEditAtom.typeID) {
- saveme = RecordTypes.UserEditAtom;
- usr = (UserEditAtom)pdr;
- }
- if (interestingRecords != null && saveme != null) {
- interestingRecords.put(saveme,pdr);
- }
-
- // Dummy write out, so the position winds on properly
- record.writeOut(cos);
- }
-
- assert(usr != null && ptr != null);
-
- Map<Integer,Integer> persistIds = new HashMap<Integer,Integer>();
- for (Map.Entry<Integer,Integer> entry : ptr.getSlideLocationsLookup().entrySet()) {
- persistIds.put(oldToNewPositions.get(entry.getValue()), entry.getKey());
- }
-
- EncryptedSlideShow encData = new EncryptedSlideShow(getDocumentEncryptionAtom());
-
- for (Record record : _records) {
- assert(record instanceof PositionDependentRecord);
- // We've already figured out their new location, and
- // told them that
- // Tell them of the positions of the other records though
- PositionDependentRecord pdr = (PositionDependentRecord)record;
- Integer persistId = persistIds.get(pdr.getLastOnDiskOffset());
- if (persistId == null) persistId = 0;
-
- // For now, we're only handling PositionDependentRecord's that
- // happen at the top level.
- // In future, we'll need the handle them everywhere, but that's
- // a bit trickier
- pdr.updateOtherRecordReferences(oldToNewPositions);
-
- // Whatever happens, write out that record tree
- if (os != null) {
- record.writeOut(encData.encryptRecord(os, persistId, record));
- }
- }
-
- // Update and write out the Current User atom
- int oldLastUserEditAtomPos = (int)currentUser.getCurrentEditOffset();
- Integer newLastUserEditAtomPos = oldToNewPositions.get(oldLastUserEditAtomPos);
- if(usr == null || newLastUserEditAtomPos == null || usr.getLastOnDiskOffset() != newLastUserEditAtomPos) {
- throw new HSLFException("Couldn't find the new location of the last UserEditAtom that used to be at " + oldLastUserEditAtomPos);
- }
- currentUser.setCurrentEditOffset(usr.getLastOnDiskOffset());
- }
-
- /**
- * Writes out the slideshow file the is represented by an instance
- * of this class.
- * It will write out the common OLE2 streams. If you require all
- * streams to be written out, pass in preserveNodes
- * @param out The OutputStream to write to.
- * @throws IOException If there is an unexpected IOException from
- * the passed in OutputStream
- */
- public void write(OutputStream out) throws IOException {
- // Write out, but only the common streams
- write(out,false);
- }
- /**
- * Writes out the slideshow file the is represented by an instance
- * of this class.
- * If you require all streams to be written out (eg Marcos, embeded
- * documents), then set preserveNodes to true
- * @param out The OutputStream to write to.
- * @param preserveNodes Should all OLE2 streams be written back out, or only the common ones?
- * @throws IOException If there is an unexpected IOException from
- * the passed in OutputStream
- */
- public void write(OutputStream out, boolean preserveNodes) throws IOException {
- // read properties and pictures, with old encryption settings where appropriate
- if(_pictures == null) {
- readPictures();
- }
- getDocumentSummaryInformation();
-
- // set new encryption settings
- EncryptedSlideShow encryptedSS = new EncryptedSlideShow(getDocumentEncryptionAtom());
- _records = encryptedSS.updateEncryptionRecord(_records);
-
- // Get a new Filesystem to write into
- POIFSFileSystem outFS = new POIFSFileSystem();
-
- // The list of entries we've written out
- List<String> writtenEntries = new ArrayList<String>(1);
-
- // Write out the Property Streams
- writeProperties(outFS, writtenEntries);
-
- BufAccessBAOS baos = new BufAccessBAOS();
-
- // For position dependent records, hold where they were and now are
- // As we go along, update, and hand over, to any Position Dependent
- // records we happen across
- updateAndWriteDependantRecords(baos, null);
-
- // Update our cached copy of the bytes that make up the PPT stream
- _docstream = new byte[baos.size()];
- System.arraycopy(baos.getBuf(), 0, _docstream, 0, baos.size());
-
- // Write the PPT stream into the POIFS layer
- ByteArrayInputStream bais = new ByteArrayInputStream(_docstream);
- outFS.createDocument(bais,"PowerPoint Document");
- writtenEntries.add("PowerPoint Document");
-
- currentUser.setEncrypted(encryptedSS.getDocumentEncryptionAtom() != null);
- currentUser.writeToFS(outFS);
- writtenEntries.add("Current User");
-
-
- if (_pictures.size() > 0) {
- BufAccessBAOS pict = new BufAccessBAOS();
- for (PictureData p : _pictures) {
- int offset = pict.size();
- p.write(pict);
- encryptedSS.encryptPicture(pict.getBuf(), offset);
- }
- outFS.createDocument(
- new ByteArrayInputStream(pict.getBuf(), 0, pict.size()), "Pictures"
- );
- writtenEntries.add("Pictures");
- }
-
- // If requested, write out any other streams we spot
- if(preserveNodes) {
- EntryUtils.copyNodes(directory.getFileSystem(), outFS, writtenEntries);
- }
-
- // Send the POIFSFileSystem object out to the underlying stream
- outFS.writeFilesystem(out);
- }
-
- /**
- * For a given named property entry, either return it or null if
- * if it wasn't found
- *
- * @param setName The property to read
- * @return The value of the given property or null if it wasn't found.
- */
- protected PropertySet getPropertySet(String setName) {
- DocumentEncryptionAtom dea = getDocumentEncryptionAtom();
- return (dea == null)
- ? super.getPropertySet(setName)
- : super.getPropertySet(setName, dea.getEncryptionInfo());
- }
-
- /**
- * Writes out the standard Documment Information Properties (HPSF)
- * @param outFS the POIFSFileSystem to write the properties into
- * @param writtenEntries a list of POIFS entries to add the property names too
- *
- * @throws IOException if an error when writing to the
- * {@link POIFSFileSystem} occurs
- */
- protected void writeProperties(POIFSFileSystem outFS, List<String> writtenEntries) throws IOException {
- super.writeProperties(outFS, writtenEntries);
- DocumentEncryptionAtom dea = getDocumentEncryptionAtom();
- if (dea != null) {
- CryptoAPIEncryptor enc = (CryptoAPIEncryptor)dea.getEncryptionInfo().getEncryptor();
- try {
- enc.getDataStream(outFS.getRoot()); // ignore OutputStream
- } catch (IOException e) {
- throw e;
- } catch (GeneralSecurityException e) {
- throw new IOException(e);
- }
- }
- }
-
- /* ******************* adding methods follow ********************* */
-
- /**
- * Adds a new root level record, at the end, but before the last
- * PersistPtrIncrementalBlock.
- */
- public synchronized int appendRootLevelRecord(Record newRecord) {
- int addedAt = -1;
- Record[] r = new Record[_records.length+1];
- boolean added = false;
- for(int i=(_records.length-1); i>=0; i--) {
- if(added) {
- // Just copy over
- r[i] = _records[i];
- } else {
- r[(i+1)] = _records[i];
- if(_records[i] instanceof PersistPtrHolder) {
- r[i] = newRecord;
- added = true;
- addedAt = i;
- }
- }
- }
- _records = r;
- return addedAt;
- }
-
- /**
- * Add a new picture to this presentation.
- *
- * @return offset of this picture in the Pictures stream
- */
- public int addPicture(PictureData img) {
- // Process any existing pictures if we haven't yet
- if(_pictures == null) {
- try {
- readPictures();
- } catch(IOException e) {
- throw new CorruptPowerPointFileException(e.getMessage());
- }
- }
-
- // Add the new picture in
- int offset = 0;
- if(_pictures.size() > 0) {
- PictureData prev = _pictures.get(_pictures.size() - 1);
- offset = prev.getOffset() + prev.getRawData().length + 8;
- }
- img.setOffset(offset);
- _pictures.add(img);
- return offset;
- }
-
- /* ******************* fetching methods follow ********************* */
-
-
- /**
- * Returns an array of all the records found in the slideshow
- */
- public Record[] getRecords() { return _records; }
-
- /**
- * Returns an array of the bytes of the file. Only correct after a
- * call to open or write - at all other times might be wrong!
- */
- public byte[] getUnderlyingBytes() { return _docstream; }
-
- /**
- * Fetch the Current User Atom of the document
- */
- public CurrentUserAtom getCurrentUserAtom() { return currentUser; }
-
- /**
- * Return array of pictures contained in this presentation
- *
- * @return array with the read pictures or <code>null</code> if the
- * presentation doesn't contain pictures.
- */
- public PictureData[] getPictures() {
- if(_pictures == null) {
- try {
- readPictures();
- } catch(IOException e) {
- throw new CorruptPowerPointFileException(e.getMessage());
- }
- }
-
- return _pictures.toArray(new PictureData[_pictures.size()]);
- }
-
- /**
- * Gets embedded object data from the slide show.
- *
- * @return the embedded objects.
- */
- public ObjectData[] getEmbeddedObjects() {
- if (_objects == null) {
- List<ObjectData> objects = new ArrayList<ObjectData>();
- for (Record r : _records) {
- if (r instanceof ExOleObjStg) {
- objects.add(new ObjectData((ExOleObjStg)r));
- }
- }
- _objects = objects.toArray(new ObjectData[objects.size()]);
- }
- return _objects;
- }
-
-
- private static class BufAccessBAOS extends ByteArrayOutputStream {
- public byte[] getBuf() {
- return buf;
- }
- }
-
- private static class CountingOS extends OutputStream {
- int count = 0;
- public void write(int b) throws IOException {
- count++;
- }
-
- public void write(byte[] b) throws IOException {
- count += b.length;
- }
-
- public void write(byte[] b, int off, int len) throws IOException {
- count += len;
- }
-
- public int size() {
- return count;
- }
- }
-}
package org.apache.poi.hslf.blip;
-import org.apache.poi.hslf.usermodel.PictureData;
+import org.apache.poi.hslf.usermodel.HSLFPictureData;
import java.io.IOException;
import java.io.ByteArrayOutputStream;
*
* @author Yegor Kozlov
*/
-public abstract class Bitmap extends PictureData {
+public abstract class Bitmap extends HSLFPictureData {
public byte[] getData(){
byte[] rawdata = getRawData();
package org.apache.poi.hslf.blip;
-import org.apache.poi.hslf.usermodel.PictureData;
-import org.apache.poi.hslf.model.Picture;
+import org.apache.poi.hslf.usermodel.HSLFPictureData;
+import org.apache.poi.hslf.model.HSLFPictureShape;
import org.apache.poi.util.POILogger;
import org.apache.poi.util.POILogFactory;
public final class BitmapPainter implements ImagePainter {
protected POILogger logger = POILogFactory.getLogger(this.getClass());
- public void paint(Graphics2D graphics, PictureData pict, Picture parent) {
+ public void paint(Graphics2D graphics, HSLFPictureData pict, HSLFPictureShape parent) {
BufferedImage img;
try {
img = ImageIO.read(new ByteArrayInputStream(pict.getData()));
package org.apache.poi.hslf.blip;
-import org.apache.poi.hslf.model.Picture;
+import org.apache.poi.hslf.model.HSLFPictureShape;
import org.apache.poi.util.LittleEndian;
import java.io.IOException;
/**
* @return type of this picture
- * @see org.apache.poi.hslf.model.Picture#DIB
+ * @see org.apache.poi.hslf.model.HSLFPictureShape#DIB
*/
public int getType(){
- return Picture.DIB;
+ return HSLFPictureShape.DIB;
}
/**
System.arraycopy(data, HEADER_SIZE, dib, 0, dib.length);
super.setData(dib);
}
+
+ public String getContentType() {
+ return "image/bmp";
+ }
}
package org.apache.poi.hslf.blip;
-import org.apache.poi.hslf.model.Picture;
+import org.apache.poi.hslf.model.HSLFPictureShape;
import org.apache.poi.hslf.model.HSLFShape;
import org.apache.poi.hslf.exceptions.HSLFException;
}
public int getType(){
- return Picture.EMF;
+ return HSLFPictureShape.EMF;
}
/**
public int getSignature(){
return 0x3D40;
}
+
+ public String getContentType() {
+ return "image/x-emf";
+ }
}
package org.apache.poi.hslf.blip;
-import org.apache.poi.hslf.model.Picture;
-import org.apache.poi.hslf.usermodel.PictureData;
+import org.apache.poi.hslf.model.HSLFPictureShape;
+import org.apache.poi.hslf.usermodel.HSLFPictureData;
import java.awt.*;
* @param pict the data to paint
* @param parent the shapes that owns the picture data
*/
- public void paint(Graphics2D graphics, PictureData pict, Picture parent);
+ public void paint(Graphics2D graphics, HSLFPictureData pict, HSLFPictureShape parent);
}
package org.apache.poi.hslf.blip;
-import org.apache.poi.hslf.model.Picture;
+import org.apache.poi.hslf.model.HSLFPictureShape;
/**
* Represents a JPEG picture data in a PPT file
/**
* @return type of this picture
- * @see org.apache.poi.hslf.model.Picture#JPEG
+ * @see org.apache.poi.hslf.model.HSLFPictureShape#JPEG
*/
public int getType(){
- return Picture.JPEG;
+ return HSLFPictureShape.JPEG;
}
/**
public int getSignature(){
return 0x46A0;
}
+
+ public String getContentType() {
+ return "image/jpeg";
+ }
}
package org.apache.poi.hslf.blip;
import org.apache.poi.util.LittleEndian;
-import org.apache.poi.hslf.usermodel.PictureData;
+import org.apache.poi.hslf.usermodel.HSLFPictureData;
import java.awt.*;
import java.io.*;
*
* @author Yegor Kozlov
*/
-public abstract class Metafile extends PictureData {
+public abstract class Metafile extends HSLFPictureData {
/**
* A structure which represents a 34-byte header preceeding the compressed metafile data
import java.util.zip.InflaterInputStream;
import org.apache.poi.hslf.exceptions.HSLFException;
-import org.apache.poi.hslf.model.Picture;
+import org.apache.poi.hslf.model.HSLFPictureShape;
import org.apache.poi.hslf.model.HSLFShape;
/**
}
/**
- * @see org.apache.poi.hslf.model.Picture#PICT
+ * @see org.apache.poi.hslf.model.HSLFPictureShape#PICT
*/
public int getType(){
- return Picture.PICT;
+ return HSLFPictureShape.PICT;
}
/**
return 0x5430;
}
+ public String getContentType() {
+ return "image/x-pict";
+ }
+
}
package org.apache.poi.hslf.blip;
+import org.apache.poi.hslf.model.HSLFPictureShape;
import org.apache.poi.util.PngUtils;
-import org.apache.poi.hslf.model.Picture;
-import org.apache.poi.hslf.exceptions.HSLFException;
-
-import javax.imageio.ImageIO;
-import java.awt.image.BufferedImage;
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
/**
* Represents a PNG picture data in a PPT file
/**
* @return type of this picture
- * @see org.apache.poi.hslf.model.Picture#PNG
+ * @see org.apache.poi.hslf.model.HSLFPictureShape#PNG
*/
public int getType(){
- return Picture.PNG;
+ return HSLFPictureShape.PNG;
}
/**
public int getSignature(){
return 0x6E00;
}
+
+ public String getContentType() {
+ return "image/png";
+ }
}
import org.apache.poi.util.LittleEndian;
import org.apache.poi.util.POILogger;
-import org.apache.poi.hslf.model.Picture;
+import org.apache.poi.hslf.model.HSLFPictureShape;
import org.apache.poi.hslf.model.HSLFShape;
import org.apache.poi.hslf.exceptions.HSLFException;
* We are of type <code>Picture.WMF</code>
*/
public int getType(){
- return Picture.WMF;
+ return HSLFPictureShape.WMF;
}
/**
}
}
+
+ public String getContentType() {
+ return "image/x-wmf";
+ }
+
}
package org.apache.poi.hslf.dev;
import org.apache.poi.hslf.*;
+import org.apache.poi.hslf.model.HSLFSlideShowImpl;
import org.apache.poi.hslf.record.*;
System.exit(1);
}
- HSLFSlideShow ss = new HSLFSlideShow(args[0]);
+ HSLFSlideShowImpl ss = new HSLFSlideShowImpl(args[0]);
// Find PPDrawings at any second level position
Record[] records = ss.getRecords();
package org.apache.poi.hslf.dev;
-import org.apache.poi.hslf.HSLFSlideShow;
+import org.apache.poi.hslf.model.HSLFSlideShowImpl;
import org.apache.poi.hslf.record.Document;
import org.apache.poi.hslf.record.Record;
import org.apache.poi.hslf.record.RecordTypes;
System.exit(1);
}
- HSLFSlideShow ss = new HSLFSlideShow(args[0]);
+ HSLFSlideShowImpl ss = new HSLFSlideShowImpl(args[0]);
// Find the documents, and then their SLWT
Record[] records = ss.getRecords();
package org.apache.poi.hslf.dev;
import org.apache.poi.hslf.*;
+import org.apache.poi.hslf.model.HSLFSlideShowImpl;
import org.apache.poi.hslf.record.*;
/**
System.exit(1);
}
- HSLFSlideShow ss = new HSLFSlideShow(args[0]);
+ HSLFSlideShowImpl ss = new HSLFSlideShowImpl(args[0]);
// Find the documents, and then their SLWT
Record[] records = ss.getRecords();
package org.apache.poi.hslf.dev;
import org.apache.poi.hslf.*;
+import org.apache.poi.hslf.model.HSLFSlideShowImpl;
import org.apache.poi.hslf.record.*;
System.exit(1);
}
- HSLFSlideShow ss = new HSLFSlideShow(args[0]);
+ HSLFSlideShowImpl ss = new HSLFSlideShowImpl(args[0]);
System.out.println("");
// Find either Slides or Notes
import java.io.ByteArrayOutputStream;
import java.util.Map;
-import org.apache.poi.hslf.HSLFSlideShow;
+import org.apache.poi.hslf.model.HSLFSlideShowImpl;
import org.apache.poi.hslf.record.Document;
import org.apache.poi.hslf.record.Notes;
import org.apache.poi.hslf.record.NotesAtom;
import org.apache.poi.hslf.record.SlideAtom;
import org.apache.poi.hslf.record.SlideListWithText;
import org.apache.poi.hslf.record.SlidePersistAtom;
-import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
import org.apache.poi.util.LittleEndian;
/**
// Create the slideshow object, for normal working with
- HSLFSlideShow hss = new HSLFSlideShow(args[0]);
- SlideShow ss = new SlideShow(hss);
+ HSLFSlideShowImpl hss = new HSLFSlideShowImpl(args[0]);
+ HSLFSlideShow ss = new HSLFSlideShow(hss);
// Grab the base contents
fileContents = hss.getUnderlyingBytes();
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-
import java.util.Iterator;
-import org.apache.poi.hslf.HSLFSlideShow;
+import org.apache.poi.hslf.model.HSLFSlideShowImpl;
import org.apache.poi.hslf.record.Record;
import org.apache.poi.util.HexDump;
import org.apache.poi.ddf.DefaultEscherRecordFactory;
public final class SlideShowRecordDumper {
private boolean optVerbose;
private boolean optEscher;
- private HSLFSlideShow doc;
+ private HSLFSlideShowImpl doc;
/**
* right now this function takes one parameter: a ppt file, and outputs
{
optVerbose = verbose;
optEscher = escher;
- doc = new HSLFSlideShow(fileName);
+ doc = new HSLFSlideShowImpl(fileName);
}
package org.apache.poi.hslf.dev;
import org.apache.poi.hslf.*;
+import org.apache.poi.hslf.model.HSLFSlideShowImpl;
import org.apache.poi.hslf.model.textproperties.BitMaskTextProp;
import org.apache.poi.hslf.model.textproperties.TextProp;
import org.apache.poi.hslf.model.textproperties.TextPropCollection;
System.exit(1);
}
- HSLFSlideShow ss = new HSLFSlideShow(args[0]);
+ HSLFSlideShowImpl ss = new HSLFSlideShowImpl(args[0]);
// Find the documents, and then their SLWT
Record[] records = ss.getRecords();
import java.io.ByteArrayOutputStream;
import java.util.Map;
-import org.apache.poi.hslf.HSLFSlideShow;
+import org.apache.poi.hslf.model.HSLFSlideShowImpl;
import org.apache.poi.hslf.record.CurrentUserAtom;
import org.apache.poi.hslf.record.PersistPtrHolder;
import org.apache.poi.hslf.record.PositionDependentRecord;
// Create the slideshow object, for normal working with
- HSLFSlideShow ss = new HSLFSlideShow(args[0]);
+ HSLFSlideShowImpl ss = new HSLFSlideShowImpl(args[0]);
fileContents = ss.getUnderlyingBytes();
System.out.println("");
package org.apache.poi.hslf.extractor;
-import org.apache.poi.hslf.usermodel.SlideShow;
-import org.apache.poi.hslf.usermodel.PictureData;
-import org.apache.poi.hslf.HSLFSlideShow;
-import org.apache.poi.hslf.model.Picture;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
+import org.apache.poi.hslf.usermodel.HSLFPictureData;
+import org.apache.poi.hslf.model.HSLFPictureShape;
+import org.apache.poi.hslf.model.HSLFSlideShowImpl;
import java.io.IOException;
import java.io.FileOutputStream;
System.err.println("\tImageExtractor <file>");
return;
}
- SlideShow ppt = new SlideShow(new HSLFSlideShow(args[0]));
+ HSLFSlideShow ppt = new HSLFSlideShow(new HSLFSlideShowImpl(args[0]));
//extract all pictures contained in the presentation
- PictureData[] pdata = ppt.getPictureData();
+ HSLFPictureData[] pdata = ppt.getPictureData();
for (int i = 0; i < pdata.length; i++) {
- PictureData pict = pdata[i];
+ HSLFPictureData pict = pdata[i];
// picture data
byte[] data = pict.getData();
int type = pict.getType();
String ext;
switch (type) {
- case Picture.JPEG:
+ case HSLFPictureShape.JPEG:
ext = ".jpg";
break;
- case Picture.PNG:
+ case HSLFPictureShape.PNG:
ext = ".png";
break;
- case Picture.WMF:
+ case HSLFPictureShape.WMF:
ext = ".wmf";
break;
- case Picture.EMF:
+ case HSLFPictureShape.EMF:
ext = ".emf";
break;
- case Picture.PICT:
+ case HSLFPictureShape.PICT:
ext = ".pict";
break;
- case Picture.DIB:
+ case HSLFPictureShape.DIB:
ext = ".dib";
break;
default:
import java.util.ArrayList;
import org.apache.poi.POIOLE2TextExtractor;
-import org.apache.poi.hslf.HSLFSlideShow;
import org.apache.poi.hslf.model.*;
-import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
import org.apache.poi.poifs.filesystem.DirectoryNode;
import org.apache.poi.poifs.filesystem.NPOIFSFileSystem;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
* @author Nick Burch
*/
public final class PowerPointExtractor extends POIOLE2TextExtractor {
- private HSLFSlideShow _hslfshow;
- private SlideShow _show;
- private Slide[] _slides;
+ private HSLFSlideShowImpl _hslfshow;
+ private HSLFSlideShow _show;
+ private HSLFSlide[] _slides;
private boolean _slidesByDefault = true;
private boolean _notesByDefault = false;
* @param dir the POIFS Directory containing the PowerPoint document
*/
public PowerPointExtractor(DirectoryNode dir) throws IOException {
- this(new HSLFSlideShow(dir));
+ this(new HSLFSlideShowImpl(dir));
}
/**
*/
@Deprecated
public PowerPointExtractor(DirectoryNode dir, POIFSFileSystem fs) throws IOException {
- this(new HSLFSlideShow(dir, fs));
+ this(new HSLFSlideShowImpl(dir, fs));
}
/**
*
* @param ss the HSLFSlideShow to extract text from
*/
- public PowerPointExtractor(HSLFSlideShow ss) {
+ public PowerPointExtractor(HSLFSlideShowImpl ss) {
super(ss);
_hslfshow = ss;
- _show = new SlideShow(_hslfshow);
+ _show = new HSLFSlideShow(_hslfshow);
_slides = _show.getSlides();
}
List<OLEShape> list = new ArrayList<OLEShape>();
for (int i = 0; i < _slides.length; i++) {
- Slide slide = _slides[i];
+ HSLFSlide slide = _slides[i];
HSLFShape[] shapes = slide.getShapes();
for (int j = 0; j < shapes.length; j++) {
if (getMasterText) {
for (SlideMaster master : _show.getSlidesMasters()) {
for(HSLFShape sh : master.getShapes()){
- if(sh instanceof TextShape){
- if(MasterSheet.isPlaceholder(sh)) {
+ if(sh instanceof HSLFTextShape){
+ if(HSLFMasterSheet.isPlaceholder(sh)) {
// don't bother about boiler
// plate text on master
// sheets
continue;
}
- TextShape tsh = (TextShape)sh;
+ HSLFTextShape tsh = (HSLFTextShape)sh;
String text = tsh.getText();
if (text != null){
ret.append(text);
}
for (int i = 0; i < _slides.length; i++) {
- Slide slide = _slides[i];
+ HSLFSlide slide = _slides[i];
// Slide header, if set
HeadersFooters hf = slide.getHeadersFooters();
HeadersFooters hf = _show.getNotesHeadersFooters();
for (int i = 0; i < _slides.length; i++) {
- Notes notes = _slides[i].getNotesSheet();
+ HSLFNotes notes = _slides[i].getNotesSheet();
if (notes == null) {
continue;
}
ret.append('\n');
}
}
- private void textRunsToText(StringBuffer ret, TextRun[] runs) {
+ private void textRunsToText(StringBuffer ret, HSLFTextParagraph[] runs) {
if (runs==null) {
return;
}
for (int j = 0; j < runs.length; j++) {
- TextRun run = runs[j];
+ HSLFTextParagraph run = runs[j];
if (run != null) {
String text = run.getText();
ret.append(text);
import java.util.ArrayList;
import java.util.List;
-import org.apache.poi.hslf.model.TextRun;
+import org.apache.poi.hslf.model.HSLFTextParagraph;
import org.apache.poi.hslf.record.CString;
import org.apache.poi.hslf.record.Record;
import org.apache.poi.hslf.record.RecordTypes;
// Otherwise, check the type to see if it's text
long type = LittleEndian.getUShort(pptContents,startPos+2);
- TextRun trun = null;
+ HSLFTextParagraph trun = null;
// TextBytesAtom
if(type == RecordTypes.TextBytesAtom.typeID) {
TextBytesAtom tba = (TextBytesAtom)Record.createRecordForType(type, pptContents, startPos, len+8);
- trun = new TextRun((TextHeaderAtom)null,tba,(StyleTextPropAtom)null);
+ trun = new HSLFTextParagraph((TextHeaderAtom)null,tba,(StyleTextPropAtom)null);
}
// TextCharsAtom
if(type == RecordTypes.TextCharsAtom.typeID) {
TextCharsAtom tca = (TextCharsAtom)Record.createRecordForType(type, pptContents, startPos, len+8);
- trun = new TextRun((TextHeaderAtom)null,tca,(StyleTextPropAtom)null);
+ trun = new HSLFTextParagraph((TextHeaderAtom)null,tca,(StyleTextPropAtom)null);
}
// CString (doesn't go via a TextRun)
* TODO: finish
* @author Yegor Kozlov
*/
-public final class ActiveXShape extends Picture {
+public final class ActiveXShape extends HSLFPictureShape {
public static final int DEFAULT_ACTIVEX_THUMBNAIL = -1;
/**
/**
* Assign a control to this shape
*
- * @see org.apache.poi.hslf.usermodel.SlideShow#addMovie(String, int)
+ * @see org.apache.poi.hslf.usermodel.HSLFSlideShow#addMovie(String, int)
* @param idx the index of the movie
*/
public void setActiveXIndex(int idx){
return ctrl;
}
- protected void afterInsert(Sheet sheet){
+ protected void afterInsert(HSLFSheet sheet){
ExControl ctrl = getExControl();
ctrl.getExControlAtom().setSlideId(sheet._getSheetNumber());
+++ /dev/null
-/* ====================================================================
- 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.hslf.model;
-
-import org.apache.poi.ddf.*;
-import org.apache.poi.sl.usermodel.ShapeContainer;
-import org.apache.poi.sl.usermodel.ShapeType;
-import org.apache.poi.util.POILogger;
-
-import java.awt.geom.Rectangle2D;
-
-/**
- * Represents an AutoShape.
- * <p>
- * AutoShapes are drawing objects with a particular shape that may be customized through smart resizing and adjustments.
- * See {@link ShapeTypes}
- * </p>
- *
- * @author Yegor Kozlov
- */
-public class AutoShape extends TextShape {
-
- protected AutoShape(EscherContainerRecord escherRecord, ShapeContainer<HSLFShape> parent){
- super(escherRecord, parent);
- }
-
- public AutoShape(ShapeType type, ShapeContainer<HSLFShape> parent){
- super(null, parent);
- _escherContainer = createSpContainer(type, parent instanceof HSLFGroupShape);
- }
-
- public AutoShape(ShapeType type){
- this(type, null);
- }
-
- protected EscherContainerRecord createSpContainer(ShapeType shapeType, boolean isChild){
- _escherContainer = super.createSpContainer(isChild);
-
- setShapeType(shapeType);
-
- //set default properties for an autoshape
- setEscherProperty(EscherProperties.PROTECTION__LOCKAGAINSTGROUPING, 0x40000);
- setEscherProperty(EscherProperties.FILL__FILLCOLOR, 0x8000004);
- setEscherProperty(EscherProperties.FILL__FILLCOLOR, 0x8000004);
- setEscherProperty(EscherProperties.FILL__FILLBACKCOLOR, 0x8000000);
- setEscherProperty(EscherProperties.FILL__NOFILLHITTEST, 0x100010);
- setEscherProperty(EscherProperties.LINESTYLE__COLOR, 0x8000001);
- setEscherProperty(EscherProperties.LINESTYLE__NOLINEDRAWDASH, 0x80008);
- setEscherProperty(EscherProperties.SHADOWSTYLE__COLOR, 0x8000002);
-
- return _escherContainer;
- }
-
- protected void setDefaultTextProperties(TextRun _txtrun){
- setVerticalAlignment(TextBox.AnchorMiddle);
- setHorizontalAlignment(TextBox.AlignCenter);
- setWordWrap(TextBox.WrapNone);
- }
-
- /**
- * Gets adjust value which controls smart resizing of the auto-shape.
- *
- * <p>
- * The adjustment values are given in shape coordinates:
- * the origin is at the top-left, positive-x is to the right, positive-y is down.
- * The region from (0,0) to (S,S) maps to the geometry box of the shape (S=21600 is a constant).
- * </p>
- *
- * @param idx the adjust index in the [0, 9] range
- * @return the adjustment value
- */
- public int getAdjustmentValue(int idx){
- if(idx < 0 || idx > 9) throw new IllegalArgumentException("The index of an adjustment value must be in the [0, 9] range");
-
- return getEscherProperty((short)(EscherProperties.GEOMETRY__ADJUSTVALUE + idx));
- }
-
- /**
- * Sets adjust value which controls smart resizing of the auto-shape.
- *
- * <p>
- * The adjustment values are given in shape coordinates:
- * the origin is at the top-left, positive-x is to the right, positive-y is down.
- * The region from (0,0) to (S,S) maps to the geometry box of the shape (S=21600 is a constant).
- * </p>
- *
- * @param idx the adjust index in the [0, 9] range
- * @param val the adjustment value
- */
- public void setAdjustmentValue(int idx, int val){
- if(idx < 0 || idx > 9) throw new IllegalArgumentException("The index of an adjustment value must be in the [0, 9] range");
-
- setEscherProperty((short)(EscherProperties.GEOMETRY__ADJUSTVALUE + idx), val);
- }
-
- public java.awt.Shape getOutline(){
- ShapeOutline outline = AutoShapes.getShapeOutline(getShapeType());
- Rectangle2D anchor = getLogicalAnchor2D();
- if(outline == null){
- logger.log(POILogger.WARN, "Outline not found for " + getShapeType().nativeName);
- return anchor;
- }
- java.awt.Shape shape = outline.getOutline(this);
- return AutoShapes.transform(shape, anchor);
- }
-
-}
+++ /dev/null
-/* ====================================================================
- 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.hslf.model;
-
-import java.awt.Color;
-import java.awt.Dimension;
-import java.awt.Graphics2D;
-import java.awt.Image;
-import java.awt.Rectangle;
-import java.awt.image.BufferedImage;
-import java.io.ByteArrayInputStream;
-
-import javax.imageio.ImageIO;
-
-import org.apache.poi.ddf.EscherContainerRecord;
-import org.apache.poi.hslf.blip.Bitmap;
-import org.apache.poi.hslf.usermodel.PictureData;
-import org.apache.poi.sl.usermodel.ShapeContainer;
-import org.apache.poi.util.POILogger;
-
-/**
- * Background shape
- *
- * @author Yegor Kozlov
- */
-public final class Background extends HSLFShape {
-
- protected Background(EscherContainerRecord escherRecord, ShapeContainer<HSLFShape> parent) {
- super(escherRecord, parent);
- }
-
- protected EscherContainerRecord createSpContainer(boolean isChild) {
- return null;
- }
-
- public void draw(Graphics2D graphics) {
- Fill f = getFill();
- Dimension pg = getSheet().getSlideShow().getPageSize();
- Rectangle anchor = new Rectangle(0, 0, pg.width, pg.height);
- switch (f.getFillType()) {
- case Fill.FILL_SOLID:
- Color color = f.getForegroundColor();
- graphics.setPaint(color);
- graphics.fill(anchor);
- break;
- case Fill.FILL_PICTURE:
- PictureData data = f.getPictureData();
- if (data instanceof Bitmap) {
- BufferedImage img = null;
- try {
- img = ImageIO.read(new ByteArrayInputStream(data.getData()));
- } catch (Exception e) {
- logger.log(POILogger.WARN, "ImageIO failed to create image. image.type: " + data.getType());
- return;
- }
- Image scaledImg = img.getScaledInstance(anchor.width, anchor.height, Image.SCALE_SMOOTH);
- graphics.drawImage(scaledImg, anchor.x, anchor.y, null);
-
- }
- break;
- default:
- logger.log(POILogger.WARN, "unsuported fill type: " + f.getFillType());
- break;
- }
- }
-}
+++ /dev/null
-/* ====================================================================
- 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.hslf.model;
-
-import java.awt.Color;
-import java.util.List;
-
-import org.apache.poi.ddf.EscherBSERecord;
-import org.apache.poi.ddf.EscherContainerRecord;
-import org.apache.poi.ddf.EscherOptRecord;
-import org.apache.poi.ddf.EscherProperties;
-import org.apache.poi.ddf.EscherRecord;
-import org.apache.poi.ddf.EscherSimpleProperty;
-import org.apache.poi.hslf.record.Document;
-import org.apache.poi.hslf.usermodel.PictureData;
-import org.apache.poi.hslf.usermodel.SlideShow;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
-
-/**
- * Represents functionality provided by the 'Fill Effects' dialog in PowerPoint.
- *
- * @author Yegor Kozlov
- */
-public final class Fill {
- // For logging
- protected POILogger logger = POILogFactory.getLogger(this.getClass());
-
- /**
- * Fill with a solid color
- */
- public static final int FILL_SOLID = 0;
-
- /**
- * Fill with a pattern (bitmap)
- */
- public static final int FILL_PATTERN = 1;
-
- /**
- * A texture (pattern with its own color map)
- */
- public static final int FILL_TEXTURE = 2;
-
- /**
- * Center a picture in the shape
- */
- public static final int FILL_PICTURE = 3;
-
- /**
- * Shade from start to end points
- */
- public static final int FILL_SHADE = 4;
-
- /**
- * Shade from bounding rectangle to end point
- */
- public static final int FILL_SHADE_CENTER = 5;
-
- /**
- * Shade from shape outline to end point
- */
- public static final int FILL_SHADE_SHAPE = 6;
-
- /**
- * Similar to FILL_SHADE, but the fill angle
- * is additionally scaled by the aspect ratio of
- * the shape. If shape is square, it is the same as FILL_SHADE
- */
- public static final int FILL_SHADE_SCALE = 7;
-
- /**
- * shade to title
- */
- public static final int FILL_SHADE_TITLE = 8;
-
- /**
- * Use the background fill color/pattern
- */
- public static final int FILL_BACKGROUND = 9;
-
-
-
- /**
- * The shape this background applies to
- */
- protected HSLFShape shape;
-
- /**
- * Construct a <code>Fill</code> object for a shape.
- * Fill information will be read from shape's escher properties.
- *
- * @param shape the shape this background applies to
- */
- public Fill(HSLFShape shape){
- this.shape = shape;
- }
-
- /**
- * Returns fill type.
- * Must be one of the <code>FILL_*</code> constants defined in this class.
- *
- * @return type of fill
- */
- public int getFillType(){
- EscherOptRecord opt = shape.getEscherOptRecord();
- EscherSimpleProperty prop = HSLFShape.getEscherProperty(opt, EscherProperties.FILL__FILLTYPE);
- return prop == null ? FILL_SOLID : prop.getPropertyValue();
- }
-
- /**
- */
- protected void afterInsert(Sheet sh){
- EscherOptRecord opt = shape.getEscherOptRecord();
- EscherSimpleProperty p = HSLFShape.getEscherProperty(opt, EscherProperties.FILL__PATTERNTEXTURE);
- if(p != null) {
- int idx = p.getPropertyValue();
- EscherBSERecord bse = getEscherBSERecord(idx);
- bse.setRef(bse.getRef() + 1);
- }
- }
-
- protected EscherBSERecord getEscherBSERecord(int idx){
- Sheet sheet = shape.getSheet();
- if(sheet == null) {
- logger.log(POILogger.DEBUG, "Fill has not yet been assigned to a sheet");
- return null;
- }
- SlideShow ppt = sheet.getSlideShow();
- Document doc = ppt.getDocumentRecord();
- EscherContainerRecord dggContainer = doc.getPPDrawingGroup().getDggContainer();
- EscherContainerRecord bstore = HSLFShape.getEscherChild(dggContainer, EscherContainerRecord.BSTORE_CONTAINER);
- if(bstore == null) {
- logger.log(POILogger.DEBUG, "EscherContainerRecord.BSTORE_CONTAINER was not found ");
- return null;
- }
- List<EscherRecord> lst = bstore.getChildRecords();
- return (EscherBSERecord)lst.get(idx-1);
- }
-
- /**
- * Sets fill type.
- * Must be one of the <code>FILL_*</code> constants defined in this class.
- *
- * @param type type of the fill
- */
- public void setFillType(int type){
- EscherOptRecord opt = shape.getEscherOptRecord();
- HSLFShape.setEscherProperty(opt, EscherProperties.FILL__FILLTYPE, type);
- }
-
- /**
- * Foreground color
- */
- public Color getForegroundColor(){
- EscherOptRecord opt = shape.getEscherOptRecord();
- EscherSimpleProperty p = HSLFShape.getEscherProperty(opt, EscherProperties.FILL__NOFILLHITTEST);
-
- if(p != null && (p.getPropertyValue() & 0x10) == 0) return null;
-
- return shape.getColor(EscherProperties.FILL__FILLCOLOR, EscherProperties.FILL__FILLOPACITY, -1);
-
- }
-
- /**
- * Foreground color
- */
- public void setForegroundColor(Color color){
- EscherOptRecord opt = shape.getEscherOptRecord();
- if (color == null) {
- HSLFShape.setEscherProperty(opt, EscherProperties.FILL__NOFILLHITTEST, 0x150000);
- }
- else {
- int rgb = new Color(color.getBlue(), color.getGreen(), color.getRed(), 0).getRGB();
- HSLFShape.setEscherProperty(opt, EscherProperties.FILL__FILLCOLOR, rgb);
- HSLFShape.setEscherProperty(opt, EscherProperties.FILL__NOFILLHITTEST, 0x150011);
- }
- }
-
- /**
- * Background color
- */
- public Color getBackgroundColor(){
- EscherOptRecord opt = shape.getEscherOptRecord();
- EscherSimpleProperty p = HSLFShape.getEscherProperty(opt, EscherProperties.FILL__NOFILLHITTEST);
-
- if(p != null && (p.getPropertyValue() & 0x10) == 0) return null;
-
- return shape.getColor(EscherProperties.FILL__FILLBACKCOLOR, EscherProperties.FILL__FILLOPACITY, -1);
- }
-
- /**
- * Background color
- */
- public void setBackgroundColor(Color color){
- EscherOptRecord opt = shape.getEscherOptRecord();
- if (color == null) {
- HSLFShape.setEscherProperty(opt, EscherProperties.FILL__FILLBACKCOLOR, -1);
- }
- else {
- int rgb = new Color(color.getBlue(), color.getGreen(), color.getRed(), 0).getRGB();
- HSLFShape.setEscherProperty(opt, EscherProperties.FILL__FILLBACKCOLOR, rgb);
- }
- }
-
- /**
- * <code>PictureData</code> object used in a texture, pattern of picture fill.
- */
- public PictureData getPictureData(){
- EscherOptRecord opt = shape.getEscherOptRecord();
- EscherSimpleProperty p = HSLFShape.getEscherProperty(opt, EscherProperties.FILL__PATTERNTEXTURE);
- if (p == null) return null;
-
- SlideShow ppt = shape.getSheet().getSlideShow();
- PictureData[] pict = ppt.getPictureData();
- Document doc = ppt.getDocumentRecord();
-
- EscherContainerRecord dggContainer = doc.getPPDrawingGroup().getDggContainer();
- EscherContainerRecord bstore = HSLFShape.getEscherChild(dggContainer, EscherContainerRecord.BSTORE_CONTAINER);
-
- java.util.List<EscherRecord> lst = bstore.getChildRecords();
- int idx = p.getPropertyValue();
- if (idx == 0){
- logger.log(POILogger.WARN, "no reference to picture data found ");
- } else {
- EscherBSERecord bse = (EscherBSERecord)lst.get(idx - 1);
- for ( int i = 0; i < pict.length; i++ ) {
- if (pict[i].getOffset() == bse.getOffset()){
- return pict[i];
- }
- }
- }
-
- return null;
- }
-
- /**
- * Assign picture used to fill the underlying shape.
- *
- * @param idx 0-based index of the picture added to this ppt by <code>SlideShow.addPicture</code> method.
- */
- public void setPictureData(int idx){
- EscherOptRecord opt = shape.getEscherOptRecord();
- HSLFShape.setEscherProperty(opt, (short)(EscherProperties.FILL__PATTERNTEXTURE + 0x4000), idx);
- if( idx != 0 ) {
- if( shape.getSheet() != null ) {
- EscherBSERecord bse = getEscherBSERecord(idx);
- bse.setRef(bse.getRef() + 1);
- }
- }
- }
-
-}
+++ /dev/null
-/* ====================================================================
- 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.hslf.model;
-
-import java.awt.geom.AffineTransform;
-import java.awt.geom.GeneralPath;
-import java.awt.geom.PathIterator;
-import java.awt.geom.Point2D;
-import java.awt.geom.Rectangle2D;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.apache.poi.ddf.EscherArrayProperty;
-import org.apache.poi.ddf.EscherContainerRecord;
-import org.apache.poi.ddf.EscherOptRecord;
-import org.apache.poi.ddf.EscherProperties;
-import org.apache.poi.ddf.EscherSimpleProperty;
-import org.apache.poi.sl.usermodel.ShapeContainer;
-import org.apache.poi.sl.usermodel.ShapeType;
-import org.apache.poi.util.LittleEndian;
-import org.apache.poi.util.POILogger;
-
-/**
- * A "Freeform" shape.
- *
- * <p>
- * Shapes drawn with the "Freeform" tool have cubic bezier curve segments in the smooth sections
- * and straight-line segments in the straight sections. This object closely corresponds to <code>java.awt.geom.GeneralPath</code>.
- * </p>
- * @author Yegor Kozlov
- */
-public final class Freeform extends AutoShape {
-
- public static final byte[] SEGMENTINFO_MOVETO = new byte[]{0x00, 0x40};
- public static final byte[] SEGMENTINFO_LINETO = new byte[]{0x00, (byte)0xAC};
- public static final byte[] SEGMENTINFO_ESCAPE = new byte[]{0x01, 0x00};
- public static final byte[] SEGMENTINFO_ESCAPE2 = new byte[]{0x01, 0x20};
- public static final byte[] SEGMENTINFO_CUBICTO = new byte[]{0x00, (byte)0xAD};
- public static final byte[] SEGMENTINFO_CUBICTO2 = new byte[]{0x00, (byte)0xB3}; //OpenOffice inserts 0xB3 instead of 0xAD.
- public static final byte[] SEGMENTINFO_CLOSE = new byte[]{0x01, (byte)0x60};
- public static final byte[] SEGMENTINFO_END = new byte[]{0x00, (byte)0x80};
-
- /**
- * Create a Freeform object and initialize it from the supplied Record container.
- *
- * @param escherRecord <code>EscherSpContainer</code> container which holds information about this shape
- * @param parent the parent of the shape
- */
- protected Freeform(EscherContainerRecord escherRecord, ShapeContainer<HSLFShape> parent){
- super(escherRecord, parent);
-
- }
-
- /**
- * Create a new Freeform. This constructor is used when a new shape is created.
- *
- * @param parent the parent of this Shape. For example, if this text box is a cell
- * in a table then the parent is Table.
- */
- public Freeform(ShapeContainer<HSLFShape> parent){
- super((EscherContainerRecord)null, parent);
- _escherContainer = createSpContainer(ShapeType.NOT_PRIMITIVE, parent instanceof HSLFGroupShape);
- }
-
- /**
- * Create a new Freeform. This constructor is used when a new shape is created.
- *
- */
- public Freeform(){
- this(null);
- }
-
- /**
- * Set the shape path
- *
- * @param path
- */
- public void setPath(GeneralPath path)
- {
- Rectangle2D bounds = path.getBounds2D();
- PathIterator it = path.getPathIterator(new AffineTransform());
-
- List<byte[]> segInfo = new ArrayList<byte[]>();
- List<Point2D.Double> pntInfo = new ArrayList<Point2D.Double>();
- boolean isClosed = false;
- while (!it.isDone()) {
- double[] vals = new double[6];
- int type = it.currentSegment(vals);
- switch (type) {
- case PathIterator.SEG_MOVETO:
- pntInfo.add(new Point2D.Double(vals[0], vals[1]));
- segInfo.add(SEGMENTINFO_MOVETO);
- break;
- case PathIterator.SEG_LINETO:
- pntInfo.add(new Point2D.Double(vals[0], vals[1]));
- segInfo.add(SEGMENTINFO_LINETO);
- segInfo.add(SEGMENTINFO_ESCAPE);
- break;
- case PathIterator.SEG_CUBICTO:
- pntInfo.add(new Point2D.Double(vals[0], vals[1]));
- pntInfo.add(new Point2D.Double(vals[2], vals[3]));
- pntInfo.add(new Point2D.Double(vals[4], vals[5]));
- segInfo.add(SEGMENTINFO_CUBICTO);
- segInfo.add(SEGMENTINFO_ESCAPE2);
- break;
- case PathIterator.SEG_QUADTO:
- //TODO: figure out how to convert SEG_QUADTO into SEG_CUBICTO
- logger.log(POILogger.WARN, "SEG_QUADTO is not supported");
- break;
- case PathIterator.SEG_CLOSE:
- pntInfo.add(pntInfo.get(0));
- segInfo.add(SEGMENTINFO_LINETO);
- segInfo.add(SEGMENTINFO_ESCAPE);
- segInfo.add(SEGMENTINFO_LINETO);
- segInfo.add(SEGMENTINFO_CLOSE);
- isClosed = true;
- break;
- }
-
- it.next();
- }
- if(!isClosed) segInfo.add(SEGMENTINFO_LINETO);
- segInfo.add(new byte[]{0x00, (byte)0x80});
-
- EscherOptRecord opt = getEscherOptRecord();
- opt.addEscherProperty(new EscherSimpleProperty(EscherProperties.GEOMETRY__SHAPEPATH, 0x4));
-
- EscherArrayProperty verticesProp = new EscherArrayProperty((short)(EscherProperties.GEOMETRY__VERTICES + 0x4000), false, null);
- verticesProp.setNumberOfElementsInArray(pntInfo.size());
- verticesProp.setNumberOfElementsInMemory(pntInfo.size());
- verticesProp.setSizeOfElements(0xFFF0);
- for (int i = 0; i < pntInfo.size(); i++) {
- Point2D.Double pnt = pntInfo.get(i);
- byte[] data = new byte[4];
- LittleEndian.putShort(data, 0, (short)((pnt.getX() - bounds.getX())*MASTER_DPI/POINT_DPI));
- LittleEndian.putShort(data, 2, (short)((pnt.getY() - bounds.getY())*MASTER_DPI/POINT_DPI));
- verticesProp.setElement(i, data);
- }
- opt.addEscherProperty(verticesProp);
-
- EscherArrayProperty segmentsProp = new EscherArrayProperty((short)(EscherProperties.GEOMETRY__SEGMENTINFO + 0x4000), false, null);
- segmentsProp.setNumberOfElementsInArray(segInfo.size());
- segmentsProp.setNumberOfElementsInMemory(segInfo.size());
- segmentsProp.setSizeOfElements(0x2);
- for (int i = 0; i < segInfo.size(); i++) {
- byte[] seg = segInfo.get(i);
- segmentsProp.setElement(i, seg);
- }
- opt.addEscherProperty(segmentsProp);
-
- opt.addEscherProperty(new EscherSimpleProperty(EscherProperties.GEOMETRY__RIGHT, (int)(bounds.getWidth()*MASTER_DPI/POINT_DPI)));
- opt.addEscherProperty(new EscherSimpleProperty(EscherProperties.GEOMETRY__BOTTOM, (int)(bounds.getHeight()*MASTER_DPI/POINT_DPI)));
-
- opt.sortProperties();
-
- setAnchor(bounds);
- }
-
- /**
- * Gets the freeform path
- *
- * @return the freeform path
- */
- public GeneralPath getPath(){
- EscherOptRecord opt = getEscherOptRecord();
- opt.addEscherProperty(new EscherSimpleProperty(EscherProperties.GEOMETRY__SHAPEPATH, 0x4));
-
- EscherArrayProperty verticesProp = getEscherProperty(opt, (short)(EscherProperties.GEOMETRY__VERTICES + 0x4000));
- if(verticesProp == null) verticesProp = getEscherProperty(opt, EscherProperties.GEOMETRY__VERTICES);
-
- EscherArrayProperty segmentsProp = getEscherProperty(opt, (short)(EscherProperties.GEOMETRY__SEGMENTINFO + 0x4000));
- if(segmentsProp == null) segmentsProp = getEscherProperty(opt, EscherProperties.GEOMETRY__SEGMENTINFO);
-
- //sanity check
- if(verticesProp == null) {
- logger.log(POILogger.WARN, "Freeform is missing GEOMETRY__VERTICES ");
- return null;
- }
- if(segmentsProp == null) {
- logger.log(POILogger.WARN, "Freeform is missing GEOMETRY__SEGMENTINFO ");
- return null;
- }
-
- GeneralPath path = new GeneralPath();
- int numPoints = verticesProp.getNumberOfElementsInArray();
- int numSegments = segmentsProp.getNumberOfElementsInArray();
- for (int i = 0, j = 0; i < numSegments && j < numPoints; i++) {
- byte[] elem = segmentsProp.getElement(i);
- if(Arrays.equals(elem, SEGMENTINFO_MOVETO)){
- byte[] p = verticesProp.getElement(j++);
- short x = LittleEndian.getShort(p, 0);
- short y = LittleEndian.getShort(p, 2);
- path.moveTo(
- ((float)x*POINT_DPI/MASTER_DPI),
- ((float)y*POINT_DPI/MASTER_DPI));
- } else if (Arrays.equals(elem, SEGMENTINFO_CUBICTO) || Arrays.equals(elem, SEGMENTINFO_CUBICTO2)){
- i++;
- byte[] p1 = verticesProp.getElement(j++);
- short x1 = LittleEndian.getShort(p1, 0);
- short y1 = LittleEndian.getShort(p1, 2);
- byte[] p2 = verticesProp.getElement(j++);
- short x2 = LittleEndian.getShort(p2, 0);
- short y2 = LittleEndian.getShort(p2, 2);
- byte[] p3 = verticesProp.getElement(j++);
- short x3 = LittleEndian.getShort(p3, 0);
- short y3 = LittleEndian.getShort(p3, 2);
- path.curveTo(
- ((float)x1*POINT_DPI/MASTER_DPI), ((float)y1*POINT_DPI/MASTER_DPI),
- ((float)x2*POINT_DPI/MASTER_DPI), ((float)y2*POINT_DPI/MASTER_DPI),
- ((float)x3*POINT_DPI/MASTER_DPI), ((float)y3*POINT_DPI/MASTER_DPI));
-
- } else if (Arrays.equals(elem, SEGMENTINFO_LINETO)){
- i++;
- byte[] pnext = segmentsProp.getElement(i);
- if(Arrays.equals(pnext, SEGMENTINFO_ESCAPE)){
- if(j + 1 < numPoints){
- byte[] p = verticesProp.getElement(j++);
- short x = LittleEndian.getShort(p, 0);
- short y = LittleEndian.getShort(p, 2);
- path.lineTo(
- ((float)x*POINT_DPI/MASTER_DPI), ((float)y*POINT_DPI/MASTER_DPI));
- }
- } else if (Arrays.equals(pnext, SEGMENTINFO_CLOSE)){
- path.closePath();
- }
- }
- }
- return path;
- }
-
- public java.awt.Shape getOutline(){
- GeneralPath path = getPath();
- if(path == null) {
- // return empty path if either GEOMETRY__VERTICES or GEOMETRY__SEGMENTINFO is missing, see Bugzilla 54188
- return new GeneralPath();
- }
-
- Rectangle2D anchor = getAnchor2D();
- Rectangle2D bounds = path.getBounds2D();
- AffineTransform at = new AffineTransform();
- at.translate(anchor.getX(), anchor.getY());
- at.scale(
- anchor.getWidth()/bounds.getWidth(),
- anchor.getHeight()/bounds.getHeight()
- );
- return at.createTransformedShape(path);
- }
-}
--- /dev/null
+/* ====================================================================
+ 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.hslf.model;
+
+import org.apache.poi.ddf.*;
+import org.apache.poi.sl.draw.geom.CustomGeometry;
+import org.apache.poi.sl.draw.geom.Guide;
+import org.apache.poi.sl.usermodel.*;
+import org.apache.poi.util.POILogger;
+
+import java.awt.geom.Rectangle2D;
+import java.util.Iterator;
+
+/**
+ * Represents an AutoShape.
+ * <p>
+ * AutoShapes are drawing objects with a particular shape that may be customized through smart resizing and adjustments.
+ * See {@link ShapeTypes}
+ * </p>
+ *
+ * @author Yegor Kozlov
+ */
+public class HSLFAutoShape extends HSLFTextShape implements AutoShape<HSLFTextParagraph> {
+
+ protected HSLFAutoShape(EscherContainerRecord escherRecord, ShapeContainer<HSLFShape> parent){
+ super(escherRecord, parent);
+ }
+
+ public HSLFAutoShape(ShapeType type, ShapeContainer<HSLFShape> parent){
+ super(null, parent);
+ _escherContainer = createSpContainer(type, parent instanceof HSLFGroupShape);
+ }
+
+ public HSLFAutoShape(ShapeType type){
+ this(type, null);
+ }
+
+ protected EscherContainerRecord createSpContainer(ShapeType shapeType, boolean isChild){
+ _escherContainer = super.createSpContainer(isChild);
+
+ setShapeType(shapeType);
+
+ //set default properties for an autoshape
+ setEscherProperty(EscherProperties.PROTECTION__LOCKAGAINSTGROUPING, 0x40000);
+ setEscherProperty(EscherProperties.FILL__FILLCOLOR, 0x8000004);
+ setEscherProperty(EscherProperties.FILL__FILLCOLOR, 0x8000004);
+ setEscherProperty(EscherProperties.FILL__FILLBACKCOLOR, 0x8000000);
+ setEscherProperty(EscherProperties.FILL__NOFILLHITTEST, 0x100010);
+ setEscherProperty(EscherProperties.LINESTYLE__COLOR, 0x8000001);
+ setEscherProperty(EscherProperties.LINESTYLE__NOLINEDRAWDASH, 0x80008);
+ setEscherProperty(EscherProperties.SHADOWSTYLE__COLOR, 0x8000002);
+
+ return _escherContainer;
+ }
+
+ protected void setDefaultTextProperties(HSLFTextParagraph _txtrun){
+ setVerticalAlignment(HSLFTextBox.AnchorMiddle);
+ setHorizontalAlignment(HSLFTextBox.AlignCenter);
+ setWordWrap(HSLFTextBox.WrapNone);
+ }
+
+ /**
+ * Gets adjust value which controls smart resizing of the auto-shape.
+ *
+ * <p>
+ * The adjustment values are given in shape coordinates:
+ * the origin is at the top-left, positive-x is to the right, positive-y is down.
+ * The region from (0,0) to (S,S) maps to the geometry box of the shape (S=21600 is a constant).
+ * </p>
+ *
+ * @param idx the adjust index in the [0, 9] range
+ * @return the adjustment value
+ */
+ public int getAdjustmentValue(int idx){
+ if(idx < 0 || idx > 9) throw new IllegalArgumentException("The index of an adjustment value must be in the [0, 9] range");
+
+ return getEscherProperty((short)(EscherProperties.GEOMETRY__ADJUSTVALUE + idx));
+ }
+
+ /**
+ * Sets adjust value which controls smart resizing of the auto-shape.
+ *
+ * <p>
+ * The adjustment values are given in shape coordinates:
+ * the origin is at the top-left, positive-x is to the right, positive-y is down.
+ * The region from (0,0) to (S,S) maps to the geometry box of the shape (S=21600 is a constant).
+ * </p>
+ *
+ * @param idx the adjust index in the [0, 9] range
+ * @param val the adjustment value
+ */
+ public void setAdjustmentValue(int idx, int val){
+ if(idx < 0 || idx > 9) throw new IllegalArgumentException("The index of an adjustment value must be in the [0, 9] range");
+
+ setEscherProperty((short)(EscherProperties.GEOMETRY__ADJUSTVALUE + idx), val);
+ }
+
+ public java.awt.Shape getOutline(){
+ ShapeOutline outline = AutoShapes.getShapeOutline(getShapeType());
+ Rectangle2D anchor = getLogicalAnchor2D();
+ if(outline == null){
+ logger.log(POILogger.WARN, "Outline not found for " + getShapeType().nativeName);
+ return anchor;
+ }
+ java.awt.Shape shape = outline.getOutline(this);
+ return AutoShapes.transform(shape, anchor);
+ }
+}
--- /dev/null
+/* ====================================================================
+ 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.hslf.model;
+
+import org.apache.poi.ddf.EscherContainerRecord;
+import org.apache.poi.sl.usermodel.Background;
+import org.apache.poi.sl.usermodel.ShapeContainer;
+
+/**
+ * Background shape
+ *
+ * @author Yegor Kozlov
+ */
+public final class HSLFBackground extends HSLFShape implements Background {
+
+ protected HSLFBackground(EscherContainerRecord escherRecord, ShapeContainer<HSLFShape> parent) {
+ super(escherRecord, parent);
+ }
+
+ protected EscherContainerRecord createSpContainer(boolean isChild) {
+ return null;
+ }
+}
--- /dev/null
+/* ====================================================================
+ 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.hslf.model;
+
+import java.awt.Color;
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+import java.util.List;
+
+import org.apache.poi.ddf.*;
+import org.apache.poi.hslf.record.Document;
+import org.apache.poi.hslf.usermodel.HSLFPictureData;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
+import org.apache.poi.sl.usermodel.*;
+import org.apache.poi.sl.usermodel.PaintStyle.SolidPaint;
+import org.apache.poi.sl.usermodel.PaintStyle.TexturePaint;
+import org.apache.poi.util.POILogFactory;
+import org.apache.poi.util.POILogger;
+
+/**
+ * Represents functionality provided by the 'Fill Effects' dialog in PowerPoint.
+ *
+ * @author Yegor Kozlov
+ */
+public final class HSLFFill {
+ // For logging
+ protected POILogger logger = POILogFactory.getLogger(this.getClass());
+
+ /**
+ * Fill with a solid color
+ */
+ public static final int FILL_SOLID = 0;
+
+ /**
+ * Fill with a pattern (bitmap)
+ */
+ public static final int FILL_PATTERN = 1;
+
+ /**
+ * A texture (pattern with its own color map)
+ */
+ public static final int FILL_TEXTURE = 2;
+
+ /**
+ * Center a picture in the shape
+ */
+ public static final int FILL_PICTURE = 3;
+
+ /**
+ * Shade from start to end points
+ */
+ public static final int FILL_SHADE = 4;
+
+ /**
+ * Shade from bounding rectangle to end point
+ */
+ public static final int FILL_SHADE_CENTER = 5;
+
+ /**
+ * Shade from shape outline to end point
+ */
+ public static final int FILL_SHADE_SHAPE = 6;
+
+ /**
+ * Similar to FILL_SHADE, but the fill angle
+ * is additionally scaled by the aspect ratio of
+ * the shape. If shape is square, it is the same as FILL_SHADE
+ */
+ public static final int FILL_SHADE_SCALE = 7;
+
+ /**
+ * shade to title
+ */
+ public static final int FILL_SHADE_TITLE = 8;
+
+ /**
+ * Use the background fill color/pattern
+ */
+ public static final int FILL_BACKGROUND = 9;
+
+
+
+ /**
+ * The shape this background applies to
+ */
+ protected HSLFShape shape;
+
+ /**
+ * Construct a <code>Fill</code> object for a shape.
+ * Fill information will be read from shape's escher properties.
+ *
+ * @param shape the shape this background applies to
+ */
+ public HSLFFill(HSLFShape shape){
+ this.shape = shape;
+ }
+
+
+ public FillStyle getFillStyle() {
+ return new FillStyle() {
+ public PaintStyle getPaint() {
+ switch (getFillType()) {
+ case FILL_SOLID: {
+ return new SolidPaint() {
+ public ColorStyle getSolidColor() {
+ return new ColorStyle() {
+ public Color getColor() { return getForegroundColor(); }
+ public int getAlpha() { return -1; }
+ public int getLumOff() { return -1; }
+ public int getLumMod() { return -1; }
+ public int getShade() { return -1; }
+ public int getTint() { return -1; }
+ };
+ }
+ };
+ }
+ case FILL_PICTURE: {
+ return new TexturePaint() {
+ final HSLFPictureData pd = getPictureData();
+
+ public InputStream getImageData() {
+ return new ByteArrayInputStream(pd.getData());
+ }
+
+ public String getContentType() {
+ return pd.getContentType();
+ }
+
+ public int getAlpha() {
+ return (int)(shape.getAlpha(EscherProperties.FILL__FILLOPACITY)*100000.0);
+ }
+ };
+ }
+ default:
+ logger.log(POILogger.WARN, "unsuported fill type: " + getFillType());
+ break;
+ }
+ return PaintStyle.TRANSPARENT_PAINT;
+ }
+ };
+ }
+
+ /**
+ * Returns fill type.
+ * Must be one of the <code>FILL_*</code> constants defined in this class.
+ *
+ * @return type of fill
+ */
+ public int getFillType(){
+ EscherOptRecord opt = shape.getEscherOptRecord();
+ EscherSimpleProperty prop = HSLFShape.getEscherProperty(opt, EscherProperties.FILL__FILLTYPE);
+ return prop == null ? FILL_SOLID : prop.getPropertyValue();
+ }
+
+ /**
+ */
+ protected void afterInsert(HSLFSheet sh){
+ EscherOptRecord opt = shape.getEscherOptRecord();
+ EscherSimpleProperty p = HSLFShape.getEscherProperty(opt, EscherProperties.FILL__PATTERNTEXTURE);
+ if(p != null) {
+ int idx = p.getPropertyValue();
+ EscherBSERecord bse = getEscherBSERecord(idx);
+ bse.setRef(bse.getRef() + 1);
+ }
+ }
+
+ protected EscherBSERecord getEscherBSERecord(int idx){
+ HSLFSheet sheet = shape.getSheet();
+ if(sheet == null) {
+ logger.log(POILogger.DEBUG, "Fill has not yet been assigned to a sheet");
+ return null;
+ }
+ HSLFSlideShow ppt = sheet.getSlideShow();
+ Document doc = ppt.getDocumentRecord();
+ EscherContainerRecord dggContainer = doc.getPPDrawingGroup().getDggContainer();
+ EscherContainerRecord bstore = HSLFShape.getEscherChild(dggContainer, EscherContainerRecord.BSTORE_CONTAINER);
+ if(bstore == null) {
+ logger.log(POILogger.DEBUG, "EscherContainerRecord.BSTORE_CONTAINER was not found ");
+ return null;
+ }
+ List<EscherRecord> lst = bstore.getChildRecords();
+ return (EscherBSERecord)lst.get(idx-1);
+ }
+
+ /**
+ * Sets fill type.
+ * Must be one of the <code>FILL_*</code> constants defined in this class.
+ *
+ * @param type type of the fill
+ */
+ public void setFillType(int type){
+ EscherOptRecord opt = shape.getEscherOptRecord();
+ HSLFShape.setEscherProperty(opt, EscherProperties.FILL__FILLTYPE, type);
+ }
+
+ /**
+ * Foreground color
+ */
+ public Color getForegroundColor(){
+ EscherOptRecord opt = shape.getEscherOptRecord();
+ EscherSimpleProperty p = HSLFShape.getEscherProperty(opt, EscherProperties.FILL__NOFILLHITTEST);
+
+ if(p != null && (p.getPropertyValue() & 0x10) == 0) return null;
+
+ return shape.getColor(EscherProperties.FILL__FILLCOLOR, EscherProperties.FILL__FILLOPACITY, -1);
+
+ }
+
+ /**
+ * Foreground color
+ */
+ public void setForegroundColor(Color color){
+ EscherOptRecord opt = shape.getEscherOptRecord();
+ if (color == null) {
+ HSLFShape.setEscherProperty(opt, EscherProperties.FILL__NOFILLHITTEST, 0x150000);
+ }
+ else {
+ int rgb = new Color(color.getBlue(), color.getGreen(), color.getRed(), 0).getRGB();
+ HSLFShape.setEscherProperty(opt, EscherProperties.FILL__FILLCOLOR, rgb);
+ HSLFShape.setEscherProperty(opt, EscherProperties.FILL__NOFILLHITTEST, 0x150011);
+ }
+ }
+
+ /**
+ * Background color
+ */
+ public Color getBackgroundColor(){
+ EscherOptRecord opt = shape.getEscherOptRecord();
+ EscherSimpleProperty p = HSLFShape.getEscherProperty(opt, EscherProperties.FILL__NOFILLHITTEST);
+
+ if(p != null && (p.getPropertyValue() & 0x10) == 0) return null;
+
+ return shape.getColor(EscherProperties.FILL__FILLBACKCOLOR, EscherProperties.FILL__FILLOPACITY, -1);
+ }
+
+ /**
+ * Background color
+ */
+ public void setBackgroundColor(Color color){
+ EscherOptRecord opt = shape.getEscherOptRecord();
+ if (color == null) {
+ HSLFShape.setEscherProperty(opt, EscherProperties.FILL__FILLBACKCOLOR, -1);
+ }
+ else {
+ int rgb = new Color(color.getBlue(), color.getGreen(), color.getRed(), 0).getRGB();
+ HSLFShape.setEscherProperty(opt, EscherProperties.FILL__FILLBACKCOLOR, rgb);
+ }
+ }
+
+ /**
+ * <code>PictureData</code> object used in a texture, pattern of picture fill.
+ */
+ public HSLFPictureData getPictureData(){
+ EscherOptRecord opt = shape.getEscherOptRecord();
+ EscherSimpleProperty p = HSLFShape.getEscherProperty(opt, EscherProperties.FILL__PATTERNTEXTURE);
+ if (p == null) return null;
+
+ HSLFSlideShow ppt = shape.getSheet().getSlideShow();
+ HSLFPictureData[] pict = ppt.getPictureData();
+ Document doc = ppt.getDocumentRecord();
+
+ EscherContainerRecord dggContainer = doc.getPPDrawingGroup().getDggContainer();
+ EscherContainerRecord bstore = HSLFShape.getEscherChild(dggContainer, EscherContainerRecord.BSTORE_CONTAINER);
+
+ java.util.List<EscherRecord> lst = bstore.getChildRecords();
+ int idx = p.getPropertyValue();
+ if (idx == 0){
+ logger.log(POILogger.WARN, "no reference to picture data found ");
+ } else {
+ EscherBSERecord bse = (EscherBSERecord)lst.get(idx - 1);
+ for ( int i = 0; i < pict.length; i++ ) {
+ if (pict[i].getOffset() == bse.getOffset()){
+ return pict[i];
+ }
+ }
+ }
+
+ return null;
+ }
+
+ /**
+ * Assign picture used to fill the underlying shape.
+ *
+ * @param idx 0-based index of the picture added to this ppt by <code>SlideShow.addPicture</code> method.
+ */
+ public void setPictureData(int idx){
+ EscherOptRecord opt = shape.getEscherOptRecord();
+ HSLFShape.setEscherProperty(opt, (short)(EscherProperties.FILL__PATTERNTEXTURE + 0x4000), idx);
+ if( idx != 0 ) {
+ if( shape.getSheet() != null ) {
+ EscherBSERecord bse = getEscherBSERecord(idx);
+ bse.setRef(bse.getRef() + 1);
+ }
+ }
+ }
+
+}
--- /dev/null
+/* ====================================================================
+ 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.hslf.model;
+
+import java.awt.geom.AffineTransform;
+import java.awt.geom.GeneralPath;
+import java.awt.geom.PathIterator;
+import java.awt.geom.Point2D;
+import java.awt.geom.Rectangle2D;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.poi.ddf.EscherArrayProperty;
+import org.apache.poi.ddf.EscherContainerRecord;
+import org.apache.poi.ddf.EscherOptRecord;
+import org.apache.poi.ddf.EscherProperties;
+import org.apache.poi.ddf.EscherSimpleProperty;
+import org.apache.poi.sl.usermodel.ShapeContainer;
+import org.apache.poi.sl.usermodel.ShapeType;
+import org.apache.poi.util.LittleEndian;
+import org.apache.poi.util.POILogger;
+
+/**
+ * A "Freeform" shape.
+ *
+ * <p>
+ * Shapes drawn with the "Freeform" tool have cubic bezier curve segments in the smooth sections
+ * and straight-line segments in the straight sections. This object closely corresponds to <code>java.awt.geom.GeneralPath</code>.
+ * </p>
+ * @author Yegor Kozlov
+ */
+public final class HSLFFreeformShape extends HSLFAutoShape {
+
+ public static final byte[] SEGMENTINFO_MOVETO = new byte[]{0x00, 0x40};
+ public static final byte[] SEGMENTINFO_LINETO = new byte[]{0x00, (byte)0xAC};
+ public static final byte[] SEGMENTINFO_ESCAPE = new byte[]{0x01, 0x00};
+ public static final byte[] SEGMENTINFO_ESCAPE2 = new byte[]{0x01, 0x20};
+ public static final byte[] SEGMENTINFO_CUBICTO = new byte[]{0x00, (byte)0xAD};
+ public static final byte[] SEGMENTINFO_CUBICTO2 = new byte[]{0x00, (byte)0xB3}; //OpenOffice inserts 0xB3 instead of 0xAD.
+ public static final byte[] SEGMENTINFO_CLOSE = new byte[]{0x01, (byte)0x60};
+ public static final byte[] SEGMENTINFO_END = new byte[]{0x00, (byte)0x80};
+
+ /**
+ * Create a Freeform object and initialize it from the supplied Record container.
+ *
+ * @param escherRecord <code>EscherSpContainer</code> container which holds information about this shape
+ * @param parent the parent of the shape
+ */
+ protected HSLFFreeformShape(EscherContainerRecord escherRecord, ShapeContainer<HSLFShape> parent){
+ super(escherRecord, parent);
+
+ }
+
+ /**
+ * Create a new Freeform. This constructor is used when a new shape is created.
+ *
+ * @param parent the parent of this Shape. For example, if this text box is a cell
+ * in a table then the parent is Table.
+ */
+ public HSLFFreeformShape(ShapeContainer<HSLFShape> parent){
+ super((EscherContainerRecord)null, parent);
+ _escherContainer = createSpContainer(ShapeType.NOT_PRIMITIVE, parent instanceof HSLFGroupShape);
+ }
+
+ /**
+ * Create a new Freeform. This constructor is used when a new shape is created.
+ *
+ */
+ public HSLFFreeformShape(){
+ this(null);
+ }
+
+ /**
+ * Set the shape path
+ *
+ * @param path
+ */
+ public void setPath(GeneralPath path)
+ {
+ Rectangle2D bounds = path.getBounds2D();
+ PathIterator it = path.getPathIterator(new AffineTransform());
+
+ List<byte[]> segInfo = new ArrayList<byte[]>();
+ List<Point2D.Double> pntInfo = new ArrayList<Point2D.Double>();
+ boolean isClosed = false;
+ while (!it.isDone()) {
+ double[] vals = new double[6];
+ int type = it.currentSegment(vals);
+ switch (type) {
+ case PathIterator.SEG_MOVETO:
+ pntInfo.add(new Point2D.Double(vals[0], vals[1]));
+ segInfo.add(SEGMENTINFO_MOVETO);
+ break;
+ case PathIterator.SEG_LINETO:
+ pntInfo.add(new Point2D.Double(vals[0], vals[1]));
+ segInfo.add(SEGMENTINFO_LINETO);
+ segInfo.add(SEGMENTINFO_ESCAPE);
+ break;
+ case PathIterator.SEG_CUBICTO:
+ pntInfo.add(new Point2D.Double(vals[0], vals[1]));
+ pntInfo.add(new Point2D.Double(vals[2], vals[3]));
+ pntInfo.add(new Point2D.Double(vals[4], vals[5]));
+ segInfo.add(SEGMENTINFO_CUBICTO);
+ segInfo.add(SEGMENTINFO_ESCAPE2);
+ break;
+ case PathIterator.SEG_QUADTO:
+ //TODO: figure out how to convert SEG_QUADTO into SEG_CUBICTO
+ logger.log(POILogger.WARN, "SEG_QUADTO is not supported");
+ break;
+ case PathIterator.SEG_CLOSE:
+ pntInfo.add(pntInfo.get(0));
+ segInfo.add(SEGMENTINFO_LINETO);
+ segInfo.add(SEGMENTINFO_ESCAPE);
+ segInfo.add(SEGMENTINFO_LINETO);
+ segInfo.add(SEGMENTINFO_CLOSE);
+ isClosed = true;
+ break;
+ }
+
+ it.next();
+ }
+ if(!isClosed) segInfo.add(SEGMENTINFO_LINETO);
+ segInfo.add(new byte[]{0x00, (byte)0x80});
+
+ EscherOptRecord opt = getEscherOptRecord();
+ opt.addEscherProperty(new EscherSimpleProperty(EscherProperties.GEOMETRY__SHAPEPATH, 0x4));
+
+ EscherArrayProperty verticesProp = new EscherArrayProperty((short)(EscherProperties.GEOMETRY__VERTICES + 0x4000), false, null);
+ verticesProp.setNumberOfElementsInArray(pntInfo.size());
+ verticesProp.setNumberOfElementsInMemory(pntInfo.size());
+ verticesProp.setSizeOfElements(0xFFF0);
+ for (int i = 0; i < pntInfo.size(); i++) {
+ Point2D.Double pnt = pntInfo.get(i);
+ byte[] data = new byte[4];
+ LittleEndian.putShort(data, 0, (short)((pnt.getX() - bounds.getX())*MASTER_DPI/POINT_DPI));
+ LittleEndian.putShort(data, 2, (short)((pnt.getY() - bounds.getY())*MASTER_DPI/POINT_DPI));
+ verticesProp.setElement(i, data);
+ }
+ opt.addEscherProperty(verticesProp);
+
+ EscherArrayProperty segmentsProp = new EscherArrayProperty((short)(EscherProperties.GEOMETRY__SEGMENTINFO + 0x4000), false, null);
+ segmentsProp.setNumberOfElementsInArray(segInfo.size());
+ segmentsProp.setNumberOfElementsInMemory(segInfo.size());
+ segmentsProp.setSizeOfElements(0x2);
+ for (int i = 0; i < segInfo.size(); i++) {
+ byte[] seg = segInfo.get(i);
+ segmentsProp.setElement(i, seg);
+ }
+ opt.addEscherProperty(segmentsProp);
+
+ opt.addEscherProperty(new EscherSimpleProperty(EscherProperties.GEOMETRY__RIGHT, (int)(bounds.getWidth()*MASTER_DPI/POINT_DPI)));
+ opt.addEscherProperty(new EscherSimpleProperty(EscherProperties.GEOMETRY__BOTTOM, (int)(bounds.getHeight()*MASTER_DPI/POINT_DPI)));
+
+ opt.sortProperties();
+
+ setAnchor(bounds);
+ }
+
+ /**
+ * Gets the freeform path
+ *
+ * @return the freeform path
+ */
+ public GeneralPath getPath(){
+ EscherOptRecord opt = getEscherOptRecord();
+ opt.addEscherProperty(new EscherSimpleProperty(EscherProperties.GEOMETRY__SHAPEPATH, 0x4));
+
+ EscherArrayProperty verticesProp = getEscherProperty(opt, (short)(EscherProperties.GEOMETRY__VERTICES + 0x4000));
+ if(verticesProp == null) verticesProp = getEscherProperty(opt, EscherProperties.GEOMETRY__VERTICES);
+
+ EscherArrayProperty segmentsProp = getEscherProperty(opt, (short)(EscherProperties.GEOMETRY__SEGMENTINFO + 0x4000));
+ if(segmentsProp == null) segmentsProp = getEscherProperty(opt, EscherProperties.GEOMETRY__SEGMENTINFO);
+
+ //sanity check
+ if(verticesProp == null) {
+ logger.log(POILogger.WARN, "Freeform is missing GEOMETRY__VERTICES ");
+ return null;
+ }
+ if(segmentsProp == null) {
+ logger.log(POILogger.WARN, "Freeform is missing GEOMETRY__SEGMENTINFO ");
+ return null;
+ }
+
+ GeneralPath path = new GeneralPath();
+ int numPoints = verticesProp.getNumberOfElementsInArray();
+ int numSegments = segmentsProp.getNumberOfElementsInArray();
+ for (int i = 0, j = 0; i < numSegments && j < numPoints; i++) {
+ byte[] elem = segmentsProp.getElement(i);
+ if(Arrays.equals(elem, SEGMENTINFO_MOVETO)){
+ byte[] p = verticesProp.getElement(j++);
+ short x = LittleEndian.getShort(p, 0);
+ short y = LittleEndian.getShort(p, 2);
+ path.moveTo(
+ ((float)x*POINT_DPI/MASTER_DPI),
+ ((float)y*POINT_DPI/MASTER_DPI));
+ } else if (Arrays.equals(elem, SEGMENTINFO_CUBICTO) || Arrays.equals(elem, SEGMENTINFO_CUBICTO2)){
+ i++;
+ byte[] p1 = verticesProp.getElement(j++);
+ short x1 = LittleEndian.getShort(p1, 0);
+ short y1 = LittleEndian.getShort(p1, 2);
+ byte[] p2 = verticesProp.getElement(j++);
+ short x2 = LittleEndian.getShort(p2, 0);
+ short y2 = LittleEndian.getShort(p2, 2);
+ byte[] p3 = verticesProp.getElement(j++);
+ short x3 = LittleEndian.getShort(p3, 0);
+ short y3 = LittleEndian.getShort(p3, 2);
+ path.curveTo(
+ ((float)x1*POINT_DPI/MASTER_DPI), ((float)y1*POINT_DPI/MASTER_DPI),
+ ((float)x2*POINT_DPI/MASTER_DPI), ((float)y2*POINT_DPI/MASTER_DPI),
+ ((float)x3*POINT_DPI/MASTER_DPI), ((float)y3*POINT_DPI/MASTER_DPI));
+
+ } else if (Arrays.equals(elem, SEGMENTINFO_LINETO)){
+ i++;
+ byte[] pnext = segmentsProp.getElement(i);
+ if(Arrays.equals(pnext, SEGMENTINFO_ESCAPE)){
+ if(j + 1 < numPoints){
+ byte[] p = verticesProp.getElement(j++);
+ short x = LittleEndian.getShort(p, 0);
+ short y = LittleEndian.getShort(p, 2);
+ path.lineTo(
+ ((float)x*POINT_DPI/MASTER_DPI), ((float)y*POINT_DPI/MASTER_DPI));
+ }
+ } else if (Arrays.equals(pnext, SEGMENTINFO_CLOSE)){
+ path.closePath();
+ }
+ }
+ }
+ return path;
+ }
+
+ public java.awt.Shape getOutline(){
+ GeneralPath path = getPath();
+ if(path == null) {
+ // return empty path if either GEOMETRY__VERTICES or GEOMETRY__SEGMENTINFO is missing, see Bugzilla 54188
+ return new GeneralPath();
+ }
+
+ Rectangle2D anchor = getAnchor2D();
+ Rectangle2D bounds = path.getBounds2D();
+ AffineTransform at = new AffineTransform();
+ at.translate(anchor.getX(), anchor.getY());
+ at.scale(
+ anchor.getWidth()/bounds.getWidth(),
+ anchor.getHeight()/bounds.getHeight()
+ );
+ return at.createTransformedShape(path);
+ }
+}
public void addShape(HSLFShape shape){
_escherContainer.addChildRecord(shape.getSpContainer());
- Sheet sheet = getSheet();
+ HSLFSheet sheet = getSheet();
shape.setSheet(sheet);
shape.setShapeId(sheet.allocateShapeId());
shape.afterInsert(sheet);
--- /dev/null
+/* ====================================================================
+ 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.hslf.model;
+
+import org.apache.poi.hslf.record.SheetContainer;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
+import org.apache.poi.hslf.model.textproperties.TextProp;
+import org.apache.poi.sl.usermodel.MasterSheet;
+
+/**
+ * The superclass of all master sheets - Slide masters, Notes masters, etc.
+ *
+ * For now it's empty. When we understand more about masters in ppt we will add the common functionality here.
+ *
+ * @author Yegor Kozlov
+ */
+public abstract class HSLFMasterSheet extends HSLFSheet implements MasterSheet<HSLFShape,HSLFSlideShow> {
+ public HSLFMasterSheet(SheetContainer container, int sheetNo){
+ super(container, sheetNo);
+ }
+
+ /**
+ * Pickup a style attribute from the master.
+ * This is the "workhorse" which returns the default style attrubutes.
+ */
+ public abstract TextProp getStyleAttribute(int txtype, int level, String name, boolean isCharacter) ;
+
+
+ /**
+ * Checks if the shape is a placeholder.
+ * (placeholders aren't normal shapes, they are visible only in the Edit Master mode)
+ *
+ *
+ * @return true if the shape is a placeholder
+ */
+ public static boolean isPlaceholder(HSLFShape shape){
+ if(!(shape instanceof HSLFTextShape)) return false;
+
+ HSLFTextShape tx = (HSLFTextShape)shape;
+ return tx.getPlaceholderAtom() != null;
+ }
+}
--- /dev/null
+/* ====================================================================
+ 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.hslf.model;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
+import org.apache.poi.sl.usermodel.Notes;
+
+/**
+ * This class represents a slide's notes in a PowerPoint Document. It
+ * allows access to the text within, and the layout. For now, it only
+ * does the text side of things though
+ *
+ * @author Nick Burch
+ */
+
+public final class HSLFNotes extends HSLFSheet implements Notes<HSLFShape, HSLFSlideShow> {
+ private HSLFTextParagraph[] _runs;
+
+ /**
+ * Constructs a Notes Sheet from the given Notes record.
+ * Initialises TextRuns, to provide easier access to the text
+ *
+ * @param notes the Notes record to read from
+ */
+ public HSLFNotes(org.apache.poi.hslf.record.Notes notes) {
+ super(notes, notes.getNotesAtom().getSlideID());
+
+ // Now, build up TextRuns from pairs of TextHeaderAtom and
+ // one of TextBytesAtom or TextCharsAtom, found inside
+ // EscherTextboxWrapper's in the PPDrawing
+ _runs = findTextRuns(getPPDrawing());
+
+ // Set the sheet on each TextRun
+ for (HSLFTextParagraph tp : _runs) {
+ tp.supplySheet(this);
+ }
+ }
+
+ /**
+ * Returns an array of all the TextRuns found
+ */
+ public HSLFTextParagraph[] getTextRuns() {
+ return _runs;
+ }
+
+ @Override
+ public List<HSLFTextParagraph> getTextParagraphs() {
+ return Arrays.asList(_runs);
+ }
+
+ /**
+ * Return <code>null</code> - Notes Masters are not yet supported
+ */
+ public HSLFMasterSheet getMasterSheet() {
+ return null;
+ }
+}
--- /dev/null
+/* ====================================================================
+ 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.hslf.model;
+
+import java.awt.Graphics2D;
+import java.awt.Insets;
+import java.awt.geom.AffineTransform;
+import java.awt.image.BufferedImage;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.util.List;
+
+import javax.imageio.ImageIO;
+
+import org.apache.poi.ddf.EscherBSERecord;
+import org.apache.poi.ddf.EscherComplexProperty;
+import org.apache.poi.ddf.EscherContainerRecord;
+import org.apache.poi.ddf.EscherOptRecord;
+import org.apache.poi.ddf.EscherProperties;
+import org.apache.poi.ddf.EscherRecord;
+import org.apache.poi.ddf.EscherSimpleProperty;
+import org.apache.poi.ddf.EscherSpRecord;
+import org.apache.poi.hslf.blip.Bitmap;
+import org.apache.poi.hslf.record.Document;
+import org.apache.poi.hslf.usermodel.HSLFPictureData;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
+import org.apache.poi.sl.usermodel.ShapeContainer;
+import org.apache.poi.sl.usermodel.ShapeType;
+import org.apache.poi.util.POILogger;
+import org.apache.poi.util.StringUtil;
+import org.apache.poi.util.Units;
+
+
+/**
+ * Represents a picture in a PowerPoint document.
+ *
+ * @author Yegor Kozlov
+ */
+public class HSLFPictureShape extends HSLFSimpleShape {
+
+ /**
+ * Windows Enhanced Metafile (EMF)
+ */
+ public static final int EMF = 2;
+
+ /**
+ * Windows Metafile (WMF)
+ */
+ public static final int WMF = 3;
+
+ /**
+ * Macintosh PICT
+ */
+ public static final int PICT = 4;
+
+ /**
+ * JPEG
+ */
+ public static final int JPEG = 5;
+
+ /**
+ * PNG
+ */
+ public static final int PNG = 6;
+
+ /**
+ * Windows DIB (BMP)
+ */
+ public static final byte DIB = 7;
+
+ /**
+ * Create a new <code>Picture</code>
+ *
+ * @param idx the index of the picture
+ */
+ public HSLFPictureShape(int idx){
+ this(idx, null);
+ }
+
+ /**
+ * Create a new <code>Picture</code>
+ *
+ * @param idx the index of the picture
+ * @param parent the parent shape
+ */
+ public HSLFPictureShape(int idx, ShapeContainer<HSLFShape> parent) {
+ super(null, parent);
+ _escherContainer = createSpContainer(idx, parent instanceof HSLFGroupShape);
+ }
+
+ /**
+ * Create a <code>Picture</code> object
+ *
+ * @param escherRecord the <code>EscherSpContainer</code> record which holds information about
+ * this picture in the <code>Slide</code>
+ * @param parent the parent shape of this picture
+ */
+ protected HSLFPictureShape(EscherContainerRecord escherRecord, ShapeContainer<HSLFShape> parent){
+ super(escherRecord, parent);
+ }
+
+ /**
+ * Returns index associated with this picture.
+ * Index starts with 1 and points to a EscherBSE record which
+ * holds information about this picture.
+ *
+ * @return the index to this picture (1 based).
+ */
+ public int getPictureIndex(){
+ EscherOptRecord opt = getEscherOptRecord();
+ EscherSimpleProperty prop = getEscherProperty(opt, EscherProperties.BLIP__BLIPTODISPLAY);
+ return prop == null ? 0 : prop.getPropertyValue();
+ }
+
+ /**
+ * Create a new Picture and populate the inital structure of the <code>EscherSp</code> record which holds information about this picture.
+
+ * @param idx the index of the picture which refers to <code>EscherBSE</code> container.
+ * @return the create Picture object
+ */
+ protected EscherContainerRecord createSpContainer(int idx, boolean isChild) {
+ _escherContainer = super.createSpContainer(isChild);
+ _escherContainer.setOptions((short)15);
+
+ EscherSpRecord spRecord = _escherContainer.getChildById(EscherSpRecord.RECORD_ID);
+ spRecord.setOptions((short)((ShapeType.FRAME.nativeId << 4) | 0x2));
+
+ //set default properties for a picture
+ EscherOptRecord opt = getEscherOptRecord();
+ setEscherProperty(opt, EscherProperties.PROTECTION__LOCKAGAINSTGROUPING, 0x800080);
+
+ //another weird feature of powerpoint: for picture id we must add 0x4000.
+ setEscherProperty(opt, (short)(EscherProperties.BLIP__BLIPTODISPLAY + 0x4000), idx);
+
+ return _escherContainer;
+ }
+
+ /**
+ * Resize this picture to the default size.
+ * For PNG and JPEG resizes the image to 100%,
+ * for other types sets the default size of 200x200 pixels.
+ */
+ public void setDefaultSize(){
+ HSLFPictureData pict = getPictureData();
+ if (pict instanceof Bitmap){
+ BufferedImage img = null;
+ try {
+ img = ImageIO.read(new ByteArrayInputStream(pict.getData()));
+ }
+ catch (IOException e){}
+ catch (NegativeArraySizeException ne) {}
+
+ if(img != null) {
+ // Valid image, set anchor from it
+ setAnchor(new java.awt.Rectangle(0, 0, img.getWidth()*POINT_DPI/PIXEL_DPI, img.getHeight()*POINT_DPI/PIXEL_DPI));
+ } else {
+ // Invalid image, go with the default metafile size
+ setAnchor(new java.awt.Rectangle(0, 0, 200, 200));
+ }
+ } else {
+ //default size of a metafile picture is 200x200
+ setAnchor(new java.awt.Rectangle(50, 50, 200, 200));
+ }
+ }
+
+ /**
+ * Returns the picture data for this picture.
+ *
+ * @return the picture data for this picture.
+ */
+ public HSLFPictureData getPictureData(){
+ HSLFSlideShow ppt = getSheet().getSlideShow();
+ HSLFPictureData[] pict = ppt.getPictureData();
+
+ EscherBSERecord bse = getEscherBSERecord();
+ if (bse == null){
+ logger.log(POILogger.ERROR, "no reference to picture data found ");
+ } else {
+ for ( int i = 0; i < pict.length; i++ ) {
+ if (pict[i].getOffset() == bse.getOffset()){
+ return pict[i];
+ }
+ }
+ logger.log(POILogger.ERROR, "no picture found for our BSE offset " + bse.getOffset());
+ }
+ return null;
+ }
+
+ protected EscherBSERecord getEscherBSERecord(){
+ HSLFSlideShow ppt = getSheet().getSlideShow();
+ Document doc = ppt.getDocumentRecord();
+ EscherContainerRecord dggContainer = doc.getPPDrawingGroup().getDggContainer();
+ EscherContainerRecord bstore = HSLFShape.getEscherChild(dggContainer, EscherContainerRecord.BSTORE_CONTAINER);
+ if(bstore == null) {
+ logger.log(POILogger.DEBUG, "EscherContainerRecord.BSTORE_CONTAINER was not found ");
+ return null;
+ }
+ List<EscherRecord> lst = bstore.getChildRecords();
+ int idx = getPictureIndex();
+ if (idx == 0){
+ logger.log(POILogger.DEBUG, "picture index was not found, returning ");
+ return null;
+ }
+ return (EscherBSERecord)lst.get(idx-1);
+ }
+
+ /**
+ * Name of this picture.
+ *
+ * @return name of this picture
+ */
+ public String getPictureName(){
+ EscherOptRecord opt = getEscherOptRecord();
+ EscherComplexProperty prop = getEscherProperty(opt, EscherProperties.BLIP__BLIPFILENAME);
+ if (prop == null) return null;
+ String name = StringUtil.getFromUnicodeLE(prop.getComplexData());
+ return name.trim();
+ }
+
+ /**
+ * Name of this picture.
+ *
+ * @param name of this picture
+ */
+ public void setPictureName(String name){
+ EscherOptRecord opt = getEscherOptRecord();
+ byte[] data = StringUtil.getToUnicodeLE(name + '\u0000');
+ EscherComplexProperty prop = new EscherComplexProperty(EscherProperties.BLIP__BLIPFILENAME, false, data);
+ opt.addEscherProperty(prop);
+ }
+
+ /**
+ * By default set the orininal image size
+ */
+ protected void afterInsert(HSLFSheet sh){
+ super.afterInsert(sh);
+
+ EscherBSERecord bse = getEscherBSERecord();
+ bse.setRef(bse.getRef() + 1);
+
+ java.awt.Rectangle anchor = getAnchor();
+ if (anchor.equals(new java.awt.Rectangle())){
+ setDefaultSize();
+ }
+ }
+
+ public void draw(Graphics2D graphics){
+ AffineTransform at = graphics.getTransform();
+ ShapePainter.paint(this, graphics);
+
+ HSLFPictureData data = getPictureData();
+ if(data != null) data.draw(graphics, this);
+
+ graphics.setTransform(at);
+ }
+
+ /**
+ * Returns the clipping values as percent ratio relatively to the image size.
+ * The anchor specified by {@link #getLogicalAnchor2D()} is the displayed size,
+ * i.e. the size of the already clipped image
+ *
+ * @return the clipping as insets converted/scaled to 100000 (=100%)
+ */
+ public Insets getBlipClip() {
+ EscherOptRecord opt = getEscherOptRecord();
+
+ double top = getFractProp(opt, EscherProperties.BLIP__CROPFROMTOP);
+ double bottom = getFractProp(opt, EscherProperties.BLIP__CROPFROMBOTTOM);
+ double left = getFractProp(opt, EscherProperties.BLIP__CROPFROMLEFT);
+ double right = getFractProp(opt, EscherProperties.BLIP__CROPFROMRIGHT);
+
+ // if all crop values are zero (the default) then no crop rectangle is set, return null
+ return (top==0 && bottom==0 && left==0 && right==0)
+ ? null
+ : new Insets((int)(top*100000), (int)(left*100000), (int)(bottom*100000), (int)(right*100000));
+ }
+
+ /**
+ * @return the fractional property or 0 if not defined
+ */
+ private static double getFractProp(EscherOptRecord opt, short propertyId) {
+ EscherSimpleProperty prop = getEscherProperty(opt, propertyId);
+ if (prop == null) return 0;
+ int fixedPoint = prop.getPropertyValue();
+ return Units.fixedPointToDouble(fixedPoint);
+ }
+}
\ No newline at end of file
package org.apache.poi.hslf.model;
+import java.awt.Color;
+import java.awt.Graphics2D;
+import java.awt.geom.Rectangle2D;
+import java.util.Iterator;
+
import org.apache.poi.ddf.*;
import org.apache.poi.hslf.record.ColorSchemeAtom;
-import org.apache.poi.sl.usermodel.ShapeContainer;
-import org.apache.poi.sl.usermodel.ShapeType;
-import org.apache.poi.util.POILogger;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.Units;
-
-import java.util.*;
-import java.awt.*;
-import java.awt.geom.Rectangle2D;
+import org.apache.poi.sl.usermodel.*;
+import org.apache.poi.util.*;
/**
* <p>
*
* @author Yegor Kozlov
*/
-public abstract class HSLFShape implements org.apache.poi.sl.usermodel.Shape<HSLFShape> {
+public abstract class HSLFShape implements Shape {
// For logging
protected POILogger logger = POILogFactory.getLogger(this.getClass());
/**
* The <code>Sheet</code> this shape belongs to
*/
- protected Sheet _sheet;
+ protected HSLFSheet _sheet;
/**
* Fill
*/
- protected Fill _fill;
+ protected HSLFFill _fill;
/**
* Create a Shape object. This constructor is used when an existing Shape is read from from a PowerPoint document.
*
* @param sh - owning shape
*/
- protected void afterInsert(Sheet sh){
+ protected void afterInsert(HSLFSheet sh){
if(_fill != null) {
_fill.afterInsert(sh);
}
/**
* @return the <code>SlideShow</code> this shape belongs to
*/
- public Sheet getSheet(){
+ public HSLFSheet getSheet(){
return _sheet;
}
*
* @param sheet owner of this shape
*/
- public void setSheet(Sheet sheet){
+ public void setSheet(HSLFSheet sheet){
_sheet = sheet;
}
int rgb[] = ecr.getRGB();
- Sheet sheet = getSheet();
+ HSLFSheet sheet = getSheet();
if (fSchemeIndex && sheet != null) {
//red is the index to the color scheme
ColorSchemeAtom ca = sheet.getColorScheme();
//TODO
}
+ double alpha = getAlpha(opacityProperty);
+ return new Color(rgb[0], rgb[1], rgb[2], (int)(alpha*255.0));
+ }
+
+ double getAlpha(short opacityProperty) {
+ EscherOptRecord opt = getEscherOptRecord();
EscherSimpleProperty op = getEscherProperty(opt, opacityProperty);
int defaultOpacity = 0x00010000;
int opacity = (op == null) ? defaultOpacity : op.getPropertyValue();
- double alpha = Units.fixedPointToDouble(opacity)*255.0;
- return new Color(rgb[0], rgb[1], rgb[2], (int)alpha);
+ return Units.fixedPointToDouble(opacity);
}
-
+
Color toRGB(int val){
int a = (val >> 24) & 0xFF;
int b = (val >> 16) & 0xFF;
*
* @return fill properties of this shape
*/
- public Fill getFill(){
- if(_fill == null) _fill = new Fill(this);
+ public HSLFFill getFill(){
+ if(_fill == null) {
+ _fill = new HSLFFill(this);
+ }
return _fill;
}
+ public FillStyle getFillStyle() {
+ return getFill().getFillStyle();
+ }
/**
* Returns the hyperlink assigned to this shape
return getEscherChild(EscherOptRecord.RECORD_ID);
}
- @Override
public boolean getFlipHorizontal(){
EscherSpRecord spRecord = getEscherChild(EscherSpRecord.RECORD_ID);
return (spRecord.getFlags()& EscherSpRecord.FLAG_FLIPHORIZ) != 0;
}
- @Override
public void setFlipHorizontal(boolean flip) {
EscherSpRecord spRecord = getEscherChild(EscherSpRecord.RECORD_ID);
int flag = spRecord.getFlags() | EscherSpRecord.FLAG_FLIPHORIZ;
spRecord.setFlags(flag);
}
- @Override
public boolean getFlipVertical(){
EscherSpRecord spRecord = getEscherChild(EscherSpRecord.RECORD_ID);
return (spRecord.getFlags()& EscherSpRecord.FLAG_FLIPVERT) != 0;
}
- @Override
public void setFlipVertical(boolean flip) {
EscherSpRecord spRecord = getEscherChild(EscherSpRecord.RECORD_ID);
int flag = spRecord.getFlags() | EscherSpRecord.FLAG_FLIPVERT;
spRecord.setFlags(flag);
}
- @Override
public double getRotation(){
int rot = getEscherProperty(EscherProperties.TRANSFORM__ROTATION);
double angle = Units.fixedPointToDouble(rot) % 360.0;
return angle;
}
- @Override
public void setRotation(double theta){
int rot = Units.doubleToFixedPoint(theta % 360.0);
setEscherProperty(EscherProperties.TRANSFORM__ROTATION, rot);
}
- @Override
public boolean isPlaceholder() {
return false;
}
--- /dev/null
+/* ====================================================================
+ 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.hslf.model;
+
+import java.awt.Graphics2D;
+import java.util.*;
+
+import org.apache.poi.ddf.*;
+import org.apache.poi.hslf.record.*;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
+import org.apache.poi.sl.usermodel.Sheet;
+import org.apache.poi.util.POILogFactory;
+import org.apache.poi.util.POILogger;
+
+/**
+ * This class defines the common format of "Sheets" in a powerpoint
+ * document. Such sheets could be Slides, Notes, Master etc
+ *
+ * @author Nick Burch
+ * @author Yegor Kozlov
+ */
+
+public abstract class HSLFSheet implements Sheet<HSLFShape,HSLFSlideShow> {
+ private static POILogger logger = POILogFactory.getLogger(HSLFSheet.class);
+
+ /**
+ * The <code>SlideShow</code> we belong to
+ */
+ private HSLFSlideShow _slideShow;
+
+ /**
+ * Sheet background
+ */
+ private HSLFBackground _background;
+
+ /**
+ * Record container that holds sheet data.
+ * For slides it is org.apache.poi.hslf.record.Slide,
+ * for notes it is org.apache.poi.hslf.record.Notes,
+ * for slide masters it is org.apache.poi.hslf.record.SlideMaster, etc.
+ */
+ private SheetContainer _container;
+
+ private int _sheetNo;
+
+ public HSLFSheet(SheetContainer container, int sheetNo) {
+ _container = container;
+ _sheetNo = sheetNo;
+ }
+
+ /**
+ * Returns an array of all the TextRuns in the sheet.
+ */
+ public abstract HSLFTextParagraph[] getTextRuns();
+
+ /**
+ * Returns the (internal, RefID based) sheet number, as used
+ * to in PersistPtr stuff.
+ */
+ public int _getSheetRefId() {
+ return _container.getSheetId();
+ }
+
+ /**
+ * Returns the (internal, SlideIdentifier based) sheet number, as used
+ * to reference this sheet from other records.
+ */
+ public int _getSheetNumber() {
+ return _sheetNo;
+ }
+
+ /**
+ * Fetch the PPDrawing from the underlying record
+ */
+ protected PPDrawing getPPDrawing() {
+ return _container.getPPDrawing();
+ }
+
+ /**
+ * Fetch the SlideShow we're attached to
+ */
+ public HSLFSlideShow getSlideShow() {
+ return _slideShow;
+ }
+
+ /**
+ * Return record container for this sheet
+ */
+ public SheetContainer getSheetContainer() {
+ return _container;
+ }
+
+ /**
+ * Set the SlideShow we're attached to.
+ * Also passes it on to our child RichTextRuns
+ */
+ public void setSlideShow(HSLFSlideShow ss) {
+ _slideShow = ss;
+ HSLFTextParagraph[] trs = getTextRuns();
+ if (trs == null) return;
+ for (HSLFTextParagraph tp : trs) {
+ tp.supplySheet(this);
+ }
+ }
+
+
+ /**
+ * For a given PPDrawing, grab all the TextRuns
+ */
+ public static HSLFTextParagraph[] findTextRuns(PPDrawing ppdrawing) {
+ final List<HSLFTextParagraph> runsV = new ArrayList<HSLFTextParagraph>();
+ final EscherTextboxWrapper[] wrappers = ppdrawing.getTextboxWrappers();
+ for (int i = 0; i < wrappers.length; i++) {
+ int s1 = runsV.size();
+
+ // propagate parents to parent-aware records
+ RecordContainer.handleParentAwareRecords(wrappers[i]);
+ findTextRuns(wrappers[i], runsV);
+ int s2 = runsV.size();
+ if (s2 != s1){
+ HSLFTextParagraph t = runsV.get(runsV.size()-1);
+ t.setShapeId(wrappers[i].getShapeId());
+ }
+ }
+ return runsV.toArray(new HSLFTextParagraph[runsV.size()]);
+ }
+ /**
+ * Scans through the supplied record array, looking for
+ * a TextHeaderAtom followed by one of a TextBytesAtom or
+ * a TextCharsAtom. Builds up TextRuns from these
+ *
+ * @param records the records to build from
+ * @param found vector to add any found to
+ */
+ protected static void findTextParagraphs(final Record[] records, final List<HSLFTextParagraph> found) {
+ findTextRuns(records, found, null);
+ }
+ /**
+ * Scans through the supplied record array, looking for
+ * a TextHeaderAtom followed by one of a TextBytesAtom or
+ * a TextCharsAtom. Builds up TextRuns from these
+ *
+ * @param wrapper an EscherTextboxWrapper
+ * @param found vector to add any found to
+ */
+ protected static void findTextRuns(final EscherTextboxWrapper wrapper, final List<HSLFTextParagraph> found) {
+ findTextRuns(wrapper.getChildRecords(), found, wrapper.getStyleTextProp9Atom());
+ }
+ /**
+ * Scans through the supplied record array, looking for
+ * a TextHeaderAtom followed by one of a TextBytesAtom or
+ * a TextCharsAtom. Builds up TextRuns from these
+ *
+ * @param records the records to build from
+ * @param found vector to add any found to
+ * @param styleTextProp9Atom a StyleTextProp9Atom with numbered lists info
+ */
+ protected static void findTextRuns(final Record[] records, final List<HSLFTextParagraph> found, final StyleTextProp9Atom styleTextProp9Atom) {
+ for (int i = 0, slwtIndex=0; i < (records.length - 1); i++) {
+ if (records[i] instanceof TextHeaderAtom) {
+ TextHeaderAtom tha = (TextHeaderAtom) records[i];
+ StyleTextPropAtom stpa = null;
+ HSLFTextParagraph trun = null;
+ Record next = null;
+ Record subs = null;
+
+ // See what follows the TextHeaderAtom
+ next = records[i+1];
+ if (i < records.length - 2) {
+ subs = records[i+2];
+ }
+
+ // Is the next record one we need to skip over?
+ if (subs != null) {
+ if (next instanceof TextRulerAtom ||
+ next instanceof MasterTextPropAtom ||
+ next instanceof TextSpecInfoAtom) {
+ // Ignore this one, check the one after
+ next = subs;
+ if (i < records.length - 3) {
+ subs = records[i+3];
+ } else {
+ subs = null;
+ }
+ }
+ }
+
+ // Is the subsequent record a style one?
+ if (subs != null && subs instanceof StyleTextPropAtom) {
+ stpa = (StyleTextPropAtom)subs;
+ }
+
+ // Now, check if the next record is one to record
+ if (next instanceof TextCharsAtom) {
+ TextCharsAtom tca = (TextCharsAtom)next;
+ trun = new HSLFTextParagraph(tha, tca, stpa);
+ } else if (next instanceof TextBytesAtom) {
+ TextBytesAtom tba = (TextBytesAtom)next;
+ trun = new HSLFTextParagraph(tha, tba, stpa);
+ } else if (next instanceof StyleTextPropAtom) {
+ stpa = (StyleTextPropAtom)next;
+ } else if (next instanceof TextHeaderAtom) {
+ // Seems to be a mostly, but not completely deleted block of
+ // text. Only the header remains, which isn't useful alone
+ // Skip on to the next TextHeaderAtom
+ continue;
+ } else {
+ logger.log(POILogger.ERROR, "Found a TextHeaderAtom not followed by a TextBytesAtom or TextCharsAtom: Followed by " + next.getRecordType());
+ }
+
+ if (trun != null) {
+ List<Record> lst = new ArrayList<Record>();
+ for (int j = i; j < records.length; j++) {
+ if(j > i && records[j] instanceof TextHeaderAtom) break;
+ lst.add(records[j]);
+ }
+ Record[] recs = new Record[lst.size()];
+ lst.toArray(recs);
+ trun._records = recs;
+ trun.setIndex(slwtIndex);
+ trun.setStyleTextProp9Atom(styleTextProp9Atom);
+ found.add(trun);
+ i++;
+ } else {
+ // Not a valid one, so skip on to next and look again
+ }
+ slwtIndex++;
+ }
+ }
+ }
+
+ /**
+ * Returns all shapes contained in this Sheet
+ *
+ * @return all shapes contained in this Sheet (Slide or Notes)
+ */
+ public HSLFShape[] getShapes() {
+ List<HSLFShape> shapeList = getShapeList();
+ return shapeList.toArray(new HSLFShape[shapeList.size()]);
+ }
+
+ /**
+ * Add a new Shape to this Slide
+ *
+ * @param shape - the Shape to add
+ */
+ public void addShape(HSLFShape shape) {
+ PPDrawing ppdrawing = getPPDrawing();
+
+ EscherContainerRecord dgContainer = (EscherContainerRecord) ppdrawing.getEscherRecords()[0];
+ EscherContainerRecord spgr = (EscherContainerRecord) HSLFShape.getEscherChild(dgContainer, EscherContainerRecord.SPGR_CONTAINER);
+ spgr.addChildRecord(shape.getSpContainer());
+
+ shape.setSheet(this);
+ shape.setShapeId(allocateShapeId());
+ shape.afterInsert(this);
+ }
+
+ /**
+ * Allocates new shape id for the new drawing group id.
+ *
+ * @return a new shape id.
+ */
+ public int allocateShapeId()
+ {
+ EscherDggRecord dgg = _slideShow.getDocumentRecord().getPPDrawingGroup().getEscherDggRecord();
+ EscherDgRecord dg = _container.getPPDrawing().getEscherDgRecord();
+
+ dgg.setNumShapesSaved( dgg.getNumShapesSaved() + 1 );
+
+ // Add to existing cluster if space available
+ for (int i = 0; i < dgg.getFileIdClusters().length; i++)
+ {
+ EscherDggRecord.FileIdCluster c = dgg.getFileIdClusters()[i];
+ if (c.getDrawingGroupId() == dg.getDrawingGroupId() && c.getNumShapeIdsUsed() != 1024)
+ {
+ int result = c.getNumShapeIdsUsed() + (1024 * (i+1));
+ c.incrementShapeId();
+ dg.setNumShapes( dg.getNumShapes() + 1 );
+ dg.setLastMSOSPID( result );
+ if (result >= dgg.getShapeIdMax())
+ dgg.setShapeIdMax( result + 1 );
+ return result;
+ }
+ }
+
+ // Create new cluster
+ dgg.addCluster( dg.getDrawingGroupId(), 0, false );
+ dgg.getFileIdClusters()[dgg.getFileIdClusters().length-1].incrementShapeId();
+ dg.setNumShapes( dg.getNumShapes() + 1 );
+ int result = (1024 * dgg.getFileIdClusters().length);
+ dg.setLastMSOSPID( result );
+ if (result >= dgg.getShapeIdMax())
+ dgg.setShapeIdMax( result + 1 );
+ return result;
+ }
+
+ /**
+ * Removes the specified shape from this sheet.
+ *
+ * @param shape shape to be removed from this sheet, if present.
+ * @return <tt>true</tt> if the shape was deleted.
+ */
+ public boolean removeShape(HSLFShape shape) {
+ PPDrawing ppdrawing = getPPDrawing();
+
+ EscherContainerRecord dg = (EscherContainerRecord) ppdrawing.getEscherRecords()[0];
+ EscherContainerRecord spgr = null;
+
+ for (Iterator<EscherRecord> it = dg.getChildIterator(); it.hasNext();) {
+ EscherRecord rec = it.next();
+ if (rec.getRecordId() == EscherContainerRecord.SPGR_CONTAINER) {
+ spgr = (EscherContainerRecord) rec;
+ break;
+ }
+ }
+ if(spgr == null) {
+ return false;
+ }
+
+ List<EscherRecord> lst = spgr.getChildRecords();
+ boolean result = lst.remove(shape.getSpContainer());
+ spgr.setChildRecords(lst);
+ return result;
+ }
+
+ /**
+ * Called by SlideShow ater a new sheet is created
+ */
+ public void onCreate(){
+
+ }
+
+ /**
+ * Return the master sheet .
+ */
+ public abstract HSLFMasterSheet getMasterSheet();
+
+ /**
+ * Color scheme for this sheet.
+ */
+ public ColorSchemeAtom getColorScheme() {
+ return _container.getColorScheme();
+ }
+
+ /**
+ * Returns the background shape for this sheet.
+ *
+ * @return the background shape for this sheet.
+ */
+ public HSLFBackground getBackground() {
+ if (_background == null) {
+ PPDrawing ppdrawing = getPPDrawing();
+
+ EscherContainerRecord dg = (EscherContainerRecord) ppdrawing.getEscherRecords()[0];
+ EscherContainerRecord spContainer = null;
+
+ for (Iterator<EscherRecord> it = dg.getChildIterator(); it.hasNext();) {
+ EscherRecord rec = it.next();
+ if (rec.getRecordId() == EscherContainerRecord.SP_CONTAINER) {
+ spContainer = (EscherContainerRecord) rec;
+ break;
+ }
+ }
+ _background = new HSLFBackground(spContainer, null);
+ _background.setSheet(this);
+ }
+ return _background;
+ }
+
+ public void draw(Graphics2D graphics){
+
+ }
+
+ /**
+ * Subclasses should call this method and update the array of text runs
+ * when a text shape is added
+ *
+ * @param shape
+ */
+ protected void onAddTextShape(HSLFTextShape shape) {
+
+ }
+
+ /**
+ * Return placeholder by text type
+ *
+ * @param type type of text, See {@link org.apache.poi.hslf.record.TextHeaderAtom}
+ * @return <code>TextShape</code> or <code>null</code>
+ */
+ public HSLFTextShape getPlaceholderByTextType(int type){
+ HSLFShape[] shape = getShapes();
+ for (int i = 0; i < shape.length; i++) {
+ if(shape[i] instanceof HSLFTextShape){
+ HSLFTextShape tx = (HSLFTextShape)shape[i];
+ HSLFTextParagraph run = tx.getTextParagraph();
+ if(run != null && run.getRunType() == type){
+ return tx;
+ }
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Search text placeholer by its type
+ *
+ * @param type type of placeholder to search. See {@link org.apache.poi.hslf.record.OEPlaceholderAtom}
+ * @return <code>TextShape</code> or <code>null</code>
+ */
+ public HSLFTextShape getPlaceholder(int type){
+ HSLFShape[] shape = getShapes();
+ for (int i = 0; i < shape.length; i++) {
+ if(shape[i] instanceof HSLFTextShape){
+ HSLFTextShape tx = (HSLFTextShape)shape[i];
+ int placeholderId = 0;
+ OEPlaceholderAtom oep = tx.getPlaceholderAtom();
+ if(oep != null) {
+ placeholderId = oep.getPlaceholderId();
+ } else {
+ //special case for files saved in Office 2007
+ RoundTripHFPlaceholder12 hldr = tx.getClientDataRecord(RecordTypes.RoundTripHFPlaceholder12.typeID);
+ if(hldr != null) placeholderId = hldr.getPlaceholderId();
+ }
+ if(placeholderId == type){
+ return tx;
+ }
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Return programmable tag associated with this sheet, e.g. <code>___PPT12</code>.
+ *
+ * @return programmable tag associated with this sheet.
+ */
+ public String getProgrammableTag(){
+ String tag = null;
+ RecordContainer progTags = (RecordContainer)
+ getSheetContainer().findFirstOfType(
+ RecordTypes.ProgTags.typeID
+ );
+ if(progTags != null) {
+ RecordContainer progBinaryTag = (RecordContainer)
+ progTags.findFirstOfType(
+ RecordTypes.ProgBinaryTag.typeID
+ );
+ if(progBinaryTag != null) {
+ CString binaryTag = (CString)
+ progBinaryTag.findFirstOfType(
+ RecordTypes.CString.typeID
+ );
+ if(binaryTag != null) tag = binaryTag.getText();
+ }
+ }
+
+ return tag;
+
+ }
+
+ public Iterator<HSLFShape> iterator() {
+ return getShapeList().iterator();
+ }
+
+
+ /**
+ * Returns all shapes contained in this Sheet
+ *
+ * @return all shapes contained in this Sheet (Slide or Notes)
+ */
+ protected List<HSLFShape> getShapeList() {
+ PPDrawing ppdrawing = getPPDrawing();
+
+ EscherContainerRecord dg = (EscherContainerRecord) ppdrawing.getEscherRecords()[0];
+ EscherContainerRecord spgr = null;
+
+ for (Iterator<EscherRecord> it = dg.getChildIterator(); it.hasNext();) {
+ EscherRecord rec = it.next();
+ if (rec.getRecordId() == EscherContainerRecord.SPGR_CONTAINER) {
+ spgr = (EscherContainerRecord) rec;
+ break;
+ }
+ }
+ if (spgr == null) {
+ throw new IllegalStateException("spgr not found");
+ }
+
+ List<HSLFShape> shapeList = new ArrayList<HSLFShape>();
+ Iterator<EscherRecord> it = spgr.getChildIterator();
+ if (it.hasNext()) {
+ // skip first item
+ it.next();
+ }
+ for (; it.hasNext();) {
+ EscherContainerRecord sp = (EscherContainerRecord) it.next();
+ HSLFShape sh = ShapeFactory.createShape(sp, null);
+ sh.setSheet(this);
+ shapeList.add(sh);
+ }
+
+ return shapeList;
+ }
+
+ /**
+ * @return whether shapes on the master sheet should be shown. By default master graphics is turned off.
+ * Sheets that support the notion of master (slide, slideLayout) should override it and
+ * check this setting
+ */
+ public boolean getFollowMasterGraphics() {
+ return false;
+ }
+
+
+}
--- /dev/null
+/* ====================================================================
+ 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.hslf.model;
+
+import java.awt.Color;
+import java.awt.Graphics2D;
+import java.awt.geom.AffineTransform;
+import java.awt.geom.Rectangle2D;
+import java.io.ByteArrayOutputStream;
+import java.util.ArrayList;
+
+import org.apache.poi.ddf.DefaultEscherRecordFactory;
+import org.apache.poi.ddf.EscherChildAnchorRecord;
+import org.apache.poi.ddf.EscherClientAnchorRecord;
+import org.apache.poi.ddf.EscherClientDataRecord;
+import org.apache.poi.ddf.EscherContainerRecord;
+import org.apache.poi.ddf.EscherOptRecord;
+import org.apache.poi.ddf.EscherProperties;
+import org.apache.poi.ddf.EscherRecord;
+import org.apache.poi.ddf.EscherSimpleProperty;
+import org.apache.poi.ddf.EscherSpRecord;
+import org.apache.poi.hslf.exceptions.HSLFException;
+import org.apache.poi.hslf.record.InteractiveInfo;
+import org.apache.poi.hslf.record.InteractiveInfoAtom;
+import org.apache.poi.hslf.record.Record;
+import org.apache.poi.sl.usermodel.*;
+import org.apache.poi.sl.usermodel.StrokeStyle.*;
+import org.apache.poi.util.LittleEndian;
+import org.apache.poi.util.Units;
+
+/**
+ * An abstract simple (non-group) shape.
+ * This is the parent class for all primitive shapes like Line, Rectangle, etc.
+ *
+ * @author Yegor Kozlov
+ */
+public abstract class HSLFSimpleShape extends HSLFShape implements SimpleShape {
+
+ public final static double DEFAULT_LINE_WIDTH = 0.75;
+
+ /**
+ * Records stored in EscherClientDataRecord
+ */
+ protected Record[] _clientRecords;
+ protected EscherClientDataRecord _clientData;
+
+ /**
+ * Create a SimpleShape object and initialize it from the supplied Record container.
+ *
+ * @param escherRecord <code>EscherSpContainer</code> container which holds information about this shape
+ * @param parent the parent of the shape
+ */
+ protected HSLFSimpleShape(EscherContainerRecord escherRecord, ShapeContainer<HSLFShape> parent){
+ super(escherRecord, parent);
+ }
+
+ /**
+ * Create a new Shape
+ *
+ * @param isChild <code>true</code> if the Line is inside a group, <code>false</code> otherwise
+ * @return the record container which holds this shape
+ */
+ protected EscherContainerRecord createSpContainer(boolean isChild) {
+ _escherContainer = new EscherContainerRecord();
+ _escherContainer.setRecordId( EscherContainerRecord.SP_CONTAINER );
+ _escherContainer.setOptions((short)15);
+
+ EscherSpRecord sp = new EscherSpRecord();
+ int flags = EscherSpRecord.FLAG_HAVEANCHOR | EscherSpRecord.FLAG_HASSHAPETYPE;
+ if (isChild) flags |= EscherSpRecord.FLAG_CHILD;
+ sp.setFlags(flags);
+ _escherContainer.addChildRecord(sp);
+
+ EscherOptRecord opt = new EscherOptRecord();
+ opt.setRecordId(EscherOptRecord.RECORD_ID);
+ _escherContainer.addChildRecord(opt);
+
+ EscherRecord anchor;
+ if(isChild) anchor = new EscherChildAnchorRecord();
+ else {
+ anchor = new EscherClientAnchorRecord();
+
+ //hack. internal variable EscherClientAnchorRecord.shortRecord can be
+ //initialized only in fillFields(). We need to set shortRecord=false;
+ byte[] header = new byte[16];
+ LittleEndian.putUShort(header, 0, 0);
+ LittleEndian.putUShort(header, 2, 0);
+ LittleEndian.putInt(header, 4, 8);
+ anchor.fillFields(header, 0, null);
+ }
+ _escherContainer.addChildRecord(anchor);
+
+ return _escherContainer;
+ }
+
+ /**
+ * Returns width of the line in in points
+ */
+ public double getLineWidth(){
+ EscherOptRecord opt = getEscherOptRecord();
+ EscherSimpleProperty prop = getEscherProperty(opt, EscherProperties.LINESTYLE__LINEWIDTH);
+ double width = (prop == null) ? DEFAULT_LINE_WIDTH : Units.toPoints(prop.getPropertyValue());
+ return width;
+ }
+
+ /**
+ * Sets the width of line in in points
+ * @param width the width of line in in points
+ */
+ public void setLineWidth(double width){
+ EscherOptRecord opt = getEscherOptRecord();
+ setEscherProperty(opt, EscherProperties.LINESTYLE__LINEWIDTH, Units.toEMU(width));
+ }
+
+ /**
+ * Sets the color of line
+ *
+ * @param color new color of the line
+ */
+ public void setLineColor(Color color){
+ EscherOptRecord opt = getEscherOptRecord();
+ if (color == null) {
+ setEscherProperty(opt, EscherProperties.LINESTYLE__NOLINEDRAWDASH, 0x80000);
+ } else {
+ int rgb = new Color(color.getBlue(), color.getGreen(), color.getRed(), 0).getRGB();
+ setEscherProperty(opt, EscherProperties.LINESTYLE__COLOR, rgb);
+ setEscherProperty(opt, EscherProperties.LINESTYLE__NOLINEDRAWDASH, color == null ? 0x180010 : 0x180018);
+ }
+ }
+
+ /**
+ * @return color of the line. If color is not set returns <code>java.awt.Color.black</code>
+ */
+ public Color getLineColor(){
+ EscherOptRecord opt = getEscherOptRecord();
+
+ EscherSimpleProperty p = getEscherProperty(opt, EscherProperties.LINESTYLE__NOLINEDRAWDASH);
+ if(p != null && (p.getPropertyValue() & 0x8) == 0) return null;
+
+ Color clr = getColor(EscherProperties.LINESTYLE__COLOR, EscherProperties.LINESTYLE__OPACITY, -1);
+ return clr == null ? Color.black : clr;
+ }
+
+ /**
+ * Gets line dashing.
+ *
+ * @return dashing of the line.
+ */
+ public LineDash getLineDashing(){
+ EscherOptRecord opt = getEscherOptRecord();
+ EscherSimpleProperty prop = getEscherProperty(opt, EscherProperties.LINESTYLE__LINEDASHING);
+ return (prop == null) ? LineDash.SOLID : LineDash.fromNativeId(prop.getPropertyValue());
+ }
+
+ /**
+ * Sets line dashing.
+ *
+ * @param pen new style of the line.
+ */
+ public void setLineDashing(LineDash pen){
+ EscherOptRecord opt = getEscherOptRecord();
+ setEscherProperty(opt, EscherProperties.LINESTYLE__LINEDASHING, pen == LineDash.SOLID ? -1 : pen.nativeId);
+ }
+
+ /**
+ * Gets the line compound style
+ *
+ * @return the compound style of the line.
+ */
+ public LineCompound getLineCompound() {
+ EscherOptRecord opt = getEscherOptRecord();
+ EscherSimpleProperty prop = getEscherProperty(opt, EscherProperties.LINESTYLE__LINESTYLE);
+ return (prop == null) ? LineCompound.SINGLE : LineCompound.fromNativeId(prop.getPropertyValue());
+ }
+
+ /**
+ * Sets the line compound style
+ *
+ * @param style new compound style of the line.
+ */
+ public void setLineCompound(LineCompound style){
+ EscherOptRecord opt = getEscherOptRecord();
+ setEscherProperty(opt, EscherProperties.LINESTYLE__LINESTYLE, style == LineCompound.SINGLE ? -1 : style.nativeId);
+ }
+
+ /**
+ * Returns line style. One of the constants defined in this class.
+ *
+ * @return style of the line.
+ */
+ public StrokeStyle getStrokeStyle(){
+ return new StrokeStyle() {
+ public PaintStyle getPaint() {
+ return null;
+ }
+
+ public LineCap getLineCap() {
+ return null;
+ }
+
+ public LineDash getLineDash() {
+ return null;
+ }
+
+ public LineCompound getLineCompound() {
+ return null;
+ }
+
+ public double getLineWidth() {
+ return 0;
+ }
+
+ };
+ }
+
+ /**
+ * The color used to fill this shape.
+ */
+ public Color getFillColor(){
+ return getFill().getForegroundColor();
+ }
+
+ /**
+ * The color used to fill this shape.
+ *
+ * @param color the background color
+ */
+ public void setFillColor(Color color){
+ getFill().setForegroundColor(color);
+ }
+
+ /**
+ *
+ * @return 'absolute' anchor of this shape relative to the parent sheet
+ */
+ public Rectangle2D getLogicalAnchor2D(){
+ Rectangle2D anchor = getAnchor2D();
+
+ //if it is a groupped shape see if we need to transform the coordinates
+ if (getParent() != null){
+ ArrayList<HSLFGroupShape> lst = new ArrayList<HSLFGroupShape>();
+ for (ShapeContainer<HSLFShape> parent=this.getParent();
+ parent instanceof HSLFGroupShape;
+ parent = ((HSLFGroupShape)parent).getParent()) {
+ lst.add(0, (HSLFGroupShape)parent);
+ }
+
+ AffineTransform tx = new AffineTransform();
+ for(HSLFGroupShape prnt : lst) {
+ Rectangle2D exterior = prnt.getAnchor2D();
+ Rectangle2D interior = prnt.getCoordinates();
+
+ double scaleX = exterior.getWidth() / interior.getWidth();
+ double scaleY = exterior.getHeight() / interior.getHeight();
+
+ tx.translate(exterior.getX(), exterior.getY());
+ tx.scale(scaleX, scaleY);
+ tx.translate(-interior.getX(), -interior.getY());
+
+ }
+ anchor = tx.createTransformedShape(anchor).getBounds2D();
+ }
+
+ double angle = getRotation();
+ if(angle != 0.){
+ double centerX = anchor.getX() + anchor.getWidth()/2;
+ double centerY = anchor.getY() + anchor.getHeight()/2;
+
+ AffineTransform trans = new AffineTransform();
+ trans.translate(centerX, centerY);
+ trans.rotate(Math.toRadians(angle));
+ trans.translate(-centerX, -centerY);
+
+ Rectangle2D rect = trans.createTransformedShape(anchor).getBounds2D();
+ if((anchor.getWidth() < anchor.getHeight() && rect.getWidth() > rect.getHeight()) ||
+ (anchor.getWidth() > anchor.getHeight() && rect.getWidth() < rect.getHeight()) ){
+ trans = new AffineTransform();
+ trans.translate(centerX, centerY);
+ trans.rotate(Math.PI/2);
+ trans.translate(-centerX, -centerY);
+ anchor = trans.createTransformedShape(anchor).getBounds2D();
+ }
+ }
+ return anchor;
+ }
+
+ public void draw(Graphics2D graphics){
+ AffineTransform at = graphics.getTransform();
+ ShapePainter.paint(this, graphics);
+ graphics.setTransform(at);
+ }
+
+ /**
+ * Find a record in the underlying EscherClientDataRecord
+ *
+ * @param recordType type of the record to search
+ */
+ @SuppressWarnings("unchecked")
+ protected <T extends Record> T getClientDataRecord(int recordType) {
+
+ Record[] records = getClientRecords();
+ if(records != null) for (int i = 0; i < records.length; i++) {
+ if(records[i].getRecordType() == recordType){
+ return (T)records[i];
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Search for EscherClientDataRecord, if found, convert its contents into an array of HSLF records
+ *
+ * @return an array of HSLF records contained in the shape's EscherClientDataRecord or <code>null</code>
+ */
+ protected Record[] getClientRecords() {
+ if(_clientData == null){
+ EscherRecord r = getEscherChild(EscherClientDataRecord.RECORD_ID);
+ //ddf can return EscherContainerRecord with recordId=EscherClientDataRecord.RECORD_ID
+ //convert in to EscherClientDataRecord on the fly
+ if(r != null && !(r instanceof EscherClientDataRecord)){
+ byte[] data = r.serialize();
+ r = new EscherClientDataRecord();
+ r.fillFields(data, 0, new DefaultEscherRecordFactory());
+ }
+ _clientData = (EscherClientDataRecord)r;
+ }
+ if(_clientData != null && _clientRecords == null){
+ byte[] data = _clientData.getRemainingData();
+ _clientRecords = Record.findChildRecords(data, 0, data.length);
+ }
+ return _clientRecords;
+ }
+
+ protected void updateClientData() {
+ if(_clientData != null && _clientRecords != null){
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
+ try {
+ for (int i = 0; i < _clientRecords.length; i++) {
+ _clientRecords[i].writeOut(out);
+ }
+ } catch(Exception e){
+ throw new HSLFException(e);
+ }
+ _clientData.setRemainingData(out.toByteArray());
+ }
+ }
+
+ public void setHyperlink(Hyperlink link){
+ if(link.getId() == -1){
+ throw new HSLFException("You must call SlideShow.addHyperlink(Hyperlink link) first");
+ }
+
+ EscherClientDataRecord cldata = new EscherClientDataRecord();
+ cldata.setOptions((short)0xF);
+ getSpContainer().addChildRecord(cldata); // TODO - junit to prove getChildRecords().add is wrong
+
+ InteractiveInfo info = new InteractiveInfo();
+ InteractiveInfoAtom infoAtom = info.getInteractiveInfoAtom();
+
+ switch(link.getType()){
+ case Hyperlink.LINK_FIRSTSLIDE:
+ infoAtom.setAction(InteractiveInfoAtom.ACTION_JUMP);
+ infoAtom.setJump(InteractiveInfoAtom.JUMP_FIRSTSLIDE);
+ infoAtom.setHyperlinkType(InteractiveInfoAtom.LINK_FirstSlide);
+ break;
+ case Hyperlink.LINK_LASTSLIDE:
+ infoAtom.setAction(InteractiveInfoAtom.ACTION_JUMP);
+ infoAtom.setJump(InteractiveInfoAtom.JUMP_LASTSLIDE);
+ infoAtom.setHyperlinkType(InteractiveInfoAtom.LINK_LastSlide);
+ break;
+ case Hyperlink.LINK_NEXTSLIDE:
+ infoAtom.setAction(InteractiveInfoAtom.ACTION_JUMP);
+ infoAtom.setJump(InteractiveInfoAtom.JUMP_NEXTSLIDE);
+ infoAtom.setHyperlinkType(InteractiveInfoAtom.LINK_NextSlide);
+ break;
+ case Hyperlink.LINK_PREVIOUSSLIDE:
+ infoAtom.setAction(InteractiveInfoAtom.ACTION_JUMP);
+ infoAtom.setJump(InteractiveInfoAtom.JUMP_PREVIOUSSLIDE);
+ infoAtom.setHyperlinkType(InteractiveInfoAtom.LINK_PreviousSlide);
+ break;
+ case Hyperlink.LINK_URL:
+ infoAtom.setAction(InteractiveInfoAtom.ACTION_HYPERLINK);
+ infoAtom.setJump(InteractiveInfoAtom.JUMP_NONE);
+ infoAtom.setHyperlinkType(InteractiveInfoAtom.LINK_Url);
+ break;
+ case Hyperlink.LINK_SLIDENUMBER:
+ infoAtom.setAction(InteractiveInfoAtom.ACTION_HYPERLINK);
+ infoAtom.setJump(InteractiveInfoAtom.JUMP_NONE);
+ infoAtom.setHyperlinkType(InteractiveInfoAtom.LINK_SlideNumber);
+ break;
+ }
+
+ infoAtom.setHyperlinkID(link.getId());
+
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
+ try {
+ info.writeOut(out);
+ } catch(Exception e){
+ throw new HSLFException(e);
+ }
+ cldata.setRemainingData(out.toByteArray());
+
+ }
+
+}
--- /dev/null
+/* ====================================================================
+ 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.hslf.model;
+
+import java.awt.Graphics2D;
+import java.util.LinkedList;
+import java.util.List;
+
+import org.apache.poi.ddf.EscherContainerRecord;
+import org.apache.poi.ddf.EscherDgRecord;
+import org.apache.poi.ddf.EscherDggRecord;
+import org.apache.poi.ddf.EscherSpRecord;
+import org.apache.poi.hslf.record.ColorSchemeAtom;
+import org.apache.poi.hslf.record.Comment2000;
+import org.apache.poi.hslf.record.EscherTextboxWrapper;
+import org.apache.poi.hslf.record.HeadersFootersContainer;
+import org.apache.poi.hslf.record.Record;
+import org.apache.poi.hslf.record.RecordContainer;
+import org.apache.poi.hslf.record.RecordTypes;
+import org.apache.poi.hslf.record.SSSlideInfoAtom;
+import org.apache.poi.hslf.record.SlideAtom;
+import org.apache.poi.hslf.record.SlideListWithText.SlideAtomsSet;
+import org.apache.poi.hslf.record.StyleTextProp9Atom;
+import org.apache.poi.hslf.record.TextHeaderAtom;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
+import org.apache.poi.sl.usermodel.ShapeType;
+import org.apache.poi.sl.usermodel.Slide;
+
+/**
+ * This class represents a slide in a PowerPoint Document. It allows
+ * access to the text within, and the layout. For now, it only does
+ * the text side of things though
+ *
+ * @author Nick Burch
+ * @author Yegor Kozlov
+ */
+
+public final class HSLFSlide extends HSLFSheet implements Slide<HSLFShape,HSLFSlideShow> {
+ private int _slideNo;
+ private SlideAtomsSet _atomSet;
+ private HSLFTextParagraph[] _runs;
+ private HSLFNotes _notes; // usermodel needs to set this
+
+ /**
+ * Constructs a Slide from the Slide record, and the SlideAtomsSet
+ * containing the text.
+ * Initializes TextRuns, to provide easier access to the text
+ *
+ * @param slide the Slide record we're based on
+ * @param notes the Notes sheet attached to us
+ * @param atomSet the SlideAtomsSet to get the text from
+ */
+ public HSLFSlide(org.apache.poi.hslf.record.Slide slide, HSLFNotes notes, SlideAtomsSet atomSet, int slideIdentifier, int slideNumber) {
+ super(slide, slideIdentifier);
+
+ _notes = notes;
+ _atomSet = atomSet;
+ _slideNo = slideNumber;
+
+ // Grab the TextRuns from the PPDrawing
+ HSLFTextParagraph[] _otherRuns = findTextRuns(getPPDrawing());
+
+ // For the text coming in from the SlideAtomsSet:
+ // Build up TextRuns from pairs of TextHeaderAtom and
+ // one of TextBytesAtom or TextCharsAtom
+ final List<HSLFTextParagraph> textParagraphs = new LinkedList<HSLFTextParagraph>();
+ if(_atomSet != null) {
+ findTextParagraphs(_atomSet.getSlideRecords(),textParagraphs);
+ } else {
+ // No text on the slide, must just be pictures
+ }
+
+ // Build an array, more useful than a vector
+ _runs = new HSLFTextParagraph[textParagraphs.size()+_otherRuns.length];
+ // Grab text from SlideListWithTexts entries
+ int i=0;
+ for(HSLFTextParagraph tp : textParagraphs) {
+ _runs[i++] = tp;
+ tp.supplySheet(this);
+ }
+ // Grab text from slide's PPDrawing
+ for(HSLFTextParagraph tp : _otherRuns) {
+ _runs[i++] = tp;
+ tp.supplySheet(this);
+ tp.setIndex(-1); // runs found in PPDrawing are not linked with SlideListWithTexts
+ }
+ }
+
+ /**
+ * Create a new Slide instance
+ * @param sheetNumber The internal number of the sheet, as used by PersistPtrHolder
+ * @param slideNumber The user facing number of the sheet
+ */
+ public HSLFSlide(int sheetNumber, int sheetRefId, int slideNumber){
+ super(new org.apache.poi.hslf.record.Slide(), sheetNumber);
+ _slideNo = slideNumber;
+ getSheetContainer().setSheetId(sheetRefId);
+ }
+
+ /**
+ * Sets the Notes that are associated with this. Updates the
+ * references in the records to point to the new ID
+ */
+ public void setNotes(HSLFNotes notes) {
+ _notes = notes;
+
+ // Update the Slide Atom's ID of where to point to
+ SlideAtom sa = getSlideRecord().getSlideAtom();
+
+ if(notes == null) {
+ // Set to 0
+ sa.setNotesID(0);
+ } else {
+ // Set to the value from the notes' sheet id
+ sa.setNotesID(notes._getSheetNumber());
+ }
+ }
+
+ /**
+ * Changes the Slide's (external facing) page number.
+ * @see org.apache.poi.hslf.usermodel.HSLFSlideShow#reorderSlide(int, int)
+ */
+ public void setSlideNumber(int newSlideNumber) {
+ _slideNo = newSlideNumber;
+ }
+
+ /**
+ * Called by SlideShow ater a new slide is created.
+ * <p>
+ * For Slide we need to do the following:
+ * <li> set id of the drawing group.
+ * <li> set shapeId for the container descriptor and background
+ * </p>
+ */
+ public void onCreate(){
+ //initialize drawing group id
+ EscherDggRecord dgg = getSlideShow().getDocumentRecord().getPPDrawingGroup().getEscherDggRecord();
+ EscherContainerRecord dgContainer = (EscherContainerRecord)getSheetContainer().getPPDrawing().getEscherRecords()[0];
+ EscherDgRecord dg = (EscherDgRecord) HSLFShape.getEscherChild(dgContainer, EscherDgRecord.RECORD_ID);
+ int dgId = dgg.getMaxDrawingGroupId() + 1;
+ dg.setOptions((short)(dgId << 4));
+ dgg.setDrawingsSaved(dgg.getDrawingsSaved() + 1);
+ dgg.setMaxDrawingGroupId(dgId);
+
+ for (EscherContainerRecord c : dgContainer.getChildContainers()) {
+ EscherSpRecord spr = null;
+ switch(c.getRecordId()){
+ case EscherContainerRecord.SPGR_CONTAINER:
+ EscherContainerRecord dc = (EscherContainerRecord)c.getChild(0);
+ spr = dc.getChildById(EscherSpRecord.RECORD_ID);
+ break;
+ case EscherContainerRecord.SP_CONTAINER:
+ spr = c.getChildById(EscherSpRecord.RECORD_ID);
+ break;
+ }
+ if(spr != null) spr.setShapeId(allocateShapeId());
+ }
+
+ //PPT doen't increment the number of saved shapes for group descriptor and background
+ dg.setNumShapes(1);
+ }
+
+ /**
+ * Create a <code>TextBox</code> object that represents the slide's title.
+ *
+ * @return <code>TextBox</code> object that represents the slide's title.
+ */
+ public HSLFTextBox addTitle() {
+ Placeholder pl = new Placeholder();
+ pl.setShapeType(ShapeType.RECT);
+ pl.getTextParagraph().setRunType(TextHeaderAtom.TITLE_TYPE);
+ pl.setText("Click to edit title");
+ pl.setAnchor(new java.awt.Rectangle(54, 48, 612, 90));
+ addShape(pl);
+ return pl;
+ }
+
+
+ // Complex Accesser methods follow
+
+ /**
+ * Return title of this slide or <code>null</code> if the slide does not have title.
+ * <p>
+ * The title is a run of text of type <code>TextHeaderAtom.CENTER_TITLE_TYPE</code> or
+ * <code>TextHeaderAtom.TITLE_TYPE</code>
+ * </p>
+ *
+ * @see TextHeaderAtom
+ *
+ * @return title of this slide
+ */
+ public String getTitle(){
+ HSLFTextParagraph[] txt = getTextRuns();
+ for (int i = 0; i < txt.length; i++) {
+ int type = txt[i].getRunType();
+ if (type == TextHeaderAtom.CENTER_TITLE_TYPE ||
+ type == TextHeaderAtom.TITLE_TYPE ){
+ String title = txt[i].getText();
+ return title;
+ }
+ }
+ return null;
+ }
+
+ // Simple Accesser methods follow
+
+ /**
+ * Returns an array of all the TextRuns found
+ */
+ public HSLFTextParagraph[] getTextRuns() { return _runs; }
+
+ /**
+ * Returns the (public facing) page number of this slide
+ */
+ public int getSlideNumber() { return _slideNo; }
+
+ /**
+ * Returns the underlying slide record
+ */
+ public org.apache.poi.hslf.record.Slide getSlideRecord() {
+ return (org.apache.poi.hslf.record.Slide)getSheetContainer();
+ }
+
+ /**
+ * Returns the Notes Sheet for this slide, or null if there isn't one
+ */
+ public HSLFNotes getNotesSheet() { return _notes; }
+
+ /**
+ * @return set of records inside <code>SlideListWithtext</code> container
+ * which hold text data for this slide (typically for placeholders).
+ */
+ protected SlideAtomsSet getSlideAtomsSet() { return _atomSet; }
+
+ /**
+ * Returns master sheet associated with this slide.
+ * It can be either SlideMaster or TitleMaster objects.
+ *
+ * @return the master sheet associated with this slide.
+ */
+ public HSLFMasterSheet getMasterSheet(){
+ SlideMaster[] master = getSlideShow().getSlidesMasters();
+ SlideAtom sa = getSlideRecord().getSlideAtom();
+ int masterId = sa.getMasterID();
+ HSLFMasterSheet sheet = null;
+ for (int i = 0; i < master.length; i++) {
+ if (masterId == master[i]._getSheetNumber()) {
+ sheet = master[i];
+ break;
+ }
+ }
+ if (sheet == null){
+ TitleMaster[] titleMaster = getSlideShow().getTitleMasters();
+ if(titleMaster != null) for (int i = 0; i < titleMaster.length; i++) {
+ if (masterId == titleMaster[i]._getSheetNumber()) {
+ sheet = titleMaster[i];
+ break;
+ }
+ }
+ }
+ return sheet;
+ }
+
+ /**
+ * Change Master of this slide.
+ */
+ public void setMasterSheet(HSLFMasterSheet master){
+ SlideAtom sa = getSlideRecord().getSlideAtom();
+ int sheetNo = master._getSheetNumber();
+ sa.setMasterID(sheetNo);
+ }
+
+ /**
+ * Sets whether this slide follows master background
+ *
+ * @param flag <code>true</code> if the slide follows master,
+ * <code>false</code> otherwise
+ */
+ public void setFollowMasterBackground(boolean flag){
+ SlideAtom sa = getSlideRecord().getSlideAtom();
+ sa.setFollowMasterBackground(flag);
+ }
+
+ /**
+ * Whether this slide follows master sheet background
+ *
+ * @return <code>true</code> if the slide follows master background,
+ * <code>false</code> otherwise
+ */
+ public boolean getFollowMasterBackground(){
+ SlideAtom sa = getSlideRecord().getSlideAtom();
+ return sa.getFollowMasterBackground();
+ }
+
+ /**
+ * Sets whether this slide draws master sheet objects
+ *
+ * @param flag <code>true</code> if the slide draws master sheet objects,
+ * <code>false</code> otherwise
+ */
+ public void setFollowMasterObjects(boolean flag){
+ SlideAtom sa = getSlideRecord().getSlideAtom();
+ sa.setFollowMasterObjects(flag);
+ }
+
+ /**
+ * Whether this slide follows master color scheme
+ *
+ * @return <code>true</code> if the slide follows master color scheme,
+ * <code>false</code> otherwise
+ */
+ public boolean getFollowMasterScheme(){
+ SlideAtom sa = getSlideRecord().getSlideAtom();
+ return sa.getFollowMasterScheme();
+ }
+
+ /**
+ * Sets whether this slide draws master color scheme
+ *
+ * @param flag <code>true</code> if the slide draws master color scheme,
+ * <code>false</code> otherwise
+ */
+ public void setFollowMasterScheme(boolean flag){
+ SlideAtom sa = getSlideRecord().getSlideAtom();
+ sa.setFollowMasterScheme(flag);
+ }
+
+ /**
+ * Whether this slide draws master sheet objects
+ *
+ * @return <code>true</code> if the slide draws master sheet objects,
+ * <code>false</code> otherwise
+ */
+ public boolean getFollowMasterObjects(){
+ SlideAtom sa = getSlideRecord().getSlideAtom();
+ return sa.getFollowMasterObjects();
+ }
+
+ /**
+ * Background for this slide.
+ */
+ public HSLFBackground getBackground() {
+ if(getFollowMasterBackground()) {
+ return getMasterSheet().getBackground();
+ }
+ return super.getBackground();
+ }
+
+ /**
+ * Color scheme for this slide.
+ */
+ public ColorSchemeAtom getColorScheme() {
+ if(getFollowMasterScheme()){
+ return getMasterSheet().getColorScheme();
+ }
+ return super.getColorScheme();
+ }
+
+ /**
+ * Get the comment(s) for this slide.
+ * Note - for now, only works on PPT 2000 and
+ * PPT 2003 files. Doesn't work for PPT 97
+ * ones, as they do their comments oddly.
+ */
+ public Comment[] getComments() {
+ // If there are any, they're in
+ // ProgTags -> ProgBinaryTag -> BinaryTagData
+ RecordContainer progTags = (RecordContainer)
+ getSheetContainer().findFirstOfType(
+ RecordTypes.ProgTags.typeID
+ );
+ if(progTags != null) {
+ RecordContainer progBinaryTag = (RecordContainer)
+ progTags.findFirstOfType(
+ RecordTypes.ProgBinaryTag.typeID
+ );
+ if(progBinaryTag != null) {
+ RecordContainer binaryTags = (RecordContainer)
+ progBinaryTag.findFirstOfType(
+ RecordTypes.BinaryTagData.typeID
+ );
+ if(binaryTags != null) {
+ // This is where they'll be
+ int count = 0;
+ for(int i=0; i<binaryTags.getChildRecords().length; i++) {
+ if(binaryTags.getChildRecords()[i] instanceof Comment2000) {
+ count++;
+ }
+ }
+
+ // Now build
+ Comment[] comments = new Comment[count];
+ count = 0;
+ for(int i=0; i<binaryTags.getChildRecords().length; i++) {
+ if(binaryTags.getChildRecords()[i] instanceof Comment2000) {
+ comments[i] = new Comment(
+ (Comment2000)binaryTags.getChildRecords()[i]
+ );
+ count++;
+ }
+ }
+
+ return comments;
+ }
+ }
+ }
+
+ // None found
+ return new Comment[0];
+ }
+
+ public void draw(Graphics2D graphics){
+ HSLFMasterSheet master = getMasterSheet();
+ HSLFBackground bg = getBackground();
+ if(bg != null)bg.draw(graphics);
+
+ if(getFollowMasterObjects()){
+ HSLFShape[] sh = master.getShapes();
+ for (int i = 0; i < sh.length; i++) {
+ if(HSLFMasterSheet.isPlaceholder(sh[i])) continue;
+
+ sh[i].draw(graphics);
+ }
+ }
+
+ HSLFShape[] sh = getShapes();
+ for (int i = 0; i < sh.length; i++) {
+ sh[i].draw(graphics);
+ }
+ }
+
+ /**
+ * Header / Footer settings for this slide.
+ *
+ * @return Header / Footer settings for this slide
+ */
+ public HeadersFooters getHeadersFooters(){
+ HeadersFootersContainer hdd = null;
+ Record[] ch = getSheetContainer().getChildRecords();
+ boolean ppt2007 = false;
+ for (int i = 0; i < ch.length; i++) {
+ if(ch[i] instanceof HeadersFootersContainer){
+ hdd = (HeadersFootersContainer)ch[i];
+ } else if (ch[i].getRecordType() == RecordTypes.RoundTripContentMasterId.typeID){
+ ppt2007 = true;
+ }
+ }
+ boolean newRecord = false;
+ if(hdd == null && !ppt2007) {
+ return getSlideShow().getSlideHeadersFooters();
+ }
+ if(hdd == null) {
+ hdd = new HeadersFootersContainer(HeadersFootersContainer.SlideHeadersFootersContainer);
+ newRecord = true;
+ }
+ return new HeadersFooters(hdd, this, newRecord, ppt2007);
+ }
+
+ protected void onAddTextShape(HSLFTextShape shape) {
+ HSLFTextParagraph run = shape.getTextParagraph();
+
+ if(_runs == null) _runs = new HSLFTextParagraph[]{run};
+ else {
+ HSLFTextParagraph[] tmp = new HSLFTextParagraph[_runs.length + 1];
+ System.arraycopy(_runs, 0, tmp, 0, _runs.length);
+ tmp[tmp.length-1] = run;
+ _runs = tmp;
+ }
+ }
+
+ /** This will return an atom per TextBox, so if the page has two text boxes the method should return two atoms. */
+ public StyleTextProp9Atom[] getNumberedListInfo() {
+ return this.getPPDrawing().getNumberedListInfo();
+ }
+
+ public EscherTextboxWrapper[] getTextboxWrappers() {
+ return this.getPPDrawing().getTextboxWrappers();
+ }
+
+ public void setHidden(boolean hidden) {
+ org.apache.poi.hslf.record.Slide cont = getSlideRecord();
+
+ SSSlideInfoAtom slideInfo =
+ (SSSlideInfoAtom)cont.findFirstOfType(RecordTypes.SSSlideInfoAtom.typeID);
+ if (slideInfo == null) {
+ slideInfo = new SSSlideInfoAtom();
+ cont.addChildAfter(slideInfo, cont.findFirstOfType(RecordTypes.SlideAtom.typeID));
+ }
+
+ slideInfo.setEffectTransitionFlagByBit(SSSlideInfoAtom.HIDDEN_BIT, hidden);
+ }
+
+ public boolean getHidden() {
+ SSSlideInfoAtom slideInfo =
+ (SSSlideInfoAtom)getSlideRecord().findFirstOfType(RecordTypes.SSSlideInfoAtom.typeID);
+ return (slideInfo == null)
+ ? false
+ : slideInfo.getEffectTransitionFlagByBit(SSSlideInfoAtom.HIDDEN_BIT);
+ }
+}
--- /dev/null
+/* ====================================================================
+ 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.hslf.model;
+
+import java.io.OutputStream;
+import java.security.GeneralSecurityException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.NavigableMap;
+import java.util.TreeMap;
+
+import javax.crypto.Cipher;
+import javax.crypto.CipherOutputStream;
+
+import org.apache.poi.hslf.exceptions.CorruptPowerPointFileException;
+import org.apache.poi.hslf.exceptions.EncryptedPowerPointFileException;
+import org.apache.poi.hslf.record.DocumentEncryptionAtom;
+import org.apache.poi.hslf.record.PersistPtrHolder;
+import org.apache.poi.hslf.record.PositionDependentRecord;
+import org.apache.poi.hslf.record.Record;
+import org.apache.poi.hslf.record.UserEditAtom;
+import org.apache.poi.hssf.record.crypto.Biff8EncryptionKey;
+import org.apache.poi.poifs.crypt.Decryptor;
+import org.apache.poi.poifs.crypt.EncryptionInfo;
+import org.apache.poi.poifs.crypt.Encryptor;
+import org.apache.poi.poifs.crypt.cryptoapi.CryptoAPIDecryptor;
+import org.apache.poi.poifs.crypt.cryptoapi.CryptoAPIEncryptor;
+import org.apache.poi.util.BitField;
+import org.apache.poi.util.Internal;
+import org.apache.poi.util.LittleEndian;
+
+/**
+ * This class provides helper functions for encrypted PowerPoint documents.
+ */
+@Internal
+public class HSLFSlideShowEncrypted {
+ DocumentEncryptionAtom dea;
+ CryptoAPIEncryptor enc = null;
+ CryptoAPIDecryptor dec = null;
+ Cipher cipher = null;
+ CipherOutputStream cyos = null;
+
+ private static final BitField fieldRecInst = new BitField(0xFFF0);
+
+ protected HSLFSlideShowEncrypted(DocumentEncryptionAtom dea) {
+ this.dea = dea;
+ }
+
+ protected HSLFSlideShowEncrypted(byte[] docstream, NavigableMap<Integer,Record> recordMap) {
+ // check for DocumentEncryptionAtom, which would be at the last offset
+ // need to ignore already set UserEdit and PersistAtoms
+ UserEditAtom userEditAtomWithEncryption = null;
+ for (Map.Entry<Integer, Record> me : recordMap.descendingMap().entrySet()) {
+ Record r = me.getValue();
+ if (!(r instanceof UserEditAtom)) continue;
+ UserEditAtom uea = (UserEditAtom)r;
+ if (uea.getEncryptSessionPersistIdRef() != -1) {
+ userEditAtomWithEncryption = uea;
+ break;
+ }
+ }
+
+ if (userEditAtomWithEncryption == null) {
+ dea = null;
+ return;
+ }
+
+ Record r = recordMap.get(userEditAtomWithEncryption.getPersistPointersOffset());
+ assert(r instanceof PersistPtrHolder);
+ PersistPtrHolder ptr = (PersistPtrHolder)r;
+
+ Integer encOffset = ptr.getSlideLocationsLookup().get(userEditAtomWithEncryption.getEncryptSessionPersistIdRef());
+ assert(encOffset != null);
+
+ r = recordMap.get(encOffset);
+ if (r == null) {
+ r = Record.buildRecordAtOffset(docstream, encOffset);
+ recordMap.put(encOffset, r);
+ }
+ assert(r instanceof DocumentEncryptionAtom);
+ this.dea = (DocumentEncryptionAtom)r;
+
+ CryptoAPIDecryptor dec = (CryptoAPIDecryptor)dea.getEncryptionInfo().getDecryptor();
+ String pass = Biff8EncryptionKey.getCurrentUserPassword();
+ if(!dec.verifyPassword(pass != null ? pass : Decryptor.DEFAULT_PASSWORD)) {
+ throw new EncryptedPowerPointFileException("PowerPoint file is encrypted. The correct password needs to be set via Biff8EncryptionKey.setCurrentUserPassword()");
+ }
+ }
+
+ public DocumentEncryptionAtom getDocumentEncryptionAtom() {
+ return dea;
+ }
+
+ protected void setPersistId(int persistId) {
+ if (enc != null && dec != null) {
+ throw new EncryptedPowerPointFileException("Use instance either for en- or decryption");
+ }
+
+ try {
+ if (enc != null) cipher = enc.initCipherForBlock(cipher, persistId);
+ if (dec != null) cipher = dec.initCipherForBlock(cipher, persistId);
+ } catch (GeneralSecurityException e) {
+ throw new EncryptedPowerPointFileException(e);
+ }
+ }
+
+ protected void decryptInit() {
+ if (dec != null) return;
+ EncryptionInfo ei = dea.getEncryptionInfo();
+ dec = (CryptoAPIDecryptor)ei.getDecryptor();
+ }
+
+ protected void encryptInit() {
+ if (enc != null) return;
+ EncryptionInfo ei = dea.getEncryptionInfo();
+ enc = (CryptoAPIEncryptor)ei.getEncryptor();
+ }
+
+
+
+ protected OutputStream encryptRecord(OutputStream plainStream, int persistId, Record record) {
+ boolean isPlain = (dea == null
+ || record instanceof UserEditAtom
+ || record instanceof PersistPtrHolder
+ || record instanceof DocumentEncryptionAtom
+ );
+ if (isPlain) return plainStream;
+
+ encryptInit();
+ setPersistId(persistId);
+
+ if (cyos == null) {
+ cyos = new CipherOutputStream(plainStream, cipher);
+ }
+ return cyos;
+ }
+
+ protected void decryptRecord(byte[] docstream, int persistId, int offset) {
+ if (dea == null) return;
+
+ decryptInit();
+ setPersistId(persistId);
+
+ try {
+ // decrypt header and read length to be decrypted
+ cipher.update(docstream, offset, 8, docstream, offset);
+ // decrypt the rest of the record
+ int rlen = (int)LittleEndian.getUInt(docstream, offset+4);
+ cipher.update(docstream, offset+8, rlen, docstream, offset+8);
+ } catch (GeneralSecurityException e) {
+ throw new CorruptPowerPointFileException(e);
+ }
+ }
+
+ protected void decryptPicture(byte[] pictstream, int offset) {
+ if (dea == null) return;
+
+ decryptInit();
+ setPersistId(0);
+
+ try {
+ // decrypt header and read length to be decrypted
+ cipher.doFinal(pictstream, offset, 8, pictstream, offset);
+ int recInst = fieldRecInst.getValue(LittleEndian.getUShort(pictstream, offset));
+ int recType = LittleEndian.getUShort(pictstream, offset+2);
+ int rlen = (int)LittleEndian.getUInt(pictstream, offset+4);
+ offset += 8;
+ int endOffset = offset + rlen;
+
+ if (recType == 0xF007) {
+ // TOOD: get a real example file ... to actual test the FBSE entry
+ // not sure where the foDelay block is
+
+ // File BLIP Store Entry (FBSE)
+ cipher.doFinal(pictstream, offset, 1, pictstream, offset); // btWin32
+ offset++;
+ cipher.doFinal(pictstream, offset, 1, pictstream, offset); // btMacOS
+ offset++;
+ cipher.doFinal(pictstream, offset, 16, pictstream, offset); // rgbUid
+ offset += 16;
+ cipher.doFinal(pictstream, offset, 2, pictstream, offset); // tag
+ offset += 2;
+ cipher.doFinal(pictstream, offset, 4, pictstream, offset); // size
+ offset += 4;
+ cipher.doFinal(pictstream, offset, 4, pictstream, offset); // cRef
+ offset += 4;
+ cipher.doFinal(pictstream, offset, 4, pictstream, offset); // foDelay
+ offset += 4;
+ cipher.doFinal(pictstream, offset+0, 1, pictstream, offset+0); // unused1
+ cipher.doFinal(pictstream, offset+1, 1, pictstream, offset+1); // cbName
+ cipher.doFinal(pictstream, offset+2, 1, pictstream, offset+2); // unused2
+ cipher.doFinal(pictstream, offset+3, 1, pictstream, offset+3); // unused3
+ int cbName = LittleEndian.getUShort(pictstream, offset+1);
+ offset += 4;
+ if (cbName > 0) {
+ cipher.doFinal(pictstream, offset, cbName, pictstream, offset); // nameData
+ offset += cbName;
+ }
+ if (offset == endOffset) {
+ return; // no embedded blip
+ }
+ // fall through, read embedded blip now
+
+ // update header data
+ cipher.doFinal(pictstream, offset, 8, pictstream, offset);
+ recInst = fieldRecInst.getValue(LittleEndian.getUShort(pictstream, offset));
+ recType = LittleEndian.getUShort(pictstream, offset+2);
+ rlen = (int)LittleEndian.getUInt(pictstream, offset+4);
+ offset += 8;
+ }
+
+ int rgbUidCnt = (recInst == 0x217 || recInst == 0x3D5 || recInst == 0x46B || recInst == 0x543 ||
+ recInst == 0x6E1 || recInst == 0x6E3 || recInst == 0x6E5 || recInst == 0x7A9) ? 2 : 1;
+
+ for (int i=0; i<rgbUidCnt; i++) {
+ cipher.doFinal(pictstream, offset, 16, pictstream, offset); // rgbUid 1/2
+ offset += 16;
+ }
+
+ if (recType == 0xF01A || recType == 0XF01B || recType == 0XF01C) {
+ cipher.doFinal(pictstream, offset, 34, pictstream, offset); // metafileHeader
+ offset += 34;
+ } else {
+ cipher.doFinal(pictstream, offset, 1, pictstream, offset); // tag
+ offset += 1;
+ }
+
+ int blipLen = endOffset - offset;
+ cipher.doFinal(pictstream, offset, blipLen, pictstream, offset);
+ } catch (GeneralSecurityException e) {
+ throw new CorruptPowerPointFileException(e);
+ }
+ }
+
+ protected void encryptPicture(byte[] pictstream, int offset) {
+ if (dea == null) return;
+
+ encryptInit();
+ setPersistId(0);
+
+ try {
+ int recInst = fieldRecInst.getValue(LittleEndian.getUShort(pictstream, offset));
+ int recType = LittleEndian.getUShort(pictstream, offset+2);
+ int rlen = (int)LittleEndian.getUInt(pictstream, offset+4);
+ cipher.doFinal(pictstream, offset, 8, pictstream, offset);
+ offset += 8;
+ int endOffset = offset + rlen;
+
+ if (recType == 0xF007) {
+ // TOOD: get a real example file ... to actual test the FBSE entry
+ // not sure where the foDelay block is
+
+ // File BLIP Store Entry (FBSE)
+ cipher.doFinal(pictstream, offset, 1, pictstream, offset); // btWin32
+ offset++;
+ cipher.doFinal(pictstream, offset, 1, pictstream, offset); // btMacOS
+ offset++;
+ cipher.doFinal(pictstream, offset, 16, pictstream, offset); // rgbUid
+ offset += 16;
+ cipher.doFinal(pictstream, offset, 2, pictstream, offset); // tag
+ offset += 2;
+ cipher.doFinal(pictstream, offset, 4, pictstream, offset); // size
+ offset += 4;
+ cipher.doFinal(pictstream, offset, 4, pictstream, offset); // cRef
+ offset += 4;
+ cipher.doFinal(pictstream, offset, 4, pictstream, offset); // foDelay
+ offset += 4;
+ int cbName = LittleEndian.getUShort(pictstream, offset+1);
+ cipher.doFinal(pictstream, offset+0, 1, pictstream, offset+0); // unused1
+ cipher.doFinal(pictstream, offset+1, 1, pictstream, offset+1); // cbName
+ cipher.doFinal(pictstream, offset+2, 1, pictstream, offset+2); // unused2
+ cipher.doFinal(pictstream, offset+3, 1, pictstream, offset+3); // unused3
+ offset += 4;
+ if (cbName > 0) {
+ cipher.doFinal(pictstream, offset, cbName, pictstream, offset); // nameData
+ offset += cbName;
+ }
+ if (offset == endOffset) {
+ return; // no embedded blip
+ }
+ // fall through, read embedded blip now
+
+ // update header data
+ recInst = fieldRecInst.getValue(LittleEndian.getUShort(pictstream, offset));
+ recType = LittleEndian.getUShort(pictstream, offset+2);
+ rlen = (int)LittleEndian.getUInt(pictstream, offset+4);
+ cipher.doFinal(pictstream, offset, 8, pictstream, offset);
+ offset += 8;
+ }
+
+ int rgbUidCnt = (recInst == 0x217 || recInst == 0x3D5 || recInst == 0x46B || recInst == 0x543 ||
+ recInst == 0x6E1 || recInst == 0x6E3 || recInst == 0x6E5 || recInst == 0x7A9) ? 2 : 1;
+
+ for (int i=0; i<rgbUidCnt; i++) {
+ cipher.doFinal(pictstream, offset, 16, pictstream, offset); // rgbUid 1/2
+ offset += 16;
+ }
+
+ if (recType == 0xF01A || recType == 0XF01B || recType == 0XF01C) {
+ cipher.doFinal(pictstream, offset, 34, pictstream, offset); // metafileHeader
+ offset += 34;
+ } else {
+ cipher.doFinal(pictstream, offset, 1, pictstream, offset); // tag
+ offset += 1;
+ }
+
+ int blipLen = endOffset - offset;
+ cipher.doFinal(pictstream, offset, blipLen, pictstream, offset);
+ } catch (GeneralSecurityException e) {
+ throw new CorruptPowerPointFileException(e);
+ }
+ }
+
+ protected Record[] updateEncryptionRecord(Record records[]) {
+ String password = Biff8EncryptionKey.getCurrentUserPassword();
+ if (password == null) {
+ if (dea == null) {
+ // no password given, no encryption record exits -> done
+ return records;
+ } else {
+ // need to remove password data
+ dea = null;
+ return removeEncryptionRecord(records);
+ }
+ } else {
+ // create password record
+ if (dea == null) {
+ dea = new DocumentEncryptionAtom();
+ }
+ EncryptionInfo ei = dea.getEncryptionInfo();
+ byte salt[] = ei.getVerifier().getSalt();
+ Encryptor enc = ei.getEncryptor();
+ if (salt == null) {
+ enc.confirmPassword(password);
+ } else {
+ byte verifier[] = ei.getDecryptor().getVerifier();
+ enc.confirmPassword(password, null, null, verifier, salt, null);
+ }
+
+ // move EncryptionRecord to last slide position
+ records = normalizeRecords(records);
+ return addEncryptionRecord(records, dea);
+ }
+ }
+
+ /**
+ * remove duplicated UserEditAtoms and merge PersistPtrHolder.
+ * Before this method is called, make sure that the offsets are correct,
+ * i.e. call {@link HSLFSlideShowImpl#updateAndWriteDependantRecords(OutputStream, Map)}
+ */
+ protected static Record[] normalizeRecords(Record records[]) {
+ // http://msdn.microsoft.com/en-us/library/office/gg615594(v=office.14).aspx
+ // repeated slideIds can be overwritten, i.e. ignored
+
+ UserEditAtom uea = null;
+ PersistPtrHolder pph = null;
+ TreeMap<Integer,Integer> slideLocations = new TreeMap<Integer,Integer>();
+ TreeMap<Integer,Record> recordMap = new TreeMap<Integer,Record>();
+ List<Integer> obsoleteOffsets = new ArrayList<Integer>();
+ int duplicatedCount = 0;
+ for (Record r : records) {
+ assert(r instanceof PositionDependentRecord);
+ PositionDependentRecord pdr = (PositionDependentRecord)r;
+ if (pdr instanceof UserEditAtom) {
+ uea = (UserEditAtom)pdr;
+ continue;
+ }
+
+ if (pdr instanceof PersistPtrHolder) {
+ if (pph != null) {
+ duplicatedCount++;
+ }
+ pph = (PersistPtrHolder)pdr;
+ for (Map.Entry<Integer,Integer> me : pph.getSlideLocationsLookup().entrySet()) {
+ Integer oldOffset = slideLocations.put(me.getKey(), me.getValue());
+ if (oldOffset != null) obsoleteOffsets.add(oldOffset);
+ }
+ continue;
+ }
+
+ recordMap.put(pdr.getLastOnDiskOffset(), r);
+ }
+ recordMap.put(pph.getLastOnDiskOffset(), pph);
+ recordMap.put(uea.getLastOnDiskOffset(), uea);
+
+ assert(uea != null && pph != null && uea.getPersistPointersOffset() == pph.getLastOnDiskOffset());
+
+ if (duplicatedCount == 0 && obsoleteOffsets.isEmpty()) {
+ return records;
+ }
+
+ uea.setLastUserEditAtomOffset(0);
+ pph.clear();
+ for (Map.Entry<Integer,Integer> me : slideLocations.entrySet()) {
+ pph.addSlideLookup(me.getKey(), me.getValue());
+ }
+
+ for (Integer oldOffset : obsoleteOffsets) {
+ recordMap.remove(oldOffset);
+ }
+
+ return recordMap.values().toArray(new Record[recordMap.size()]);
+ }
+
+
+ protected static Record[] removeEncryptionRecord(Record records[]) {
+ int deaSlideId = -1;
+ int deaOffset = -1;
+ PersistPtrHolder ptr = null;
+ UserEditAtom uea = null;
+ List<Record> recordList = new ArrayList<Record>();
+ for (Record r : records) {
+ if (r instanceof DocumentEncryptionAtom) {
+ deaOffset = ((DocumentEncryptionAtom)r).getLastOnDiskOffset();
+ continue;
+ } else if (r instanceof UserEditAtom) {
+ uea = (UserEditAtom)r;
+ deaSlideId = uea.getEncryptSessionPersistIdRef();
+ uea.setEncryptSessionPersistIdRef(-1);
+ } else if (r instanceof PersistPtrHolder) {
+ ptr = (PersistPtrHolder)r;
+ }
+ recordList.add(r);
+ }
+
+ assert(ptr != null);
+ if (deaSlideId == -1 && deaOffset == -1) return records;
+
+ TreeMap<Integer,Integer> tm = new TreeMap<Integer,Integer>(ptr.getSlideLocationsLookup());
+ ptr.clear();
+ int maxSlideId = -1;
+ for (Map.Entry<Integer,Integer> me : tm.entrySet()) {
+ if (me.getKey() == deaSlideId || me.getValue() == deaOffset) continue;
+ ptr.addSlideLookup(me.getKey(), me.getValue());
+ maxSlideId = Math.max(me.getKey(), maxSlideId);
+ }
+
+ uea.setMaxPersistWritten(maxSlideId);
+
+ records = recordList.toArray(new Record[recordList.size()]);
+
+ return records;
+ }
+
+
+ protected static Record[] addEncryptionRecord(Record records[], DocumentEncryptionAtom dea) {
+ assert(dea != null);
+ int ueaIdx = -1, ptrIdx = -1, deaIdx = -1, idx = -1;
+ for (Record r : records) {
+ idx++;
+ if (r instanceof UserEditAtom) ueaIdx = idx;
+ else if (r instanceof PersistPtrHolder) ptrIdx = idx;
+ else if (r instanceof DocumentEncryptionAtom) deaIdx = idx;
+ }
+ assert(ueaIdx != -1 && ptrIdx != -1 && ptrIdx < ueaIdx);
+ if (deaIdx != -1) {
+ DocumentEncryptionAtom deaOld = (DocumentEncryptionAtom)records[deaIdx];
+ dea.setLastOnDiskOffset(deaOld.getLastOnDiskOffset());
+ records[deaIdx] = dea;
+ return records;
+ } else {
+ PersistPtrHolder ptr = (PersistPtrHolder)records[ptrIdx];
+ UserEditAtom uea = ((UserEditAtom)records[ueaIdx]);
+ dea.setLastOnDiskOffset(ptr.getLastOnDiskOffset()-1);
+ int nextSlideId = uea.getMaxPersistWritten()+1;
+ ptr.addSlideLookup(nextSlideId, ptr.getLastOnDiskOffset()-1);
+ uea.setEncryptSessionPersistIdRef(nextSlideId);
+ uea.setMaxPersistWritten(nextSlideId);
+
+ Record newRecords[] = new Record[records.length+1];
+ if (ptrIdx > 0) System.arraycopy(records, 0, newRecords, 0, ptrIdx);
+ if (ptrIdx < records.length-1) System.arraycopy(records, ptrIdx, newRecords, ptrIdx+1, records.length-ptrIdx);
+ newRecords[ptrIdx] = dea;
+ return newRecords;
+ }
+ }
+
+}
--- /dev/null
+/* ====================================================================
+ 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.hslf.model;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.security.GeneralSecurityException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.List;
+import java.util.Map;
+import java.util.NavigableMap;
+import java.util.TreeMap;
+
+import org.apache.poi.POIDocument;
+import org.apache.poi.hpsf.PropertySet;
+import org.apache.poi.hslf.exceptions.CorruptPowerPointFileException;
+import org.apache.poi.hslf.exceptions.HSLFException;
+import org.apache.poi.hslf.record.CurrentUserAtom;
+import org.apache.poi.hslf.record.DocumentEncryptionAtom;
+import org.apache.poi.hslf.record.ExOleObjStg;
+import org.apache.poi.hslf.record.PersistPtrHolder;
+import org.apache.poi.hslf.record.PersistRecord;
+import org.apache.poi.hslf.record.PositionDependentRecord;
+import org.apache.poi.hslf.record.Record;
+import org.apache.poi.hslf.record.RecordTypes;
+import org.apache.poi.hslf.record.UserEditAtom;
+import org.apache.poi.hslf.usermodel.HSLFObjectData;
+import org.apache.poi.hslf.usermodel.HSLFPictureData;
+import org.apache.poi.poifs.crypt.cryptoapi.CryptoAPIEncryptor;
+import org.apache.poi.poifs.filesystem.DirectoryNode;
+import org.apache.poi.poifs.filesystem.DocumentEntry;
+import org.apache.poi.poifs.filesystem.DocumentInputStream;
+import org.apache.poi.poifs.filesystem.EntryUtils;
+import org.apache.poi.poifs.filesystem.NPOIFSFileSystem;
+import org.apache.poi.poifs.filesystem.POIFSFileSystem;
+import org.apache.poi.util.LittleEndian;
+import org.apache.poi.util.POILogFactory;
+import org.apache.poi.util.POILogger;
+
+/**
+ * This class contains the main functionality for the Powerpoint file
+ * "reader". It is only a very basic class for now
+ *
+ * @author Nick Burch
+ */
+public final class HSLFSlideShowImpl extends POIDocument {
+ public static final int UNSET_OFFSET = -1;
+
+ // For logging
+ private POILogger logger = POILogFactory.getLogger(this.getClass());
+
+ // Holds metadata on where things are in our document
+ private CurrentUserAtom currentUser;
+
+ // Low level contents of the file
+ private byte[] _docstream;
+
+ // Low level contents
+ private Record[] _records;
+
+ // Raw Pictures contained in the pictures stream
+ private List<HSLFPictureData> _pictures;
+
+ // Embedded objects stored in storage records in the document stream, lazily populated.
+ private HSLFObjectData[] _objects;
+
+ /**
+ * Returns the underlying POIFSFileSystem for the document
+ * that is open.
+ */
+ protected POIFSFileSystem getPOIFSFileSystem() {
+ return directory.getFileSystem();
+ }
+
+ /**
+ * Returns the directory in the underlying POIFSFileSystem for the
+ * document that is open.
+ */
+ protected DirectoryNode getPOIFSDirectory() {
+ return directory;
+ }
+
+ /**
+ * Constructs a Powerpoint document from fileName. Parses the document
+ * and places all the important stuff into data structures.
+ *
+ * @param fileName The name of the file to read.
+ * @throws IOException if there is a problem while parsing the document.
+ */
+ public HSLFSlideShowImpl(String fileName) throws IOException
+ {
+ this(new FileInputStream(fileName));
+ }
+
+ /**
+ * Constructs a Powerpoint document from an input stream. Parses the
+ * document and places all the important stuff into data structures.
+ *
+ * @param inputStream the source of the data
+ * @throws IOException if there is a problem while parsing the document.
+ */
+ public HSLFSlideShowImpl(InputStream inputStream) throws IOException {
+ //do Ole stuff
+ this(new POIFSFileSystem(inputStream));
+ }
+
+ /**
+ * Constructs a Powerpoint document from a POIFS Filesystem. Parses the
+ * document and places all the important stuff into data structures.
+ *
+ * @param filesystem the POIFS FileSystem to read from
+ * @throws IOException if there is a problem while parsing the document.
+ */
+ public HSLFSlideShowImpl(POIFSFileSystem filesystem) throws IOException
+ {
+ this(filesystem.getRoot());
+ }
+
+ /**
+ * Constructs a Powerpoint document from a POIFS Filesystem. Parses the
+ * document and places all the important stuff into data structures.
+ *
+ * @param filesystem the POIFS FileSystem to read from
+ * @throws IOException if there is a problem while parsing the document.
+ */
+ public HSLFSlideShowImpl(NPOIFSFileSystem filesystem) throws IOException
+ {
+ this(filesystem.getRoot());
+ }
+
+ /**
+ * Constructs a Powerpoint document from a specific point in a
+ * POIFS Filesystem. Parses the document and places all the
+ * important stuff into data structures.
+ *
+ * @deprecated Use {@link #HSLFSlideShow(DirectoryNode)} instead
+ * @param dir the POIFS directory to read from
+ * @param filesystem the POIFS FileSystem to read from
+ * @throws IOException if there is a problem while parsing the document.
+ */
+ @Deprecated
+ public HSLFSlideShowImpl(DirectoryNode dir, POIFSFileSystem filesystem) throws IOException
+ {
+ this(dir);
+ }
+
+ /**
+ * Constructs a Powerpoint document from a specific point in a
+ * POIFS Filesystem. Parses the document and places all the
+ * important stuff into data structures.
+ *
+ * @param dir the POIFS directory to read from
+ * @throws IOException if there is a problem while parsing the document.
+ */
+ public HSLFSlideShowImpl(DirectoryNode dir) throws IOException {
+ super(handleDualStorage(dir));
+
+ // First up, grab the "Current User" stream
+ // We need this before we can detect Encrypted Documents
+ readCurrentUserStream();
+
+ // Next up, grab the data that makes up the
+ // PowerPoint stream
+ readPowerPointStream();
+
+ // Now, build records based on the PowerPoint stream
+ buildRecords();
+
+ // Look for any other streams
+ readOtherStreams();
+ }
+
+ private static DirectoryNode handleDualStorage(DirectoryNode dir) throws IOException {
+ // when there's a dual storage entry, use it, as the outer document can't be read quite probably ...
+ String dualName = "PP97_DUALSTORAGE";
+ if (!dir.hasEntry(dualName)) return dir;
+ dir = (DirectoryNode)dir.getEntry(dualName);
+ return dir;
+ }
+
+ /**
+ * Constructs a new, empty, Powerpoint document.
+ */
+ public static final HSLFSlideShowImpl create() {
+ InputStream is = HSLFSlideShowImpl.class.getResourceAsStream("data/empty.ppt");
+ if (is == null) {
+ throw new RuntimeException("Missing resource 'empty.ppt'");
+ }
+ try {
+ return new HSLFSlideShowImpl(is);
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ /**
+ * Extracts the main PowerPoint document stream from the
+ * POI file, ready to be passed
+ *
+ * @throws IOException
+ */
+ private void readPowerPointStream() throws IOException
+ {
+ // Get the main document stream
+ DocumentEntry docProps =
+ (DocumentEntry)directory.getEntry("PowerPoint Document");
+
+ // Grab the document stream
+ _docstream = new byte[docProps.getSize()];
+ directory.createDocumentInputStream("PowerPoint Document").read(_docstream);
+ }
+
+ /**
+ * Builds the list of records, based on the contents
+ * of the PowerPoint stream
+ */
+ private void buildRecords()
+ {
+ // The format of records in a powerpoint file are:
+ // <little endian 2 byte "info">
+ // <little endian 2 byte "type">
+ // <little endian 4 byte "length">
+ // If it has a zero length, following it will be another record
+ // <xx xx yy yy 00 00 00 00> <xx xx yy yy zz zz zz zz>
+ // If it has a length, depending on its type it may have children or data
+ // If it has children, these will follow straight away
+ // <xx xx yy yy zz zz zz zz <xx xx yy yy zz zz zz zz>>
+ // If it has data, this will come straigh after, and run for the length
+ // <xx xx yy yy zz zz zz zz dd dd dd dd dd dd dd>
+ // All lengths given exclude the 8 byte record header
+ // (Data records are known as Atoms)
+
+ // Document should start with:
+ // 0F 00 E8 03 ## ## ## ##
+ // (type 1000 = document, info 00 0f is normal, rest is document length)
+ // 01 00 E9 03 28 00 00 00
+ // (type 1001 = document atom, info 00 01 normal, 28 bytes long)
+ // 80 16 00 00 E0 10 00 00 xx xx xx xx xx xx xx xx
+ // 05 00 00 00 0A 00 00 00 xx xx xx
+ // (the contents of the document atom, not sure what it means yet)
+ // (records then follow)
+
+ // When parsing a document, look to see if you know about that type
+ // of the current record. If you know it's a type that has children,
+ // process the record's data area looking for more records
+ // If you know about the type and it doesn't have children, either do
+ // something with the data (eg TextRun) or skip over it
+ // If you don't know about the type, play safe and skip over it (using
+ // its length to know where the next record will start)
+ //
+
+ _records = read(_docstream, (int)currentUser.getCurrentEditOffset());
+ }
+
+ private Record[] read(byte[] docstream, int usrOffset){
+ //sort found records by offset.
+ //(it is not necessary but SlideShow.findMostRecentCoreRecords() expects them sorted)
+ NavigableMap<Integer,Record> records = new TreeMap<Integer,Record>(); // offset -> record
+ Map<Integer,Integer> persistIds = new HashMap<Integer,Integer>(); // offset -> persistId
+ initRecordOffsets(docstream, usrOffset, records, persistIds);
+ HSLFSlideShowEncrypted decryptData = new HSLFSlideShowEncrypted(docstream, records);
+
+ for (Map.Entry<Integer,Record> entry : records.entrySet()) {
+ Integer offset = entry.getKey();
+ Record record = entry.getValue();
+ Integer persistId = persistIds.get(offset);
+ if (record == null) {
+ // all plain records have been already added,
+ // only new records need to be decrypted (tbd #35897)
+ decryptData.decryptRecord(docstream, persistId, offset);
+ record = Record.buildRecordAtOffset(docstream, offset);
+ entry.setValue(record);
+ }
+
+ if (record instanceof PersistRecord) {
+ ((PersistRecord)record).setPersistId(persistId);
+ }
+ }
+
+ return records.values().toArray(new Record[records.size()]);
+ }
+
+ private void initRecordOffsets(byte[] docstream, int usrOffset, NavigableMap<Integer,Record> recordMap, Map<Integer,Integer> offset2id) {
+ while (usrOffset != 0){
+ UserEditAtom usr = (UserEditAtom) Record.buildRecordAtOffset(docstream, usrOffset);
+ recordMap.put(usrOffset, usr);
+
+ int psrOffset = usr.getPersistPointersOffset();
+ PersistPtrHolder ptr = (PersistPtrHolder)Record.buildRecordAtOffset(docstream, psrOffset);
+ recordMap.put(psrOffset, ptr);
+
+ for(Map.Entry<Integer,Integer> entry : ptr.getSlideLocationsLookup().entrySet()) {
+ Integer offset = entry.getValue();
+ Integer id = entry.getKey();
+ recordMap.put(offset, null); // reserve a slot for the record
+ offset2id.put(offset, id);
+ }
+
+ usrOffset = usr.getLastUserEditAtomOffset();
+
+ // check for corrupted user edit atom and try to repair it
+ // if the next user edit atom offset is already known, we would go into an endless loop
+ if (usrOffset > 0 && recordMap.containsKey(usrOffset)) {
+ // a user edit atom is usually located 36 byte before the smallest known record offset
+ usrOffset = recordMap.firstKey()-36;
+ // check that we really are located on a user edit atom
+ int ver_inst = LittleEndian.getUShort(docstream, usrOffset);
+ int type = LittleEndian.getUShort(docstream, usrOffset+2);
+ int len = LittleEndian.getInt(docstream, usrOffset+4);
+ if (ver_inst == 0 && type == 4085 && (len == 0x1C || len == 0x20)) {
+ logger.log(POILogger.WARN, "Repairing invalid user edit atom");
+ usr.setLastUserEditAtomOffset(usrOffset);
+ } else {
+ throw new CorruptPowerPointFileException("Powerpoint document contains invalid user edit atom");
+ }
+ }
+ }
+ }
+
+ public DocumentEncryptionAtom getDocumentEncryptionAtom() {
+ for (Record r : _records) {
+ if (r instanceof DocumentEncryptionAtom) {
+ return (DocumentEncryptionAtom)r;
+ }
+ }
+ return null;
+ }
+
+
+ /**
+ * Find the "Current User" stream, and load it
+ */
+ private void readCurrentUserStream() {
+ try {
+ currentUser = new CurrentUserAtom(directory);
+ } catch(IOException ie) {
+ logger.log(POILogger.ERROR, "Error finding Current User Atom:\n" + ie);
+ currentUser = new CurrentUserAtom();
+ }
+ }
+
+ /**
+ * Find any other streams from the filesystem, and load them
+ */
+ private void readOtherStreams() {
+ // Currently, there aren't any
+ }
+
+ /**
+ * Find and read in pictures contained in this presentation.
+ * This is lazily called as and when we want to touch pictures.
+ */
+ @SuppressWarnings("unused")
+ private void readPictures() throws IOException {
+ _pictures = new ArrayList<HSLFPictureData>();
+
+ // if the presentation doesn't contain pictures - will use a null set instead
+ if (!directory.hasEntry("Pictures")) return;
+
+ HSLFSlideShowEncrypted decryptData = new HSLFSlideShowEncrypted(getDocumentEncryptionAtom());
+
+ DocumentEntry entry = (DocumentEntry)directory.getEntry("Pictures");
+ byte[] pictstream = new byte[entry.getSize()];
+ DocumentInputStream is = directory.createDocumentInputStream(entry);
+ is.read(pictstream);
+ is.close();
+
+
+ int pos = 0;
+ // An empty picture record (length 0) will take up 8 bytes
+ while (pos <= (pictstream.length-8)) {
+ int offset = pos;
+
+ decryptData.decryptPicture(pictstream, offset);
+
+ // Image signature
+ int signature = LittleEndian.getUShort(pictstream, pos);
+ pos += LittleEndian.SHORT_SIZE;
+ // Image type + 0xF018
+ int type = LittleEndian.getUShort(pictstream, pos);
+ pos += LittleEndian.SHORT_SIZE;
+ // Image size (excluding the 8 byte header)
+ int imgsize = LittleEndian.getInt(pictstream, pos);
+ pos += LittleEndian.INT_SIZE;
+
+ // When parsing the BStoreDelay stream, [MS-ODRAW] says that we
+ // should terminate if the type isn't 0xf007 or 0xf018->0xf117
+ if (!((type == 0xf007) || (type >= 0xf018 && type <= 0xf117)))
+ break;
+
+ // The image size must be 0 or greater
+ // (0 is allowed, but odd, since we do wind on by the header each
+ // time, so we won't get stuck)
+ if(imgsize < 0) {
+ throw new CorruptPowerPointFileException("The file contains a picture, at position " + _pictures.size() + ", which has a negatively sized data length, so we can't trust any of the picture data");
+ }
+
+ // If they type (including the bonus 0xF018) is 0, skip it
+ if(type == 0) {
+ logger.log(POILogger.ERROR, "Problem reading picture: Invalid image type 0, on picture with length " + imgsize + ".\nYou document will probably become corrupted if you save it!");
+ logger.log(POILogger.ERROR, "" + pos);
+ } else {
+ // Build the PictureData object from the data
+ try {
+ HSLFPictureData pict = HSLFPictureData.create(type - 0xF018);
+
+ // Copy the data, ready to pass to PictureData
+ byte[] imgdata = new byte[imgsize];
+ System.arraycopy(pictstream, pos, imgdata, 0, imgdata.length);
+ pict.setRawData(imgdata);
+
+ pict.setOffset(offset);
+ _pictures.add(pict);
+ } catch(IllegalArgumentException e) {
+ logger.log(POILogger.ERROR, "Problem reading picture: " + e + "\nYou document will probably become corrupted if you save it!");
+ }
+ }
+
+ pos += imgsize;
+ }
+ }
+
+ /**
+ * remove duplicated UserEditAtoms and merge PersistPtrHolder, i.e.
+ * remove document edit history
+ */
+ public void normalizeRecords() {
+ try {
+ updateAndWriteDependantRecords(null, null);
+ } catch (IOException e) {
+ throw new CorruptPowerPointFileException(e);
+ }
+ _records = HSLFSlideShowEncrypted.normalizeRecords(_records);
+ }
+
+
+ /**
+ * This is a helper functions, which is needed for adding new position dependent records
+ * or finally write the slideshow to a file.
+ *
+ * @param os the stream to write to, if null only the references are updated
+ * @param interestingRecords a map of interesting records (PersistPtrHolder and UserEditAtom)
+ * referenced by their RecordType. Only the very last of each type will be saved to the map.
+ * May be null, if not needed.
+ * @throws IOException
+ */
+ public void updateAndWriteDependantRecords(OutputStream os, Map<RecordTypes.Type,PositionDependentRecord> interestingRecords)
+ throws IOException {
+ // For position dependent records, hold where they were and now are
+ // As we go along, update, and hand over, to any Position Dependent
+ // records we happen across
+ Hashtable<Integer,Integer> oldToNewPositions = new Hashtable<Integer,Integer>();
+
+ // First pass - figure out where all the position dependent
+ // records are going to end up, in the new scheme
+ // (Annoyingly, some powerpoint files have PersistPtrHolders
+ // that reference slides after the PersistPtrHolder)
+ UserEditAtom usr = null;
+ PersistPtrHolder ptr = null;
+ CountingOS cos = new CountingOS();
+ for (Record record : _records) {
+ // all top level records are position dependent
+ assert(record instanceof PositionDependentRecord);
+ PositionDependentRecord pdr = (PositionDependentRecord)record;
+ int oldPos = pdr.getLastOnDiskOffset();
+ int newPos = cos.size();
+ pdr.setLastOnDiskOffset(newPos);
+ if (oldPos != UNSET_OFFSET) {
+ // new records don't need a mapping, as they aren't in a relation yet
+ oldToNewPositions.put(oldPos,newPos);
+ }
+
+ // Grab interesting records as they come past
+ // this will only save the very last record of each type
+ RecordTypes.Type saveme = null;
+ int recordType = (int)record.getRecordType();
+ if (recordType == RecordTypes.PersistPtrIncrementalBlock.typeID) {
+ saveme = RecordTypes.PersistPtrIncrementalBlock;
+ ptr = (PersistPtrHolder)pdr;
+ } else if (recordType == RecordTypes.UserEditAtom.typeID) {
+ saveme = RecordTypes.UserEditAtom;
+ usr = (UserEditAtom)pdr;
+ }
+ if (interestingRecords != null && saveme != null) {
+ interestingRecords.put(saveme,pdr);
+ }
+
+ // Dummy write out, so the position winds on properly
+ record.writeOut(cos);
+ }
+
+ assert(usr != null && ptr != null);
+
+ Map<Integer,Integer> persistIds = new HashMap<Integer,Integer>();
+ for (Map.Entry<Integer,Integer> entry : ptr.getSlideLocationsLookup().entrySet()) {
+ persistIds.put(oldToNewPositions.get(entry.getValue()), entry.getKey());
+ }
+
+ HSLFSlideShowEncrypted encData = new HSLFSlideShowEncrypted(getDocumentEncryptionAtom());
+
+ for (Record record : _records) {
+ assert(record instanceof PositionDependentRecord);
+ // We've already figured out their new location, and
+ // told them that
+ // Tell them of the positions of the other records though
+ PositionDependentRecord pdr = (PositionDependentRecord)record;
+ Integer persistId = persistIds.get(pdr.getLastOnDiskOffset());
+ if (persistId == null) persistId = 0;
+
+ // For now, we're only handling PositionDependentRecord's that
+ // happen at the top level.
+ // In future, we'll need the handle them everywhere, but that's
+ // a bit trickier
+ pdr.updateOtherRecordReferences(oldToNewPositions);
+
+ // Whatever happens, write out that record tree
+ if (os != null) {
+ record.writeOut(encData.encryptRecord(os, persistId, record));
+ }
+ }
+
+ // Update and write out the Current User atom
+ int oldLastUserEditAtomPos = (int)currentUser.getCurrentEditOffset();
+ Integer newLastUserEditAtomPos = oldToNewPositions.get(oldLastUserEditAtomPos);
+ if(usr == null || newLastUserEditAtomPos == null || usr.getLastOnDiskOffset() != newLastUserEditAtomPos) {
+ throw new HSLFException("Couldn't find the new location of the last UserEditAtom that used to be at " + oldLastUserEditAtomPos);
+ }
+ currentUser.setCurrentEditOffset(usr.getLastOnDiskOffset());
+ }
+
+ /**
+ * Writes out the slideshow file the is represented by an instance
+ * of this class.
+ * It will write out the common OLE2 streams. If you require all
+ * streams to be written out, pass in preserveNodes
+ * @param out The OutputStream to write to.
+ * @throws IOException If there is an unexpected IOException from
+ * the passed in OutputStream
+ */
+ public void write(OutputStream out) throws IOException {
+ // Write out, but only the common streams
+ write(out,false);
+ }
+ /**
+ * Writes out the slideshow file the is represented by an instance
+ * of this class.
+ * If you require all streams to be written out (eg Marcos, embeded
+ * documents), then set preserveNodes to true
+ * @param out The OutputStream to write to.
+ * @param preserveNodes Should all OLE2 streams be written back out, or only the common ones?
+ * @throws IOException If there is an unexpected IOException from
+ * the passed in OutputStream
+ */
+ public void write(OutputStream out, boolean preserveNodes) throws IOException {
+ // read properties and pictures, with old encryption settings where appropriate
+ if(_pictures == null) {
+ readPictures();
+ }
+ getDocumentSummaryInformation();
+
+ // set new encryption settings
+ HSLFSlideShowEncrypted encryptedSS = new HSLFSlideShowEncrypted(getDocumentEncryptionAtom());
+ _records = encryptedSS.updateEncryptionRecord(_records);
+
+ // Get a new Filesystem to write into
+ POIFSFileSystem outFS = new POIFSFileSystem();
+
+ // The list of entries we've written out
+ List<String> writtenEntries = new ArrayList<String>(1);
+
+ // Write out the Property Streams
+ writeProperties(outFS, writtenEntries);
+
+ BufAccessBAOS baos = new BufAccessBAOS();
+
+ // For position dependent records, hold where they were and now are
+ // As we go along, update, and hand over, to any Position Dependent
+ // records we happen across
+ updateAndWriteDependantRecords(baos, null);
+
+ // Update our cached copy of the bytes that make up the PPT stream
+ _docstream = new byte[baos.size()];
+ System.arraycopy(baos.getBuf(), 0, _docstream, 0, baos.size());
+
+ // Write the PPT stream into the POIFS layer
+ ByteArrayInputStream bais = new ByteArrayInputStream(_docstream);
+ outFS.createDocument(bais,"PowerPoint Document");
+ writtenEntries.add("PowerPoint Document");
+
+ currentUser.setEncrypted(encryptedSS.getDocumentEncryptionAtom() != null);
+ currentUser.writeToFS(outFS);
+ writtenEntries.add("Current User");
+
+
+ if (_pictures.size() > 0) {
+ BufAccessBAOS pict = new BufAccessBAOS();
+ for (HSLFPictureData p : _pictures) {
+ int offset = pict.size();
+ p.write(pict);
+ encryptedSS.encryptPicture(pict.getBuf(), offset);
+ }
+ outFS.createDocument(
+ new ByteArrayInputStream(pict.getBuf(), 0, pict.size()), "Pictures"
+ );
+ writtenEntries.add("Pictures");
+ }
+
+ // If requested, write out any other streams we spot
+ if(preserveNodes) {
+ EntryUtils.copyNodes(directory.getFileSystem(), outFS, writtenEntries);
+ }
+
+ // Send the POIFSFileSystem object out to the underlying stream
+ outFS.writeFilesystem(out);
+ }
+
+ /**
+ * For a given named property entry, either return it or null if
+ * if it wasn't found
+ *
+ * @param setName The property to read
+ * @return The value of the given property or null if it wasn't found.
+ */
+ protected PropertySet getPropertySet(String setName) {
+ DocumentEncryptionAtom dea = getDocumentEncryptionAtom();
+ return (dea == null)
+ ? super.getPropertySet(setName)
+ : super.getPropertySet(setName, dea.getEncryptionInfo());
+ }
+
+ /**
+ * Writes out the standard Documment Information Properties (HPSF)
+ * @param outFS the POIFSFileSystem to write the properties into
+ * @param writtenEntries a list of POIFS entries to add the property names too
+ *
+ * @throws IOException if an error when writing to the
+ * {@link POIFSFileSystem} occurs
+ */
+ protected void writeProperties(POIFSFileSystem outFS, List<String> writtenEntries) throws IOException {
+ super.writeProperties(outFS, writtenEntries);
+ DocumentEncryptionAtom dea = getDocumentEncryptionAtom();
+ if (dea != null) {
+ CryptoAPIEncryptor enc = (CryptoAPIEncryptor)dea.getEncryptionInfo().getEncryptor();
+ try {
+ enc.getDataStream(outFS.getRoot()); // ignore OutputStream
+ } catch (IOException e) {
+ throw e;
+ } catch (GeneralSecurityException e) {
+ throw new IOException(e);
+ }
+ }
+ }
+
+ /* ******************* adding methods follow ********************* */
+
+ /**
+ * Adds a new root level record, at the end, but before the last
+ * PersistPtrIncrementalBlock.
+ */
+ public synchronized int appendRootLevelRecord(Record newRecord) {
+ int addedAt = -1;
+ Record[] r = new Record[_records.length+1];
+ boolean added = false;
+ for(int i=(_records.length-1); i>=0; i--) {
+ if(added) {
+ // Just copy over
+ r[i] = _records[i];
+ } else {
+ r[(i+1)] = _records[i];
+ if(_records[i] instanceof PersistPtrHolder) {
+ r[i] = newRecord;
+ added = true;
+ addedAt = i;
+ }
+ }
+ }
+ _records = r;
+ return addedAt;
+ }
+
+ /**
+ * Add a new picture to this presentation.
+ *
+ * @return offset of this picture in the Pictures stream
+ */
+ public int addPicture(HSLFPictureData img) {
+ // Process any existing pictures if we haven't yet
+ if(_pictures == null) {
+ try {
+ readPictures();
+ } catch(IOException e) {
+ throw new CorruptPowerPointFileException(e.getMessage());
+ }
+ }
+
+ // Add the new picture in
+ int offset = 0;
+ if(_pictures.size() > 0) {
+ HSLFPictureData prev = _pictures.get(_pictures.size() - 1);
+ offset = prev.getOffset() + prev.getRawData().length + 8;
+ }
+ img.setOffset(offset);
+ _pictures.add(img);
+ return offset;
+ }
+
+ /* ******************* fetching methods follow ********************* */
+
+
+ /**
+ * Returns an array of all the records found in the slideshow
+ */
+ public Record[] getRecords() { return _records; }
+
+ /**
+ * Returns an array of the bytes of the file. Only correct after a
+ * call to open or write - at all other times might be wrong!
+ */
+ public byte[] getUnderlyingBytes() { return _docstream; }
+
+ /**
+ * Fetch the Current User Atom of the document
+ */
+ public CurrentUserAtom getCurrentUserAtom() { return currentUser; }
+
+ /**
+ * Return array of pictures contained in this presentation
+ *
+ * @return array with the read pictures or <code>null</code> if the
+ * presentation doesn't contain pictures.
+ */
+ public HSLFPictureData[] getPictures() {
+ if(_pictures == null) {
+ try {
+ readPictures();
+ } catch(IOException e) {
+ throw new CorruptPowerPointFileException(e.getMessage());
+ }
+ }
+
+ return _pictures.toArray(new HSLFPictureData[_pictures.size()]);
+ }
+
+ /**
+ * Gets embedded object data from the slide show.
+ *
+ * @return the embedded objects.
+ */
+ public HSLFObjectData[] getEmbeddedObjects() {
+ if (_objects == null) {
+ List<HSLFObjectData> objects = new ArrayList<HSLFObjectData>();
+ for (Record r : _records) {
+ if (r instanceof ExOleObjStg) {
+ objects.add(new HSLFObjectData((ExOleObjStg)r));
+ }
+ }
+ _objects = objects.toArray(new HSLFObjectData[objects.size()]);
+ }
+ return _objects;
+ }
+
+
+ private static class BufAccessBAOS extends ByteArrayOutputStream {
+ public byte[] getBuf() {
+ return buf;
+ }
+ }
+
+ private static class CountingOS extends OutputStream {
+ int count = 0;
+ public void write(int b) throws IOException {
+ count++;
+ }
+
+ public void write(byte[] b) throws IOException {
+ count += b.length;
+ }
+
+ public void write(byte[] b, int off, int len) throws IOException {
+ count += len;
+ }
+
+ public int size() {
+ return count;
+ }
+ }
+}
--- /dev/null
+/* ====================================================================
+ 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.hslf.model;
+
+import org.apache.poi.ddf.*;
+import org.apache.poi.sl.usermodel.ShapeContainer;
+import org.apache.poi.sl.usermodel.ShapeType;
+
+/**
+ * Represents a TextFrame shape in PowerPoint.
+ * <p>
+ * Contains the text in a text frame as well as the properties and methods
+ * that control alignment and anchoring of the text.
+ * </p>
+ *
+ * @author Yegor Kozlov
+ */
+public class HSLFTextBox extends HSLFTextShape {
+
+ /**
+ * Create a TextBox object and initialize it from the supplied Record container.
+ *
+ * @param escherRecord <code>EscherSpContainer</code> container which holds information about this shape
+ * @param parent the parent of the shape
+ */
+ protected HSLFTextBox(EscherContainerRecord escherRecord, ShapeContainer<HSLFShape> parent){
+ super(escherRecord, parent);
+
+ }
+
+ /**
+ * Create a new TextBox. This constructor is used when a new shape is created.
+ *
+ * @param parent the parent of this Shape. For example, if this text box is a cell
+ * in a table then the parent is Table.
+ */
+ public HSLFTextBox(ShapeContainer<HSLFShape> parent){
+ super(parent);
+ }
+
+ /**
+ * Create a new TextBox. This constructor is used when a new shape is created.
+ *
+ */
+ public HSLFTextBox(){
+ this(null);
+ }
+
+ /**
+ * Create a new TextBox and initialize its internal structures
+ *
+ * @return the created <code>EscherContainerRecord</code> which holds shape data
+ */
+ protected EscherContainerRecord createSpContainer(boolean isChild){
+ _escherContainer = super.createSpContainer(isChild);
+
+ setShapeType(ShapeType.TEXT_BOX);
+
+ //set default properties for a TextBox
+ setEscherProperty(EscherProperties.FILL__FILLCOLOR, 0x8000004);
+ setEscherProperty(EscherProperties.FILL__FILLBACKCOLOR, 0x8000000);
+ setEscherProperty(EscherProperties.FILL__NOFILLHITTEST, 0x100000);
+ setEscherProperty(EscherProperties.LINESTYLE__COLOR, 0x8000001);
+ setEscherProperty(EscherProperties.LINESTYLE__NOLINEDRAWDASH, 0x80000);
+ setEscherProperty(EscherProperties.SHADOWSTYLE__COLOR, 0x8000002);
+
+ _txtrun = createTextRun();
+
+ return _escherContainer;
+ }
+
+ protected void setDefaultTextProperties(HSLFTextParagraph _txtrun){
+ setVerticalAlignment(HSLFTextBox.AnchorTop);
+ setEscherProperty(EscherProperties.TEXT__SIZE_TEXT_TO_FIT_SHAPE, 0x20002);
+ }
+
+}
--- /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
+\r
+package org.apache.poi.hslf.model;\r
+\r
+import java.util.ArrayList;\r
+import java.util.LinkedList;\r
+import java.util.List;\r
+\r
+import org.apache.poi.hslf.model.textproperties.TextPropCollection;\r
+import org.apache.poi.hslf.record.PPDrawing;\r
+import org.apache.poi.hslf.record.Record;\r
+import org.apache.poi.hslf.record.RecordContainer;\r
+import org.apache.poi.hslf.record.SlideListWithText;\r
+import org.apache.poi.hslf.record.StyleTextProp9Atom;\r
+import org.apache.poi.hslf.record.StyleTextPropAtom;\r
+import org.apache.poi.hslf.record.TextBytesAtom;\r
+import org.apache.poi.hslf.record.TextCharsAtom;\r
+import org.apache.poi.hslf.record.TextHeaderAtom;\r
+import org.apache.poi.hslf.record.TextRulerAtom;\r
+import org.apache.poi.hslf.record.TextSpecInfoAtom;\r
+import org.apache.poi.hslf.usermodel.HSLFTextRun;\r
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;\r
+import org.apache.poi.sl.usermodel.TextParagraph;\r
+import org.apache.poi.util.StringUtil;\r
+\r
+/**\r
+ * This class represents a run of text in a powerpoint document. That\r
+ * run could be text on a sheet, or text in a note.\r
+ * It is only a very basic class for now\r
+ *\r
+ * @author Nick Burch\r
+ */\r
+\r
+public final class HSLFTextParagraph implements TextParagraph<HSLFTextRun>\r
+{\r
+ // Note: These fields are protected to help with unit testing\r
+ // Other classes shouldn't really go playing with them!\r
+ protected TextHeaderAtom _headerAtom;\r
+ protected TextBytesAtom _byteAtom;\r
+ protected TextCharsAtom _charAtom;\r
+ protected StyleTextPropAtom _styleAtom;\r
+ protected TextRulerAtom _ruler;\r
+ protected boolean _isUnicode;\r
+ protected HSLFTextRun[] _rtRuns;\r
+ protected HSLFTextShape _parentShape;\r
+ // private SlideShow slideShow;\r
+ private HSLFSheet _sheet;\r
+ private int shapeId;\r
+ private int slwtIndex = -1; //position in the owning SlideListWithText\r
+ /**\r
+ * all text run records that follow TextHeaderAtom.\r
+ * (there can be misc InteractiveInfo, TxInteractiveInfo and other records)\r
+ */\r
+ protected Record[] _records;\r
+ // private StyleTextPropAtom styleTextPropAtom;\r
+ private StyleTextProp9Atom styleTextProp9Atom;\r
+\r
+ /**\r
+ * Constructs a Text Run from a Unicode text block\r
+ *\r
+ * @param tha the TextHeaderAtom that defines what's what\r
+ * @param tca the TextCharsAtom containing the text\r
+ * @param sta the StyleTextPropAtom which defines the character stylings\r
+ */\r
+ public HSLFTextParagraph(TextHeaderAtom tha, TextCharsAtom tca, StyleTextPropAtom sta) {\r
+ this(tha,null,tca,sta);\r
+ }\r
+\r
+ /**\r
+ * Constructs a Text Run from a Ascii text block\r
+ *\r
+ * @param tha the TextHeaderAtom that defines what's what\r
+ * @param tba the TextBytesAtom containing the text\r
+ * @param sta the StyleTextPropAtom which defines the character stylings\r
+ */\r
+ public HSLFTextParagraph(TextHeaderAtom tha, TextBytesAtom tba, StyleTextPropAtom sta) {\r
+ this(tha,tba,null,sta);\r
+ }\r
+\r
+ /**\r
+ * Internal constructor and initializer\r
+ */\r
+ private HSLFTextParagraph(TextHeaderAtom tha, TextBytesAtom tba, TextCharsAtom tca, StyleTextPropAtom sta) {\r
+ _headerAtom = tha;\r
+ _styleAtom = sta;\r
+ if(tba != null) {\r
+ _byteAtom = tba;\r
+ _isUnicode = false;\r
+ } else {\r
+ _charAtom = tca;\r
+ _isUnicode = true;\r
+ }\r
+ String runRawText = getText();\r
+\r
+ // Figure out the rich text runs\r
+ LinkedList<TextPropCollection> pStyles = new LinkedList<TextPropCollection>();\r
+ LinkedList<TextPropCollection> cStyles = new LinkedList<TextPropCollection>();\r
+ if(_styleAtom != null) {\r
+ // Get the style atom to grok itself\r
+ _styleAtom.setParentTextSize(runRawText.length());\r
+ pStyles = _styleAtom.getParagraphStyles();\r
+ cStyles = _styleAtom.getCharacterStyles();\r
+ }\r
+ buildRichTextRuns(pStyles, cStyles, runRawText);\r
+ }\r
+\r
+ public void buildRichTextRuns(LinkedList<TextPropCollection> pStyles, LinkedList<TextPropCollection> cStyles, String runRawText){\r
+\r
+ // Handle case of no current style, with a default\r
+ if(pStyles.size() == 0 || cStyles.size() == 0) {\r
+ _rtRuns = new HSLFTextRun[1];\r
+ _rtRuns[0] = new HSLFTextRun(this, 0, runRawText.length());\r
+ } else {\r
+ // Build up Rich Text Runs, one for each\r
+ // character/paragraph style pair\r
+ List<HSLFTextRun> rtrs = new ArrayList<HSLFTextRun>();\r
+\r
+ int pos = 0;\r
+\r
+ int curP = 0;\r
+ int curC = 0;\r
+ int pLenRemain = -1;\r
+ int cLenRemain = -1;\r
+\r
+ // Build one for each run with the same style\r
+ while(pos <= runRawText.length() && curP < pStyles.size() && curC < cStyles.size()) {\r
+ // Get the Props to use\r
+ TextPropCollection pProps = pStyles.get(curP);\r
+ TextPropCollection cProps = cStyles.get(curC);\r
+\r
+ int pLen = pProps.getCharactersCovered();\r
+ int cLen = cProps.getCharactersCovered();\r
+\r
+ // Handle new pass\r
+ boolean freshSet = false;\r
+ if(pLenRemain == -1 && cLenRemain == -1) { freshSet = true; }\r
+ if(pLenRemain == -1) { pLenRemain = pLen; }\r
+ if(cLenRemain == -1) { cLenRemain = cLen; }\r
+\r
+ // So we know how to build the eventual run\r
+ int runLen = -1;\r
+ boolean pShared = false;\r
+ boolean cShared = false;\r
+\r
+ // Same size, new styles - neither shared\r
+ if(pLen == cLen && freshSet) {\r
+ runLen = cLen;\r
+ pShared = false;\r
+ cShared = false;\r
+ curP++;\r
+ curC++;\r
+ pLenRemain = -1;\r
+ cLenRemain = -1;\r
+ } else {\r
+ // Some sharing\r
+\r
+ // See if we are already in a shared block\r
+ if(pLenRemain < pLen) {\r
+ // Existing shared p block\r
+ pShared = true;\r
+\r
+ // Do we end with the c block, or either side of it?\r
+ if(pLenRemain == cLenRemain) {\r
+ // We end at the same time\r
+ cShared = false;\r
+ runLen = pLenRemain;\r
+ curP++;\r
+ curC++;\r
+ pLenRemain = -1;\r
+ cLenRemain = -1;\r
+ } else if(pLenRemain < cLenRemain) {\r
+ // We end before the c block\r
+ cShared = true;\r
+ runLen = pLenRemain;\r
+ curP++;\r
+ cLenRemain -= pLenRemain;\r
+ pLenRemain = -1;\r
+ } else {\r
+ // We end after the c block\r
+ cShared = false;\r
+ runLen = cLenRemain;\r
+ curC++;\r
+ pLenRemain -= cLenRemain;\r
+ cLenRemain = -1;\r
+ }\r
+ } else if(cLenRemain < cLen) {\r
+ // Existing shared c block\r
+ cShared = true;\r
+\r
+ // Do we end with the p block, or either side of it?\r
+ if(pLenRemain == cLenRemain) {\r
+ // We end at the same time\r
+ pShared = false;\r
+ runLen = cLenRemain;\r
+ curP++;\r
+ curC++;\r
+ pLenRemain = -1;\r
+ cLenRemain = -1;\r
+ } else if(cLenRemain < pLenRemain) {\r
+ // We end before the p block\r
+ pShared = true;\r
+ runLen = cLenRemain;\r
+ curC++;\r
+ pLenRemain -= cLenRemain;\r
+ cLenRemain = -1;\r
+ } else {\r
+ // We end after the p block\r
+ pShared = false;\r
+ runLen = pLenRemain;\r
+ curP++;\r
+ cLenRemain -= pLenRemain;\r
+ pLenRemain = -1;\r
+ }\r
+ } else {\r
+ // Start of a shared block\r
+ if(pLenRemain < cLenRemain) {\r
+ // Shared c block\r
+ pShared = false;\r
+ cShared = true;\r
+ runLen = pLenRemain;\r
+ curP++;\r
+ cLenRemain -= pLenRemain;\r
+ pLenRemain = -1;\r
+ } else {\r
+ // Shared p block\r
+ pShared = true;\r
+ cShared = false;\r
+ runLen = cLenRemain;\r
+ curC++;\r
+ pLenRemain -= cLenRemain;\r
+ cLenRemain = -1;\r
+ }\r
+ }\r
+ }\r
+\r
+ // Wind on\r
+ int prevPos = pos;\r
+ pos += runLen;\r
+ // Adjust for end-of-run extra 1 length\r
+ if(pos > runRawText.length()) {\r
+ runLen--;\r
+ }\r
+\r
+ // Save\r
+ HSLFTextRun rtr = new HSLFTextRun(this, prevPos, runLen, pProps, cProps, pShared, cShared);\r
+ rtrs.add(rtr);\r
+ }\r
+\r
+ // Build the array\r
+ _rtRuns = rtrs.toArray(new HSLFTextRun[rtrs.size()]);\r
+ }\r
+\r
+ }\r
+\r
+ // Update methods follow\r
+\r
+ /**\r
+ * Adds the supplied text onto the end of the TextRun,\r
+ * creating a new RichTextRun (returned) for it to\r
+ * sit in.\r
+ * In many cases, before calling this, you'll want to add\r
+ * a newline onto the end of your last RichTextRun\r
+ */\r
+ public HSLFTextRun appendText(String s) {\r
+ // We will need a StyleTextProp atom\r
+ ensureStyleAtomPresent();\r
+\r
+ // First up, append the text to the\r
+ // underlying text atom\r
+ int oldSize = getRawText().length();\r
+ storeText(\r
+ getRawText() + s\r
+ );\r
+\r
+ // If either of the previous styles overran\r
+ // the text by one, we need to shuffle that\r
+ // extra character onto the new ones\r
+ int pOverRun = _styleAtom.getParagraphTextLengthCovered() - oldSize;\r
+ int cOverRun = _styleAtom.getCharacterTextLengthCovered() - oldSize;\r
+ if(pOverRun > 0) {\r
+ TextPropCollection tpc = _styleAtom.getParagraphStyles().getLast();\r
+ tpc.updateTextSize(\r
+ tpc.getCharactersCovered() - pOverRun\r
+ );\r
+ }\r
+ if(cOverRun > 0) {\r
+ TextPropCollection tpc = _styleAtom.getCharacterStyles().getLast();\r
+ tpc.updateTextSize(\r
+ tpc.getCharactersCovered() - cOverRun\r
+ );\r
+ }\r
+\r
+ // Next, add the styles for its paragraph and characters\r
+ TextPropCollection newPTP =\r
+ _styleAtom.addParagraphTextPropCollection(s.length()+pOverRun);\r
+ TextPropCollection newCTP =\r
+ _styleAtom.addCharacterTextPropCollection(s.length()+cOverRun);\r
+\r
+ // Now, create the new RichTextRun\r
+ HSLFTextRun nr = new HSLFTextRun(\r
+ this, oldSize, s.length(),\r
+ newPTP, newCTP, false, false\r
+ );\r
+\r
+ // Add the new RichTextRun onto our list\r
+ HSLFTextRun[] newRuns = new HSLFTextRun[_rtRuns.length+1];\r
+ System.arraycopy(_rtRuns, 0, newRuns, 0, _rtRuns.length);\r
+ newRuns[newRuns.length-1] = nr;\r
+ _rtRuns = newRuns;\r
+\r
+ // And return the new run to the caller\r
+ return nr;\r
+ }\r
+\r
+ /**\r
+ * Saves the given string to the records. Doesn't\r
+ * touch the stylings.\r
+ */\r
+ private void storeText(String s) {\r
+ // Store in the appropriate record\r
+ if(_isUnicode) {\r
+ // The atom can safely convert to unicode\r
+ _charAtom.setText(s);\r
+ } else {\r
+ // Will it fit in a 8 bit atom?\r
+ boolean hasMultibyte = StringUtil.hasMultibyte(s);\r
+ if(! hasMultibyte) {\r
+ // Fine to go into 8 bit atom\r
+ byte[] text = new byte[s.length()];\r
+ StringUtil.putCompressedUnicode(s,text,0);\r
+ _byteAtom.setText(text);\r
+ } else {\r
+ // Need to swap a TextBytesAtom for a TextCharsAtom\r
+\r
+ // Build the new TextCharsAtom\r
+ _charAtom = new TextCharsAtom();\r
+ _charAtom.setText(s);\r
+\r
+ // Use the TextHeaderAtom to do the swap on the parent\r
+ RecordContainer parent = _headerAtom.getParentRecord();\r
+ Record[] cr = parent.getChildRecords();\r
+ for(int i=0; i<cr.length; i++) {\r
+ // Look for TextBytesAtom\r
+ if(cr[i].equals(_byteAtom)) {\r
+ // Found it, so replace, then all done\r
+ cr[i] = _charAtom;\r
+ break;\r
+ }\r
+ }\r
+\r
+ // Flag the change\r
+ _byteAtom = null;\r
+ _isUnicode = true;\r
+ }\r
+ }\r
+ /**\r
+ * If TextSpecInfoAtom is present, we must update the text size in it,\r
+ * otherwise the ppt will be corrupted\r
+ */\r
+ if(_records != null) for (int i = 0; i < _records.length; i++) {\r
+ if(_records[i] instanceof TextSpecInfoAtom){\r
+ TextSpecInfoAtom specAtom = (TextSpecInfoAtom)_records[i];\r
+ if((s.length() + 1) != specAtom.getCharactersCovered()){\r
+ specAtom.reset(s.length() + 1);\r
+ }\r
+ }\r
+ }\r
+ }\r
+\r
+ /**\r
+ * Handles an update to the text stored in one of the Rich Text Runs\r
+ * @param run\r
+ * @param s\r
+ */\r
+ public void changeTextInRichTextRun(HSLFTextRun run, String s) {\r
+ // Figure out which run it is\r
+ int runID = -1;\r
+ for(int i=0; i<_rtRuns.length; i++) {\r
+ if(run.equals(_rtRuns[i])) {\r
+ runID = i;\r
+ }\r
+ }\r
+ if(runID == -1) {\r
+ throw new IllegalArgumentException("Supplied RichTextRun wasn't from this TextRun");\r
+ }\r
+\r
+ // Ensure a StyleTextPropAtom is present, adding if required\r
+ ensureStyleAtomPresent();\r
+\r
+ // Update the text length for its Paragraph and Character stylings\r
+ // If it's shared:\r
+ // * calculate the new length based on the run's old text\r
+ // * this should leave in any +1's for the end of block if needed\r
+ // If it isn't shared:\r
+ // * reset the length, to the new string's length\r
+ // * add on +1 if the last block\r
+ // The last run needs its stylings to be 1 longer than the raw\r
+ // text is. This is to define the stylings that any new text\r
+ // that is added will inherit\r
+ TextPropCollection pCol = run._getRawParagraphStyle();\r
+ TextPropCollection cCol = run._getRawCharacterStyle();\r
+ int newSize = s.length();\r
+ if(runID == _rtRuns.length-1) {\r
+ newSize++;\r
+ }\r
+\r
+ if(run._isParagraphStyleShared()) {\r
+ pCol.updateTextSize( pCol.getCharactersCovered() - run.getLength() + s.length() );\r
+ } else {\r
+ pCol.updateTextSize(newSize);\r
+ }\r
+ if(run._isCharacterStyleShared()) {\r
+ cCol.updateTextSize( cCol.getCharactersCovered() - run.getLength() + s.length() );\r
+ } else {\r
+ cCol.updateTextSize(newSize);\r
+ }\r
+\r
+ // Build up the new text\r
+ // As we go through, update the start position for all subsequent runs\r
+ // The building relies on the old text still being present\r
+ StringBuffer newText = new StringBuffer();\r
+ for(int i=0; i<_rtRuns.length; i++) {\r
+ int newStartPos = newText.length();\r
+\r
+ // Build up the new text\r
+ if(i != runID) {\r
+ // Not the affected run, so keep old text\r
+ newText.append(_rtRuns[i].getRawText());\r
+ } else {\r
+ // Affected run, so use new text\r
+ newText.append(s);\r
+ }\r
+\r
+ // Do we need to update the start position of this run?\r
+ // (Need to get the text before we update the start pos)\r
+ if(i <= runID) {\r
+ // Change is after this, so don't need to change start position\r
+ } else {\r
+ // Change has occured, so update start position\r
+ _rtRuns[i].updateStartPosition(newStartPos);\r
+ }\r
+ }\r
+\r
+ // Now we can save the new text\r
+ storeText(newText.toString());\r
+ }\r
+\r
+ /**\r
+ * Changes the text, and sets it all to have the same styling\r
+ * as the the first character has.\r
+ * If you care about styling, do setText on a RichTextRun instead\r
+ */\r
+ public void setRawText(String s) {\r
+ // Save the new text to the atoms\r
+ storeText(s);\r
+ HSLFTextRun fst = _rtRuns[0];\r
+\r
+ // Finally, zap and re-do the RichTextRuns\r
+ for(int i=0; i<_rtRuns.length; i++) { _rtRuns[i] = null; }\r
+ _rtRuns = new HSLFTextRun[1];\r
+ _rtRuns[0] = fst;\r
+\r
+ // Now handle record stylings:\r
+ // If there isn't styling\r
+ // no change, stays with no styling\r
+ // If there is styling:\r
+ // everthing gets the same style that the first block has\r
+ // Update the lengths +1 for since these will be the only runs\r
+ if(_styleAtom != null) {\r
+ LinkedList<TextPropCollection> pStyles = _styleAtom.getParagraphStyles();\r
+ while(pStyles.size() > 1) { pStyles.removeLast(); }\r
+\r
+ if (!pStyles.isEmpty()) {\r
+ pStyles.getFirst().updateTextSize( s.length()+1 );\r
+ }\r
+\r
+ LinkedList<TextPropCollection> cStyles = _styleAtom.getCharacterStyles();\r
+ while(cStyles.size() > 1) { cStyles.removeLast(); }\r
+ \r
+ if (!cStyles.isEmpty()) {\r
+ cStyles.getFirst().updateTextSize( s.length()+1 );\r
+ }\r
+ \r
+ _rtRuns[0].setText(s);\r
+ } else {\r
+ // Recreate rich text run with no styling\r
+ _rtRuns[0] = new HSLFTextRun(this,0,s.length());\r
+ }\r
+\r
+ }\r
+\r
+ /**\r
+ * Changes the text.\r
+ * Converts '\r' into '\n'\r
+ */\r
+ public void setText(String s) {\r
+ String text = normalize(s);\r
+ setRawText(text);\r
+ }\r
+\r
+ /**\r
+ * Ensure a StyleTextPropAtom is present for this run,\r
+ * by adding if required. Normally for internal TextRun use.\r
+ */\r
+ public void ensureStyleAtomPresent() {\r
+ if(_styleAtom != null) {\r
+ // All there\r
+ return;\r
+ }\r
+\r
+ // Create a new one at the right size\r
+ _styleAtom = new StyleTextPropAtom(getRawText().length() + 1);\r
+\r
+ // Use the TextHeader atom to get at the parent\r
+ RecordContainer runAtomsParent = _headerAtom.getParentRecord();\r
+\r
+ // Add the new StyleTextPropAtom after the TextCharsAtom / TextBytesAtom\r
+ Record addAfter = _byteAtom;\r
+ if(_byteAtom == null) { addAfter = _charAtom; }\r
+ runAtomsParent.addChildAfter(_styleAtom, addAfter);\r
+\r
+ // Feed this to our sole rich text run\r
+ if(_rtRuns.length != 1) {\r
+ throw new IllegalStateException("Needed to add StyleTextPropAtom when had many rich text runs");\r
+ }\r
+ // These are the only styles for now\r
+ _rtRuns[0].supplyTextProps(\r
+ _styleAtom.getParagraphStyles().get(0),\r
+ _styleAtom.getCharacterStyles().get(0),\r
+ false,\r
+ false\r
+ );\r
+ }\r
+\r
+ // Accesser methods follow\r
+\r
+ /**\r
+ * Returns the text content of the run, which has been made safe\r
+ * for printing and other use.\r
+ */\r
+ public String getText() {\r
+ String rawText = getRawText();\r
+\r
+ // PowerPoint seems to store files with \r as the line break\r
+ // The messes things up on everything but a Mac, so translate\r
+ // them to \n\r
+ String text = rawText.replace('\r','\n');\r
+\r
+ int type = _headerAtom == null ? 0 : _headerAtom.getTextType();\r
+ if(type == TextHeaderAtom.TITLE_TYPE || type == TextHeaderAtom.CENTER_TITLE_TYPE){\r
+ //0xB acts like cariage return in page titles and like blank in the others\r
+ text = text.replace((char) 0x0B, '\n');\r
+ } else {\r
+ text = text.replace((char) 0x0B, ' ');\r
+ }\r
+ return text;\r
+ }\r
+\r
+ /**\r
+ * Returns the raw text content of the run. This hasn't had any\r
+ * changes applied to it, and so is probably unlikely to print\r
+ * out nicely.\r
+ */\r
+ public String getRawText() {\r
+ if(_isUnicode) {\r
+ return _charAtom.getText();\r
+ }\r
+ return _byteAtom.getText();\r
+ }\r
+\r
+ /**\r
+ * Fetch the rich text runs (runs of text with the same styling) that\r
+ * are contained within this block of text\r
+ */\r
+ public HSLFTextRun[] getRichTextRuns() {\r
+ return _rtRuns;\r
+ }\r
+\r
+ /**\r
+ * Returns the type of the text, from the TextHeaderAtom.\r
+ * Possible values can be seen from TextHeaderAtom\r
+ * @see org.apache.poi.hslf.record.TextHeaderAtom\r
+ */\r
+ public int getRunType() {\r
+ return _headerAtom.getTextType();\r
+ }\r
+\r
+ /**\r
+ * Changes the type of the text. Values should be taken\r
+ * from TextHeaderAtom. No checking is done to ensure you\r
+ * set this to a valid value!\r
+ * @see org.apache.poi.hslf.record.TextHeaderAtom\r
+ */\r
+ public void setRunType(int type) {\r
+ _headerAtom.setTextType(type);\r
+ }\r
+\r
+ /**\r
+ * Supply the Sheet we belong to, which might have an assigned SlideShow\r
+ * Also passes it on to our child RichTextRuns\r
+ */\r
+ public void supplySheet(HSLFSheet sheet){\r
+ this._sheet = sheet;\r
+\r
+ if (_rtRuns == null) return;\r
+ for(HSLFTextRun rt : _rtRuns) {\r
+ rt.updateSheet();\r
+ }\r
+ }\r
+\r
+ public HSLFSheet getSheet(){\r
+ return this._sheet;\r
+ }\r
+\r
+ /**\r
+ * @return Shape ID\r
+ */\r
+ protected int getShapeId(){\r
+ return shapeId;\r
+ }\r
+\r
+ /**\r
+ * @param id Shape ID\r
+ */\r
+ protected void setShapeId(int id){\r
+ shapeId = id;\r
+ }\r
+\r
+ /**\r
+ * @return 0-based index of the text run in the SLWT container\r
+ */\r
+ protected int getIndex(){\r
+ return slwtIndex;\r
+ }\r
+\r
+ /**\r
+ * @param id 0-based index of the text run in the SLWT container\r
+ */\r
+ protected void setIndex(int id){\r
+ slwtIndex = id;\r
+ }\r
+ \r
+ /**\r
+ * Is this Text Run one from a {@link PPDrawing}, or is it\r
+ * one from the {@link SlideListWithText}?\r
+ */\r
+ public boolean isDrawingBased() {\r
+ return (slwtIndex == -1);\r
+ }\r
+\r
+ /**\r
+ * Returns the array of all hyperlinks in this text run\r
+ *\r
+ * @return the array of all hyperlinks in this text run\r
+ * or <code>null</code> if not found.\r
+ */\r
+ public Hyperlink[] getHyperlinks(){\r
+ return Hyperlink.find(this);\r
+ }\r
+\r
+ /**\r
+ * Fetch RichTextRun at a given position\r
+ *\r
+ * @param pos 0-based index in the text\r
+ * @return RichTextRun or null if not found\r
+ */\r
+ public HSLFTextRun getRichTextRunAt(int pos){\r
+ for (int i = 0; i < _rtRuns.length; i++) {\r
+ int start = _rtRuns[i].getStartIndex();\r
+ int end = _rtRuns[i].getEndIndex();\r
+ if(pos >= start && pos < end) return _rtRuns[i];\r
+ }\r
+ return null;\r
+ }\r
+\r
+ public TextRulerAtom getTextRuler(){\r
+ if(_ruler == null){\r
+ if(_records != null) for (int i = 0; i < _records.length; i++) {\r
+ if(_records[i] instanceof TextRulerAtom) {\r
+ _ruler = (TextRulerAtom)_records[i];\r
+ break;\r
+ }\r
+ }\r
+\r
+ }\r
+ return _ruler;\r
+\r
+ }\r
+\r
+ public TextRulerAtom createTextRuler(){\r
+ _ruler = getTextRuler();\r
+ if(_ruler == null){\r
+ _ruler = TextRulerAtom.getParagraphInstance();\r
+ _headerAtom.getParentRecord().appendChildRecord(_ruler);\r
+ }\r
+ return _ruler;\r
+ }\r
+\r
+ /**\r
+ * Returns a new string with line breaks converted into internal ppt representation\r
+ */\r
+ public String normalize(String s){\r
+ String ns = s.replaceAll("\\r?\\n", "\r");\r
+ return ns;\r
+ }\r
+\r
+ /**\r
+ * Returns records that make up this text run\r
+ *\r
+ * @return text run records\r
+ */\r
+ public Record[] getRecords(){\r
+ return _records;\r
+ }\r
+ /** Numbered List info */\r
+ public void setStyleTextProp9Atom(final StyleTextProp9Atom styleTextProp9Atom) {\r
+ this.styleTextProp9Atom = styleTextProp9Atom;\r
+ }\r
+ /** Numbered List info */\r
+ public StyleTextProp9Atom getStyleTextProp9Atom() {\r
+ return this.styleTextProp9Atom;\r
+ }\r
+\r
+ /** Characters covered */\r
+ public StyleTextPropAtom getStyleTextPropAtom() {\r
+ return this._styleAtom; \r
+ }\r
+\r
+}\r
--- /dev/null
+/* ====================================================================
+ 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.hslf.model;
+
+import java.awt.Font;
+import java.awt.Graphics2D;
+import java.awt.Rectangle;
+import java.awt.font.FontRenderContext;
+import java.awt.font.TextLayout;
+import java.awt.geom.AffineTransform;
+import java.awt.geom.Rectangle2D;
+import java.io.IOException;
+
+import org.apache.poi.ddf.EscherContainerRecord;
+import org.apache.poi.ddf.EscherOptRecord;
+import org.apache.poi.ddf.EscherProperties;
+import org.apache.poi.ddf.EscherSimpleProperty;
+import org.apache.poi.ddf.EscherSpRecord;
+import org.apache.poi.ddf.EscherTextboxRecord;
+import org.apache.poi.hslf.exceptions.HSLFException;
+import org.apache.poi.hslf.record.EscherTextboxWrapper;
+import org.apache.poi.hslf.record.InteractiveInfo;
+import org.apache.poi.hslf.record.InteractiveInfoAtom;
+import org.apache.poi.hslf.record.OEPlaceholderAtom;
+import org.apache.poi.hslf.record.OutlineTextRefAtom;
+import org.apache.poi.hslf.record.PPDrawing;
+import org.apache.poi.hslf.record.Record;
+import org.apache.poi.hslf.record.RecordTypes;
+import org.apache.poi.hslf.record.RoundTripHFPlaceholder12;
+import org.apache.poi.hslf.record.StyleTextPropAtom;
+import org.apache.poi.hslf.record.TextBytesAtom;
+import org.apache.poi.hslf.record.TextCharsAtom;
+import org.apache.poi.hslf.record.TextHeaderAtom;
+import org.apache.poi.hslf.record.TxInteractiveInfoAtom;
+import org.apache.poi.hslf.usermodel.HSLFTextRun;
+import org.apache.poi.sl.usermodel.ShapeContainer;
+import org.apache.poi.util.POILogger;
+
+/**
+ * A common superclass of all shapes that can hold text.
+ *
+ * @author Yegor Kozlov
+ */
+public abstract class HSLFTextShape extends HSLFSimpleShape {
+
+ /**
+ * How to anchor the text
+ */
+ public static final int AnchorTop = 0;
+ public static final int AnchorMiddle = 1;
+ public static final int AnchorBottom = 2;
+ public static final int AnchorTopCentered = 3;
+ public static final int AnchorMiddleCentered = 4;
+ public static final int AnchorBottomCentered = 5;
+ public static final int AnchorTopBaseline = 6;
+ public static final int AnchorBottomBaseline = 7;
+ public static final int AnchorTopCenteredBaseline = 8;
+ public static final int AnchorBottomCenteredBaseline = 9;
+
+ /**
+ * How to wrap the text
+ */
+ public static final int WrapSquare = 0;
+ public static final int WrapByPoints = 1;
+ public static final int WrapNone = 2;
+ public static final int WrapTopBottom = 3;
+ public static final int WrapThrough = 4;
+
+ /**
+ * How to align the text
+ */
+ public static final int AlignLeft = 0;
+ public static final int AlignCenter = 1;
+ public static final int AlignRight = 2;
+ public static final int AlignJustify = 3;
+
+ /**
+ * TextRun object which holds actual text and format data
+ */
+ protected HSLFTextParagraph _txtrun;
+
+ /**
+ * Escher container which holds text attributes such as
+ * TextHeaderAtom, TextBytesAtom ot TextCharsAtom, StyleTextPropAtom etc.
+ */
+ protected EscherTextboxWrapper _txtbox;
+
+ /**
+ * Used to calculate text bounds
+ */
+ protected static final FontRenderContext _frc = new FontRenderContext(null, true, true);
+
+ /**
+ * Create a TextBox object and initialize it from the supplied Record container.
+ *
+ * @param escherRecord <code>EscherSpContainer</code> container which holds information about this shape
+ * @param parent the parent of the shape
+ */
+ protected HSLFTextShape(EscherContainerRecord escherRecord, ShapeContainer<HSLFShape> parent){
+ super(escherRecord, parent);
+
+ }
+
+ /**
+ * Create a new TextBox. This constructor is used when a new shape is created.
+ *
+ * @param parent the parent of this Shape. For example, if this text box is a cell
+ * in a table then the parent is Table.
+ */
+ public HSLFTextShape(ShapeContainer<HSLFShape> parent){
+ super(null, parent);
+ _escherContainer = createSpContainer(parent instanceof HSLFGroupShape);
+ }
+
+ /**
+ * Create a new TextBox. This constructor is used when a new shape is created.
+ *
+ */
+ public HSLFTextShape(){
+ this(null);
+ }
+
+ public HSLFTextParagraph createTextRun(){
+ _txtbox = getEscherTextboxWrapper();
+ if(_txtbox == null) _txtbox = new EscherTextboxWrapper();
+
+ _txtrun = getTextParagraph();
+ if(_txtrun == null){
+ TextHeaderAtom tha = new TextHeaderAtom();
+ tha.setParentRecord(_txtbox);
+ _txtbox.appendChildRecord(tha);
+
+ TextCharsAtom tca = new TextCharsAtom();
+ _txtbox.appendChildRecord(tca);
+
+ StyleTextPropAtom sta = new StyleTextPropAtom(0);
+ _txtbox.appendChildRecord(sta);
+
+ _txtrun = new HSLFTextParagraph(tha,tca,sta);
+ _txtrun._records = new Record[]{tha, tca, sta};
+ _txtrun.setText("");
+
+ _escherContainer.addChildRecord(_txtbox.getEscherRecord());
+
+ setDefaultTextProperties(_txtrun);
+ }
+
+ return _txtrun;
+ }
+
+ /**
+ * Set default properties for the TextRun.
+ * Depending on the text and shape type the defaults are different:
+ * TextBox: align=left, valign=top
+ * AutoShape: align=center, valign=middle
+ *
+ */
+ protected void setDefaultTextProperties(HSLFTextParagraph _txtrun){
+
+ }
+
+ /**
+ * Returns the text contained in this text frame.
+ *
+ * @return the text string for this textbox.
+ */
+ public String getText(){
+ HSLFTextParagraph tx = getTextParagraph();
+ return tx == null ? null : tx.getText();
+ }
+
+ /**
+ * Sets the text contained in this text frame.
+ *
+ * @param text the text string used by this object.
+ */
+ public void setText(String text){
+ HSLFTextParagraph tx = getTextParagraph();
+ if(tx == null){
+ tx = createTextRun();
+ }
+ tx.setText(text);
+ setTextId(text.hashCode());
+ }
+
+ /**
+ * When a textbox is added to a sheet we need to tell upper-level
+ * <code>PPDrawing</code> about it.
+ *
+ * @param sh the sheet we are adding to
+ */
+ protected void afterInsert(HSLFSheet sh){
+ super.afterInsert(sh);
+
+ EscherTextboxWrapper _txtbox = getEscherTextboxWrapper();
+ if(_txtbox != null){
+ PPDrawing ppdrawing = sh.getPPDrawing();
+ ppdrawing.addTextboxWrapper(_txtbox);
+ // Ensure the escher layer knows about the added records
+ try {
+ _txtbox.writeOut(null);
+ } catch (IOException e){
+ throw new HSLFException(e);
+ }
+ if(getAnchor().equals(new Rectangle()) && !"".equals(getText())) resizeToFitText();
+ }
+ if(_txtrun != null) {
+ _txtrun.setShapeId(getShapeId());
+ sh.onAddTextShape(this);
+ }
+ }
+
+ protected EscherTextboxWrapper getEscherTextboxWrapper(){
+ if(_txtbox == null){
+ EscherTextboxRecord textRecord = getEscherChild(EscherTextboxRecord.RECORD_ID);
+ if(textRecord != null) _txtbox = new EscherTextboxWrapper(textRecord);
+ }
+ return _txtbox;
+ }
+ /**
+ * Adjust the size of the TextShape so it encompasses the text inside it.
+ *
+ * @return a <code>Rectangle2D</code> that is the bounds of this <code>TextShape</code>.
+ */
+ public Rectangle2D resizeToFitText(){
+ String txt = getText();
+ if(txt == null || txt.length() == 0) return new Rectangle2D.Float();
+
+ HSLFTextRun rt = getTextParagraph().getRichTextRuns()[0];
+ int size = rt.getFontSize();
+ int style = 0;
+ if (rt.isBold()) style |= Font.BOLD;
+ if (rt.isItalic()) style |= Font.ITALIC;
+ String fntname = rt.getFontName();
+ Font font = new Font(fntname, style, size);
+
+ float width = 0, height = 0, leading = 0;
+ String[] lines = txt.split("\n");
+ for (int i = 0; i < lines.length; i++) {
+ if(lines[i].length() == 0) continue;
+
+ TextLayout layout = new TextLayout(lines[i], font, _frc);
+
+ leading = Math.max(leading, layout.getLeading());
+ width = Math.max(width, layout.getAdvance());
+ height = Math.max(height, (height + (layout.getDescent() + layout.getAscent())));
+ }
+
+ // add one character to width
+ Rectangle2D charBounds = font.getMaxCharBounds(_frc);
+ width += getMarginLeft() + getMarginRight() + charBounds.getWidth();
+
+ // add leading to height
+ height += getMarginTop() + getMarginBottom() + leading;
+
+ Rectangle2D anchor = getAnchor2D();
+ anchor.setRect(anchor.getX(), anchor.getY(), width, height);
+ setAnchor(anchor);
+
+ return anchor;
+ }
+
+ /**
+ * Returns the type of vertical alignment for the text.
+ * One of the <code>Anchor*</code> constants defined in this class.
+ *
+ * @return the type of alignment
+ */
+ public int getVerticalAlignment(){
+ EscherOptRecord opt = getEscherOptRecord();
+ EscherSimpleProperty prop = getEscherProperty(opt, EscherProperties.TEXT__ANCHORTEXT);
+ int valign = HSLFTextShape.AnchorTop;
+ if (prop == null){
+ /**
+ * If vertical alignment was not found in the shape properties then try to
+ * fetch the master shape and search for the align property there.
+ */
+ int type = getTextParagraph().getRunType();
+ HSLFMasterSheet master = getSheet().getMasterSheet();
+ if(master != null){
+ HSLFTextShape masterShape = master.getPlaceholderByTextType(type);
+ if(masterShape != null) valign = masterShape.getVerticalAlignment();
+ } else {
+ //not found in the master sheet. Use the hardcoded defaults.
+ switch (type){
+ case TextHeaderAtom.TITLE_TYPE:
+ case TextHeaderAtom.CENTER_TITLE_TYPE:
+ valign = HSLFTextShape.AnchorMiddle;
+ break;
+ default:
+ valign = HSLFTextShape.AnchorTop;
+ break;
+ }
+ }
+ } else {
+ valign = prop.getPropertyValue();
+ }
+ return valign;
+ }
+
+ /**
+ * Sets the type of vertical alignment for the text.
+ * One of the <code>Anchor*</code> constants defined in this class.
+ *
+ * @param align - the type of alignment
+ */
+ public void setVerticalAlignment(int align){
+ setEscherProperty(EscherProperties.TEXT__ANCHORTEXT, align);
+ }
+
+ /**
+ * Sets the type of horizontal alignment for the text.
+ * One of the <code>Align*</code> constants defined in this class.
+ *
+ * @param align - the type of horizontal alignment
+ */
+ public void setHorizontalAlignment(int align){
+ HSLFTextParagraph tx = getTextParagraph();
+ if(tx != null) tx.getRichTextRuns()[0].setAlignment(align);
+ }
+
+ /**
+ * Gets the type of horizontal alignment for the text.
+ * One of the <code>Align*</code> constants defined in this class.
+ *
+ * @return align - the type of horizontal alignment
+ */
+ public int getHorizontalAlignment(){
+ HSLFTextParagraph tx = getTextParagraph();
+ return tx == null ? -1 : tx.getRichTextRuns()[0].getAlignment();
+ }
+
+ /**
+ * Returns the distance (in points) between the bottom of the text frame
+ * and the bottom of the inscribed rectangle of the shape that contains the text.
+ * Default value is 1/20 inch.
+ *
+ * @return the botom margin
+ */
+ public float getMarginBottom(){
+ EscherOptRecord opt = getEscherOptRecord();
+ EscherSimpleProperty prop = getEscherProperty(opt, EscherProperties.TEXT__TEXTBOTTOM);
+ int val = prop == null ? EMU_PER_INCH/20 : prop.getPropertyValue();
+ return (float)val/EMU_PER_POINT;
+ }
+
+ /**
+ * Sets the botom margin.
+ * @see #getMarginBottom()
+ *
+ * @param margin the bottom margin
+ */
+ public void setMarginBottom(float margin){
+ setEscherProperty(EscherProperties.TEXT__TEXTBOTTOM, (int)(margin*EMU_PER_POINT));
+ }
+
+ /**
+ * Returns the distance (in points) between the left edge of the text frame
+ * and the left edge of the inscribed rectangle of the shape that contains
+ * the text.
+ * Default value is 1/10 inch.
+ *
+ * @return the left margin
+ */
+ public float getMarginLeft(){
+ EscherOptRecord opt = getEscherOptRecord();
+ EscherSimpleProperty prop = getEscherProperty(opt, EscherProperties.TEXT__TEXTLEFT);
+ int val = prop == null ? EMU_PER_INCH/10 : prop.getPropertyValue();
+ return (float)val/EMU_PER_POINT;
+ }
+
+ /**
+ * Sets the left margin.
+ * @see #getMarginLeft()
+ *
+ * @param margin the left margin
+ */
+ public void setMarginLeft(float margin){
+ setEscherProperty(EscherProperties.TEXT__TEXTLEFT, (int)(margin*EMU_PER_POINT));
+ }
+
+ /**
+ * Returns the distance (in points) between the right edge of the
+ * text frame and the right edge of the inscribed rectangle of the shape
+ * that contains the text.
+ * Default value is 1/10 inch.
+ *
+ * @return the right margin
+ */
+ public float getMarginRight(){
+ EscherOptRecord opt = getEscherOptRecord();
+ EscherSimpleProperty prop = getEscherProperty(opt, EscherProperties.TEXT__TEXTRIGHT);
+ int val = prop == null ? EMU_PER_INCH/10 : prop.getPropertyValue();
+ return (float)val/EMU_PER_POINT;
+ }
+
+ /**
+ * Sets the right margin.
+ * @see #getMarginRight()
+ *
+ * @param margin the right margin
+ */
+ public void setMarginRight(float margin){
+ setEscherProperty(EscherProperties.TEXT__TEXTRIGHT, (int)(margin*EMU_PER_POINT));
+ }
+
+ /**
+ * Returns the distance (in points) between the top of the text frame
+ * and the top of the inscribed rectangle of the shape that contains the text.
+ * Default value is 1/20 inch.
+ *
+ * @return the top margin
+ */
+ public float getMarginTop(){
+ EscherOptRecord opt = getEscherOptRecord();
+ EscherSimpleProperty prop = getEscherProperty(opt, EscherProperties.TEXT__TEXTTOP);
+ int val = prop == null ? EMU_PER_INCH/20 : prop.getPropertyValue();
+ return (float)val/EMU_PER_POINT;
+ }
+
+ /**
+ * Sets the top margin.
+ * @see #getMarginTop()
+ *
+ * @param margin the top margin
+ */
+ public void setMarginTop(float margin){
+ setEscherProperty(EscherProperties.TEXT__TEXTTOP, (int)(margin*EMU_PER_POINT));
+ }
+
+
+ /**
+ * Returns the value indicating word wrap.
+ *
+ * @return the value indicating word wrap.
+ * Must be one of the <code>Wrap*</code> constants defined in this class.
+ */
+ public int getWordWrap(){
+ EscherOptRecord opt = getEscherOptRecord();
+ EscherSimpleProperty prop = getEscherProperty(opt, EscherProperties.TEXT__WRAPTEXT);
+ return prop == null ? WrapSquare : prop.getPropertyValue();
+ }
+
+ /**
+ * Specifies how the text should be wrapped
+ *
+ * @param wrap the value indicating how the text should be wrapped.
+ * Must be one of the <code>Wrap*</code> constants defined in this class.
+ */
+ public void setWordWrap(int wrap){
+ setEscherProperty(EscherProperties.TEXT__WRAPTEXT, wrap);
+ }
+
+ /**
+ * @return id for the text.
+ */
+ public int getTextId(){
+ EscherOptRecord opt = getEscherOptRecord();
+ EscherSimpleProperty prop = getEscherProperty(opt, EscherProperties.TEXT__TEXTID);
+ return prop == null ? 0 : prop.getPropertyValue();
+ }
+
+ /**
+ * Sets text ID
+ *
+ * @param id of the text
+ */
+ public void setTextId(int id){
+ setEscherProperty(EscherProperties.TEXT__TEXTID, id);
+ }
+
+ /**
+ * @return the TextRun object for this text box
+ */
+ public HSLFTextParagraph getTextParagraph(){
+ if (null == this._txtrun) initTextRun();
+ if (null == this._txtrun && null != this._txtbox) {
+ TextHeaderAtom tha = null;
+ TextBytesAtom tba = null;
+ TextCharsAtom tca = null;
+ StyleTextPropAtom sta = null;
+ Record[] childRecords = this._txtbox.getChildRecords();
+ for (Record r : childRecords) {
+ if (r instanceof TextHeaderAtom) {
+ tha = (TextHeaderAtom) r;
+ } else if (r instanceof TextBytesAtom) {
+ tba = (TextBytesAtom) r;
+ } else if (r instanceof TextCharsAtom) {
+ tca = (TextCharsAtom) r;
+ } else if (r instanceof StyleTextPropAtom) {
+ sta = (StyleTextPropAtom) r;
+ }
+ }
+ if (tba != null) {
+ this._txtrun = new HSLFTextParagraph(tha, tba, sta);
+ } else if (tca != null) {
+ this._txtrun = new HSLFTextParagraph(tha, tca, sta);
+ }
+ }
+ return _txtrun;
+ }
+
+ public void setSheet(HSLFSheet sheet) {
+ _sheet = sheet;
+
+ // Initialize _txtrun object.
+ // (We can't do it in the constructor because the sheet
+ // is not assigned then, it's only built once we have
+ // all the records)
+ HSLFTextParagraph tx = getTextParagraph();
+ if (tx != null) {
+ // Supply the sheet to our child RichTextRuns
+ tx.supplySheet(_sheet);
+ }
+ }
+
+ protected void initTextRun(){
+ EscherTextboxWrapper txtbox = getEscherTextboxWrapper();
+ HSLFSheet sheet = getSheet();
+
+ if(sheet == null || txtbox == null) return;
+
+ OutlineTextRefAtom ota = null;
+
+ Record[] child = txtbox.getChildRecords();
+ for (int i = 0; i < child.length; i++) {
+ if (child[i] instanceof OutlineTextRefAtom) {
+ ota = (OutlineTextRefAtom)child[i];
+ break;
+ }
+ }
+
+ HSLFTextParagraph[] runs = _sheet.getTextRuns();
+ if (ota != null) {
+ int idx = ota.getTextIndex();
+ for (int i = 0; i < runs.length; i++) {
+ if(runs[i].getIndex() == idx){
+ _txtrun = runs[i];
+ break;
+ }
+ }
+ if(_txtrun == null) {
+ logger.log(POILogger.WARN, "text run not found for OutlineTextRefAtom.TextIndex=" + idx);
+ }
+ } else {
+ EscherSpRecord escherSpRecord = getEscherChild(EscherSpRecord.RECORD_ID);
+ int shapeId = escherSpRecord.getShapeId();
+ if(runs != null) for (int i = 0; i < runs.length; i++) {
+ if(runs[i].getShapeId() == shapeId){
+ _txtrun = runs[i];
+ break;
+ }
+ }
+ }
+
+ // ensure the same references child records of TextRun
+ if(_txtrun != null) {
+ for (int i = 0; i < child.length; i++) {
+ for (Record r : _txtrun.getRecords()) {
+ if (child[i].getRecordType() == r.getRecordType()) {
+ child[i] = r;
+ }
+ }
+ }
+ }
+ }
+
+ public void draw(Graphics2D graphics){
+ AffineTransform at = graphics.getTransform();
+ ShapePainter.paint(this, graphics);
+ new TextPainter(this).paint(graphics);
+ graphics.setTransform(at);
+ }
+
+ /**
+ * Return <code>OEPlaceholderAtom</code>, the atom that describes a placeholder.
+ *
+ * @return <code>OEPlaceholderAtom</code> or <code>null</code> if not found
+ */
+ public OEPlaceholderAtom getPlaceholderAtom(){
+ return getClientDataRecord(RecordTypes.OEPlaceholderAtom.typeID);
+ }
+
+ /**
+ *
+ * Assigns a hyperlink to this text shape
+ *
+ * @param linkId id of the hyperlink, @see org.apache.poi.hslf.usermodel.SlideShow#addHyperlink(Hyperlink)
+ * @param beginIndex the beginning index, inclusive.
+ * @param endIndex the ending index, exclusive.
+ * @see org.apache.poi.hslf.usermodel.HSLFSlideShow#addHyperlink(Hyperlink)
+ */
+ public void setHyperlink(int linkId, int beginIndex, int endIndex){
+ //TODO validate beginIndex and endIndex and throw IllegalArgumentException
+
+ InteractiveInfo info = new InteractiveInfo();
+ InteractiveInfoAtom infoAtom = info.getInteractiveInfoAtom();
+ infoAtom.setAction(InteractiveInfoAtom.ACTION_HYPERLINK);
+ infoAtom.setHyperlinkType(InteractiveInfoAtom.LINK_Url);
+ infoAtom.setHyperlinkID(linkId);
+
+ _txtbox.appendChildRecord(info);
+
+ TxInteractiveInfoAtom txiatom = new TxInteractiveInfoAtom();
+ txiatom.setStartIndex(beginIndex);
+ txiatom.setEndIndex(endIndex);
+ _txtbox.appendChildRecord(txiatom);
+
+ }
+
+ @Override
+ public boolean isPlaceholder() {
+ OEPlaceholderAtom oep = getPlaceholderAtom();
+ if (oep != null) return true;
+
+ //special case for files saved in Office 2007
+ RoundTripHFPlaceholder12 hldr = getClientDataRecord(RecordTypes.RoundTripHFPlaceholder12.typeID);
+ if (hldr != null) return true;
+
+ return false;
+ }
+
+
+}
package org.apache.poi.hslf.model;
import org.apache.poi.hslf.record.*;
-import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
/**
* Header / Footer settings.
private HeadersFootersContainer _container;
private boolean _newRecord;
- private SlideShow _ppt;
- private Sheet _sheet;
+ private HSLFSlideShow _ppt;
+ private HSLFSheet _sheet;
private boolean _ppt2007;
- public HeadersFooters(HeadersFootersContainer rec, SlideShow ppt, boolean newRecord, boolean isPpt2007){
+ public HeadersFooters(HeadersFootersContainer rec, HSLFSlideShow ppt, boolean newRecord, boolean isPpt2007){
_container = rec;
_newRecord = newRecord;
_ppt = ppt;
_ppt2007 = isPpt2007;
}
- public HeadersFooters(HeadersFootersContainer rec, Sheet sheet, boolean newRecord, boolean isPpt2007){
+ public HeadersFooters(HeadersFootersContainer rec, HSLFSheet sheet, boolean newRecord, boolean isPpt2007){
_container = rec;
_newRecord = newRecord;
_sheet = sheet;
private boolean isVisible(int flag, int placeholderId){
boolean visible;
if(_ppt2007){
- Sheet master = _sheet != null ? _sheet : _ppt.getSlidesMasters()[0];
- TextShape placeholder = master.getPlaceholder(placeholderId);
+ HSLFSheet master = _sheet != null ? _sheet : _ppt.getSlidesMasters()[0];
+ HSLFTextShape placeholder = master.getPlaceholder(placeholderId);
visible = placeholder != null && placeholder.getText() != null;
} else {
visible = _container.getHeadersFootersAtom().getFlag(flag);
private String getPlaceholderText(int placeholderId, CString cs){
String text = null;
if(_ppt2007){
- Sheet master = _sheet != null ? _sheet : _ppt.getSlidesMasters()[0];
- TextShape placeholder = master.getPlaceholder(placeholderId);
+ HSLFSheet master = _sheet != null ? _sheet : _ppt.getSlidesMasters()[0];
+ HSLFTextShape placeholder = master.getPlaceholder(placeholderId);
if(placeholder != null) text = placeholder.getText();
//default text in master placeholders is not visible
package org.apache.poi.hslf.model;
import org.apache.poi.hslf.record.*;
-import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
import org.apache.poi.ddf.EscherContainerRecord;
import org.apache.poi.ddf.EscherRecord;
import org.apache.poi.ddf.EscherClientDataRecord;
return address;
}
- public void setAddress(Slide slide) {
+ public void setAddress(HSLFSlide slide) {
String href = slide._getSheetNumber() + ","+slide.getSlideNumber()+",Slide " + slide.getSlideNumber();
setAddress(href);;
setTitle("Slide " + slide.getSlideNumber());
* @param run <code>TextRun</code> to lookup hyperlinks in
* @return found hyperlinks or <code>null</code> if not found
*/
- protected static Hyperlink[] find(TextRun run){
+ protected static Hyperlink[] find(HSLFTextParagraph run){
List<Hyperlink> lst = new ArrayList<Hyperlink>();
- SlideShow ppt = run.getSheet().getSlideShow();
+ HSLFSlideShow ppt = run.getSheet().getSlideShow();
//document-level container which stores info about all links in a presentation
ExObjList exobj = ppt.getDocumentRecord().getExObjList();
if (exobj == null) {
*/
protected static Hyperlink find(HSLFShape shape){
List<Hyperlink> lst = new ArrayList<Hyperlink>();
- SlideShow ppt = shape.getSheet().getSlideShow();
+ HSLFSlideShow ppt = shape.getSheet().getSlideShow();
//document-level container which stores info about all links in a presentation
ExObjList exobj = ppt.getDocumentRecord().getExObjList();
if (exobj == null) {
*
* @author Yegor Kozlov
*/
-public final class Line extends SimpleShape {
- /**
- * Solid (continuous) pen
- */
- public static final int PEN_SOLID = 1;
- /**
- * PS_DASH system dash style
- */
- public static final int PEN_PS_DASH = 2;
- /**
- * PS_DOT system dash style
- */
- public static final int PEN_DOT = 3;
- /**
- * PS_DASHDOT system dash style
- */
- public static final int PEN_DASHDOT = 4;
- /**
- * PS_DASHDOTDOT system dash style
- */
- public static final int PEN_DASHDOTDOT = 5;
- /**
- * square dot style
- */
- public static final int PEN_DOTGEL = 6;
- /**
- * dash style
- */
- public static final int PEN_DASH = 7;
- /**
- * long dash style
- */
- public static final int PEN_LONGDASHGEL = 8;
- /**
- * dash short dash
- */
- public static final int PEN_DASHDOTGEL = 9;
- /**
- * long dash short dash
- */
- public static final int PEN_LONGDASHDOTGEL = 10;
- /**
- * long dash short dash short dash
- */
- public static final int PEN_LONGDASHDOTDOTGEL = 11;
-
- /**
- * Single line (of width lineWidth)
- */
- public static final int LINE_SIMPLE = 0;
- /**
- * Double lines of equal width
- */
- public static final int LINE_DOUBLE = 1;
- /**
- * Double lines, one thick, one thin
- */
- public static final int LINE_THICKTHIN = 2;
- /**
- * Double lines, reverse order
- */
- public static final int LINE_THINTHICK = 3;
- /**
- * Three lines, thin, thick, thin
- */
- public static final int LINE_TRIPLE = 4;
-
-
+public final class Line extends HSLFSimpleShape {
protected Line(EscherContainerRecord escherRecord, ShapeContainer<HSLFShape> parent){
super(escherRecord, parent);
}
+++ /dev/null
-/* ====================================================================
- 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.hslf.model;
-
-import org.apache.poi.hslf.record.SheetContainer;
-import org.apache.poi.hslf.model.textproperties.TextProp;
-
-/**
- * The superclass of all master sheets - Slide masters, Notes masters, etc.
- *
- * For now it's empty. When we understand more about masters in ppt we will add the common functionality here.
- *
- * @author Yegor Kozlov
- */
-public abstract class MasterSheet extends Sheet {
- public MasterSheet(SheetContainer container, int sheetNo){
- super(container, sheetNo);
- }
-
- /**
- * Pickup a style attribute from the master.
- * This is the "workhorse" which returns the default style attrubutes.
- */
- public abstract TextProp getStyleAttribute(int txtype, int level, String name, boolean isCharacter) ;
-
-
- /**
- * Checks if the shape is a placeholder.
- * (placeholders aren't normal shapes, they are visible only in the Edit Master mode)
- *
- *
- * @return true if the shape is a placeholder
- */
- public static boolean isPlaceholder(HSLFShape shape){
- if(!(shape instanceof TextShape)) return false;
-
- TextShape tx = (TextShape)shape;
- return tx.getPlaceholderAtom() != null;
- }
-}
import org.apache.poi.ddf.EscherProperties;
import org.apache.poi.hslf.exceptions.HSLFException;
import org.apache.poi.hslf.record.*;
-import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
import org.apache.poi.sl.usermodel.ShapeContainer;
/**
*
* @author Yegor Kozlov
*/
-public final class MovieShape extends Picture {
+public final class MovieShape extends HSLFPictureShape {
public static final int DEFAULT_MOVIE_THUMBNAIL = -1;
public static final int MOVIE_MPEG = 1;
/**
* Assign a movie to this shape
*
- * @see org.apache.poi.hslf.usermodel.SlideShow#addMovie(String, int)
+ * @see org.apache.poi.hslf.usermodel.HSLFSlideShow#addMovie(String, int)
* @param idx the index of the movie
*/
public void setMovieIndex(int idx){
OEShapeAtom oe = getClientDataRecord(RecordTypes.OEShapeAtom.typeID);
int idx = oe.getOptions();
- SlideShow ppt = getSheet().getSlideShow();
+ HSLFSlideShow ppt = getSheet().getSlideShow();
ExObjList lst = (ExObjList)ppt.getDocumentRecord().findFirstOfType(RecordTypes.ExObjList.typeID);
if(lst == null) return null;
+++ /dev/null
-/* ====================================================================
- 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.hslf.model;
-
-/**
- * This class represents a slide's notes in a PowerPoint Document. It
- * allows access to the text within, and the layout. For now, it only
- * does the text side of things though
- *
- * @author Nick Burch
- */
-
-public final class Notes extends Sheet
-{
- private TextRun[] _runs;
-
- /**
- * Constructs a Notes Sheet from the given Notes record.
- * Initialises TextRuns, to provide easier access to the text
- *
- * @param notes the Notes record to read from
- */
- public Notes (org.apache.poi.hslf.record.Notes notes) {
- super(notes, notes.getNotesAtom().getSlideID());
-
- // Now, build up TextRuns from pairs of TextHeaderAtom and
- // one of TextBytesAtom or TextCharsAtom, found inside
- // EscherTextboxWrapper's in the PPDrawing
- _runs = findTextRuns(getPPDrawing());
-
- // Set the sheet on each TextRun
- for (int i = 0; i < _runs.length; i++)
- _runs[i].setSheet(this);
- }
-
-
- // Accesser methods follow
-
- /**
- * Returns an array of all the TextRuns found
- */
- public TextRun[] getTextRuns() { return _runs; }
-
- /**
- * Return <code>null</code> - Notes Masters are not yet supported
- */
- public MasterSheet getMasterSheet() {
- return null;
- }
-
-}
package org.apache.poi.hslf.model;
import org.apache.poi.ddf.*;
-import org.apache.poi.hslf.usermodel.SlideShow;
-import org.apache.poi.hslf.usermodel.ObjectData;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
+import org.apache.poi.hslf.usermodel.HSLFObjectData;
import org.apache.poi.hslf.record.ExObjList;
import org.apache.poi.hslf.record.Record;
import org.apache.poi.hslf.record.ExEmbed;
*
* @author Yegor Kozlov
*/
-public final class OLEShape extends Picture {
+public final class OLEShape extends HSLFPictureShape {
protected ExEmbed _exEmbed;
/**
*
* @return the unique identifier for the OLE object
*/
- public ObjectData getObjectData(){
- SlideShow ppt = getSheet().getSlideShow();
- ObjectData[] ole = ppt.getEmbeddedObjects();
+ public HSLFObjectData getObjectData(){
+ HSLFSlideShow ppt = getSheet().getSlideShow();
+ HSLFObjectData[] ole = ppt.getEmbeddedObjects();
//persist reference
ExEmbed exEmbed = getExEmbed();
- ObjectData data = null;
+ HSLFObjectData data = null;
if(exEmbed != null) {
int ref = exEmbed.getExOleObjAtom().getObjStgDataRef();
*/
public ExEmbed getExEmbed(){
if(_exEmbed == null){
- SlideShow ppt = getSheet().getSlideShow();
+ HSLFSlideShow ppt = getSheet().getSlideShow();
ExObjList lst = ppt.getDocumentRecord().getExObjList();
if(lst == null){
import java.awt.geom.*;
import java.text.AttributedCharacterIterator;
import java.util.Map;
-import org.apache.poi.hslf.usermodel.RichTextRun;
+import org.apache.poi.hslf.usermodel.HSLFTextRun;
import org.apache.poi.hslf.exceptions.HSLFException;
import org.apache.poi.util.POILogger;
import org.apache.poi.util.POILogFactory;
*/
public void draw(Shape shape){
GeneralPath path = new GeneralPath(_transform.createTransformedShape(shape));
- Freeform p = new Freeform(_group);
+ HSLFFreeformShape p = new HSLFFreeformShape(_group);
p.setPath(path);
p.getFill().setForegroundColor(null);
applyStroke(p);
* @see #setClip
*/
public void drawString(String s, float x, float y) {
- TextBox txt = new TextBox(_group);
- txt.getTextRun().supplySlideShow(_group.getSheet().getSlideShow());
- txt.getTextRun().setSheet(_group.getSheet());
+ HSLFTextBox txt = new HSLFTextBox(_group);
+ txt.getTextParagraph().supplySheet(_group.getSheet());
txt.setText(s);
- RichTextRun rt = txt.getTextRun().getRichTextRuns()[0];
+ HSLFTextRun rt = txt.getTextParagraph().getRichTextRuns()[0];
rt.setFontSize(_font.getSize());
rt.setFontName(_font.getFamily());
txt.setMarginTop(0);
txt.setMarginLeft(0);
txt.setMarginRight(0);
- txt.setWordWrap(TextBox.WrapNone);
- txt.setHorizontalAlignment(TextBox.AlignLeft);
- txt.setVerticalAlignment(TextBox.AnchorMiddle);
+ txt.setWordWrap(HSLFTextBox.WrapNone);
+ txt.setHorizontalAlignment(HSLFTextBox.AlignLeft);
+ txt.setVerticalAlignment(HSLFTextBox.AnchorMiddle);
TextLayout layout = new TextLayout(s, _font, getFontRenderContext());
*/
public void fill(Shape shape){
GeneralPath path = new GeneralPath(_transform.createTransformedShape(shape));
- Freeform p = new Freeform(_group);
+ HSLFFreeformShape p = new HSLFFreeformShape(_group);
p.setPath(path);
applyPaint(p);
p.setLineColor(null); //Fills must be "No Line"
}
}
- protected void applyStroke(SimpleShape shape) {
+ protected void applyStroke(HSLFSimpleShape shape) {
if (_stroke instanceof BasicStroke){
BasicStroke bs = (BasicStroke)_stroke;
shape.setLineWidth(bs.getLineWidth());
}
}
- protected void applyPaint(SimpleShape shape) {
+ protected void applyPaint(HSLFSimpleShape shape) {
if (_paint instanceof Color) {
shape.getFill().setForegroundColor((Color)_paint);
}
+++ /dev/null
-/* ====================================================================
- 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.hslf.model;
-
-import java.awt.Graphics2D;
-import java.awt.Insets;
-import java.awt.geom.AffineTransform;
-import java.awt.image.BufferedImage;
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.util.List;
-
-import javax.imageio.ImageIO;
-
-import org.apache.poi.ddf.EscherBSERecord;
-import org.apache.poi.ddf.EscherComplexProperty;
-import org.apache.poi.ddf.EscherContainerRecord;
-import org.apache.poi.ddf.EscherOptRecord;
-import org.apache.poi.ddf.EscherProperties;
-import org.apache.poi.ddf.EscherRecord;
-import org.apache.poi.ddf.EscherSimpleProperty;
-import org.apache.poi.ddf.EscherSpRecord;
-import org.apache.poi.hslf.blip.Bitmap;
-import org.apache.poi.hslf.record.Document;
-import org.apache.poi.hslf.usermodel.PictureData;
-import org.apache.poi.hslf.usermodel.SlideShow;
-import org.apache.poi.sl.usermodel.ShapeContainer;
-import org.apache.poi.sl.usermodel.ShapeType;
-import org.apache.poi.util.POILogger;
-import org.apache.poi.util.StringUtil;
-import org.apache.poi.util.Units;
-
-
-/**
- * Represents a picture in a PowerPoint document.
- *
- * @author Yegor Kozlov
- */
-public class Picture extends SimpleShape {
-
- /**
- * Windows Enhanced Metafile (EMF)
- */
- public static final int EMF = 2;
-
- /**
- * Windows Metafile (WMF)
- */
- public static final int WMF = 3;
-
- /**
- * Macintosh PICT
- */
- public static final int PICT = 4;
-
- /**
- * JPEG
- */
- public static final int JPEG = 5;
-
- /**
- * PNG
- */
- public static final int PNG = 6;
-
- /**
- * Windows DIB (BMP)
- */
- public static final byte DIB = 7;
-
- /**
- * Create a new <code>Picture</code>
- *
- * @param idx the index of the picture
- */
- public Picture(int idx){
- this(idx, null);
- }
-
- /**
- * Create a new <code>Picture</code>
- *
- * @param idx the index of the picture
- * @param parent the parent shape
- */
- public Picture(int idx, ShapeContainer<HSLFShape> parent) {
- super(null, parent);
- _escherContainer = createSpContainer(idx, parent instanceof HSLFGroupShape);
- }
-
- /**
- * Create a <code>Picture</code> object
- *
- * @param escherRecord the <code>EscherSpContainer</code> record which holds information about
- * this picture in the <code>Slide</code>
- * @param parent the parent shape of this picture
- */
- protected Picture(EscherContainerRecord escherRecord, ShapeContainer<HSLFShape> parent){
- super(escherRecord, parent);
- }
-
- /**
- * Returns index associated with this picture.
- * Index starts with 1 and points to a EscherBSE record which
- * holds information about this picture.
- *
- * @return the index to this picture (1 based).
- */
- public int getPictureIndex(){
- EscherOptRecord opt = getEscherOptRecord();
- EscherSimpleProperty prop = getEscherProperty(opt, EscherProperties.BLIP__BLIPTODISPLAY);
- return prop == null ? 0 : prop.getPropertyValue();
- }
-
- /**
- * Create a new Picture and populate the inital structure of the <code>EscherSp</code> record which holds information about this picture.
-
- * @param idx the index of the picture which refers to <code>EscherBSE</code> container.
- * @return the create Picture object
- */
- protected EscherContainerRecord createSpContainer(int idx, boolean isChild) {
- _escherContainer = super.createSpContainer(isChild);
- _escherContainer.setOptions((short)15);
-
- EscherSpRecord spRecord = _escherContainer.getChildById(EscherSpRecord.RECORD_ID);
- spRecord.setOptions((short)((ShapeType.FRAME.nativeId << 4) | 0x2));
-
- //set default properties for a picture
- EscherOptRecord opt = getEscherOptRecord();
- setEscherProperty(opt, EscherProperties.PROTECTION__LOCKAGAINSTGROUPING, 0x800080);
-
- //another weird feature of powerpoint: for picture id we must add 0x4000.
- setEscherProperty(opt, (short)(EscherProperties.BLIP__BLIPTODISPLAY + 0x4000), idx);
-
- return _escherContainer;
- }
-
- /**
- * Resize this picture to the default size.
- * For PNG and JPEG resizes the image to 100%,
- * for other types sets the default size of 200x200 pixels.
- */
- public void setDefaultSize(){
- PictureData pict = getPictureData();
- if (pict instanceof Bitmap){
- BufferedImage img = null;
- try {
- img = ImageIO.read(new ByteArrayInputStream(pict.getData()));
- }
- catch (IOException e){}
- catch (NegativeArraySizeException ne) {}
-
- if(img != null) {
- // Valid image, set anchor from it
- setAnchor(new java.awt.Rectangle(0, 0, img.getWidth()*POINT_DPI/PIXEL_DPI, img.getHeight()*POINT_DPI/PIXEL_DPI));
- } else {
- // Invalid image, go with the default metafile size
- setAnchor(new java.awt.Rectangle(0, 0, 200, 200));
- }
- } else {
- //default size of a metafile picture is 200x200
- setAnchor(new java.awt.Rectangle(50, 50, 200, 200));
- }
- }
-
- /**
- * Returns the picture data for this picture.
- *
- * @return the picture data for this picture.
- */
- public PictureData getPictureData(){
- SlideShow ppt = getSheet().getSlideShow();
- PictureData[] pict = ppt.getPictureData();
-
- EscherBSERecord bse = getEscherBSERecord();
- if (bse == null){
- logger.log(POILogger.ERROR, "no reference to picture data found ");
- } else {
- for ( int i = 0; i < pict.length; i++ ) {
- if (pict[i].getOffset() == bse.getOffset()){
- return pict[i];
- }
- }
- logger.log(POILogger.ERROR, "no picture found for our BSE offset " + bse.getOffset());
- }
- return null;
- }
-
- protected EscherBSERecord getEscherBSERecord(){
- SlideShow ppt = getSheet().getSlideShow();
- Document doc = ppt.getDocumentRecord();
- EscherContainerRecord dggContainer = doc.getPPDrawingGroup().getDggContainer();
- EscherContainerRecord bstore = HSLFShape.getEscherChild(dggContainer, EscherContainerRecord.BSTORE_CONTAINER);
- if(bstore == null) {
- logger.log(POILogger.DEBUG, "EscherContainerRecord.BSTORE_CONTAINER was not found ");
- return null;
- }
- List<EscherRecord> lst = bstore.getChildRecords();
- int idx = getPictureIndex();
- if (idx == 0){
- logger.log(POILogger.DEBUG, "picture index was not found, returning ");
- return null;
- }
- return (EscherBSERecord)lst.get(idx-1);
- }
-
- /**
- * Name of this picture.
- *
- * @return name of this picture
- */
- public String getPictureName(){
- EscherOptRecord opt = getEscherOptRecord();
- EscherComplexProperty prop = getEscherProperty(opt, EscherProperties.BLIP__BLIPFILENAME);
- if (prop == null) return null;
- String name = StringUtil.getFromUnicodeLE(prop.getComplexData());
- return name.trim();
- }
-
- /**
- * Name of this picture.
- *
- * @param name of this picture
- */
- public void setPictureName(String name){
- EscherOptRecord opt = getEscherOptRecord();
- byte[] data = StringUtil.getToUnicodeLE(name + '\u0000');
- EscherComplexProperty prop = new EscherComplexProperty(EscherProperties.BLIP__BLIPFILENAME, false, data);
- opt.addEscherProperty(prop);
- }
-
- /**
- * By default set the orininal image size
- */
- protected void afterInsert(Sheet sh){
- super.afterInsert(sh);
-
- EscherBSERecord bse = getEscherBSERecord();
- bse.setRef(bse.getRef() + 1);
-
- java.awt.Rectangle anchor = getAnchor();
- if (anchor.equals(new java.awt.Rectangle())){
- setDefaultSize();
- }
- }
-
- public void draw(Graphics2D graphics){
- AffineTransform at = graphics.getTransform();
- ShapePainter.paint(this, graphics);
-
- PictureData data = getPictureData();
- if(data != null) data.draw(graphics, this);
-
- graphics.setTransform(at);
- }
-
- /**
- * Returns the clipping values as percent ratio relatively to the image size.
- * The anchor specified by {@link #getLogicalAnchor2D()} is the displayed size,
- * i.e. the size of the already clipped image
- *
- * @return the clipping as insets converted/scaled to 100000 (=100%)
- */
- public Insets getBlipClip() {
- EscherOptRecord opt = getEscherOptRecord();
-
- double top = getFractProp(opt, EscherProperties.BLIP__CROPFROMTOP);
- double bottom = getFractProp(opt, EscherProperties.BLIP__CROPFROMBOTTOM);
- double left = getFractProp(opt, EscherProperties.BLIP__CROPFROMLEFT);
- double right = getFractProp(opt, EscherProperties.BLIP__CROPFROMRIGHT);
-
- // if all crop values are zero (the default) then no crop rectangle is set, return null
- return (top==0 && bottom==0 && left==0 && right==0)
- ? null
- : new Insets((int)(top*100000), (int)(left*100000), (int)(bottom*100000), (int)(right*100000));
- }
-
- /**
- * @return the fractional property or 0 if not defined
- */
- private static double getFractProp(EscherOptRecord opt, short propertyId) {
- EscherSimpleProperty prop = getEscherProperty(opt, propertyId);
- if (prop == null) return 0;
- int fixedPoint = prop.getPropertyValue();
- return Units.fixedPointToDouble(fixedPoint);
- }
-}
\ No newline at end of file
*
* @author Yegor Kozlov
*/
-public final class Placeholder extends TextBox {
+public final class Placeholder extends HSLFTextBox {
protected Placeholder(EscherContainerRecord escherRecord, ShapeContainer<HSLFShape> parent){
super(escherRecord, parent);
*
* @author Yegor Kozlov
*/
-public final class Polygon extends AutoShape {
+public final class Polygon extends HSLFAutoShape {
/**
* Create a Polygon object and initialize it from the supplied Record container.
*
ShapeType type = ShapeType.forId(spRecord.getShapeType(), false);
switch (type){
case TEXT_BOX:
- shape = new TextBox(spContainer, parent);
+ shape = new HSLFTextBox(spContainer, parent);
break;
case HOST_CONTROL:
case FRAME: {
shape = new OLEShape(spContainer, parent);
}
- if(shape == null) shape = new Picture(spContainer, parent);
+ if(shape == null) shape = new HSLFPictureShape(spContainer, parent);
break;
}
case LINE:
EscherOptRecord opt = HSLFShape.getEscherChild(spContainer, EscherOptRecord.RECORD_ID);
EscherProperty prop = HSLFShape.getEscherProperty(opt, EscherProperties.GEOMETRY__VERTICES);
if(prop != null)
- shape = new Freeform(spContainer, parent);
+ shape = new HSLFFreeformShape(spContainer, parent);
else {
logger.log(POILogger.WARN, "Creating AutoShape for a NotPrimitive shape");
- shape = new AutoShape(spContainer, parent);
+ shape = new HSLFAutoShape(spContainer, parent);
}
break;
}
default:
- shape = new AutoShape(spContainer, parent);
+ shape = new HSLFAutoShape(spContainer, parent);
break;
}
return shape;
public final class ShapePainter {
protected static final POILogger logger = POILogFactory.getLogger(ShapePainter.class);
- public static void paint(SimpleShape shape, Graphics2D graphics){
+ public static void paint(HSLFSimpleShape shape, Graphics2D graphics){
Rectangle2D anchor = shape.getLogicalAnchor2D();
java.awt.Shape outline = shape.getOutline();
+++ /dev/null
-/* ====================================================================
- 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.hslf.model;
-
-import java.awt.Graphics2D;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.apache.poi.ddf.EscherContainerRecord;
-import org.apache.poi.ddf.EscherDgRecord;
-import org.apache.poi.ddf.EscherDggRecord;
-import org.apache.poi.ddf.EscherRecord;
-import org.apache.poi.hslf.record.CString;
-import org.apache.poi.hslf.record.ColorSchemeAtom;
-import org.apache.poi.hslf.record.EscherTextboxWrapper;
-import org.apache.poi.hslf.record.MasterTextPropAtom;
-import org.apache.poi.hslf.record.OEPlaceholderAtom;
-import org.apache.poi.hslf.record.PPDrawing;
-import org.apache.poi.hslf.record.Record;
-import org.apache.poi.hslf.record.RecordContainer;
-import org.apache.poi.hslf.record.RecordTypes;
-import org.apache.poi.hslf.record.RoundTripHFPlaceholder12;
-import org.apache.poi.hslf.record.SheetContainer;
-import org.apache.poi.hslf.record.StyleTextProp9Atom;
-import org.apache.poi.hslf.record.StyleTextPropAtom;
-import org.apache.poi.hslf.record.TextBytesAtom;
-import org.apache.poi.hslf.record.TextCharsAtom;
-import org.apache.poi.hslf.record.TextHeaderAtom;
-import org.apache.poi.hslf.record.TextRulerAtom;
-import org.apache.poi.hslf.record.TextSpecInfoAtom;
-import org.apache.poi.hslf.usermodel.SlideShow;
-import org.apache.poi.sl.usermodel.ShapeContainer;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
-
-/**
- * This class defines the common format of "Sheets" in a powerpoint
- * document. Such sheets could be Slides, Notes, Master etc
- *
- * @author Nick Burch
- * @author Yegor Kozlov
- */
-
-public abstract class Sheet implements ShapeContainer<HSLFShape> {
- private static POILogger logger = POILogFactory.getLogger(Sheet.class);
-
- /**
- * The <code>SlideShow</code> we belong to
- */
- private SlideShow _slideShow;
-
- /**
- * Sheet background
- */
- private Background _background;
-
- /**
- * Record container that holds sheet data.
- * For slides it is org.apache.poi.hslf.record.Slide,
- * for notes it is org.apache.poi.hslf.record.Notes,
- * for slide masters it is org.apache.poi.hslf.record.SlideMaster, etc.
- */
- private SheetContainer _container;
-
- private int _sheetNo;
-
- public Sheet(SheetContainer container, int sheetNo) {
- _container = container;
- _sheetNo = sheetNo;
- }
-
- /**
- * Returns an array of all the TextRuns in the sheet.
- */
- public abstract TextRun[] getTextRuns();
-
- /**
- * Returns the (internal, RefID based) sheet number, as used
- * to in PersistPtr stuff.
- */
- public int _getSheetRefId() {
- return _container.getSheetId();
- }
-
- /**
- * Returns the (internal, SlideIdentifier based) sheet number, as used
- * to reference this sheet from other records.
- */
- public int _getSheetNumber() {
- return _sheetNo;
- }
-
- /**
- * Fetch the PPDrawing from the underlying record
- */
- protected PPDrawing getPPDrawing() {
- return _container.getPPDrawing();
- }
-
- /**
- * Fetch the SlideShow we're attached to
- */
- public SlideShow getSlideShow() {
- return _slideShow;
- }
-
- /**
- * Return record container for this sheet
- */
- public SheetContainer getSheetContainer() {
- return _container;
- }
-
- /**
- * Set the SlideShow we're attached to.
- * Also passes it on to our child RichTextRuns
- */
- public void setSlideShow(SlideShow ss) {
- _slideShow = ss;
- TextRun[] trs = getTextRuns();
- if (trs != null) {
- for (int i = 0; i < trs.length; i++) {
- trs[i].supplySlideShow(_slideShow);
- }
- }
- }
-
-
- /**
- * For a given PPDrawing, grab all the TextRuns
- */
- public static TextRun[] findTextRuns(PPDrawing ppdrawing) {
- final List<TextRun> runsV = new ArrayList<TextRun>();
- final EscherTextboxWrapper[] wrappers = ppdrawing.getTextboxWrappers();
- for (int i = 0; i < wrappers.length; i++) {
- int s1 = runsV.size();
-
- // propagate parents to parent-aware records
- RecordContainer.handleParentAwareRecords(wrappers[i]);
- findTextRuns(wrappers[i], runsV);
- int s2 = runsV.size();
- if (s2 != s1){
- TextRun t = runsV.get(runsV.size()-1);
- t.setShapeId(wrappers[i].getShapeId());
- }
- }
- return runsV.toArray(new TextRun[runsV.size()]);
- }
- /**
- * Scans through the supplied record array, looking for
- * a TextHeaderAtom followed by one of a TextBytesAtom or
- * a TextCharsAtom. Builds up TextRuns from these
- *
- * @param records the records to build from
- * @param found vector to add any found to
- */
- protected static void findTextRuns(final Record[] records, final List<TextRun> found) {
- findTextRuns(records, found, null);
- }
- /**
- * Scans through the supplied record array, looking for
- * a TextHeaderAtom followed by one of a TextBytesAtom or
- * a TextCharsAtom. Builds up TextRuns from these
- *
- * @param wrapper an EscherTextboxWrapper
- * @param found vector to add any found to
- */
- protected static void findTextRuns(final EscherTextboxWrapper wrapper, final List<TextRun> found) {
- findTextRuns(wrapper.getChildRecords(), found, wrapper.getStyleTextProp9Atom());
- }
- /**
- * Scans through the supplied record array, looking for
- * a TextHeaderAtom followed by one of a TextBytesAtom or
- * a TextCharsAtom. Builds up TextRuns from these
- *
- * @param records the records to build from
- * @param found vector to add any found to
- * @param styleTextProp9Atom a StyleTextProp9Atom with numbered lists info
- */
- protected static void findTextRuns(final Record[] records, final List<TextRun> found, final StyleTextProp9Atom styleTextProp9Atom) {
- for (int i = 0, slwtIndex=0; i < (records.length - 1); i++) {
- if (records[i] instanceof TextHeaderAtom) {
- TextHeaderAtom tha = (TextHeaderAtom) records[i];
- StyleTextPropAtom stpa = null;
- TextRun trun = null;
- Record next = null;
- Record subs = null;
-
- // See what follows the TextHeaderAtom
- next = records[i+1];
- if (i < records.length - 2) {
- subs = records[i+2];
- }
-
- // Is the next record one we need to skip over?
- if (subs != null) {
- if (next instanceof TextRulerAtom ||
- next instanceof MasterTextPropAtom ||
- next instanceof TextSpecInfoAtom) {
- // Ignore this one, check the one after
- next = subs;
- if (i < records.length - 3) {
- subs = records[i+3];
- } else {
- subs = null;
- }
- }
- }
-
- // Is the subsequent record a style one?
- if (subs != null && subs instanceof StyleTextPropAtom) {
- stpa = (StyleTextPropAtom)subs;
- }
-
- // Now, check if the next record is one to record
- if (next instanceof TextCharsAtom) {
- TextCharsAtom tca = (TextCharsAtom)next;
- trun = new TextRun(tha, tca, stpa);
- } else if (next instanceof TextBytesAtom) {
- TextBytesAtom tba = (TextBytesAtom)next;
- trun = new TextRun(tha, tba, stpa);
- } else if (next instanceof StyleTextPropAtom) {
- stpa = (StyleTextPropAtom)next;
- } else if (next instanceof TextHeaderAtom) {
- // Seems to be a mostly, but not completely deleted block of
- // text. Only the header remains, which isn't useful alone
- // Skip on to the next TextHeaderAtom
- continue;
- } else {
- logger.log(POILogger.ERROR, "Found a TextHeaderAtom not followed by a TextBytesAtom or TextCharsAtom: Followed by " + next.getRecordType());
- }
-
- if (trun != null) {
- List<Record> lst = new ArrayList<Record>();
- for (int j = i; j < records.length; j++) {
- if(j > i && records[j] instanceof TextHeaderAtom) break;
- lst.add(records[j]);
- }
- Record[] recs = new Record[lst.size()];
- lst.toArray(recs);
- trun._records = recs;
- trun.setIndex(slwtIndex);
- trun.setStyleTextProp9Atom(styleTextProp9Atom);
- found.add(trun);
- i++;
- } else {
- // Not a valid one, so skip on to next and look again
- }
- slwtIndex++;
- }
- }
- }
-
- /**
- * Returns all shapes contained in this Sheet
- *
- * @return all shapes contained in this Sheet (Slide or Notes)
- */
- public HSLFShape[] getShapes() {
- List<HSLFShape> shapeList = getShapeList();
- return shapeList.toArray(new HSLFShape[shapeList.size()]);
- }
-
- /**
- * Add a new Shape to this Slide
- *
- * @param shape - the Shape to add
- */
- public void addShape(HSLFShape shape) {
- PPDrawing ppdrawing = getPPDrawing();
-
- EscherContainerRecord dgContainer = (EscherContainerRecord) ppdrawing.getEscherRecords()[0];
- EscherContainerRecord spgr = (EscherContainerRecord) HSLFShape.getEscherChild(dgContainer, EscherContainerRecord.SPGR_CONTAINER);
- spgr.addChildRecord(shape.getSpContainer());
-
- shape.setSheet(this);
- shape.setShapeId(allocateShapeId());
- shape.afterInsert(this);
- }
-
- /**
- * Allocates new shape id for the new drawing group id.
- *
- * @return a new shape id.
- */
- public int allocateShapeId()
- {
- EscherDggRecord dgg = _slideShow.getDocumentRecord().getPPDrawingGroup().getEscherDggRecord();
- EscherDgRecord dg = _container.getPPDrawing().getEscherDgRecord();
-
- dgg.setNumShapesSaved( dgg.getNumShapesSaved() + 1 );
-
- // Add to existing cluster if space available
- for (int i = 0; i < dgg.getFileIdClusters().length; i++)
- {
- EscherDggRecord.FileIdCluster c = dgg.getFileIdClusters()[i];
- if (c.getDrawingGroupId() == dg.getDrawingGroupId() && c.getNumShapeIdsUsed() != 1024)
- {
- int result = c.getNumShapeIdsUsed() + (1024 * (i+1));
- c.incrementShapeId();
- dg.setNumShapes( dg.getNumShapes() + 1 );
- dg.setLastMSOSPID( result );
- if (result >= dgg.getShapeIdMax())
- dgg.setShapeIdMax( result + 1 );
- return result;
- }
- }
-
- // Create new cluster
- dgg.addCluster( dg.getDrawingGroupId(), 0, false );
- dgg.getFileIdClusters()[dgg.getFileIdClusters().length-1].incrementShapeId();
- dg.setNumShapes( dg.getNumShapes() + 1 );
- int result = (1024 * dgg.getFileIdClusters().length);
- dg.setLastMSOSPID( result );
- if (result >= dgg.getShapeIdMax())
- dgg.setShapeIdMax( result + 1 );
- return result;
- }
-
- /**
- * Removes the specified shape from this sheet.
- *
- * @param shape shape to be removed from this sheet, if present.
- * @return <tt>true</tt> if the shape was deleted.
- */
- public boolean removeShape(HSLFShape shape) {
- PPDrawing ppdrawing = getPPDrawing();
-
- EscherContainerRecord dg = (EscherContainerRecord) ppdrawing.getEscherRecords()[0];
- EscherContainerRecord spgr = null;
-
- for (Iterator<EscherRecord> it = dg.getChildIterator(); it.hasNext();) {
- EscherRecord rec = it.next();
- if (rec.getRecordId() == EscherContainerRecord.SPGR_CONTAINER) {
- spgr = (EscherContainerRecord) rec;
- break;
- }
- }
- if(spgr == null) {
- return false;
- }
-
- List<EscherRecord> lst = spgr.getChildRecords();
- boolean result = lst.remove(shape.getSpContainer());
- spgr.setChildRecords(lst);
- return result;
- }
-
- /**
- * Called by SlideShow ater a new sheet is created
- */
- public void onCreate(){
-
- }
-
- /**
- * Return the master sheet .
- */
- public abstract MasterSheet getMasterSheet();
-
- /**
- * Color scheme for this sheet.
- */
- public ColorSchemeAtom getColorScheme() {
- return _container.getColorScheme();
- }
-
- /**
- * Returns the background shape for this sheet.
- *
- * @return the background shape for this sheet.
- */
- public Background getBackground() {
- if (_background == null) {
- PPDrawing ppdrawing = getPPDrawing();
-
- EscherContainerRecord dg = (EscherContainerRecord) ppdrawing.getEscherRecords()[0];
- EscherContainerRecord spContainer = null;
-
- for (Iterator<EscherRecord> it = dg.getChildIterator(); it.hasNext();) {
- EscherRecord rec = it.next();
- if (rec.getRecordId() == EscherContainerRecord.SP_CONTAINER) {
- spContainer = (EscherContainerRecord) rec;
- break;
- }
- }
- _background = new Background(spContainer, null);
- _background.setSheet(this);
- }
- return _background;
- }
-
- public void draw(Graphics2D graphics){
-
- }
-
- /**
- * Subclasses should call this method and update the array of text runs
- * when a text shape is added
- *
- * @param shape
- */
- protected void onAddTextShape(TextShape shape) {
-
- }
-
- /**
- * Return placeholder by text type
- *
- * @param type type of text, See {@link org.apache.poi.hslf.record.TextHeaderAtom}
- * @return <code>TextShape</code> or <code>null</code>
- */
- public TextShape getPlaceholderByTextType(int type){
- HSLFShape[] shape = getShapes();
- for (int i = 0; i < shape.length; i++) {
- if(shape[i] instanceof TextShape){
- TextShape tx = (TextShape)shape[i];
- TextRun run = tx.getTextRun();
- if(run != null && run.getRunType() == type){
- return tx;
- }
- }
- }
- return null;
- }
-
- /**
- * Search text placeholer by its type
- *
- * @param type type of placeholder to search. See {@link org.apache.poi.hslf.record.OEPlaceholderAtom}
- * @return <code>TextShape</code> or <code>null</code>
- */
- public TextShape getPlaceholder(int type){
- HSLFShape[] shape = getShapes();
- for (int i = 0; i < shape.length; i++) {
- if(shape[i] instanceof TextShape){
- TextShape tx = (TextShape)shape[i];
- int placeholderId = 0;
- OEPlaceholderAtom oep = tx.getPlaceholderAtom();
- if(oep != null) {
- placeholderId = oep.getPlaceholderId();
- } else {
- //special case for files saved in Office 2007
- RoundTripHFPlaceholder12 hldr = tx.getClientDataRecord(RecordTypes.RoundTripHFPlaceholder12.typeID);
- if(hldr != null) placeholderId = hldr.getPlaceholderId();
- }
- if(placeholderId == type){
- return tx;
- }
- }
- }
- return null;
- }
-
- /**
- * Return programmable tag associated with this sheet, e.g. <code>___PPT12</code>.
- *
- * @return programmable tag associated with this sheet.
- */
- public String getProgrammableTag(){
- String tag = null;
- RecordContainer progTags = (RecordContainer)
- getSheetContainer().findFirstOfType(
- RecordTypes.ProgTags.typeID
- );
- if(progTags != null) {
- RecordContainer progBinaryTag = (RecordContainer)
- progTags.findFirstOfType(
- RecordTypes.ProgBinaryTag.typeID
- );
- if(progBinaryTag != null) {
- CString binaryTag = (CString)
- progBinaryTag.findFirstOfType(
- RecordTypes.CString.typeID
- );
- if(binaryTag != null) tag = binaryTag.getText();
- }
- }
-
- return tag;
-
- }
-
- public Iterator<HSLFShape> iterator() {
- return getShapeList().iterator();
- }
-
-
- /**
- * Returns all shapes contained in this Sheet
- *
- * @return all shapes contained in this Sheet (Slide or Notes)
- */
- protected List<HSLFShape> getShapeList() {
- PPDrawing ppdrawing = getPPDrawing();
-
- EscherContainerRecord dg = (EscherContainerRecord) ppdrawing.getEscherRecords()[0];
- EscherContainerRecord spgr = null;
-
- for (Iterator<EscherRecord> it = dg.getChildIterator(); it.hasNext();) {
- EscherRecord rec = it.next();
- if (rec.getRecordId() == EscherContainerRecord.SPGR_CONTAINER) {
- spgr = (EscherContainerRecord) rec;
- break;
- }
- }
- if (spgr == null) {
- throw new IllegalStateException("spgr not found");
- }
-
- List<HSLFShape> shapeList = new ArrayList<HSLFShape>();
- Iterator<EscherRecord> it = spgr.getChildIterator();
- if (it.hasNext()) {
- // skip first item
- it.next();
- }
- for (; it.hasNext();) {
- EscherContainerRecord sp = (EscherContainerRecord) it.next();
- HSLFShape sh = ShapeFactory.createShape(sp, null);
- sh.setSheet(this);
- shapeList.add(sh);
- }
-
- return shapeList;
- }
-
-}
+++ /dev/null
-/* ====================================================================
- 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.hslf.model;
-
-import java.awt.Color;
-import java.awt.Graphics2D;
-import java.awt.geom.AffineTransform;
-import java.awt.geom.Rectangle2D;
-import java.io.ByteArrayOutputStream;
-import java.util.ArrayList;
-
-import org.apache.poi.ddf.DefaultEscherRecordFactory;
-import org.apache.poi.ddf.EscherChildAnchorRecord;
-import org.apache.poi.ddf.EscherClientAnchorRecord;
-import org.apache.poi.ddf.EscherClientDataRecord;
-import org.apache.poi.ddf.EscherContainerRecord;
-import org.apache.poi.ddf.EscherOptRecord;
-import org.apache.poi.ddf.EscherProperties;
-import org.apache.poi.ddf.EscherRecord;
-import org.apache.poi.ddf.EscherSimpleProperty;
-import org.apache.poi.ddf.EscherSpRecord;
-import org.apache.poi.hslf.exceptions.HSLFException;
-import org.apache.poi.hslf.record.InteractiveInfo;
-import org.apache.poi.hslf.record.InteractiveInfoAtom;
-import org.apache.poi.hslf.record.Record;
-import org.apache.poi.sl.usermodel.ShapeContainer;
-import org.apache.poi.util.LittleEndian;
-
-/**
- * An abstract simple (non-group) shape.
- * This is the parent class for all primitive shapes like Line, Rectangle, etc.
- *
- * @author Yegor Kozlov
- */
-public abstract class SimpleShape extends HSLFShape {
-
- public final static double DEFAULT_LINE_WIDTH = 0.75;
-
- /**
- * Records stored in EscherClientDataRecord
- */
- protected Record[] _clientRecords;
- protected EscherClientDataRecord _clientData;
-
- /**
- * Create a SimpleShape object and initialize it from the supplied Record container.
- *
- * @param escherRecord <code>EscherSpContainer</code> container which holds information about this shape
- * @param parent the parent of the shape
- */
- protected SimpleShape(EscherContainerRecord escherRecord, ShapeContainer<HSLFShape> parent){
- super(escherRecord, parent);
- }
-
- /**
- * Create a new Shape
- *
- * @param isChild <code>true</code> if the Line is inside a group, <code>false</code> otherwise
- * @return the record container which holds this shape
- */
- protected EscherContainerRecord createSpContainer(boolean isChild) {
- _escherContainer = new EscherContainerRecord();
- _escherContainer.setRecordId( EscherContainerRecord.SP_CONTAINER );
- _escherContainer.setOptions((short)15);
-
- EscherSpRecord sp = new EscherSpRecord();
- int flags = EscherSpRecord.FLAG_HAVEANCHOR | EscherSpRecord.FLAG_HASSHAPETYPE;
- if (isChild) flags |= EscherSpRecord.FLAG_CHILD;
- sp.setFlags(flags);
- _escherContainer.addChildRecord(sp);
-
- EscherOptRecord opt = new EscherOptRecord();
- opt.setRecordId(EscherOptRecord.RECORD_ID);
- _escherContainer.addChildRecord(opt);
-
- EscherRecord anchor;
- if(isChild) anchor = new EscherChildAnchorRecord();
- else {
- anchor = new EscherClientAnchorRecord();
-
- //hack. internal variable EscherClientAnchorRecord.shortRecord can be
- //initialized only in fillFields(). We need to set shortRecord=false;
- byte[] header = new byte[16];
- LittleEndian.putUShort(header, 0, 0);
- LittleEndian.putUShort(header, 2, 0);
- LittleEndian.putInt(header, 4, 8);
- anchor.fillFields(header, 0, null);
- }
- _escherContainer.addChildRecord(anchor);
-
- return _escherContainer;
- }
-
- /**
- * Returns width of the line in in points
- */
- public double getLineWidth(){
- EscherOptRecord opt = getEscherOptRecord();
- EscherSimpleProperty prop = getEscherProperty(opt, EscherProperties.LINESTYLE__LINEWIDTH);
- double width = prop == null ? DEFAULT_LINE_WIDTH : (double)prop.getPropertyValue()/EMU_PER_POINT;
- return width;
- }
-
- /**
- * Sets the width of line in in points
- * @param width the width of line in in points
- */
- public void setLineWidth(double width){
- EscherOptRecord opt = getEscherOptRecord();
- setEscherProperty(opt, EscherProperties.LINESTYLE__LINEWIDTH, (int)(width*EMU_PER_POINT));
- }
-
- /**
- * Sets the color of line
- *
- * @param color new color of the line
- */
- public void setLineColor(Color color){
- EscherOptRecord opt = getEscherOptRecord();
- if (color == null) {
- setEscherProperty(opt, EscherProperties.LINESTYLE__NOLINEDRAWDASH, 0x80000);
- } else {
- int rgb = new Color(color.getBlue(), color.getGreen(), color.getRed(), 0).getRGB();
- setEscherProperty(opt, EscherProperties.LINESTYLE__COLOR, rgb);
- setEscherProperty(opt, EscherProperties.LINESTYLE__NOLINEDRAWDASH, color == null ? 0x180010 : 0x180018);
- }
- }
-
- /**
- * @return color of the line. If color is not set returns <code>java.awt.Color.black</code>
- */
- public Color getLineColor(){
- EscherOptRecord opt = getEscherOptRecord();
-
- EscherSimpleProperty p = getEscherProperty(opt, EscherProperties.LINESTYLE__NOLINEDRAWDASH);
- if(p != null && (p.getPropertyValue() & 0x8) == 0) return null;
-
- Color clr = getColor(EscherProperties.LINESTYLE__COLOR, EscherProperties.LINESTYLE__OPACITY, -1);
- return clr == null ? Color.black : clr;
- }
-
- /**
- * Gets line dashing. One of the PEN_* constants defined in this class.
- *
- * @return dashing of the line.
- */
- public int getLineDashing(){
- EscherOptRecord opt = getEscherOptRecord();
-
- EscherSimpleProperty prop = getEscherProperty(opt, EscherProperties.LINESTYLE__LINEDASHING);
- return prop == null ? Line.PEN_SOLID : prop.getPropertyValue();
- }
-
- /**
- * Sets line dashing. One of the PEN_* constants defined in this class.
- *
- * @param pen new style of the line.
- */
- public void setLineDashing(int pen){
- EscherOptRecord opt = getEscherOptRecord();
-
- setEscherProperty(opt, EscherProperties.LINESTYLE__LINEDASHING, pen == Line.PEN_SOLID ? -1 : pen);
- }
-
- /**
- * Sets line style. One of the constants defined in this class.
- *
- * @param style new style of the line.
- */
- public void setLineStyle(int style){
- EscherOptRecord opt = getEscherOptRecord();
- setEscherProperty(opt, EscherProperties.LINESTYLE__LINESTYLE, style == Line.LINE_SIMPLE ? -1 : style);
- }
-
- /**
- * Returns line style. One of the constants defined in this class.
- *
- * @return style of the line.
- */
- public int getStrokeStyle(){
- EscherOptRecord opt = getEscherOptRecord();
- EscherSimpleProperty prop = getEscherProperty(opt, EscherProperties.LINESTYLE__LINESTYLE);
- return prop == null ? Line.LINE_SIMPLE : prop.getPropertyValue();
- }
-
- /**
- * The color used to fill this shape.
- */
- public Color getFillColor(){
- return getFill().getForegroundColor();
- }
-
- /**
- * The color used to fill this shape.
- *
- * @param color the background color
- */
- public void setFillColor(Color color){
- getFill().setForegroundColor(color);
- }
-
- /**
- *
- * @return 'absolute' anchor of this shape relative to the parent sheet
- */
- public Rectangle2D getLogicalAnchor2D(){
- Rectangle2D anchor = getAnchor2D();
-
- //if it is a groupped shape see if we need to transform the coordinates
- if (getParent() != null){
- ArrayList<HSLFGroupShape> lst = new ArrayList<HSLFGroupShape>();
- for (ShapeContainer<HSLFShape> parent=this.getParent();
- parent instanceof HSLFGroupShape;
- parent = ((HSLFGroupShape)parent).getParent()) {
- lst.add(0, (HSLFGroupShape)parent);
- }
-
- AffineTransform tx = new AffineTransform();
- for(HSLFGroupShape prnt : lst) {
- Rectangle2D exterior = prnt.getAnchor2D();
- Rectangle2D interior = prnt.getCoordinates();
-
- double scaleX = exterior.getWidth() / interior.getWidth();
- double scaleY = exterior.getHeight() / interior.getHeight();
-
- tx.translate(exterior.getX(), exterior.getY());
- tx.scale(scaleX, scaleY);
- tx.translate(-interior.getX(), -interior.getY());
-
- }
- anchor = tx.createTransformedShape(anchor).getBounds2D();
- }
-
- double angle = getRotation();
- if(angle != 0.){
- double centerX = anchor.getX() + anchor.getWidth()/2;
- double centerY = anchor.getY() + anchor.getHeight()/2;
-
- AffineTransform trans = new AffineTransform();
- trans.translate(centerX, centerY);
- trans.rotate(Math.toRadians(angle));
- trans.translate(-centerX, -centerY);
-
- Rectangle2D rect = trans.createTransformedShape(anchor).getBounds2D();
- if((anchor.getWidth() < anchor.getHeight() && rect.getWidth() > rect.getHeight()) ||
- (anchor.getWidth() > anchor.getHeight() && rect.getWidth() < rect.getHeight()) ){
- trans = new AffineTransform();
- trans.translate(centerX, centerY);
- trans.rotate(Math.PI/2);
- trans.translate(-centerX, -centerY);
- anchor = trans.createTransformedShape(anchor).getBounds2D();
- }
- }
- return anchor;
- }
-
- public void draw(Graphics2D graphics){
- AffineTransform at = graphics.getTransform();
- ShapePainter.paint(this, graphics);
- graphics.setTransform(at);
- }
-
- /**
- * Find a record in the underlying EscherClientDataRecord
- *
- * @param recordType type of the record to search
- */
- @SuppressWarnings("unchecked")
- protected <T extends Record> T getClientDataRecord(int recordType) {
-
- Record[] records = getClientRecords();
- if(records != null) for (int i = 0; i < records.length; i++) {
- if(records[i].getRecordType() == recordType){
- return (T)records[i];
- }
- }
- return null;
- }
-
- /**
- * Search for EscherClientDataRecord, if found, convert its contents into an array of HSLF records
- *
- * @return an array of HSLF records contained in the shape's EscherClientDataRecord or <code>null</code>
- */
- protected Record[] getClientRecords() {
- if(_clientData == null){
- EscherRecord r = getEscherChild(EscherClientDataRecord.RECORD_ID);
- //ddf can return EscherContainerRecord with recordId=EscherClientDataRecord.RECORD_ID
- //convert in to EscherClientDataRecord on the fly
- if(r != null && !(r instanceof EscherClientDataRecord)){
- byte[] data = r.serialize();
- r = new EscherClientDataRecord();
- r.fillFields(data, 0, new DefaultEscherRecordFactory());
- }
- _clientData = (EscherClientDataRecord)r;
- }
- if(_clientData != null && _clientRecords == null){
- byte[] data = _clientData.getRemainingData();
- _clientRecords = Record.findChildRecords(data, 0, data.length);
- }
- return _clientRecords;
- }
-
- protected void updateClientData() {
- if(_clientData != null && _clientRecords != null){
- ByteArrayOutputStream out = new ByteArrayOutputStream();
- try {
- for (int i = 0; i < _clientRecords.length; i++) {
- _clientRecords[i].writeOut(out);
- }
- } catch(Exception e){
- throw new HSLFException(e);
- }
- _clientData.setRemainingData(out.toByteArray());
- }
- }
-
- public void setHyperlink(Hyperlink link){
- if(link.getId() == -1){
- throw new HSLFException("You must call SlideShow.addHyperlink(Hyperlink link) first");
- }
-
- EscherClientDataRecord cldata = new EscherClientDataRecord();
- cldata.setOptions((short)0xF);
- getSpContainer().addChildRecord(cldata); // TODO - junit to prove getChildRecords().add is wrong
-
- InteractiveInfo info = new InteractiveInfo();
- InteractiveInfoAtom infoAtom = info.getInteractiveInfoAtom();
-
- switch(link.getType()){
- case Hyperlink.LINK_FIRSTSLIDE:
- infoAtom.setAction(InteractiveInfoAtom.ACTION_JUMP);
- infoAtom.setJump(InteractiveInfoAtom.JUMP_FIRSTSLIDE);
- infoAtom.setHyperlinkType(InteractiveInfoAtom.LINK_FirstSlide);
- break;
- case Hyperlink.LINK_LASTSLIDE:
- infoAtom.setAction(InteractiveInfoAtom.ACTION_JUMP);
- infoAtom.setJump(InteractiveInfoAtom.JUMP_LASTSLIDE);
- infoAtom.setHyperlinkType(InteractiveInfoAtom.LINK_LastSlide);
- break;
- case Hyperlink.LINK_NEXTSLIDE:
- infoAtom.setAction(InteractiveInfoAtom.ACTION_JUMP);
- infoAtom.setJump(InteractiveInfoAtom.JUMP_NEXTSLIDE);
- infoAtom.setHyperlinkType(InteractiveInfoAtom.LINK_NextSlide);
- break;
- case Hyperlink.LINK_PREVIOUSSLIDE:
- infoAtom.setAction(InteractiveInfoAtom.ACTION_JUMP);
- infoAtom.setJump(InteractiveInfoAtom.JUMP_PREVIOUSSLIDE);
- infoAtom.setHyperlinkType(InteractiveInfoAtom.LINK_PreviousSlide);
- break;
- case Hyperlink.LINK_URL:
- infoAtom.setAction(InteractiveInfoAtom.ACTION_HYPERLINK);
- infoAtom.setJump(InteractiveInfoAtom.JUMP_NONE);
- infoAtom.setHyperlinkType(InteractiveInfoAtom.LINK_Url);
- break;
- case Hyperlink.LINK_SLIDENUMBER:
- infoAtom.setAction(InteractiveInfoAtom.ACTION_HYPERLINK);
- infoAtom.setJump(InteractiveInfoAtom.JUMP_NONE);
- infoAtom.setHyperlinkType(InteractiveInfoAtom.LINK_SlideNumber);
- break;
- }
-
- infoAtom.setHyperlinkID(link.getId());
-
- ByteArrayOutputStream out = new ByteArrayOutputStream();
- try {
- info.writeOut(out);
- } catch(Exception e){
- throw new HSLFException(e);
- }
- cldata.setRemainingData(out.toByteArray());
-
- }
-
-}
+++ /dev/null
-/* ====================================================================
- 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.hslf.model;
-
-import java.awt.Graphics2D;
-import java.util.LinkedList;
-import java.util.List;
-
-import org.apache.poi.ddf.EscherContainerRecord;
-import org.apache.poi.ddf.EscherDgRecord;
-import org.apache.poi.ddf.EscherDggRecord;
-import org.apache.poi.ddf.EscherSpRecord;
-import org.apache.poi.hslf.record.ColorSchemeAtom;
-import org.apache.poi.hslf.record.Comment2000;
-import org.apache.poi.hslf.record.EscherTextboxWrapper;
-import org.apache.poi.hslf.record.HeadersFootersContainer;
-import org.apache.poi.hslf.record.Record;
-import org.apache.poi.hslf.record.RecordContainer;
-import org.apache.poi.hslf.record.RecordTypes;
-import org.apache.poi.hslf.record.SSSlideInfoAtom;
-import org.apache.poi.hslf.record.SlideAtom;
-import org.apache.poi.hslf.record.SlideListWithText.SlideAtomsSet;
-import org.apache.poi.hslf.record.StyleTextProp9Atom;
-import org.apache.poi.hslf.record.TextHeaderAtom;
-import org.apache.poi.sl.usermodel.ShapeType;
-
-/**
- * This class represents a slide in a PowerPoint Document. It allows
- * access to the text within, and the layout. For now, it only does
- * the text side of things though
- *
- * @author Nick Burch
- * @author Yegor Kozlov
- */
-
-public final class Slide extends Sheet {
- private int _slideNo;
- private SlideAtomsSet _atomSet;
- private TextRun[] _runs;
- private Notes _notes; // usermodel needs to set this
-
- /**
- * Constructs a Slide from the Slide record, and the SlideAtomsSet
- * containing the text.
- * Initializes TextRuns, to provide easier access to the text
- *
- * @param slide the Slide record we're based on
- * @param notes the Notes sheet attached to us
- * @param atomSet the SlideAtomsSet to get the text from
- */
- public Slide(org.apache.poi.hslf.record.Slide slide, Notes notes, SlideAtomsSet atomSet, int slideIdentifier, int slideNumber) {
- super(slide, slideIdentifier);
-
- _notes = notes;
- _atomSet = atomSet;
- _slideNo = slideNumber;
-
- // Grab the TextRuns from the PPDrawing
- TextRun[] _otherRuns = findTextRuns(getPPDrawing());
-
- // For the text coming in from the SlideAtomsSet:
- // Build up TextRuns from pairs of TextHeaderAtom and
- // one of TextBytesAtom or TextCharsAtom
- final List<TextRun> textRuns = new LinkedList<TextRun>();
- if(_atomSet != null) {
- findTextRuns(_atomSet.getSlideRecords(),textRuns);
- } else {
- // No text on the slide, must just be pictures
- }
-
- // Build an array, more useful than a vector
- _runs = new TextRun[textRuns.size()+_otherRuns.length];
- // Grab text from SlideListWithTexts entries
- int i=0;
- for(i=0; i<textRuns.size(); i++) {
- _runs[i] = textRuns.get(i);
- _runs[i].setSheet(this);
- }
- // Grab text from slide's PPDrawing
- for(int k=0; k<_otherRuns.length; i++, k++) {
- _runs[i] = _otherRuns[k];
- _runs[i].setSheet(this);
- _runs[i].setIndex(-1); // runs found in PPDrawing are not linked with SlideListWithTexts
- }
- }
-
- /**
- * Create a new Slide instance
- * @param sheetNumber The internal number of the sheet, as used by PersistPtrHolder
- * @param slideNumber The user facing number of the sheet
- */
- public Slide(int sheetNumber, int sheetRefId, int slideNumber){
- super(new org.apache.poi.hslf.record.Slide(), sheetNumber);
- _slideNo = slideNumber;
- getSheetContainer().setSheetId(sheetRefId);
- }
-
- /**
- * Sets the Notes that are associated with this. Updates the
- * references in the records to point to the new ID
- */
- public void setNotes(Notes notes) {
- _notes = notes;
-
- // Update the Slide Atom's ID of where to point to
- SlideAtom sa = getSlideRecord().getSlideAtom();
-
- if(notes == null) {
- // Set to 0
- sa.setNotesID(0);
- } else {
- // Set to the value from the notes' sheet id
- sa.setNotesID(notes._getSheetNumber());
- }
- }
-
- /**
- * Changes the Slide's (external facing) page number.
- * @see org.apache.poi.hslf.usermodel.SlideShow#reorderSlide(int, int)
- */
- public void setSlideNumber(int newSlideNumber) {
- _slideNo = newSlideNumber;
- }
-
- /**
- * Called by SlideShow ater a new slide is created.
- * <p>
- * For Slide we need to do the following:
- * <li> set id of the drawing group.
- * <li> set shapeId for the container descriptor and background
- * </p>
- */
- public void onCreate(){
- //initialize drawing group id
- EscherDggRecord dgg = getSlideShow().getDocumentRecord().getPPDrawingGroup().getEscherDggRecord();
- EscherContainerRecord dgContainer = (EscherContainerRecord)getSheetContainer().getPPDrawing().getEscherRecords()[0];
- EscherDgRecord dg = (EscherDgRecord) HSLFShape.getEscherChild(dgContainer, EscherDgRecord.RECORD_ID);
- int dgId = dgg.getMaxDrawingGroupId() + 1;
- dg.setOptions((short)(dgId << 4));
- dgg.setDrawingsSaved(dgg.getDrawingsSaved() + 1);
- dgg.setMaxDrawingGroupId(dgId);
-
- for (EscherContainerRecord c : dgContainer.getChildContainers()) {
- EscherSpRecord spr = null;
- switch(c.getRecordId()){
- case EscherContainerRecord.SPGR_CONTAINER:
- EscherContainerRecord dc = (EscherContainerRecord)c.getChild(0);
- spr = dc.getChildById(EscherSpRecord.RECORD_ID);
- break;
- case EscherContainerRecord.SP_CONTAINER:
- spr = c.getChildById(EscherSpRecord.RECORD_ID);
- break;
- }
- if(spr != null) spr.setShapeId(allocateShapeId());
- }
-
- //PPT doen't increment the number of saved shapes for group descriptor and background
- dg.setNumShapes(1);
- }
-
- /**
- * Create a <code>TextBox</code> object that represents the slide's title.
- *
- * @return <code>TextBox</code> object that represents the slide's title.
- */
- public TextBox addTitle() {
- Placeholder pl = new Placeholder();
- pl.setShapeType(ShapeType.RECT);
- pl.getTextRun().setRunType(TextHeaderAtom.TITLE_TYPE);
- pl.setText("Click to edit title");
- pl.setAnchor(new java.awt.Rectangle(54, 48, 612, 90));
- addShape(pl);
- return pl;
- }
-
-
- // Complex Accesser methods follow
-
- /**
- * Return title of this slide or <code>null</code> if the slide does not have title.
- * <p>
- * The title is a run of text of type <code>TextHeaderAtom.CENTER_TITLE_TYPE</code> or
- * <code>TextHeaderAtom.TITLE_TYPE</code>
- * </p>
- *
- * @see TextHeaderAtom
- *
- * @return title of this slide
- */
- public String getTitle(){
- TextRun[] txt = getTextRuns();
- for (int i = 0; i < txt.length; i++) {
- int type = txt[i].getRunType();
- if (type == TextHeaderAtom.CENTER_TITLE_TYPE ||
- type == TextHeaderAtom.TITLE_TYPE ){
- String title = txt[i].getText();
- return title;
- }
- }
- return null;
- }
-
- // Simple Accesser methods follow
-
- /**
- * Returns an array of all the TextRuns found
- */
- public TextRun[] getTextRuns() { return _runs; }
-
- /**
- * Returns the (public facing) page number of this slide
- */
- public int getSlideNumber() { return _slideNo; }
-
- /**
- * Returns the underlying slide record
- */
- public org.apache.poi.hslf.record.Slide getSlideRecord() {
- return (org.apache.poi.hslf.record.Slide)getSheetContainer();
- }
-
- /**
- * Returns the Notes Sheet for this slide, or null if there isn't one
- */
- public Notes getNotesSheet() { return _notes; }
-
- /**
- * @return set of records inside <code>SlideListWithtext</code> container
- * which hold text data for this slide (typically for placeholders).
- */
- protected SlideAtomsSet getSlideAtomsSet() { return _atomSet; }
-
- /**
- * Returns master sheet associated with this slide.
- * It can be either SlideMaster or TitleMaster objects.
- *
- * @return the master sheet associated with this slide.
- */
- public MasterSheet getMasterSheet(){
- SlideMaster[] master = getSlideShow().getSlidesMasters();
- SlideAtom sa = getSlideRecord().getSlideAtom();
- int masterId = sa.getMasterID();
- MasterSheet sheet = null;
- for (int i = 0; i < master.length; i++) {
- if (masterId == master[i]._getSheetNumber()) {
- sheet = master[i];
- break;
- }
- }
- if (sheet == null){
- TitleMaster[] titleMaster = getSlideShow().getTitleMasters();
- if(titleMaster != null) for (int i = 0; i < titleMaster.length; i++) {
- if (masterId == titleMaster[i]._getSheetNumber()) {
- sheet = titleMaster[i];
- break;
- }
- }
- }
- return sheet;
- }
-
- /**
- * Change Master of this slide.
- */
- public void setMasterSheet(MasterSheet master){
- SlideAtom sa = getSlideRecord().getSlideAtom();
- int sheetNo = master._getSheetNumber();
- sa.setMasterID(sheetNo);
- }
-
- /**
- * Sets whether this slide follows master background
- *
- * @param flag <code>true</code> if the slide follows master,
- * <code>false</code> otherwise
- */
- public void setFollowMasterBackground(boolean flag){
- SlideAtom sa = getSlideRecord().getSlideAtom();
- sa.setFollowMasterBackground(flag);
- }
-
- /**
- * Whether this slide follows master sheet background
- *
- * @return <code>true</code> if the slide follows master background,
- * <code>false</code> otherwise
- */
- public boolean getFollowMasterBackground(){
- SlideAtom sa = getSlideRecord().getSlideAtom();
- return sa.getFollowMasterBackground();
- }
-
- /**
- * Sets whether this slide draws master sheet objects
- *
- * @param flag <code>true</code> if the slide draws master sheet objects,
- * <code>false</code> otherwise
- */
- public void setFollowMasterObjects(boolean flag){
- SlideAtom sa = getSlideRecord().getSlideAtom();
- sa.setFollowMasterObjects(flag);
- }
-
- /**
- * Whether this slide follows master color scheme
- *
- * @return <code>true</code> if the slide follows master color scheme,
- * <code>false</code> otherwise
- */
- public boolean getFollowMasterScheme(){
- SlideAtom sa = getSlideRecord().getSlideAtom();
- return sa.getFollowMasterScheme();
- }
-
- /**
- * Sets whether this slide draws master color scheme
- *
- * @param flag <code>true</code> if the slide draws master color scheme,
- * <code>false</code> otherwise
- */
- public void setFollowMasterScheme(boolean flag){
- SlideAtom sa = getSlideRecord().getSlideAtom();
- sa.setFollowMasterScheme(flag);
- }
-
- /**
- * Whether this slide draws master sheet objects
- *
- * @return <code>true</code> if the slide draws master sheet objects,
- * <code>false</code> otherwise
- */
- public boolean getFollowMasterObjects(){
- SlideAtom sa = getSlideRecord().getSlideAtom();
- return sa.getFollowMasterObjects();
- }
-
- /**
- * Background for this slide.
- */
- public Background getBackground() {
- if(getFollowMasterBackground()) {
- return getMasterSheet().getBackground();
- }
- return super.getBackground();
- }
-
- /**
- * Color scheme for this slide.
- */
- public ColorSchemeAtom getColorScheme() {
- if(getFollowMasterScheme()){
- return getMasterSheet().getColorScheme();
- }
- return super.getColorScheme();
- }
-
- /**
- * Get the comment(s) for this slide.
- * Note - for now, only works on PPT 2000 and
- * PPT 2003 files. Doesn't work for PPT 97
- * ones, as they do their comments oddly.
- */
- public Comment[] getComments() {
- // If there are any, they're in
- // ProgTags -> ProgBinaryTag -> BinaryTagData
- RecordContainer progTags = (RecordContainer)
- getSheetContainer().findFirstOfType(
- RecordTypes.ProgTags.typeID
- );
- if(progTags != null) {
- RecordContainer progBinaryTag = (RecordContainer)
- progTags.findFirstOfType(
- RecordTypes.ProgBinaryTag.typeID
- );
- if(progBinaryTag != null) {
- RecordContainer binaryTags = (RecordContainer)
- progBinaryTag.findFirstOfType(
- RecordTypes.BinaryTagData.typeID
- );
- if(binaryTags != null) {
- // This is where they'll be
- int count = 0;
- for(int i=0; i<binaryTags.getChildRecords().length; i++) {
- if(binaryTags.getChildRecords()[i] instanceof Comment2000) {
- count++;
- }
- }
-
- // Now build
- Comment[] comments = new Comment[count];
- count = 0;
- for(int i=0; i<binaryTags.getChildRecords().length; i++) {
- if(binaryTags.getChildRecords()[i] instanceof Comment2000) {
- comments[i] = new Comment(
- (Comment2000)binaryTags.getChildRecords()[i]
- );
- count++;
- }
- }
-
- return comments;
- }
- }
- }
-
- // None found
- return new Comment[0];
- }
-
- public void draw(Graphics2D graphics){
- MasterSheet master = getMasterSheet();
- Background bg = getBackground();
- if(bg != null)bg.draw(graphics);
-
- if(getFollowMasterObjects()){
- HSLFShape[] sh = master.getShapes();
- for (int i = 0; i < sh.length; i++) {
- if(MasterSheet.isPlaceholder(sh[i])) continue;
-
- sh[i].draw(graphics);
- }
- }
-
- HSLFShape[] sh = getShapes();
- for (int i = 0; i < sh.length; i++) {
- sh[i].draw(graphics);
- }
- }
-
- /**
- * Header / Footer settings for this slide.
- *
- * @return Header / Footer settings for this slide
- */
- public HeadersFooters getHeadersFooters(){
- HeadersFootersContainer hdd = null;
- Record[] ch = getSheetContainer().getChildRecords();
- boolean ppt2007 = false;
- for (int i = 0; i < ch.length; i++) {
- if(ch[i] instanceof HeadersFootersContainer){
- hdd = (HeadersFootersContainer)ch[i];
- } else if (ch[i].getRecordType() == RecordTypes.RoundTripContentMasterId.typeID){
- ppt2007 = true;
- }
- }
- boolean newRecord = false;
- if(hdd == null && !ppt2007) {
- return getSlideShow().getSlideHeadersFooters();
- }
- if(hdd == null) {
- hdd = new HeadersFootersContainer(HeadersFootersContainer.SlideHeadersFootersContainer);
- newRecord = true;
- }
- return new HeadersFooters(hdd, this, newRecord, ppt2007);
- }
-
- protected void onAddTextShape(TextShape shape) {
- TextRun run = shape.getTextRun();
-
- if(_runs == null) _runs = new TextRun[]{run};
- else {
- TextRun[] tmp = new TextRun[_runs.length + 1];
- System.arraycopy(_runs, 0, tmp, 0, _runs.length);
- tmp[tmp.length-1] = run;
- _runs = tmp;
- }
- }
-
- /** This will return an atom per TextBox, so if the page has two text boxes the method should return two atoms. */
- public StyleTextProp9Atom[] getNumberedListInfo() {
- return this.getPPDrawing().getNumberedListInfo();
- }
-
- public EscherTextboxWrapper[] getTextboxWrappers() {
- return this.getPPDrawing().getTextboxWrappers();
- }
-
- public void setHidden(boolean hidden) {
- org.apache.poi.hslf.record.Slide cont = getSlideRecord();
-
- SSSlideInfoAtom slideInfo =
- (SSSlideInfoAtom)cont.findFirstOfType(RecordTypes.SSSlideInfoAtom.typeID);
- if (slideInfo == null) {
- slideInfo = new SSSlideInfoAtom();
- cont.addChildAfter(slideInfo, cont.findFirstOfType(RecordTypes.SlideAtom.typeID));
- }
-
- slideInfo.setEffectTransitionFlagByBit(SSSlideInfoAtom.HIDDEN_BIT, hidden);
- }
-
- public boolean getHidden() {
- SSSlideInfoAtom slideInfo =
- (SSSlideInfoAtom)getSlideRecord().findFirstOfType(RecordTypes.SSSlideInfoAtom.typeID);
- return (slideInfo == null)
- ? false
- : slideInfo.getEffectTransitionFlagByBit(SSSlideInfoAtom.HIDDEN_BIT);
- }
-}
import org.apache.poi.hslf.model.textproperties.TextProp;
import org.apache.poi.hslf.model.textproperties.TextPropCollection;
import org.apache.poi.hslf.record.*;
-import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
/**
* SlideMaster determines the graphics, layout, and formatting for all the slides in a given presentation.
*
* @author Yegor Kozlov
*/
-public final class SlideMaster extends MasterSheet {
- private TextRun[] _runs;
+public final class SlideMaster extends HSLFMasterSheet {
+ private HSLFTextParagraph[] _runs;
/**
* all TxMasterStyleAtoms available in this master
/**
* Returns an array of all the TextRuns found
*/
- public TextRun[] getTextRuns() {
+ public HSLFTextParagraph[] getTextRuns() {
return _runs;
}
/**
* Returns <code>null</code> since SlideMasters doen't have master sheet.
*/
- public MasterSheet getMasterSheet() {
+ public HSLFMasterSheet getMasterSheet() {
return null;
}
* Assign SlideShow for this slide master.
* (Used interanlly)
*/
- public void setSlideShow(SlideShow ss) {
+ public void setSlideShow(HSLFSlideShow ss) {
super.setSlideShow(ss);
//after the slide show is assigned collect all available style records
}
}
- protected void onAddTextShape(TextShape shape) {
- TextRun run = shape.getTextRun();
+ protected void onAddTextShape(HSLFTextShape shape) {
+ HSLFTextParagraph run = shape.getTextParagraph();
- if(_runs == null) _runs = new TextRun[]{run};
+ if(_runs == null) _runs = new HSLFTextParagraph[]{run};
else {
- TextRun[] tmp = new TextRun[_runs.length + 1];
+ HSLFTextParagraph[] tmp = new HSLFTextParagraph[_runs.length + 1];
System.arraycopy(_runs, 0, tmp, 0, _runs.length);
tmp[tmp.length-1] = run;
_runs = tmp;
return cells.length;
}
- protected void afterInsert(Sheet sh){
+ protected void afterInsert(HSLFSheet sh){
super.afterInsert(sh);
EscherContainerRecord spCont = (EscherContainerRecord) getSpContainer().getChild(0);
List<List<HSLFShape>> lst = new ArrayList<List<HSLFShape>>();
List<HSLFShape> row = null;
for (HSLFShape sh : shapeList) {
- if(sh instanceof TextShape){
+ if(sh instanceof HSLFTextShape){
Rectangle anchor = sh.getAnchor();
if(anchor.y != y0){
y0 = anchor.y;
for (int i = 0; i < lst.size(); i++) {
row = lst.get(i);
for (int j = 0; j < row.size(); j++) {
- TextShape tx = (TextShape)row.get(j);
+ HSLFTextShape tx = (HSLFTextShape)row.get(j);
cells[i][j] = new TableCell(tx.getSpContainer(), getParent());
cells[i][j].setSheet(tx.getSheet());
}
*
* @param sheet owner of this shape
*/
- public void setSheet(Sheet sheet){
+ public void setSheet(HSLFSheet sheet){
super.setSheet(sheet);
if(cells == null) initTable();
}
*
* @author Yegor Kozlov
*/
-public final class TableCell extends TextBox {
+public final class TableCell extends HSLFTextBox {
protected static final int DEFAULT_WIDTH = 100;
protected static final int DEFAULT_HEIGHT = 40;
+++ /dev/null
-/* ====================================================================
- 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.hslf.model;
-
-import org.apache.poi.ddf.*;
-import org.apache.poi.sl.usermodel.ShapeContainer;
-import org.apache.poi.sl.usermodel.ShapeType;
-
-/**
- * Represents a TextFrame shape in PowerPoint.
- * <p>
- * Contains the text in a text frame as well as the properties and methods
- * that control alignment and anchoring of the text.
- * </p>
- *
- * @author Yegor Kozlov
- */
-public class TextBox extends TextShape {
-
- /**
- * Create a TextBox object and initialize it from the supplied Record container.
- *
- * @param escherRecord <code>EscherSpContainer</code> container which holds information about this shape
- * @param parent the parent of the shape
- */
- protected TextBox(EscherContainerRecord escherRecord, ShapeContainer<HSLFShape> parent){
- super(escherRecord, parent);
-
- }
-
- /**
- * Create a new TextBox. This constructor is used when a new shape is created.
- *
- * @param parent the parent of this Shape. For example, if this text box is a cell
- * in a table then the parent is Table.
- */
- public TextBox(ShapeContainer<HSLFShape> parent){
- super(parent);
- }
-
- /**
- * Create a new TextBox. This constructor is used when a new shape is created.
- *
- */
- public TextBox(){
- this(null);
- }
-
- /**
- * Create a new TextBox and initialize its internal structures
- *
- * @return the created <code>EscherContainerRecord</code> which holds shape data
- */
- protected EscherContainerRecord createSpContainer(boolean isChild){
- _escherContainer = super.createSpContainer(isChild);
-
- setShapeType(ShapeType.TEXT_BOX);
-
- //set default properties for a TextBox
- setEscherProperty(EscherProperties.FILL__FILLCOLOR, 0x8000004);
- setEscherProperty(EscherProperties.FILL__FILLBACKCOLOR, 0x8000000);
- setEscherProperty(EscherProperties.FILL__NOFILLHITTEST, 0x100000);
- setEscherProperty(EscherProperties.LINESTYLE__COLOR, 0x8000001);
- setEscherProperty(EscherProperties.LINESTYLE__NOLINEDRAWDASH, 0x80000);
- setEscherProperty(EscherProperties.SHADOWSTYLE__COLOR, 0x8000002);
-
- _txtrun = createTextRun();
-
- return _escherContainer;
- }
-
- protected void setDefaultTextProperties(TextRun _txtrun){
- setVerticalAlignment(TextBox.AnchorTop);
- setEscherProperty(EscherProperties.TEXT__SIZE_TEXT_TO_FIT_SHAPE, 0x20002);
- }
-
-}
import java.util.Map;
import org.apache.poi.hslf.record.TextRulerAtom;
-import org.apache.poi.hslf.usermodel.RichTextRun;
+import org.apache.poi.hslf.usermodel.HSLFTextRun;
import org.apache.poi.util.POILogFactory;
import org.apache.poi.util.POILogger;
*/
protected static final char DEFAULT_BULLET_CHAR = '\u25a0';
- protected TextShape _shape;
+ protected HSLFTextShape _shape;
- public TextPainter(TextShape shape){
+ public TextPainter(HSLFTextShape shape){
_shape = shape;
}
- public AttributedString getAttributedString(TextRun txrun) {
+ public AttributedString getAttributedString(HSLFTextParagraph txrun) {
return getAttributedString(txrun, null);
}
/**
* Convert the underlying set of rich text runs into java.text.AttributedString
*/
- public AttributedString getAttributedString(TextRun txrun, Graphics2D graphics){
+ public AttributedString getAttributedString(HSLFTextParagraph txrun, Graphics2D graphics){
String text = txrun.getText();
//TODO: properly process tabs
text = text.replace('\t', ' ');
text = text.replace((char)160, ' ');
AttributedString at = new AttributedString(text);
- RichTextRun[] rt = txrun.getRichTextRuns();
+ HSLFTextRun[] rt = txrun.getRichTextRuns();
for (int i = 0; i < rt.length; i++) {
int start = rt[i].getStartIndex();
int end = rt[i].getEndIndex();
int valign = _shape.getVerticalAlignment();
double y0 = anchor.getY();
switch (valign){
- case TextShape.AnchorTopBaseline:
- case TextShape.AnchorTop:
+ case HSLFTextShape.AnchorTopBaseline:
+ case HSLFTextShape.AnchorTop:
y0 += _shape.getMarginTop();
break;
- case TextShape.AnchorBottom:
+ case HSLFTextShape.AnchorBottom:
y0 += anchor.getHeight() - textHeight - _shape.getMarginBottom();
break;
default:
- case TextShape.AnchorMiddle:
+ case HSLFTextShape.AnchorMiddle:
float delta = (float)anchor.getHeight() - textHeight - _shape.getMarginTop() - _shape.getMarginBottom();
y0 += _shape.getMarginTop() + delta/2;
break;
pen.y = y0;
switch (elem[i]._align) {
default:
- case TextShape.AlignLeft:
+ case HSLFTextShape.AlignLeft:
pen.x = anchor.getX() + _shape.getMarginLeft();
break;
- case TextShape.AlignCenter:
+ case HSLFTextShape.AlignCenter:
pen.x = anchor.getX() + _shape.getMarginLeft() +
(anchor.getWidth() - elem[i].advance - _shape.getMarginLeft() - _shape.getMarginRight()) / 2;
break;
- case TextShape.AlignRight:
+ case HSLFTextShape.AlignRight:
pen.x = anchor.getX() + _shape.getMarginLeft() +
(anchor.getWidth() - elem[i].advance - _shape.getMarginLeft() - _shape.getMarginRight());
break;
}
public TextElement[] getTextElements(float textWidth, FontRenderContext frc, Graphics2D graphics){
- TextRun run = _shape.getTextRun();
+ HSLFTextParagraph run = _shape.getTextParagraph();
if (run == null) return null;
String text = run.getText();
boolean prStart = text.charAt(startIndex) == '\n';
if(prStart) measurer.setPosition(startIndex++);
- RichTextRun rt = run.getRichTextRunAt(startIndex == text.length() ? (startIndex-1) : startIndex);
+ HSLFTextRun rt = run.getRichTextRunAt(startIndex == text.length() ? (startIndex-1) : startIndex);
if(rt == null) {
logger.log(POILogger.WARN, "RichTextRun not found at pos" + startIndex + "; text.length: " + text.length());
break;
if(bulletOffset > 0 || prStart || startIndex == 0) wrappingWidth -= textOffset;
- if (_shape.getWordWrap() == TextShape.WrapNone) {
+ if (_shape.getWordWrap() == HSLFTextShape.WrapNone) {
wrappingWidth = _shape.getSheet().getSlideShow().getPageSize().width;
}
+++ /dev/null
-/* ====================================================================
- 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.hslf.model;
-
-import java.util.ArrayList;
-import java.util.LinkedList;
-import java.util.List;
-
-import org.apache.poi.hslf.model.textproperties.TextPropCollection;
-import org.apache.poi.hslf.record.PPDrawing;
-import org.apache.poi.hslf.record.Record;
-import org.apache.poi.hslf.record.RecordContainer;
-import org.apache.poi.hslf.record.SlideListWithText;
-import org.apache.poi.hslf.record.StyleTextProp9Atom;
-import org.apache.poi.hslf.record.StyleTextPropAtom;
-import org.apache.poi.hslf.record.TextBytesAtom;
-import org.apache.poi.hslf.record.TextCharsAtom;
-import org.apache.poi.hslf.record.TextHeaderAtom;
-import org.apache.poi.hslf.record.TextRulerAtom;
-import org.apache.poi.hslf.record.TextSpecInfoAtom;
-import org.apache.poi.hslf.usermodel.RichTextRun;
-import org.apache.poi.hslf.usermodel.SlideShow;
-import org.apache.poi.util.StringUtil;
-
-/**
- * This class represents a run of text in a powerpoint document. That
- * run could be text on a sheet, or text in a note.
- * It is only a very basic class for now
- *
- * @author Nick Burch
- */
-
-public final class TextRun
-{
- // Note: These fields are protected to help with unit testing
- // Other classes shouldn't really go playing with them!
- protected TextHeaderAtom _headerAtom;
- protected TextBytesAtom _byteAtom;
- protected TextCharsAtom _charAtom;
- protected StyleTextPropAtom _styleAtom;
- protected TextRulerAtom _ruler;
- protected boolean _isUnicode;
- protected RichTextRun[] _rtRuns;
- private SlideShow slideShow;
- private Sheet _sheet;
- private int shapeId;
- private int slwtIndex = -1; //position in the owning SlideListWithText
- /**
- * all text run records that follow TextHeaderAtom.
- * (there can be misc InteractiveInfo, TxInteractiveInfo and other records)
- */
- protected Record[] _records;
- // private StyleTextPropAtom styleTextPropAtom;
- private StyleTextProp9Atom styleTextProp9Atom;
-
- /**
- * Constructs a Text Run from a Unicode text block
- *
- * @param tha the TextHeaderAtom that defines what's what
- * @param tca the TextCharsAtom containing the text
- * @param sta the StyleTextPropAtom which defines the character stylings
- */
- public TextRun(TextHeaderAtom tha, TextCharsAtom tca, StyleTextPropAtom sta) {
- this(tha,null,tca,sta);
- }
-
- /**
- * Constructs a Text Run from a Ascii text block
- *
- * @param tha the TextHeaderAtom that defines what's what
- * @param tba the TextBytesAtom containing the text
- * @param sta the StyleTextPropAtom which defines the character stylings
- */
- public TextRun(TextHeaderAtom tha, TextBytesAtom tba, StyleTextPropAtom sta) {
- this(tha,tba,null,sta);
- }
-
- /**
- * Internal constructor and initializer
- */
- private TextRun(TextHeaderAtom tha, TextBytesAtom tba, TextCharsAtom tca, StyleTextPropAtom sta) {
- _headerAtom = tha;
- _styleAtom = sta;
- if(tba != null) {
- _byteAtom = tba;
- _isUnicode = false;
- } else {
- _charAtom = tca;
- _isUnicode = true;
- }
- String runRawText = getText();
-
- // Figure out the rich text runs
- LinkedList<TextPropCollection> pStyles = new LinkedList<TextPropCollection>();
- LinkedList<TextPropCollection> cStyles = new LinkedList<TextPropCollection>();
- if(_styleAtom != null) {
- // Get the style atom to grok itself
- _styleAtom.setParentTextSize(runRawText.length());
- pStyles = _styleAtom.getParagraphStyles();
- cStyles = _styleAtom.getCharacterStyles();
- }
- buildRichTextRuns(pStyles, cStyles, runRawText);
- }
-
- public void buildRichTextRuns(LinkedList<TextPropCollection> pStyles, LinkedList<TextPropCollection> cStyles, String runRawText){
-
- // Handle case of no current style, with a default
- if(pStyles.size() == 0 || cStyles.size() == 0) {
- _rtRuns = new RichTextRun[1];
- _rtRuns[0] = new RichTextRun(this, 0, runRawText.length());
- } else {
- // Build up Rich Text Runs, one for each
- // character/paragraph style pair
- List<RichTextRun> rtrs = new ArrayList<RichTextRun>();
-
- int pos = 0;
-
- int curP = 0;
- int curC = 0;
- int pLenRemain = -1;
- int cLenRemain = -1;
-
- // Build one for each run with the same style
- while(pos <= runRawText.length() && curP < pStyles.size() && curC < cStyles.size()) {
- // Get the Props to use
- TextPropCollection pProps = pStyles.get(curP);
- TextPropCollection cProps = cStyles.get(curC);
-
- int pLen = pProps.getCharactersCovered();
- int cLen = cProps.getCharactersCovered();
-
- // Handle new pass
- boolean freshSet = false;
- if(pLenRemain == -1 && cLenRemain == -1) { freshSet = true; }
- if(pLenRemain == -1) { pLenRemain = pLen; }
- if(cLenRemain == -1) { cLenRemain = cLen; }
-
- // So we know how to build the eventual run
- int runLen = -1;
- boolean pShared = false;
- boolean cShared = false;
-
- // Same size, new styles - neither shared
- if(pLen == cLen && freshSet) {
- runLen = cLen;
- pShared = false;
- cShared = false;
- curP++;
- curC++;
- pLenRemain = -1;
- cLenRemain = -1;
- } else {
- // Some sharing
-
- // See if we are already in a shared block
- if(pLenRemain < pLen) {
- // Existing shared p block
- pShared = true;
-
- // Do we end with the c block, or either side of it?
- if(pLenRemain == cLenRemain) {
- // We end at the same time
- cShared = false;
- runLen = pLenRemain;
- curP++;
- curC++;
- pLenRemain = -1;
- cLenRemain = -1;
- } else if(pLenRemain < cLenRemain) {
- // We end before the c block
- cShared = true;
- runLen = pLenRemain;
- curP++;
- cLenRemain -= pLenRemain;
- pLenRemain = -1;
- } else {
- // We end after the c block
- cShared = false;
- runLen = cLenRemain;
- curC++;
- pLenRemain -= cLenRemain;
- cLenRemain = -1;
- }
- } else if(cLenRemain < cLen) {
- // Existing shared c block
- cShared = true;
-
- // Do we end with the p block, or either side of it?
- if(pLenRemain == cLenRemain) {
- // We end at the same time
- pShared = false;
- runLen = cLenRemain;
- curP++;
- curC++;
- pLenRemain = -1;
- cLenRemain = -1;
- } else if(cLenRemain < pLenRemain) {
- // We end before the p block
- pShared = true;
- runLen = cLenRemain;
- curC++;
- pLenRemain -= cLenRemain;
- cLenRemain = -1;
- } else {
- // We end after the p block
- pShared = false;
- runLen = pLenRemain;
- curP++;
- cLenRemain -= pLenRemain;
- pLenRemain = -1;
- }
- } else {
- // Start of a shared block
- if(pLenRemain < cLenRemain) {
- // Shared c block
- pShared = false;
- cShared = true;
- runLen = pLenRemain;
- curP++;
- cLenRemain -= pLenRemain;
- pLenRemain = -1;
- } else {
- // Shared p block
- pShared = true;
- cShared = false;
- runLen = cLenRemain;
- curC++;
- pLenRemain -= cLenRemain;
- cLenRemain = -1;
- }
- }
- }
-
- // Wind on
- int prevPos = pos;
- pos += runLen;
- // Adjust for end-of-run extra 1 length
- if(pos > runRawText.length()) {
- runLen--;
- }
-
- // Save
- RichTextRun rtr = new RichTextRun(this, prevPos, runLen, pProps, cProps, pShared, cShared);
- rtrs.add(rtr);
- }
-
- // Build the array
- _rtRuns = rtrs.toArray(new RichTextRun[rtrs.size()]);
- }
-
- }
-
- // Update methods follow
-
- /**
- * Adds the supplied text onto the end of the TextRun,
- * creating a new RichTextRun (returned) for it to
- * sit in.
- * In many cases, before calling this, you'll want to add
- * a newline onto the end of your last RichTextRun
- */
- public RichTextRun appendText(String s) {
- // We will need a StyleTextProp atom
- ensureStyleAtomPresent();
-
- // First up, append the text to the
- // underlying text atom
- int oldSize = getRawText().length();
- storeText(
- getRawText() + s
- );
-
- // If either of the previous styles overran
- // the text by one, we need to shuffle that
- // extra character onto the new ones
- int pOverRun = _styleAtom.getParagraphTextLengthCovered() - oldSize;
- int cOverRun = _styleAtom.getCharacterTextLengthCovered() - oldSize;
- if(pOverRun > 0) {
- TextPropCollection tpc = _styleAtom.getParagraphStyles().getLast();
- tpc.updateTextSize(
- tpc.getCharactersCovered() - pOverRun
- );
- }
- if(cOverRun > 0) {
- TextPropCollection tpc = _styleAtom.getCharacterStyles().getLast();
- tpc.updateTextSize(
- tpc.getCharactersCovered() - cOverRun
- );
- }
-
- // Next, add the styles for its paragraph and characters
- TextPropCollection newPTP =
- _styleAtom.addParagraphTextPropCollection(s.length()+pOverRun);
- TextPropCollection newCTP =
- _styleAtom.addCharacterTextPropCollection(s.length()+cOverRun);
-
- // Now, create the new RichTextRun
- RichTextRun nr = new RichTextRun(
- this, oldSize, s.length(),
- newPTP, newCTP, false, false
- );
-
- // Add the new RichTextRun onto our list
- RichTextRun[] newRuns = new RichTextRun[_rtRuns.length+1];
- System.arraycopy(_rtRuns, 0, newRuns, 0, _rtRuns.length);
- newRuns[newRuns.length-1] = nr;
- _rtRuns = newRuns;
-
- // And return the new run to the caller
- return nr;
- }
-
- /**
- * Saves the given string to the records. Doesn't
- * touch the stylings.
- */
- private void storeText(String s) {
- // Store in the appropriate record
- if(_isUnicode) {
- // The atom can safely convert to unicode
- _charAtom.setText(s);
- } else {
- // Will it fit in a 8 bit atom?
- boolean hasMultibyte = StringUtil.hasMultibyte(s);
- if(! hasMultibyte) {
- // Fine to go into 8 bit atom
- byte[] text = new byte[s.length()];
- StringUtil.putCompressedUnicode(s,text,0);
- _byteAtom.setText(text);
- } else {
- // Need to swap a TextBytesAtom for a TextCharsAtom
-
- // Build the new TextCharsAtom
- _charAtom = new TextCharsAtom();
- _charAtom.setText(s);
-
- // Use the TextHeaderAtom to do the swap on the parent
- RecordContainer parent = _headerAtom.getParentRecord();
- Record[] cr = parent.getChildRecords();
- for(int i=0; i<cr.length; i++) {
- // Look for TextBytesAtom
- if(cr[i].equals(_byteAtom)) {
- // Found it, so replace, then all done
- cr[i] = _charAtom;
- break;
- }
- }
-
- // Flag the change
- _byteAtom = null;
- _isUnicode = true;
- }
- }
- /**
- * If TextSpecInfoAtom is present, we must update the text size in it,
- * otherwise the ppt will be corrupted
- */
- if(_records != null) for (int i = 0; i < _records.length; i++) {
- if(_records[i] instanceof TextSpecInfoAtom){
- TextSpecInfoAtom specAtom = (TextSpecInfoAtom)_records[i];
- if((s.length() + 1) != specAtom.getCharactersCovered()){
- specAtom.reset(s.length() + 1);
- }
- }
- }
- }
-
- /**
- * Handles an update to the text stored in one of the Rich Text Runs
- * @param run
- * @param s
- */
- public void changeTextInRichTextRun(RichTextRun run, String s) {
- // Figure out which run it is
- int runID = -1;
- for(int i=0; i<_rtRuns.length; i++) {
- if(run.equals(_rtRuns[i])) {
- runID = i;
- }
- }
- if(runID == -1) {
- throw new IllegalArgumentException("Supplied RichTextRun wasn't from this TextRun");
- }
-
- // Ensure a StyleTextPropAtom is present, adding if required
- ensureStyleAtomPresent();
-
- // Update the text length for its Paragraph and Character stylings
- // If it's shared:
- // * calculate the new length based on the run's old text
- // * this should leave in any +1's for the end of block if needed
- // If it isn't shared:
- // * reset the length, to the new string's length
- // * add on +1 if the last block
- // The last run needs its stylings to be 1 longer than the raw
- // text is. This is to define the stylings that any new text
- // that is added will inherit
- TextPropCollection pCol = run._getRawParagraphStyle();
- TextPropCollection cCol = run._getRawCharacterStyle();
- int newSize = s.length();
- if(runID == _rtRuns.length-1) {
- newSize++;
- }
-
- if(run._isParagraphStyleShared()) {
- pCol.updateTextSize( pCol.getCharactersCovered() - run.getLength() + s.length() );
- } else {
- pCol.updateTextSize(newSize);
- }
- if(run._isCharacterStyleShared()) {
- cCol.updateTextSize( cCol.getCharactersCovered() - run.getLength() + s.length() );
- } else {
- cCol.updateTextSize(newSize);
- }
-
- // Build up the new text
- // As we go through, update the start position for all subsequent runs
- // The building relies on the old text still being present
- StringBuffer newText = new StringBuffer();
- for(int i=0; i<_rtRuns.length; i++) {
- int newStartPos = newText.length();
-
- // Build up the new text
- if(i != runID) {
- // Not the affected run, so keep old text
- newText.append(_rtRuns[i].getRawText());
- } else {
- // Affected run, so use new text
- newText.append(s);
- }
-
- // Do we need to update the start position of this run?
- // (Need to get the text before we update the start pos)
- if(i <= runID) {
- // Change is after this, so don't need to change start position
- } else {
- // Change has occured, so update start position
- _rtRuns[i].updateStartPosition(newStartPos);
- }
- }
-
- // Now we can save the new text
- storeText(newText.toString());
- }
-
- /**
- * Changes the text, and sets it all to have the same styling
- * as the the first character has.
- * If you care about styling, do setText on a RichTextRun instead
- */
- public void setRawText(String s) {
- // Save the new text to the atoms
- storeText(s);
- RichTextRun fst = _rtRuns[0];
-
- // Finally, zap and re-do the RichTextRuns
- for(int i=0; i<_rtRuns.length; i++) { _rtRuns[i] = null; }
- _rtRuns = new RichTextRun[1];
- _rtRuns[0] = fst;
-
- // Now handle record stylings:
- // If there isn't styling
- // no change, stays with no styling
- // If there is styling:
- // everthing gets the same style that the first block has
- // Update the lengths +1 for since these will be the only runs
- if(_styleAtom != null) {
- LinkedList<TextPropCollection> pStyles = _styleAtom.getParagraphStyles();
- while(pStyles.size() > 1) { pStyles.removeLast(); }
-
- if (!pStyles.isEmpty()) {
- pStyles.getFirst().updateTextSize( s.length()+1 );
- }
-
- LinkedList<TextPropCollection> cStyles = _styleAtom.getCharacterStyles();
- while(cStyles.size() > 1) { cStyles.removeLast(); }
-
- if (!cStyles.isEmpty()) {
- cStyles.getFirst().updateTextSize( s.length()+1 );
- }
-
- _rtRuns[0].setText(s);
- } else {
- // Recreate rich text run with no styling
- _rtRuns[0] = new RichTextRun(this,0,s.length());
- }
-
- }
-
- /**
- * Changes the text.
- * Converts '\r' into '\n'
- */
- public void setText(String s) {
- String text = normalize(s);
- setRawText(text);
- }
-
- /**
- * Ensure a StyleTextPropAtom is present for this run,
- * by adding if required. Normally for internal TextRun use.
- */
- public void ensureStyleAtomPresent() {
- if(_styleAtom != null) {
- // All there
- return;
- }
-
- // Create a new one at the right size
- _styleAtom = new StyleTextPropAtom(getRawText().length() + 1);
-
- // Use the TextHeader atom to get at the parent
- RecordContainer runAtomsParent = _headerAtom.getParentRecord();
-
- // Add the new StyleTextPropAtom after the TextCharsAtom / TextBytesAtom
- Record addAfter = _byteAtom;
- if(_byteAtom == null) { addAfter = _charAtom; }
- runAtomsParent.addChildAfter(_styleAtom, addAfter);
-
- // Feed this to our sole rich text run
- if(_rtRuns.length != 1) {
- throw new IllegalStateException("Needed to add StyleTextPropAtom when had many rich text runs");
- }
- // These are the only styles for now
- _rtRuns[0].supplyTextProps(
- _styleAtom.getParagraphStyles().get(0),
- _styleAtom.getCharacterStyles().get(0),
- false,
- false
- );
- }
-
- // Accesser methods follow
-
- /**
- * Returns the text content of the run, which has been made safe
- * for printing and other use.
- */
- public String getText() {
- String rawText = getRawText();
-
- // PowerPoint seems to store files with \r as the line break
- // The messes things up on everything but a Mac, so translate
- // them to \n
- String text = rawText.replace('\r','\n');
-
- int type = _headerAtom == null ? 0 : _headerAtom.getTextType();
- if(type == TextHeaderAtom.TITLE_TYPE || type == TextHeaderAtom.CENTER_TITLE_TYPE){
- //0xB acts like cariage return in page titles and like blank in the others
- text = text.replace((char) 0x0B, '\n');
- } else {
- text = text.replace((char) 0x0B, ' ');
- }
- return text;
- }
-
- /**
- * Returns the raw text content of the run. This hasn't had any
- * changes applied to it, and so is probably unlikely to print
- * out nicely.
- */
- public String getRawText() {
- if(_isUnicode) {
- return _charAtom.getText();
- }
- return _byteAtom.getText();
- }
-
- /**
- * Fetch the rich text runs (runs of text with the same styling) that
- * are contained within this block of text
- */
- public RichTextRun[] getRichTextRuns() {
- return _rtRuns;
- }
-
- /**
- * Returns the type of the text, from the TextHeaderAtom.
- * Possible values can be seen from TextHeaderAtom
- * @see org.apache.poi.hslf.record.TextHeaderAtom
- */
- public int getRunType() {
- return _headerAtom.getTextType();
- }
-
- /**
- * Changes the type of the text. Values should be taken
- * from TextHeaderAtom. No checking is done to ensure you
- * set this to a valid value!
- * @see org.apache.poi.hslf.record.TextHeaderAtom
- */
- public void setRunType(int type) {
- _headerAtom.setTextType(type);
- }
-
- /**
- * Supply the SlideShow we belong to.
- * Also passes it on to our child RichTextRuns
- */
- public void supplySlideShow(SlideShow ss) {
- slideShow = ss;
- if(_rtRuns != null) {
- for(int i=0; i<_rtRuns.length; i++) {
- _rtRuns[i].supplySlideShow(slideShow);
- }
- }
- }
-
- public void setSheet(Sheet sheet){
- this._sheet = sheet;
- }
-
- public Sheet getSheet(){
- return this._sheet;
- }
-
- /**
- * @return Shape ID
- */
- protected int getShapeId(){
- return shapeId;
- }
-
- /**
- * @param id Shape ID
- */
- protected void setShapeId(int id){
- shapeId = id;
- }
-
- /**
- * @return 0-based index of the text run in the SLWT container
- */
- protected int getIndex(){
- return slwtIndex;
- }
-
- /**
- * @param id 0-based index of the text run in the SLWT container
- */
- protected void setIndex(int id){
- slwtIndex = id;
- }
-
- /**
- * Is this Text Run one from a {@link PPDrawing}, or is it
- * one from the {@link SlideListWithText}?
- */
- public boolean isDrawingBased() {
- return (slwtIndex == -1);
- }
-
- /**
- * Returns the array of all hyperlinks in this text run
- *
- * @return the array of all hyperlinks in this text run
- * or <code>null</code> if not found.
- */
- public Hyperlink[] getHyperlinks(){
- return Hyperlink.find(this);
- }
-
- /**
- * Fetch RichTextRun at a given position
- *
- * @param pos 0-based index in the text
- * @return RichTextRun or null if not found
- */
- public RichTextRun getRichTextRunAt(int pos){
- for (int i = 0; i < _rtRuns.length; i++) {
- int start = _rtRuns[i].getStartIndex();
- int end = _rtRuns[i].getEndIndex();
- if(pos >= start && pos < end) return _rtRuns[i];
- }
- return null;
- }
-
- public TextRulerAtom getTextRuler(){
- if(_ruler == null){
- if(_records != null) for (int i = 0; i < _records.length; i++) {
- if(_records[i] instanceof TextRulerAtom) {
- _ruler = (TextRulerAtom)_records[i];
- break;
- }
- }
-
- }
- return _ruler;
-
- }
-
- public TextRulerAtom createTextRuler(){
- _ruler = getTextRuler();
- if(_ruler == null){
- _ruler = TextRulerAtom.getParagraphInstance();
- _headerAtom.getParentRecord().appendChildRecord(_ruler);
- }
- return _ruler;
- }
-
- /**
- * Returns a new string with line breaks converted into internal ppt representation
- */
- public String normalize(String s){
- String ns = s.replaceAll("\\r?\\n", "\r");
- return ns;
- }
-
- /**
- * Returns records that make up this text run
- *
- * @return text run records
- */
- public Record[] getRecords(){
- return _records;
- }
- /** Numbered List info */
- public void setStyleTextProp9Atom(final StyleTextProp9Atom styleTextProp9Atom) {
- this.styleTextProp9Atom = styleTextProp9Atom;
- }
- /** Numbered List info */
- public StyleTextProp9Atom getStyleTextProp9Atom() {
- return this.styleTextProp9Atom;
- }
-
- /** Characters covered */
- public StyleTextPropAtom getStyleTextPropAtom() {
- return this._styleAtom;
- }
-
-}
+++ /dev/null
-/* ====================================================================
- 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.hslf.model;
-
-import java.awt.Font;
-import java.awt.Graphics2D;
-import java.awt.Rectangle;
-import java.awt.font.FontRenderContext;
-import java.awt.font.TextLayout;
-import java.awt.geom.AffineTransform;
-import java.awt.geom.Rectangle2D;
-import java.io.IOException;
-
-import org.apache.poi.ddf.EscherContainerRecord;
-import org.apache.poi.ddf.EscherOptRecord;
-import org.apache.poi.ddf.EscherProperties;
-import org.apache.poi.ddf.EscherSimpleProperty;
-import org.apache.poi.ddf.EscherSpRecord;
-import org.apache.poi.ddf.EscherTextboxRecord;
-import org.apache.poi.hslf.exceptions.HSLFException;
-import org.apache.poi.hslf.record.EscherTextboxWrapper;
-import org.apache.poi.hslf.record.InteractiveInfo;
-import org.apache.poi.hslf.record.InteractiveInfoAtom;
-import org.apache.poi.hslf.record.OEPlaceholderAtom;
-import org.apache.poi.hslf.record.OutlineTextRefAtom;
-import org.apache.poi.hslf.record.PPDrawing;
-import org.apache.poi.hslf.record.Record;
-import org.apache.poi.hslf.record.RecordTypes;
-import org.apache.poi.hslf.record.RoundTripHFPlaceholder12;
-import org.apache.poi.hslf.record.StyleTextPropAtom;
-import org.apache.poi.hslf.record.TextBytesAtom;
-import org.apache.poi.hslf.record.TextCharsAtom;
-import org.apache.poi.hslf.record.TextHeaderAtom;
-import org.apache.poi.hslf.record.TxInteractiveInfoAtom;
-import org.apache.poi.hslf.usermodel.RichTextRun;
-import org.apache.poi.sl.usermodel.ShapeContainer;
-import org.apache.poi.util.POILogger;
-
-/**
- * A common superclass of all shapes that can hold text.
- *
- * @author Yegor Kozlov
- */
-public abstract class TextShape extends SimpleShape {
-
- /**
- * How to anchor the text
- */
- public static final int AnchorTop = 0;
- public static final int AnchorMiddle = 1;
- public static final int AnchorBottom = 2;
- public static final int AnchorTopCentered = 3;
- public static final int AnchorMiddleCentered = 4;
- public static final int AnchorBottomCentered = 5;
- public static final int AnchorTopBaseline = 6;
- public static final int AnchorBottomBaseline = 7;
- public static final int AnchorTopCenteredBaseline = 8;
- public static final int AnchorBottomCenteredBaseline = 9;
-
- /**
- * How to wrap the text
- */
- public static final int WrapSquare = 0;
- public static final int WrapByPoints = 1;
- public static final int WrapNone = 2;
- public static final int WrapTopBottom = 3;
- public static final int WrapThrough = 4;
-
- /**
- * How to align the text
- */
- public static final int AlignLeft = 0;
- public static final int AlignCenter = 1;
- public static final int AlignRight = 2;
- public static final int AlignJustify = 3;
-
- /**
- * TextRun object which holds actual text and format data
- */
- protected TextRun _txtrun;
-
- /**
- * Escher container which holds text attributes such as
- * TextHeaderAtom, TextBytesAtom ot TextCharsAtom, StyleTextPropAtom etc.
- */
- protected EscherTextboxWrapper _txtbox;
-
- /**
- * Used to calculate text bounds
- */
- protected static final FontRenderContext _frc = new FontRenderContext(null, true, true);
-
- /**
- * Create a TextBox object and initialize it from the supplied Record container.
- *
- * @param escherRecord <code>EscherSpContainer</code> container which holds information about this shape
- * @param parent the parent of the shape
- */
- protected TextShape(EscherContainerRecord escherRecord, ShapeContainer<HSLFShape> parent){
- super(escherRecord, parent);
-
- }
-
- /**
- * Create a new TextBox. This constructor is used when a new shape is created.
- *
- * @param parent the parent of this Shape. For example, if this text box is a cell
- * in a table then the parent is Table.
- */
- public TextShape(ShapeContainer<HSLFShape> parent){
- super(null, parent);
- _escherContainer = createSpContainer(parent instanceof HSLFGroupShape);
- }
-
- /**
- * Create a new TextBox. This constructor is used when a new shape is created.
- *
- */
- public TextShape(){
- this(null);
- }
-
- public TextRun createTextRun(){
- _txtbox = getEscherTextboxWrapper();
- if(_txtbox == null) _txtbox = new EscherTextboxWrapper();
-
- _txtrun = getTextRun();
- if(_txtrun == null){
- TextHeaderAtom tha = new TextHeaderAtom();
- tha.setParentRecord(_txtbox);
- _txtbox.appendChildRecord(tha);
-
- TextCharsAtom tca = new TextCharsAtom();
- _txtbox.appendChildRecord(tca);
-
- StyleTextPropAtom sta = new StyleTextPropAtom(0);
- _txtbox.appendChildRecord(sta);
-
- _txtrun = new TextRun(tha,tca,sta);
- _txtrun._records = new Record[]{tha, tca, sta};
- _txtrun.setText("");
-
- _escherContainer.addChildRecord(_txtbox.getEscherRecord());
-
- setDefaultTextProperties(_txtrun);
- }
-
- return _txtrun;
- }
-
- /**
- * Set default properties for the TextRun.
- * Depending on the text and shape type the defaults are different:
- * TextBox: align=left, valign=top
- * AutoShape: align=center, valign=middle
- *
- */
- protected void setDefaultTextProperties(TextRun _txtrun){
-
- }
-
- /**
- * Returns the text contained in this text frame.
- *
- * @return the text string for this textbox.
- */
- public String getText(){
- TextRun tx = getTextRun();
- return tx == null ? null : tx.getText();
- }
-
- /**
- * Sets the text contained in this text frame.
- *
- * @param text the text string used by this object.
- */
- public void setText(String text){
- TextRun tx = getTextRun();
- if(tx == null){
- tx = createTextRun();
- }
- tx.setText(text);
- setTextId(text.hashCode());
- }
-
- /**
- * When a textbox is added to a sheet we need to tell upper-level
- * <code>PPDrawing</code> about it.
- *
- * @param sh the sheet we are adding to
- */
- protected void afterInsert(Sheet sh){
- super.afterInsert(sh);
-
- EscherTextboxWrapper _txtbox = getEscherTextboxWrapper();
- if(_txtbox != null){
- PPDrawing ppdrawing = sh.getPPDrawing();
- ppdrawing.addTextboxWrapper(_txtbox);
- // Ensure the escher layer knows about the added records
- try {
- _txtbox.writeOut(null);
- } catch (IOException e){
- throw new HSLFException(e);
- }
- if(getAnchor().equals(new Rectangle()) && !"".equals(getText())) resizeToFitText();
- }
- if(_txtrun != null) {
- _txtrun.setShapeId(getShapeId());
- sh.onAddTextShape(this);
- }
- }
-
- protected EscherTextboxWrapper getEscherTextboxWrapper(){
- if(_txtbox == null){
- EscherTextboxRecord textRecord = getEscherChild(EscherTextboxRecord.RECORD_ID);
- if(textRecord != null) _txtbox = new EscherTextboxWrapper(textRecord);
- }
- return _txtbox;
- }
- /**
- * Adjust the size of the TextShape so it encompasses the text inside it.
- *
- * @return a <code>Rectangle2D</code> that is the bounds of this <code>TextShape</code>.
- */
- public Rectangle2D resizeToFitText(){
- String txt = getText();
- if(txt == null || txt.length() == 0) return new Rectangle2D.Float();
-
- RichTextRun rt = getTextRun().getRichTextRuns()[0];
- int size = rt.getFontSize();
- int style = 0;
- if (rt.isBold()) style |= Font.BOLD;
- if (rt.isItalic()) style |= Font.ITALIC;
- String fntname = rt.getFontName();
- Font font = new Font(fntname, style, size);
-
- float width = 0, height = 0, leading = 0;
- String[] lines = txt.split("\n");
- for (int i = 0; i < lines.length; i++) {
- if(lines[i].length() == 0) continue;
-
- TextLayout layout = new TextLayout(lines[i], font, _frc);
-
- leading = Math.max(leading, layout.getLeading());
- width = Math.max(width, layout.getAdvance());
- height = Math.max(height, (height + (layout.getDescent() + layout.getAscent())));
- }
-
- // add one character to width
- Rectangle2D charBounds = font.getMaxCharBounds(_frc);
- width += getMarginLeft() + getMarginRight() + charBounds.getWidth();
-
- // add leading to height
- height += getMarginTop() + getMarginBottom() + leading;
-
- Rectangle2D anchor = getAnchor2D();
- anchor.setRect(anchor.getX(), anchor.getY(), width, height);
- setAnchor(anchor);
-
- return anchor;
- }
-
- /**
- * Returns the type of vertical alignment for the text.
- * One of the <code>Anchor*</code> constants defined in this class.
- *
- * @return the type of alignment
- */
- public int getVerticalAlignment(){
- EscherOptRecord opt = getEscherOptRecord();
- EscherSimpleProperty prop = getEscherProperty(opt, EscherProperties.TEXT__ANCHORTEXT);
- int valign = TextShape.AnchorTop;
- if (prop == null){
- /**
- * If vertical alignment was not found in the shape properties then try to
- * fetch the master shape and search for the align property there.
- */
- int type = getTextRun().getRunType();
- MasterSheet master = getSheet().getMasterSheet();
- if(master != null){
- TextShape masterShape = master.getPlaceholderByTextType(type);
- if(masterShape != null) valign = masterShape.getVerticalAlignment();
- } else {
- //not found in the master sheet. Use the hardcoded defaults.
- switch (type){
- case TextHeaderAtom.TITLE_TYPE:
- case TextHeaderAtom.CENTER_TITLE_TYPE:
- valign = TextShape.AnchorMiddle;
- break;
- default:
- valign = TextShape.AnchorTop;
- break;
- }
- }
- } else {
- valign = prop.getPropertyValue();
- }
- return valign;
- }
-
- /**
- * Sets the type of vertical alignment for the text.
- * One of the <code>Anchor*</code> constants defined in this class.
- *
- * @param align - the type of alignment
- */
- public void setVerticalAlignment(int align){
- setEscherProperty(EscherProperties.TEXT__ANCHORTEXT, align);
- }
-
- /**
- * Sets the type of horizontal alignment for the text.
- * One of the <code>Align*</code> constants defined in this class.
- *
- * @param align - the type of horizontal alignment
- */
- public void setHorizontalAlignment(int align){
- TextRun tx = getTextRun();
- if(tx != null) tx.getRichTextRuns()[0].setAlignment(align);
- }
-
- /**
- * Gets the type of horizontal alignment for the text.
- * One of the <code>Align*</code> constants defined in this class.
- *
- * @return align - the type of horizontal alignment
- */
- public int getHorizontalAlignment(){
- TextRun tx = getTextRun();
- return tx == null ? -1 : tx.getRichTextRuns()[0].getAlignment();
- }
-
- /**
- * Returns the distance (in points) between the bottom of the text frame
- * and the bottom of the inscribed rectangle of the shape that contains the text.
- * Default value is 1/20 inch.
- *
- * @return the botom margin
- */
- public float getMarginBottom(){
- EscherOptRecord opt = getEscherOptRecord();
- EscherSimpleProperty prop = getEscherProperty(opt, EscherProperties.TEXT__TEXTBOTTOM);
- int val = prop == null ? EMU_PER_INCH/20 : prop.getPropertyValue();
- return (float)val/EMU_PER_POINT;
- }
-
- /**
- * Sets the botom margin.
- * @see #getMarginBottom()
- *
- * @param margin the bottom margin
- */
- public void setMarginBottom(float margin){
- setEscherProperty(EscherProperties.TEXT__TEXTBOTTOM, (int)(margin*EMU_PER_POINT));
- }
-
- /**
- * Returns the distance (in points) between the left edge of the text frame
- * and the left edge of the inscribed rectangle of the shape that contains
- * the text.
- * Default value is 1/10 inch.
- *
- * @return the left margin
- */
- public float getMarginLeft(){
- EscherOptRecord opt = getEscherOptRecord();
- EscherSimpleProperty prop = getEscherProperty(opt, EscherProperties.TEXT__TEXTLEFT);
- int val = prop == null ? EMU_PER_INCH/10 : prop.getPropertyValue();
- return (float)val/EMU_PER_POINT;
- }
-
- /**
- * Sets the left margin.
- * @see #getMarginLeft()
- *
- * @param margin the left margin
- */
- public void setMarginLeft(float margin){
- setEscherProperty(EscherProperties.TEXT__TEXTLEFT, (int)(margin*EMU_PER_POINT));
- }
-
- /**
- * Returns the distance (in points) between the right edge of the
- * text frame and the right edge of the inscribed rectangle of the shape
- * that contains the text.
- * Default value is 1/10 inch.
- *
- * @return the right margin
- */
- public float getMarginRight(){
- EscherOptRecord opt = getEscherOptRecord();
- EscherSimpleProperty prop = getEscherProperty(opt, EscherProperties.TEXT__TEXTRIGHT);
- int val = prop == null ? EMU_PER_INCH/10 : prop.getPropertyValue();
- return (float)val/EMU_PER_POINT;
- }
-
- /**
- * Sets the right margin.
- * @see #getMarginRight()
- *
- * @param margin the right margin
- */
- public void setMarginRight(float margin){
- setEscherProperty(EscherProperties.TEXT__TEXTRIGHT, (int)(margin*EMU_PER_POINT));
- }
-
- /**
- * Returns the distance (in points) between the top of the text frame
- * and the top of the inscribed rectangle of the shape that contains the text.
- * Default value is 1/20 inch.
- *
- * @return the top margin
- */
- public float getMarginTop(){
- EscherOptRecord opt = getEscherOptRecord();
- EscherSimpleProperty prop = getEscherProperty(opt, EscherProperties.TEXT__TEXTTOP);
- int val = prop == null ? EMU_PER_INCH/20 : prop.getPropertyValue();
- return (float)val/EMU_PER_POINT;
- }
-
- /**
- * Sets the top margin.
- * @see #getMarginTop()
- *
- * @param margin the top margin
- */
- public void setMarginTop(float margin){
- setEscherProperty(EscherProperties.TEXT__TEXTTOP, (int)(margin*EMU_PER_POINT));
- }
-
-
- /**
- * Returns the value indicating word wrap.
- *
- * @return the value indicating word wrap.
- * Must be one of the <code>Wrap*</code> constants defined in this class.
- */
- public int getWordWrap(){
- EscherOptRecord opt = getEscherOptRecord();
- EscherSimpleProperty prop = getEscherProperty(opt, EscherProperties.TEXT__WRAPTEXT);
- return prop == null ? WrapSquare : prop.getPropertyValue();
- }
-
- /**
- * Specifies how the text should be wrapped
- *
- * @param wrap the value indicating how the text should be wrapped.
- * Must be one of the <code>Wrap*</code> constants defined in this class.
- */
- public void setWordWrap(int wrap){
- setEscherProperty(EscherProperties.TEXT__WRAPTEXT, wrap);
- }
-
- /**
- * @return id for the text.
- */
- public int getTextId(){
- EscherOptRecord opt = getEscherOptRecord();
- EscherSimpleProperty prop = getEscherProperty(opt, EscherProperties.TEXT__TEXTID);
- return prop == null ? 0 : prop.getPropertyValue();
- }
-
- /**
- * Sets text ID
- *
- * @param id of the text
- */
- public void setTextId(int id){
- setEscherProperty(EscherProperties.TEXT__TEXTID, id);
- }
-
- /**
- * @return the TextRun object for this text box
- */
- public TextRun getTextRun(){
- if (null == this._txtrun) initTextRun();
- if (null == this._txtrun && null != this._txtbox) {
- TextHeaderAtom tha = null;
- TextBytesAtom tba = null;
- TextCharsAtom tca = null;
- StyleTextPropAtom sta = null;
- Record[] childRecords = this._txtbox.getChildRecords();
- for (Record r : childRecords) {
- if (r instanceof TextHeaderAtom) {
- tha = (TextHeaderAtom) r;
- } else if (r instanceof TextBytesAtom) {
- tba = (TextBytesAtom) r;
- } else if (r instanceof TextCharsAtom) {
- tca = (TextCharsAtom) r;
- } else if (r instanceof StyleTextPropAtom) {
- sta = (StyleTextPropAtom) r;
- }
- }
- if (tba != null) {
- this._txtrun = new TextRun(tha, tba, sta);
- } else if (tca != null) {
- this._txtrun = new TextRun(tha, tca, sta);
- }
- }
- return _txtrun;
- }
-
- public void setSheet(Sheet sheet) {
- _sheet = sheet;
-
- // Initialize _txtrun object.
- // (We can't do it in the constructor because the sheet
- // is not assigned then, it's only built once we have
- // all the records)
- TextRun tx = getTextRun();
- if (tx != null) {
- // Supply the sheet to our child RichTextRuns
- tx.setSheet(_sheet);
- RichTextRun[] rt = tx.getRichTextRuns();
- for (int i = 0; i < rt.length; i++) {
- rt[i].supplySlideShow(_sheet.getSlideShow());
- }
- }
-
- }
-
- protected void initTextRun(){
- EscherTextboxWrapper txtbox = getEscherTextboxWrapper();
- Sheet sheet = getSheet();
-
- if(sheet == null || txtbox == null) return;
-
- OutlineTextRefAtom ota = null;
-
- Record[] child = txtbox.getChildRecords();
- for (int i = 0; i < child.length; i++) {
- if (child[i] instanceof OutlineTextRefAtom) {
- ota = (OutlineTextRefAtom)child[i];
- break;
- }
- }
-
- TextRun[] runs = _sheet.getTextRuns();
- if (ota != null) {
- int idx = ota.getTextIndex();
- for (int i = 0; i < runs.length; i++) {
- if(runs[i].getIndex() == idx){
- _txtrun = runs[i];
- break;
- }
- }
- if(_txtrun == null) {
- logger.log(POILogger.WARN, "text run not found for OutlineTextRefAtom.TextIndex=" + idx);
- }
- } else {
- EscherSpRecord escherSpRecord = getEscherChild(EscherSpRecord.RECORD_ID);
- int shapeId = escherSpRecord.getShapeId();
- if(runs != null) for (int i = 0; i < runs.length; i++) {
- if(runs[i].getShapeId() == shapeId){
- _txtrun = runs[i];
- break;
- }
- }
- }
- // ensure the same references child records of TextRun
- if(_txtrun != null) for (int i = 0; i < child.length; i++) {
- for (Record r : _txtrun.getRecords()) {
- if (child[i].getRecordType() == r.getRecordType()) {
- child[i] = r;
- }
- }
- }
- }
-
- public void draw(Graphics2D graphics){
- AffineTransform at = graphics.getTransform();
- ShapePainter.paint(this, graphics);
- new TextPainter(this).paint(graphics);
- graphics.setTransform(at);
- }
-
- /**
- * Return <code>OEPlaceholderAtom</code>, the atom that describes a placeholder.
- *
- * @return <code>OEPlaceholderAtom</code> or <code>null</code> if not found
- */
- public OEPlaceholderAtom getPlaceholderAtom(){
- return getClientDataRecord(RecordTypes.OEPlaceholderAtom.typeID);
- }
-
- /**
- *
- * Assigns a hyperlink to this text shape
- *
- * @param linkId id of the hyperlink, @see org.apache.poi.hslf.usermodel.SlideShow#addHyperlink(Hyperlink)
- * @param beginIndex the beginning index, inclusive.
- * @param endIndex the ending index, exclusive.
- * @see org.apache.poi.hslf.usermodel.SlideShow#addHyperlink(Hyperlink)
- */
- public void setHyperlink(int linkId, int beginIndex, int endIndex){
- //TODO validate beginIndex and endIndex and throw IllegalArgumentException
-
- InteractiveInfo info = new InteractiveInfo();
- InteractiveInfoAtom infoAtom = info.getInteractiveInfoAtom();
- infoAtom.setAction(InteractiveInfoAtom.ACTION_HYPERLINK);
- infoAtom.setHyperlinkType(InteractiveInfoAtom.LINK_Url);
- infoAtom.setHyperlinkID(linkId);
-
- _txtbox.appendChildRecord(info);
-
- TxInteractiveInfoAtom txiatom = new TxInteractiveInfoAtom();
- txiatom.setStartIndex(beginIndex);
- txiatom.setEndIndex(endIndex);
- _txtbox.appendChildRecord(txiatom);
-
- }
-
- @Override
- public boolean isPlaceholder() {
- OEPlaceholderAtom oep = getPlaceholderAtom();
- if (oep != null) return true;
-
- //special case for files saved in Office 2007
- RoundTripHFPlaceholder12 hldr = getClientDataRecord(RecordTypes.RoundTripHFPlaceholder12.typeID);
- if (hldr != null) return true;
-
- return false;
- }
-
-
-}
*
* @author Yegor Kozlov
*/
-public final class TitleMaster extends MasterSheet {
- private TextRun[] _runs;
+public final class TitleMaster extends HSLFMasterSheet {
+ private HSLFTextParagraph[] _runs;
/**
* Constructs a TitleMaster
/**
* Returns an array of all the TextRuns found
*/
- public TextRun[] getTextRuns() {
+ public HSLFTextParagraph[] getTextRuns() {
return _runs;
}
* Delegate the call to the underlying slide master.
*/
public TextProp getStyleAttribute(int txtype, int level, String name, boolean isCharacter) {
- MasterSheet master = getMasterSheet();
+ HSLFMasterSheet master = getMasterSheet();
return master == null ? null : master.getStyleAttribute(txtype, level, name, isCharacter);
}
/**
* Returns the slide master for this title master.
*/
- public MasterSheet getMasterSheet(){
+ public HSLFMasterSheet getMasterSheet(){
SlideMaster[] master = getSlideShow().getSlidesMasters();
SlideAtom sa = ((org.apache.poi.hslf.record.Slide)getSheetContainer()).getSlideAtom();
int masterId = sa.getMasterID();
--- /dev/null
+/* ====================================================================
+ 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.hslf.usermodel;
+
+import java.io.InputStream;
+import java.io.IOException;
+
+import org.apache.poi.hslf.record.ExOleObjStg;
+
+/**
+ * A class that represents object data embedded in a slide show.
+ *
+ * @author Daniel Noll
+ */
+public class HSLFObjectData {
+ /**
+ * The record that contains the object data.
+ */
+ private ExOleObjStg storage;
+
+ /**
+ * Creates the object data wrapping the record that contains the object data.
+ *
+ * @param storage the record that contains the object data.
+ */
+ public HSLFObjectData(ExOleObjStg storage) {
+ this.storage = storage;
+ }
+
+ /**
+ * Gets an input stream which returns the binary of the embedded data.
+ *
+ * @return the input stream which will contain the binary of the embedded data.
+ */
+ public InputStream getData() {
+ return storage.getData();
+ }
+
+ /**
+ * Sets the embedded data.
+ *
+ * @param data the embedded data.
+ */
+ public void setData(byte[] data) throws IOException {
+ storage.setData(data);
+ }
+
+ /**
+ * Return the record that contains the object data.
+ *
+ * @return the record that contains the object data.
+ */
+ public ExOleObjStg getExOleObjStg() {
+ return storage;
+ }
+}
--- /dev/null
+/* ====================================================================
+ 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.hslf.usermodel;
+
+import java.awt.Graphics2D;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.security.MessageDigest;
+
+import org.apache.poi.hslf.blip.BitmapPainter;
+import org.apache.poi.hslf.blip.DIB;
+import org.apache.poi.hslf.blip.EMF;
+import org.apache.poi.hslf.blip.ImagePainter;
+import org.apache.poi.hslf.blip.JPEG;
+import org.apache.poi.hslf.blip.PICT;
+import org.apache.poi.hslf.blip.PNG;
+import org.apache.poi.hslf.blip.WMF;
+import org.apache.poi.hslf.model.HSLFPictureShape;
+import org.apache.poi.poifs.crypt.CryptoFunctions;
+import org.apache.poi.poifs.crypt.HashAlgorithm;
+import org.apache.poi.util.LittleEndian;
+import org.apache.poi.util.POILogFactory;
+import org.apache.poi.util.POILogger;
+
+/**
+ * A class that represents image data contained in a slide show.
+ *
+ * @author Yegor Kozlov
+ */
+public abstract class HSLFPictureData {
+
+ protected POILogger logger = POILogFactory.getLogger(this.getClass());
+
+ /**
+ * Size of the image checksum calculated using MD5 algorithm.
+ */
+ protected static final int CHECKSUM_SIZE = 16;
+
+ /**
+ * Binary data of the picture
+ */
+ private byte[] rawdata;
+ /**
+ * The offset to the picture in the stream
+ */
+ protected int offset;
+
+ /**
+ * Returns type of this picture.
+ * Must be one of the static constants defined in the <code>Picture<code> class.
+ *
+ * @return type of this picture.
+ */
+ public abstract int getType();
+
+
+ /**
+ * Returns content type (mime type) of this picture.
+ *
+ * @return content type of this picture.
+ */
+ public abstract String getContentType();
+
+ /**
+ * Returns the binary data of this Picture
+ * @return picture data
+ */
+ public abstract byte[] getData();
+
+ /**
+ * Set picture data
+ */
+ public abstract void setData(byte[] data) throws IOException;
+
+ /**
+ * Blip signature.
+ */
+ protected abstract int getSignature();
+
+ protected static final ImagePainter[] painters = new ImagePainter[8];
+ static {
+ HSLFPictureData.setImagePainter(HSLFPictureShape.PNG, new BitmapPainter());
+ HSLFPictureData.setImagePainter(HSLFPictureShape.JPEG, new BitmapPainter());
+ HSLFPictureData.setImagePainter(HSLFPictureShape.DIB, new BitmapPainter());
+ }
+
+ /**
+ * Returns the raw binary data of this Picture excluding the first 8 bytes
+ * which hold image signature and size of the image data.
+ *
+ * @return picture data
+ */
+ public byte[] getRawData(){
+ return rawdata;
+ }
+
+ public void setRawData(byte[] data){
+ rawdata = data;
+ }
+
+ /**
+ * File offset in the 'Pictures' stream
+ *
+ * @return offset in the 'Pictures' stream
+ */
+ public int getOffset(){
+ return offset;
+ }
+
+ /**
+ * Set offset of this picture in the 'Pictures' stream.
+ * We need to set it when a new picture is created.
+ *
+ * @param offset in the 'Pictures' stream
+ */
+ public void setOffset(int offset){
+ this.offset = offset;
+ }
+
+ /**
+ * Returns 16-byte checksum of this picture
+ */
+ public byte[] getUID(){
+ byte[] uid = new byte[16];
+ System.arraycopy(rawdata, 0, uid, 0, uid.length);
+ return uid;
+ }
+
+
+ /**
+ * Compute 16-byte checksum of this picture using MD5 algorithm.
+ */
+ public static byte[] getChecksum(byte[] data) {
+ MessageDigest md5 = CryptoFunctions.getMessageDigest(HashAlgorithm.md5);
+ md5.update(data);
+ return md5.digest();
+ }
+
+ /**
+ * Write this picture into <code>OutputStream</code>
+ */
+ public void write(OutputStream out) throws IOException {
+ byte[] data;
+
+ data = new byte[LittleEndian.SHORT_SIZE];
+ LittleEndian.putUShort(data, 0, getSignature());
+ out.write(data);
+
+ data = new byte[LittleEndian.SHORT_SIZE];
+ LittleEndian.putUShort(data, 0, getType() + 0xF018);
+ out.write(data);
+
+ byte[] rawdata = getRawData();
+
+ data = new byte[LittleEndian.INT_SIZE];
+ LittleEndian.putInt(data, 0, rawdata.length);
+ out.write(data);
+
+ out.write(rawdata);
+ }
+
+ /**
+ * Create an instance of <code>PictureData</code> by type.
+ *
+ * @param type type of the picture data.
+ * Must be one of the static constants defined in the <code>Picture<code> class.
+ * @return concrete instance of <code>PictureData</code>
+ */
+ public static HSLFPictureData create(int type){
+ HSLFPictureData pict;
+ switch (type){
+ case HSLFPictureShape.EMF:
+ pict = new EMF();
+ break;
+ case HSLFPictureShape.WMF:
+ pict = new WMF();
+ break;
+ case HSLFPictureShape.PICT:
+ pict = new PICT();
+ break;
+ case HSLFPictureShape.JPEG:
+ pict = new JPEG();
+ break;
+ case HSLFPictureShape.PNG:
+ pict = new PNG();
+ break;
+ case HSLFPictureShape.DIB:
+ pict = new DIB();
+ break;
+ default:
+ throw new IllegalArgumentException("Unsupported picture type: " + type);
+ }
+ return pict;
+ }
+
+ /**
+ * Return 24 byte header which preceeds the actual picture data.
+ * <p>
+ * The header consists of 2-byte signature, 2-byte type,
+ * 4-byte image size and 16-byte checksum of the image data.
+ * </p>
+ *
+ * @return the 24 byte header which preceeds the actual picture data.
+ */
+ public byte[] getHeader() {
+ byte[] header = new byte[16 + 8];
+ LittleEndian.putInt(header, 0, getSignature());
+ LittleEndian.putInt(header, 4, getRawData().length);
+ System.arraycopy(rawdata, 0, header, 8, 16);
+ return header;
+ }
+
+ /**
+ * Return image size in bytes
+ *
+ * @return the size of the picture in bytes
+ * @deprecated Use <code>getData().length</code> instead.
+ */
+ public int getSize(){
+ return getData().length;
+ }
+
+ public void draw(Graphics2D graphics, HSLFPictureShape parent){
+ ImagePainter painter = painters[getType()];
+ if(painter != null) painter.paint(graphics, this, parent);
+ else logger.log(POILogger.WARN, "Rendering is not supported: " + getClass().getName());
+ }
+
+ /**
+ * Register ImagePainter for the specified image type
+ *
+ * @param type image type, must be one of the static constants defined in the <code>Picture<code> class.
+ * @param painter
+ */
+ public static void setImagePainter(int type, ImagePainter painter){
+ painters[type] = painter;
+ }
+
+ /**
+ * Return ImagePainter for the specified image type
+ *
+ * @param type blip type, must be one of the static constants defined in the <code>Picture<code> class.
+ * @return ImagePainter for the specified image type
+ */
+ public static ImagePainter getImagePainter(int type){
+ return painters[type];
+ }
+
+}
--- /dev/null
+/* ====================================================================
+ 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.hslf.usermodel;
+
+import java.awt.Dimension;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.poi.ddf.EscherBSERecord;
+import org.apache.poi.ddf.EscherContainerRecord;
+import org.apache.poi.ddf.EscherOptRecord;
+import org.apache.poi.ddf.EscherRecord;
+import org.apache.poi.hpsf.ClassID;
+import org.apache.poi.hslf.exceptions.CorruptPowerPointFileException;
+import org.apache.poi.hslf.exceptions.HSLFException;
+import org.apache.poi.hslf.model.*;
+import org.apache.poi.hslf.record.Document;
+import org.apache.poi.hslf.record.DocumentAtom;
+import org.apache.poi.hslf.record.ExAviMovie;
+import org.apache.poi.hslf.record.ExControl;
+import org.apache.poi.hslf.record.ExEmbed;
+import org.apache.poi.hslf.record.ExEmbedAtom;
+import org.apache.poi.hslf.record.ExHyperlink;
+import org.apache.poi.hslf.record.ExHyperlinkAtom;
+import org.apache.poi.hslf.record.ExMCIMovie;
+import org.apache.poi.hslf.record.ExObjList;
+import org.apache.poi.hslf.record.ExObjListAtom;
+import org.apache.poi.hslf.record.ExOleObjAtom;
+import org.apache.poi.hslf.record.ExOleObjStg;
+import org.apache.poi.hslf.record.ExVideoContainer;
+import org.apache.poi.hslf.record.FontCollection;
+import org.apache.poi.hslf.record.FontEntityAtom;
+import org.apache.poi.hslf.record.HeadersFootersContainer;
+import org.apache.poi.hslf.record.PersistPtrHolder;
+import org.apache.poi.hslf.record.PositionDependentRecord;
+import org.apache.poi.hslf.record.PositionDependentRecordContainer;
+import org.apache.poi.hslf.record.Record;
+import org.apache.poi.hslf.record.RecordContainer;
+import org.apache.poi.hslf.record.RecordTypes;
+import org.apache.poi.hslf.record.SlideListWithText;
+import org.apache.poi.hslf.record.SlideListWithText.SlideAtomsSet;
+import org.apache.poi.hslf.record.SlidePersistAtom;
+import org.apache.poi.hslf.record.UserEditAtom;
+import org.apache.poi.poifs.filesystem.DirectoryNode;
+import org.apache.poi.poifs.filesystem.POIFSFileSystem;
+import org.apache.poi.sl.usermodel.SlideShow;
+import org.apache.poi.util.POILogFactory;
+import org.apache.poi.util.POILogger;
+
+/**
+ * This class is a friendly wrapper on top of the more scary HSLFSlideShow.
+ *
+ * TODO: - figure out how to match notes to their correct sheet (will involve
+ * understanding DocSlideList and DocNotesList) - handle Slide creation cleaner
+ *
+ * @author Nick Burch
+ * @author Yegor kozlov
+ */
+public final class HSLFSlideShow implements SlideShow {
+ // What we're based on
+ private HSLFSlideShowImpl _hslfSlideShow;
+
+ // Pointers to the most recent versions of the core records
+ // (Document, Notes, Slide etc)
+ private Record[] _mostRecentCoreRecords;
+ // Lookup between the PersitPtr "sheet" IDs, and the position
+ // in the mostRecentCoreRecords array
+ private Map<Integer,Integer> _sheetIdToCoreRecordsLookup;
+
+ // Records that are interesting
+ private Document _documentRecord;
+
+ // Friendly objects for people to deal with
+ private SlideMaster[] _masters;
+ private TitleMaster[] _titleMasters;
+ private HSLFSlide[] _slides;
+ private HSLFNotes[] _notes;
+ private FontCollection _fonts;
+
+ // For logging
+ private POILogger logger = POILogFactory.getLogger(this.getClass());
+
+
+ /* ===============================================================
+ * Setup Code
+ * ===============================================================
+ */
+
+
+ /**
+ * Constructs a Powerpoint document from the underlying
+ * HSLFSlideShow object. Finds the model stuff from this
+ *
+ * @param hslfSlideShow the HSLFSlideShow to base on
+ */
+ public HSLFSlideShow(HSLFSlideShowImpl hslfSlideShow) {
+ // Get useful things from our base slideshow
+ _hslfSlideShow = hslfSlideShow;
+
+ // Handle Parent-aware Records
+ for (Record record : _hslfSlideShow.getRecords()) {
+ if(record instanceof RecordContainer){
+ RecordContainer.handleParentAwareRecords((RecordContainer)record);
+ }
+ }
+
+ // Find the versions of the core records we'll want to use
+ findMostRecentCoreRecords();
+
+ // Build up the model level Slides and Notes
+ buildSlidesAndNotes();
+ }
+
+ /**
+ * Constructs a new, empty, Powerpoint document.
+ */
+ public HSLFSlideShow() {
+ this(HSLFSlideShowImpl.create());
+ }
+
+ /**
+ * Constructs a Powerpoint document from an input stream.
+ */
+ public HSLFSlideShow(InputStream inputStream) throws IOException {
+ this(new HSLFSlideShowImpl(inputStream));
+ }
+
+ /**
+ * Use the PersistPtrHolder entries to figure out what is the "most recent"
+ * version of all the core records (Document, Notes, Slide etc), and save a
+ * record of them. Do this by walking from the oldest PersistPtr to the
+ * newest, overwriting any references found along the way with newer ones
+ */
+ private void findMostRecentCoreRecords() {
+ // To start with, find the most recent in the byte offset domain
+ Map<Integer,Integer> mostRecentByBytes = new HashMap<Integer,Integer>();
+ for (Record record : _hslfSlideShow.getRecords()) {
+ if (record instanceof PersistPtrHolder) {
+ PersistPtrHolder pph = (PersistPtrHolder) record;
+
+ // If we've already seen any of the "slide" IDs for this
+ // PersistPtr, remove their old positions
+ int[] ids = pph.getKnownSlideIDs();
+ for (int id : ids) {
+ if (mostRecentByBytes.containsKey(id)) {
+ mostRecentByBytes.remove(id);
+ }
+ }
+
+ // Now, update the byte level locations with their latest values
+ Map<Integer,Integer> thisSetOfLocations = pph.getSlideLocationsLookup();
+ for (int id : ids) {
+ mostRecentByBytes.put(id, thisSetOfLocations.get(id));
+ }
+ }
+ }
+
+ // We now know how many unique special records we have, so init
+ // the array
+ _mostRecentCoreRecords = new Record[mostRecentByBytes.size()];
+
+ // We'll also want to be able to turn the slide IDs into a position
+ // in this array
+ _sheetIdToCoreRecordsLookup = new HashMap<Integer,Integer>();
+ Integer[] allIDs = mostRecentByBytes.keySet().toArray(new Integer[mostRecentByBytes.size()]);
+ Arrays.sort(allIDs);
+ for (int i = 0; i < allIDs.length; i++) {
+ _sheetIdToCoreRecordsLookup.put(allIDs[i], i);
+ }
+
+ Map<Integer,Integer> mostRecentByBytesRev = new HashMap<Integer,Integer>(mostRecentByBytes.size());
+ for (Map.Entry<Integer,Integer> me : mostRecentByBytes.entrySet()) {
+ mostRecentByBytesRev.put(me.getValue(), me.getKey());
+ }
+
+ // Now convert the byte offsets back into record offsets
+ for (Record record : _hslfSlideShow.getRecords()) {
+ if (!(record instanceof PositionDependentRecord)) continue;
+
+ PositionDependentRecord pdr = (PositionDependentRecord) record;
+ int recordAt = pdr.getLastOnDiskOffset();
+
+ Integer thisID = mostRecentByBytesRev.get(recordAt);
+
+ if (thisID == null) continue;
+
+ // Bingo. Now, where do we store it?
+ int storeAt = _sheetIdToCoreRecordsLookup.get(thisID);
+
+ // Tell it its Sheet ID, if it cares
+ if (pdr instanceof PositionDependentRecordContainer) {
+ PositionDependentRecordContainer pdrc = (PositionDependentRecordContainer) record;
+ pdrc.setSheetId(thisID);
+ }
+
+ // Finally, save the record
+ _mostRecentCoreRecords[storeAt] = record;
+ }
+
+ // Now look for the interesting records in there
+ for (Record record : _mostRecentCoreRecords) {
+ // Check there really is a record at this number
+ if (record != null) {
+ // Find the Document, and interesting things in it
+ if (record.getRecordType() == RecordTypes.Document.typeID) {
+ _documentRecord = (Document) record;
+ _fonts = _documentRecord.getEnvironment().getFontCollection();
+ }
+ } else {
+ // No record at this number
+ // Odd, but not normally a problem
+ }
+ }
+ }
+
+ /**
+ * For a given SlideAtomsSet, return the core record, based on the refID
+ * from the SlidePersistAtom
+ */
+ private Record getCoreRecordForSAS(SlideAtomsSet sas) {
+ SlidePersistAtom spa = sas.getSlidePersistAtom();
+ int refID = spa.getRefID();
+ return getCoreRecordForRefID(refID);
+ }
+
+ /**
+ * For a given refID (the internal, 0 based numbering scheme), return the
+ * core record
+ *
+ * @param refID
+ * the refID
+ */
+ private Record getCoreRecordForRefID(int refID) {
+ Integer coreRecordId = _sheetIdToCoreRecordsLookup.get(refID);
+ if (coreRecordId != null) {
+ Record r = _mostRecentCoreRecords[coreRecordId];
+ return r;
+ }
+ logger.log(POILogger.ERROR,
+ "We tried to look up a reference to a core record, but there was no core ID for reference ID "
+ + refID);
+ return null;
+ }
+
+ /**
+ * Build up model level Slide and Notes objects, from the underlying
+ * records.
+ */
+ private void buildSlidesAndNotes() {
+ // Ensure we really found a Document record earlier
+ // If we didn't, then the file is probably corrupt
+ if (_documentRecord == null) {
+ throw new CorruptPowerPointFileException(
+ "The PowerPoint file didn't contain a Document Record in its PersistPtr blocks. It is probably corrupt.");
+ }
+
+ // Fetch the SlideListWithTexts in the most up-to-date Document Record
+ //
+ // As far as we understand it:
+ // * The first SlideListWithText will contain a SlideAtomsSet
+ // for each of the master slides
+ // * The second SlideListWithText will contain a SlideAtomsSet
+ // for each of the slides, in their current order
+ // These SlideAtomsSets will normally contain text
+ // * The third SlideListWithText (if present), will contain a
+ // SlideAtomsSet for each Notes
+ // These SlideAtomsSets will not normally contain text
+ //
+ // Having indentified the masters, slides and notes + their orders,
+ // we have to go and find their matching records
+ // We always use the latest versions of these records, and use the
+ // SlideAtom/NotesAtom to match them with the StyleAtomSet
+
+ SlideListWithText masterSLWT = _documentRecord.getMasterSlideListWithText();
+ SlideListWithText slidesSLWT = _documentRecord.getSlideSlideListWithText();
+ SlideListWithText notesSLWT = _documentRecord.getNotesSlideListWithText();
+
+ // Find master slides
+ // These can be MainMaster records, but oddly they can also be
+ // Slides or Notes, and possibly even other odd stuff....
+ // About the only thing you can say is that the master details are in
+ // the first SLWT.
+ SlideAtomsSet[] masterSets = new SlideAtomsSet[0];
+ if (masterSLWT != null) {
+ masterSets = masterSLWT.getSlideAtomsSets();
+
+ ArrayList<SlideMaster> mmr = new ArrayList<SlideMaster>();
+ ArrayList<TitleMaster> tmr = new ArrayList<TitleMaster>();
+
+ for (SlideAtomsSet sas : masterSets) {
+ Record r = getCoreRecordForSAS(sas);
+ int sheetNo = sas.getSlidePersistAtom().getSlideIdentifier();
+ if (r instanceof org.apache.poi.hslf.record.Slide) {
+ TitleMaster master = new TitleMaster((org.apache.poi.hslf.record.Slide) r,
+ sheetNo);
+ master.setSlideShow(this);
+ tmr.add(master);
+ } else if (r instanceof org.apache.poi.hslf.record.MainMaster) {
+ SlideMaster master = new SlideMaster((org.apache.poi.hslf.record.MainMaster) r,
+ sheetNo);
+ master.setSlideShow(this);
+ mmr.add(master);
+ }
+ }
+
+ _masters = mmr.toArray(new SlideMaster[mmr.size()]);
+ _titleMasters = tmr.toArray(new TitleMaster[tmr.size()]);
+ }
+
+ // Having sorted out the masters, that leaves the notes and slides
+
+ // Start by finding the notes records to go with the entries in
+ // notesSLWT
+ org.apache.poi.hslf.record.Notes[] notesRecords;
+ SlideAtomsSet[] notesSets = new SlideAtomsSet[0];
+ Map<Integer,Integer> slideIdToNotes = new HashMap<Integer,Integer>();
+ if (notesSLWT == null) {
+ // None
+ notesRecords = new org.apache.poi.hslf.record.Notes[0];
+ } else {
+ // Match up the records and the SlideAtomSets
+ notesSets = notesSLWT.getSlideAtomsSets();
+ List<org.apache.poi.hslf.record.Notes> notesRecordsL =
+ new ArrayList<org.apache.poi.hslf.record.Notes>();
+ for (int i = 0; i < notesSets.length; i++) {
+ // Get the right core record
+ Record r = getCoreRecordForSAS(notesSets[i]);
+
+ // Ensure it really is a notes record
+ if (r == null || r instanceof org.apache.poi.hslf.record.Notes) {
+ if (r == null) {
+ logger.log(POILogger.WARN, "A Notes SlideAtomSet at " + i
+ + " said its record was at refID "
+ + notesSets[i].getSlidePersistAtom().getRefID()
+ + ", but that record didn't exist - record ignored.");
+ }
+ // we need to add also null-records, otherwise the index references to other existing
+ // don't work anymore
+ org.apache.poi.hslf.record.Notes notesRecord = (org.apache.poi.hslf.record.Notes) r;
+ notesRecordsL.add(notesRecord);
+
+ // Record the match between slide id and these notes
+ SlidePersistAtom spa = notesSets[i].getSlidePersistAtom();
+ int slideId = spa.getSlideIdentifier();
+ slideIdToNotes.put(slideId, i);
+ } else {
+ logger.log(POILogger.ERROR, "A Notes SlideAtomSet at " + i
+ + " said its record was at refID "
+ + notesSets[i].getSlidePersistAtom().getRefID()
+ + ", but that was actually a " + r);
+ }
+ }
+ notesRecords = new org.apache.poi.hslf.record.Notes[notesRecordsL.size()];
+ notesRecords = notesRecordsL.toArray(notesRecords);
+ }
+
+ // Now, do the same thing for our slides
+ org.apache.poi.hslf.record.Slide[] slidesRecords;
+ SlideAtomsSet[] slidesSets = new SlideAtomsSet[0];
+ if (slidesSLWT == null) {
+ // None
+ slidesRecords = new org.apache.poi.hslf.record.Slide[0];
+ } else {
+ // Match up the records and the SlideAtomSets
+ slidesSets = slidesSLWT.getSlideAtomsSets();
+ slidesRecords = new org.apache.poi.hslf.record.Slide[slidesSets.length];
+ for (int i = 0; i < slidesSets.length; i++) {
+ // Get the right core record
+ Record r = getCoreRecordForSAS(slidesSets[i]);
+
+ // Ensure it really is a slide record
+ if (r instanceof org.apache.poi.hslf.record.Slide) {
+ slidesRecords[i] = (org.apache.poi.hslf.record.Slide) r;
+ } else {
+ logger.log(POILogger.ERROR, "A Slide SlideAtomSet at " + i
+ + " said its record was at refID "
+ + slidesSets[i].getSlidePersistAtom().getRefID()
+ + ", but that was actually a " + r);
+ }
+ }
+ }
+
+ // Finally, generate model objects for everything
+ // Notes first
+ _notes = new HSLFNotes[notesRecords.length];
+ for (int i = 0; i < _notes.length; i++) {
+ if (notesRecords[i] != null) {
+ _notes[i] = new HSLFNotes(notesRecords[i]);
+ _notes[i].setSlideShow(this);
+ }
+ }
+ // Then slides
+ _slides = new HSLFSlide[slidesRecords.length];
+ for (int i = 0; i < _slides.length; i++) {
+ SlideAtomsSet sas = slidesSets[i];
+ int slideIdentifier = sas.getSlidePersistAtom().getSlideIdentifier();
+
+ // Do we have a notes for this?
+ HSLFNotes notes = null;
+ // Slide.SlideAtom.notesId references the corresponding notes slide.
+ // 0 if slide has no notes.
+ int noteId = slidesRecords[i].getSlideAtom().getNotesID();
+ if (noteId != 0) {
+ Integer notesPos = slideIdToNotes.get(noteId);
+ if (notesPos != null) {
+ notes = _notes[notesPos];
+ } else {
+ logger.log(POILogger.ERROR, "Notes not found for noteId=" + noteId);
+ }
+ }
+
+ // Now, build our slide
+ _slides[i] = new HSLFSlide(slidesRecords[i], notes, sas, slideIdentifier, (i + 1));
+ _slides[i].setSlideShow(this);
+ }
+ }
+
+ /**
+ * Writes out the slideshow file the is represented by an instance of this
+ * class
+ *
+ * @param out
+ * The OutputStream to write to.
+ * @throws IOException
+ * If there is an unexpected IOException from the passed in
+ * OutputStream
+ */
+ public void write(OutputStream out) throws IOException {
+ _hslfSlideShow.write(out);
+ }
+
+ /*
+ * ===============================================================
+ * Accessor Code
+ * ===============================================================
+ */
+
+ /**
+ * Returns an array of the most recent version of all the interesting
+ * records
+ */
+ public Record[] getMostRecentCoreRecords() {
+ return _mostRecentCoreRecords;
+ }
+
+ /**
+ * Returns an array of all the normal Slides found in the slideshow
+ */
+ public HSLFSlide[] getSlides() {
+ return _slides;
+ }
+
+ /**
+ * Returns an array of all the normal Notes found in the slideshow
+ */
+ public HSLFNotes[] getNotes() {
+ return _notes;
+ }
+
+ /**
+ * Returns an array of all the normal Slide Masters found in the slideshow
+ */
+ public SlideMaster[] getSlidesMasters() {
+ return _masters;
+ }
+
+ /**
+ * Returns an array of all the normal Title Masters found in the slideshow
+ */
+ public TitleMaster[] getTitleMasters() {
+ return _titleMasters;
+ }
+
+ /**
+ * Returns the data of all the pictures attached to the SlideShow
+ */
+ public HSLFPictureData[] getPictureData() {
+ return _hslfSlideShow.getPictures();
+ }
+
+ /**
+ * Returns the data of all the embedded OLE object in the SlideShow
+ */
+ public HSLFObjectData[] getEmbeddedObjects() {
+ return _hslfSlideShow.getEmbeddedObjects();
+ }
+
+ /**
+ * Returns the data of all the embedded sounds in the SlideShow
+ */
+ public HSLFSoundData[] getSoundData() {
+ return HSLFSoundData.find(_documentRecord);
+ }
+
+ /**
+ * Return the current page size
+ */
+ public Dimension getPageSize() {
+ DocumentAtom docatom = _documentRecord.getDocumentAtom();
+ int pgx = (int) docatom.getSlideSizeX() * HSLFShape.POINT_DPI / HSLFShape.MASTER_DPI;
+ int pgy = (int) docatom.getSlideSizeY() * HSLFShape.POINT_DPI / HSLFShape.MASTER_DPI;
+ return new Dimension(pgx, pgy);
+ }
+
+ /**
+ * Change the current page size
+ *
+ * @param pgsize
+ * page size (in points)
+ */
+ public void setPageSize(Dimension pgsize) {
+ DocumentAtom docatom = _documentRecord.getDocumentAtom();
+ docatom.setSlideSizeX(pgsize.width * HSLFShape.MASTER_DPI / HSLFShape.POINT_DPI);
+ docatom.setSlideSizeY(pgsize.height * HSLFShape.MASTER_DPI / HSLFShape.POINT_DPI);
+ }
+
+ /**
+ * Helper method for usermodel: Get the font collection
+ */
+ protected FontCollection getFontCollection() {
+ return _fonts;
+ }
+
+ /**
+ * Helper method for usermodel and model: Get the document record
+ */
+ public Document getDocumentRecord() {
+ return _documentRecord;
+ }
+
+ /*
+ * ===============================================================
+ * Re-ordering Code
+ * ===============================================================
+ */
+
+ /**
+ * Re-orders a slide, to a new position.
+ *
+ * @param oldSlideNumber
+ * The old slide number (1 based)
+ * @param newSlideNumber
+ * The new slide number (1 based)
+ */
+ public void reorderSlide(int oldSlideNumber, int newSlideNumber) {
+ // Ensure these numbers are valid
+ if (oldSlideNumber < 1 || newSlideNumber < 1) {
+ throw new IllegalArgumentException("Old and new slide numbers must be greater than 0");
+ }
+ if (oldSlideNumber > _slides.length || newSlideNumber > _slides.length) {
+ throw new IllegalArgumentException(
+ "Old and new slide numbers must not exceed the number of slides ("
+ + _slides.length + ")");
+ }
+
+ // The order of slides is defined by the order of slide atom sets in the
+ // SlideListWithText container.
+ SlideListWithText slwt = _documentRecord.getSlideSlideListWithText();
+ SlideAtomsSet[] sas = slwt.getSlideAtomsSets();
+
+ SlideAtomsSet tmp = sas[oldSlideNumber - 1];
+ sas[oldSlideNumber - 1] = sas[newSlideNumber - 1];
+ sas[newSlideNumber - 1] = tmp;
+
+ ArrayList<Record> lst = new ArrayList<Record>();
+ for (int i = 0; i < sas.length; i++) {
+ lst.add(sas[i].getSlidePersistAtom());
+ Record[] r = sas[i].getSlideRecords();
+ for (int j = 0; j < r.length; j++) {
+ lst.add(r[j]);
+ }
+ _slides[i].setSlideNumber(i + 1);
+ }
+ Record[] r = lst.toArray(new Record[lst.size()]);
+ slwt.setChildRecord(r);
+ }
+
+ /**
+ * Removes the slide at the given index (0-based).
+ * <p>
+ * Shifts any subsequent slides to the left (subtracts one from their slide
+ * numbers).
+ * </p>
+ *
+ * @param index
+ * the index of the slide to remove (0-based)
+ * @return the slide that was removed from the slide show.
+ */
+ public HSLFSlide removeSlide(int index) {
+ int lastSlideIdx = _slides.length - 1;
+ if (index < 0 || index > lastSlideIdx) {
+ throw new IllegalArgumentException("Slide index (" + index + ") is out of range (0.."
+ + lastSlideIdx + ")");
+ }
+
+ SlideListWithText slwt = _documentRecord.getSlideSlideListWithText();
+ SlideAtomsSet[] sas = slwt.getSlideAtomsSets();
+
+ HSLFSlide removedSlide = null;
+ ArrayList<Record> records = new ArrayList<Record>();
+ ArrayList<SlideAtomsSet> sa = new ArrayList<SlideAtomsSet>();
+ ArrayList<HSLFSlide> sl = new ArrayList<HSLFSlide>();
+
+ ArrayList<HSLFNotes> nt = new ArrayList<HSLFNotes>();
+ for (HSLFNotes notes : getNotes())
+ nt.add(notes);
+
+ for (int i = 0, num = 0; i < _slides.length; i++) {
+ if (i != index) {
+ sl.add(_slides[i]);
+ sa.add(sas[i]);
+ _slides[i].setSlideNumber(num++);
+ records.add(sas[i].getSlidePersistAtom());
+ records.addAll(Arrays.asList(sas[i].getSlideRecords()));
+ } else {
+ removedSlide = _slides[i];
+ nt.remove(_slides[i].getNotesSheet());
+ }
+ }
+ if (sa.size() == 0) {
+ _documentRecord.removeSlideListWithText(slwt);
+ } else {
+ slwt.setSlideAtomsSets(sa.toArray(new SlideAtomsSet[sa.size()]));
+ slwt.setChildRecord(records.toArray(new Record[records.size()]));
+ }
+ _slides = sl.toArray(new HSLFSlide[sl.size()]);
+
+ // if the removed slide had notes - remove references to them too
+
+ if (removedSlide != null) {
+ int notesId = removedSlide.getSlideRecord().getSlideAtom().getNotesID();
+ if (notesId != 0) {
+ SlideListWithText nslwt = _documentRecord.getNotesSlideListWithText();
+ records = new ArrayList<Record>();
+ ArrayList<SlideAtomsSet> na = new ArrayList<SlideAtomsSet>();
+ for (SlideAtomsSet ns : nslwt.getSlideAtomsSets()) {
+ if (ns.getSlidePersistAtom().getSlideIdentifier() != notesId) {
+ na.add(ns);
+ records.add(ns.getSlidePersistAtom());
+ if (ns.getSlideRecords() != null)
+ records.addAll(Arrays.asList(ns.getSlideRecords()));
+ }
+ }
+ if (na.size() == 0) {
+ _documentRecord.removeSlideListWithText(nslwt);
+ } else {
+ nslwt.setSlideAtomsSets(na.toArray(new SlideAtomsSet[na.size()]));
+ nslwt.setChildRecord(records.toArray(new Record[records.size()]));
+ }
+
+ }
+ }
+ _notes = nt.toArray(new HSLFNotes[nt.size()]);
+
+ return removedSlide;
+ }
+
+ /*
+ * ===============================================================
+ * Addition Code
+ * ===============================================================
+ */
+
+ /**
+ * Create a blank <code>Slide</code>.
+ *
+ * @return the created <code>Slide</code>
+ */
+ public HSLFSlide createSlide() {
+ SlideListWithText slist = null;
+
+ // We need to add the records to the SLWT that deals
+ // with Slides.
+ // Add it, if it doesn't exist
+ slist = _documentRecord.getSlideSlideListWithText();
+ if (slist == null) {
+ // Need to add a new one
+ slist = new SlideListWithText();
+ slist.setInstance(SlideListWithText.SLIDES);
+ _documentRecord.addSlideListWithText(slist);
+ }
+
+ // Grab the SlidePersistAtom with the highest Slide Number.
+ // (Will stay as null if no SlidePersistAtom exists yet in
+ // the slide, or only master slide's ones do)
+ SlidePersistAtom prev = null;
+ for (SlideAtomsSet sas : slist.getSlideAtomsSets()) {
+ SlidePersistAtom spa = sas.getSlidePersistAtom();
+ if (spa.getSlideIdentifier() < 0) {
+ // This is for a master slide
+ // Odd, since we only deal with the Slide SLWT
+ } else {
+ // Must be for a real slide
+ if (prev == null) {
+ prev = spa;
+ }
+ if (prev.getSlideIdentifier() < spa.getSlideIdentifier()) {
+ prev = spa;
+ }
+ }
+ }
+
+ // Set up a new SlidePersistAtom for this slide
+ SlidePersistAtom sp = new SlidePersistAtom();
+
+ // First slideId is always 256
+ sp.setSlideIdentifier(prev == null ? 256 : (prev.getSlideIdentifier() + 1));
+
+ // Add this new SlidePersistAtom to the SlideListWithText
+ slist.addSlidePersistAtom(sp);
+
+ // Create a new Slide
+ HSLFSlide slide = new HSLFSlide(sp.getSlideIdentifier(), sp.getRefID(), _slides.length + 1);
+ slide.setSlideShow(this);
+ slide.onCreate();
+
+ // Add in to the list of Slides
+ HSLFSlide[] s = new HSLFSlide[_slides.length + 1];
+ System.arraycopy(_slides, 0, s, 0, _slides.length);
+ s[_slides.length] = slide;
+ _slides = s;
+ logger.log(POILogger.INFO, "Added slide " + _slides.length + " with ref " + sp.getRefID()
+ + " and identifier " + sp.getSlideIdentifier());
+
+ // Add the core records for this new Slide to the record tree
+ org.apache.poi.hslf.record.Slide slideRecord = slide.getSlideRecord();
+ int psrId = addPersistentObject(slideRecord);
+ sp.setRefID(psrId);
+ slideRecord.setSheetId(psrId);
+
+ slide.setMasterSheet(_masters[0]);
+ // All done and added
+ return slide;
+ }
+
+ /**
+ * Adds a picture to this presentation and returns the associated index.
+ *
+ * @param data
+ * picture data
+ * @param format
+ * the format of the picture. One of constans defined in the
+ * <code>Picture</code> class.
+ * @return the index to this picture (1 based).
+ */
+ public int addPicture(byte[] data, int format) throws IOException {
+ byte[] uid = HSLFPictureData.getChecksum(data);
+
+ EscherContainerRecord bstore;
+
+ EscherContainerRecord dggContainer = _documentRecord.getPPDrawingGroup().getDggContainer();
+ bstore = (EscherContainerRecord) HSLFShape.getEscherChild(dggContainer,
+ EscherContainerRecord.BSTORE_CONTAINER);
+ if (bstore == null) {
+ bstore = new EscherContainerRecord();
+ bstore.setRecordId(EscherContainerRecord.BSTORE_CONTAINER);
+
+ dggContainer.addChildBefore(bstore, EscherOptRecord.RECORD_ID);
+ } else {
+ Iterator<EscherRecord> iter = bstore.getChildIterator();
+ for (int i = 0; iter.hasNext(); i++) {
+ EscherBSERecord bse = (EscherBSERecord) iter.next();
+ if (Arrays.equals(bse.getUid(), uid)) {
+ return i + 1;
+ }
+ }
+ }
+
+ HSLFPictureData pict = HSLFPictureData.create(format);
+ pict.setData(data);
+
+ int offset = _hslfSlideShow.addPicture(pict);
+
+ EscherBSERecord bse = new EscherBSERecord();
+ bse.setRecordId(EscherBSERecord.RECORD_ID);
+ bse.setOptions((short) (0x0002 | (format << 4)));
+ bse.setSize(pict.getRawData().length + 8);
+ bse.setUid(uid);
+
+ bse.setBlipTypeMacOS((byte) format);
+ bse.setBlipTypeWin32((byte) format);
+
+ if (format == HSLFPictureShape.EMF)
+ bse.setBlipTypeMacOS((byte) HSLFPictureShape.PICT);
+ else if (format == HSLFPictureShape.WMF)
+ bse.setBlipTypeMacOS((byte) HSLFPictureShape.PICT);
+ else if (format == HSLFPictureShape.PICT)
+ bse.setBlipTypeWin32((byte) HSLFPictureShape.WMF);
+
+ bse.setRef(0);
+ bse.setOffset(offset);
+ bse.setRemainingData(new byte[0]);
+
+ bstore.addChildRecord(bse);
+ int count = bstore.getChildRecords().size();
+ bstore.setOptions((short) ((count << 4) | 0xF));
+
+ return count;
+ }
+
+ /**
+ * Adds a picture to this presentation and returns the associated index.
+ *
+ * @param pict
+ * the file containing the image to add
+ * @param format
+ * the format of the picture. One of constans defined in the
+ * <code>Picture</code> class.
+ * @return the index to this picture (1 based).
+ */
+ public int addPicture(File pict, int format) throws IOException {
+ int length = (int) pict.length();
+ byte[] data = new byte[length];
+ FileInputStream is = null;
+ try {
+ is = new FileInputStream(pict);
+ is.read(data);
+ } finally {
+ if(is != null) is.close();
+ }
+ return addPicture(data, format);
+ }
+
+ /**
+ * Add a font in this presentation
+ *
+ * @param font
+ * the font to add
+ * @return 0-based index of the font
+ */
+ public int addFont(PPFont font) {
+ FontCollection fonts = getDocumentRecord().getEnvironment().getFontCollection();
+ int idx = fonts.getFontIndex(font.getFontName());
+ if (idx == -1) {
+ idx = fonts.addFont(font.getFontName(), font.getCharSet(), font.getFontFlags(), font
+ .getFontType(), font.getPitchAndFamily());
+ }
+ return idx;
+ }
+
+ /**
+ * Get a font by index
+ *
+ * @param idx
+ * 0-based index of the font
+ * @return of an instance of <code>PPFont</code> or <code>null</code> if not
+ * found
+ */
+ public PPFont getFont(int idx) {
+ FontCollection fonts = getDocumentRecord().getEnvironment().getFontCollection();
+ for (Record ch : fonts.getChildRecords()) {
+ if (ch instanceof FontEntityAtom) {
+ FontEntityAtom atom = (FontEntityAtom) ch;
+ if (atom.getFontIndex() == idx) {
+ return new PPFont(atom);
+ }
+ }
+ }
+ return null;
+ }
+
+ /**
+ * get the number of fonts in the presentation
+ *
+ * @return number of fonts
+ */
+ public int getNumberOfFonts() {
+ return getDocumentRecord().getEnvironment().getFontCollection().getNumberOfFonts();
+ }
+
+ /**
+ * Return Header / Footer settings for slides
+ *
+ * @return Header / Footer settings for slides
+ */
+ public HeadersFooters getSlideHeadersFooters() {
+ // detect if this ppt was saved in Office2007
+ String tag = getSlidesMasters()[0].getProgrammableTag();
+ boolean ppt2007 = "___PPT12".equals(tag);
+
+ HeadersFootersContainer hdd = null;
+ for (Record ch : _documentRecord.getChildRecords()) {
+ if (ch instanceof HeadersFootersContainer
+ && ((HeadersFootersContainer) ch).getOptions() == HeadersFootersContainer.SlideHeadersFootersContainer) {
+ hdd = (HeadersFootersContainer) ch;
+ break;
+ }
+ }
+ boolean newRecord = false;
+ if (hdd == null) {
+ hdd = new HeadersFootersContainer(HeadersFootersContainer.SlideHeadersFootersContainer);
+ newRecord = true;
+ }
+ return new HeadersFooters(hdd, this, newRecord, ppt2007);
+ }
+
+ /**
+ * Return Header / Footer settings for notes
+ *
+ * @return Header / Footer settings for notes
+ */
+ public HeadersFooters getNotesHeadersFooters() {
+ // detect if this ppt was saved in Office2007
+ String tag = getSlidesMasters()[0].getProgrammableTag();
+ boolean ppt2007 = "___PPT12".equals(tag);
+
+ HeadersFootersContainer hdd = null;
+ for (Record ch : _documentRecord.getChildRecords()) {
+ if (ch instanceof HeadersFootersContainer
+ && ((HeadersFootersContainer) ch).getOptions() == HeadersFootersContainer.NotesHeadersFootersContainer) {
+ hdd = (HeadersFootersContainer) ch;
+ break;
+ }
+ }
+ boolean newRecord = false;
+ if (hdd == null) {
+ hdd = new HeadersFootersContainer(HeadersFootersContainer.NotesHeadersFootersContainer);
+ newRecord = true;
+ }
+ if (ppt2007 && _notes.length > 0) {
+ return new HeadersFooters(hdd, _notes[0], newRecord, ppt2007);
+ }
+ return new HeadersFooters(hdd, this, newRecord, ppt2007);
+ }
+
+ /**
+ * Add a movie in this presentation
+ *
+ * @param path
+ * the path or url to the movie
+ * @return 0-based index of the movie
+ */
+ public int addMovie(String path, int type) {
+ ExMCIMovie mci;
+ switch (type) {
+ case MovieShape.MOVIE_MPEG:
+ mci = new ExMCIMovie();
+ break;
+ case MovieShape.MOVIE_AVI:
+ mci = new ExAviMovie();
+ break;
+ default:
+ throw new IllegalArgumentException("Unsupported Movie: " + type);
+ }
+
+ ExVideoContainer exVideo = mci.getExVideo();
+ exVideo.getExMediaAtom().setMask(0xE80000);
+ exVideo.getPathAtom().setText(path);
+
+ int objectId = addToObjListAtom(mci);
+ exVideo.getExMediaAtom().setObjectId(objectId);
+
+ return objectId;
+ }
+
+ /**
+ * Add a control in this presentation
+ *
+ * @param name
+ * name of the control, e.g. "Shockwave Flash Object"
+ * @param progId
+ * OLE Programmatic Identifier, e.g.
+ * "ShockwaveFlash.ShockwaveFlash.9"
+ * @return 0-based index of the control
+ */
+ public int addControl(String name, String progId) {
+ ExControl ctrl = new ExControl();
+ ctrl.setProgId(progId);
+ ctrl.setMenuName(name);
+ ctrl.setClipboardName(name);
+
+ ExOleObjAtom oleObj = ctrl.getExOleObjAtom();
+ oleObj.setDrawAspect(ExOleObjAtom.DRAW_ASPECT_VISIBLE);
+ oleObj.setType(ExOleObjAtom.TYPE_CONTROL);
+ oleObj.setSubType(ExOleObjAtom.SUBTYPE_DEFAULT);
+
+ int objectId = addToObjListAtom(ctrl);
+ oleObj.setObjID(objectId);
+ return objectId;
+ }
+
+ /**
+ * Add a hyperlink to this presentation
+ *
+ * @return 0-based index of the hyperlink
+ */
+ public int addHyperlink(Hyperlink link) {
+ ExHyperlink ctrl = new ExHyperlink();
+ ExHyperlinkAtom obj = ctrl.getExHyperlinkAtom();
+ if(link.getType() == Hyperlink.LINK_SLIDENUMBER) {
+ ctrl.setLinkURL(link.getAddress(), 0x30);
+ } else {
+ ctrl.setLinkURL(link.getAddress());
+ }
+ ctrl.setLinkTitle(link.getTitle());
+
+ int objectId = addToObjListAtom(ctrl);
+ link.setId(objectId);
+ obj.setNumber(objectId);
+
+ return objectId;
+ }
+
+ /**
+ * Add a embedded object to this presentation
+ *
+ * @return 0-based index of the embedded object
+ */
+ public int addEmbed(POIFSFileSystem poiData) {
+ DirectoryNode root = poiData.getRoot();
+
+ // prepare embedded data
+ if (new ClassID().equals(root.getStorageClsid())) {
+ // need to set class id
+ Map<String,ClassID> olemap = getOleMap();
+ ClassID classID = null;
+ for (Map.Entry<String,ClassID> entry : olemap.entrySet()) {
+ if (root.hasEntry(entry.getKey())) {
+ classID = entry.getValue();
+ break;
+ }
+ }
+ if (classID == null) {
+ throw new IllegalArgumentException("Unsupported embedded document");
+ }
+
+ root.setStorageClsid(classID);
+ }
+
+ ExEmbed exEmbed = new ExEmbed();
+ // remove unneccessary infos, so we don't need to specify the type
+ // of the ole object multiple times
+ Record children[] = exEmbed.getChildRecords();
+ exEmbed.removeChild(children[2]);
+ exEmbed.removeChild(children[3]);
+ exEmbed.removeChild(children[4]);
+
+ ExEmbedAtom eeEmbed = exEmbed.getExEmbedAtom();
+ eeEmbed.setCantLockServerB(true);
+
+ ExOleObjAtom eeAtom = exEmbed.getExOleObjAtom();
+ eeAtom.setDrawAspect(ExOleObjAtom.DRAW_ASPECT_VISIBLE);
+ eeAtom.setType(ExOleObjAtom.TYPE_EMBEDDED);
+ // eeAtom.setSubType(ExOleObjAtom.SUBTYPE_EXCEL);
+ // should be ignored?!?, see MS-PPT ExOleObjAtom, but Libre Office sets it ...
+ eeAtom.setOptions(1226240);
+
+ ExOleObjStg exOleObjStg = new ExOleObjStg();
+ try {
+ final String OLESTREAM_NAME = "\u0001Ole";
+ if (!root.hasEntry(OLESTREAM_NAME)) {
+ // the following data was taken from an example libre office document
+ // beside this "\u0001Ole" record there were several other records, e.g. CompObj,
+ // OlePresXXX, but it seems, that they aren't neccessary
+ byte oleBytes[] = { 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
+ poiData.createDocument(new ByteArrayInputStream(oleBytes), OLESTREAM_NAME);
+ }
+
+ ByteArrayOutputStream bos = new ByteArrayOutputStream();
+ poiData.writeFilesystem(bos);
+ exOleObjStg.setData(bos.toByteArray());
+ } catch (IOException e) {
+ throw new HSLFException(e);
+ }
+
+ int psrId = addPersistentObject(exOleObjStg);
+ exOleObjStg.setPersistId(psrId);
+ eeAtom.setObjStgDataRef(psrId);
+
+ int objectId = addToObjListAtom(exEmbed);
+ eeAtom.setObjID(objectId);
+ return objectId;
+ }
+
+ protected int addToObjListAtom(RecordContainer exObj) {
+ ExObjList lst = (ExObjList) _documentRecord.findFirstOfType(RecordTypes.ExObjList.typeID);
+ if (lst == null) {
+ lst = new ExObjList();
+ _documentRecord.addChildAfter(lst, _documentRecord.getDocumentAtom());
+ }
+ ExObjListAtom objAtom = lst.getExObjListAtom();
+ // increment the object ID seed
+ int objectId = (int) objAtom.getObjectIDSeed() + 1;
+ objAtom.setObjectIDSeed(objectId);
+
+ lst.addChildAfter(exObj, objAtom);
+
+ return objectId;
+ }
+
+ protected static Map<String,ClassID> getOleMap() {
+ Map<String,ClassID> olemap = new HashMap<String,ClassID>();
+ olemap.put("PowerPoint Document", ClassID.PPT_SHOW);
+ olemap.put("Workbook", ClassID.EXCEL97); // as per BIFF8 spec
+ olemap.put("WORKBOOK", ClassID.EXCEL97); // Typically from third party programs
+ olemap.put("BOOK", ClassID.EXCEL97); // Typically odd Crystal Reports exports
+ // ... to be continued
+ return olemap;
+ }
+
+ protected int addPersistentObject(PositionDependentRecord slideRecord) {
+ slideRecord.setLastOnDiskOffset(HSLFSlideShowImpl.UNSET_OFFSET);
+ _hslfSlideShow.appendRootLevelRecord((Record)slideRecord);
+
+ // For position dependent records, hold where they were and now are
+ // As we go along, update, and hand over, to any Position Dependent
+ // records we happen across
+ Map<RecordTypes.Type,PositionDependentRecord> interestingRecords =
+ new HashMap<RecordTypes.Type,PositionDependentRecord>();
+
+ try {
+ _hslfSlideShow.updateAndWriteDependantRecords(null,interestingRecords);
+ } catch (IOException e) {
+ throw new HSLFException(e);
+ }
+
+ PersistPtrHolder ptr = (PersistPtrHolder)interestingRecords.get(RecordTypes.PersistPtrIncrementalBlock);
+ UserEditAtom usr = (UserEditAtom)interestingRecords.get(RecordTypes.UserEditAtom);
+
+ // persist ID is UserEditAtom.maxPersistWritten + 1
+ int psrId = usr.getMaxPersistWritten() + 1;
+
+ // Last view is now of the slide
+ usr.setLastViewType((short) UserEditAtom.LAST_VIEW_SLIDE_VIEW);
+ // increment the number of persistent objects
+ usr.setMaxPersistWritten(psrId);
+
+ // Add the new slide into the last PersistPtr
+ // (Also need to tell it where it is)
+ int slideOffset = slideRecord.getLastOnDiskOffset();
+ slideRecord.setLastOnDiskOffset(slideOffset);
+ ptr.addSlideLookup(psrId, slideOffset);
+ logger.log(POILogger.INFO, "New slide/object ended up at " + slideOffset);
+
+ return psrId;
+ }
+}
--- /dev/null
+/* ====================================================================
+ 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.hslf.usermodel;
+
+import org.apache.poi.hslf.record.*;
+
+import java.util.ArrayList;
+
+/**
+ * A class that represents sound data embedded in a slide show.
+ *
+ * @author Yegor Kozlov
+ */
+public final class HSLFSoundData {
+ /**
+ * The record that contains the object data.
+ */
+ private Sound _container;
+
+ /**
+ * Creates the object data wrapping the record that contains the sound data.
+ *
+ * @param container the record that contains the sound data.
+ */
+ public HSLFSoundData(Sound container) {
+ this._container = container;
+ }
+
+ /**
+ * Name of the sound (e.g. "crash")
+ *
+ * @return name of the sound
+ */
+ public String getSoundName(){
+ return _container.getSoundName();
+ }
+
+ /**
+ * Type of the sound (e.g. ".wav")
+ *
+ * @return type of the sound
+ */
+ public String getSoundType(){
+ return _container.getSoundType();
+ }
+
+ /**
+ * Gets an input stream which returns the binary of the sound data.
+ *
+ * @return the input stream which will contain the binary of the sound data.
+ */
+ public byte[] getData() {
+ return _container.getSoundData();
+ }
+
+ /**
+ * Find all sound records in the supplied Document records
+ *
+ * @param document the document to find in
+ * @return the array with the sound data
+ */
+ public static HSLFSoundData[] find(Document document){
+ ArrayList<HSLFSoundData> lst = new ArrayList<HSLFSoundData>();
+ Record[] ch = document.getChildRecords();
+ for (int i = 0; i < ch.length; i++) {
+ if(ch[i].getRecordType() == RecordTypes.SoundCollection.typeID){
+ RecordContainer col = (RecordContainer)ch[i];
+ Record[] sr = col.getChildRecords();
+ for (int j = 0; j < sr.length; j++) {
+ if(sr[j] instanceof Sound){
+ lst.add(new HSLFSoundData((Sound)sr[j]));
+ }
+ }
+ }
+
+ }
+ return lst.toArray(new HSLFSoundData[lst.size()]);
+ }
+}
--- /dev/null
+/* ====================================================================
+ 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.hslf.usermodel;
+
+import java.awt.Color;
+
+import org.apache.poi.hslf.model.*;
+import org.apache.poi.hslf.model.textproperties.BitMaskTextProp;
+import org.apache.poi.hslf.model.textproperties.CharFlagsTextProp;
+import org.apache.poi.hslf.model.textproperties.ParagraphFlagsTextProp;
+import org.apache.poi.hslf.model.textproperties.TextProp;
+import org.apache.poi.hslf.model.textproperties.TextPropCollection;
+import org.apache.poi.hslf.record.ColorSchemeAtom;
+import org.apache.poi.sl.usermodel.TextRun;
+import org.apache.poi.util.POILogFactory;
+import org.apache.poi.util.POILogger;
+
+
+/**
+ * Represents a run of text, all with the same style
+ *
+ */
+public final class HSLFTextRun implements TextRun {
+ protected POILogger logger = POILogFactory.getLogger(this.getClass());
+
+ /** The TextRun we belong to */
+ private HSLFTextParagraph parentParagraph;
+ /** The SlideShow we belong to */
+ // private SlideShow slideShow;
+
+ /** Where in the parent TextRun we start from */
+ private int startPos;
+
+ /** How long a string (in the parent TextRun) we represent */
+ private int length;
+
+ private String _fontname;
+ /**
+ * Our paragraph and character style.
+ * Note - we may share these styles with other RichTextRuns
+ */
+ private TextPropCollection paragraphStyle;
+ private TextPropCollection characterStyle;
+ private boolean sharingParagraphStyle;
+ private boolean sharingCharacterStyle;
+
+ /**
+ * Create a new wrapper around a (currently not)
+ * rich text string
+ * @param parent
+ * @param startAt
+ * @param len
+ */
+ public HSLFTextRun(HSLFTextParagraph parent, int startAt, int len) {
+ this(parent, startAt, len, null, null, false, false);
+ }
+ /**
+ * Create a new wrapper around a rich text string
+ * @param parent The parent TextRun
+ * @param startAt The start position of this run
+ * @param len The length of this run
+ * @param pStyle The paragraph style property collection
+ * @param cStyle The character style property collection
+ * @param pShared The paragraph styles are shared with other runs
+ * @param cShared The character styles are shared with other runs
+ */
+ public HSLFTextRun(HSLFTextParagraph parent, int startAt, int len,
+ TextPropCollection pStyle, TextPropCollection cStyle,
+ boolean pShared, boolean cShared) {
+ parentParagraph = parent;
+ startPos = startAt;
+ length = len;
+ paragraphStyle = pStyle;
+ characterStyle = cStyle;
+ sharingParagraphStyle = pShared;
+ sharingCharacterStyle = cShared;
+ }
+
+ /**
+ * Supply (normally default) textprops, and if they're shared,
+ * when a run gets them
+ */
+ public void supplyTextProps(TextPropCollection pStyle, TextPropCollection cStyle, boolean pShared, boolean cShared) {
+ if(paragraphStyle != null || characterStyle != null) {
+ throw new IllegalStateException("Can't call supplyTextProps if run already has some");
+ }
+ paragraphStyle = pStyle;
+ characterStyle = cStyle;
+ sharingParagraphStyle = pShared;
+ sharingCharacterStyle = cShared;
+ }
+ /**
+ * Supply the SlideShow we belong to
+ */
+ public void updateSheet() {
+ if (_fontname != null) {
+ setFontName(_fontname);
+ _fontname = null;
+ }
+ }
+
+ /**
+ * Get the length of the text
+ */
+ public int getLength() {
+ return length;
+ }
+
+ /**
+ * The beginning index, inclusive.
+ *
+ * @return the beginning index, inclusive.
+ */
+ public int getStartIndex(){
+ return startPos;
+ }
+
+ /**
+ * The ending index, exclusive.
+ *
+ * @return the ending index, exclusive.
+ */
+ public int getEndIndex(){
+ return startPos + length;
+ }
+
+ /**
+ * Fetch the text, in output suitable form
+ */
+ public String getText() {
+ return parentParagraph.getText().substring(startPos, startPos+length);
+ }
+ /**
+ * Fetch the text, in raw storage form
+ */
+ public String getRawText() {
+ return parentParagraph.getRawText().substring(startPos, startPos+length);
+ }
+
+ /**
+ * Change the text
+ */
+ public void setText(String text) {
+ String s = parentParagraph.normalize(text);
+ setRawText(s);
+ }
+
+ /**
+ * Change the text
+ */
+ public void setRawText(String text) {
+ length = text.length();
+ parentParagraph.changeTextInRichTextRun(this,text);
+ }
+
+ /**
+ * Tells the RichTextRun its new position in the parent TextRun
+ * @param startAt
+ */
+ public void updateStartPosition(int startAt) {
+ startPos = startAt;
+ }
+
+
+ // --------------- Internal helpers on rich text properties -------
+
+ /**
+ * Fetch the value of the given flag in the CharFlagsTextProp.
+ * Returns false if the CharFlagsTextProp isn't present, since the
+ * text property won't be set if there's no CharFlagsTextProp.
+ */
+ private boolean isCharFlagsTextPropVal(int index) {
+ return getFlag(true, index);
+ }
+
+ private boolean getFlag(boolean isCharacter, int index) {
+ TextPropCollection props;
+ String propname;
+ if (isCharacter){
+ props = characterStyle;
+ propname = CharFlagsTextProp.NAME;
+ } else {
+ props = paragraphStyle;
+ propname = ParagraphFlagsTextProp.NAME;
+ }
+
+ BitMaskTextProp prop = null;
+ if (props != null){
+ prop = (BitMaskTextProp)props.findByName(propname);
+ }
+ if (prop == null){
+ HSLFSheet sheet = parentParagraph.getSheet();
+ if(sheet != null){
+ int txtype = parentParagraph.getRunType();
+ HSLFMasterSheet master = sheet.getMasterSheet();
+ if (master != null){
+ prop = (BitMaskTextProp)master.getStyleAttribute(txtype, getIndentLevel(), propname, isCharacter);
+ }
+ } else {
+ logger.log(POILogger.WARN, "MasterSheet is not available");
+ }
+ }
+
+ return prop == null ? false : prop.getSubValue(index);
+ }
+
+ /**
+ * Set the value of the given flag in the CharFlagsTextProp, adding
+ * it if required.
+ */
+ private void setCharFlagsTextPropVal(int index, boolean value) {
+ if(getFlag(true, index) != value) setFlag(true, index, value);
+ }
+
+ public void setFlag(boolean isCharacter, int index, boolean value) {
+ TextPropCollection props;
+ String propname;
+ if (isCharacter){
+ props = characterStyle;
+ propname = CharFlagsTextProp.NAME;
+ } else {
+ props = paragraphStyle;
+ propname = ParagraphFlagsTextProp.NAME;
+ }
+
+ // Ensure we have the StyleTextProp atom we're going to need
+ if(props == null) {
+ parentParagraph.ensureStyleAtomPresent();
+ props = isCharacter ? characterStyle : paragraphStyle;
+ }
+
+ BitMaskTextProp prop = (BitMaskTextProp) fetchOrAddTextProp(props, propname);
+ prop.setSubValue(value,index);
+ }
+
+ /**
+ * Returns the named TextProp, either by fetching it (if it exists) or adding it
+ * (if it didn't)
+ * @param textPropCol The TextPropCollection to fetch from / add into
+ * @param textPropName The name of the TextProp to fetch/add
+ */
+ private TextProp fetchOrAddTextProp(TextPropCollection textPropCol, String textPropName) {
+ // Fetch / Add the TextProp
+ TextProp tp = textPropCol.findByName(textPropName);
+ if(tp == null) {
+ tp = textPropCol.addWithName(textPropName);
+ }
+ return tp;
+ }
+
+ /**
+ * Fetch the value of the given Character related TextProp.
+ * Returns -1 if that TextProp isn't present.
+ * If the TextProp isn't present, the value from the appropriate
+ * Master Sheet will apply.
+ */
+ private int getCharTextPropVal(String propName) {
+ TextProp prop = null;
+ if (characterStyle != null){
+ prop = characterStyle.findByName(propName);
+ }
+
+ if (prop == null){
+ HSLFSheet sheet = parentParagraph.getSheet();
+ int txtype = parentParagraph.getRunType();
+ HSLFMasterSheet master = sheet.getMasterSheet();
+ if (master != null)
+ prop = master.getStyleAttribute(txtype, getIndentLevel(), propName, true);
+ }
+ return prop == null ? -1 : prop.getValue();
+ }
+ /**
+ * Fetch the value of the given Paragraph related TextProp.
+ * Returns -1 if that TextProp isn't present.
+ * If the TextProp isn't present, the value from the appropriate
+ * Master Sheet will apply.
+ */
+ private int getParaTextPropVal(String propName) {
+ TextProp prop = null;
+ boolean hardAttribute = false;
+ if (paragraphStyle != null){
+ prop = paragraphStyle.findByName(propName);
+
+ BitMaskTextProp maskProp = (BitMaskTextProp)paragraphStyle.findByName(ParagraphFlagsTextProp.NAME);
+ hardAttribute = maskProp != null && maskProp.getValue() == 0;
+ }
+ if (prop == null && !hardAttribute){
+ HSLFSheet sheet = parentParagraph.getSheet();
+ int txtype = parentParagraph.getRunType();
+ HSLFMasterSheet master = sheet.getMasterSheet();
+ if (master != null)
+ prop = master.getStyleAttribute(txtype, getIndentLevel(), propName, false);
+ }
+
+ return prop == null ? -1 : prop.getValue();
+ }
+
+ /**
+ * Sets the value of the given Character TextProp, add if required
+ * @param propName The name of the Character TextProp
+ * @param val The value to set for the TextProp
+ */
+ public void setParaTextPropVal(String propName, int val) {
+ // Ensure we have the StyleTextProp atom we're going to need
+ if(paragraphStyle == null) {
+ parentParagraph.ensureStyleAtomPresent();
+ // paragraphStyle will now be defined
+ }
+
+ assert(paragraphStyle!=null);
+ TextProp tp = fetchOrAddTextProp(paragraphStyle, propName);
+ tp.setValue(val);
+ }
+ /**
+ * Sets the value of the given Paragraph TextProp, add if required
+ * @param propName The name of the Paragraph TextProp
+ * @param val The value to set for the TextProp
+ */
+ public void setCharTextPropVal(String propName, int val) {
+ // Ensure we have the StyleTextProp atom we're going to need
+ if(characterStyle == null) {
+ parentParagraph.ensureStyleAtomPresent();
+ // characterStyle will now be defined
+ }
+
+ assert(characterStyle!=null);
+ TextProp tp = fetchOrAddTextProp(characterStyle, propName);
+ tp.setValue(val);
+ }
+
+
+ // --------------- Friendly getters / setters on rich text properties -------
+
+ /**
+ * Is the text bold?
+ */
+ public boolean isBold() {
+ return isCharFlagsTextPropVal(CharFlagsTextProp.BOLD_IDX);
+ }
+
+ /**
+ * Is the text bold?
+ */
+ public void setBold(boolean bold) {
+ setCharFlagsTextPropVal(CharFlagsTextProp.BOLD_IDX, bold);
+ }
+
+ /**
+ * Is the text italic?
+ */
+ public boolean isItalic() {
+ return isCharFlagsTextPropVal(CharFlagsTextProp.ITALIC_IDX);
+ }
+
+ /**
+ * Is the text italic?
+ */
+ public void setItalic(boolean italic) {
+ setCharFlagsTextPropVal(CharFlagsTextProp.ITALIC_IDX, italic);
+ }
+
+ /**
+ * Is the text underlined?
+ */
+ public boolean isUnderline() {
+ return isCharFlagsTextPropVal(CharFlagsTextProp.UNDERLINE_IDX);
+ }
+
+ /**
+ * Is the text underlined?
+ */
+ public void setUnderline(boolean underlined) {
+ setCharFlagsTextPropVal(CharFlagsTextProp.UNDERLINE_IDX, underlined);
+ }
+
+ /**
+ * Does the text have a shadow?
+ */
+ public boolean isShadowed() {
+ return isCharFlagsTextPropVal(CharFlagsTextProp.SHADOW_IDX);
+ }
+
+ /**
+ * Does the text have a shadow?
+ */
+ public void setShadowed(boolean flag) {
+ setCharFlagsTextPropVal(CharFlagsTextProp.SHADOW_IDX, flag);
+ }
+
+ /**
+ * Is this text embossed?
+ */
+ public boolean isEmbossed() {
+ return isCharFlagsTextPropVal(CharFlagsTextProp.RELIEF_IDX);
+ }
+
+ /**
+ * Is this text embossed?
+ */
+ public void setEmbossed(boolean flag) {
+ setCharFlagsTextPropVal(CharFlagsTextProp.RELIEF_IDX, flag);
+ }
+
+ /**
+ * Gets the strikethrough flag
+ */
+ public boolean isStrikethrough() {
+ return isCharFlagsTextPropVal(CharFlagsTextProp.STRIKETHROUGH_IDX);
+ }
+
+ /**
+ * Sets the strikethrough flag
+ */
+ public void setStrikethrough(boolean flag) {
+ setCharFlagsTextPropVal(CharFlagsTextProp.STRIKETHROUGH_IDX, flag);
+ }
+
+ /**
+ * Gets the subscript/superscript option
+ *
+ * @return the percentage of the font size. If the value is positive, it is superscript, otherwise it is subscript
+ */
+ public int getSuperscript() {
+ int val = getCharTextPropVal("superscript");
+ return val == -1 ? 0 : val;
+ }
+
+ /**
+ * Sets the subscript/superscript option
+ *
+ * @param val the percentage of the font size. If the value is positive, it is superscript, otherwise it is subscript
+ */
+ public void setSuperscript(int val) {
+ setCharTextPropVal("superscript", val);
+ }
+
+ /**
+ * Gets the font size
+ */
+ public int getFontSize() {
+ return getCharTextPropVal("font.size");
+ }
+
+
+ /**
+ * Sets the font size
+ */
+ public void setFontSize(int fontSize) {
+ setCharTextPropVal("font.size", fontSize);
+ }
+
+ /**
+ * Gets the font index
+ */
+ public int getFontIndex() {
+ return getCharTextPropVal("font.index");
+ }
+
+ /**
+ * Sets the font index
+ */
+ public void setFontIndex(int idx) {
+ setCharTextPropVal("font.index", idx);
+ }
+
+
+ /**
+ * Sets the font name to use
+ */
+ public void setFontName(String fontName) {
+ HSLFSheet sheet = parentParagraph.getSheet();
+ HSLFSlideShowImpl slideShow = (sheet == null) ? null : sheet.getSlideShow();
+ if (sheet == null || slideShow == null) {
+ //we can't set font since slideshow is not assigned yet
+ _fontname = fontName;
+ return;
+ }
+ // Get the index for this font (adding if needed)
+ int fontIdx = slideShow.getFontCollection().addFont(fontName);
+ setCharTextPropVal("font.index", fontIdx);
+ }
+
+ /**
+ * Gets the font name
+ */
+ public String getFontName() {
+ HSLFSheet sheet = parentParagraph.getSheet();
+ HSLFSlideShowImpl slideShow = (sheet == null) ? null : sheet.getSlideShow();
+ if (sheet == null || slideShow == null) {
+ return _fontname;
+ }
+ int fontIdx = getCharTextPropVal("font.index");
+ if(fontIdx == -1) { return null; }
+ return slideShow.getFontCollection().getFontWithId(fontIdx);
+ }
+
+ /**
+ * @return font color as RGB value
+ * @see java.awt.Color
+ */
+ public Color getFontColor() {
+ int rgb = getCharTextPropVal("font.color");
+
+ int cidx = rgb >> 24;
+ if (rgb % 0x1000000 == 0){
+ ColorSchemeAtom ca = parentParagraph.getSheet().getColorScheme();
+ if(cidx >= 0 && cidx <= 7) rgb = ca.getColor(cidx);
+ }
+ Color tmp = new Color(rgb, true);
+ return new Color(tmp.getBlue(), tmp.getGreen(), tmp.getRed());
+ }
+
+ /**
+ * Sets color of the text, as a int bgr.
+ * (PowerPoint stores as BlueGreenRed, not the more
+ * usual RedGreenBlue)
+ * @see java.awt.Color
+ */
+ public void setFontColor(int bgr) {
+ setCharTextPropVal("font.color", bgr);
+ }
+
+ /**
+ * Sets color of the text, as a java.awt.Color
+ */
+ public void setFontColor(Color color) {
+ // In PowerPont RGB bytes are swapped, as BGR
+ int rgb = new Color(color.getBlue(), color.getGreen(), color.getRed(), 254).getRGB();
+ setFontColor(rgb);
+ }
+
+ /**
+ * Sets the type of horizontal alignment for the text.
+ * One of the <code>Align*</code> constants defined in the <code>TextBox</code> class.
+ *
+ * @param align - the type of alignment
+ */
+ public void setAlignment(int align) {
+ setParaTextPropVal("alignment", align);
+ }
+ /**
+ * Returns the type of horizontal alignment for the text.
+ * One of the <code>Align*</code> constants defined in the <code>TextBox</class> class.
+ *
+ * @return the type of alignment
+ */
+ public int getAlignment() {
+ return getParaTextPropVal("alignment");
+ }
+
+ /**
+ *
+ * @return indentation level
+ */
+ public int getIndentLevel() {
+ return paragraphStyle == null ? 0 : paragraphStyle.getReservedField();
+ }
+
+ /**
+ * Sets indentation level
+ *
+ * @param level indentation level. Must be in the range [0, 4]
+ */
+ public void setIndentLevel(int level) {
+ if(paragraphStyle != null ) paragraphStyle.setReservedField((short)level);
+ }
+
+ /**
+ * Sets whether this rich text run has bullets
+ */
+ public void setBullet(boolean flag) {
+ setFlag(false, ParagraphFlagsTextProp.BULLET_IDX, flag);
+ }
+
+ /**
+ * Returns whether this rich text run has bullets
+ */
+ public boolean isBullet() {
+ return getFlag(false, ParagraphFlagsTextProp.BULLET_IDX);
+ }
+
+ /**
+ * Returns whether this rich text run has bullets
+ */
+ public boolean isBulletHard() {
+ return getFlag(false, ParagraphFlagsTextProp.BULLET_IDX);
+ }
+
+ /**
+ * Sets the bullet character
+ */
+ public void setBulletChar(char c) {
+ setParaTextPropVal("bullet.char", c);
+ }
+
+ /**
+ * Returns the bullet character
+ */
+ public char getBulletChar() {
+ return (char)getParaTextPropVal("bullet.char");
+ }
+
+ /**
+ * Sets the bullet offset
+ */
+ public void setBulletOffset(int offset) {
+ setParaTextPropVal("bullet.offset", offset*HSLFShape.MASTER_DPI/HSLFShape.POINT_DPI);
+ }
+
+ /**
+ * Returns the bullet offset
+ */
+ public int getBulletOffset() {
+ return getParaTextPropVal("bullet.offset")*HSLFShape.POINT_DPI/HSLFShape.MASTER_DPI;
+ }
+
+ /**
+ * Sets the text offset
+ */
+ public void setTextOffset(int offset) {
+ setParaTextPropVal("text.offset", offset*HSLFShape.MASTER_DPI/HSLFShape.POINT_DPI);
+ }
+
+ /**
+ * Returns the text offset
+ */
+ public int getTextOffset() {
+ return getParaTextPropVal("text.offset")*HSLFShape.POINT_DPI/HSLFShape.MASTER_DPI;
+ }
+
+ /**
+ * Sets the bullet size
+ */
+ public void setBulletSize(int size) {
+ setParaTextPropVal("bullet.size", size);
+ }
+
+ /**
+ * Returns the bullet size
+ */
+ public int getBulletSize() {
+ return getParaTextPropVal("bullet.size");
+ }
+
+ /**
+ * Sets the bullet color
+ */
+ public void setBulletColor(Color color) {
+ int rgb = new Color(color.getBlue(), color.getGreen(), color.getRed(), 254).getRGB();
+ setParaTextPropVal("bullet.color", rgb);
+ }
+
+ /**
+ * Returns the bullet color
+ */
+ public Color getBulletColor() {
+ int rgb = getParaTextPropVal("bullet.color");
+ if(rgb == -1) return getFontColor();
+
+ int cidx = rgb >> 24;
+ if (rgb % 0x1000000 == 0){
+ ColorSchemeAtom ca = parentParagraph.getSheet().getColorScheme();
+ if(cidx >= 0 && cidx <= 7) rgb = ca.getColor(cidx);
+ }
+ Color tmp = new Color(rgb, true);
+ return new Color(tmp.getBlue(), tmp.getGreen(), tmp.getRed());
+ }
+
+ /**
+ * Sets the bullet font
+ */
+ public void setBulletFont(int idx) {
+ setParaTextPropVal("bullet.font", idx);
+ setFlag(false, ParagraphFlagsTextProp.BULLET_HARDFONT_IDX, true);
+ }
+
+ /**
+ * Returns the bullet font
+ */
+ public int getBulletFont() {
+ return getParaTextPropVal("bullet.font");
+ }
+
+ /**
+ * Sets the line spacing.
+ * <p>
+ * If linespacing >= 0, then linespacing is a percentage of normal line height.
+ * If linespacing < 0, the absolute value of linespacing is the spacing in master coordinates.
+ * </p>
+ */
+ public void setLineSpacing(int val) {
+ setParaTextPropVal("linespacing", val);
+ }
+
+ /**
+ * Returns the line spacing
+ * <p>
+ * If linespacing >= 0, then linespacing is a percentage of normal line height.
+ * If linespacing < 0, the absolute value of linespacing is the spacing in master coordinates.
+ * </p>
+ *
+ * @return the spacing between lines
+ */
+ public int getLineSpacing() {
+ int val = getParaTextPropVal("linespacing");
+ return val == -1 ? 0 : val;
+ }
+
+ /**
+ * Sets spacing before a paragraph.
+ * <p>
+ * If spacebefore >= 0, then spacebefore is a percentage of normal line height.
+ * If spacebefore < 0, the absolute value of spacebefore is the spacing in master coordinates.
+ * </p>
+ */
+ public void setSpaceBefore(int val) {
+ setParaTextPropVal("spacebefore", val);
+ }
+
+ /**
+ * Returns spacing before a paragraph
+ * <p>
+ * If spacebefore >= 0, then spacebefore is a percentage of normal line height.
+ * If spacebefore < 0, the absolute value of spacebefore is the spacing in master coordinates.
+ * </p>
+ *
+ * @return the spacing before a paragraph
+ */
+ public int getSpaceBefore() {
+ int val = getParaTextPropVal("spacebefore");
+ return val == -1 ? 0 : val;
+ }
+
+ /**
+ * Sets spacing after a paragraph.
+ * <p>
+ * If spaceafter >= 0, then spaceafter is a percentage of normal line height.
+ * If spaceafter < 0, the absolute value of spaceafter is the spacing in master coordinates.
+ * </p>
+ */
+ public void setSpaceAfter(int val) {
+ setParaTextPropVal("spaceafter", val);
+ }
+
+ /**
+ * Returns spacing after a paragraph
+ * <p>
+ * If spaceafter >= 0, then spaceafter is a percentage of normal line height.
+ * If spaceafter < 0, the absolute value of spaceafter is the spacing in master coordinates.
+ * </p>
+ *
+ * @return the spacing before a paragraph
+ */
+ public int getSpaceAfter() {
+ int val = getParaTextPropVal("spaceafter");
+ return val == -1 ? 0 : val;
+ }
+ // --------------- Internal HSLF methods, not intended for end-user use! -------
+
+ /**
+ * Internal Use Only - get the underlying paragraph style collection.
+ * For normal use, use the friendly setters and getters
+ */
+ public TextPropCollection _getRawParagraphStyle() { return paragraphStyle; }
+ /**
+ * Internal Use Only - get the underlying character style collection.
+ * For normal use, use the friendly setters and getters
+ */
+ public TextPropCollection _getRawCharacterStyle() { return characterStyle; }
+ /**
+ * Internal Use Only - are the Paragraph styles shared?
+ */
+ public boolean _isParagraphStyleShared() { return sharingParagraphStyle; }
+ /**
+ * Internal Use Only - are the Character styles shared?
+ */
+ public boolean _isCharacterStyleShared() { return sharingCharacterStyle; }
+}
+++ /dev/null
-/* ====================================================================
- 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.hslf.usermodel;
-
-import java.io.InputStream;
-import java.io.IOException;
-
-import org.apache.poi.hslf.record.ExOleObjStg;
-
-/**
- * A class that represents object data embedded in a slide show.
- *
- * @author Daniel Noll
- */
-public class ObjectData {
- /**
- * The record that contains the object data.
- */
- private ExOleObjStg storage;
-
- /**
- * Creates the object data wrapping the record that contains the object data.
- *
- * @param storage the record that contains the object data.
- */
- public ObjectData(ExOleObjStg storage) {
- this.storage = storage;
- }
-
- /**
- * Gets an input stream which returns the binary of the embedded data.
- *
- * @return the input stream which will contain the binary of the embedded data.
- */
- public InputStream getData() {
- return storage.getData();
- }
-
- /**
- * Sets the embedded data.
- *
- * @param data the embedded data.
- */
- public void setData(byte[] data) throws IOException {
- storage.setData(data);
- }
-
- /**
- * Return the record that contains the object data.
- *
- * @return the record that contains the object data.
- */
- public ExOleObjStg getExOleObjStg() {
- return storage;
- }
-}
+++ /dev/null
-/* ====================================================================
- 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.hslf.usermodel;
-
-import java.awt.Graphics2D;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.security.MessageDigest;
-
-import org.apache.poi.hslf.blip.BitmapPainter;
-import org.apache.poi.hslf.blip.DIB;
-import org.apache.poi.hslf.blip.EMF;
-import org.apache.poi.hslf.blip.ImagePainter;
-import org.apache.poi.hslf.blip.JPEG;
-import org.apache.poi.hslf.blip.PICT;
-import org.apache.poi.hslf.blip.PNG;
-import org.apache.poi.hslf.blip.WMF;
-import org.apache.poi.hslf.model.Picture;
-import org.apache.poi.poifs.crypt.CryptoFunctions;
-import org.apache.poi.poifs.crypt.HashAlgorithm;
-import org.apache.poi.util.LittleEndian;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
-
-/**
- * A class that represents image data contained in a slide show.
- *
- * @author Yegor Kozlov
- */
-public abstract class PictureData {
-
- protected POILogger logger = POILogFactory.getLogger(this.getClass());
-
- /**
- * Size of the image checksum calculated using MD5 algorithm.
- */
- protected static final int CHECKSUM_SIZE = 16;
-
- /**
- * Binary data of the picture
- */
- private byte[] rawdata;
- /**
- * The offset to the picture in the stream
- */
- protected int offset;
-
- /**
- * Returns type of this picture.
- * Must be one of the static constants defined in the <code>Picture<code> class.
- *
- * @return type of this picture.
- */
- public abstract int getType();
-
- /**
- * Returns the binary data of this Picture
- * @return picture data
- */
- public abstract byte[] getData();
-
- /**
- * Set picture data
- */
- public abstract void setData(byte[] data) throws IOException;
-
- /**
- * Blip signature.
- */
- protected abstract int getSignature();
-
- protected static final ImagePainter[] painters = new ImagePainter[8];
- static {
- PictureData.setImagePainter(Picture.PNG, new BitmapPainter());
- PictureData.setImagePainter(Picture.JPEG, new BitmapPainter());
- PictureData.setImagePainter(Picture.DIB, new BitmapPainter());
- }
-
- /**
- * Returns the raw binary data of this Picture excluding the first 8 bytes
- * which hold image signature and size of the image data.
- *
- * @return picture data
- */
- public byte[] getRawData(){
- return rawdata;
- }
-
- public void setRawData(byte[] data){
- rawdata = data;
- }
-
- /**
- * File offset in the 'Pictures' stream
- *
- * @return offset in the 'Pictures' stream
- */
- public int getOffset(){
- return offset;
- }
-
- /**
- * Set offset of this picture in the 'Pictures' stream.
- * We need to set it when a new picture is created.
- *
- * @param offset in the 'Pictures' stream
- */
- public void setOffset(int offset){
- this.offset = offset;
- }
-
- /**
- * Returns 16-byte checksum of this picture
- */
- public byte[] getUID(){
- byte[] uid = new byte[16];
- System.arraycopy(rawdata, 0, uid, 0, uid.length);
- return uid;
- }
-
-
- /**
- * Compute 16-byte checksum of this picture using MD5 algorithm.
- */
- public static byte[] getChecksum(byte[] data) {
- MessageDigest md5 = CryptoFunctions.getMessageDigest(HashAlgorithm.md5);
- md5.update(data);
- return md5.digest();
- }
-
- /**
- * Write this picture into <code>OutputStream</code>
- */
- public void write(OutputStream out) throws IOException {
- byte[] data;
-
- data = new byte[LittleEndian.SHORT_SIZE];
- LittleEndian.putUShort(data, 0, getSignature());
- out.write(data);
-
- data = new byte[LittleEndian.SHORT_SIZE];
- LittleEndian.putUShort(data, 0, getType() + 0xF018);
- out.write(data);
-
- byte[] rawdata = getRawData();
-
- data = new byte[LittleEndian.INT_SIZE];
- LittleEndian.putInt(data, 0, rawdata.length);
- out.write(data);
-
- out.write(rawdata);
- }
-
- /**
- * Create an instance of <code>PictureData</code> by type.
- *
- * @param type type of the picture data.
- * Must be one of the static constants defined in the <code>Picture<code> class.
- * @return concrete instance of <code>PictureData</code>
- */
- public static PictureData create(int type){
- PictureData pict;
- switch (type){
- case Picture.EMF:
- pict = new EMF();
- break;
- case Picture.WMF:
- pict = new WMF();
- break;
- case Picture.PICT:
- pict = new PICT();
- break;
- case Picture.JPEG:
- pict = new JPEG();
- break;
- case Picture.PNG:
- pict = new PNG();
- break;
- case Picture.DIB:
- pict = new DIB();
- break;
- default:
- throw new IllegalArgumentException("Unsupported picture type: " + type);
- }
- return pict;
- }
-
- /**
- * Return 24 byte header which preceeds the actual picture data.
- * <p>
- * The header consists of 2-byte signature, 2-byte type,
- * 4-byte image size and 16-byte checksum of the image data.
- * </p>
- *
- * @return the 24 byte header which preceeds the actual picture data.
- */
- public byte[] getHeader() {
- byte[] header = new byte[16 + 8];
- LittleEndian.putInt(header, 0, getSignature());
- LittleEndian.putInt(header, 4, getRawData().length);
- System.arraycopy(rawdata, 0, header, 8, 16);
- return header;
- }
-
- /**
- * Return image size in bytes
- *
- * @return the size of the picture in bytes
- * @deprecated Use <code>getData().length</code> instead.
- */
- public int getSize(){
- return getData().length;
- }
-
- public void draw(Graphics2D graphics, Picture parent){
- ImagePainter painter = painters[getType()];
- if(painter != null) painter.paint(graphics, this, parent);
- else logger.log(POILogger.WARN, "Rendering is not supported: " + getClass().getName());
- }
-
- /**
- * Register ImagePainter for the specified image type
- *
- * @param type image type, must be one of the static constants defined in the <code>Picture<code> class.
- * @param painter
- */
- public static void setImagePainter(int type, ImagePainter painter){
- painters[type] = painter;
- }
-
- /**
- * Return ImagePainter for the specified image type
- *
- * @param type blip type, must be one of the static constants defined in the <code>Picture<code> class.
- * @return ImagePainter for the specified image type
- */
- public static ImagePainter getImagePainter(int type){
- return painters[type];
- }
-
-}
+++ /dev/null
-/* ====================================================================
- 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.hslf.usermodel;
-
-import java.awt.Color;
-
-import org.apache.poi.hslf.model.MasterSheet;
-import org.apache.poi.hslf.model.HSLFShape;
-import org.apache.poi.hslf.model.Sheet;
-import org.apache.poi.hslf.model.TextRun;
-import org.apache.poi.hslf.model.textproperties.BitMaskTextProp;
-import org.apache.poi.hslf.model.textproperties.CharFlagsTextProp;
-import org.apache.poi.hslf.model.textproperties.ParagraphFlagsTextProp;
-import org.apache.poi.hslf.model.textproperties.TextProp;
-import org.apache.poi.hslf.model.textproperties.TextPropCollection;
-import org.apache.poi.hslf.record.ColorSchemeAtom;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
-
-
-/**
- * Represents a run of text, all with the same style
- *
- */
-public final class RichTextRun {
- protected POILogger logger = POILogFactory.getLogger(this.getClass());
-
- /** The TextRun we belong to */
- private TextRun parentRun;
- /** The SlideShow we belong to */
- private SlideShow slideShow;
-
- /** Where in the parent TextRun we start from */
- private int startPos;
-
- /** How long a string (in the parent TextRun) we represent */
- private int length;
-
- private String _fontname;
- /**
- * Our paragraph and character style.
- * Note - we may share these styles with other RichTextRuns
- */
- private TextPropCollection paragraphStyle;
- private TextPropCollection characterStyle;
- private boolean sharingParagraphStyle;
- private boolean sharingCharacterStyle;
-
- /**
- * Create a new wrapper around a (currently not)
- * rich text string
- * @param parent
- * @param startAt
- * @param len
- */
- public RichTextRun(TextRun parent, int startAt, int len) {
- this(parent, startAt, len, null, null, false, false);
- }
- /**
- * Create a new wrapper around a rich text string
- * @param parent The parent TextRun
- * @param startAt The start position of this run
- * @param len The length of this run
- * @param pStyle The paragraph style property collection
- * @param cStyle The character style property collection
- * @param pShared The paragraph styles are shared with other runs
- * @param cShared The character styles are shared with other runs
- */
- public RichTextRun(TextRun parent, int startAt, int len,
- TextPropCollection pStyle, TextPropCollection cStyle,
- boolean pShared, boolean cShared) {
- parentRun = parent;
- startPos = startAt;
- length = len;
- paragraphStyle = pStyle;
- characterStyle = cStyle;
- sharingParagraphStyle = pShared;
- sharingCharacterStyle = cShared;
- }
-
- /**
- * Supply (normally default) textprops, and if they're shared,
- * when a run gets them
- */
- public void supplyTextProps(TextPropCollection pStyle, TextPropCollection cStyle, boolean pShared, boolean cShared) {
- if(paragraphStyle != null || characterStyle != null) {
- throw new IllegalStateException("Can't call supplyTextProps if run already has some");
- }
- paragraphStyle = pStyle;
- characterStyle = cStyle;
- sharingParagraphStyle = pShared;
- sharingCharacterStyle = cShared;
- }
- /**
- * Supply the SlideShow we belong to
- */
- public void supplySlideShow(SlideShow ss) {
- slideShow = ss;
- if (_fontname != null) {
- setFontName(_fontname);
- _fontname = null;
- }
- }
-
- /**
- * Get the length of the text
- */
- public int getLength() {
- return length;
- }
-
- /**
- * The beginning index, inclusive.
- *
- * @return the beginning index, inclusive.
- */
- public int getStartIndex(){
- return startPos;
- }
-
- /**
- * The ending index, exclusive.
- *
- * @return the ending index, exclusive.
- */
- public int getEndIndex(){
- return startPos + length;
- }
-
- /**
- * Fetch the text, in output suitable form
- */
- public String getText() {
- return parentRun.getText().substring(startPos, startPos+length);
- }
- /**
- * Fetch the text, in raw storage form
- */
- public String getRawText() {
- return parentRun.getRawText().substring(startPos, startPos+length);
- }
-
- /**
- * Change the text
- */
- public void setText(String text) {
- String s = parentRun.normalize(text);
- setRawText(s);
- }
-
- /**
- * Change the text
- */
- public void setRawText(String text) {
- length = text.length();
- parentRun.changeTextInRichTextRun(this,text);
- }
-
- /**
- * Tells the RichTextRun its new position in the parent TextRun
- * @param startAt
- */
- public void updateStartPosition(int startAt) {
- startPos = startAt;
- }
-
-
- // --------------- Internal helpers on rich text properties -------
-
- /**
- * Fetch the value of the given flag in the CharFlagsTextProp.
- * Returns false if the CharFlagsTextProp isn't present, since the
- * text property won't be set if there's no CharFlagsTextProp.
- */
- private boolean isCharFlagsTextPropVal(int index) {
- return getFlag(true, index);
- }
-
- private boolean getFlag(boolean isCharacter, int index) {
- TextPropCollection props;
- String propname;
- if (isCharacter){
- props = characterStyle;
- propname = CharFlagsTextProp.NAME;
- } else {
- props = paragraphStyle;
- propname = ParagraphFlagsTextProp.NAME;
- }
-
- BitMaskTextProp prop = null;
- if (props != null){
- prop = (BitMaskTextProp)props.findByName(propname);
- }
- if (prop == null){
- Sheet sheet = parentRun.getSheet();
- if(sheet != null){
- int txtype = parentRun.getRunType();
- MasterSheet master = sheet.getMasterSheet();
- if (master != null){
- prop = (BitMaskTextProp)master.getStyleAttribute(txtype, getIndentLevel(), propname, isCharacter);
- }
- } else {
- logger.log(POILogger.WARN, "MasterSheet is not available");
- }
- }
-
- return prop == null ? false : prop.getSubValue(index);
- }
-
- /**
- * Set the value of the given flag in the CharFlagsTextProp, adding
- * it if required.
- */
- private void setCharFlagsTextPropVal(int index, boolean value) {
- if(getFlag(true, index) != value) setFlag(true, index, value);
- }
-
- public void setFlag(boolean isCharacter, int index, boolean value) {
- TextPropCollection props;
- String propname;
- if (isCharacter){
- props = characterStyle;
- propname = CharFlagsTextProp.NAME;
- } else {
- props = paragraphStyle;
- propname = ParagraphFlagsTextProp.NAME;
- }
-
- // Ensure we have the StyleTextProp atom we're going to need
- if(props == null) {
- parentRun.ensureStyleAtomPresent();
- props = isCharacter ? characterStyle : paragraphStyle;
- }
-
- BitMaskTextProp prop = (BitMaskTextProp) fetchOrAddTextProp(props, propname);
- prop.setSubValue(value,index);
- }
-
- /**
- * Returns the named TextProp, either by fetching it (if it exists) or adding it
- * (if it didn't)
- * @param textPropCol The TextPropCollection to fetch from / add into
- * @param textPropName The name of the TextProp to fetch/add
- */
- private TextProp fetchOrAddTextProp(TextPropCollection textPropCol, String textPropName) {
- // Fetch / Add the TextProp
- TextProp tp = textPropCol.findByName(textPropName);
- if(tp == null) {
- tp = textPropCol.addWithName(textPropName);
- }
- return tp;
- }
-
- /**
- * Fetch the value of the given Character related TextProp.
- * Returns -1 if that TextProp isn't present.
- * If the TextProp isn't present, the value from the appropriate
- * Master Sheet will apply.
- */
- private int getCharTextPropVal(String propName) {
- TextProp prop = null;
- if (characterStyle != null){
- prop = characterStyle.findByName(propName);
- }
-
- if (prop == null){
- Sheet sheet = parentRun.getSheet();
- int txtype = parentRun.getRunType();
- MasterSheet master = sheet.getMasterSheet();
- if (master != null)
- prop = master.getStyleAttribute(txtype, getIndentLevel(), propName, true);
- }
- return prop == null ? -1 : prop.getValue();
- }
- /**
- * Fetch the value of the given Paragraph related TextProp.
- * Returns -1 if that TextProp isn't present.
- * If the TextProp isn't present, the value from the appropriate
- * Master Sheet will apply.
- */
- private int getParaTextPropVal(String propName) {
- TextProp prop = null;
- boolean hardAttribute = false;
- if (paragraphStyle != null){
- prop = paragraphStyle.findByName(propName);
-
- BitMaskTextProp maskProp = (BitMaskTextProp)paragraphStyle.findByName(ParagraphFlagsTextProp.NAME);
- hardAttribute = maskProp != null && maskProp.getValue() == 0;
- }
- if (prop == null && !hardAttribute){
- Sheet sheet = parentRun.getSheet();
- int txtype = parentRun.getRunType();
- MasterSheet master = sheet.getMasterSheet();
- if (master != null)
- prop = master.getStyleAttribute(txtype, getIndentLevel(), propName, false);
- }
-
- return prop == null ? -1 : prop.getValue();
- }
-
- /**
- * Sets the value of the given Character TextProp, add if required
- * @param propName The name of the Character TextProp
- * @param val The value to set for the TextProp
- */
- public void setParaTextPropVal(String propName, int val) {
- // Ensure we have the StyleTextProp atom we're going to need
- if(paragraphStyle == null) {
- parentRun.ensureStyleAtomPresent();
- // paragraphStyle will now be defined
- }
-
- assert(paragraphStyle!=null);
- TextProp tp = fetchOrAddTextProp(paragraphStyle, propName);
- tp.setValue(val);
- }
- /**
- * Sets the value of the given Paragraph TextProp, add if required
- * @param propName The name of the Paragraph TextProp
- * @param val The value to set for the TextProp
- */
- public void setCharTextPropVal(String propName, int val) {
- // Ensure we have the StyleTextProp atom we're going to need
- if(characterStyle == null) {
- parentRun.ensureStyleAtomPresent();
- // characterStyle will now be defined
- }
-
- assert(characterStyle!=null);
- TextProp tp = fetchOrAddTextProp(characterStyle, propName);
- tp.setValue(val);
- }
-
-
- // --------------- Friendly getters / setters on rich text properties -------
-
- /**
- * Is the text bold?
- */
- public boolean isBold() {
- return isCharFlagsTextPropVal(CharFlagsTextProp.BOLD_IDX);
- }
-
- /**
- * Is the text bold?
- */
- public void setBold(boolean bold) {
- setCharFlagsTextPropVal(CharFlagsTextProp.BOLD_IDX, bold);
- }
-
- /**
- * Is the text italic?
- */
- public boolean isItalic() {
- return isCharFlagsTextPropVal(CharFlagsTextProp.ITALIC_IDX);
- }
-
- /**
- * Is the text italic?
- */
- public void setItalic(boolean italic) {
- setCharFlagsTextPropVal(CharFlagsTextProp.ITALIC_IDX, italic);
- }
-
- /**
- * Is the text underlined?
- */
- public boolean isUnderlined() {
- return isCharFlagsTextPropVal(CharFlagsTextProp.UNDERLINE_IDX);
- }
-
- /**
- * Is the text underlined?
- */
- public void setUnderlined(boolean underlined) {
- setCharFlagsTextPropVal(CharFlagsTextProp.UNDERLINE_IDX, underlined);
- }
-
- /**
- * Does the text have a shadow?
- */
- public boolean isShadowed() {
- return isCharFlagsTextPropVal(CharFlagsTextProp.SHADOW_IDX);
- }
-
- /**
- * Does the text have a shadow?
- */
- public void setShadowed(boolean flag) {
- setCharFlagsTextPropVal(CharFlagsTextProp.SHADOW_IDX, flag);
- }
-
- /**
- * Is this text embossed?
- */
- public boolean isEmbossed() {
- return isCharFlagsTextPropVal(CharFlagsTextProp.RELIEF_IDX);
- }
-
- /**
- * Is this text embossed?
- */
- public void setEmbossed(boolean flag) {
- setCharFlagsTextPropVal(CharFlagsTextProp.RELIEF_IDX, flag);
- }
-
- /**
- * Gets the strikethrough flag
- */
- public boolean isStrikethrough() {
- return isCharFlagsTextPropVal(CharFlagsTextProp.STRIKETHROUGH_IDX);
- }
-
- /**
- * Sets the strikethrough flag
- */
- public void setStrikethrough(boolean flag) {
- setCharFlagsTextPropVal(CharFlagsTextProp.STRIKETHROUGH_IDX, flag);
- }
-
- /**
- * Gets the subscript/superscript option
- *
- * @return the percentage of the font size. If the value is positive, it is superscript, otherwise it is subscript
- */
- public int getSuperscript() {
- int val = getCharTextPropVal("superscript");
- return val == -1 ? 0 : val;
- }
-
- /**
- * Sets the subscript/superscript option
- *
- * @param val the percentage of the font size. If the value is positive, it is superscript, otherwise it is subscript
- */
- public void setSuperscript(int val) {
- setCharTextPropVal("superscript", val);
- }
-
- /**
- * Gets the font size
- */
- public int getFontSize() {
- return getCharTextPropVal("font.size");
- }
-
-
- /**
- * Sets the font size
- */
- public void setFontSize(int fontSize) {
- setCharTextPropVal("font.size", fontSize);
- }
-
- /**
- * Gets the font index
- */
- public int getFontIndex() {
- return getCharTextPropVal("font.index");
- }
-
- /**
- * Sets the font index
- */
- public void setFontIndex(int idx) {
- setCharTextPropVal("font.index", idx);
- }
-
-
- /**
- * Sets the font name to use
- */
- public void setFontName(String fontName) {
- if (slideShow == null) {
- //we can't set font since slideshow is not assigned yet
- _fontname = fontName;
- } else {
- // Get the index for this font (adding if needed)
- int fontIdx = slideShow.getFontCollection().addFont(fontName);
- setCharTextPropVal("font.index", fontIdx);
- }
- }
-
- /**
- * Gets the font name
- */
- public String getFontName() {
- if (slideShow == null) {
- return _fontname;
- }
- int fontIdx = getCharTextPropVal("font.index");
- if(fontIdx == -1) { return null; }
- return slideShow.getFontCollection().getFontWithId(fontIdx);
- }
-
- /**
- * @return font color as RGB value
- * @see java.awt.Color
- */
- public Color getFontColor() {
- int rgb = getCharTextPropVal("font.color");
-
- int cidx = rgb >> 24;
- if (rgb % 0x1000000 == 0){
- ColorSchemeAtom ca = parentRun.getSheet().getColorScheme();
- if(cidx >= 0 && cidx <= 7) rgb = ca.getColor(cidx);
- }
- Color tmp = new Color(rgb, true);
- return new Color(tmp.getBlue(), tmp.getGreen(), tmp.getRed());
- }
-
- /**
- * Sets color of the text, as a int bgr.
- * (PowerPoint stores as BlueGreenRed, not the more
- * usual RedGreenBlue)
- * @see java.awt.Color
- */
- public void setFontColor(int bgr) {
- setCharTextPropVal("font.color", bgr);
- }
-
- /**
- * Sets color of the text, as a java.awt.Color
- */
- public void setFontColor(Color color) {
- // In PowerPont RGB bytes are swapped, as BGR
- int rgb = new Color(color.getBlue(), color.getGreen(), color.getRed(), 254).getRGB();
- setFontColor(rgb);
- }
-
- /**
- * Sets the type of horizontal alignment for the text.
- * One of the <code>Align*</code> constants defined in the <code>TextBox</code> class.
- *
- * @param align - the type of alignment
- */
- public void setAlignment(int align) {
- setParaTextPropVal("alignment", align);
- }
- /**
- * Returns the type of horizontal alignment for the text.
- * One of the <code>Align*</code> constants defined in the <code>TextBox</class> class.
- *
- * @return the type of alignment
- */
- public int getAlignment() {
- return getParaTextPropVal("alignment");
- }
-
- /**
- *
- * @return indentation level
- */
- public int getIndentLevel() {
- return paragraphStyle == null ? 0 : paragraphStyle.getReservedField();
- }
-
- /**
- * Sets indentation level
- *
- * @param level indentation level. Must be in the range [0, 4]
- */
- public void setIndentLevel(int level) {
- if(paragraphStyle != null ) paragraphStyle.setReservedField((short)level);
- }
-
- /**
- * Sets whether this rich text run has bullets
- */
- public void setBullet(boolean flag) {
- setFlag(false, ParagraphFlagsTextProp.BULLET_IDX, flag);
- }
-
- /**
- * Returns whether this rich text run has bullets
- */
- public boolean isBullet() {
- return getFlag(false, ParagraphFlagsTextProp.BULLET_IDX);
- }
-
- /**
- * Returns whether this rich text run has bullets
- */
- public boolean isBulletHard() {
- return getFlag(false, ParagraphFlagsTextProp.BULLET_IDX);
- }
-
- /**
- * Sets the bullet character
- */
- public void setBulletChar(char c) {
- setParaTextPropVal("bullet.char", c);
- }
-
- /**
- * Returns the bullet character
- */
- public char getBulletChar() {
- return (char)getParaTextPropVal("bullet.char");
- }
-
- /**
- * Sets the bullet offset
- */
- public void setBulletOffset(int offset) {
- setParaTextPropVal("bullet.offset", offset*HSLFShape.MASTER_DPI/HSLFShape.POINT_DPI);
- }
-
- /**
- * Returns the bullet offset
- */
- public int getBulletOffset() {
- return getParaTextPropVal("bullet.offset")*HSLFShape.POINT_DPI/HSLFShape.MASTER_DPI;
- }
-
- /**
- * Sets the text offset
- */
- public void setTextOffset(int offset) {
- setParaTextPropVal("text.offset", offset*HSLFShape.MASTER_DPI/HSLFShape.POINT_DPI);
- }
-
- /**
- * Returns the text offset
- */
- public int getTextOffset() {
- return getParaTextPropVal("text.offset")*HSLFShape.POINT_DPI/HSLFShape.MASTER_DPI;
- }
-
- /**
- * Sets the bullet size
- */
- public void setBulletSize(int size) {
- setParaTextPropVal("bullet.size", size);
- }
-
- /**
- * Returns the bullet size
- */
- public int getBulletSize() {
- return getParaTextPropVal("bullet.size");
- }
-
- /**
- * Sets the bullet color
- */
- public void setBulletColor(Color color) {
- int rgb = new Color(color.getBlue(), color.getGreen(), color.getRed(), 254).getRGB();
- setParaTextPropVal("bullet.color", rgb);
- }
-
- /**
- * Returns the bullet color
- */
- public Color getBulletColor() {
- int rgb = getParaTextPropVal("bullet.color");
- if(rgb == -1) return getFontColor();
-
- int cidx = rgb >> 24;
- if (rgb % 0x1000000 == 0){
- ColorSchemeAtom ca = parentRun.getSheet().getColorScheme();
- if(cidx >= 0 && cidx <= 7) rgb = ca.getColor(cidx);
- }
- Color tmp = new Color(rgb, true);
- return new Color(tmp.getBlue(), tmp.getGreen(), tmp.getRed());
- }
-
- /**
- * Sets the bullet font
- */
- public void setBulletFont(int idx) {
- setParaTextPropVal("bullet.font", idx);
- setFlag(false, ParagraphFlagsTextProp.BULLET_HARDFONT_IDX, true);
- }
-
- /**
- * Returns the bullet font
- */
- public int getBulletFont() {
- return getParaTextPropVal("bullet.font");
- }
-
- /**
- * Sets the line spacing.
- * <p>
- * If linespacing >= 0, then linespacing is a percentage of normal line height.
- * If linespacing < 0, the absolute value of linespacing is the spacing in master coordinates.
- * </p>
- */
- public void setLineSpacing(int val) {
- setParaTextPropVal("linespacing", val);
- }
-
- /**
- * Returns the line spacing
- * <p>
- * If linespacing >= 0, then linespacing is a percentage of normal line height.
- * If linespacing < 0, the absolute value of linespacing is the spacing in master coordinates.
- * </p>
- *
- * @return the spacing between lines
- */
- public int getLineSpacing() {
- int val = getParaTextPropVal("linespacing");
- return val == -1 ? 0 : val;
- }
-
- /**
- * Sets spacing before a paragraph.
- * <p>
- * If spacebefore >= 0, then spacebefore is a percentage of normal line height.
- * If spacebefore < 0, the absolute value of spacebefore is the spacing in master coordinates.
- * </p>
- */
- public void setSpaceBefore(int val) {
- setParaTextPropVal("spacebefore", val);
- }
-
- /**
- * Returns spacing before a paragraph
- * <p>
- * If spacebefore >= 0, then spacebefore is a percentage of normal line height.
- * If spacebefore < 0, the absolute value of spacebefore is the spacing in master coordinates.
- * </p>
- *
- * @return the spacing before a paragraph
- */
- public int getSpaceBefore() {
- int val = getParaTextPropVal("spacebefore");
- return val == -1 ? 0 : val;
- }
-
- /**
- * Sets spacing after a paragraph.
- * <p>
- * If spaceafter >= 0, then spaceafter is a percentage of normal line height.
- * If spaceafter < 0, the absolute value of spaceafter is the spacing in master coordinates.
- * </p>
- */
- public void setSpaceAfter(int val) {
- setParaTextPropVal("spaceafter", val);
- }
-
- /**
- * Returns spacing after a paragraph
- * <p>
- * If spaceafter >= 0, then spaceafter is a percentage of normal line height.
- * If spaceafter < 0, the absolute value of spaceafter is the spacing in master coordinates.
- * </p>
- *
- * @return the spacing before a paragraph
- */
- public int getSpaceAfter() {
- int val = getParaTextPropVal("spaceafter");
- return val == -1 ? 0 : val;
- }
- // --------------- Internal HSLF methods, not intended for end-user use! -------
-
- /**
- * Internal Use Only - get the underlying paragraph style collection.
- * For normal use, use the friendly setters and getters
- */
- public TextPropCollection _getRawParagraphStyle() { return paragraphStyle; }
- /**
- * Internal Use Only - get the underlying character style collection.
- * For normal use, use the friendly setters and getters
- */
- public TextPropCollection _getRawCharacterStyle() { return characterStyle; }
- /**
- * Internal Use Only - are the Paragraph styles shared?
- */
- public boolean _isParagraphStyleShared() { return sharingParagraphStyle; }
- /**
- * Internal Use Only - are the Character styles shared?
- */
- public boolean _isCharacterStyleShared() { return sharingCharacterStyle; }
-}
+++ /dev/null
-/* ====================================================================
- 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.hslf.usermodel;
-
-import java.awt.Dimension;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.poi.ddf.EscherBSERecord;
-import org.apache.poi.ddf.EscherContainerRecord;
-import org.apache.poi.ddf.EscherOptRecord;
-import org.apache.poi.ddf.EscherRecord;
-import org.apache.poi.hpsf.ClassID;
-import org.apache.poi.hslf.HSLFSlideShow;
-import org.apache.poi.hslf.exceptions.CorruptPowerPointFileException;
-import org.apache.poi.hslf.exceptions.HSLFException;
-import org.apache.poi.hslf.model.HeadersFooters;
-import org.apache.poi.hslf.model.Hyperlink;
-import org.apache.poi.hslf.model.MovieShape;
-import org.apache.poi.hslf.model.Notes;
-import org.apache.poi.hslf.model.PPFont;
-import org.apache.poi.hslf.model.Picture;
-import org.apache.poi.hslf.model.HSLFShape;
-import org.apache.poi.hslf.model.Slide;
-import org.apache.poi.hslf.model.SlideMaster;
-import org.apache.poi.hslf.model.TitleMaster;
-import org.apache.poi.hslf.record.Document;
-import org.apache.poi.hslf.record.DocumentAtom;
-import org.apache.poi.hslf.record.ExAviMovie;
-import org.apache.poi.hslf.record.ExControl;
-import org.apache.poi.hslf.record.ExEmbed;
-import org.apache.poi.hslf.record.ExEmbedAtom;
-import org.apache.poi.hslf.record.ExHyperlink;
-import org.apache.poi.hslf.record.ExHyperlinkAtom;
-import org.apache.poi.hslf.record.ExMCIMovie;
-import org.apache.poi.hslf.record.ExObjList;
-import org.apache.poi.hslf.record.ExObjListAtom;
-import org.apache.poi.hslf.record.ExOleObjAtom;
-import org.apache.poi.hslf.record.ExOleObjStg;
-import org.apache.poi.hslf.record.ExVideoContainer;
-import org.apache.poi.hslf.record.FontCollection;
-import org.apache.poi.hslf.record.FontEntityAtom;
-import org.apache.poi.hslf.record.HeadersFootersContainer;
-import org.apache.poi.hslf.record.PersistPtrHolder;
-import org.apache.poi.hslf.record.PositionDependentRecord;
-import org.apache.poi.hslf.record.PositionDependentRecordContainer;
-import org.apache.poi.hslf.record.Record;
-import org.apache.poi.hslf.record.RecordContainer;
-import org.apache.poi.hslf.record.RecordTypes;
-import org.apache.poi.hslf.record.SlideListWithText;
-import org.apache.poi.hslf.record.SlideListWithText.SlideAtomsSet;
-import org.apache.poi.hslf.record.SlidePersistAtom;
-import org.apache.poi.hslf.record.UserEditAtom;
-import org.apache.poi.poifs.filesystem.DirectoryNode;
-import org.apache.poi.poifs.filesystem.POIFSFileSystem;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
-
-/**
- * This class is a friendly wrapper on top of the more scary HSLFSlideShow.
- *
- * TODO: - figure out how to match notes to their correct sheet (will involve
- * understanding DocSlideList and DocNotesList) - handle Slide creation cleaner
- *
- * @author Nick Burch
- * @author Yegor kozlov
- */
-public final class SlideShow {
- // What we're based on
- private HSLFSlideShow _hslfSlideShow;
-
- // Pointers to the most recent versions of the core records
- // (Document, Notes, Slide etc)
- private Record[] _mostRecentCoreRecords;
- // Lookup between the PersitPtr "sheet" IDs, and the position
- // in the mostRecentCoreRecords array
- private Map<Integer,Integer> _sheetIdToCoreRecordsLookup;
-
- // Records that are interesting
- private Document _documentRecord;
-
- // Friendly objects for people to deal with
- private SlideMaster[] _masters;
- private TitleMaster[] _titleMasters;
- private Slide[] _slides;
- private Notes[] _notes;
- private FontCollection _fonts;
-
- // For logging
- private POILogger logger = POILogFactory.getLogger(this.getClass());
-
-
- /* ===============================================================
- * Setup Code
- * ===============================================================
- */
-
-
- /**
- * Constructs a Powerpoint document from the underlying
- * HSLFSlideShow object. Finds the model stuff from this
- *
- * @param hslfSlideShow the HSLFSlideShow to base on
- */
- public SlideShow(HSLFSlideShow hslfSlideShow) {
- // Get useful things from our base slideshow
- _hslfSlideShow = hslfSlideShow;
-
- // Handle Parent-aware Records
- for (Record record : _hslfSlideShow.getRecords()) {
- if(record instanceof RecordContainer){
- RecordContainer.handleParentAwareRecords((RecordContainer)record);
- }
- }
-
- // Find the versions of the core records we'll want to use
- findMostRecentCoreRecords();
-
- // Build up the model level Slides and Notes
- buildSlidesAndNotes();
- }
-
- /**
- * Constructs a new, empty, Powerpoint document.
- */
- public SlideShow() {
- this(HSLFSlideShow.create());
- }
-
- /**
- * Constructs a Powerpoint document from an input stream.
- */
- public SlideShow(InputStream inputStream) throws IOException {
- this(new HSLFSlideShow(inputStream));
- }
-
- /**
- * Use the PersistPtrHolder entries to figure out what is the "most recent"
- * version of all the core records (Document, Notes, Slide etc), and save a
- * record of them. Do this by walking from the oldest PersistPtr to the
- * newest, overwriting any references found along the way with newer ones
- */
- private void findMostRecentCoreRecords() {
- // To start with, find the most recent in the byte offset domain
- Map<Integer,Integer> mostRecentByBytes = new HashMap<Integer,Integer>();
- for (Record record : _hslfSlideShow.getRecords()) {
- if (record instanceof PersistPtrHolder) {
- PersistPtrHolder pph = (PersistPtrHolder) record;
-
- // If we've already seen any of the "slide" IDs for this
- // PersistPtr, remove their old positions
- int[] ids = pph.getKnownSlideIDs();
- for (int id : ids) {
- if (mostRecentByBytes.containsKey(id)) {
- mostRecentByBytes.remove(id);
- }
- }
-
- // Now, update the byte level locations with their latest values
- Map<Integer,Integer> thisSetOfLocations = pph.getSlideLocationsLookup();
- for (int id : ids) {
- mostRecentByBytes.put(id, thisSetOfLocations.get(id));
- }
- }
- }
-
- // We now know how many unique special records we have, so init
- // the array
- _mostRecentCoreRecords = new Record[mostRecentByBytes.size()];
-
- // We'll also want to be able to turn the slide IDs into a position
- // in this array
- _sheetIdToCoreRecordsLookup = new HashMap<Integer,Integer>();
- Integer[] allIDs = mostRecentByBytes.keySet().toArray(new Integer[mostRecentByBytes.size()]);
- Arrays.sort(allIDs);
- for (int i = 0; i < allIDs.length; i++) {
- _sheetIdToCoreRecordsLookup.put(allIDs[i], i);
- }
-
- Map<Integer,Integer> mostRecentByBytesRev = new HashMap<Integer,Integer>(mostRecentByBytes.size());
- for (Map.Entry<Integer,Integer> me : mostRecentByBytes.entrySet()) {
- mostRecentByBytesRev.put(me.getValue(), me.getKey());
- }
-
- // Now convert the byte offsets back into record offsets
- for (Record record : _hslfSlideShow.getRecords()) {
- if (!(record instanceof PositionDependentRecord)) continue;
-
- PositionDependentRecord pdr = (PositionDependentRecord) record;
- int recordAt = pdr.getLastOnDiskOffset();
-
- Integer thisID = mostRecentByBytesRev.get(recordAt);
-
- if (thisID == null) continue;
-
- // Bingo. Now, where do we store it?
- int storeAt = _sheetIdToCoreRecordsLookup.get(thisID);
-
- // Tell it its Sheet ID, if it cares
- if (pdr instanceof PositionDependentRecordContainer) {
- PositionDependentRecordContainer pdrc = (PositionDependentRecordContainer) record;
- pdrc.setSheetId(thisID);
- }
-
- // Finally, save the record
- _mostRecentCoreRecords[storeAt] = record;
- }
-
- // Now look for the interesting records in there
- for (Record record : _mostRecentCoreRecords) {
- // Check there really is a record at this number
- if (record != null) {
- // Find the Document, and interesting things in it
- if (record.getRecordType() == RecordTypes.Document.typeID) {
- _documentRecord = (Document) record;
- _fonts = _documentRecord.getEnvironment().getFontCollection();
- }
- } else {
- // No record at this number
- // Odd, but not normally a problem
- }
- }
- }
-
- /**
- * For a given SlideAtomsSet, return the core record, based on the refID
- * from the SlidePersistAtom
- */
- private Record getCoreRecordForSAS(SlideAtomsSet sas) {
- SlidePersistAtom spa = sas.getSlidePersistAtom();
- int refID = spa.getRefID();
- return getCoreRecordForRefID(refID);
- }
-
- /**
- * For a given refID (the internal, 0 based numbering scheme), return the
- * core record
- *
- * @param refID
- * the refID
- */
- private Record getCoreRecordForRefID(int refID) {
- Integer coreRecordId = _sheetIdToCoreRecordsLookup.get(refID);
- if (coreRecordId != null) {
- Record r = _mostRecentCoreRecords[coreRecordId];
- return r;
- }
- logger.log(POILogger.ERROR,
- "We tried to look up a reference to a core record, but there was no core ID for reference ID "
- + refID);
- return null;
- }
-
- /**
- * Build up model level Slide and Notes objects, from the underlying
- * records.
- */
- private void buildSlidesAndNotes() {
- // Ensure we really found a Document record earlier
- // If we didn't, then the file is probably corrupt
- if (_documentRecord == null) {
- throw new CorruptPowerPointFileException(
- "The PowerPoint file didn't contain a Document Record in its PersistPtr blocks. It is probably corrupt.");
- }
-
- // Fetch the SlideListWithTexts in the most up-to-date Document Record
- //
- // As far as we understand it:
- // * The first SlideListWithText will contain a SlideAtomsSet
- // for each of the master slides
- // * The second SlideListWithText will contain a SlideAtomsSet
- // for each of the slides, in their current order
- // These SlideAtomsSets will normally contain text
- // * The third SlideListWithText (if present), will contain a
- // SlideAtomsSet for each Notes
- // These SlideAtomsSets will not normally contain text
- //
- // Having indentified the masters, slides and notes + their orders,
- // we have to go and find their matching records
- // We always use the latest versions of these records, and use the
- // SlideAtom/NotesAtom to match them with the StyleAtomSet
-
- SlideListWithText masterSLWT = _documentRecord.getMasterSlideListWithText();
- SlideListWithText slidesSLWT = _documentRecord.getSlideSlideListWithText();
- SlideListWithText notesSLWT = _documentRecord.getNotesSlideListWithText();
-
- // Find master slides
- // These can be MainMaster records, but oddly they can also be
- // Slides or Notes, and possibly even other odd stuff....
- // About the only thing you can say is that the master details are in
- // the first SLWT.
- SlideAtomsSet[] masterSets = new SlideAtomsSet[0];
- if (masterSLWT != null) {
- masterSets = masterSLWT.getSlideAtomsSets();
-
- ArrayList<SlideMaster> mmr = new ArrayList<SlideMaster>();
- ArrayList<TitleMaster> tmr = new ArrayList<TitleMaster>();
-
- for (SlideAtomsSet sas : masterSets) {
- Record r = getCoreRecordForSAS(sas);
- int sheetNo = sas.getSlidePersistAtom().getSlideIdentifier();
- if (r instanceof org.apache.poi.hslf.record.Slide) {
- TitleMaster master = new TitleMaster((org.apache.poi.hslf.record.Slide) r,
- sheetNo);
- master.setSlideShow(this);
- tmr.add(master);
- } else if (r instanceof org.apache.poi.hslf.record.MainMaster) {
- SlideMaster master = new SlideMaster((org.apache.poi.hslf.record.MainMaster) r,
- sheetNo);
- master.setSlideShow(this);
- mmr.add(master);
- }
- }
-
- _masters = mmr.toArray(new SlideMaster[mmr.size()]);
- _titleMasters = tmr.toArray(new TitleMaster[tmr.size()]);
- }
-
- // Having sorted out the masters, that leaves the notes and slides
-
- // Start by finding the notes records to go with the entries in
- // notesSLWT
- org.apache.poi.hslf.record.Notes[] notesRecords;
- SlideAtomsSet[] notesSets = new SlideAtomsSet[0];
- Map<Integer,Integer> slideIdToNotes = new HashMap<Integer,Integer>();
- if (notesSLWT == null) {
- // None
- notesRecords = new org.apache.poi.hslf.record.Notes[0];
- } else {
- // Match up the records and the SlideAtomSets
- notesSets = notesSLWT.getSlideAtomsSets();
- List<org.apache.poi.hslf.record.Notes> notesRecordsL =
- new ArrayList<org.apache.poi.hslf.record.Notes>();
- for (int i = 0; i < notesSets.length; i++) {
- // Get the right core record
- Record r = getCoreRecordForSAS(notesSets[i]);
-
- // Ensure it really is a notes record
- if (r == null || r instanceof org.apache.poi.hslf.record.Notes) {
- if (r == null) {
- logger.log(POILogger.WARN, "A Notes SlideAtomSet at " + i
- + " said its record was at refID "
- + notesSets[i].getSlidePersistAtom().getRefID()
- + ", but that record didn't exist - record ignored.");
- }
- // we need to add also null-records, otherwise the index references to other existing
- // don't work anymore
- org.apache.poi.hslf.record.Notes notesRecord = (org.apache.poi.hslf.record.Notes) r;
- notesRecordsL.add(notesRecord);
-
- // Record the match between slide id and these notes
- SlidePersistAtom spa = notesSets[i].getSlidePersistAtom();
- int slideId = spa.getSlideIdentifier();
- slideIdToNotes.put(slideId, i);
- } else {
- logger.log(POILogger.ERROR, "A Notes SlideAtomSet at " + i
- + " said its record was at refID "
- + notesSets[i].getSlidePersistAtom().getRefID()
- + ", but that was actually a " + r);
- }
- }
- notesRecords = new org.apache.poi.hslf.record.Notes[notesRecordsL.size()];
- notesRecords = notesRecordsL.toArray(notesRecords);
- }
-
- // Now, do the same thing for our slides
- org.apache.poi.hslf.record.Slide[] slidesRecords;
- SlideAtomsSet[] slidesSets = new SlideAtomsSet[0];
- if (slidesSLWT == null) {
- // None
- slidesRecords = new org.apache.poi.hslf.record.Slide[0];
- } else {
- // Match up the records and the SlideAtomSets
- slidesSets = slidesSLWT.getSlideAtomsSets();
- slidesRecords = new org.apache.poi.hslf.record.Slide[slidesSets.length];
- for (int i = 0; i < slidesSets.length; i++) {
- // Get the right core record
- Record r = getCoreRecordForSAS(slidesSets[i]);
-
- // Ensure it really is a slide record
- if (r instanceof org.apache.poi.hslf.record.Slide) {
- slidesRecords[i] = (org.apache.poi.hslf.record.Slide) r;
- } else {
- logger.log(POILogger.ERROR, "A Slide SlideAtomSet at " + i
- + " said its record was at refID "
- + slidesSets[i].getSlidePersistAtom().getRefID()
- + ", but that was actually a " + r);
- }
- }
- }
-
- // Finally, generate model objects for everything
- // Notes first
- _notes = new Notes[notesRecords.length];
- for (int i = 0; i < _notes.length; i++) {
- if (notesRecords[i] != null) {
- _notes[i] = new Notes(notesRecords[i]);
- _notes[i].setSlideShow(this);
- }
- }
- // Then slides
- _slides = new Slide[slidesRecords.length];
- for (int i = 0; i < _slides.length; i++) {
- SlideAtomsSet sas = slidesSets[i];
- int slideIdentifier = sas.getSlidePersistAtom().getSlideIdentifier();
-
- // Do we have a notes for this?
- Notes notes = null;
- // Slide.SlideAtom.notesId references the corresponding notes slide.
- // 0 if slide has no notes.
- int noteId = slidesRecords[i].getSlideAtom().getNotesID();
- if (noteId != 0) {
- Integer notesPos = slideIdToNotes.get(noteId);
- if (notesPos != null) {
- notes = _notes[notesPos];
- } else {
- logger.log(POILogger.ERROR, "Notes not found for noteId=" + noteId);
- }
- }
-
- // Now, build our slide
- _slides[i] = new Slide(slidesRecords[i], notes, sas, slideIdentifier, (i + 1));
- _slides[i].setSlideShow(this);
- }
- }
-
- /**
- * Writes out the slideshow file the is represented by an instance of this
- * class
- *
- * @param out
- * The OutputStream to write to.
- * @throws IOException
- * If there is an unexpected IOException from the passed in
- * OutputStream
- */
- public void write(OutputStream out) throws IOException {
- _hslfSlideShow.write(out);
- }
-
- /*
- * ===============================================================
- * Accessor Code
- * ===============================================================
- */
-
- /**
- * Returns an array of the most recent version of all the interesting
- * records
- */
- public Record[] getMostRecentCoreRecords() {
- return _mostRecentCoreRecords;
- }
-
- /**
- * Returns an array of all the normal Slides found in the slideshow
- */
- public Slide[] getSlides() {
- return _slides;
- }
-
- /**
- * Returns an array of all the normal Notes found in the slideshow
- */
- public Notes[] getNotes() {
- return _notes;
- }
-
- /**
- * Returns an array of all the normal Slide Masters found in the slideshow
- */
- public SlideMaster[] getSlidesMasters() {
- return _masters;
- }
-
- /**
- * Returns an array of all the normal Title Masters found in the slideshow
- */
- public TitleMaster[] getTitleMasters() {
- return _titleMasters;
- }
-
- /**
- * Returns the data of all the pictures attached to the SlideShow
- */
- public PictureData[] getPictureData() {
- return _hslfSlideShow.getPictures();
- }
-
- /**
- * Returns the data of all the embedded OLE object in the SlideShow
- */
- public ObjectData[] getEmbeddedObjects() {
- return _hslfSlideShow.getEmbeddedObjects();
- }
-
- /**
- * Returns the data of all the embedded sounds in the SlideShow
- */
- public SoundData[] getSoundData() {
- return SoundData.find(_documentRecord);
- }
-
- /**
- * Return the current page size
- */
- public Dimension getPageSize() {
- DocumentAtom docatom = _documentRecord.getDocumentAtom();
- int pgx = (int) docatom.getSlideSizeX() * HSLFShape.POINT_DPI / HSLFShape.MASTER_DPI;
- int pgy = (int) docatom.getSlideSizeY() * HSLFShape.POINT_DPI / HSLFShape.MASTER_DPI;
- return new Dimension(pgx, pgy);
- }
-
- /**
- * Change the current page size
- *
- * @param pgsize
- * page size (in points)
- */
- public void setPageSize(Dimension pgsize) {
- DocumentAtom docatom = _documentRecord.getDocumentAtom();
- docatom.setSlideSizeX(pgsize.width * HSLFShape.MASTER_DPI / HSLFShape.POINT_DPI);
- docatom.setSlideSizeY(pgsize.height * HSLFShape.MASTER_DPI / HSLFShape.POINT_DPI);
- }
-
- /**
- * Helper method for usermodel: Get the font collection
- */
- protected FontCollection getFontCollection() {
- return _fonts;
- }
-
- /**
- * Helper method for usermodel and model: Get the document record
- */
- public Document getDocumentRecord() {
- return _documentRecord;
- }
-
- /*
- * ===============================================================
- * Re-ordering Code
- * ===============================================================
- */
-
- /**
- * Re-orders a slide, to a new position.
- *
- * @param oldSlideNumber
- * The old slide number (1 based)
- * @param newSlideNumber
- * The new slide number (1 based)
- */
- public void reorderSlide(int oldSlideNumber, int newSlideNumber) {
- // Ensure these numbers are valid
- if (oldSlideNumber < 1 || newSlideNumber < 1) {
- throw new IllegalArgumentException("Old and new slide numbers must be greater than 0");
- }
- if (oldSlideNumber > _slides.length || newSlideNumber > _slides.length) {
- throw new IllegalArgumentException(
- "Old and new slide numbers must not exceed the number of slides ("
- + _slides.length + ")");
- }
-
- // The order of slides is defined by the order of slide atom sets in the
- // SlideListWithText container.
- SlideListWithText slwt = _documentRecord.getSlideSlideListWithText();
- SlideAtomsSet[] sas = slwt.getSlideAtomsSets();
-
- SlideAtomsSet tmp = sas[oldSlideNumber - 1];
- sas[oldSlideNumber - 1] = sas[newSlideNumber - 1];
- sas[newSlideNumber - 1] = tmp;
-
- ArrayList<Record> lst = new ArrayList<Record>();
- for (int i = 0; i < sas.length; i++) {
- lst.add(sas[i].getSlidePersistAtom());
- Record[] r = sas[i].getSlideRecords();
- for (int j = 0; j < r.length; j++) {
- lst.add(r[j]);
- }
- _slides[i].setSlideNumber(i + 1);
- }
- Record[] r = lst.toArray(new Record[lst.size()]);
- slwt.setChildRecord(r);
- }
-
- /**
- * Removes the slide at the given index (0-based).
- * <p>
- * Shifts any subsequent slides to the left (subtracts one from their slide
- * numbers).
- * </p>
- *
- * @param index
- * the index of the slide to remove (0-based)
- * @return the slide that was removed from the slide show.
- */
- public Slide removeSlide(int index) {
- int lastSlideIdx = _slides.length - 1;
- if (index < 0 || index > lastSlideIdx) {
- throw new IllegalArgumentException("Slide index (" + index + ") is out of range (0.."
- + lastSlideIdx + ")");
- }
-
- SlideListWithText slwt = _documentRecord.getSlideSlideListWithText();
- SlideAtomsSet[] sas = slwt.getSlideAtomsSets();
-
- Slide removedSlide = null;
- ArrayList<Record> records = new ArrayList<Record>();
- ArrayList<SlideAtomsSet> sa = new ArrayList<SlideAtomsSet>();
- ArrayList<Slide> sl = new ArrayList<Slide>();
-
- ArrayList<Notes> nt = new ArrayList<Notes>();
- for (Notes notes : getNotes())
- nt.add(notes);
-
- for (int i = 0, num = 0; i < _slides.length; i++) {
- if (i != index) {
- sl.add(_slides[i]);
- sa.add(sas[i]);
- _slides[i].setSlideNumber(num++);
- records.add(sas[i].getSlidePersistAtom());
- records.addAll(Arrays.asList(sas[i].getSlideRecords()));
- } else {
- removedSlide = _slides[i];
- nt.remove(_slides[i].getNotesSheet());
- }
- }
- if (sa.size() == 0) {
- _documentRecord.removeSlideListWithText(slwt);
- } else {
- slwt.setSlideAtomsSets(sa.toArray(new SlideAtomsSet[sa.size()]));
- slwt.setChildRecord(records.toArray(new Record[records.size()]));
- }
- _slides = sl.toArray(new Slide[sl.size()]);
-
- // if the removed slide had notes - remove references to them too
-
- if (removedSlide != null) {
- int notesId = removedSlide.getSlideRecord().getSlideAtom().getNotesID();
- if (notesId != 0) {
- SlideListWithText nslwt = _documentRecord.getNotesSlideListWithText();
- records = new ArrayList<Record>();
- ArrayList<SlideAtomsSet> na = new ArrayList<SlideAtomsSet>();
- for (SlideAtomsSet ns : nslwt.getSlideAtomsSets()) {
- if (ns.getSlidePersistAtom().getSlideIdentifier() != notesId) {
- na.add(ns);
- records.add(ns.getSlidePersistAtom());
- if (ns.getSlideRecords() != null)
- records.addAll(Arrays.asList(ns.getSlideRecords()));
- }
- }
- if (na.size() == 0) {
- _documentRecord.removeSlideListWithText(nslwt);
- } else {
- nslwt.setSlideAtomsSets(na.toArray(new SlideAtomsSet[na.size()]));
- nslwt.setChildRecord(records.toArray(new Record[records.size()]));
- }
-
- }
- }
- _notes = nt.toArray(new Notes[nt.size()]);
-
- return removedSlide;
- }
-
- /*
- * ===============================================================
- * Addition Code
- * ===============================================================
- */
-
- /**
- * Create a blank <code>Slide</code>.
- *
- * @return the created <code>Slide</code>
- */
- public Slide createSlide() {
- SlideListWithText slist = null;
-
- // We need to add the records to the SLWT that deals
- // with Slides.
- // Add it, if it doesn't exist
- slist = _documentRecord.getSlideSlideListWithText();
- if (slist == null) {
- // Need to add a new one
- slist = new SlideListWithText();
- slist.setInstance(SlideListWithText.SLIDES);
- _documentRecord.addSlideListWithText(slist);
- }
-
- // Grab the SlidePersistAtom with the highest Slide Number.
- // (Will stay as null if no SlidePersistAtom exists yet in
- // the slide, or only master slide's ones do)
- SlidePersistAtom prev = null;
- for (SlideAtomsSet sas : slist.getSlideAtomsSets()) {
- SlidePersistAtom spa = sas.getSlidePersistAtom();
- if (spa.getSlideIdentifier() < 0) {
- // This is for a master slide
- // Odd, since we only deal with the Slide SLWT
- } else {
- // Must be for a real slide
- if (prev == null) {
- prev = spa;
- }
- if (prev.getSlideIdentifier() < spa.getSlideIdentifier()) {
- prev = spa;
- }
- }
- }
-
- // Set up a new SlidePersistAtom for this slide
- SlidePersistAtom sp = new SlidePersistAtom();
-
- // First slideId is always 256
- sp.setSlideIdentifier(prev == null ? 256 : (prev.getSlideIdentifier() + 1));
-
- // Add this new SlidePersistAtom to the SlideListWithText
- slist.addSlidePersistAtom(sp);
-
- // Create a new Slide
- Slide slide = new Slide(sp.getSlideIdentifier(), sp.getRefID(), _slides.length + 1);
- slide.setSlideShow(this);
- slide.onCreate();
-
- // Add in to the list of Slides
- Slide[] s = new Slide[_slides.length + 1];
- System.arraycopy(_slides, 0, s, 0, _slides.length);
- s[_slides.length] = slide;
- _slides = s;
- logger.log(POILogger.INFO, "Added slide " + _slides.length + " with ref " + sp.getRefID()
- + " and identifier " + sp.getSlideIdentifier());
-
- // Add the core records for this new Slide to the record tree
- org.apache.poi.hslf.record.Slide slideRecord = slide.getSlideRecord();
- int psrId = addPersistentObject(slideRecord);
- sp.setRefID(psrId);
- slideRecord.setSheetId(psrId);
-
- slide.setMasterSheet(_masters[0]);
- // All done and added
- return slide;
- }
-
- /**
- * Adds a picture to this presentation and returns the associated index.
- *
- * @param data
- * picture data
- * @param format
- * the format of the picture. One of constans defined in the
- * <code>Picture</code> class.
- * @return the index to this picture (1 based).
- */
- public int addPicture(byte[] data, int format) throws IOException {
- byte[] uid = PictureData.getChecksum(data);
-
- EscherContainerRecord bstore;
-
- EscherContainerRecord dggContainer = _documentRecord.getPPDrawingGroup().getDggContainer();
- bstore = (EscherContainerRecord) HSLFShape.getEscherChild(dggContainer,
- EscherContainerRecord.BSTORE_CONTAINER);
- if (bstore == null) {
- bstore = new EscherContainerRecord();
- bstore.setRecordId(EscherContainerRecord.BSTORE_CONTAINER);
-
- dggContainer.addChildBefore(bstore, EscherOptRecord.RECORD_ID);
- } else {
- Iterator<EscherRecord> iter = bstore.getChildIterator();
- for (int i = 0; iter.hasNext(); i++) {
- EscherBSERecord bse = (EscherBSERecord) iter.next();
- if (Arrays.equals(bse.getUid(), uid)) {
- return i + 1;
- }
- }
- }
-
- PictureData pict = PictureData.create(format);
- pict.setData(data);
-
- int offset = _hslfSlideShow.addPicture(pict);
-
- EscherBSERecord bse = new EscherBSERecord();
- bse.setRecordId(EscherBSERecord.RECORD_ID);
- bse.setOptions((short) (0x0002 | (format << 4)));
- bse.setSize(pict.getRawData().length + 8);
- bse.setUid(uid);
-
- bse.setBlipTypeMacOS((byte) format);
- bse.setBlipTypeWin32((byte) format);
-
- if (format == Picture.EMF)
- bse.setBlipTypeMacOS((byte) Picture.PICT);
- else if (format == Picture.WMF)
- bse.setBlipTypeMacOS((byte) Picture.PICT);
- else if (format == Picture.PICT)
- bse.setBlipTypeWin32((byte) Picture.WMF);
-
- bse.setRef(0);
- bse.setOffset(offset);
- bse.setRemainingData(new byte[0]);
-
- bstore.addChildRecord(bse);
- int count = bstore.getChildRecords().size();
- bstore.setOptions((short) ((count << 4) | 0xF));
-
- return count;
- }
-
- /**
- * Adds a picture to this presentation and returns the associated index.
- *
- * @param pict
- * the file containing the image to add
- * @param format
- * the format of the picture. One of constans defined in the
- * <code>Picture</code> class.
- * @return the index to this picture (1 based).
- */
- public int addPicture(File pict, int format) throws IOException {
- int length = (int) pict.length();
- byte[] data = new byte[length];
- FileInputStream is = null;
- try {
- is = new FileInputStream(pict);
- is.read(data);
- } finally {
- if(is != null) is.close();
- }
- return addPicture(data, format);
- }
-
- /**
- * Add a font in this presentation
- *
- * @param font
- * the font to add
- * @return 0-based index of the font
- */
- public int addFont(PPFont font) {
- FontCollection fonts = getDocumentRecord().getEnvironment().getFontCollection();
- int idx = fonts.getFontIndex(font.getFontName());
- if (idx == -1) {
- idx = fonts.addFont(font.getFontName(), font.getCharSet(), font.getFontFlags(), font
- .getFontType(), font.getPitchAndFamily());
- }
- return idx;
- }
-
- /**
- * Get a font by index
- *
- * @param idx
- * 0-based index of the font
- * @return of an instance of <code>PPFont</code> or <code>null</code> if not
- * found
- */
- public PPFont getFont(int idx) {
- FontCollection fonts = getDocumentRecord().getEnvironment().getFontCollection();
- for (Record ch : fonts.getChildRecords()) {
- if (ch instanceof FontEntityAtom) {
- FontEntityAtom atom = (FontEntityAtom) ch;
- if (atom.getFontIndex() == idx) {
- return new PPFont(atom);
- }
- }
- }
- return null;
- }
-
- /**
- * get the number of fonts in the presentation
- *
- * @return number of fonts
- */
- public int getNumberOfFonts() {
- return getDocumentRecord().getEnvironment().getFontCollection().getNumberOfFonts();
- }
-
- /**
- * Return Header / Footer settings for slides
- *
- * @return Header / Footer settings for slides
- */
- public HeadersFooters getSlideHeadersFooters() {
- // detect if this ppt was saved in Office2007
- String tag = getSlidesMasters()[0].getProgrammableTag();
- boolean ppt2007 = "___PPT12".equals(tag);
-
- HeadersFootersContainer hdd = null;
- for (Record ch : _documentRecord.getChildRecords()) {
- if (ch instanceof HeadersFootersContainer
- && ((HeadersFootersContainer) ch).getOptions() == HeadersFootersContainer.SlideHeadersFootersContainer) {
- hdd = (HeadersFootersContainer) ch;
- break;
- }
- }
- boolean newRecord = false;
- if (hdd == null) {
- hdd = new HeadersFootersContainer(HeadersFootersContainer.SlideHeadersFootersContainer);
- newRecord = true;
- }
- return new HeadersFooters(hdd, this, newRecord, ppt2007);
- }
-
- /**
- * Return Header / Footer settings for notes
- *
- * @return Header / Footer settings for notes
- */
- public HeadersFooters getNotesHeadersFooters() {
- // detect if this ppt was saved in Office2007
- String tag = getSlidesMasters()[0].getProgrammableTag();
- boolean ppt2007 = "___PPT12".equals(tag);
-
- HeadersFootersContainer hdd = null;
- for (Record ch : _documentRecord.getChildRecords()) {
- if (ch instanceof HeadersFootersContainer
- && ((HeadersFootersContainer) ch).getOptions() == HeadersFootersContainer.NotesHeadersFootersContainer) {
- hdd = (HeadersFootersContainer) ch;
- break;
- }
- }
- boolean newRecord = false;
- if (hdd == null) {
- hdd = new HeadersFootersContainer(HeadersFootersContainer.NotesHeadersFootersContainer);
- newRecord = true;
- }
- if (ppt2007 && _notes.length > 0) {
- return new HeadersFooters(hdd, _notes[0], newRecord, ppt2007);
- }
- return new HeadersFooters(hdd, this, newRecord, ppt2007);
- }
-
- /**
- * Add a movie in this presentation
- *
- * @param path
- * the path or url to the movie
- * @return 0-based index of the movie
- */
- public int addMovie(String path, int type) {
- ExMCIMovie mci;
- switch (type) {
- case MovieShape.MOVIE_MPEG:
- mci = new ExMCIMovie();
- break;
- case MovieShape.MOVIE_AVI:
- mci = new ExAviMovie();
- break;
- default:
- throw new IllegalArgumentException("Unsupported Movie: " + type);
- }
-
- ExVideoContainer exVideo = mci.getExVideo();
- exVideo.getExMediaAtom().setMask(0xE80000);
- exVideo.getPathAtom().setText(path);
-
- int objectId = addToObjListAtom(mci);
- exVideo.getExMediaAtom().setObjectId(objectId);
-
- return objectId;
- }
-
- /**
- * Add a control in this presentation
- *
- * @param name
- * name of the control, e.g. "Shockwave Flash Object"
- * @param progId
- * OLE Programmatic Identifier, e.g.
- * "ShockwaveFlash.ShockwaveFlash.9"
- * @return 0-based index of the control
- */
- public int addControl(String name, String progId) {
- ExControl ctrl = new ExControl();
- ctrl.setProgId(progId);
- ctrl.setMenuName(name);
- ctrl.setClipboardName(name);
-
- ExOleObjAtom oleObj = ctrl.getExOleObjAtom();
- oleObj.setDrawAspect(ExOleObjAtom.DRAW_ASPECT_VISIBLE);
- oleObj.setType(ExOleObjAtom.TYPE_CONTROL);
- oleObj.setSubType(ExOleObjAtom.SUBTYPE_DEFAULT);
-
- int objectId = addToObjListAtom(ctrl);
- oleObj.setObjID(objectId);
- return objectId;
- }
-
- /**
- * Add a hyperlink to this presentation
- *
- * @return 0-based index of the hyperlink
- */
- public int addHyperlink(Hyperlink link) {
- ExHyperlink ctrl = new ExHyperlink();
- ExHyperlinkAtom obj = ctrl.getExHyperlinkAtom();
- if(link.getType() == Hyperlink.LINK_SLIDENUMBER) {
- ctrl.setLinkURL(link.getAddress(), 0x30);
- } else {
- ctrl.setLinkURL(link.getAddress());
- }
- ctrl.setLinkTitle(link.getTitle());
-
- int objectId = addToObjListAtom(ctrl);
- link.setId(objectId);
- obj.setNumber(objectId);
-
- return objectId;
- }
-
- /**
- * Add a embedded object to this presentation
- *
- * @return 0-based index of the embedded object
- */
- public int addEmbed(POIFSFileSystem poiData) {
- DirectoryNode root = poiData.getRoot();
-
- // prepare embedded data
- if (new ClassID().equals(root.getStorageClsid())) {
- // need to set class id
- Map<String,ClassID> olemap = getOleMap();
- ClassID classID = null;
- for (Map.Entry<String,ClassID> entry : olemap.entrySet()) {
- if (root.hasEntry(entry.getKey())) {
- classID = entry.getValue();
- break;
- }
- }
- if (classID == null) {
- throw new IllegalArgumentException("Unsupported embedded document");
- }
-
- root.setStorageClsid(classID);
- }
-
- ExEmbed exEmbed = new ExEmbed();
- // remove unneccessary infos, so we don't need to specify the type
- // of the ole object multiple times
- Record children[] = exEmbed.getChildRecords();
- exEmbed.removeChild(children[2]);
- exEmbed.removeChild(children[3]);
- exEmbed.removeChild(children[4]);
-
- ExEmbedAtom eeEmbed = exEmbed.getExEmbedAtom();
- eeEmbed.setCantLockServerB(true);
-
- ExOleObjAtom eeAtom = exEmbed.getExOleObjAtom();
- eeAtom.setDrawAspect(ExOleObjAtom.DRAW_ASPECT_VISIBLE);
- eeAtom.setType(ExOleObjAtom.TYPE_EMBEDDED);
- // eeAtom.setSubType(ExOleObjAtom.SUBTYPE_EXCEL);
- // should be ignored?!?, see MS-PPT ExOleObjAtom, but Libre Office sets it ...
- eeAtom.setOptions(1226240);
-
- ExOleObjStg exOleObjStg = new ExOleObjStg();
- try {
- final String OLESTREAM_NAME = "\u0001Ole";
- if (!root.hasEntry(OLESTREAM_NAME)) {
- // the following data was taken from an example libre office document
- // beside this "\u0001Ole" record there were several other records, e.g. CompObj,
- // OlePresXXX, but it seems, that they aren't neccessary
- byte oleBytes[] = { 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
- poiData.createDocument(new ByteArrayInputStream(oleBytes), OLESTREAM_NAME);
- }
-
- ByteArrayOutputStream bos = new ByteArrayOutputStream();
- poiData.writeFilesystem(bos);
- exOleObjStg.setData(bos.toByteArray());
- } catch (IOException e) {
- throw new HSLFException(e);
- }
-
- int psrId = addPersistentObject(exOleObjStg);
- exOleObjStg.setPersistId(psrId);
- eeAtom.setObjStgDataRef(psrId);
-
- int objectId = addToObjListAtom(exEmbed);
- eeAtom.setObjID(objectId);
- return objectId;
- }
-
- protected int addToObjListAtom(RecordContainer exObj) {
- ExObjList lst = (ExObjList) _documentRecord.findFirstOfType(RecordTypes.ExObjList.typeID);
- if (lst == null) {
- lst = new ExObjList();
- _documentRecord.addChildAfter(lst, _documentRecord.getDocumentAtom());
- }
- ExObjListAtom objAtom = lst.getExObjListAtom();
- // increment the object ID seed
- int objectId = (int) objAtom.getObjectIDSeed() + 1;
- objAtom.setObjectIDSeed(objectId);
-
- lst.addChildAfter(exObj, objAtom);
-
- return objectId;
- }
-
- protected static Map<String,ClassID> getOleMap() {
- Map<String,ClassID> olemap = new HashMap<String,ClassID>();
- olemap.put("PowerPoint Document", ClassID.PPT_SHOW);
- olemap.put("Workbook", ClassID.EXCEL97); // as per BIFF8 spec
- olemap.put("WORKBOOK", ClassID.EXCEL97); // Typically from third party programs
- olemap.put("BOOK", ClassID.EXCEL97); // Typically odd Crystal Reports exports
- // ... to be continued
- return olemap;
- }
-
- protected int addPersistentObject(PositionDependentRecord slideRecord) {
- slideRecord.setLastOnDiskOffset(HSLFSlideShow.UNSET_OFFSET);
- _hslfSlideShow.appendRootLevelRecord((Record)slideRecord);
-
- // For position dependent records, hold where they were and now are
- // As we go along, update, and hand over, to any Position Dependent
- // records we happen across
- Map<RecordTypes.Type,PositionDependentRecord> interestingRecords =
- new HashMap<RecordTypes.Type,PositionDependentRecord>();
-
- try {
- _hslfSlideShow.updateAndWriteDependantRecords(null,interestingRecords);
- } catch (IOException e) {
- throw new HSLFException(e);
- }
-
- PersistPtrHolder ptr = (PersistPtrHolder)interestingRecords.get(RecordTypes.PersistPtrIncrementalBlock);
- UserEditAtom usr = (UserEditAtom)interestingRecords.get(RecordTypes.UserEditAtom);
-
- // persist ID is UserEditAtom.maxPersistWritten + 1
- int psrId = usr.getMaxPersistWritten() + 1;
-
- // Last view is now of the slide
- usr.setLastViewType((short) UserEditAtom.LAST_VIEW_SLIDE_VIEW);
- // increment the number of persistent objects
- usr.setMaxPersistWritten(psrId);
-
- // Add the new slide into the last PersistPtr
- // (Also need to tell it where it is)
- int slideOffset = slideRecord.getLastOnDiskOffset();
- slideRecord.setLastOnDiskOffset(slideOffset);
- ptr.addSlideLookup(psrId, slideOffset);
- logger.log(POILogger.INFO, "New slide/object ended up at " + slideOffset);
-
- return psrId;
- }
-}
+++ /dev/null
-/* ====================================================================
- 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.hslf.usermodel;
-
-import org.apache.poi.hslf.record.*;
-
-import java.util.ArrayList;
-
-/**
- * A class that represents sound data embedded in a slide show.
- *
- * @author Yegor Kozlov
- */
-public final class SoundData {
- /**
- * The record that contains the object data.
- */
- private Sound _container;
-
- /**
- * Creates the object data wrapping the record that contains the sound data.
- *
- * @param container the record that contains the sound data.
- */
- public SoundData(Sound container) {
- this._container = container;
- }
-
- /**
- * Name of the sound (e.g. "crash")
- *
- * @return name of the sound
- */
- public String getSoundName(){
- return _container.getSoundName();
- }
-
- /**
- * Type of the sound (e.g. ".wav")
- *
- * @return type of the sound
- */
- public String getSoundType(){
- return _container.getSoundType();
- }
-
- /**
- * Gets an input stream which returns the binary of the sound data.
- *
- * @return the input stream which will contain the binary of the sound data.
- */
- public byte[] getData() {
- return _container.getSoundData();
- }
-
- /**
- * Find all sound records in the supplied Document records
- *
- * @param document the document to find in
- * @return the array with the sound data
- */
- public static SoundData[] find(Document document){
- ArrayList<SoundData> lst = new ArrayList<SoundData>();
- Record[] ch = document.getChildRecords();
- for (int i = 0; i < ch.length; i++) {
- if(ch[i].getRecordType() == RecordTypes.SoundCollection.typeID){
- RecordContainer col = (RecordContainer)ch[i];
- Record[] sr = col.getChildRecords();
- for (int j = 0; j < sr.length; j++) {
- if(sr[j] instanceof Sound){
- lst.add(new SoundData((Sound)sr[j]));
- }
- }
- }
-
- }
- return lst.toArray(new SoundData[lst.size()]);
- }
-}
import org.apache.poi.sl.usermodel.*;\r
\r
\r
-public class DrawAutoShape<T extends AutoShape<? extends TextParagraph>> extends DrawTextShape<T> {\r
+public class DrawAutoShape<T extends AutoShape<? extends TextParagraph<? extends TextRun>>> extends DrawTextShape<T> {\r
public DrawAutoShape(T shape) {\r
super(shape);\r
}\r
boolean isHint = false;\r
if (graphics != null) {\r
factory = (DrawFactory)graphics.getRenderingHint(DRAW_FACTORY);\r
- isHint = true;\r
+ isHint = (factory != null);\r
}\r
// secondly try the thread local default\r
if (factory == null) {\r
} else if (shape instanceof Background) {\r
return getDrawable((Background)shape);\r
} else if (shape instanceof Slide) {\r
- return getDrawable((Slide<? extends Shape>)shape);\r
+ return getDrawable((Slide<? extends Shape, ? extends SlideShow>)shape);\r
} else if (shape instanceof MasterSheet) {\r
- return getDrawable((MasterSheet<? extends Shape>)shape);\r
+ return getDrawable((MasterSheet<? extends Shape, ? extends SlideShow>)shape);\r
} else if (shape instanceof Sheet) {\r
- return getDrawable((Sheet<? extends Shape>)shape);\r
+ return getDrawable((Sheet<? extends Shape, ? extends SlideShow>)shape);\r
}\r
\r
throw new IllegalArgumentException("Unsupported shape type: "+shape.getClass());\r
}\r
\r
- public <T extends Slide<? extends Shape>> DrawSlide<T> getDrawable(T sheet) {\r
+ public <T extends Slide<? extends Shape, ? extends SlideShow>> DrawSlide<T> getDrawable(T sheet) {\r
return new DrawSlide<T>(sheet);\r
}\r
\r
- public <T extends Sheet<? extends Shape>> DrawSheet<T> getDrawable(T sheet) {\r
+ public <T extends Sheet<? extends Shape, ? extends SlideShow>> DrawSheet<T> getDrawable(T sheet) {\r
return new DrawSheet<T>(sheet);\r
}\r
\r
- public <T extends MasterSheet<? extends Shape>> DrawMasterSheet<T> getDrawable(T sheet) {\r
+ public <T extends MasterSheet<? extends Shape, ? extends SlideShow>> DrawMasterSheet<T> getDrawable(T sheet) {\r
return new DrawMasterSheet<T>(sheet);\r
}\r
\r
import org.apache.poi.sl.usermodel.*;\r
\r
\r
-public class DrawMasterSheet<T extends MasterSheet<? extends Shape>> extends DrawSheet<T> {\r
+public class DrawMasterSheet<T extends MasterSheet<? extends Shape, ? extends SlideShow>> extends DrawSheet<T> {\r
\r
public DrawMasterSheet(T sheet) {\r
super(sheet);\r
\r
package org.apache.poi.sl.draw;\r
\r
+import static org.apache.poi.sl.usermodel.PaintStyle.TRANSPARENT_PAINT;\r
import java.awt.*;\r
import java.awt.MultipleGradientPaint.ColorSpaceType;\r
import java.awt.MultipleGradientPaint.CycleMethod;\r
\r
\r
public class DrawPaint {\r
- public final static Color NO_PAINT = new Color(0xFF, 0xFF, 0xFF, 0);\r
+ \r
private final static POILogger LOG = POILogFactory.getLogger(DrawPaint.class);\r
\r
protected PlaceableShape shape;\r
public DrawPaint(PlaceableShape shape) {\r
this.shape = shape;\r
}\r
+\r
+ public static SolidPaint createSolidPaint(final Color color) {\r
+ return new SolidPaint() {\r
+ public ColorStyle getSolidColor() {\r
+ return new ColorStyle(){\r
+ public Color getColor() { return color; }\r
+ public int getAlpha() { return -1; }\r
+ public int getLumOff() { return -1; }\r
+ public int getLumMod() { return -1; }\r
+ public int getShade() { return -1; }\r
+ public int getTint() { return -1; }\r
+ };\r
+ }\r
+ };\r
+ }\r
\r
public Paint getPaint(Graphics2D graphics, PaintStyle paint) {\r
if (paint instanceof SolidPaint) {\r
\r
protected Paint getTexturePaint(TexturePaint fill, Graphics2D graphics) {\r
InputStream is = fill.getImageData();\r
- if (is == null) return NO_PAINT;\r
+ if (is == null) return TRANSPARENT_PAINT.getSolidColor().getColor();\r
assert(graphics != null);\r
\r
ImageRenderer renderer = (ImageRenderer)graphics.getRenderingHint(Drawable.IMAGE_RENDERER);\r
renderer.loadImage(fill.getImageData(), fill.getContentType());\r
} catch (IOException e) {\r
LOG.log(POILogger.ERROR, "Can't load image data - using transparent color", e);\r
- return NO_PAINT;\r
+ return TRANSPARENT_PAINT.getSolidColor().getColor();\r
}\r
\r
int alpha = fill.getAlpha();\r
public static Color applyColorTransform(ColorStyle color){\r
Color result = color.getColor();\r
\r
- if (result == null || color.getAlpha() == 100) return NO_PAINT;\r
+ if (result == null || color.getAlpha() == 100) {\r
+ return TRANSPARENT_PAINT.getSolidColor().getColor();\r
+ }\r
\r
result = applyAlpha(result, color);\r
result = applyLuminanace(result, color);\r
import org.apache.poi.sl.usermodel.*;\r
\r
\r
-public class DrawShapeGroup<T extends ShapeGroup<? extends Shape>> implements Drawable {\r
+public class DrawShapeGroup<T extends ShapeGroup<? extends Shape>> extends DrawShape<T> implements Drawable {\r
\r
- protected final T shape;\r
- \r
public DrawShapeGroup(T shape) {\r
- this.shape = shape;\r
+ super(shape);\r
}\r
\r
- public void applyTransform(Graphics2D context) {\r
- }\r
-\r
public void draw(Graphics2D graphics) {\r
\r
// the coordinate system of this group of shape\r
graphics.setRenderingHint(Drawable.GROUP_TRANSFORM, tx0);\r
\r
}\r
-\r
- public void drawContent(Graphics2D context) {\r
- }\r
}\r
import org.apache.poi.sl.usermodel.*;\r
\r
\r
-public class DrawSheet<T extends Sheet<? extends Shape>> implements Drawable {\r
+public class DrawSheet<T extends Sheet<? extends Shape, ? extends SlideShow>> implements Drawable {\r
\r
protected final T sheet;\r
\r
this.sheet = sheet;\r
}\r
\r
- public void applyTransform(Graphics2D context) {\r
- // TODO Auto-generated method stub\r
- \r
- }\r
-\r
public void draw(Graphics2D graphics) {\r
DrawFactory drawFact = DrawFactory.getInstance(graphics);\r
- MasterSheet<? extends Shape> master = sheet.getMasterSheet();\r
+ MasterSheet<? extends Shape, ? extends SlideShow> master = sheet.getMasterSheet();\r
\r
if(sheet.getFollowMasterGraphics() && master != null) {\r
Drawable drawer = drawFact.getDrawable(master);\r
}\r
}\r
\r
+ public void applyTransform(Graphics2D context) {\r
+ }\r
+\r
public void drawContent(Graphics2D context) {\r
- // TODO Auto-generated method stub\r
- \r
}\r
\r
/**\r
import org.apache.poi.sl.usermodel.*;\r
import org.apache.poi.sl.usermodel.LineDecoration.DecorationSize;\r
import org.apache.poi.sl.usermodel.PaintStyle.SolidPaint;\r
-import org.apache.poi.sl.usermodel.StrokeStyle.LineDash;\r
+import org.apache.poi.sl.usermodel.StrokeStyle.*;\r
import org.apache.poi.util.Units;\r
\r
\r
if (lineWidth == 0.0f) lineWidth = 0.25f; // Both PowerPoint and OOo draw zero-length lines as 0.25pt\r
\r
LineDash lineDash = strokeStyle.getLineDash();\r
+ if (lineDash == null) {\r
+ lineDash = LineDash.SOLID;\r
+ lineWidth = 0.0f;\r
+ }\r
+\r
int dashPatI[] = lineDash.pattern;\r
float[] dashPatF = new float[dashPatI.length];\r
final float dash_phase = 0;\r
for (int i=0; i<dashPatI.length; i++) {\r
- dashPatF[i] = dashPatI[i]*lineWidth;\r
+ dashPatF[i] = dashPatI[i]*Math.max(1, lineWidth);\r
}\r
\r
+ LineCap lineCapE = strokeStyle.getLineCap();\r
+ if (lineCapE == null) lineCapE = LineCap.FLAT;\r
int lineCap;\r
- switch (strokeStyle.getLineCap()) {\r
+ switch (lineCapE) {\r
case ROUND:\r
lineCap = BasicStroke.CAP_ROUND;\r
break;\r
\r
int lineJoin = BasicStroke.JOIN_ROUND;\r
\r
- return new BasicStroke(lineWidth, lineCap, lineJoin, Math.max(1, lineWidth), dashPatF, dash_phase);\r
+ return new BasicStroke(lineWidth, lineCap, lineJoin, lineWidth, dashPatF, dash_phase);\r
}\r
\r
protected void drawShadow(\r
import org.apache.poi.sl.usermodel.*;\r
\r
\r
-public class DrawSlide<T extends Slide<? extends Shape>> extends DrawSheet<T> {\r
+public class DrawSlide<T extends Slide<? extends Shape, ? extends SlideShow>> extends DrawSheet<T> {\r
\r
public DrawSlide(T slide) {\r
super(slide);\r
import java.awt.font.TextLayout;\r
import java.text.*;\r
\r
-import org.apache.poi.xslf.usermodel.XSLFRenderingHint;\r
-\r
public class DrawTextFragment implements Drawable {\r
final TextLayout layout;\r
final AttributedString str;\r
\r
double yBaseline = y + layout.getAscent();\r
\r
- Integer textMode = (Integer)graphics.getRenderingHint(XSLFRenderingHint.TEXT_RENDERING_MODE);\r
- if(textMode != null && textMode == XSLFRenderingHint.TEXT_AS_SHAPES){\r
+ Integer textMode = (Integer)graphics.getRenderingHint(Drawable.TEXT_RENDERING_MODE);\r
+ if(textMode != null && textMode == Drawable.TEXT_AS_SHAPES){\r
layout.draw(graphics, (float)x, (float)yBaseline);\r
} else {\r
graphics.drawString(str.getIterator(), (float)x, (float)yBaseline );\r
}\r
\r
public void applyTransform(Graphics2D graphics) {\r
- // TODO Auto-generated method stub\r
- \r
}\r
\r
public void drawContent(Graphics2D graphics) {\r
- // TODO Auto-generated method stub\r
- \r
}\r
\r
public TextLayout getLayout() {\r
\r
import org.apache.poi.sl.usermodel.*;\r
\r
-public class DrawTextShape<T extends TextShape<? extends TextParagraph>> extends DrawSimpleShape<T> {\r
+public class DrawTextShape<T extends TextShape<? extends TextParagraph<? extends TextRun>>> extends DrawSimpleShape<T> {\r
\r
public DrawTextShape(T shape) {\r
super(shape);\r
\r
// Transform of text in flipped shapes is special.\r
// At this point the flip and rotation transform is already applied\r
- // (see XSLFShape#applyTransform ), but we need to restore it to avoid painting "upside down".\r
+ // (see DrawShape#applyTransform ), but we need to restore it to avoid painting "upside down".\r
// See Bugzilla 54210.\r
\r
if(shape.getFlipVertical()){\r
Insets2D shapePadding = shape.getInsets();\r
\r
double y0 = y;\r
- Iterator<? extends TextParagraph> paragraphs = shape.iterator();\r
+ Iterator<? extends TextParagraph<? extends TextRun>> paragraphs = shape.iterator();\r
\r
boolean isFirstLine = true;\r
while (paragraphs.hasNext()){\r
- TextParagraph p = paragraphs.next();\r
- DrawTextParagraph dp = fact.getDrawable(p);\r
+ TextParagraph<? extends TextRun> p = paragraphs.next();\r
+ DrawTextParagraph<? extends TextRun> dp = fact.getDrawable(p);\r
dp.setInsets(shapePadding);\r
dp.breakText(graphics);\r
\r
@SuppressWarnings("unused")
public void init(InputStream is) throws XMLStreamException, JAXBException {
- Reader xml = new InputStreamReader( is, Charset.forName("UTF-8") );
+ // Reader xml = new InputStreamReader( is, Charset.forName("UTF-8") );
// StAX:
long cntElem = 0;
XMLInputFactory staxFactory = XMLInputFactory.newInstance();
- XMLEventReader staxReader = staxFactory.createXMLEventReader(xml);
+ XMLEventReader staxReader = staxFactory.createXMLEventReader(is);
XMLEventReader staxFiltRd = staxFactory.createFilteredReader(staxReader, startElementFilter);
// ignore StartElement:
XMLEvent evDoc = staxFiltRd.nextEvent();
package org.apache.poi.sl.usermodel;
-public interface AutoShape<T extends TextParagraph> extends TextShape<T> {
+public interface AutoShape<T extends TextParagraph<? extends TextRun>> extends TextShape<T> {
}
\r
package org.apache.poi.sl.usermodel;\r
\r
-public interface FreeformShape<T extends TextParagraph> extends AutoShape<T> {\r
+public interface FreeformShape<T extends TextParagraph<? extends TextRun>> extends AutoShape<T> {\r
\r
}\r
package org.apache.poi.sl.usermodel;
-public interface MasterSheet<T extends Shape> extends Sheet<T> {
+public interface MasterSheet<T extends Shape, SS extends SlideShow> extends Sheet<T,SS> {
}
package org.apache.poi.sl.usermodel;
-public interface Notes<T extends Shape> extends Sheet<T> {
- public TextRun getTextRun();
+import java.util.List;
+
+public interface Notes<T extends Shape, SS extends SlideShow> extends Sheet<T,SS> {
+ List<? extends TextParagraph<? extends TextRun>> getTextParagraphs();
}
package org.apache.poi.sl.usermodel;
+import java.awt.Color;
import java.io.InputStream;
+import org.apache.poi.sl.draw.DrawPaint;
+
public interface PaintStyle {
*/
int getAlpha();
}
+
+ SolidPaint TRANSPARENT_PAINT = DrawPaint.createSolidPaint(new Color(0xFF, 0xFF, 0xFF, 0));
}
public interface Shape {
- ShapeContainer getParent();
+ ShapeContainer<? extends Shape> getParent();
/**
*
* @return the sheet this shape belongs to
*/
- Sheet getSheet();
-
-
-
+ Sheet<? extends Shape, ? extends SlideShow> getSheet();
}
import java.awt.geom.Rectangle2D;
-public interface ShapeGroup<T extends Shape> extends ShapeContainer<T>, PlaceableShape {
+public interface ShapeGroup<T extends Shape> extends Shape, ShapeContainer<T>, PlaceableShape {
Rectangle2D getInteriorAnchor();
}
/**
* Common parent of Slides, Notes and Masters
*/
-public interface Sheet<T extends Shape> extends ShapeContainer<T> {
- SlideShow getSlideShow();
+public interface Sheet<T extends Shape, SS extends SlideShow> extends ShapeContainer<T> {
+ SS getSlideShow();
/**
* @return whether shapes on the master sheet should be shown. By default master graphics is turned off.
*/
boolean getFollowMasterGraphics();
- MasterSheet<T> getMasterSheet();
+ MasterSheet<T,SS> getMasterSheet();
Background getBackground();
}
package org.apache.poi.sl.usermodel;
-public interface Slide<T extends Shape> extends Sheet<T> {
- public Notes<T> getNotes();
- public void setNotes(Notes<T> notes);
+public interface Slide<T extends Shape, SS extends SlideShow> extends Sheet<T, SS> {
+ public Notes<T,SS> getNotes();
+ public void setNotes(Notes<T,SS> notes);
public boolean getFollowMasterBackground();
public void setFollowMasterBackground(boolean follow);
import java.io.IOException;
public interface SlideShow {
- Slide createSlide() throws IOException;
- MasterSheet createMasterSheet() throws IOException;
+ Slide<? extends Shape, ? extends SlideShow> createSlide() throws IOException;
+ MasterSheet<? extends Shape, ? extends SlideShow> createMasterSheet() throws IOException;
- Slide[] getSlides();
- MasterSheet[] getMasterSheet();
+ Slide<? extends Shape, ? extends SlideShow>[] getSlides();
+ MasterSheet<? extends Shape, ? extends SlideShow>[] getMasterSheet();
Resources getResources();
* with actual line width
*/
enum LineDash {
- SOLID(1),
- DOT(1,1),
- DASH(3,4),
- LG_DASH(8,3),
- DASH_DOT(4,3,1,3),
- LG_DASH_DOT(8,3,1,3),
- LG_DASH_DOT_DOT(8,3,1,3,1,3),
- SYS_DASH(2,2),
- SYS_DOT(1,1),
- SYS_DASH_DOT,
- SYS_DASH_DOT_DOT;
-
- public int pattern[];
-
- LineDash(int... pattern) {
+ /** Solid (continuous) pen - native 1 */
+ SOLID(1, 1),
+ /** square dot style - native 6 */
+ DOT(6, 1,1),
+ /** dash style - native 7 */
+ DASH(7, 3,4),
+ /** dash short dash - native 9*/
+ DASH_DOT(9, 4,3,1,3),
+ /** long dash style - native 8 */
+ LG_DASH(8, 8,3),
+ /** long dash short dash - native 10 */
+ LG_DASH_DOT(10, 8,3,1,3),
+ /** long dash short dash short dash - native 11 */
+ LG_DASH_DOT_DOT(11, 8,3,1,3,1,3),
+ /** PS_DASH system dash style - native 2 */
+ SYS_DASH(2, 2,2),
+ /** PS_DOT system dash style - native 3 */
+ SYS_DOT(3, 1,1),
+ /** PS_DASHDOT system dash style - native 4 */
+ SYS_DASH_DOT(4, 2,2,1,1),
+ /** PS_DASHDOTDOT system dash style / native 5 */
+ SYS_DASH_DOT_DOT(5, 2,2,1,1,1,1);
+
+ public final int pattern[];
+ public final int nativeId;
+
+ LineDash(int nativeId, int... pattern) {
+ this.nativeId = nativeId;
this.pattern = (pattern == null || pattern.length == 0) ? new int[]{1} : pattern;
}
+
+ public static LineDash fromNativeId(int nativeId) {
+ for (LineDash ld : values()) {
+ if (ld.nativeId == nativeId) return ld;
+ }
+ return null;
+ }
+ }
+
+ enum LineCompound {
+ /** Single line (of width lineWidth) - native 0 / ooxml default */
+ SINGLE(0),
+ /** Double lines of equal width - native 1 / ooxml "dbl" */
+ DOUBLE(1),
+ /** Double lines, one thick, one thin - native 2 / ooxml "thickThin" */
+ THICK_THIN(2),
+ /** Double lines, reverse order - native 3 / ooxml "thinThick" */
+ THIN_THICK(3),
+ /** Three lines, thin, thick, thin - native 4 / ooxml "tri" */
+ TRIPLE(4);
+
+ public final int nativeId;
+
+ LineCompound(int nativeId) {
+ this.nativeId = nativeId;
+ }
+
+ public static LineCompound fromNativeId(int nativeId) {
+ for (LineCompound lc : values()) {
+ if (lc.nativeId == nativeId) return lc;
+ }
+ return null;
+ }
}
-
+
+
PaintStyle getPaint();
LineCap getLineCap();
LineDash getLineDash();
+ LineCompound getLineCompound();
double getLineWidth();
}
package org.apache.poi.sl.usermodel;
-public interface TextBox<T extends TextParagraph> extends AutoShape<T> {
+public interface TextBox<T extends TextParagraph<? extends TextRun>> extends AutoShape<T> {
}
\r
\r
\r
-public interface TextShape<T extends TextParagraph<?>> extends SimpleShape, Iterable<T> {\r
+public interface TextShape<T extends TextParagraph<? extends TextRun>> extends SimpleShape, Iterable<T> {\r
/**\r
* Vertical Text Types\r
*/\r
import junit.framework.TestCase;
+
import java.io.*;
-import org.apache.poi.hslf.HSLFSlideShow;
+import org.apache.poi.hslf.model.HSLFSlideShowImpl;
import org.apache.poi.hwpf.HWPFTestDataSamples;
import org.apache.poi.poifs.filesystem.*;
* a Word Document for our testing
*/
public void setUp() throws Exception {
- doc = new HSLFSlideShow(POIDataSamples.getSlideShowInstance().openResourceAsStream("basic_test_ppt_file.ppt"));
+ doc = new HSLFSlideShowImpl(POIDataSamples.getSlideShowInstance().openResourceAsStream("basic_test_ppt_file.ppt"));
doc2 = HWPFTestDataSamples.openSampleFile("test2.doc");
}
import java.io.InputStream;
import org.apache.poi.POIDataSamples;
-import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.hslf.model.HSLFSlideShowImpl;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
public class HSLFTestDataSamples {
* from a <tt>ByteArrayInputStream</tt>.<p/>
* Useful for verifying that the serialisation round trip
*/
- public static HSLFSlideShow writeOutAndReadBack(HSLFSlideShow original) {
+ public static HSLFSlideShowImpl writeOutAndReadBack(HSLFSlideShowImpl original) {
try {
ByteArrayOutputStream baos = new ByteArrayOutputStream(4096);
original.write(baos);
ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
- return new HSLFSlideShow(bais);
+ return new HSLFSlideShowImpl(bais);
} catch (IOException e) {
throw new RuntimeException(e);
}
* from a <tt>ByteArrayInputStream</tt>.<p/>
* Useful for verifying that the serialisation round trip
*/
- public static SlideShow writeOutAndReadBack(SlideShow original) {
+ public static HSLFSlideShow writeOutAndReadBack(HSLFSlideShow original) {
try {
ByteArrayOutputStream baos = new ByteArrayOutputStream(4096);
original.write(baos);
ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
- return new SlideShow(bais);
+ return new HSLFSlideShow(bais);
} catch (IOException e) {
throw new RuntimeException(e);
}
import junit.framework.TestCase;
import org.apache.poi.hslf.exceptions.EncryptedPowerPointFileException;
+import org.apache.poi.hslf.model.HSLFSlideShowImpl;
import org.apache.poi.POIDataSamples;
/**
private static POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
public void testLoadNonEncrypted() throws Exception {
- HSLFSlideShow hss = new HSLFSlideShow(slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
+ HSLFSlideShowImpl hss = new HSLFSlideShowImpl(slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
assertNotNull(hss);
}
public void testLoadEncrypted() throws Exception {
try {
- new HSLFSlideShow(slTests.openResourceAsStream("Password_Protected-hello.ppt"));
+ new HSLFSlideShowImpl(slTests.openResourceAsStream("Password_Protected-hello.ppt"));
fail();
} catch(EncryptedPowerPointFileException e) {
// Good
}
try {
- new HSLFSlideShow(slTests.openResourceAsStream("Password_Protected-np-hello.ppt"));
+ new HSLFSlideShowImpl(slTests.openResourceAsStream("Password_Protected-np-hello.ppt"));
fail();
} catch(EncryptedPowerPointFileException e) {
// Good
}
try {
- new HSLFSlideShow(slTests.openResourceAsStream("Password_Protected-56-hello.ppt"));
+ new HSLFSlideShowImpl(slTests.openResourceAsStream("Password_Protected-56-hello.ppt"));
fail();
} catch(EncryptedPowerPointFileException e) {
// Good
import junit.framework.TestCase;
import org.apache.poi.POIDataSamples;
-import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.hslf.model.HSLFSlideShowImpl;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
import org.apache.poi.poifs.filesystem.DocumentEntry;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
*/
public final class TestReWrite extends TestCase {
// HSLFSlideShow primed on the test data
- private HSLFSlideShow hssA;
- private HSLFSlideShow hssB;
- private HSLFSlideShow hssC;
+ private HSLFSlideShowImpl hssA;
+ private HSLFSlideShowImpl hssB;
+ private HSLFSlideShowImpl hssC;
// POIFS primed on the test data
private POIFSFileSystem pfsA;
private POIFSFileSystem pfsB;
POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
pfsA = new POIFSFileSystem(slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
- hssA = new HSLFSlideShow(pfsA);
+ hssA = new HSLFSlideShowImpl(pfsA);
pfsB = new POIFSFileSystem(slTests.openResourceAsStream("ParagraphStylesShorterThanCharStyles.ppt"));
- hssB = new HSLFSlideShow(pfsB);
+ hssB = new HSLFSlideShowImpl(pfsB);
pfsC = new POIFSFileSystem(slTests.openResourceAsStream("WithMacros.ppt"));
- hssC = new HSLFSlideShow(pfsC);
+ hssC = new HSLFSlideShowImpl(pfsC);
}
public void testWritesOutTheSame() throws Exception {
assertWritesOutTheSame(hssA, pfsA);
assertWritesOutTheSame(hssB, pfsB);
}
- public void assertWritesOutTheSame(HSLFSlideShow hss, POIFSFileSystem pfs) throws Exception {
+ public void assertWritesOutTheSame(HSLFSlideShowImpl hss, POIFSFileSystem pfs) throws Exception {
// Write out to a byte array
ByteArrayOutputStream baos = new ByteArrayOutputStream();
hss.write(baos);
// We need to identify and fix that first
//assertSlideShowWritesOutTheSame(hssB, pfsB);
}
- public void assertSlideShowWritesOutTheSame(HSLFSlideShow hss, POIFSFileSystem pfs) throws Exception {
+ public void assertSlideShowWritesOutTheSame(HSLFSlideShowImpl hss, POIFSFileSystem pfs) throws Exception {
// Create a slideshow covering it
- SlideShow ss = new SlideShow(hss);
+ HSLFSlideShow ss = new HSLFSlideShow(hss);
ss.getSlides();
ss.getNotes();
}
public void test48593() throws Exception {
- SlideShow slideShow = new SlideShow();
+ HSLFSlideShow slideShow = new HSLFSlideShow();
slideShow.createSlide();
slideShow = HSLFTestDataSamples.writeOutAndReadBack(slideShow);
slideShow.createSlide();
import junit.framework.TestCase;
+
import java.io.*;
import java.util.*;
+
+import org.apache.poi.hslf.model.HSLFSlideShowImpl;
import org.apache.poi.hslf.record.*;
import org.apache.poi.poifs.filesystem.*;
import org.apache.poi.POIDataSamples;
*/
public final class TestReWriteSanity extends TestCase {
// HSLFSlideShow primed on the test data
- private HSLFSlideShow ss;
+ private HSLFSlideShowImpl ss;
// POIFS primed on the test data
private POIFSFileSystem pfs;
public TestReWriteSanity() throws Exception {
POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
pfs = new POIFSFileSystem(slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
- ss = new HSLFSlideShow(pfs);
+ ss = new HSLFSlideShowImpl(pfs);
}
public void testUserEditAtomsRight() throws Exception {
ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
// Create a new one from that
- HSLFSlideShow wss = new HSLFSlideShow(bais);
+ HSLFSlideShowImpl wss = new HSLFSlideShowImpl(bais);
// Find the location of the PersistPtrIncrementalBlocks and
// UserEditAtoms
import junit.framework.TestCase;
+
+import org.apache.poi.hslf.model.HSLFSlideShowImpl;
import org.apache.poi.hslf.record.*;
import org.apache.poi.POIDataSamples;
*/
public final class TestRecordCounts extends TestCase {
// HSLFSlideShow primed on the test data
- private HSLFSlideShow ss;
+ private HSLFSlideShowImpl ss;
public TestRecordCounts() throws Exception {
POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
- ss = new HSLFSlideShow(slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
+ ss = new HSLFSlideShowImpl(slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
}
public void testSheetsCount() {
import org.apache.poi.POIDataSamples;
import org.apache.poi.POITestCase;
-import org.apache.poi.hslf.HSLFSlideShow;
+import org.apache.poi.hslf.model.HSLFSlideShowImpl;
import org.apache.poi.hslf.model.OLEShape;
-import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.poifs.filesystem.DirectoryNode;
POIFSFileSystem fs = new POIFSFileSystem(
POIDataSamples.getSpreadSheetInstance().openResourceAsStream("excel_with_embeded.xls")
);
- HSLFSlideShow ss;
+ HSLFSlideShowImpl ss;
DirectoryNode dirA = (DirectoryNode)
fs.getRoot().getEntry("MBD0000A3B6");
assertNotNull(dirB.getEntry("PowerPoint Document"));
// Check the first file
- ss = new HSLFSlideShow(dirA);
+ ss = new HSLFSlideShowImpl(dirA);
ppe = new PowerPointExtractor(ss);
assertEquals("Sample PowerPoint file\nThis is the 1st file\nNot much too it\n",
ppe.getText(true, false)
);
// And the second
- ss = new HSLFSlideShow(dirB);
+ ss = new HSLFSlideShowImpl(dirB);
ppe = new PowerPointExtractor(ss);
assertEquals("Sample PowerPoint file\nThis is the 2nd file\nNot much too it either\n",
ppe.getText(true, false)
num_doc++;
} else if ("Presentation".equals(name)) {
num_ppt++;
- SlideShow ppt = new SlideShow(data);
+ HSLFSlideShow ppt = new HSLFSlideShow(data);
}
}
assertEquals("Expected 2 embedded Word Documents", 2, num_doc);
String text;
// With a header on the notes
- HSLFSlideShow hslf = new HSLFSlideShow(slTests.openResourceAsStream("45537_Header.ppt"));
- SlideShow ss = new SlideShow(hslf);
+ HSLFSlideShowImpl hslf = new HSLFSlideShowImpl(slTests.openResourceAsStream("45537_Header.ppt"));
+ HSLFSlideShow ss = new HSLFSlideShow(hslf);
assertNotNull(ss.getNotesHeadersFooters());
assertEquals("testdoc test phrase", ss.getNotesHeadersFooters().getHeaderText());
// And with a footer, also on notes
- hslf = new HSLFSlideShow(slTests.openResourceAsStream("45537_Footer.ppt"));
- ss = new SlideShow(hslf);
+ hslf = new HSLFSlideShowImpl(slTests.openResourceAsStream("45537_Footer.ppt"));
+ ss = new HSLFSlideShow(hslf);
assertNotNull(ss.getNotesHeadersFooters());
assertEquals("testdoc test phrase", ss.getNotesHeadersFooters().getFooterText());
String masterTitleText = "This is the Master Title";
String masterRandomText = "This text comes from the Master Slide";
String masterFooterText = "Footer from the master slide";
- HSLFSlideShow hslf = new HSLFSlideShow(slTests.openResourceAsStream("WithMaster.ppt"));
+ HSLFSlideShowImpl hslf = new HSLFSlideShowImpl(slTests.openResourceAsStream("WithMaster.ppt"));
ppe = new PowerPointExtractor(hslf);
// Now with another file only containing master text
// Will always show up
String masterText = "Footer from the master slide";
- HSLFSlideShow hslf = new HSLFSlideShow(slTests.openResourceAsStream("WithMaster.ppt"));
+ HSLFSlideShowImpl hslf = new HSLFSlideShowImpl(slTests.openResourceAsStream("WithMaster.ppt"));
ppe = new PowerPointExtractor(hslf);
* Bug #54880 Chinese text not extracted properly
*/
public void testChineseText() throws Exception {
- HSLFSlideShow hslf = new HSLFSlideShow(slTests.openResourceAsStream("54880_chinese.ppt"));
+ HSLFSlideShowImpl hslf = new HSLFSlideShowImpl(slTests.openResourceAsStream("54880_chinese.ppt"));
ppe = new PowerPointExtractor(hslf);
String text = ppe.getText();
// Open via a HWPFDocument
for(DirectoryNode dir : files) {
- HSLFSlideShow slideshow = new HSLFSlideShow(dir);
+ HSLFSlideShowImpl slideshow = new HSLFSlideShowImpl(dir);
PowerPointExtractor extractor = new PowerPointExtractor(slideshow);
assertEquals(expectText, extractor.getText());
}
import org.apache.poi.ddf.EscherProperties;
import org.apache.poi.ddf.EscherRecord;
import org.apache.poi.ddf.EscherSimpleProperty;
-import org.apache.poi.hslf.HSLFSlideShow;
import org.apache.poi.hslf.record.Document;
-import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
import org.apache.poi.sl.usermodel.ShapeType;
import org.junit.Test;
*/
@Test
public void defaults() {
- SlideShow ppt = new SlideShow();
+ HSLFSlideShow ppt = new HSLFSlideShow();
- assertEquals(Fill.FILL_SOLID, ppt.getSlidesMasters()[0].getBackground().getFill().getFillType());
+ assertEquals(HSLFFill.FILL_SOLID, ppt.getSlidesMasters()[0].getBackground().getFill().getFillType());
- Slide slide = ppt.createSlide();
+ HSLFSlide slide = ppt.createSlide();
assertTrue(slide.getFollowMasterBackground());
- assertEquals(Fill.FILL_SOLID, slide.getBackground().getFill().getFillType());
+ assertEquals(HSLFFill.FILL_SOLID, slide.getBackground().getFill().getFillType());
- HSLFShape shape = new AutoShape(ShapeType.RECT);
- assertEquals(Fill.FILL_SOLID, shape.getFill().getFillType());
+ HSLFShape shape = new HSLFAutoShape(ShapeType.RECT);
+ assertEquals(HSLFFill.FILL_SOLID, shape.getFill().getFillType());
}
/**
*/
@Test
public void readBackground() throws Exception {
- SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("backgrounds.ppt"));
- Fill fill;
+ HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream("backgrounds.ppt"));
+ HSLFFill fill;
HSLFShape shape;
- Slide[] slide = ppt.getSlides();
+ HSLFSlide[] slide = ppt.getSlides();
fill = slide[0].getBackground().getFill();
- assertEquals(Fill.FILL_PICTURE, fill.getFillType());
+ assertEquals(HSLFFill.FILL_PICTURE, fill.getFillType());
shape = slide[0].getShapes()[0];
- assertEquals(Fill.FILL_SOLID, shape.getFill().getFillType());
+ assertEquals(HSLFFill.FILL_SOLID, shape.getFill().getFillType());
fill = slide[1].getBackground().getFill();
- assertEquals(Fill.FILL_PATTERN, fill.getFillType());
+ assertEquals(HSLFFill.FILL_PATTERN, fill.getFillType());
shape = slide[1].getShapes()[0];
- assertEquals(Fill.FILL_BACKGROUND, shape.getFill().getFillType());
+ assertEquals(HSLFFill.FILL_BACKGROUND, shape.getFill().getFillType());
fill = slide[2].getBackground().getFill();
- assertEquals(Fill.FILL_TEXTURE, fill.getFillType());
+ assertEquals(HSLFFill.FILL_TEXTURE, fill.getFillType());
shape = slide[2].getShapes()[0];
- assertEquals(Fill.FILL_PICTURE, shape.getFill().getFillType());
+ assertEquals(HSLFFill.FILL_PICTURE, shape.getFill().getFillType());
fill = slide[3].getBackground().getFill();
- assertEquals(Fill.FILL_SHADE_CENTER, fill.getFillType());
+ assertEquals(HSLFFill.FILL_SHADE_CENTER, fill.getFillType());
shape = slide[3].getShapes()[0];
- assertEquals(Fill.FILL_SHADE, shape.getFill().getFillType());
+ assertEquals(HSLFFill.FILL_SHADE, shape.getFill().getFillType());
}
/**
*/
@Test
public void backgroundPicture() throws Exception {
- SlideShow ppt = new SlideShow();
- Slide slide;
- Fill fill;
+ HSLFSlideShow ppt = new HSLFSlideShow();
+ HSLFSlide slide;
+ HSLFFill fill;
HSLFShape shape;
int idx;
slide = ppt.createSlide();
slide.setFollowMasterBackground(false);
fill = slide.getBackground().getFill();
- idx = ppt.addPicture(_slTests.readFile("tomcat.png"), Picture.PNG);
- fill.setFillType(Fill.FILL_PICTURE);
+ idx = ppt.addPicture(_slTests.readFile("tomcat.png"), HSLFPictureShape.PNG);
+ fill.setFillType(HSLFFill.FILL_PICTURE);
fill.setPictureData(idx);
- shape = new AutoShape(ShapeType.RECT);
+ shape = new HSLFAutoShape(ShapeType.RECT);
shape.setAnchor(new java.awt.Rectangle(100, 100, 200, 200));
fill = shape.getFill();
- fill.setFillType(Fill.FILL_SOLID);
+ fill.setFillType(HSLFFill.FILL_SOLID);
slide.addShape(shape);
//slide 2
slide = ppt.createSlide();
slide.setFollowMasterBackground(false);
fill = slide.getBackground().getFill();
- idx = ppt.addPicture(_slTests.readFile("tomcat.png"), Picture.PNG);
- fill.setFillType(Fill.FILL_PATTERN);
+ idx = ppt.addPicture(_slTests.readFile("tomcat.png"), HSLFPictureShape.PNG);
+ fill.setFillType(HSLFFill.FILL_PATTERN);
fill.setPictureData(idx);
fill.setBackgroundColor(Color.green);
fill.setForegroundColor(Color.red);
- shape = new AutoShape(ShapeType.RECT);
+ shape = new HSLFAutoShape(ShapeType.RECT);
shape.setAnchor(new java.awt.Rectangle(100, 100, 200, 200));
fill = shape.getFill();
- fill.setFillType(Fill.FILL_BACKGROUND);
+ fill.setFillType(HSLFFill.FILL_BACKGROUND);
slide.addShape(shape);
//slide 3
slide = ppt.createSlide();
slide.setFollowMasterBackground(false);
fill = slide.getBackground().getFill();
- idx = ppt.addPicture(_slTests.readFile("tomcat.png"), Picture.PNG);
- fill.setFillType(Fill.FILL_TEXTURE);
+ idx = ppt.addPicture(_slTests.readFile("tomcat.png"), HSLFPictureShape.PNG);
+ fill.setFillType(HSLFFill.FILL_TEXTURE);
fill.setPictureData(idx);
- shape = new AutoShape(ShapeType.RECT);
+ shape = new HSLFAutoShape(ShapeType.RECT);
shape.setAnchor(new java.awt.Rectangle(100, 100, 200, 200));
fill = shape.getFill();
- fill.setFillType(Fill.FILL_PICTURE);
- idx = ppt.addPicture(_slTests.readFile("clock.jpg"), Picture.JPEG);
+ fill.setFillType(HSLFFill.FILL_PICTURE);
+ idx = ppt.addPicture(_slTests.readFile("clock.jpg"), HSLFPictureShape.JPEG);
fill.setPictureData(idx);
slide.addShape(shape);
slide = ppt.createSlide();
slide.setFollowMasterBackground(false);
fill = slide.getBackground().getFill();
- fill.setFillType(Fill.FILL_SHADE_CENTER);
+ fill.setFillType(HSLFFill.FILL_SHADE_CENTER);
fill.setBackgroundColor(Color.white);
fill.setForegroundColor(Color.darkGray);
- shape = new AutoShape(ShapeType.RECT);
+ shape = new HSLFAutoShape(ShapeType.RECT);
shape.setAnchor(new java.awt.Rectangle(100, 100, 200, 200));
fill = shape.getFill();
- fill.setFillType(Fill.FILL_SHADE);
+ fill.setFillType(HSLFFill.FILL_SHADE);
fill.setBackgroundColor(Color.red);
fill.setForegroundColor(Color.green);
slide.addShape(shape);
ppt.write(out);
out.close();
- ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())));
- Slide[] slides = ppt.getSlides();
+ ppt = new HSLFSlideShow(new HSLFSlideShowImpl(new ByteArrayInputStream(out.toByteArray())));
+ HSLFSlide[] slides = ppt.getSlides();
fill = slides[0].getBackground().getFill();
- assertEquals(Fill.FILL_PICTURE, fill.getFillType());
+ assertEquals(HSLFFill.FILL_PICTURE, fill.getFillType());
assertEquals(3, getFillPictureRefCount(slides[0].getBackground(), fill));
shape = slides[0].getShapes()[0];
- assertEquals(Fill.FILL_SOLID, shape.getFill().getFillType());
+ assertEquals(HSLFFill.FILL_SOLID, shape.getFill().getFillType());
fill = slides[1].getBackground().getFill();
- assertEquals(Fill.FILL_PATTERN, fill.getFillType());
+ assertEquals(HSLFFill.FILL_PATTERN, fill.getFillType());
shape = slides[1].getShapes()[0];
- assertEquals(Fill.FILL_BACKGROUND, shape.getFill().getFillType());
+ assertEquals(HSLFFill.FILL_BACKGROUND, shape.getFill().getFillType());
fill = slides[2].getBackground().getFill();
- assertEquals(Fill.FILL_TEXTURE, fill.getFillType());
+ assertEquals(HSLFFill.FILL_TEXTURE, fill.getFillType());
assertEquals(3, getFillPictureRefCount(slides[2].getBackground(), fill));
shape = slides[2].getShapes()[0];
- assertEquals(Fill.FILL_PICTURE, shape.getFill().getFillType());
+ assertEquals(HSLFFill.FILL_PICTURE, shape.getFill().getFillType());
assertEquals(1, getFillPictureRefCount(shape, fill));
fill = slides[3].getBackground().getFill();
- assertEquals(Fill.FILL_SHADE_CENTER, fill.getFillType());
+ assertEquals(HSLFFill.FILL_SHADE_CENTER, fill.getFillType());
shape = slides[3].getShapes()[0];
- assertEquals(Fill.FILL_SHADE, shape.getFill().getFillType());
+ assertEquals(HSLFFill.FILL_SHADE, shape.getFill().getFillType());
}
- private int getFillPictureRefCount(HSLFShape shape, Fill fill) {
+ private int getFillPictureRefCount(HSLFShape shape, HSLFFill fill) {
EscherOptRecord opt = shape.getEscherOptRecord();
EscherSimpleProperty p = HSLFShape.getEscherProperty(opt, EscherProperties.FILL__PATTERNTEXTURE);
if(p != null) {
int idx = p.getPropertyValue();
- Sheet sheet = shape.getSheet();
- SlideShow ppt = sheet.getSlideShow();
+ HSLFSheet sheet = shape.getSheet();
+ HSLFSlideShow ppt = sheet.getSlideShow();
Document doc = ppt.getDocumentRecord();
EscherContainerRecord dggContainer = doc.getPPDrawingGroup().getDggContainer();
EscherContainerRecord bstore = HSLFShape.getEscherChild(dggContainer, EscherContainerRecord.BSTORE_CONTAINER);
path1.lineTo(100, 200);
path1.closePath();
- Freeform p = new Freeform();
+ HSLFFreeformShape p = new HSLFFreeformShape();
p.setPath(path1);
java.awt.Shape path2 = p.getOutline();
GeneralPath path1 = new GeneralPath(new Line2D.Double(100, 100, 200, 100));
- Freeform p = new Freeform();
+ HSLFFreeformShape p = new HSLFFreeformShape();
p.setPath(path1);
java.awt.Shape path2 = p.getOutline();
GeneralPath path1 = new GeneralPath(new Rectangle2D.Double(100, 100, 200, 50));
- Freeform p = new Freeform();
+ HSLFFreeformShape p = new HSLFFreeformShape();
p.setPath(path1);
java.awt.Shape path2 = p.getOutline();
*/
public void test54188() {
- Freeform p = new Freeform();
+ HSLFFreeformShape p = new HSLFFreeformShape();
GeneralPath path = (GeneralPath)p.getOutline();
GeneralPath emptyPath = new GeneralPath();
assertEquals(emptyPath.getBounds2D(), path.getBounds2D());
package org.apache.poi.hslf.model;
import java.io.*;
-import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
import org.apache.poi.POIDataSamples;
import junit.framework.TestCase;
public void testRead() throws Exception
{
- SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("headers_footers.ppt"));
+ HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream("headers_footers.ppt"));
HeadersFooters slideHdd = ppt.getSlideHeadersFooters();
assertTrue(slideHdd.isFooterVisible());
assertTrue(notesHdd.isUserDateVisible());
assertNull(notesHdd.getDateTimeText());
- Slide[] slide = ppt.getSlides();
+ HSLFSlide[] slide = ppt.getSlides();
//the first slide uses presentation-scope headers / footers
HeadersFooters hd1 = slide[0].getHeadersFooters();
assertEquals(slideHdd.isFooterVisible(), hd1.isFooterVisible());
*/
public void testReadNoHeadersFooters() throws Exception
{
- SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
+ HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
HeadersFooters slideHdd = ppt.getSlideHeadersFooters();
assertFalse(slideHdd.isFooterVisible());
assertFalse(notesHdd.isUserDateVisible());
assertNull(notesHdd.getDateTimeText());
- Slide[] slide = ppt.getSlides();
+ HSLFSlide[] slide = ppt.getSlides();
for(int i=0 ; i < slide.length; i++){
HeadersFooters hd1 = slide[i].getHeadersFooters();
assertFalse(hd1.isFooterVisible());
*/
public void testRead2007() throws Exception
{
- SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("headers_footers_2007.ppt"));
+ HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream("headers_footers_2007.ppt"));
HeadersFooters slideHdd = ppt.getSlideHeadersFooters();
assertTrue(slideHdd.isFooterVisible());
//assertEquals("08/12/08", notesHdd.getDateTimeText());
//per-slide headers / footers
- Slide[] slide = ppt.getSlides();
+ HSLFSlide[] slide = ppt.getSlides();
//the first slide uses presentation-scope headers / footers
HeadersFooters hd1 = slide[0].getHeadersFooters();
assertTrue(hd1.isFooterVisible());
public void testCreateSlideFooters() throws Exception
{
- SlideShow ppt = new SlideShow();
+ HSLFSlideShow ppt = new HSLFSlideShow();
HeadersFooters hdd = ppt.getSlideHeadersFooters();
hdd.setFootersText("My slide footer");
hdd.setSlideNumberVisible(true);
ppt.write(out);
byte[] b = out.toByteArray();
- SlideShow ppt2 = new SlideShow(new ByteArrayInputStream(b));
+ HSLFSlideShow ppt2 = new HSLFSlideShow(new ByteArrayInputStream(b));
HeadersFooters hdd2 = ppt2.getSlideHeadersFooters();
assertTrue(hdd2.isSlideNumberVisible());
assertTrue(hdd2.isFooterVisible());
public void testCreateNotesFooters() throws Exception
{
- SlideShow ppt = new SlideShow();
+ HSLFSlideShow ppt = new HSLFSlideShow();
HeadersFooters hdd = ppt.getNotesHeadersFooters();
hdd.setFootersText("My notes footer");
hdd.setHeaderText("My notes header");
ppt.write(out);
byte[] b = out.toByteArray();
- SlideShow ppt2 = new SlideShow(new ByteArrayInputStream(b));
+ HSLFSlideShow ppt2 = new HSLFSlideShow(new ByteArrayInputStream(b));
HeadersFooters hdd2 = ppt2.getNotesHeadersFooters();
assertTrue(hdd2.isSlideNumberVisible());
assertTrue(hdd2.isFooterVisible());
import junit.framework.TestCase;
-import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
import org.apache.poi.POIDataSamples;
/**
private static POIDataSamples _slTests = POIDataSamples.getSlideShowInstance();
public void testTextRunHyperlinks() throws Exception {
- SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("WithLinks.ppt"));
+ HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream("WithLinks.ppt"));
- TextRun[] run;
- Slide slide;
+ HSLFTextParagraph[] run;
+ HSLFSlide slide;
slide = ppt.getSlides()[0];
run = slide.getTextRuns();
for (int i = 0; i < run.length; i++) {
import org.apache.poi.hslf.blip.BitmapPainter;
import org.apache.poi.hslf.blip.ImagePainter;
-import org.apache.poi.hslf.usermodel.PictureData;
+import org.apache.poi.hslf.usermodel.HSLFPictureData;
/**
* Test Picture shape.
public CustomImagePainter() {
// no fields to initialise
}
- public void paint(Graphics2D graphics, PictureData pict, Picture parent){
+ public void paint(Graphics2D graphics, HSLFPictureData pict, HSLFPictureShape parent){
//do noting
}
}
public void testImagePainter() {
- ImagePainter pntr = PictureData.getImagePainter(Picture.PNG);
- assertTrue(PictureData.getImagePainter(Picture.PNG) instanceof BitmapPainter);
- assertTrue(PictureData.getImagePainter(Picture.JPEG) instanceof BitmapPainter);
- assertTrue(PictureData.getImagePainter(Picture.DIB) instanceof BitmapPainter);
+ ImagePainter pntr = HSLFPictureData.getImagePainter(HSLFPictureShape.PNG);
+ assertTrue(HSLFPictureData.getImagePainter(HSLFPictureShape.PNG) instanceof BitmapPainter);
+ assertTrue(HSLFPictureData.getImagePainter(HSLFPictureShape.JPEG) instanceof BitmapPainter);
+ assertTrue(HSLFPictureData.getImagePainter(HSLFPictureShape.DIB) instanceof BitmapPainter);
- PictureData.setImagePainter(Picture.WMF, new CustomImagePainter());
- assertTrue(PictureData.getImagePainter(Picture.WMF) instanceof CustomImagePainter);
+ HSLFPictureData.setImagePainter(HSLFPictureShape.WMF, new CustomImagePainter());
+ assertTrue(HSLFPictureData.getImagePainter(HSLFPictureShape.WMF) instanceof CustomImagePainter);
}
}
import junit.framework.TestCase;
-import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
/**
* Test Line shape.
public final class TestLine extends TestCase {
public void testCreateLines() {
- SlideShow ppt = new SlideShow();
+ HSLFSlideShow ppt = new HSLFSlideShow();
- Slide slide = ppt.createSlide();
+ HSLFSlide slide = ppt.createSlide();
slide.addTitle().setText("Lines tester");
import junit.framework.TestCase;
-import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
import org.apache.poi.POIDataSamples;
/**
private static POIDataSamples _slTests = POIDataSamples.getSlideShowInstance();
public void testCreate() throws Exception {
- SlideShow ppt = new SlideShow();
+ HSLFSlideShow ppt = new HSLFSlideShow();
- Slide slide = ppt.createSlide();
+ HSLFSlide slide = ppt.createSlide();
String path = "/test-movie.mpg";
int movieIdx = ppt.addMovie(path, MovieShape.MOVIE_MPEG);
- int thumbnailIdx = ppt.addPicture(_slTests.readFile("tomcat.png"), Picture.PNG);
+ int thumbnailIdx = ppt.addPicture(_slTests.readFile("tomcat.png"), HSLFPictureShape.PNG);
MovieShape shape = new MovieShape(movieIdx, thumbnailIdx);
shape.setAnchor(new Rectangle2D.Float(300,225,120,90));
ByteArrayOutputStream out = new ByteArrayOutputStream();
ppt.write(out);
- ppt = new SlideShow(new ByteArrayInputStream(out.toByteArray()));
+ ppt = new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray()));
slide = ppt.getSlides()[0];
shape = (MovieShape)slide.getShapes()[0];
assertEquals(path, shape.getPath());
import junit.framework.TestCase;
import org.apache.poi.POIDataSamples;
-import org.apache.poi.hslf.HSLFSlideShow;
-import org.apache.poi.hslf.usermodel.ObjectData;
-import org.apache.poi.hslf.usermodel.PictureData;
-import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.hslf.usermodel.HSLFObjectData;
+import org.apache.poi.hslf.usermodel.HSLFPictureData;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hwpf.HWPFDocument;
* @throws Exception if an error occurs.
*/
public void testOleEmbedding2003() throws Exception {
- HSLFSlideShow slideShow = new HSLFSlideShow(_slTests.openResourceAsStream("ole2-embedding-2003.ppt"));
+ HSLFSlideShowImpl slideShow = new HSLFSlideShowImpl(_slTests.openResourceAsStream("ole2-embedding-2003.ppt"));
// Placeholder EMFs for clients that don't support the OLE components.
- PictureData[] pictures = slideShow.getPictures();
+ HSLFPictureData[] pictures = slideShow.getPictures();
assertEquals("Should be two pictures", 2, pictures.length);
//assertDigestEquals("Wrong data for picture 1", "8d1fbadf4814f321bb1ccdd056e3c788", pictures[0].getData());
//assertDigestEquals("Wrong data for picture 2", "987a698e83559cf3d38a0deeba1cc63b", pictures[1].getData());
// Actual embedded objects.
- ObjectData[] objects = slideShow.getEmbeddedObjects();
+ HSLFObjectData[] objects = slideShow.getEmbeddedObjects();
assertEquals("Should be two objects", 2, objects.length);
//assertDigestEquals("Wrong data for objecs 1", "0d1fcc61a83de5c4894dc0c88e9a019d", objects[0].getData());
//assertDigestEquals("Wrong data for object 2", "b323604b2003a7299c77c2693b641495", objects[1].getData());
}
public void testOLEShape() throws Exception {
- SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("ole2-embedding-2003.ppt"));
+ HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream("ole2-embedding-2003.ppt"));
- Slide slide = ppt.getSlides()[0];
+ HSLFSlide slide = ppt.getSlides()[0];
HSLFShape[] sh = slide.getShapes();
int cnt = 0;
for (int i = 0; i < sh.length; i++) {
if(sh[i] instanceof OLEShape){
cnt++;
OLEShape ole = (OLEShape)sh[i];
- ObjectData data = ole.getObjectData();
+ HSLFObjectData data = ole.getObjectData();
if("Worksheet".equals(ole.getInstanceName())){
//Voila! we created a workbook from the embedded OLE data
HSSFWorkbook wb = new HSSFWorkbook(data.getData());
}
public void testEmbedding() throws Exception {
- HSLFSlideShow _hslfSlideShow = HSLFSlideShow.create();
- SlideShow ppt = new SlideShow(_hslfSlideShow);
+ HSLFSlideShowImpl _hslfSlideShow = HSLFSlideShowImpl.create();
+ HSLFSlideShow ppt = new HSLFSlideShow(_hslfSlideShow);
File pict = POIDataSamples.getSlideShowInstance().getFile("clock.jpg");
- int pictId = ppt.addPicture(pict, Picture.JPEG);
+ int pictId = ppt.addPicture(pict, HSLFPictureShape.JPEG);
InputStream is = POIDataSamples.getSpreadSheetInstance().openResourceAsStream("Employee.xls");
POIFSFileSystem poiData1 = new POIFSFileSystem(is);
int oleObjectId1 = ppt.addEmbed(poiData1);
- Slide slide1 = ppt.createSlide();
+ HSLFSlide slide1 = ppt.createSlide();
OLEShape oleShape1 = new OLEShape(pictId);
oleShape1.setObjectID(oleObjectId1);
slide1.addShape(oleShape1);
oleShape1.setAnchor(new Rectangle2D.Double(100,100,100,100));
// add second slide with different order in object creation
- Slide slide2 = ppt.createSlide();
+ HSLFSlide slide2 = ppt.createSlide();
OLEShape oleShape2 = new OLEShape(pictId);
is = POIDataSamples.getSpreadSheetInstance().openResourceAsStream("SimpleWithImages.xls");
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ppt.write(bos);
- ppt = new SlideShow(new ByteArrayInputStream(bos.toByteArray()));
+ ppt = new HSLFSlideShow(new ByteArrayInputStream(bos.toByteArray()));
OLEShape comp = (OLEShape)ppt.getSlides()[0].getShapes()[0];
byte compData[] = IOUtils.toByteArray(comp.getObjectData().getData());
package org.apache.poi.hslf.model;
import junit.framework.TestCase;
-import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
/**
* Test adding fonts to the presenataion resources
public final class TestPPFont extends TestCase{
public void testCreate() {
- SlideShow ppt = new SlideShow();
+ HSLFSlideShow ppt = new HSLFSlideShow();
assertEquals(1, ppt.getNumberOfFonts());
assertEquals("Arial", ppt.getFont(0).getFontName());
package org.apache.poi.hslf.model;
import junit.framework.TestCase;
-import org.apache.poi.hslf.usermodel.SlideShow;
-import org.apache.poi.hslf.HSLFSlideShow;
+
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
import org.apache.poi.POIDataSamples;
import java.awt.*;
-import java.awt.Rectangle;
import java.io.ByteArrayOutputStream;
import java.io.ByteArrayInputStream;
*/
public final class TestPPGraphics2D extends TestCase {
private static POIDataSamples _slTests = POIDataSamples.getSlideShowInstance();
- private SlideShow ppt;
+ private HSLFSlideShow ppt;
protected void setUp() throws Exception {
- ppt = new SlideShow(_slTests.openResourceAsStream("empty.ppt"));
+ ppt = new HSLFSlideShow(_slTests.openResourceAsStream("empty.ppt"));
}
public void testGraphics() throws Exception {
assertEquals(0, ppt.getSlides().length);
// Add a slide
- Slide slide = ppt.createSlide();
+ HSLFSlide slide = ppt.createSlide();
assertEquals(1, ppt.getSlides().length);
// Add some stuff into it
out.close();
// And read it back in
- ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())));
+ ppt = new HSLFSlideShow(new HSLFSlideShowImpl(new ByteArrayInputStream(out.toByteArray())));
assertEquals(1, ppt.getSlides().length);
slide = ppt.getSlides()[0];
import org.apache.poi.POIDataSamples;
import org.apache.poi.ddf.EscherBSERecord;
-import org.apache.poi.hslf.HSLFSlideShow;
-import org.apache.poi.hslf.usermodel.PictureData;
-import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.hslf.usermodel.HSLFPictureData;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
import org.apache.poi.util.JvmBugs;
import org.junit.Ignore;
import org.junit.Test;
*/
@Test
public void multiplePictures() throws Exception {
- SlideShow ppt = new SlideShow();
+ HSLFSlideShow ppt = new HSLFSlideShow();
- Slide s = ppt.createSlide();
- Slide s2 = ppt.createSlide();
- Slide s3 = ppt.createSlide();
+ HSLFSlide s = ppt.createSlide();
+ HSLFSlide s2 = ppt.createSlide();
+ HSLFSlide s3 = ppt.createSlide();
- int idx = ppt.addPicture(_slTests.readFile("clock.jpg"), Picture.JPEG);
- Picture pict = new Picture(idx);
- Picture pict2 = new Picture(idx);
- Picture pict3 = new Picture(idx);
+ int idx = ppt.addPicture(_slTests.readFile("clock.jpg"), HSLFPictureShape.JPEG);
+ HSLFPictureShape pict = new HSLFPictureShape(idx);
+ HSLFPictureShape pict2 = new HSLFPictureShape(idx);
+ HSLFPictureShape pict3 = new HSLFPictureShape(idx);
pict.setAnchor(new Rectangle(10,10,100,100));
s.addShape(pict);
*/
@Test
public void bug46122() {
- SlideShow ppt = new SlideShow();
- Slide slide = ppt.createSlide();
+ HSLFSlideShow ppt = new HSLFSlideShow();
+ HSLFSlide slide = ppt.createSlide();
- Picture pict = new Picture(-1); //index to non-existing picture data
+ HSLFPictureShape pict = new HSLFPictureShape(-1); //index to non-existing picture data
pict.setSheet(slide);
- PictureData data = pict.getPictureData();
+ HSLFPictureData data = pict.getPictureData();
assertNull(data);
BufferedImage img = new BufferedImage(100, 100, BufferedImage.TYPE_INT_RGB);
@Test
public void macImages() throws Exception {
- HSLFSlideShow hss = new HSLFSlideShow(_slTests.openResourceAsStream("53446.ppt"));
+ HSLFSlideShowImpl hss = new HSLFSlideShowImpl(_slTests.openResourceAsStream("53446.ppt"));
- PictureData[] pictures = hss.getPictures();
+ HSLFPictureData[] pictures = hss.getPictures();
assertEquals(15, pictures.length);
int[][] expectedSizes = {
for (int i = 0; i < pictures.length; i++) {
BufferedImage image = ImageIO.read(new ByteArrayInputStream(pictures[i].getData()));
- if (pictures[i].getType() != Picture.WMF && pictures[i].getType() != Picture.EMF) {
+ if (pictures[i].getType() != HSLFPictureShape.WMF && pictures[i].getType() != HSLFPictureShape.EMF) {
assertNotNull(image);
int[] dimensions = expectedSizes[i];
// System.out.println("########################");
InputStream is = _slTests.openResourceAsStream("54541_cropped_bitmap.ppt");
- SlideShow ss = new SlideShow(is);
+ HSLFSlideShow ss = new HSLFSlideShow(is);
is.close();
Dimension pg = ss.getPageSize();
int i=1;
- for(Slide slide : ss.getSlides()) {
+ for(HSLFSlide slide : ss.getSlides()) {
BufferedImage img = new BufferedImage(pg.width, pg.height, BufferedImage.TYPE_INT_RGB);
Graphics2D graphics = img.createGraphics();
fixFonts(graphics);
package org.apache.poi.hslf.model;
import junit.framework.TestCase;
-import org.apache.poi.hslf.usermodel.SlideShow;
-import org.apache.poi.hslf.usermodel.RichTextRun;
-import org.apache.poi.hslf.HSLFSlideShow;
+
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
+import org.apache.poi.hslf.usermodel.HSLFTextRun;
import java.io.ByteArrayOutputStream;
import java.io.ByteArrayInputStream;
* and set some of the style attributes
*/
public void testTextBoxWrite() throws Exception {
- SlideShow ppt = new SlideShow();
- Slide sl = ppt.createSlide();
- RichTextRun rt;
+ HSLFSlideShow ppt = new HSLFSlideShow();
+ HSLFSlide sl = ppt.createSlide();
+ HSLFTextRun rt;
String val = "Hello, World!";
// Create a new textbox, and give it lots of properties
- TextBox txtbox = new TextBox();
- rt = txtbox.getTextRun().getRichTextRuns()[0];
+ HSLFTextBox txtbox = new HSLFTextBox();
+ rt = txtbox.getTextParagraph().getRichTextRuns()[0];
txtbox.setText(val);
rt.setFontSize(42);
rt.setBold(true);
sl.addShape(txtbox);
// Check it before save
- rt = txtbox.getTextRun().getRichTextRuns()[0];
+ rt = txtbox.getTextParagraph().getRichTextRuns()[0];
assertEquals(val, rt.getText());
assertEquals(42, rt.getFontSize());
assertTrue(rt.isBold());
ppt.write(out);
out.close();
- ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())));
+ ppt = new HSLFSlideShow(new HSLFSlideShowImpl(new ByteArrayInputStream(out.toByteArray())));
sl = ppt.getSlides()[0];
- txtbox = (TextBox)sl.getShapes()[0];
- rt = txtbox.getTextRun().getRichTextRuns()[0];
+ txtbox = (HSLFTextBox)sl.getShapes()[0];
+ rt = txtbox.getTextParagraph().getRichTextRuns()[0];
// Check after save
assertEquals(val, rt.getText());
import org.apache.poi.ddf.EscherOptRecord;
import org.apache.poi.ddf.EscherProperties;
import org.apache.poi.ddf.EscherSimpleProperty;
-import org.apache.poi.hslf.HSLFSlideShow;
-import org.apache.poi.hslf.usermodel.RichTextRun;
-import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.hslf.usermodel.HSLFTextRun;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
import org.apache.poi.sl.usermodel.ShapeType;
import org.junit.Before;
import org.junit.Test;
public final class TestShapes {
private static POIDataSamples _slTests = POIDataSamples.getSlideShowInstance();
- private SlideShow ppt;
- private SlideShow pptB;
+ private HSLFSlideShow ppt;
+ private HSLFSlideShow pptB;
@Before
public void setUp() throws Exception {
InputStream is1 = null, is2 = null;
try {
is1 = _slTests.openResourceAsStream("empty.ppt");
- ppt = new SlideShow(is1);
+ ppt = new HSLFSlideShow(is1);
is2 = _slTests.openResourceAsStream("empty_textbox.ppt");
- pptB = new SlideShow(is2);
+ pptB = new HSLFSlideShow(is2);
} finally {
is1.close();
is2.close();
@Test
public void graphics() throws Exception {
- Slide slide = ppt.createSlide();
+ HSLFSlide slide = ppt.createSlide();
Line line = new Line();
java.awt.Rectangle lineAnchor = new java.awt.Rectangle(100, 200, 50, 60);
line.setLineColor(Color.red);
slide.addShape(line);
- AutoShape ellipse = new AutoShape(ShapeType.ELLIPSE);
+ HSLFAutoShape ellipse = new HSLFAutoShape(ShapeType.ELLIPSE);
java.awt.Rectangle ellipseAnchor = new Rectangle(320, 154, 55, 111);
ellipse.setAnchor(ellipseAnchor);
ellipse.setLineWidth(2);
//read ppt from byte array
- ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())));
+ ppt = new HSLFSlideShow(new HSLFSlideShowImpl(new ByteArrayInputStream(out.toByteArray())));
assertEquals(1, ppt.getSlides().length);
slide = ppt.getSlides()[0];
assertTrue(shape[0] instanceof Line); //group shape
assertEquals(lineAnchor, shape[0].getAnchor()); //group shape
- assertTrue(shape[1] instanceof AutoShape); //group shape
+ assertTrue(shape[1] instanceof HSLFAutoShape); //group shape
assertEquals(ellipseAnchor, shape[1].getAnchor()); //group shape
}
*/
@Test
public void textBoxRead() throws Exception {
- ppt = new SlideShow(_slTests.openResourceAsStream("with_textbox.ppt"));
- Slide sl = ppt.getSlides()[0];
+ ppt = new HSLFSlideShow(_slTests.openResourceAsStream("with_textbox.ppt"));
+ HSLFSlide sl = ppt.getSlides()[0];
HSLFShape[] sh = sl.getShapes();
for (int i = 0; i < sh.length; i++) {
- assertTrue(sh[i] instanceof TextBox);
- TextBox txtbox = (TextBox)sh[i];
+ assertTrue(sh[i] instanceof HSLFTextBox);
+ HSLFTextBox txtbox = (HSLFTextBox)sh[i];
String text = txtbox.getText();
assertNotNull(text);
- assertEquals(txtbox.getTextRun().getRichTextRuns().length, 1);
- RichTextRun rt = txtbox.getTextRun().getRichTextRuns()[0];
+ assertEquals(txtbox.getTextParagraph().getRichTextRuns().length, 1);
+ HSLFTextRun rt = txtbox.getTextParagraph().getRichTextRuns()[0];
if (text.equals("Hello, World!!!")){
assertEquals(32, rt.getFontSize());
*/
@Test
public void textBoxWriteBytes() throws Exception {
- ppt = new SlideShow();
- Slide sl = ppt.createSlide();
- RichTextRun rt;
+ ppt = new HSLFSlideShow();
+ HSLFSlide sl = ppt.createSlide();
+ HSLFTextRun rt;
String val = "Hello, World!";
// Create a new textbox, and give it lots of properties
- TextBox txtbox = new TextBox();
- rt = txtbox.getTextRun().getRichTextRuns()[0];
+ HSLFTextBox txtbox = new HSLFTextBox();
+ rt = txtbox.getTextParagraph().getRichTextRuns()[0];
txtbox.setText(val);
rt.setFontName("Arial");
rt.setFontSize(42);
sl.addShape(txtbox);
// Check it before save
- rt = txtbox.getTextRun().getRichTextRuns()[0];
+ rt = txtbox.getTextParagraph().getRichTextRuns()[0];
assertEquals(val, rt.getText());
assertEquals(42, rt.getFontSize());
assertTrue(rt.isBold());
ppt.write(out);
out.close();
- ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())));
+ ppt = new HSLFSlideShow(new HSLFSlideShowImpl(new ByteArrayInputStream(out.toByteArray())));
sl = ppt.getSlides()[0];
- txtbox = (TextBox)sl.getShapes()[0];
- rt = txtbox.getTextRun().getRichTextRuns()[0];
+ txtbox = (HSLFTextBox)sl.getShapes()[0];
+ rt = txtbox.getTextParagraph().getRichTextRuns()[0];
// Check after save
assertEquals(val, rt.getText());
@Test
public void emptyTextBox() {
assertEquals(2, pptB.getSlides().length);
- Slide s1 = pptB.getSlides()[0];
- Slide s2 = pptB.getSlides()[1];
+ HSLFSlide s1 = pptB.getSlides()[0];
+ HSLFSlide s2 = pptB.getSlides()[1];
// Check we can get the shapes count
assertEquals(2, s1.getShapes().length);
}
private void textBoxSet(String filename) throws Exception {
- SlideShow ppt = new SlideShow(_slTests.openResourceAsStream(filename));
- Slide[] sl = ppt.getSlides();
+ HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream(filename));
+ HSLFSlide[] sl = ppt.getSlides();
for (int k = 0; k < sl.length; k++) {
ArrayList<String> lst1 = new ArrayList<String>();
- TextRun[] txt = sl[k].getTextRuns();
+ HSLFTextParagraph[] txt = sl[k].getTextRuns();
for (int i = 0; i < txt.length; i++) {
lst1.add(txt[i].getText());
}
ArrayList<String> lst2 = new ArrayList<String>();
HSLFShape[] sh = sl[k].getShapes();
for (int i = 0; i < sh.length; i++) {
- if (sh[i] instanceof TextShape){
- TextShape tbox = (TextShape)sh[i];
+ if (sh[i] instanceof HSLFTextShape){
+ HSLFTextShape tbox = (HSLFTextShape)sh[i];
lst2.add(tbox.getText());
}
}
*/
@Test
public void shapeGroup() throws Exception {
- SlideShow ppt = new SlideShow();
+ HSLFSlideShow ppt = new HSLFSlideShow();
- Slide slide = ppt.createSlide();
+ HSLFSlide slide = ppt.createSlide();
Dimension pgsize = ppt.getPageSize();
HSLFGroupShape group = new HSLFGroupShape();
group.setAnchor(new Rectangle(0, 0, (int)pgsize.getWidth(), (int)pgsize.getHeight()));
slide.addShape(group);
- int idx = ppt.addPicture(_slTests.readFile("clock.jpg"), Picture.JPEG);
- Picture pict = new Picture(idx, group);
+ int idx = ppt.addPicture(_slTests.readFile("clock.jpg"), HSLFPictureShape.JPEG);
+ HSLFPictureShape pict = new HSLFPictureShape(idx, group);
pict.setAnchor(new Rectangle(0, 0, 200, 200));
group.addShape(pict);
out.close();
ByteArrayInputStream is = new ByteArrayInputStream(out.toByteArray());
- ppt = new SlideShow(is);
+ ppt = new HSLFSlideShow(is);
is.close();
slide = ppt.getSlides()[0];
group = (HSLFGroupShape)shape[0];
HSLFShape[] grshape = group.getShapes();
assertEquals(2, grshape.length);
- assertTrue(grshape[0] instanceof Picture);
+ assertTrue(grshape[0] instanceof HSLFPictureShape);
assertTrue(grshape[1] instanceof Line);
- pict = (Picture)grshape[0];
+ pict = (HSLFPictureShape)grshape[0];
assertEquals(new Rectangle(0, 0, 200, 200), pict.getAnchor());
line = (Line)grshape[1];
@Test
public void removeShapes() throws IOException {
String file = "with_textbox.ppt";
- SlideShow ppt = new SlideShow(_slTests.openResourceAsStream(file));
- Slide sl = ppt.getSlides()[0];
+ HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream(file));
+ HSLFSlide sl = ppt.getSlides()[0];
HSLFShape[] sh = sl.getShapes();
assertEquals("expected four shaped in " + file, 4, sh.length);
//remove all
ppt.write(out);
out.close();
- ppt = new SlideShow(new ByteArrayInputStream(out.toByteArray()));
+ ppt = new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray()));
sl = ppt.getSlides()[0];
assertEquals("expected 0 shaped in " + file, 0, sl.getShapes().length);
}
@Test
public void lineWidth() {
- SimpleShape sh = new AutoShape(ShapeType.RT_TRIANGLE);
+ HSLFSimpleShape sh = new HSLFAutoShape(ShapeType.RT_TRIANGLE);
EscherOptRecord opt = sh.getEscherOptRecord();
- EscherSimpleProperty prop = SimpleShape.getEscherProperty(opt, EscherProperties.LINESTYLE__LINEWIDTH);
+ EscherSimpleProperty prop = HSLFSimpleShape.getEscherProperty(opt, EscherProperties.LINESTYLE__LINEWIDTH);
assertNull(prop);
- assertEquals(SimpleShape.DEFAULT_LINE_WIDTH, sh.getLineWidth(), 0);
+ assertEquals(HSLFSimpleShape.DEFAULT_LINE_WIDTH, sh.getLineWidth(), 0);
sh.setLineWidth(1.0);
- prop = SimpleShape.getEscherProperty(opt, EscherProperties.LINESTYLE__LINEWIDTH);
+ prop = HSLFSimpleShape.getEscherProperty(opt, EscherProperties.LINESTYLE__LINEWIDTH);
assertNotNull(prop);
assertEquals(1.0, sh.getLineWidth(), 0);
}
@Test
public void shapeId() {
- SlideShow ppt = new SlideShow();
- Slide slide = ppt.createSlide();
+ HSLFSlideShow ppt = new HSLFSlideShow();
+ HSLFSlide slide = ppt.createSlide();
HSLFShape shape = null;
//EscherDgg is a document-level record which keeps track of the drawing groups
@Test
public void lineColor() throws IOException {
- SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("51731.ppt"));
+ HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream("51731.ppt"));
HSLFShape[] shape = ppt.getSlides()[0].getShapes();
assertEquals(4, shape.length);
- TextShape sh1 = (TextShape)shape[0];
+ HSLFTextShape sh1 = (HSLFTextShape)shape[0];
assertEquals("Hello Apache POI", sh1.getText());
assertNull(sh1.getLineColor());
- TextShape sh2 = (TextShape)shape[1];
+ HSLFTextShape sh2 = (HSLFTextShape)shape[1];
assertEquals("Why are you showing this border?", sh2.getText());
assertNull(sh2.getLineColor());
- TextShape sh3 = (TextShape)shape[2];
+ HSLFTextShape sh3 = (HSLFTextShape)shape[2];
assertEquals("Text in a black border", sh3.getText());
assertEquals(Color.black, sh3.getLineColor());
assertEquals(0.75, sh3.getLineWidth(), 0);
- TextShape sh4 = (TextShape)shape[3];
+ HSLFTextShape sh4 = (HSLFTextShape)shape[3];
assertEquals("Border width is 5 pt", sh4.getText());
assertEquals(Color.black, sh4.getLineColor());
assertEquals(5.0, sh4.getLineWidth(), 0);
import org.apache.poi.hslf.exceptions.EncryptedPowerPointFileException;
import org.apache.poi.hslf.record.ColorSchemeAtom;
import org.apache.poi.hslf.record.PPDrawing;
-import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
import org.apache.poi.POIDataSamples;
/**
String[] tests = {"SampleShow.ppt", "backgrounds.ppt", "text_shapes.ppt", "pictures.ppt"};
for (String file : tests) {
try {
- SlideShow ppt = new SlideShow(_slTests.openResourceAsStream(file));
+ HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream(file));
doSlideShow(ppt);
} catch (EncryptedPowerPointFileException e){
; //skip encrypted ppt
}
}
- private void doSlideShow(SlideShow ppt) {
- Slide[] slide = ppt.getSlides();
+ private void doSlideShow(HSLFSlideShow ppt) {
+ HSLFSlide[] slide = ppt.getSlides();
for (int i = 0; i < slide.length; i++) {
verify(slide[i]);
- Notes notes = slide[i].getNotesSheet();
+ HSLFNotes notes = slide[i].getNotesSheet();
if(notes != null) verify(notes);
- MasterSheet master = slide[i].getMasterSheet();
+ HSLFMasterSheet master = slide[i].getMasterSheet();
assertNotNull(master);
verify(master);
}
}
- private void verify(Sheet sheet){
+ private void verify(HSLFSheet sheet){
assertNotNull(sheet.getSlideShow());
ColorSchemeAtom colorscheme = sheet.getColorScheme();
PPDrawing ppdrawing = sheet.getPPDrawing();
assertNotNull(ppdrawing);
- Background background = sheet.getBackground();
+ HSLFBackground background = sheet.getBackground();
assertNotNull(background);
assertTrue(sheet._getSheetNumber() != 0);
assertTrue(sheet._getSheetRefId() != 0);
- TextRun[] txt = sheet.getTextRuns();
+ HSLFTextParagraph[] txt = sheet.getTextRuns();
if (txt == null) {
throw new AssertionFailedError("no text runs");
}
import junit.framework.TestCase;
-import org.apache.poi.hslf.HSLFSlideShow;
import org.apache.poi.hslf.record.SlideAtom;
-import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
import org.apache.poi.POIDataSamples;
/**
*/
public final class TestSlideChangeNotes extends TestCase {
// SlideShow primed on the test data
- private SlideShow ss;
+ private HSLFSlideShow ss;
public TestSlideChangeNotes() throws Exception {
POIDataSamples _slTests = POIDataSamples.getSlideShowInstance();
- HSLFSlideShow hss = new HSLFSlideShow(_slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
- ss = new SlideShow(hss);
+ HSLFSlideShowImpl hss = new HSLFSlideShowImpl(_slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
+ ss = new HSLFSlideShow(hss);
}
public void testSetToNone() {
- Slide slideOne = ss.getSlides()[0];
+ HSLFSlide slideOne = ss.getSlides()[0];
SlideAtom sa = slideOne.getSlideRecord().getSlideAtom();
slideOne.setNotes(null);
}
public void testSetToSomething() {
- Slide slideOne = ss.getSlides()[0];
- Notes notesOne = ss.getNotes()[1];
+ HSLFSlide slideOne = ss.getSlides()[0];
+ HSLFNotes notesOne = ss.getNotes()[1];
SlideAtom sa = slideOne.getSlideRecord().getSlideAtom();
slideOne.setNotes(notesOne);
import junit.framework.TestCase;
-import org.apache.poi.hslf.HSLFSlideShow;
import org.apache.poi.hslf.model.textproperties.CharFlagsTextProp;
import org.apache.poi.hslf.record.Environment;
import org.apache.poi.hslf.record.TextHeaderAtom;
-import org.apache.poi.hslf.usermodel.RichTextRun;
-import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.hslf.usermodel.HSLFTextRun;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
import org.apache.poi.POIDataSamples;
/**
* Check we can read their attributes.
*/
public void testSlideMaster() throws Exception {
- SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("slide_master.ppt"));
+ HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream("slide_master.ppt"));
Environment env = ppt.getDocumentRecord().getEnvironment();
* Test we can read default text attributes for a title master sheet
*/
public void testTitleMasterTextAttributes() throws Exception {
- SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("slide_master.ppt"));
+ HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream("slide_master.ppt"));
TitleMaster[] master = ppt.getTitleMasters();
assertEquals(1, master.length);
* Slide 3 has title layout and follows the TitleMaster. Verify that.
*/
public void testTitleMaster() throws Exception {
- SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("slide_master.ppt"));
- Slide slide = ppt.getSlides()[2];
- MasterSheet masterSheet = slide.getMasterSheet();
+ HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream("slide_master.ppt"));
+ HSLFSlide slide = ppt.getSlides()[2];
+ HSLFMasterSheet masterSheet = slide.getMasterSheet();
assertTrue(masterSheet instanceof TitleMaster);
- TextRun[] txt = slide.getTextRuns();
+ HSLFTextParagraph[] txt = slide.getTextRuns();
for (int i = 0; i < txt.length; i++) {
- RichTextRun rt = txt[i].getRichTextRuns()[0];
+ HSLFTextRun rt = txt[i].getRichTextRuns()[0];
switch(txt[i].getRunType()){
case TextHeaderAtom.CENTER_TITLE_TYPE:
assertEquals("Arial", rt.getFontName());
* If a style attribute is not set ensure it is read from the master
*/
public void testMasterAttributes() throws Exception {
- SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("slide_master.ppt"));
- Slide[] slide = ppt.getSlides();
+ HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream("slide_master.ppt"));
+ HSLFSlide[] slide = ppt.getSlides();
assertEquals(3, slide.length);
- TextRun[] trun;
+ HSLFTextParagraph[] trun;
trun = slide[0].getTextRuns();
for (int i = 0; i < trun.length; i++) {
if (trun[i].getRunType() == TextHeaderAtom.TITLE_TYPE){
- RichTextRun rt = trun[i].getRichTextRuns()[0];
+ HSLFTextRun rt = trun[i].getRichTextRuns()[0];
assertEquals(40, rt.getFontSize());
assertEquals(true, rt.isUnderlined());
assertEquals("Arial", rt.getFontName());
} else if (trun[i].getRunType() == TextHeaderAtom.BODY_TYPE){
- RichTextRun rt;
+ HSLFTextRun rt;
rt = trun[i].getRichTextRuns()[0];
assertEquals(0, rt.getIndentLevel());
assertEquals(32, rt.getFontSize());
trun = slide[1].getTextRuns();
for (int i = 0; i < trun.length; i++) {
if (trun[i].getRunType() == TextHeaderAtom.TITLE_TYPE){
- RichTextRun rt = trun[i].getRichTextRuns()[0];
+ HSLFTextRun rt = trun[i].getRichTextRuns()[0];
assertEquals(48, rt.getFontSize());
assertEquals(true, rt.isItalic());
assertEquals("Georgia", rt.getFontName());
} else if (trun[i].getRunType() == TextHeaderAtom.BODY_TYPE){
- RichTextRun rt;
+ HSLFTextRun rt;
rt = trun[i].getRichTextRuns()[0];
assertEquals(0, rt.getIndentLevel());
assertEquals(32, rt.getFontSize());
* Check we can dynamically assign a slide master to a slide.
*/
public void testChangeSlideMaster() throws Exception {
- SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("slide_master.ppt"));
+ HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream("slide_master.ppt"));
SlideMaster[] master = ppt.getSlidesMasters();
- Slide[] slide = ppt.getSlides();
+ HSLFSlide[] slide = ppt.getSlides();
int sheetNo;
//each slide uses its own master
ppt.write(out);
out.close();
- ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())));
+ ppt = new HSLFSlideShow(new HSLFSlideShowImpl(new ByteArrayInputStream(out.toByteArray())));
master = ppt.getSlidesMasters();
slide = ppt.getSlides();
for (int i = 0; i < slide.length; i++) {
* (typical for the "bullted body" placeholder)
*/
public void testIndentation() throws Exception {
- SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("slide_master.ppt"));
- Slide slide = ppt.getSlides()[0];
- TextRun[] trun;
+ HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream("slide_master.ppt"));
+ HSLFSlide slide = ppt.getSlides()[0];
+ HSLFTextParagraph[] trun;
trun = slide.getTextRuns();
for (int i = 0; i < trun.length; i++) {
if (trun[i].getRunType() == TextHeaderAtom.TITLE_TYPE){
- RichTextRun rt = trun[i].getRichTextRuns()[0];
+ HSLFTextRun rt = trun[i].getRichTextRuns()[0];
assertEquals(40, rt.getFontSize());
assertEquals(true, rt.isUnderlined());
assertEquals("Arial", rt.getFontName());
} else if (trun[i].getRunType() == TextHeaderAtom.BODY_TYPE){
- RichTextRun[] rt = trun[i].getRichTextRuns();
+ HSLFTextRun[] rt = trun[i].getRichTextRuns();
for (int j = 0; j < rt.length; j++) {
int indent = rt[j].getIndentLevel();
switch (indent){
package org.apache.poi.hslf.model;
import junit.framework.TestCase;
-import org.apache.poi.hslf.HSLFSlideShow;
-import org.apache.poi.hslf.usermodel.SlideShow;
+
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
import org.apache.poi.POIDataSamples;
import java.io.ByteArrayOutputStream;
* @throws Exception
*/
public void testAddSlides1() throws Exception {
- SlideShow ppt = new SlideShow(new HSLFSlideShow( TestSlides.class.getResourceAsStream("/org/apache/poi/hslf/data/empty.ppt") ));
+ HSLFSlideShow ppt = new HSLFSlideShow(new HSLFSlideShowImpl( TestSlides.class.getResourceAsStream("/org/apache/poi/hslf/data/empty.ppt") ));
assertTrue(ppt.getSlides().length == 0);
- Slide s1 = ppt.createSlide();
+ HSLFSlide s1 = ppt.createSlide();
assertTrue(ppt.getSlides().length == 1);
assertEquals(3, s1._getSheetRefId());
assertEquals(256, s1._getSheetNumber());
ppt.write(out);
out.close();
- ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())));
+ ppt = new HSLFSlideShow(new HSLFSlideShowImpl(new ByteArrayInputStream(out.toByteArray())));
assertTrue(ppt.getSlides().length == 1);
}
* @throws Exception
*/
public void testAddSlides2() throws Exception {
- SlideShow ppt = new SlideShow(new HSLFSlideShow( TestSlides.class.getResourceAsStream("/org/apache/poi/hslf/data/empty.ppt") ));
+ HSLFSlideShow ppt = new HSLFSlideShow(new HSLFSlideShowImpl( TestSlides.class.getResourceAsStream("/org/apache/poi/hslf/data/empty.ppt") ));
assertTrue(ppt.getSlides().length == 0);
- Slide s1 = ppt.createSlide();
+ HSLFSlide s1 = ppt.createSlide();
assertTrue(ppt.getSlides().length == 1);
assertEquals(3, s1._getSheetRefId());
assertEquals(256, s1._getSheetNumber());
assertEquals(1, s1.getSlideNumber());
- Slide s2 = ppt.createSlide();
+ HSLFSlide s2 = ppt.createSlide();
assertTrue(ppt.getSlides().length == 2);
assertEquals(4, s2._getSheetRefId());
assertEquals(257, s2._getSheetNumber());
ppt.write(out);
out.close();
- ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())));
+ ppt = new HSLFSlideShow(new HSLFSlideShowImpl(new ByteArrayInputStream(out.toByteArray())));
assertTrue(ppt.getSlides().length == 2);
}
* @throws Exception
*/
public void testAddSlides3() throws Exception {
- SlideShow ppt = new SlideShow(new HSLFSlideShow( TestSlides.class.getResourceAsStream("/org/apache/poi/hslf/data/empty.ppt") ));
+ HSLFSlideShow ppt = new HSLFSlideShow(new HSLFSlideShowImpl( TestSlides.class.getResourceAsStream("/org/apache/poi/hslf/data/empty.ppt") ));
assertTrue(ppt.getSlides().length == 0);
- Slide s1 = ppt.createSlide();
+ HSLFSlide s1 = ppt.createSlide();
assertTrue(ppt.getSlides().length == 1);
assertEquals(3, s1._getSheetRefId());
assertEquals(256, s1._getSheetNumber());
assertEquals(1, s1.getSlideNumber());
- Slide s2 = ppt.createSlide();
+ HSLFSlide s2 = ppt.createSlide();
assertTrue(ppt.getSlides().length == 2);
assertEquals(4, s2._getSheetRefId());
assertEquals(257, s2._getSheetNumber());
assertEquals(2, s2.getSlideNumber());
- Slide s3 = ppt.createSlide();
+ HSLFSlide s3 = ppt.createSlide();
assertTrue(ppt.getSlides().length == 3);
assertEquals(5, s3._getSheetRefId());
assertEquals(258, s3._getSheetNumber());
ppt.write(out);
out.close();
- ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())));
+ ppt = new HSLFSlideShow(new HSLFSlideShowImpl(new ByteArrayInputStream(out.toByteArray())));
assertTrue(ppt.getSlides().length == 3);
// Check IDs are still right
*/
public void testAddSlides2to3() throws Exception {
POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
- SlideShow ppt = new SlideShow(slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
+ HSLFSlideShow ppt = new HSLFSlideShow(slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
assertTrue(ppt.getSlides().length == 2);
// First slide is 256 / 4
- Slide s1 = ppt.getSlides()[0];
+ HSLFSlide s1 = ppt.getSlides()[0];
assertEquals(256, s1._getSheetNumber());
assertEquals(4, s1._getSheetRefId());
// Last slide is 257 / 6
- Slide s2 = ppt.getSlides()[1];
+ HSLFSlide s2 = ppt.getSlides()[1];
assertEquals(257, s2._getSheetNumber());
assertEquals(6, s2._getSheetRefId());
// Add another slide, goes in at the end
- Slide s3 = ppt.createSlide();
+ HSLFSlide s3 = ppt.createSlide();
assertTrue(ppt.getSlides().length == 3);
assertEquals(258, s3._getSheetNumber());
assertEquals(8, s3._getSheetRefId());
ppt.write(out);
out.close();
- ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())));
+ ppt = new HSLFSlideShow(new HSLFSlideShowImpl(new ByteArrayInputStream(out.toByteArray())));
assertTrue(ppt.getSlides().length == 3);
import junit.framework.TestCase;
import org.apache.poi.hslf.record.TextHeaderAtom;
-import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
/**
* Test <code>Table</code> object.
* Test that ShapeFactory works properly and returns <code>Table</code>
*/
public void testShapeFactory() throws Exception {
- SlideShow ppt = new SlideShow();
+ HSLFSlideShow ppt = new HSLFSlideShow();
- Slide slide = ppt.createSlide();
+ HSLFSlide slide = ppt.createSlide();
Table tbl = new Table(2, 5);
slide.addShape(tbl);
TableCell cell = tbl.getCell(0, 0);
//table cells have type=TextHeaderAtom.OTHER_TYPE, see bug #46033
- assertEquals(TextHeaderAtom.OTHER_TYPE, cell.getTextRun().getRunType());
+ assertEquals(TextHeaderAtom.OTHER_TYPE, cell.getTextParagraph().getRunType());
assertTrue(slide.getShapes()[0] instanceof Table);
Table tbl2 = (Table)slide.getShapes()[0];
ppt.write(out);
out.close();
- ppt = new SlideShow(new ByteArrayInputStream(out.toByteArray()));
+ ppt = new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray()));
slide = ppt.getSlides()[0];
assertTrue(slide.getShapes()[0] instanceof Table);
Table tbl3 = (Table)slide.getShapes()[0];
* Error constructing Table when rownum=1
*/
public void test45889(){
- SlideShow ppt = new SlideShow();
- Slide slide = ppt.createSlide();
+ HSLFSlideShow ppt = new HSLFSlideShow();
+ HSLFSlide slide = ppt.createSlide();
HSLFShape[] shapes;
Table tbl1 = new Table(1, 5);
assertEquals(5, tbl1.getNumberOfColumns());
import org.apache.poi.hslf.record.TextBytesAtom;
import org.apache.poi.hslf.record.TextCharsAtom;
import org.apache.poi.hslf.record.TextHeaderAtom;
-import org.apache.poi.hslf.usermodel.RichTextRun;
-import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.hslf.usermodel.HSLFTextRun;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
import org.apache.poi.POIDataSamples;
/**
private static POIDataSamples _slTests = POIDataSamples.getSlideShowInstance();
// SlideShow primed on the test data
- private SlideShow ss;
- private SlideShow ssRich;
+ private HSLFSlideShow ss;
+ private HSLFSlideShow ssRich;
protected void setUp() throws IOException {
// Basic (non rich) test file
- ss = new SlideShow(_slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
+ ss = new HSLFSlideShow(_slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
// Rich test file
- ssRich = new SlideShow(_slTests.openResourceAsStream("Single_Coloured_Page.ppt"));
+ ssRich = new HSLFSlideShow(_slTests.openResourceAsStream("Single_Coloured_Page.ppt"));
}
/**
* Test to ensure that getting the text works correctly
*/
public void testGetText() {
- Slide slideOne = ss.getSlides()[0];
- TextRun[] textRuns = slideOne.getTextRuns();
+ HSLFSlide slideOne = ss.getSlides()[0];
+ HSLFTextParagraph[] textRuns = slideOne.getTextRuns();
assertEquals(2, textRuns.length);
// Now check on a rich text run
- Slide slideOneR = ssRich.getSlides()[0];
- TextRun[] textRunsR = slideOneR.getTextRuns();
+ HSLFSlide slideOneR = ssRich.getSlides()[0];
+ HSLFTextParagraph[] textRunsR = slideOneR.getTextRuns();
assertEquals(2, textRunsR.length);
assertEquals("This is a title, it\u2019s in black", textRunsR[0].getText());
* Test to ensure changing non rich text bytes->bytes works correctly
*/
public void testSetText() {
- Slide slideOne = ss.getSlides()[0];
- TextRun[] textRuns = slideOne.getTextRuns();
- TextRun run = textRuns[0];
+ HSLFSlide slideOne = ss.getSlides()[0];
+ HSLFTextParagraph[] textRuns = slideOne.getTextRuns();
+ HSLFTextParagraph run = textRuns[0];
// Check current text
assertEquals("This is a test title", run.getText());
* chars works correctly
*/
public void testAdvancedSetText() {
- Slide slideOne = ss.getSlides()[0];
- TextRun run = slideOne.getTextRuns()[0];
+ HSLFSlide slideOne = ss.getSlides()[0];
+ HSLFTextParagraph run = slideOne.getTextRuns()[0];
TextHeaderAtom tha = run._headerAtom;
TextBytesAtom tba = run._byteAtom;
* set up for it
*/
public void testGetRichTextNonRich() {
- Slide slideOne = ss.getSlides()[0];
- TextRun[] textRuns = slideOne.getTextRuns();
+ HSLFSlide slideOne = ss.getSlides()[0];
+ HSLFTextParagraph[] textRuns = slideOne.getTextRuns();
assertEquals(2, textRuns.length);
- TextRun trA = textRuns[0];
- TextRun trB = textRuns[1];
+ HSLFTextParagraph trA = textRuns[0];
+ HSLFTextParagraph trB = textRuns[1];
assertEquals(1, trA.getRichTextRuns().length);
assertEquals(1, trB.getRichTextRuns().length);
- RichTextRun rtrA = trA.getRichTextRuns()[0];
- RichTextRun rtrB = trB.getRichTextRuns()[0];
+ HSLFTextRun rtrA = trA.getRichTextRuns()[0];
+ HSLFTextRun rtrB = trB.getRichTextRuns()[0];
assertEquals(trA.getText(), rtrA.getText());
assertEquals(trB.getText(), rtrB.getText());
* Tests to ensure that the rich text runs are built up correctly
*/
public void testGetRichText() {
- Slide slideOne = ssRich.getSlides()[0];
- TextRun[] textRuns = slideOne.getTextRuns();
+ HSLFSlide slideOne = ssRich.getSlides()[0];
+ HSLFTextParagraph[] textRuns = slideOne.getTextRuns();
assertEquals(2, textRuns.length);
- TextRun trA = textRuns[0];
- TextRun trB = textRuns[1];
+ HSLFTextParagraph trA = textRuns[0];
+ HSLFTextParagraph trB = textRuns[1];
assertEquals(1, trA.getRichTextRuns().length);
assertEquals(3, trB.getRichTextRuns().length);
- RichTextRun rtrA = trA.getRichTextRuns()[0];
- RichTextRun rtrB = trB.getRichTextRuns()[0];
- RichTextRun rtrC = trB.getRichTextRuns()[1];
- RichTextRun rtrD = trB.getRichTextRuns()[2];
+ HSLFTextRun rtrA = trA.getRichTextRuns()[0];
+ HSLFTextRun rtrB = trB.getRichTextRuns()[0];
+ HSLFTextRun rtrC = trB.getRichTextRuns()[1];
+ HSLFTextRun rtrD = trB.getRichTextRuns()[2];
assertEquals(trA.getText(), rtrA.getText());
* ensuring that everything stays with the same default styling
*/
public void testSetTextWhereNotRich() {
- Slide slideOne = ss.getSlides()[0];
- TextRun[] textRuns = slideOne.getTextRuns();
- TextRun trB = textRuns[1];
+ HSLFSlide slideOne = ss.getSlides()[0];
+ HSLFTextParagraph[] textRuns = slideOne.getTextRuns();
+ HSLFTextParagraph trB = textRuns[1];
assertEquals(1, trB.getRichTextRuns().length);
- RichTextRun rtrB = trB.getRichTextRuns()[0];
+ HSLFTextRun rtrB = trB.getRichTextRuns()[0];
assertEquals(trB.getText(), rtrB.getText());
assertNull(rtrB._getRawCharacterStyle());
assertNull(rtrB._getRawParagraphStyle());
* sets everything to the same styling
*/
public void testSetTextWhereRich() {
- Slide slideOne = ssRich.getSlides()[0];
- TextRun[] textRuns = slideOne.getTextRuns();
- TextRun trB = textRuns[1];
+ HSLFSlide slideOne = ssRich.getSlides()[0];
+ HSLFTextParagraph[] textRuns = slideOne.getTextRuns();
+ HSLFTextParagraph trB = textRuns[1];
assertEquals(3, trB.getRichTextRuns().length);
- RichTextRun rtrB = trB.getRichTextRuns()[0];
- RichTextRun rtrC = trB.getRichTextRuns()[1];
- RichTextRun rtrD = trB.getRichTextRuns()[2];
+ HSLFTextRun rtrB = trB.getRichTextRuns()[0];
+ HSLFTextRun rtrC = trB.getRichTextRuns()[1];
+ HSLFTextRun rtrD = trB.getRichTextRuns()[2];
TextPropCollection tpBP = rtrB._getRawParagraphStyle();
TextPropCollection tpBC = rtrB._getRawCharacterStyle();
TextPropCollection tpCP = rtrC._getRawParagraphStyle();
* in a rich text run, that doesn't happen to actually be rich
*/
public void testChangeTextInRichTextRunNonRich() {
- Slide slideOne = ss.getSlides()[0];
- TextRun[] textRuns = slideOne.getTextRuns();
- TextRun trB = textRuns[1];
+ HSLFSlide slideOne = ss.getSlides()[0];
+ HSLFTextParagraph[] textRuns = slideOne.getTextRuns();
+ HSLFTextParagraph trB = textRuns[1];
assertEquals(1, trB.getRichTextRuns().length);
- RichTextRun rtrB = trB.getRichTextRuns()[0];
+ HSLFTextRun rtrB = trB.getRichTextRuns()[0];
assertEquals(trB.getText(), rtrB.getText());
assertNull(rtrB._getRawCharacterStyle());
assertNull(rtrB._getRawParagraphStyle());
* correctly
*/
public void testChangeTextInRichTextRun() {
- Slide slideOne = ssRich.getSlides()[0];
- TextRun[] textRuns = slideOne.getTextRuns();
- TextRun trB = textRuns[1];
+ HSLFSlide slideOne = ssRich.getSlides()[0];
+ HSLFTextParagraph[] textRuns = slideOne.getTextRuns();
+ HSLFTextParagraph trB = textRuns[1];
assertEquals(3, trB.getRichTextRuns().length);
// We start with 3 text runs, each with their own set of styles,
// but all sharing the same paragraph styles
- RichTextRun rtrB = trB.getRichTextRuns()[0];
- RichTextRun rtrC = trB.getRichTextRuns()[1];
- RichTextRun rtrD = trB.getRichTextRuns()[2];
+ HSLFTextRun rtrB = trB.getRichTextRuns()[0];
+ HSLFTextRun rtrC = trB.getRichTextRuns()[1];
+ HSLFTextRun rtrD = trB.getRichTextRuns()[2];
TextPropCollection tpBP = rtrB._getRawParagraphStyle();
TextPropCollection tpBC = rtrB._getRawCharacterStyle();
TextPropCollection tpCP = rtrC._getRawParagraphStyle();
*
*/
public void testBug41015() throws IOException {
- RichTextRun[] rt;
+ HSLFTextRun[] rt;
- SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("bug-41015.ppt"));
- Slide sl = ppt.getSlides()[0];
- TextRun[] txt = sl.getTextRuns();
+ HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream("bug-41015.ppt"));
+ HSLFSlide sl = ppt.getSlides()[0];
+ HSLFTextParagraph[] txt = sl.getTextRuns();
assertEquals(2, txt.length);
rt = txt[0].getRichTextRuns();
* Test creation of TextRun objects.
*/
public void testAddTextRun() {
- SlideShow ppt = new SlideShow();
- Slide slide = ppt.createSlide();
+ HSLFSlideShow ppt = new HSLFSlideShow();
+ HSLFSlide slide = ppt.createSlide();
assertNull(slide.getTextRuns());
- TextBox shape1 = new TextBox();
- TextRun run1 = shape1.getTextRun();
+ HSLFTextBox shape1 = new HSLFTextBox();
+ HSLFTextParagraph run1 = shape1.getTextParagraph();
assertSame(run1, shape1.createTextRun());
run1.setText("Text 1");
slide.addShape(shape1);
//The array of Slide's text runs must be updated when new text shapes are added.
- TextRun[] runs = slide.getTextRuns();
+ HSLFTextParagraph[] runs = slide.getTextRuns();
assertNotNull(runs);
assertSame(run1, runs[0]);
- TextBox shape2 = new TextBox();
- TextRun run2 = shape2.getTextRun();
+ HSLFTextBox shape2 = new HSLFTextBox();
+ HSLFTextParagraph run2 = shape2.getTextParagraph();
assertSame(run2, shape2.createTextRun());
run2.setText("Text 2");
slide.addShape(shape2);
//as getShapes()
HSLFShape[] sh = slide.getShapes();
assertEquals(2, sh.length);
- assertTrue(sh[0] instanceof TextBox);
- TextBox box1 = (TextBox)sh[0];
- assertSame(run1, box1.getTextRun());
- TextBox box2 = (TextBox)sh[1];
- assertSame(run2, box2.getTextRun());
+ assertTrue(sh[0] instanceof HSLFTextBox);
+ HSLFTextBox box1 = (HSLFTextBox)sh[0];
+ assertSame(run1, box1.getTextParagraph());
+ HSLFTextBox box2 = (HSLFTextBox)sh[1];
+ assertSame(run2, box2.getTextParagraph());
//test Table - a complex group of shapes containing text objects
- Slide slide2 = ppt.createSlide();
+ HSLFSlide slide2 = ppt.createSlide();
assertNull(slide2.getTextRuns());
Table table = new Table(2, 2);
slide2.addShape(table);
}
public void test48916() throws IOException {
- SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("SampleShow.ppt"));
- for(Slide slide : ppt.getSlides()){
+ HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream("SampleShow.ppt"));
+ for(HSLFSlide slide : ppt.getSlides()){
for(HSLFShape sh : slide.getShapes()){
- if(sh instanceof TextShape){
- TextShape tx = (TextShape)sh;
- TextRun run = tx.getTextRun();
+ if(sh instanceof HSLFTextShape){
+ HSLFTextShape tx = (HSLFTextShape)sh;
+ HSLFTextParagraph run = tx.getTextParagraph();
//verify that records cached in TextRun and EscherTextboxWrapper are the same
Record[] runChildren = run.getRecords();
Record[] txboxChildren = tx.getEscherTextboxWrapper().getChildRecords();
}
ByteArrayOutputStream out = new ByteArrayOutputStream();
ppt.write(out);
- ppt = new SlideShow(new ByteArrayInputStream(out.toByteArray()));
- for(Slide slide : ppt.getSlides()){
+ ppt = new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray()));
+ for(HSLFSlide slide : ppt.getSlides()){
for(HSLFShape sh : slide.getShapes()){
- if(sh instanceof TextShape){
- TextShape tx = (TextShape)sh;
- TextRun run = tx.getTextRun();
- RichTextRun rt = run.getRichTextRuns()[0];
+ if(sh instanceof HSLFTextShape){
+ HSLFTextShape tx = (HSLFTextShape)sh;
+ HSLFTextParagraph run = tx.getTextParagraph();
+ HSLFTextRun rt = run.getRichTextRuns()[0];
assertTrue(rt.isBold());
assertEquals(rt.getFontColor(), Color.RED);
}
}
public void test52244() throws IOException {
- SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("52244.ppt"));
- Slide slide = ppt.getSlides()[0];
- TextRun[] runs = slide.getTextRuns();
+ HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream("52244.ppt"));
+ HSLFSlide slide = ppt.getSlides()[0];
+ HSLFTextParagraph[] runs = slide.getTextRuns();
assertEquals("Arial", runs[0].getRichTextRuns()[0].getFontName());
assertEquals(36, runs[0].getRichTextRuns()[0].getFontSize());
import junit.framework.TestCase;
+
import java.io.*;
-import org.apache.poi.hslf.HSLFSlideShow;
-import org.apache.poi.hslf.usermodel.RichTextRun;
-import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.hslf.usermodel.HSLFTextRun;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
import org.apache.poi.poifs.filesystem.*;
import org.apache.poi.POIDataSamples;
*/
public final class TestTextRunReWrite extends TestCase {
// HSLFSlideShow primed on the test data
- private HSLFSlideShow hss;
+ private HSLFSlideShowImpl hss;
// HSLFSlideShow primed on the test data
- private SlideShow ss;
+ private HSLFSlideShow ss;
// POIFS primed on the test data
private POIFSFileSystem pfs;
POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
String filename = "Single_Coloured_Page_With_Fonts_and_Alignments.ppt";
pfs = new POIFSFileSystem(slTests.openResourceAsStream(filename));
- hss = new HSLFSlideShow(pfs);
- ss = new SlideShow(hss);
+ hss = new HSLFSlideShowImpl(pfs);
+ ss = new HSLFSlideShow(hss);
}
public void testWritesOutTheSameNonRich() throws Exception {
// Grab the first text run on the first sheet
- TextRun tr1 = ss.getSlides()[0].getTextRuns()[0];
- TextRun tr2 = ss.getSlides()[0].getTextRuns()[1];
+ HSLFTextParagraph tr1 = ss.getSlides()[0].getTextRuns()[0];
+ HSLFTextParagraph tr2 = ss.getSlides()[0].getTextRuns()[1];
// Ensure the text lengths are as we'd expect to start with
assertEquals(1, ss.getSlides().length);
public void testWritesOutTheSameRich() throws Exception {
// Grab the first text run on the first sheet
- TextRun tr1 = ss.getSlides()[0].getTextRuns()[0];
+ HSLFTextParagraph tr1 = ss.getSlides()[0].getTextRuns()[0];
// Get the first rich text run
- RichTextRun rtr1 = tr1.getRichTextRuns()[0];
+ HSLFTextRun rtr1 = tr1.getRichTextRuns()[0];
// Check that the text sizes are as expected
import org.apache.poi.POIDataSamples;
import org.apache.poi.hslf.record.TextHeaderAtom;
-import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
import org.apache.poi.sl.usermodel.ShapeType;
import org.junit.Test;
@Test
public void createAutoShape(){
- TextShape shape = new AutoShape(ShapeType.TRAPEZOID);
- assertNull(shape.getTextRun());
+ HSLFTextShape shape = new HSLFAutoShape(ShapeType.TRAPEZOID);
+ assertNull(shape.getTextParagraph());
assertNull(shape.getText());
assertNull(shape.getEscherTextboxWrapper());
- TextRun run = shape.createTextRun();
+ HSLFTextParagraph run = shape.createTextRun();
assertNotNull(run);
- assertNotNull(shape.getTextRun());
+ assertNotNull(shape.getTextParagraph());
assertNotNull(shape.getEscherTextboxWrapper());
assertEquals("", shape.getText());
assertSame(run, shape.createTextRun());
@Test
public void createTextBox(){
- TextShape shape = new TextBox();
- TextRun run = shape.getTextRun();
+ HSLFTextShape shape = new HSLFTextBox();
+ HSLFTextParagraph run = shape.getTextParagraph();
assertNotNull(run);
assertNotNull(shape.getText());
assertNotNull(shape.getEscherTextboxWrapper());
assertSame(run, shape.createTextRun());
- assertNotNull(shape.getTextRun());
+ assertNotNull(shape.getTextParagraph());
assertNotNull(shape.getEscherTextboxWrapper());
assertEquals("", shape.getText());
*/
@Test
public void read() throws IOException {
- SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("text_shapes.ppt"));
+ HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream("text_shapes.ppt"));
List<String> lst1 = new ArrayList<String>();
- Slide slide = ppt.getSlides()[0];
+ HSLFSlide slide = ppt.getSlides()[0];
HSLFShape[] shape = slide.getShapes();
for (int i = 0; i < shape.length; i++) {
- assertTrue("Expected TextShape but found " + shape[i].getClass().getName(), shape[i] instanceof TextShape);
- TextShape tx = (TextShape)shape[i];
- TextRun run = tx.getTextRun();
+ assertTrue("Expected TextShape but found " + shape[i].getClass().getName(), shape[i] instanceof HSLFTextShape);
+ HSLFTextShape tx = (HSLFTextShape)shape[i];
+ HSLFTextParagraph run = tx.getTextParagraph();
assertNotNull(run);
int runType = run.getRunType();
}
List<String> lst2 = new ArrayList<String>();
- TextRun[] run = slide.getTextRuns();
+ HSLFTextParagraph[] run = slide.getTextRuns();
for (int i = 0; i < run.length; i++) {
lst2.add(run[i].getText());
}
@Test
public void readWrite() throws IOException {
- SlideShow ppt = new SlideShow();
- Slide slide = ppt.createSlide();
+ HSLFSlideShow ppt = new HSLFSlideShow();
+ HSLFSlide slide = ppt.createSlide();
- TextShape shape1 = new TextBox();
- TextRun run1 = shape1.createTextRun();
+ HSLFTextShape shape1 = new HSLFTextBox();
+ HSLFTextParagraph run1 = shape1.createTextRun();
run1.setText("Hello, World!");
slide.addShape(shape1);
shape1.moveTo(100, 100);
- TextShape shape2 = new AutoShape(ShapeType.RIGHT_ARROW);
- TextRun run2 = shape2.createTextRun();
+ HSLFTextShape shape2 = new HSLFAutoShape(ShapeType.RIGHT_ARROW);
+ HSLFTextParagraph run2 = shape2.createTextRun();
run2.setText("Testing TextShape");
slide.addShape(shape2);
shape2.moveTo(300, 300);
ppt.write(out);
out.close();
- ppt = new SlideShow(new ByteArrayInputStream(out.toByteArray()));
+ ppt = new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray()));
slide = ppt.getSlides()[0];
HSLFShape[] shape = slide.getShapes();
- assertTrue(shape[0] instanceof TextShape);
- shape1 = (TextShape)shape[0];
+ assertTrue(shape[0] instanceof HSLFTextShape);
+ shape1 = (HSLFTextShape)shape[0];
assertEquals(ShapeType.TEXT_BOX, shape1.getShapeType());
- assertEquals("Hello, World!", shape1.getTextRun().getText());
+ assertEquals("Hello, World!", shape1.getTextParagraph().getText());
- assertTrue(shape[1] instanceof TextShape);
- shape1 = (TextShape)shape[1];
+ assertTrue(shape[1] instanceof HSLFTextShape);
+ shape1 = (HSLFTextShape)shape[1];
assertEquals(ShapeType.RIGHT_ARROW, shape1.getShapeType());
- assertEquals("Testing TextShape", shape1.getTextRun().getText());
+ assertEquals("Testing TextShape", shape1.getTextParagraph().getText());
}
@Test
public void margins() throws IOException {
- SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("text-margins.ppt"));
+ HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream("text-margins.ppt"));
- Slide slide = ppt.getSlides()[0];
+ HSLFSlide slide = ppt.getSlides()[0];
- Map<String,TextShape> map = new HashMap<String,TextShape>();
+ Map<String,HSLFTextShape> map = new HashMap<String,HSLFTextShape>();
HSLFShape[] shape = slide.getShapes();
for (int i = 0; i < shape.length; i++) {
- if(shape[i] instanceof TextShape){
- TextShape tx = (TextShape)shape[i];
+ if(shape[i] instanceof HSLFTextShape){
+ HSLFTextShape tx = (HSLFTextShape)shape[i];
map.put(tx.getText(), tx);
}
}
- TextShape tx;
+ HSLFTextShape tx;
tx = map.get("TEST1");
assertEquals(0.1, tx.getMarginLeft()*HSLFShape.EMU_PER_POINT/HSLFShape.EMU_PER_INCH, 0.01);
@Test
public void bug52599() throws IOException {
- SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("52599.ppt"));
+ HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream("52599.ppt"));
- Slide slide = ppt.getSlides()[0];
+ HSLFSlide slide = ppt.getSlides()[0];
HSLFShape[] sh = slide.getShapes();
assertEquals(3, sh.length);
- TextShape sh0 = (TextShape)sh[0];
+ HSLFTextShape sh0 = (HSLFTextShape)sh[0];
assertEquals(null, sh0.getText());
- assertEquals(null, sh0.getTextRun());
+ assertEquals(null, sh0.getTextParagraph());
- TextShape sh1 = (TextShape)sh[1];
+ HSLFTextShape sh1 = (HSLFTextShape)sh[1];
assertEquals(null, sh1.getText());
- assertEquals(null, sh1.getTextRun());
+ assertEquals(null, sh1.getTextParagraph());
- TextShape sh2 = (TextShape)sh[2];
+ HSLFTextShape sh2 = (HSLFTextShape)sh[2];
assertEquals("this box should be shown just once", sh2.getText());
- assertEquals(-1, sh2.getTextRun().getIndex());
+ assertEquals(-1, sh2.getTextParagraph().getIndex());
}
}
import org.apache.poi.hslf.record.StyleTextPropAtom;
import org.apache.poi.hslf.record.TextCharsAtom;
import org.apache.poi.hslf.record.TextHeaderAtom;
-import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
import org.apache.poi.hssf.usermodel.DummyGraphics2d;
import org.junit.Test;
public class TextPainterTest {
@Test
public void testTextPainter() {
- TextShape shape = new Polygon();
+ HSLFTextShape shape = new Polygon();
TextPainter painter = new TextPainter(shape);
- painter.getAttributedString(new TextRun(null, new TextCharsAtom(), null));
+ painter.getAttributedString(new HSLFTextParagraph(null, new TextCharsAtom(), null));
painter.paint(new DummyGraphics2d());
painter.getTextElements((float)1.0, null);
}
@Test
public void testTextPainterWithText() {
- TextShape shape = new Polygon();
+ HSLFTextShape shape = new Polygon();
TextPainter painter = new TextPainter(shape);
TextCharsAtom tca = new TextCharsAtom();
tca.setText("some text to read");
- TextRun txrun = new TextRun(new TextHeaderAtom(), tca, new StyleTextPropAtom(10));
- Slide sheet = new Slide(1, 1, 1);
- sheet.setSlideShow(new SlideShow());
+ HSLFTextParagraph txrun = new HSLFTextParagraph(new TextHeaderAtom(), tca, new StyleTextPropAtom(10));
+ HSLFSlide sheet = new HSLFSlide(1, 1, 1);
+ sheet.setSlideShow(new HSLFSlideShow());
txrun.setSheet(sheet);
painter.getAttributedString(txrun, new DummyGraphics2d());
import java.io.InputStream;
import org.apache.poi.POIDataSamples;
-import org.apache.poi.hslf.HSLFSlideShow;
import org.apache.poi.hslf.exceptions.EncryptedPowerPointFileException;
+import org.apache.poi.hslf.model.HSLFSlideShowImpl;
import org.apache.poi.poifs.filesystem.DocumentEntry;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.junit.Test;
new CurrentUserAtom(fs);
assertTrue(true); // not yet failed
- new HSLFSlideShow(fs);
+ new HSLFSlideShowImpl(fs);
}
@Test
import junit.framework.TestCase;
-import org.apache.poi.hslf.HSLFSlideShow;
+import org.apache.poi.hslf.model.HSLFSlideShowImpl;
import org.apache.poi.poifs.filesystem.*;
import org.apache.poi.POIDataSamples;
*/
public final class TestDocument extends TestCase {
// HSLFSlideShow primed on the test data
- private HSLFSlideShow ss;
+ private HSLFSlideShowImpl ss;
// POIFS primed on the test data
private POIFSFileSystem pfs;
public TestDocument() throws Exception {
POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
pfs = new POIFSFileSystem(slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
- ss = new HSLFSlideShow(pfs);
+ ss = new HSLFSlideShowImpl(pfs);
}
private Document getDocRecord() {
import org.apache.poi.hpsf.PropertySet;\r
import org.apache.poi.hpsf.PropertySetFactory;\r
import org.apache.poi.hpsf.SummaryInformation;\r
-import org.apache.poi.hslf.HSLFSlideShow;\r
import org.apache.poi.hslf.exceptions.EncryptedPowerPointFileException;\r
-import org.apache.poi.hslf.model.Slide;\r
-import org.apache.poi.hslf.usermodel.PictureData;\r
-import org.apache.poi.hslf.usermodel.SlideShow;\r
+import org.apache.poi.hslf.model.HSLFSlide;\r
+import org.apache.poi.hslf.model.HSLFSlideShowImpl;\r
+import org.apache.poi.hslf.usermodel.HSLFPictureData;\r
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;\r
import org.apache.poi.hssf.record.crypto.Biff8EncryptionKey;\r
import org.apache.poi.poifs.crypt.CryptoFunctions;\r
import org.apache.poi.poifs.crypt.EncryptionInfo;\r
for (String pptFile : encPpts) {\r
try {\r
NPOIFSFileSystem fs = new NPOIFSFileSystem(slTests.getFile(pptFile), true);\r
- HSLFSlideShow hss = new HSLFSlideShow(fs);\r
- new SlideShow(hss);\r
+ HSLFSlideShowImpl hss = new HSLFSlideShowImpl(fs);\r
+ new HSLFSlideShow(hss);\r
fs.close();\r
} catch (EncryptedPowerPointFileException e) {\r
fail(pptFile+" can't be decrypted");\r
String pptFile = "cryptoapi-proc2356.ppt";\r
Biff8EncryptionKey.setCurrentUserPassword("crypto");\r
NPOIFSFileSystem fs = new NPOIFSFileSystem(slTests.getFile(pptFile), true);\r
- HSLFSlideShow hss = new HSLFSlideShow(fs);\r
+ HSLFSlideShowImpl hss = new HSLFSlideShowImpl(fs);\r
// need to cache data (i.e. read all data) before changing the key size\r
- PictureData picsExpected[] = hss.getPictures();\r
+ HSLFPictureData picsExpected[] = hss.getPictures();\r
hss.getDocumentSummaryInformation();\r
EncryptionInfo ei = hss.getDocumentEncryptionAtom().getEncryptionInfo();\r
((CryptoAPIEncryptionHeader)ei.getHeader()).setKeySize(0x78);\r
fs.close();\r
\r
fs = new NPOIFSFileSystem(new ByteArrayInputStream(bos.toByteArray()));\r
- hss = new HSLFSlideShow(fs);\r
- PictureData picsActual[] = hss.getPictures();\r
+ hss = new HSLFSlideShowImpl(fs);\r
+ HSLFPictureData picsActual[] = hss.getPictures();\r
fs.close();\r
\r
assertEquals(picsExpected.length, picsActual.length);\r
/* documents with multiple edits need to be normalized for encryption */\r
String pptFile = "57272_corrupted_usereditatom.ppt";\r
NPOIFSFileSystem fs = new NPOIFSFileSystem(slTests.getFile(pptFile), true);\r
- HSLFSlideShow hss = new HSLFSlideShow(fs);\r
+ HSLFSlideShowImpl hss = new HSLFSlideShowImpl(fs);\r
hss.normalizeRecords();\r
\r
// normalized ppt\r
// decrypted\r
ByteArrayInputStream bis = new ByteArrayInputStream(encrypted.toByteArray());\r
fs = new NPOIFSFileSystem(bis);\r
- hss = new HSLFSlideShow(fs);\r
+ hss = new HSLFSlideShowImpl(fs);\r
Biff8EncryptionKey.setCurrentUserPassword(null);\r
ByteArrayOutputStream actual = new ByteArrayOutputStream();\r
hss.write(actual);\r
// http://blogs.msdn.com/b/openspecification/archive/2009/05/08/dominic-salemno.aspx\r
Biff8EncryptionKey.setCurrentUserPassword("crypto");\r
NPOIFSFileSystem fs = new NPOIFSFileSystem(slTests.getFile("cryptoapi-proc2356.ppt"));\r
- HSLFSlideShow hss = new HSLFSlideShow(fs);\r
- SlideShow ss = new SlideShow(hss);\r
+ HSLFSlideShowImpl hss = new HSLFSlideShowImpl(fs);\r
+ HSLFSlideShow ss = new HSLFSlideShow(hss);\r
\r
- Slide slide = ss.getSlides()[0];\r
+ HSLFSlide slide = ss.getSlides()[0];\r
assertEquals("Dominic Salemno", slide.getTextRuns()[0].getText());\r
\r
String picCmp[][] = {\r
};\r
\r
MessageDigest md = CryptoFunctions.getMessageDigest(HashAlgorithm.sha1);\r
- PictureData pd[] = hss.getPictures();\r
+ HSLFPictureData pd[] = hss.getPictures();\r
int i = 0;\r
- for (PictureData p : pd) {\r
+ for (HSLFPictureData p : pd) {\r
byte hash[] = md.digest(p.getData());\r
assertEquals(Integer.parseInt(picCmp[i][0]), p.getOffset());\r
assertEquals(picCmp[i][1], Base64.encodeBase64String(hash));\r
import junit.framework.AssertionFailedError;
import junit.framework.TestCase;
-import org.apache.poi.hslf.HSLFSlideShow;
-import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.hslf.model.HSLFSlideShowImpl;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
import org.apache.poi.POIDataSamples;
/**
public void testRealFile() throws Exception {
POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
- HSLFSlideShow hss = new HSLFSlideShow(slTests.openResourceAsStream("WithLinks.ppt"));
- SlideShow ss = new SlideShow(hss);
+ HSLFSlideShowImpl hss = new HSLFSlideShowImpl(slTests.openResourceAsStream("WithLinks.ppt"));
+ HSLFSlideShow ss = new HSLFSlideShow(hss);
// Get the document
Document doc = ss.getDocumentRecord();
import junit.framework.TestCase;
-import org.apache.poi.hslf.HSLFSlideShow;
-import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.hslf.model.HSLFSlideShowImpl;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
import org.apache.poi.POIDataSamples;
/**
public class TestExObjList extends TestCase {
public void testRealFile() throws Exception {
POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
- HSLFSlideShow hss = new HSLFSlideShow(slTests.openResourceAsStream("WithLinks.ppt"));
- SlideShow ss = new SlideShow(hss);
+ HSLFSlideShowImpl hss = new HSLFSlideShowImpl(slTests.openResourceAsStream("WithLinks.ppt"));
+ HSLFSlideShow ss = new HSLFSlideShow(hss);
// Get the document
Document doc = ss.getDocumentRecord();
import junit.framework.TestCase;
-import org.apache.poi.hslf.HSLFSlideShow;
+import org.apache.poi.hslf.model.HSLFSlideShowImpl;
import org.apache.poi.POIDataSamples;
/**
// Find a real RecordContainer record
POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
- HSLFSlideShow hss = new HSLFSlideShow(slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
+ HSLFSlideShowImpl hss = new HSLFSlideShowImpl(slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
Record[] r = hss.getRecords();
for(int i=0; i<r.length; i++) {
import junit.framework.TestCase;
import org.apache.poi.hslf.record.SlideAtom.SSlideLayoutAtom;
-import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
/**
* Tests that SlideAtom works properly
}
public void testSSSlideInfoAtom() throws Exception {
- SlideShow ss = new SlideShow();
- org.apache.poi.hslf.model.Slide slide1 = ss.createSlide(), slide2 = ss.createSlide();
+ HSLFSlideShow ss = new HSLFSlideShow();
+ org.apache.poi.hslf.model.HSLFSlide slide1 = ss.createSlide(), slide2 = ss.createSlide();
slide2.setHidden(true);
ByteArrayOutputStream bos = new ByteArrayOutputStream(4096);
ss.write(bos);
ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
- ss = new SlideShow(bis);
+ ss = new HSLFSlideShow(bis);
slide1 = ss.getSlides()[0];
slide2 = ss.getSlides()[1];
assertFalse(slide1.getHidden());
import junit.framework.TestCase;
import org.apache.poi.POIDataSamples;
-import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
/**
* Tests Sound-related records: SoundCollection(2020), Sound(2022) and
public void testRealFile() throws Exception {
POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
- SlideShow ppt = new SlideShow(slTests.openResourceAsStream("sound.ppt"));
+ HSLFSlideShow ppt = new HSLFSlideShow(slTests.openResourceAsStream("sound.ppt"));
// Get the document
Document doc = ppt.getDocumentRecord();
import org.apache.poi.hslf.model.textproperties.TextProp;
import org.apache.poi.hslf.model.textproperties.TextPropCollection;
-import org.apache.poi.hslf.usermodel.SlideShow;
+import org.apache.poi.hslf.usermodel.HSLFSlideShow;
/**
* @author Yegor Kozlov
*/
public final class TestTxMasterStyleAtom extends TestCase {
- protected SlideShow _ppt;
+ protected HSLFSlideShow _ppt;
public void setUp() {
- _ppt = new SlideShow();
+ _ppt = new HSLFSlideShow();
}
public void testDefaultStyles() {
import java.io.ByteArrayOutputStream;
import junit.framework.TestCase;
+
import org.apache.poi.hslf.*;
import org.apache.poi.hslf.record.Record;
import org.apache.poi.hslf.record.RecordTypes;
*/
public final class TestAddingSlides extends TestCase {
// An empty SlideShow
- private HSLFSlideShow hss_empty;
- private SlideShow ss_empty;
+ private HSLFSlideShowImpl hss_empty;
+ private HSLFSlideShow ss_empty;
// A SlideShow with one slide
- private HSLFSlideShow hss_one;
- private SlideShow ss_one;
+ private HSLFSlideShowImpl hss_one;
+ private HSLFSlideShow ss_one;
// A SlideShow with two slides
- private HSLFSlideShow hss_two;
- private SlideShow ss_two;
+ private HSLFSlideShowImpl hss_two;
+ private HSLFSlideShow ss_two;
/**
* Create/open the slideshows
*/
public void setUp() throws Exception {
- hss_empty = HSLFSlideShow.create();
- ss_empty = new SlideShow(hss_empty);
+ hss_empty = HSLFSlideShowImpl.create();
+ ss_empty = new HSLFSlideShow(hss_empty);
POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
- hss_one = new HSLFSlideShow(slTests.openResourceAsStream("Single_Coloured_Page.ppt"));
- ss_one = new SlideShow(hss_one);
+ hss_one = new HSLFSlideShowImpl(slTests.openResourceAsStream("Single_Coloured_Page.ppt"));
+ ss_one = new HSLFSlideShow(hss_one);
- hss_two = new HSLFSlideShow(slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
- ss_two = new SlideShow(hss_two);
+ hss_two = new HSLFSlideShowImpl(slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
+ ss_two = new HSLFSlideShow(hss_two);
}
/**
assertNotNull(usredit);
// Add one
- Slide slide = ss_empty.createSlide();
+ HSLFSlide slide = ss_empty.createSlide();
assertEquals(1, ss_empty.getSlides().length);
assertEquals(256, slide._getSheetNumber());
assertEquals(3, slide._getSheetRefId());
hss_empty.write(baos);
ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
- HSLFSlideShow hss_read = new HSLFSlideShow(bais);
- SlideShow ss_read = new SlideShow(hss_read);
+ HSLFSlideShowImpl hss_read = new HSLFSlideShowImpl(bais);
+ HSLFSlideShow ss_read = new HSLFSlideShow(hss_read);
// Check it now has a slide
assertEquals(1, ss_read.getSlides().length);
public void testAddSlideToExisting() throws Exception {
// Has one slide
assertEquals(1, ss_one.getSlides().length);
- Slide s1 = ss_one.getSlides()[0];
+ HSLFSlide s1 = ss_one.getSlides()[0];
// Should have two SLTWs
assertEquals(2, ss_one.getDocumentRecord().getSlideListWithTexts().length);
assertEquals(1, s1.getSlideNumber());
// Add a second one
- Slide s2 = ss_one.createSlide();
+ HSLFSlide s2 = ss_one.createSlide();
assertEquals(2, ss_one.getSlides().length);
assertEquals(257, s2._getSheetNumber());
assertEquals(4, s2._getSheetRefId());
hss_one.write(baos);
ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
- HSLFSlideShow hss_read = new HSLFSlideShow(bais);
- SlideShow ss_read = new SlideShow(hss_read);
+ HSLFSlideShowImpl hss_read = new HSLFSlideShowImpl(bais);
+ HSLFSlideShow ss_read = new HSLFSlideShow(hss_read);
// Check it now has two slides
assertEquals(2, ss_read.getSlides().length);
// Has two slides
assertEquals(2, ss_two.getSlides().length);
- Slide s1 = ss_two.getSlides()[0];
- Slide s2 = ss_two.getSlides()[1];
+ HSLFSlide s1 = ss_two.getSlides()[0];
+ HSLFSlide s2 = ss_two.getSlides()[1];
// Check slide 1 is as expected
assertEquals(256, s1._getSheetNumber());
assertEquals(2, s2.getSlideNumber());
// Add a third one
- Slide s3 = ss_two.createSlide();
+ HSLFSlide s3 = ss_two.createSlide();
assertEquals(3, ss_two.getSlides().length);
assertEquals(258, s3._getSheetNumber());
assertEquals(8, s3._getSheetRefId()); // lots of notes before us
hss_two.write(baos);
ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
- HSLFSlideShow hss_read = new HSLFSlideShow(bais);
- SlideShow ss_read = new SlideShow(hss_read);
+ HSLFSlideShowImpl hss_read = new HSLFSlideShowImpl(bais);
+ HSLFSlideShow ss_read = new HSLFSlideShow(hss_read);
// Check it now has three slides
assertEquals(3, ss_read.getSlides().length);
* Test SlideShow#removeSlide
*/
public void testRemoving() throws Exception {
- SlideShow ppt = new SlideShow();
- Slide slide1 = ppt.createSlide();
- Slide slide2 = ppt.createSlide();
+ HSLFSlideShow ppt = new HSLFSlideShow();
+ HSLFSlide slide1 = ppt.createSlide();
+ HSLFSlide slide2 = ppt.createSlide();
- Slide[] s1 = ppt.getSlides();
+ HSLFSlide[] s1 = ppt.getSlides();
assertEquals(2, s1.length);
try {
ppt.removeSlide(-1);
assertEquals(1, slide1.getSlideNumber());
- Slide removedSlide = ppt.removeSlide(0);
- Slide[] s2 = ppt.getSlides();
+ HSLFSlide removedSlide = ppt.removeSlide(0);
+ HSLFSlide[] s2 = ppt.getSlides();
assertEquals(1, s2.length);
assertSame(slide1, removedSlide);
assertSame(slide2, s2[0]);
ByteArrayOutputStream out = new ByteArrayOutputStream();
ppt.write(out);
- ppt = new SlideShow(new ByteArrayInputStream(out.toByteArray()));
+ ppt = new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray()));
- Slide[] s3 = ppt.getSlides();
+ HSLFSlide[] s3 = ppt.getSlides();
assertEquals(1, s3.length);
}
public void test47261() throws Exception {
POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
- SlideShow ppt = new SlideShow(slTests.openResourceAsStream("47261.ppt"));
- Slide[] slides = ppt.getSlides();
+ HSLFSlideShow ppt = new HSLFSlideShow(slTests.openResourceAsStream("47261.ppt"));
+ HSLFSlide[] slides = ppt.getSlides();
Document doc = ppt.getDocumentRecord();
assertNotNull(doc.getSlideSlideListWithText());
assertEquals(14, ppt.getSlides().length);
import org.apache.poi.ddf.EscherColorRef;
import org.apache.poi.ddf.EscherOptRecord;
import org.apache.poi.ddf.EscherProperties;
-import org.apache.poi.hslf.HSLFSlideShow;
import org.apache.poi.hslf.HSLFTestDataSamples;
import org.apache.poi.hslf.exceptions.OldPowerPointFormatException;
-import org.apache.poi.hslf.model.AutoShape;
-import org.apache.poi.hslf.model.Background;
-import org.apache.poi.hslf.model.Fill;
-import org.apache.poi.hslf.model.HeadersFooters;
-import org.apache.poi.hslf.model.MasterSheet;
-import org.apache.poi.hslf.model.Notes;
-import org.apache.poi.hslf.model.Picture;
-import org.apache.poi.hslf.model.HSLFShape;
-import org.apache.poi.hslf.model.HSLFGroupShape;
-import org.apache.poi.hslf.model.Slide;
-import org.apache.poi.hslf.model.SlideMaster;
-import org.apache.poi.hslf.model.TextBox;
-import org.apache.poi.hslf.model.TextRun;
-import org.apache.poi.hslf.model.TextShape;
-import org.apache.poi.hslf.model.TitleMaster;
+import org.apache.poi.hslf.model.*;
import org.apache.poi.hslf.record.Document;
import org.apache.poi.hslf.record.Record;
import org.apache.poi.hslf.record.SlideListWithText;
*/
@Test
public void bug41384() throws Exception {
- HSLFSlideShow hslf = new HSLFSlideShow(_slTests.openResourceAsStream("41384.ppt"));
+ HSLFSlideShowImpl hslf = new HSLFSlideShowImpl(_slTests.openResourceAsStream("41384.ppt"));
- SlideShow ppt = new SlideShow(hslf);
+ HSLFSlideShow ppt = new HSLFSlideShow(hslf);
assertTrue("No Exceptions while reading file", true);
assertEquals(1, ppt.getSlides().length);
- PictureData[] pict = ppt.getPictureData();
+ HSLFPictureData[] pict = ppt.getPictureData();
assertEquals(2, pict.length);
- assertEquals(Picture.JPEG, pict[0].getType());
- assertEquals(Picture.JPEG, pict[1].getType());
+ assertEquals(HSLFPictureShape.JPEG, pict[0].getType());
+ assertEquals(HSLFPictureShape.JPEG, pict[1].getType());
}
/**
*/
@Test
public void bug42474_1() throws Exception {
- HSLFSlideShow hslf = new HSLFSlideShow(_slTests.openResourceAsStream("42474-1.ppt"));
+ HSLFSlideShowImpl hslf = new HSLFSlideShowImpl(_slTests.openResourceAsStream("42474-1.ppt"));
- SlideShow ppt = new SlideShow(hslf);
+ HSLFSlideShow ppt = new HSLFSlideShow(hslf);
assertTrue("No Exceptions while reading file", true);
assertEquals(2, ppt.getSlides().length);
- TextRun txrun;
- Notes notes;
+ HSLFTextParagraph txrun;
+ HSLFNotes notes;
notes = ppt.getSlides()[0].getNotesSheet();
assertNotNull(notes);
*/
@Test
public void bug42474_2() throws Exception {
- HSLFSlideShow hslf = new HSLFSlideShow(_slTests.openResourceAsStream("42474-2.ppt"));
+ HSLFSlideShowImpl hslf = new HSLFSlideShowImpl(_slTests.openResourceAsStream("42474-2.ppt"));
- SlideShow ppt = new SlideShow(hslf);
+ HSLFSlideShow ppt = new HSLFSlideShow(hslf);
//map slide number and starting phrase of its notes
Map<Integer, String> notesMap = new HashMap<Integer, String>();
notesMap.put(Integer.valueOf(7), "Although multiply and square root are easier");
notesMap.put(Integer.valueOf(8), "The bus Z is split into Z_H and Z_L");
- Slide[] slide = ppt.getSlides();
+ HSLFSlide[] slide = ppt.getSlides();
for (int i = 0; i < slide.length; i++) {
Integer slideNumber = Integer.valueOf(slide[i].getSlideNumber());
- Notes notes = slide[i].getNotesSheet();
+ HSLFNotes notes = slide[i].getNotesSheet();
if (notesMap.containsKey(slideNumber)){
assertNotNull(notes);
String text = notes.getTextRuns()[0].getRawText();
*/
@Test
public void bug42485 () throws Exception {
- HSLFSlideShow hslf = new HSLFSlideShow(_slTests.openResourceAsStream("42485.ppt"));
+ HSLFSlideShowImpl hslf = new HSLFSlideShowImpl(_slTests.openResourceAsStream("42485.ppt"));
- SlideShow ppt = new SlideShow(hslf);
+ HSLFSlideShow ppt = new HSLFSlideShow(hslf);
HSLFShape[] shape = ppt.getSlides()[0].getShapes();
for (int i = 0; i < shape.length; i++) {
if(shape[i] instanceof HSLFGroupShape){
HSLFGroupShape group = (HSLFGroupShape)shape[i];
HSLFShape[] sh = group.getShapes();
for (int j = 0; j < sh.length; j++) {
- if( sh[j] instanceof TextBox){
- TextBox txt = (TextBox)sh[j];
- assertNotNull(txt.getTextRun());
+ if( sh[j] instanceof HSLFTextBox){
+ HSLFTextBox txt = (HSLFTextBox)sh[j];
+ assertNotNull(txt.getTextParagraph());
}
}
}
*/
@Test
public void bug42484 () throws Exception {
- HSLFSlideShow hslf = new HSLFSlideShow(_slTests.openResourceAsStream("42485.ppt"));
+ HSLFSlideShowImpl hslf = new HSLFSlideShowImpl(_slTests.openResourceAsStream("42485.ppt"));
- SlideShow ppt = new SlideShow(hslf);
+ HSLFSlideShow ppt = new HSLFSlideShow(hslf);
HSLFShape[] shape = ppt.getSlides()[0].getShapes();
for (int i = 0; i < shape.length; i++) {
if(shape[i] instanceof HSLFGroupShape){
*/
@Test
public void bug41381() throws Exception {
- HSLFSlideShow hslf = new HSLFSlideShow(_slTests.openResourceAsStream("alterman_security.ppt"));
+ HSLFSlideShowImpl hslf = new HSLFSlideShowImpl(_slTests.openResourceAsStream("alterman_security.ppt"));
- SlideShow ppt = new SlideShow(hslf);
+ HSLFSlideShow ppt = new HSLFSlideShow(hslf);
assertTrue("No Exceptions while reading file", true);
assertEquals(1, ppt.getSlidesMasters().length);
assertEquals(1, ppt.getTitleMasters().length);
- Slide[] slide = ppt.getSlides();
+ HSLFSlide[] slide = ppt.getSlides();
for (int i = 0; i < slide.length; i++) {
- MasterSheet master = slide[i].getMasterSheet();
+ HSLFMasterSheet master = slide[i].getMasterSheet();
if (i == 0) assertTrue(master instanceof TitleMaster); //the first slide follows TitleMaster
else assertTrue(master instanceof SlideMaster);
}
*/
@Test
public void bug42486 () throws Exception {
- HSLFSlideShow hslf = new HSLFSlideShow(_slTests.openResourceAsStream("42486.ppt"));
+ HSLFSlideShowImpl hslf = new HSLFSlideShowImpl(_slTests.openResourceAsStream("42486.ppt"));
- SlideShow ppt = new SlideShow(hslf);
- Slide[] slide = ppt.getSlides();
+ HSLFSlideShow ppt = new HSLFSlideShow(hslf);
+ HSLFSlide[] slide = ppt.getSlides();
for (int i = 0; i < slide.length; i++) {
@SuppressWarnings("unused")
HSLFShape[] shape = slide[i].getShapes();
*/
@Test
public void bug42524 () throws Exception {
- HSLFSlideShow hslf = new HSLFSlideShow(_slTests.openResourceAsStream("42486.ppt"));
+ HSLFSlideShowImpl hslf = new HSLFSlideShowImpl(_slTests.openResourceAsStream("42486.ppt"));
- SlideShow ppt = new SlideShow(hslf);
+ HSLFSlideShow ppt = new HSLFSlideShow(hslf);
//walk down the tree and see if there were no errors while reading
- Slide[] slide = ppt.getSlides();
+ HSLFSlide[] slide = ppt.getSlides();
for (int i = 0; i < slide.length; i++) {
HSLFShape[] shape = slide[i].getShapes();
for (int j = 0; j < shape.length; j++) {
*/
@Test
public void bug42520 () throws Exception {
- HSLFSlideShow hslf = new HSLFSlideShow(_slTests.openResourceAsStream("42520.ppt"));
+ HSLFSlideShowImpl hslf = new HSLFSlideShowImpl(_slTests.openResourceAsStream("42520.ppt"));
- SlideShow ppt = new SlideShow(hslf);
+ HSLFSlideShow ppt = new HSLFSlideShow(hslf);
//test case from the bug report
HSLFGroupShape shapeGroup = (HSLFGroupShape)ppt.getSlides()[11].getShapes()[10];
- Picture picture = (Picture)shapeGroup.getShapes()[0];
+ HSLFPictureShape picture = (HSLFPictureShape)shapeGroup.getShapes()[0];
picture.getPictureData();
//walk down the tree and see if there were no errors while reading
- Slide[] slide = ppt.getSlides();
+ HSLFSlide[] slide = ppt.getSlides();
for (int i = 0; i < slide.length; i++) {
HSLFShape[] shape = slide[i].getShapes();
for (int j = 0; j < shape.length; j++) {
HSLFShape[] comps = group.getShapes();
for (int k = 0; k < comps.length; k++) {
HSLFShape comp = comps[k];
- if (comp instanceof Picture){
+ if (comp instanceof HSLFPictureShape){
@SuppressWarnings("unused")
- PictureData pict = ((Picture)comp).getPictureData();
+ HSLFPictureData pict = ((HSLFPictureShape)comp).getPictureData();
}
}
}
*/
@Test
public void bug38256 () throws Exception {
- SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("38256.ppt"));
+ HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream("38256.ppt"));
assertTrue("No Exceptions while reading file", true);
- Slide[] slide = ppt.getSlides();
+ HSLFSlide[] slide = ppt.getSlides();
assertEquals(1, slide.length);
- TextRun[] runs = slide[0].getTextRuns();
+ HSLFTextParagraph[] runs = slide[0].getTextRuns();
assertEquals(4, runs.length);
Set<String> txt = new HashSet<String>();
*/
@Test
public void bug43781 () throws Exception {
- SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("43781.ppt"));
+ HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream("43781.ppt"));
assertTrue("No Exceptions while reading file", true);
// Check the first slide
- Slide slide = ppt.getSlides()[0];
- TextRun[] slTr = slide.getTextRuns();
+ HSLFSlide slide = ppt.getSlides()[0];
+ HSLFTextParagraph[] slTr = slide.getTextRuns();
// Has two text runs, one from slide text, one from drawing
assertEquals(2, slTr.length);
assertEquals("Second run", slTr[1].getText());
// Check the shape based text runs
- List<TextRun> lst = new ArrayList<TextRun>();
+ List<HSLFTextParagraph> lst = new ArrayList<HSLFTextParagraph>();
HSLFShape[] shape = slide.getShapes();
for (int i = 0; i < shape.length; i++) {
- if( shape[i] instanceof TextShape){
- TextRun textRun = ((TextShape)shape[i]).getTextRun();
+ if( shape[i] instanceof HSLFTextShape){
+ HSLFTextParagraph textRun = ((HSLFTextShape)shape[i]).getTextParagraph();
if(textRun != null) {
lst.add(textRun);
}
*/
@Test
public void bug44296 () throws Exception {
- SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("44296.ppt"));
+ HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream("44296.ppt"));
- Slide slide = ppt.getSlides()[0];
+ HSLFSlide slide = ppt.getSlides()[0];
- Background b = slide.getBackground();
- Fill f = b.getFill();
- assertEquals(Fill.FILL_PICTURE, f.getFillType());
+ HSLFBackground b = slide.getBackground();
+ HSLFFill f = b.getFill();
+ assertEquals(HSLFFill.FILL_PICTURE, f.getFillType());
- PictureData pict = f.getPictureData();
+ HSLFPictureData pict = f.getPictureData();
assertNotNull(pict);
- assertEquals(Picture.JPEG, pict.getType());
+ assertEquals(HSLFPictureShape.JPEG, pict.getType());
}
/**
@Test
public void bug44770() throws Exception {
try {
- new SlideShow(_slTests.openResourceAsStream("44770.ppt"));
+ new HSLFSlideShow(_slTests.openResourceAsStream("44770.ppt"));
} catch (RuntimeException e) {
if (e.getMessage().equals("Couldn't instantiate the class for type with id 1036 on class class org.apache.poi.hslf.record.PPDrawing")) {
throw new AssertionFailedError("Identified bug 44770");
*/
@Test
public void bug41071() throws Exception {
- SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("41071.ppt"));
+ HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream("41071.ppt"));
- Slide slide = ppt.getSlides()[0];
+ HSLFSlide slide = ppt.getSlides()[0];
HSLFShape[] sh = slide.getShapes();
assertEquals(1, sh.length);
- assertTrue(sh[0] instanceof TextShape);
- TextShape tx = (TextShape)sh[0];
- assertEquals("Fundera, planera och involvera.", tx.getTextRun().getText());
+ assertTrue(sh[0] instanceof HSLFTextShape);
+ HSLFTextShape tx = (HSLFTextShape)sh[0];
+ assertEquals("Fundera, planera och involvera.", tx.getTextParagraph().getText());
- TextRun[] run = slide.getTextRuns();
+ HSLFTextParagraph[] run = slide.getTextRuns();
assertEquals(1, run.length);
assertEquals("Fundera, planera och involvera.", run[0].getText());
}
@Test(expected=OldPowerPointFormatException.class)
public void bug41711() throws Exception {
// New file is fine
- new SlideShow(_slTests.openResourceAsStream("SampleShow.ppt"));
+ new HSLFSlideShow(_slTests.openResourceAsStream("SampleShow.ppt"));
// PowerPoint 95 gives an old format exception
- new SlideShow(_slTests.openResourceAsStream("PPT95.ppt"));
+ new HSLFSlideShow(_slTests.openResourceAsStream("PPT95.ppt"));
}
/**
*/
@Test
public void bug49648() throws Exception {
- SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("49648.ppt"));
- for(Slide slide : ppt.getSlides()) {
- for(TextRun run : slide.getTextRuns()) {
+ HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream("49648.ppt"));
+ for(HSLFSlide slide : ppt.getSlides()) {
+ for(HSLFTextParagraph run : slide.getTextRuns()) {
String text = run.getRawText();
text.replace("{txtTot}", "With \u0123\u1234\u5678 unicode");
run.setRawText(text);
@Test
public void bug41246a() throws Exception {
InputStream fis = _slTests.openResourceAsStream("41246-1.ppt");
- HSLFSlideShow hslf = new HSLFSlideShow(fis);
+ HSLFSlideShowImpl hslf = new HSLFSlideShowImpl(fis);
fis.close();
- SlideShow ppt = new SlideShow(hslf);
+ HSLFSlideShow ppt = new HSLFSlideShow(hslf);
assertTrue("No Exceptions while reading file", true);
ppt = HSLFTestDataSamples.writeOutAndReadBack(ppt);
@Test
public void bug41246b() throws Exception {
InputStream fis = _slTests.openResourceAsStream("41246-2.ppt");
- HSLFSlideShow hslf = new HSLFSlideShow(fis);
+ HSLFSlideShowImpl hslf = new HSLFSlideShowImpl(fis);
fis.close();
- SlideShow ppt = new SlideShow(hslf);
+ HSLFSlideShow ppt = new HSLFSlideShow(hslf);
assertTrue("No Exceptions while reading file", true);
ppt = HSLFTestDataSamples.writeOutAndReadBack(ppt);
@Test
public void bug45776() throws Exception {
InputStream is = _slTests.openResourceAsStream("45776.ppt");
- SlideShow ppt = new SlideShow(new HSLFSlideShow(is));
+ HSLFSlideShow ppt = new HSLFSlideShow(new HSLFSlideShowImpl(is));
is.close();
// get slides
- for (Slide slide : ppt.getSlides()) {
+ for (HSLFSlide slide : ppt.getSlides()) {
for (HSLFShape shape : slide.getShapes()) {
- if (!(shape instanceof TextBox)) continue;
- TextBox tb = (TextBox) shape;
+ if (!(shape instanceof HSLFTextBox)) continue;
+ HSLFTextBox tb = (HSLFTextBox) shape;
// work with TextBox
String str = tb.getText();
str = str.replace("$$DATE$$", new Date().toString());
tb.setText(str);
- TextRun tr = tb.getTextRun();
+ HSLFTextParagraph tr = tb.getTextParagraph();
assertEquals(str.length()+1,tr.getStyleTextPropAtom().getParagraphStyles().getFirst().getCharactersCovered());
assertEquals(str.length()+1,tr.getStyleTextPropAtom().getCharacterStyles().getFirst().getCharactersCovered());
}
public void bug55732() throws Exception {
File file = _slTests.getFile("bug55732.ppt");
- HSLFSlideShow ss = new HSLFSlideShow(file.getAbsolutePath());
- SlideShow _show = new SlideShow(ss);
- Slide[] _slides = _show.getSlides();
+ HSLFSlideShowImpl ss = new HSLFSlideShowImpl(file.getAbsolutePath());
+ HSLFSlideShow _show = new HSLFSlideShow(ss);
+ HSLFSlide[] _slides = _show.getSlides();
/* Iterate over slides and extract text */
- for( Slide slide : _slides ) {
+ for( HSLFSlide slide : _slides ) {
HeadersFooters hf = slide.getHeadersFooters();
/*boolean visible =*/ hf.isHeaderVisible(); // exception happens here
}
public void bug56260() throws Exception {
File file = _slTests.getFile("56260.ppt");
- HSLFSlideShow ss = new HSLFSlideShow(file.getAbsolutePath());
- SlideShow _show = new SlideShow(ss);
- Slide[] _slides = _show.getSlides();
+ HSLFSlideShowImpl ss = new HSLFSlideShowImpl(file.getAbsolutePath());
+ HSLFSlideShow _show = new HSLFSlideShow(ss);
+ HSLFSlide[] _slides = _show.getSlides();
assertEquals(13, _slides.length);
// Check the number of TextHeaderAtoms on Slide 1
// Check the number of text runs based on the slide (not textbox)
// Will have skipped the empty one
int str = 0;
- for (TextRun tr : _slides[0].getTextRuns()) {
+ for (HSLFTextParagraph tr : _slides[0].getTextRuns()) {
if (! tr.isDrawingBased()) str++;
}
assertEquals(1, str);
public void bug37625() throws IOException {
InputStream inputStream = new FileInputStream(_slTests.getFile("37625.ppt"));
try {
- SlideShow slideShow = new SlideShow(inputStream);
+ HSLFSlideShow slideShow = new HSLFSlideShow(inputStream);
assertEquals(29, slideShow.getSlides().length);
- SlideShow slideBack = HSLFTestDataSamples.writeOutAndReadBack(slideShow);
+ HSLFSlideShow slideBack = HSLFTestDataSamples.writeOutAndReadBack(slideShow);
assertNotNull(slideBack);
assertEquals(29, slideBack.getSlides().length);
} finally {
public void bug57272() throws Exception {
InputStream inputStream = new FileInputStream(_slTests.getFile("57272_corrupted_usereditatom.ppt"));
try {
- SlideShow slideShow = new SlideShow(inputStream);
+ HSLFSlideShow slideShow = new HSLFSlideShow(inputStream);
assertEquals(6, slideShow.getSlides().length);
- SlideShow slideBack = HSLFTestDataSamples.writeOutAndReadBack(slideShow);
+ HSLFSlideShow slideBack = HSLFTestDataSamples.writeOutAndReadBack(slideShow);
assertNotNull(slideBack);
assertEquals(6, slideBack.getSlides().length);
} finally {
public void bug49541() throws Exception {
InputStream inputStream = new FileInputStream(_slTests.getFile("49541_symbol_map.ppt"));
try {
- SlideShow slideShow = new SlideShow(inputStream);
- Slide slide = slideShow.getSlides()[0];
+ HSLFSlideShow slideShow = new HSLFSlideShow(inputStream);
+ HSLFSlide slide = slideShow.getSlides()[0];
HSLFGroupShape sg = (HSLFGroupShape)slide.getShapes()[0];
- TextBox tb = (TextBox)sg.getShapes()[0];
+ HSLFTextBox tb = (HSLFTextBox)sg.getShapes()[0];
String text = StringUtil.mapMsCodepointString(tb.getText());
assertEquals("\u226575 years", text);
} finally {
public void bug47261() throws Exception {
InputStream inputStream = new FileInputStream(_slTests.getFile("bug47261.ppt"));
try {
- SlideShow slideShow = new SlideShow(inputStream);
+ HSLFSlideShow slideShow = new HSLFSlideShow(inputStream);
slideShow.removeSlide(0);
slideShow.createSlide();
ByteArrayOutputStream bos = new ByteArrayOutputStream();
public void bug56240() throws Exception {
InputStream inputStream = new FileInputStream(_slTests.getFile("bug56240.ppt"));
try {
- SlideShow slideShow = new SlideShow(inputStream);
+ HSLFSlideShow slideShow = new HSLFSlideShow(inputStream);
int slideCnt = slideShow.getSlides().length;
assertEquals(105, slideCnt);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
public void bug46441() throws Exception {
InputStream inputStream = new FileInputStream(_slTests.getFile("bug46441.ppt"));
try {
- SlideShow slideShow = new SlideShow(inputStream);
- AutoShape as = (AutoShape)slideShow.getSlides()[0].getShapes()[0];
+ HSLFSlideShow slideShow = new HSLFSlideShow(inputStream);
+ HSLFAutoShape as = (HSLFAutoShape)slideShow.getSlides()[0].getShapes()[0];
EscherOptRecord opt = as.getEscherOptRecord();
EscherArrayProperty ep = HSLFShape.getEscherProperty(opt, EscherProperties.FILL__SHADECOLORS);
double exp[][] = {
import junit.framework.TestCase;
+
import org.apache.poi.hslf.*;
import org.apache.poi.hslf.model.*;
import org.apache.poi.POIDataSamples;
*/
public final class TestCounts extends TestCase {
// SlideShow primed on the test data
- private SlideShow ss;
+ private HSLFSlideShow ss;
public TestCounts() throws Exception {
POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
- HSLFSlideShow hss = new HSLFSlideShow(slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
- ss = new SlideShow(hss);
+ HSLFSlideShowImpl hss = new HSLFSlideShowImpl(slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
+ ss = new HSLFSlideShow(hss);
}
public void testSheetsCount() {
- Slide[] slides = ss.getSlides();
+ HSLFSlide[] slides = ss.getSlides();
// Two sheets - master sheet is separate
assertEquals(2, slides.length);
}
public void testNotesCount() {
- Notes[] notes = ss.getNotes();
+ HSLFNotes[] notes = ss.getNotes();
// Two sheets -> two notes
// Note: there are also notes on the slide master
//assertEquals(3, notes.length); // When we do slide masters
import javax.imageio.ImageIO;\r
\r
import org.apache.poi.POIDataSamples;\r
-import org.apache.poi.hslf.model.Slide;\r
+import org.apache.poi.hslf.model.HSLFSlide;\r
import org.apache.poi.hslf.model.TextPainter;\r
import org.apache.poi.util.TempFile;\r
import org.junit.Ignore;\r
}\r
\r
InputStream is = slTests.openResourceAsStream("bug55902-mixedFontChineseCharacters.ppt");\r
- SlideShow ss = new SlideShow(is);\r
+ HSLFSlideShow ss = new HSLFSlideShow(is);\r
is.close();\r
\r
Dimension pgsize = ss.getPageSize();\r
\r
- Slide slide = ss.getSlides()[0];\r
+ HSLFSlide slide = ss.getSlides()[0];\r
\r
// render it\r
double zoom = 1;\r
import junit.framework.TestCase;
+
import org.apache.poi.hslf.*;
+import org.apache.poi.hslf.model.HSLFSlideShowImpl;
import org.apache.poi.hslf.record.*;
import org.apache.poi.POIDataSamples;
*/
public final class TestMostRecentRecords extends TestCase {
// HSLFSlideShow primed on the test data
- private HSLFSlideShow hss;
+ private HSLFSlideShowImpl hss;
// SlideShow primed on the test data
- private SlideShow ss;
+ private HSLFSlideShow ss;
public TestMostRecentRecords() throws Exception {
POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
- hss = new HSLFSlideShow(slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
- ss = new SlideShow(hss);
+ hss = new HSLFSlideShowImpl(slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
+ ss = new HSLFSlideShow(hss);
}
public void testCount() {
import junit.framework.TestCase;
+
import org.apache.poi.hslf.*;
import org.apache.poi.hslf.model.*;
import org.apache.poi.POIDataSamples;
*/
public final class TestNotesText extends TestCase {
// SlideShow primed on the test data
- private SlideShow ss;
+ private HSLFSlideShow ss;
public TestNotesText() throws Exception {
POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
- HSLFSlideShow hss = new HSLFSlideShow(slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
- ss = new SlideShow(hss);
+ HSLFSlideShowImpl hss = new HSLFSlideShowImpl(slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
+ ss = new HSLFSlideShow(hss);
}
public void testNotesOne() {
- Notes notes = ss.getNotes()[0];
+ HSLFNotes notes = ss.getNotes()[0];
String[] expectText = new String[] {"These are the notes for page 1"};
assertEquals(expectText.length, notes.getTextRuns().length);
}
public void testNotesTwo() {
- Notes notes = ss.getNotes()[1];
+ HSLFNotes notes = ss.getNotes()[1];
String[] expectText = new String[] {"These are the notes on page two, again lacking formatting"};
assertEquals(expectText.length, notes.getTextRuns().length);
for(int i=0; i<expectText.length; i++) {
import junit.framework.TestCase;
-import org.apache.poi.hslf.model.Slide;
-import org.apache.poi.hslf.model.TextRun;
+import org.apache.poi.hslf.model.HSLFSlide;
+import org.apache.poi.hslf.model.HSLFTextParagraph;
import org.apache.poi.hslf.model.textproperties.TextPFException9;
import org.apache.poi.hslf.model.textproperties.TextPropCollection;
import org.apache.poi.hslf.record.EscherTextboxWrapper;
}
public void testNumberedList() throws Exception {
- SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("numbers.ppt"));
+ HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream("numbers.ppt"));
assertTrue("No Exceptions while reading file", true);
- final Slide[] slides = ppt.getSlides();
+ final HSLFSlide[] slides = ppt.getSlides();
assertEquals(2, slides.length);
checkSlide0(slides[0]);
checkSlide1(slides[1]);
}
- private void checkSlide0(final Slide s) {
+ private void checkSlide0(final HSLFSlide s) {
final StyleTextProp9Atom[] numberedListArray = s.getNumberedListInfo();
assertNotNull(numberedListArray);
assertEquals(1, numberedListArray.length);//Just one text box here
assertNull(autoNumbers[1].getAutoNumberScheme());
assertTrue(TextAutoNumberSchemeEnum.ANM_AlphaLcParenRight == autoNumbers[2].getAutoNumberScheme());
- TextRun[] textRuns = s.getTextRuns();
+ HSLFTextParagraph[] textRuns = s.getTextRuns();
assertEquals(2, textRuns.length);
- RichTextRun textRun = textRuns[0].getRichTextRuns()[0];
+ HSLFTextRun textRun = textRuns[0].getRichTextRuns()[0];
assertEquals("titTe", textRun.getRawText());
assertEquals(1, textRuns[0].getRichTextRuns().length);
assertFalse(textRun.isBullet());
assertEquals(34, props[1].getCharactersCovered());
assertEquals(68, props[2].getCharactersCovered());
}
- private void checkSlide1(final Slide s) {
+ private void checkSlide1(final HSLFSlide s) {
final StyleTextProp9Atom[] numberedListArray = s.getNumberedListInfo();
assertNotNull(numberedListArray);
assertEquals(1, numberedListArray.length);//Just one text box here
assertNull(autoNumbers[1].getAutoNumberScheme());
assertTrue(TextAutoNumberSchemeEnum.ANM_AlphaUcPeriod == autoNumbers[2].getAutoNumberScheme());
- final TextRun[] textRuns = s.getTextRuns();
+ final HSLFTextParagraph[] textRuns = s.getTextRuns();
assertEquals(2, textRuns.length);
- RichTextRun textRun = textRuns[0].getRichTextRuns()[0];
+ HSLFTextRun textRun = textRuns[0].getRichTextRuns()[0];
assertEquals("Second Slide Title", textRun.getRawText());
assertEquals(1, textRuns[0].getRichTextRuns().length);
assertFalse(textRun.isBullet());
import junit.framework.TestCase;
-import org.apache.poi.hslf.model.Slide;
-import org.apache.poi.hslf.model.TextRun;
+import org.apache.poi.hslf.model.HSLFSlide;
+import org.apache.poi.hslf.model.HSLFTextParagraph;
import org.apache.poi.hslf.model.textproperties.TextPFException9;
import org.apache.poi.hslf.model.textproperties.TextPropCollection;
import org.apache.poi.hslf.record.EscherTextboxWrapper;
}
public void testNumberedList() throws Exception {
- SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("numbers2.ppt"));
+ HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream("numbers2.ppt"));
assertTrue("No Exceptions while reading file", true);
- final Slide[] slides = ppt.getSlides();
+ final HSLFSlide[] slides = ppt.getSlides();
assertEquals(2, slides.length);
checkSlide0(slides[0]);
checkSlide1(slides[1]);
}
- private void checkSlide0(final Slide s) {
+ private void checkSlide0(final HSLFSlide s) {
final StyleTextProp9Atom[] numberedListArray = s.getNumberedListInfo();
assertNotNull(numberedListArray);
assertEquals(2, numberedListArray.length);
assertTrue(TextAutoNumberSchemeEnum.ANM_ArabicPeriod == autoNumbersOfTextBox1[0].getAutoNumberScheme());
- TextRun[] textRuns = s.getTextRuns();
+ HSLFTextParagraph[] textRuns = s.getTextRuns();
assertEquals(2, textRuns.length);
- RichTextRun textRun = textRuns[0].getRichTextRuns()[0];
+ HSLFTextRun textRun = textRuns[0].getRichTextRuns()[0];
assertEquals("List Item One\rList Item Two\rList Item Three", textRun.getRawText());
assertEquals(1, textRuns[0].getRichTextRuns().length);
assertTrue(textRun.isBullet());
checkSingleRunWrapper(44, styleAtoms[0]);
checkSingleRunWrapper(130, styleAtoms[1]);
}
- private void checkSlide1(final Slide s) {
+ private void checkSlide1(final HSLFSlide s) {
final StyleTextProp9Atom[] numberedListArray = s.getNumberedListInfo();
assertNotNull(numberedListArray);
assertEquals(1, numberedListArray.length);
assertEquals(Short.valueOf((short)1), autoNumbersOfTextBox[0].getAutoNumberStartNumber());//Default value = 1 will be used
assertTrue(TextAutoNumberSchemeEnum.ANM_ArabicPeriod == autoNumbersOfTextBox[0].getAutoNumberScheme());
- TextRun[] textRuns = s.getTextRuns();
+ HSLFTextParagraph[] textRuns = s.getTextRuns();
assertEquals(3, textRuns.length);
- RichTextRun textRun = textRuns[0].getRichTextRuns()[0];
+ HSLFTextRun textRun = textRuns[0].getRichTextRuns()[0];
assertEquals("Bulleted list\rMore bullets", textRun.getRawText());
assertEquals(1, textRuns[0].getRichTextRuns().length);
assertTrue(textRun.isBullet());
import junit.framework.TestCase;
-import org.apache.poi.hslf.model.Slide;
-import org.apache.poi.hslf.model.TextRun;
+import org.apache.poi.hslf.model.HSLFSlide;
+import org.apache.poi.hslf.model.HSLFTextParagraph;
import org.apache.poi.hslf.model.textproperties.TextPFException9;
import org.apache.poi.hslf.model.textproperties.TextPropCollection;
import org.apache.poi.hslf.record.EscherTextboxWrapper;
}
public void testNumberedList() throws Exception {
- SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("numbers3.ppt"));
+ HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream("numbers3.ppt"));
assertTrue("No Exceptions while reading file", true);
- final Slide[] slides = ppt.getSlides();
+ final HSLFSlide[] slides = ppt.getSlides();
assertEquals(1, slides.length);
- final Slide slide = slides[0];
+ final HSLFSlide slide = slides[0];
checkSlide(slide);
}
- private void checkSlide(final Slide s) {
+ private void checkSlide(final HSLFSlide s) {
final StyleTextProp9Atom[] numberedListArray = s.getNumberedListInfo();
assertNotNull(numberedListArray);
assertEquals(1, numberedListArray.length);
assertEquals(Short.valueOf((short)1), autoNumbersOfTextBox0[0].getAutoNumberStartNumber());//Default value = 1 will be used
assertTrue(TextAutoNumberSchemeEnum.ANM_ArabicPeriod == autoNumbersOfTextBox0[0].getAutoNumberScheme());
- final TextRun[] textRuns = s.getTextRuns();
+ final HSLFTextParagraph[] textRuns = s.getTextRuns();
assertEquals(3, textRuns.length);
assertEquals("Bulleted list\rMore bullets\rNo bullets here", textRuns[0].getRawText());
assertEquals("Numbered list between two bulleted lists\rSecond numbered list item", textRuns[1].getRawText());
assertEquals(67, textProp.getCharactersCovered());
- RichTextRun textRun = textRuns[0].getRichTextRuns()[0];
+ HSLFTextRun textRun = textRuns[0].getRichTextRuns()[0];
assertTrue(textRun.isBullet());
import junit.framework.TestCase;
import org.apache.poi.POIDataSamples;
-import org.apache.poi.hslf.HSLFSlideShow;
import org.apache.poi.hslf.blip.DIB;
import org.apache.poi.hslf.blip.EMF;
import org.apache.poi.hslf.blip.JPEG;
import org.apache.poi.hslf.blip.PICT;
import org.apache.poi.hslf.blip.PNG;
import org.apache.poi.hslf.blip.WMF;
-import org.apache.poi.hslf.model.Picture;
-import org.apache.poi.hslf.model.HSLFShape;
-import org.apache.poi.hslf.model.Slide;
+import org.apache.poi.hslf.model.*;
/**
* Test adding/reading pictures
* Test read/write Macintosh PICT
*/
public void testPICT() throws Exception {
- SlideShow ppt = new SlideShow();
+ HSLFSlideShow ppt = new HSLFSlideShow();
- Slide slide = ppt.createSlide();
+ HSLFSlide slide = ppt.createSlide();
byte[] src_bytes = slTests.readFile("cow.pict");
- int idx = ppt.addPicture(src_bytes, Picture.PICT);
- Picture pict = new Picture(idx);
+ int idx = ppt.addPicture(src_bytes, HSLFPictureShape.PICT);
+ HSLFPictureShape pict = new HSLFPictureShape(idx);
assertEquals(idx, pict.getPictureIndex());
slide.addShape(pict);
ppt.write(out);
out.close();
- ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())));
+ ppt = new HSLFSlideShow(new HSLFSlideShowImpl(new ByteArrayInputStream(out.toByteArray())));
//make sure we can read this picture shape and it refers to the correct picture data
HSLFShape[] sh = ppt.getSlides()[0].getShapes();
assertEquals(1, sh.length);
- pict = (Picture)sh[0];
+ pict = (HSLFPictureShape)sh[0];
assertEquals(idx, pict.getPictureIndex());
//check picture data
- PictureData[] pictures = ppt.getPictureData();
+ HSLFPictureData[] pictures = ppt.getPictureData();
//the Picture shape refers to the PictureData object in the Presentation
assertEquals(pict.getPictureData(), pictures[0]);
assertEquals(1, pictures.length);
- assertEquals(Picture.PICT, pictures[0].getType());
+ assertEquals(HSLFPictureShape.PICT, pictures[0].getType());
assertTrue(pictures[0] instanceof PICT);
//compare the content of the initial file with what is stored in the PictureData
byte[] ppt_bytes = pictures[0].getData();
* Test read/write WMF
*/
public void testWMF() throws Exception {
- SlideShow ppt = new SlideShow();
+ HSLFSlideShow ppt = new HSLFSlideShow();
- Slide slide = ppt.createSlide();
+ HSLFSlide slide = ppt.createSlide();
byte[] src_bytes = slTests.readFile("santa.wmf");
- int idx = ppt.addPicture(src_bytes, Picture.WMF);
- Picture pict = new Picture(idx);
+ int idx = ppt.addPicture(src_bytes, HSLFPictureShape.WMF);
+ HSLFPictureShape pict = new HSLFPictureShape(idx);
assertEquals(idx, pict.getPictureIndex());
slide.addShape(pict);
ppt.write(out);
out.close();
- ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())));
+ ppt = new HSLFSlideShow(new HSLFSlideShowImpl(new ByteArrayInputStream(out.toByteArray())));
//make sure we can read this picture shape and it refers to the correct picture data
HSLFShape[] sh = ppt.getSlides()[0].getShapes();
assertEquals(1, sh.length);
- pict = (Picture)sh[0];
+ pict = (HSLFPictureShape)sh[0];
assertEquals(idx, pict.getPictureIndex());
//check picture data
- PictureData[] pictures = ppt.getPictureData();
+ HSLFPictureData[] pictures = ppt.getPictureData();
//the Picture shape refers to the PictureData object in the Presentation
assertEquals(pict.getPictureData(), pictures[0]);
assertEquals(1, pictures.length);
- assertEquals(Picture.WMF, pictures[0].getType());
+ assertEquals(HSLFPictureShape.WMF, pictures[0].getType());
assertTrue(pictures[0] instanceof WMF);
//compare the content of the initial file with what is stored in the PictureData
byte[] ppt_bytes = pictures[0].getData();
* Test read/write EMF
*/
public void testEMF() throws Exception {
- SlideShow ppt = new SlideShow();
+ HSLFSlideShow ppt = new HSLFSlideShow();
- Slide slide = ppt.createSlide();
+ HSLFSlide slide = ppt.createSlide();
byte[] src_bytes = slTests.readFile("wrench.emf");
- int idx = ppt.addPicture(src_bytes, Picture.EMF);
+ int idx = ppt.addPicture(src_bytes, HSLFPictureShape.EMF);
- Picture pict = new Picture(idx);
+ HSLFPictureShape pict = new HSLFPictureShape(idx);
assertEquals(idx, pict.getPictureIndex());
slide.addShape(pict);
ppt.write(out);
out.close();
- ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())));
+ ppt = new HSLFSlideShow(new HSLFSlideShowImpl(new ByteArrayInputStream(out.toByteArray())));
//make sure we can get this picture shape and it refers to the correct picture data
HSLFShape[] sh = ppt.getSlides()[0].getShapes();
assertEquals(1, sh.length);
- pict = (Picture)sh[0];
+ pict = (HSLFPictureShape)sh[0];
assertEquals(idx, pict.getPictureIndex());
//check picture data
- PictureData[] pictures = ppt.getPictureData();
+ HSLFPictureData[] pictures = ppt.getPictureData();
//the Picture shape refers to the PictureData object in the Presentation
assertEquals(pict.getPictureData(), pictures[0]);
assertEquals(1, pictures.length);
- assertEquals(Picture.EMF, pictures[0].getType());
+ assertEquals(HSLFPictureShape.EMF, pictures[0].getType());
assertTrue(pictures[0] instanceof EMF);
//compare the content of the initial file with what is stored in the PictureData
byte[] ppt_bytes = pictures[0].getData();
* Test read/write PNG
*/
public void testPNG() throws Exception {
- SlideShow ppt = new SlideShow();
+ HSLFSlideShow ppt = new HSLFSlideShow();
- Slide slide = ppt.createSlide();
+ HSLFSlide slide = ppt.createSlide();
byte[] src_bytes = slTests.readFile("tomcat.png");
- int idx = ppt.addPicture(src_bytes, Picture.PNG);
- Picture pict = new Picture(idx);
+ int idx = ppt.addPicture(src_bytes, HSLFPictureShape.PNG);
+ HSLFPictureShape pict = new HSLFPictureShape(idx);
assertEquals(idx, pict.getPictureIndex());
slide.addShape(pict);
ppt.write(out);
out.close();
- ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())));
+ ppt = new HSLFSlideShow(new HSLFSlideShowImpl(new ByteArrayInputStream(out.toByteArray())));
//make sure we can read this picture shape and it refers to the correct picture data
HSLFShape[] sh = ppt.getSlides()[0].getShapes();
assertEquals(1, sh.length);
- pict = (Picture)sh[0];
+ pict = (HSLFPictureShape)sh[0];
assertEquals(idx, pict.getPictureIndex());
//check picture data
- PictureData[] pictures = ppt.getPictureData();
+ HSLFPictureData[] pictures = ppt.getPictureData();
//the Picture shape refers to the PictureData object in the Presentation
assertEquals(pict.getPictureData(), pictures[0]);
assertEquals(1, pictures.length);
- assertEquals(Picture.PNG, pictures[0].getType());
+ assertEquals(HSLFPictureShape.PNG, pictures[0].getType());
assertTrue(pictures[0] instanceof PNG);
//compare the content of the initial file with what is stored in the PictureData
byte[] ppt_bytes = pictures[0].getData();
* Test read/write JPEG
*/
public void testJPEG() throws Exception {
- SlideShow ppt = new SlideShow();
+ HSLFSlideShow ppt = new HSLFSlideShow();
- Slide slide = ppt.createSlide();
+ HSLFSlide slide = ppt.createSlide();
byte[] src_bytes = slTests.readFile("clock.jpg");
- int idx = ppt.addPicture(src_bytes, Picture.JPEG);
+ int idx = ppt.addPicture(src_bytes, HSLFPictureShape.JPEG);
- Picture pict = new Picture(idx);
+ HSLFPictureShape pict = new HSLFPictureShape(idx);
assertEquals(idx, pict.getPictureIndex());
slide.addShape(pict);
ppt.write(out);
out.close();
- ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())));
+ ppt = new HSLFSlideShow(new HSLFSlideShowImpl(new ByteArrayInputStream(out.toByteArray())));
//make sure we can read this picture shape and it refers to the correct picture data
HSLFShape[] sh = ppt.getSlides()[0].getShapes();
assertEquals(1, sh.length);
- pict = (Picture)sh[0];
+ pict = (HSLFPictureShape)sh[0];
assertEquals(idx, pict.getPictureIndex());
//check picture data
- PictureData[] pictures = ppt.getPictureData();
+ HSLFPictureData[] pictures = ppt.getPictureData();
//the Picture shape refers to the PictureData object in the Presentation
assertEquals(pict.getPictureData(), pictures[0]);
assertEquals(1, pictures.length);
- assertEquals(Picture.JPEG, pictures[0].getType());
+ assertEquals(HSLFPictureShape.JPEG, pictures[0].getType());
assertTrue(pictures[0] instanceof JPEG);
//compare the content of the initial file with what is stored in the PictureData
byte[] ppt_bytes = pictures[0].getData();
* Test read/write DIB
*/
public void testDIB() throws Exception {
- SlideShow ppt = new SlideShow();
+ HSLFSlideShow ppt = new HSLFSlideShow();
- Slide slide = ppt.createSlide();
+ HSLFSlide slide = ppt.createSlide();
byte[] src_bytes = slTests.readFile("clock.dib");
- int idx = ppt.addPicture(src_bytes, Picture.DIB);
- Picture pict = new Picture(idx);
+ int idx = ppt.addPicture(src_bytes, HSLFPictureShape.DIB);
+ HSLFPictureShape pict = new HSLFPictureShape(idx);
assertEquals(idx, pict.getPictureIndex());
slide.addShape(pict);
ppt.write(out);
out.close();
- ppt = new SlideShow(new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray())));
+ ppt = new HSLFSlideShow(new HSLFSlideShowImpl(new ByteArrayInputStream(out.toByteArray())));
//make sure we can read this picture shape and it refers to the correct picture data
HSLFShape[] sh = ppt.getSlides()[0].getShapes();
assertEquals(1, sh.length);
- pict = (Picture)sh[0];
+ pict = (HSLFPictureShape)sh[0];
assertEquals(idx, pict.getPictureIndex());
//check picture data
- PictureData[] pictures = ppt.getPictureData();
+ HSLFPictureData[] pictures = ppt.getPictureData();
//the Picture shape refers to the PictureData object in the Presentation
assertEquals(pict.getPictureData(), pictures[0]);
assertEquals(1, pictures.length);
- assertEquals(Picture.DIB, pictures[0].getType());
+ assertEquals(HSLFPictureShape.DIB, pictures[0].getType());
assertTrue(pictures[0] instanceof DIB);
//compare the content of the initial file with what is stored in the PictureData
byte[] ppt_bytes = pictures[0].getData();
public void testReadPictures() throws Exception {
byte[] src_bytes, ppt_bytes, b1, b2;
- Picture pict;
- PictureData pdata;
+ HSLFPictureShape pict;
+ HSLFPictureData pdata;
- SlideShow ppt = new SlideShow(slTests.openResourceAsStream("pictures.ppt"));
- Slide[] slides = ppt.getSlides();
- PictureData[] pictures = ppt.getPictureData();
+ HSLFSlideShow ppt = new HSLFSlideShow(slTests.openResourceAsStream("pictures.ppt"));
+ HSLFSlide[] slides = ppt.getSlides();
+ HSLFPictureData[] pictures = ppt.getPictureData();
assertEquals(5, pictures.length);
- pict = (Picture)slides[0].getShapes()[0]; //the first slide contains JPEG
+ pict = (HSLFPictureShape)slides[0].getShapes()[0]; //the first slide contains JPEG
pdata = pict.getPictureData();
assertTrue(pdata instanceof JPEG);
- assertEquals(Picture.JPEG, pdata.getType());
+ assertEquals(HSLFPictureShape.JPEG, pdata.getType());
src_bytes = pdata.getData();
ppt_bytes = slTests.readFile("clock.jpg");
assertArrayEquals(src_bytes, ppt_bytes);
- pict = (Picture)slides[1].getShapes()[0]; //the second slide contains PNG
+ pict = (HSLFPictureShape)slides[1].getShapes()[0]; //the second slide contains PNG
pdata = pict.getPictureData();
assertTrue(pdata instanceof PNG);
- assertEquals(Picture.PNG, pdata.getType());
+ assertEquals(HSLFPictureShape.PNG, pdata.getType());
src_bytes = pdata.getData();
ppt_bytes = slTests.readFile("tomcat.png");
assertArrayEquals(src_bytes, ppt_bytes);
- pict = (Picture)slides[2].getShapes()[0]; //the third slide contains WMF
+ pict = (HSLFPictureShape)slides[2].getShapes()[0]; //the third slide contains WMF
pdata = pict.getPictureData();
assertTrue(pdata instanceof WMF);
- assertEquals(Picture.WMF, pdata.getType());
+ assertEquals(HSLFPictureShape.WMF, pdata.getType());
src_bytes = pdata.getData();
ppt_bytes = slTests.readFile("santa.wmf");
assertEquals(src_bytes.length, ppt_bytes.length);
System.arraycopy(ppt_bytes, 22, b2, 0, b2.length);
assertArrayEquals(b1, b2);
- pict = (Picture)slides[3].getShapes()[0]; //the forth slide contains PICT
+ pict = (HSLFPictureShape)slides[3].getShapes()[0]; //the forth slide contains PICT
pdata = pict.getPictureData();
assertTrue(pdata instanceof PICT);
- assertEquals(Picture.PICT, pdata.getType());
+ assertEquals(HSLFPictureShape.PICT, pdata.getType());
src_bytes = pdata.getData();
ppt_bytes = slTests.readFile("cow.pict");
assertEquals(src_bytes.length, ppt_bytes.length);
System.arraycopy(ppt_bytes, 512, b2, 0, b2.length);
assertArrayEquals(b1, b2);
- pict = (Picture)slides[4].getShapes()[0]; //the fifth slide contains EMF
+ pict = (HSLFPictureShape)slides[4].getShapes()[0]; //the fifth slide contains EMF
pdata = pict.getPictureData();
assertTrue(pdata instanceof EMF);
- assertEquals(Picture.EMF, pdata.getType());
+ assertEquals(HSLFPictureShape.EMF, pdata.getType());
src_bytes = pdata.getData();
ppt_bytes = slTests.readFile("wrench.emf");
assertArrayEquals(src_bytes, ppt_bytes);
* crazy pictures of type 0, we do our best.
*/
public void testZeroPictureType() throws Exception {
- HSLFSlideShow hslf = new HSLFSlideShow(slTests.openResourceAsStream("PictureTypeZero.ppt"));
+ HSLFSlideShowImpl hslf = new HSLFSlideShowImpl(slTests.openResourceAsStream("PictureTypeZero.ppt"));
// Should still have 2 real pictures
assertEquals(2, hslf.getPictures().length);
// Both are real pictures, both WMF
- assertEquals(Picture.WMF, hslf.getPictures()[0].getType());
- assertEquals(Picture.WMF, hslf.getPictures()[1].getType());
+ assertEquals(HSLFPictureShape.WMF, hslf.getPictures()[0].getType());
+ assertEquals(HSLFPictureShape.WMF, hslf.getPictures()[1].getType());
// Now test what happens when we use the SlideShow interface
- SlideShow ppt = new SlideShow(hslf);
- Slide[] slides = ppt.getSlides();
- PictureData[] pictures = ppt.getPictureData();
+ HSLFSlideShow ppt = new HSLFSlideShow(hslf);
+ HSLFSlide[] slides = ppt.getSlides();
+ HSLFPictureData[] pictures = ppt.getPictureData();
assertEquals(12, slides.length);
assertEquals(2, pictures.length);
- Picture pict;
- PictureData pdata;
+ HSLFPictureShape pict;
+ HSLFPictureData pdata;
- pict = (Picture)slides[0].getShapes()[1]; // 2nd object on 1st slide
+ pict = (HSLFPictureShape)slides[0].getShapes()[1]; // 2nd object on 1st slide
pdata = pict.getPictureData();
assertTrue(pdata instanceof WMF);
- assertEquals(Picture.WMF, pdata.getType());
+ assertEquals(HSLFPictureShape.WMF, pdata.getType());
- pict = (Picture)slides[0].getShapes()[2]; // 3rd object on 1st slide
+ pict = (HSLFPictureShape)slides[0].getShapes()[2]; // 3rd object on 1st slide
pdata = pict.getPictureData();
assertTrue(pdata instanceof WMF);
- assertEquals(Picture.WMF, pdata.getType());
+ assertEquals(HSLFPictureShape.WMF, pdata.getType());
}
/**
public void disabled_testZeroPictureLength() throws Exception {
// take the data from www instead of test directory
URL url = new URL("http://www.cs.sfu.ca/~anoop/courses/CMPT-882-Fall-2002/chris.ppt");
- HSLFSlideShow hslf = new HSLFSlideShow(url.openStream());
+ HSLFSlideShowImpl hslf = new HSLFSlideShowImpl(url.openStream());
// Should still have 2 real pictures
assertEquals(2, hslf.getPictures().length);
// Both are real pictures, both WMF
- assertEquals(Picture.WMF, hslf.getPictures()[0].getType());
- assertEquals(Picture.WMF, hslf.getPictures()[1].getType());
+ assertEquals(HSLFPictureShape.WMF, hslf.getPictures()[0].getType());
+ assertEquals(HSLFPictureShape.WMF, hslf.getPictures()[1].getType());
// Now test what happens when we use the SlideShow interface
- SlideShow ppt = new SlideShow(hslf);
- Slide[] slides = ppt.getSlides();
- PictureData[] pictures = ppt.getPictureData();
+ HSLFSlideShow ppt = new HSLFSlideShow(hslf);
+ HSLFSlide[] slides = ppt.getSlides();
+ HSLFPictureData[] pictures = ppt.getPictureData();
assertEquals(27, slides.length);
assertEquals(2, pictures.length);
- Picture pict;
- PictureData pdata;
+ HSLFPictureShape pict;
+ HSLFPictureData pdata;
- pict = (Picture)slides[6].getShapes()[13];
+ pict = (HSLFPictureShape)slides[6].getShapes()[13];
pdata = pict.getPictureData();
assertTrue(pdata instanceof WMF);
- assertEquals(Picture.WMF, pdata.getType());
+ assertEquals(HSLFPictureShape.WMF, pdata.getType());
- pict = (Picture)slides[7].getShapes()[13];
+ pict = (HSLFPictureShape)slides[7].getShapes()[13];
pdata = pict.getPictureData();
assertTrue(pdata instanceof WMF);
- assertEquals(Picture.WMF, pdata.getType());
+ assertEquals(HSLFPictureShape.WMF, pdata.getType());
//add a new picture, it should be correctly appended to the Pictures stream
ByteArrayOutputStream out = new ByteArrayOutputStream();
- for(PictureData p : pictures) p.write(out);
+ for(HSLFPictureData p : pictures) p.write(out);
out.close();
int streamSize = out.size();
- PictureData data = PictureData.create(Picture.JPEG);
+ HSLFPictureData data = HSLFPictureData.create(HSLFPictureShape.JPEG);
data.setData(new byte[100]);
int offset = hslf.addPicture(data);
assertEquals(streamSize, offset);
}
public void testGetPictureName() throws Exception {
- SlideShow ppt = new SlideShow(slTests.openResourceAsStream("ppt_with_png.ppt"));
- Slide slide = ppt.getSlides()[0];
+ HSLFSlideShow ppt = new HSLFSlideShow(slTests.openResourceAsStream("ppt_with_png.ppt"));
+ HSLFSlide slide = ppt.getSlides()[0];
- Picture p = (Picture)slide.getShapes()[0]; //the first slide contains JPEG
+ HSLFPictureShape p = (HSLFPictureShape)slide.getShapes()[0]; //the first slide contains JPEG
assertEquals("test", p.getPictureName());
}
public void testSetPictureName() throws Exception {
- SlideShow ppt = new SlideShow();
+ HSLFSlideShow ppt = new HSLFSlideShow();
- Slide slide = ppt.createSlide();
+ HSLFSlide slide = ppt.createSlide();
byte[] img = slTests.readFile("tomcat.png");
- int idx = ppt.addPicture(img, Picture.PNG);
- Picture pict = new Picture(idx);
+ int idx = ppt.addPicture(img, HSLFPictureShape.PNG);
+ HSLFPictureShape pict = new HSLFPictureShape(idx);
pict.setPictureName("tomcat.png");
slide.addShape(pict);
ppt.write(out);
out.close();
- ppt = new SlideShow(new ByteArrayInputStream(out.toByteArray()));
+ ppt = new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray()));
- Picture p = (Picture)ppt.getSlides()[0].getShapes()[0];
+ HSLFPictureShape p = (HSLFPictureShape)ppt.getSlides()[0].getShapes()[0];
assertEquals("tomcat.png", p.getPictureName());
}
}
import java.io.ByteArrayOutputStream;
import junit.framework.TestCase;
+
import org.apache.poi.hslf.*;
import org.apache.poi.hslf.model.*;
import org.apache.poi.POIDataSamples;
*/
public final class TestReOrderingSlides extends TestCase {
// A SlideShow with one slide
- private HSLFSlideShow hss_one;
- private SlideShow ss_one;
+ private HSLFSlideShowImpl hss_one;
+ private HSLFSlideShow ss_one;
// A SlideShow with two slides
- private HSLFSlideShow hss_two;
- private SlideShow ss_two;
+ private HSLFSlideShowImpl hss_two;
+ private HSLFSlideShow ss_two;
// A SlideShow with three slides
- private HSLFSlideShow hss_three;
- private SlideShow ss_three;
+ private HSLFSlideShowImpl hss_three;
+ private HSLFSlideShow ss_three;
/**
* Create/open the slideshows
public void setUp() throws Exception {
POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
- hss_one = new HSLFSlideShow(slTests.openResourceAsStream("Single_Coloured_Page.ppt"));
- ss_one = new SlideShow(hss_one);
+ hss_one = new HSLFSlideShowImpl(slTests.openResourceAsStream("Single_Coloured_Page.ppt"));
+ ss_one = new HSLFSlideShow(hss_one);
- hss_two = new HSLFSlideShow(slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
- ss_two = new SlideShow(hss_two);
+ hss_two = new HSLFSlideShowImpl(slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
+ ss_two = new HSLFSlideShow(hss_two);
- hss_three = new HSLFSlideShow(slTests.openResourceAsStream("incorrect_slide_order.ppt"));
- ss_three = new SlideShow(hss_three);
+ hss_three = new HSLFSlideShowImpl(slTests.openResourceAsStream("incorrect_slide_order.ppt"));
+ ss_three = new HSLFSlideShow(hss_three);
}
/**
public void testReOrder1() throws Exception {
// Has one slide
assertEquals(1, ss_one.getSlides().length);
- Slide s1 = ss_one.getSlides()[0];
+ HSLFSlide s1 = ss_one.getSlides()[0];
// Check slide 1 is as expected
assertEquals(256, s1._getSheetNumber());
hss_one.write(baos);
ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
- HSLFSlideShow hss_read = new HSLFSlideShow(bais);
- SlideShow ss_read = new SlideShow(hss_read);
+ HSLFSlideShowImpl hss_read = new HSLFSlideShowImpl(bais);
+ HSLFSlideShow ss_read = new HSLFSlideShow(hss_read);
// Check it still has 1 slide
assertEquals(1, ss_read.getSlides().length);
public void testReOrder2() throws Exception {
// Has two slides
assertEquals(2, ss_two.getSlides().length);
- Slide s1 = ss_two.getSlides()[0];
- Slide s2 = ss_two.getSlides()[1];
+ HSLFSlide s1 = ss_two.getSlides()[0];
+ HSLFSlide s2 = ss_two.getSlides()[1];
// Check slide 1 is as expected
assertEquals(256, s1._getSheetNumber());
hss_two.write(baos);
ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
- HSLFSlideShow hss_read = new HSLFSlideShow(bais);
- SlideShow ss_read = new SlideShow(hss_read);
+ HSLFSlideShowImpl hss_read = new HSLFSlideShowImpl(bais);
+ HSLFSlideShow ss_read = new HSLFSlideShow(hss_read);
// Check it still has 2 slides
assertEquals(2, ss_read.getSlides().length);
public void testReOrder2swap() throws Exception {
// Has two slides
assertEquals(2, ss_two.getSlides().length);
- Slide s1 = ss_two.getSlides()[0];
- Slide s2 = ss_two.getSlides()[1];
+ HSLFSlide s1 = ss_two.getSlides()[0];
+ HSLFSlide s2 = ss_two.getSlides()[1];
// Check slide 1 is as expected
assertEquals(256, s1._getSheetNumber());
hss_two.write(baos);
ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
- HSLFSlideShow hss_read = new HSLFSlideShow(bais);
- SlideShow ss_read = new SlideShow(hss_read);
+ HSLFSlideShowImpl hss_read = new HSLFSlideShowImpl(bais);
+ HSLFSlideShow ss_read = new HSLFSlideShow(hss_read);
// Check it still has 2 slides
assertEquals(2, ss_read.getSlides().length);
public void testReOrder3() throws Exception {
// Has three slides
assertEquals(3, ss_three.getSlides().length);
- Slide s1 = ss_three.getSlides()[0];
- Slide s2 = ss_three.getSlides()[1];
- Slide s3 = ss_three.getSlides()[2];
+ HSLFSlide s1 = ss_three.getSlides()[0];
+ HSLFSlide s2 = ss_three.getSlides()[1];
+ HSLFSlide s3 = ss_three.getSlides()[2];
// Check slide 1 is as expected
assertEquals(256, s1._getSheetNumber());
hss_three.write(baos);
ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
- HSLFSlideShow hss_read = new HSLFSlideShow(bais);
- SlideShow ss_read = new SlideShow(hss_read);
+ HSLFSlideShowImpl hss_read = new HSLFSlideShowImpl(bais);
+ HSLFSlideShow ss_read = new HSLFSlideShow(hss_read);
// Check it still has 3 slides
assertEquals(3, ss_read.getSlides().length);
public void testReOrder3swap() throws Exception {
// Has three slides
assertEquals(3, ss_three.getSlides().length);
- Slide s1 = ss_three.getSlides()[0];
- Slide s2 = ss_three.getSlides()[1];
- Slide s3 = ss_three.getSlides()[2];
+ HSLFSlide s1 = ss_three.getSlides()[0];
+ HSLFSlide s2 = ss_three.getSlides()[1];
+ HSLFSlide s3 = ss_three.getSlides()[2];
// Check slide 1 is as expected
assertEquals(256, s1._getSheetNumber());
hss_three.write(baos);
ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
- HSLFSlideShow hss_read = new HSLFSlideShow(bais);
- SlideShow ss_read = new SlideShow(hss_read);
+ HSLFSlideShowImpl hss_read = new HSLFSlideShowImpl(bais);
+ HSLFSlideShow ss_read = new HSLFSlideShow(hss_read);
// Check it still has 3 slides
assertEquals(3, ss_read.getSlides().length);
// And check it's as expected
- Slide _s1 = ss_read.getSlides()[0];
- Slide _s2 = ss_read.getSlides()[1];
- Slide _s3 = ss_read.getSlides()[2];
+ HSLFSlide _s1 = ss_read.getSlides()[0];
+ HSLFSlide _s2 = ss_read.getSlides()[1];
+ HSLFSlide _s3 = ss_read.getSlides()[2];
// 1 --> 3
assertEquals(s1._getSheetNumber(), _s3._getSheetNumber());
import junit.framework.TestCase;
+
import org.apache.poi.hslf.*;
+import org.apache.poi.hslf.model.HSLFSlideShowImpl;
import org.apache.poi.hslf.record.ParentAwareRecord;
import org.apache.poi.hslf.record.Record;
import org.apache.poi.hslf.record.RecordContainer;
*/
public final class TestRecordSetup extends TestCase {
// SlideShow primed on the test data
- private SlideShow ss;
- private HSLFSlideShow hss;
+ private HSLFSlideShow ss;
+ private HSLFSlideShowImpl hss;
public TestRecordSetup() throws Exception {
POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
- hss = new HSLFSlideShow(slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
- ss = new SlideShow(hss);
+ hss = new HSLFSlideShowImpl(slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
+ ss = new HSLFSlideShow(hss);
}
public void testHandleParentAwareRecords() {
import org.apache.poi.POIDataSamples;
import org.apache.poi.POITestCase;
-import org.apache.poi.hslf.HSLFSlideShow;
-import org.apache.poi.hslf.model.Slide;
-import org.apache.poi.hslf.model.TextBox;
-import org.apache.poi.hslf.model.TextRun;
+import org.apache.poi.hslf.model.*;
import org.apache.poi.hslf.record.Record;
import org.apache.poi.hslf.record.SlideListWithText;
private static POIDataSamples _slTests = POIDataSamples.getSlideShowInstance();
// SlideShow primed on the test data
- private SlideShow ss;
- private SlideShow ssRichA;
- private SlideShow ssRichB;
- private SlideShow ssRichC;
- private SlideShow ssChinese;
- private HSLFSlideShow hss;
- private HSLFSlideShow hssRichA;
- private HSLFSlideShow hssRichB;
- private HSLFSlideShow hssRichC;
- private HSLFSlideShow hssChinese;
+ private HSLFSlideShow ss;
+ private HSLFSlideShow ssRichA;
+ private HSLFSlideShow ssRichB;
+ private HSLFSlideShow ssRichC;
+ private HSLFSlideShow ssChinese;
+ private HSLFSlideShowImpl hss;
+ private HSLFSlideShowImpl hssRichA;
+ private HSLFSlideShowImpl hssRichB;
+ private HSLFSlideShowImpl hssRichC;
+ private HSLFSlideShowImpl hssChinese;
private static String filenameC;
protected void setUp() throws Exception {
// Basic (non rich) test file
- hss = new HSLFSlideShow(_slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
- ss = new SlideShow(hss);
+ hss = new HSLFSlideShowImpl(_slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
+ ss = new HSLFSlideShow(hss);
// Rich test file A
- hssRichA = new HSLFSlideShow(_slTests.openResourceAsStream("Single_Coloured_Page.ppt"));
- ssRichA = new SlideShow(hssRichA);
+ hssRichA = new HSLFSlideShowImpl(_slTests.openResourceAsStream("Single_Coloured_Page.ppt"));
+ ssRichA = new HSLFSlideShow(hssRichA);
// Rich test file B
- hssRichB = new HSLFSlideShow(_slTests.openResourceAsStream("Single_Coloured_Page_With_Fonts_and_Alignments.ppt"));
- ssRichB = new SlideShow(hssRichB);
+ hssRichB = new HSLFSlideShowImpl(_slTests.openResourceAsStream("Single_Coloured_Page_With_Fonts_and_Alignments.ppt"));
+ ssRichB = new HSLFSlideShow(hssRichB);
// Rich test file C - has paragraph styles that run out before
// the character ones do
filenameC = "ParagraphStylesShorterThanCharStyles.ppt";
- hssRichC = new HSLFSlideShow(_slTests.openResourceAsStream(filenameC));
- ssRichC = new SlideShow(hssRichC);
+ hssRichC = new HSLFSlideShowImpl(_slTests.openResourceAsStream(filenameC));
+ ssRichC = new HSLFSlideShow(hssRichC);
// Rich test file with Chinese + English text in it
- hssChinese = new HSLFSlideShow(_slTests.openResourceAsStream("54880_chinese.ppt"));
- ssChinese = new SlideShow(hssChinese);
+ hssChinese = new HSLFSlideShowImpl(_slTests.openResourceAsStream("54880_chinese.ppt"));
+ ssChinese = new HSLFSlideShow(hssChinese);
}
/**
* on a non rich text run
*/
public void testBoldNonRich() {
- Slide slideOne = ss.getSlides()[0];
- TextRun[] textRuns = slideOne.getTextRuns();
- RichTextRun rtr = textRuns[0].getRichTextRuns()[0];
+ HSLFSlide slideOne = ss.getSlides()[0];
+ HSLFTextParagraph[] textRuns = slideOne.getTextRuns();
+ HSLFTextRun rtr = textRuns[0].getRichTextRuns()[0];
assertNull(rtr._getRawCharacterStyle());
assertNull(rtr._getRawParagraphStyle());
* on a rich text run
*/
public void testBoldRich() {
- Slide slideOneR = ssRichA.getSlides()[0];
- TextRun[] textRunsR = slideOneR.getTextRuns();
- RichTextRun[] rtrs = textRunsR[1].getRichTextRuns();
+ HSLFSlide slideOneR = ssRichA.getSlides()[0];
+ HSLFTextParagraph[] textRunsR = slideOneR.getTextRuns();
+ HSLFTextRun[] rtrs = textRunsR[1].getRichTextRuns();
assertEquals(3, rtrs.length);
assertTrue(rtrs[0].isBold());
*/
public void testFontSize() {
- Slide slideOne = ss.getSlides()[0];
- TextRun[] textRuns = slideOne.getTextRuns();
- RichTextRun rtr = textRuns[0].getRichTextRuns()[0];
+ HSLFSlide slideOne = ss.getSlides()[0];
+ HSLFTextParagraph[] textRuns = slideOne.getTextRuns();
+ HSLFTextRun rtr = textRuns[0].getRichTextRuns()[0];
- Slide slideOneR = ssRichB.getSlides()[0];
- TextRun[] textRunsR = slideOneR.getTextRuns();
- RichTextRun rtrRa = textRunsR[0].getRichTextRuns()[0];
- RichTextRun rtrRb = textRunsR[1].getRichTextRuns()[0];
- RichTextRun rtrRc = textRunsR[1].getRichTextRuns()[3];
+ HSLFSlide slideOneR = ssRichB.getSlides()[0];
+ HSLFTextParagraph[] textRunsR = slideOneR.getTextRuns();
+ HSLFTextRun rtrRa = textRunsR[0].getRichTextRuns()[0];
+ HSLFTextRun rtrRb = textRunsR[1].getRichTextRuns()[0];
+ HSLFTextRun rtrRc = textRunsR[1].getRichTextRuns()[3];
String defaultFont = "Arial";
}
public void testChangeWriteRead() throws Exception {
- HSLFSlideShow[] h = new HSLFSlideShow[] { hss, hssRichA, hssRichB };
- Slide[] s = new Slide[] { ss.getSlides()[0], ssRichA.getSlides()[0], ssRichB.getSlides()[0] };
+ HSLFSlideShowImpl[] h = new HSLFSlideShowImpl[] { hss, hssRichA, hssRichB };
+ HSLFSlide[] s = new HSLFSlide[] { ss.getSlides()[0], ssRichA.getSlides()[0], ssRichB.getSlides()[0] };
for(int i=0; i<h.length; i++) {
// Change
- Slide slideOne = s[i];
- TextRun[] textRuns = slideOne.getTextRuns();
- RichTextRun rtr = textRuns[0].getRichTextRuns()[0];
+ HSLFSlide slideOne = s[i];
+ HSLFTextParagraph[] textRuns = slideOne.getTextRuns();
+ HSLFTextRun rtr = textRuns[0].getRichTextRuns()[0];
rtr.setBold(true);
rtr.setFontSize(18);
h[i].write(baos);
ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
- HSLFSlideShow readHSLF = new HSLFSlideShow(bais);
- SlideShow readS = new SlideShow(readHSLF);
+ HSLFSlideShowImpl readHSLF = new HSLFSlideShowImpl(bais);
+ HSLFSlideShow readS = new HSLFSlideShow(readHSLF);
// Tweak existing one again, to ensure really worked
rtr.setBold(false);
// Now, look at the one we changed, wrote out, and read back in
// Ensure it does contain our original modifications
- Slide slideOneRR = readS.getSlides()[0];
- TextRun[] textRunsRR = slideOneRR.getTextRuns();
- RichTextRun rtrRRa = textRunsRR[0].getRichTextRuns()[0];
+ HSLFSlide slideOneRR = readS.getSlides()[0];
+ HSLFTextParagraph[] textRunsRR = slideOneRR.getTextRuns();
+ HSLFTextRun rtrRRa = textRunsRR[0].getRichTextRuns()[0];
assertEquals(true, rtrRRa.isBold());
assertEquals(18, rtrRRa.getFontSize());
*/
public void testParagraphStylesShorterTheCharStyles() {
// Check we have the right number of sheets
- Slide[] slides = ssRichC.getSlides();
+ HSLFSlide[] slides = ssRichC.getSlides();
assertEquals(14, slides.length);
// Check the number of text runs on interesting sheets
- Slide slideThreeC = ssRichC.getSlides()[2];
- Slide slideSevenC = ssRichC.getSlides()[6];
+ HSLFSlide slideThreeC = ssRichC.getSlides()[2];
+ HSLFSlide slideSevenC = ssRichC.getSlides()[6];
assertEquals(3, slideThreeC.getTextRuns().length);
assertEquals(5, slideSevenC.getTextRuns().length);
// Illustrative Example
// .
- TextRun[] s3tr = slideThreeC.getTextRuns();
- RichTextRun[] s3rtr0 = s3tr[0].getRichTextRuns();
- RichTextRun[] s3rtr1 = s3tr[1].getRichTextRuns();
- RichTextRun[] s3rtr2 = s3tr[2].getRichTextRuns();
+ HSLFTextParagraph[] s3tr = slideThreeC.getTextRuns();
+ HSLFTextRun[] s3rtr0 = s3tr[0].getRichTextRuns();
+ HSLFTextRun[] s3rtr1 = s3tr[1].getRichTextRuns();
+ HSLFTextRun[] s3rtr2 = s3tr[2].getRichTextRuns();
assertEquals(2, s3rtr0.length);
assertEquals(1, s3rtr1.length);
// <ps>(text a)</ps><ps>(text a)(text b)</ps>
// TR:
// (text)
- TextRun[] s7tr = slideSevenC.getTextRuns();
- RichTextRun[] s7rtr0 = s7tr[0].getRichTextRuns();
- RichTextRun[] s7rtr1 = s7tr[1].getRichTextRuns();
- RichTextRun[] s7rtr2 = s7tr[2].getRichTextRuns();
+ HSLFTextParagraph[] s7tr = slideSevenC.getTextRuns();
+ HSLFTextRun[] s7rtr0 = s7tr[0].getRichTextRuns();
+ HSLFTextRun[] s7rtr1 = s7tr[1].getRichTextRuns();
+ HSLFTextRun[] s7rtr2 = s7tr[2].getRichTextRuns();
assertEquals(1, s7rtr0.length);
assertEquals(3, s7rtr1.length);
assertMatchesSLTWC(ssRichC);
assertMatchesFileC(ssRichC);
- Slide slideSevenC = ssRichC.getSlides()[6];
- TextRun[] s7tr = slideSevenC.getTextRuns();
- RichTextRun[] s7rtr0 = s7tr[0].getRichTextRuns();
- RichTextRun[] s7rtr1 = s7tr[1].getRichTextRuns();
- RichTextRun[] s7rtr2 = s7tr[2].getRichTextRuns();
+ HSLFSlide slideSevenC = ssRichC.getSlides()[6];
+ HSLFTextParagraph[] s7tr = slideSevenC.getTextRuns();
+ HSLFTextRun[] s7rtr0 = s7tr[0].getRichTextRuns();
+ HSLFTextRun[] s7rtr1 = s7tr[1].getRichTextRuns();
+ HSLFTextRun[] s7rtr2 = s7tr[2].getRichTextRuns();
String oldText;
* contents.
* @param s
*/
- private void assertMatchesSLTWC(SlideShow s) throws Exception {
+ private void assertMatchesSLTWC(HSLFSlideShow s) throws Exception {
// Grab a new copy of slideshow C
- SlideShow refC = new SlideShow(_slTests.openResourceAsStream(filenameC));
+ HSLFSlideShow refC = new HSLFSlideShow(_slTests.openResourceAsStream(filenameC));
// Write out the 2nd SLWT in the active document
SlideListWithText refSLWT = refC.getDocumentRecord().getSlideListWithTexts()[1];
* Checks that the supplied slideshow still matches the bytes
* of slideshow c
*/
- private static void assertMatchesFileC(SlideShow s) throws Exception {
+ private static void assertMatchesFileC(HSLFSlideShow s) throws Exception {
if (true) { // TODO - test is disabled, pending fix of bug #39800
// System.err.println("Skipping test, as would be marked as failed due to bug #39800"); //
return;
}
public void testIndentationLevel() throws Exception {
- SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("ParagraphStylesShorterThanCharStyles.ppt"));
- Slide[] sl = ppt.getSlides();
+ HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream("ParagraphStylesShorterThanCharStyles.ppt"));
+ HSLFSlide[] sl = ppt.getSlides();
for (int i = 0; i < sl.length; i++) {
- TextRun[] txt = sl[i].getTextRuns();
+ HSLFTextParagraph[] txt = sl[i].getTextRuns();
for (int j = 0; j < txt.length; j++) {
- RichTextRun[] rt = txt[j].getRichTextRuns();
+ HSLFTextRun[] rt = txt[j].getRichTextRuns();
for (int k = 0; k < rt.length; k++) {
int indent = rt[k].getIndentLevel();
assertTrue(indent >= 0 && indent <= 4 );
}
public void testReadParagraphStyles() throws Exception {
- SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("bullets.ppt"));
+ HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream("bullets.ppt"));
assertTrue("No Exceptions while reading file", true);
- RichTextRun rt;
- TextRun[] txt;
- Slide[] slide = ppt.getSlides();
+ HSLFTextRun rt;
+ HSLFTextParagraph[] txt;
+ HSLFSlide[] slide = ppt.getSlides();
assertEquals(2, slide.length);
txt = slide[0].getTextRuns();
}
public void testSetParagraphStyles() throws Exception {
- SlideShow ppt = new SlideShow();
+ HSLFSlideShow ppt = new HSLFSlideShow();
- Slide slide = ppt.createSlide();
+ HSLFSlide slide = ppt.createSlide();
- TextBox shape = new TextBox();
- RichTextRun rt = shape.getTextRun().getRichTextRuns()[0];
+ HSLFTextBox shape = new HSLFTextBox();
+ HSLFTextRun rt = shape.getTextParagraph().getRichTextRuns()[0];
shape.setText(
"Hello, World!\r" +
"This should be\r" +
ppt.write(out);
out.close();
- ppt = new SlideShow(new ByteArrayInputStream(out.toByteArray()));
+ ppt = new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray()));
slide = ppt.getSlides()[0];
- shape = (TextBox)slide.getShapes()[0];
- rt = shape.getTextRun().getRichTextRuns()[0];
+ shape = (HSLFTextBox)slide.getShapes()[0];
+ rt = shape.getTextParagraph().getRichTextRuns()[0];
assertEquals(42, rt.getFontSize());
assertEquals(true, rt.isBullet());
assertEquals(50, rt.getTextOffset());
}
public void testAddText() throws Exception {
- SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("bullets.ppt"));
+ HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream("bullets.ppt"));
assertTrue("No Exceptions while reading file", true);
- RichTextRun rt;
- TextRun[] txt;
- Slide[] slides = ppt.getSlides();
+ HSLFTextRun rt;
+ HSLFTextParagraph[] txt;
+ HSLFSlide[] slides = ppt.getSlides();
assertEquals(2, slides.length);
txt = slides[0].getTextRuns();
ppt.write(out);
out.close();
- ppt = new SlideShow(new ByteArrayInputStream(out.toByteArray()));
+ ppt = new HSLFSlideShow(new ByteArrayInputStream(out.toByteArray()));
slides = ppt.getSlides();
assertEquals(2, slides.length);
}
public void testChineseParagraphs() throws Exception {
- RichTextRun[] rts;
- RichTextRun rt;
- TextRun[] txt;
- Slide[] slides = ssChinese.getSlides();
+ HSLFTextRun[] rts;
+ HSLFTextRun rt;
+ HSLFTextParagraph[] txt;
+ HSLFSlide[] slides = ssChinese.getSlides();
// One slide
assertEquals(1, slides.length);
import junit.framework.TestCase;
+
import org.apache.poi.hslf.*;
import org.apache.poi.hslf.model.*;
import org.apache.poi.POIDataSamples;
*/
public final class TestSheetText extends TestCase {
// SlideShow primed on the test data
- private SlideShow ss;
+ private HSLFSlideShow ss;
public TestSheetText() throws Exception {
POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
- HSLFSlideShow hss = new HSLFSlideShow(slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
- ss = new SlideShow(hss);
+ HSLFSlideShowImpl hss = new HSLFSlideShowImpl(slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
+ ss = new HSLFSlideShow(hss);
}
public void testSheetOne() {
- Sheet slideOne = ss.getSlides()[0];
+ HSLFSheet slideOne = ss.getSlides()[0];
String[] expectText = new String[] {"This is a test title","This is a test subtitle\nThis is on page 1"};
assertEquals(expectText.length, slideOne.getTextRuns().length);
}
public void testSheetTwo() {
- Sheet slideTwo = ss.getSlides()[1];
+ HSLFSheet slideTwo = ss.getSlides()[1];
String[] expectText = new String[] {"This is the title on page 2","This is page two\nIt has several blocks of text\nNone of them have formatting"};
assertEquals(expectText.length, slideTwo.getTextRuns().length);
for(int i=0; i<expectText.length; i++) {
*/
public void testWithShortTextPropData() throws Exception {
POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
- HSLFSlideShow hss = new HSLFSlideShow(slTests.openResourceAsStream("iisd_report.ppt"));
- SlideShow sss = new SlideShow(hss);
+ HSLFSlideShowImpl hss = new HSLFSlideShowImpl(slTests.openResourceAsStream("iisd_report.ppt"));
+ HSLFSlideShow sss = new HSLFSlideShow(hss);
// Should come out with 10 slides, no notes
assertEquals(10, sss.getSlides().length);
assertEquals(0, sss.getNotes().length);
// Check text on first slide
- Slide s = sss.getSlides()[0];
+ HSLFSlide s = sss.getSlides()[0];
String exp =
"Realizing the Development Dividend:\n" +
"Community Capacity Building and CDM.\n" +
package org.apache.poi.hslf.usermodel;
import junit.framework.TestCase;
+
import org.apache.poi.hslf.*;
import org.apache.poi.hslf.model.*;
import org.apache.poi.POIDataSamples;
private static POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
// Simple slideshow, record order matches slide order
- private SlideShow ssA;
+ private HSLFSlideShow ssA;
// Complex slideshow, record order doesn't match slide order
- private SlideShow ssB;
+ private HSLFSlideShow ssB;
public TestSlideOrdering() throws Exception {
- HSLFSlideShow hssA = new HSLFSlideShow(slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
- ssA = new SlideShow(hssA);
+ HSLFSlideShowImpl hssA = new HSLFSlideShowImpl(slTests.openResourceAsStream("basic_test_ppt_file.ppt"));
+ ssA = new HSLFSlideShow(hssA);
- HSLFSlideShow hssB = new HSLFSlideShow(slTests.openResourceAsStream("incorrect_slide_order.ppt"));
- ssB = new SlideShow(hssB);
+ HSLFSlideShowImpl hssB = new HSLFSlideShowImpl(slTests.openResourceAsStream("incorrect_slide_order.ppt"));
+ ssB = new HSLFSlideShow(hssB);
}
/**
public void testSimpleCase() {
assertEquals(2, ssA.getSlides().length);
- Slide s1 = ssA.getSlides()[0];
- Slide s2 = ssA.getSlides()[1];
+ HSLFSlide s1 = ssA.getSlides()[0];
+ HSLFSlide s2 = ssA.getSlides()[1];
String[] firstTRs = new String[] { "This is a test title", "This is the title on page 2" };
public void testComplexCase() {
assertEquals(3, ssB.getSlides().length);
- Slide s1 = ssB.getSlides()[0];
- Slide s2 = ssB.getSlides()[1];
- Slide s3 = ssB.getSlides()[2];
+ HSLFSlide s1 = ssB.getSlides()[0];
+ HSLFSlide s2 = ssB.getSlides()[1];
+ HSLFSlide s3 = ssB.getSlides()[2];
String[] firstTRs = new String[] { "Slide 1", "Slide 2", "Slide 3" };
protected void assertSlideOrdering(String filename, String[] titles) throws Exception {
POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
- SlideShow ppt = new SlideShow(slTests.openResourceAsStream(filename));
- Slide[] slide = ppt.getSlides();
+ HSLFSlideShow ppt = new HSLFSlideShow(slTests.openResourceAsStream(filename));
+ HSLFSlide[] slide = ppt.getSlides();
assertEquals(titles.length, slide.length);
for (int i = 0; i < slide.length; i++) {
//read the reference sound file
byte[] ref_data = slTests.readFile("ringin.wav");
- SlideShow ppt = new SlideShow(slTests.openResourceAsStream("sound.ppt"));
+ HSLFSlideShow ppt = new HSLFSlideShow(slTests.openResourceAsStream("sound.ppt"));
- SoundData[] sound = ppt.getSoundData();
+ HSLFSoundData[] sound = ppt.getSoundData();
assertEquals("Expected 1 sound", 1, sound.length);
assertArrayEquals(ref_data, sound[0].getData());
import junit.framework.TestCase;
import org.apache.poi.hslf.model.HSLFShape;
-import org.apache.poi.hslf.model.Slide;
+import org.apache.poi.hslf.model.HSLFSlide;
import org.apache.poi.hslf.model.Table;
-import org.apache.poi.hslf.model.TextRun;
+import org.apache.poi.hslf.model.HSLFTextParagraph;
import org.apache.poi.POIDataSamples;
}
public void testTable() throws Exception {
- SlideShow ppt = new SlideShow(_slTests.openResourceAsStream("54111.ppt"));
+ HSLFSlideShow ppt = new HSLFSlideShow(_slTests.openResourceAsStream("54111.ppt"));
assertTrue("No Exceptions while reading file", true);
- final Slide[] slides = ppt.getSlides();
+ final HSLFSlide[] slides = ppt.getSlides();
assertEquals(1, slides.length);
checkSlide(slides[0]);
}
- private void checkSlide(final Slide s) {
- TextRun[] textRuns = s.getTextRuns();
+ private void checkSlide(final HSLFSlide s) {
+ HSLFTextParagraph[] textRuns = s.getTextRuns();
assertEquals(2, textRuns.length);
- RichTextRun textRun = textRuns[0].getRichTextRuns()[0];
+ HSLFTextRun textRun = textRuns[0].getRichTextRuns()[0];
assertEquals("Table sample", textRun.getRawText().trim());
assertEquals(1, textRuns[0].getRichTextRuns().length);
assertFalse(textRun.isBullet());
assertEquals(4, table.getNumberOfColumns());
assertEquals(6, table.getNumberOfRows());
for (int x = 0; x < 4; x ++) {
- assertEquals("TH Cell " + (x + 1), table.getCell(0, x).getTextRun().getRawText());
+ assertEquals("TH Cell " + (x + 1), table.getCell(0, x).getTextParagraph().getRawText());
for (int y = 1; y < 6; y++) {
assertEquals("Row " + y + ", Cell " + (x + 1), table.getCell(y, x).getText());
}