update ooo310-m15
[ooovba.git] / applied_patches / 0828-cws-ooxml03-opc-svx-and-ptt-split.diff
blobe9bf62632b4fb7ea05ba1ca25af000f08cc392de
1 diff --git basctl/util/makefile.mk basctl/util/makefile.mk
2 index 1867774..c6d6c26 100644
3 --- basctl/util/makefile.mk
4 +++ basctl/util/makefile.mk
5 @@ -54,6 +54,7 @@ SHL1TARGET= basctl$(DLLPOSTFIX)
6 SHL1IMPLIB= basctl
7 SHL1BASE = 0x1d800000
8 SHL1STDLIBS= \
9 + $(SVXCORELIB) \
10 $(SVXLIB) \
11 $(SFX2LIB) \
12 $(BASICLIB) \
13 diff --git chart2/source/controller/makefile.mk chart2/source/controller/makefile.mk
14 index 8c215a0..0d88f3d 100644
15 --- chart2/source/controller/makefile.mk
16 +++ chart2/source/controller/makefile.mk
17 @@ -90,6 +90,7 @@ SHL1STDLIBS= $(CHARTTOOLS) \
18 $(SALLIB) \
19 $(SVLLIB) \
20 $(SVTOOLLIB) \
21 + $(SVXCORELIB) \
22 $(SVXLIB) \
23 $(TKLIB) \
24 $(TOOLSLIB) \
25 diff --git chart2/source/view/makefile.mk chart2/source/view/makefile.mk
26 index 8f10548..17a2ea9 100644
27 --- chart2/source/view/makefile.mk
28 +++ chart2/source/view/makefile.mk
29 @@ -83,7 +83,7 @@ SHL1STDLIBS= $(CHARTTOOLS) \
30 $(SALLIB) \
31 $(SVLLIB) \
32 $(SVTOOLLIB) \
33 - $(SVXLIB) \
34 + $(SVXCORELIB) \
35 $(TKLIB) \
36 $(TOOLSLIB) \
37 $(UNOTOOLSLIB) \
38 diff --git dbaccess/source/ext/macromigration/makefile.mk dbaccess/source/ext/macromigration/makefile.mk
39 index 17e51d9..d2f39cc 100644
40 --- dbaccess/source/ext/macromigration/makefile.mk
41 +++ dbaccess/source/ext/macromigration/makefile.mk
42 @@ -78,6 +78,7 @@ SHL1STDLIBS= \
43 $(SVTOOLLIB) \
44 $(SVLLIB) \
45 $(VCLLIB) \
46 + $(SVXCORELIB) \
47 $(SVXLIB) \
48 $(UCBHELPERLIB)
50 diff --git dbaccess/util/makefile.mk dbaccess/util/makefile.mk
51 index 92e038a..4a148ad 100644
52 --- dbaccess/util/makefile.mk
53 +++ dbaccess/util/makefile.mk
54 @@ -112,6 +112,7 @@ LIB2FILES=\
55 SHL2TARGET=$(TARGET2)$(DLLPOSTFIX)
57 SHL2STDLIBS= \
58 + $(SVXCORELIB) \
59 $(SVXLIB) \
60 $(SFXLIB) \
61 $(BASICLIB) \
62 diff --git extensions/source/abpilot/makefile.mk extensions/source/abpilot/makefile.mk
63 index e76840e..34b504b 100644
64 --- extensions/source/abpilot/makefile.mk
65 +++ extensions/source/abpilot/makefile.mk
66 @@ -94,6 +94,7 @@ SHL1STDLIBS= \
67 $(COMPHELPERLIB) \
68 $(TKLIB) \
69 $(UNOTOOLSLIB) \
70 + $(SVXCORELIB) \
71 $(SVXLIB)
73 SHL1LIBS= $(SLB)$/$(TARGET).lib
74 diff --git extensions/source/oooimprovecore/makefile.mk extensions/source/oooimprovecore/makefile.mk
75 index 0547be9..83b04b6 100644
76 --- extensions/source/oooimprovecore/makefile.mk
77 +++ extensions/source/oooimprovecore/makefile.mk
78 @@ -58,6 +58,7 @@ SHL1STDLIBS= \
79 $(SVTOOLLIB) \
80 $(SFXLIB) \
81 $(SVXLIB) \
82 + $(SVXCORELIB) \
83 $(TOOLSLIB)
86 diff --git extensions/source/preload/makefile.mk extensions/source/preload/makefile.mk
87 index 8186d73..629aa53 100644
88 --- extensions/source/preload/makefile.mk
89 +++ extensions/source/preload/makefile.mk
90 @@ -64,7 +64,7 @@ SHL1TARGET= $(TARGET)$(DLLPOSTFIX)
91 SHL1VERSIONMAP= $(TARGET).map
93 SHL1STDLIBS= \
94 - $(SVXLIB) \
95 + $(SVXCORELIB) \
96 $(SFXLIB) \
97 $(SVTOOLLIB)\
98 $(VCLLIB) \
99 diff --git extensions/source/propctrlr/makefile.mk extensions/source/propctrlr/makefile.mk
100 index 4db4596..89a04d9 100644
101 --- extensions/source/propctrlr/makefile.mk
102 +++ extensions/source/propctrlr/makefile.mk
103 @@ -118,6 +118,7 @@ SHL1TARGET= $(TARGET)$(DLLPOSTFIX)
104 SHL1VERSIONMAP= $(TARGET).map
106 SHL1STDLIBS= \
107 + $(SVXCORELIB) \
108 $(SVXLIB) \
109 $(SFXLIB) \
110 $(SVTOOLLIB)\
111 diff --git filter/source/config/fragments/filters/MS_PowerPoint_97.xcu filter/source/config/fragments/filters/MS_PowerPoint_97.xcu
112 index cab11c1..1ec0fb7 100644
113 --- filter/source/config/fragments/filters/MS_PowerPoint_97.xcu
114 +++ filter/source/config/fragments/filters/MS_PowerPoint_97.xcu
115 @@ -2,7 +2,7 @@
116 <prop oor:name="Flags"><value>IMPORT EXPORT ALIEN</value></prop>
117 <prop oor:name="UIComponent"/>
118 <prop oor:name="FilterService"/>
119 - <prop oor:name="UserData"><value>emp</value></prop>
120 + <prop oor:name="UserData"><value>sdfilt</value></prop>
121 <prop oor:name="UIName">
122 <value xml:lang="x-default">Microsoft PowerPoint 97/2000/XP</value>
123 </prop>
124 diff --git filter/source/config/fragments/filters/MS_PowerPoint_97_Vorlage.xcu filter/source/config/fragments/filters/MS_PowerPoint_97_Vorlage.xcu
125 index 50b2c34..c4a28e8 100644
126 --- filter/source/config/fragments/filters/MS_PowerPoint_97_Vorlage.xcu
127 +++ filter/source/config/fragments/filters/MS_PowerPoint_97_Vorlage.xcu
128 @@ -2,7 +2,7 @@
129 <prop oor:name="Flags"><value>IMPORT EXPORT TEMPLATE TEMPLATEPATH ALIEN</value></prop>
130 <prop oor:name="UIComponent"/>
131 <prop oor:name="FilterService"/>
132 - <prop oor:name="UserData"><value>emp</value></prop>
133 + <prop oor:name="UserData"><value>sdfilt</value></prop>
134 <prop oor:name="FileFormatVersion"><value>0</value></prop>
135 <prop oor:name="Type"><value>impress_MS_PowerPoint_97_Vorlage</value></prop>
136 <prop oor:name="TemplateName"/>
137 diff --git filter/source/config/fragments/filters/MS_Word_2007_XML.xcu filter/source/config/fragments/filters/MS_Word_2007_XML.xcu
138 index d8a3740..69feaa0 100644
139 --- filter/source/config/fragments/filters/MS_Word_2007_XML.xcu
140 +++ filter/source/config/fragments/filters/MS_Word_2007_XML.xcu
141 @@ -1,7 +1,8 @@
142 <node oor:name="MS Word 2007 XML" oor:op="replace">
143 - <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER</value></prop>
144 + <prop oor:name="Flags"><value>IMPORT EXPORT ALIEN 3RDPARTYFILTER</value></prop>
145 <prop oor:name="UIComponent"/>
146 <prop oor:name="FilterService"><value>com.sun.star.comp.Writer.WriterFilter</value></prop>
147 + <!-- <prop oor:name="FilterService"><value>com.sun.star.comp.Writer.DocxExport</value></prop> -->
148 <prop oor:name="UserData"><value>OXML</value></prop>
149 <prop oor:name="UIName">
150 <value xml:lang="x-default">Microsoft Word 2007 XML</value>
151 diff --git filter/source/svg/makefile.mk filter/source/svg/makefile.mk
152 index ddb2dd2..4d04bef 100644
153 --- filter/source/svg/makefile.mk
154 +++ filter/source/svg/makefile.mk
155 @@ -66,8 +66,7 @@ CFLAGS+=-DUSE_MODERN_SPIRIT
156 SHL1TARGET=$(TARGET)$(DLLPOSTFIX)
158 SHL1STDLIBS=\
159 - $(BASEGFXLIB) \
160 - $(SVXLIB) \
161 + $(SVXCORELIB) \
162 $(XMLOFFLIB) \
163 $(SVTOOLLIB) \
164 $(BASEGFXLIB) \
165 diff --git forms/util/makefile.mk forms/util/makefile.mk
166 index cbf8bd9..9474f8e 100644
167 --- forms/util/makefile.mk
168 +++ forms/util/makefile.mk
169 @@ -73,7 +73,7 @@ SHL1STDLIBS= \
170 $(COMPHELPERLIB) \
171 $(DBTOOLSLIB) \
172 $(TKLIB) \
173 - $(SVXLIB) \
174 + $(SVXCORELIB) \
175 $(UCBHELPERLIB) \
176 $(LIBXML2LIB) \
177 $(ICUUCLIB) \
178 diff --git lotuswordpro/util/makefile.mk lotuswordpro/util/makefile.mk
179 index 63950f1..6611150 100644
180 --- lotuswordpro/util/makefile.mk
181 +++ lotuswordpro/util/makefile.mk
182 @@ -23,7 +23,7 @@ SHL1STDLIBS+= \
183 $(ICUUCLIB) \
184 $(ICUINLIB) \
185 $(ICULELIB) \
186 - $(SVXLIB) \
187 + $(SVXCORELIB) \
188 $(GOODIESLIB) \
189 $(SVTOOLLIB) \
190 $(XMLOFFLIB)
191 diff --git oox/inc/oox/core/xmlfilterbase.hxx oox/inc/oox/core/xmlfilterbase.hxx
192 index c46ee40..1f4edc3 100644
193 --- oox/inc/oox/core/xmlfilterbase.hxx
194 +++ oox/inc/oox/core/xmlfilterbase.hxx
195 @@ -42,6 +42,7 @@
197 namespace com { namespace sun { namespace star {
198 namespace container { class XNameContainer; }
199 + namespace document { class XDocumentProperties; }
200 namespace xml { namespace sax { class XLocator; } }
201 namespace xml { namespace sax { class XFastDocumentHandler; } }
202 } } }
203 @@ -191,6 +192,14 @@ public:
204 inline ::rtl::OString GetUniqueIdOString() { return ::rtl::OString::valueOf( mnMaxDocId++ ); }
205 inline ::rtl::OUString GetUniqueIdOUString() { return ::rtl::OUString::valueOf( mnMaxDocId++ ); }
207 + /** Write the document properties into into the current OPC package.
209 + @param xProperties The document properties to export.
211 + @return *this
212 + */
213 + XmlFilterBase& exportDocumentProperties( ::com::sun::star::uno::Reference< ::com::sun::star::document::XDocumentProperties > xProperties );
215 private:
216 virtual StorageRef implCreateStorage(
217 ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream >& rxInStream,
218 diff --git oox/inc/oox/export/drawingml.hxx oox/inc/oox/export/drawingml.hxx
219 new file mode 100644
220 index 0000000..3c89b99
221 --- /dev/null
222 +++ oox/inc/oox/export/drawingml.hxx
223 @@ -0,0 +1,115 @@
224 +#ifndef _OOX_EXPORT_DRAWINGML_HXX_
225 +#define _OOX_EXPORT_DRAWINGML_HXX_
227 +#include <oox/dllapi.h>
228 +#include <sax/fshelper.hxx>
229 +#include <rtl/strbuf.hxx>
230 +#include <com/sun/star/awt/FontDescriptor.hpp>
231 +#include <com/sun/star/uno/XReference.hpp>
232 +#include <tools/poly.hxx>
233 +#include <svx/escherex.hxx>
235 +class Graphic;
236 +class String;
238 +namespace com { namespace sun { namespace star {
239 +namespace beans {
240 + class XPropertySet;
241 + class XPropertyState;
243 +namespace drawing {
244 + class XShape;
246 +namespace text {
247 + class XTextContent;
248 + class XTextRange;
250 +}}}
252 +namespace oox {
253 +namespace core {
254 + class XmlFilterBase;
257 +namespace drawingml {
259 +class OOX_DLLPUBLIC DrawingML {
260 +public:
261 + enum DocumentType { DOCUMENT_DOCX, DOCUMENT_PPTX, DOCUMENT_XLSX };
263 +private:
264 + ::sax_fastparser::FSHelperPtr mpFS;
265 + ::oox::core::XmlFilterBase* mpFB;
267 + static int mnImageCounter;
269 + /// To specify where write eg. the images to (like 'ppt', or 'word' - according to the OPC).
270 + DocumentType meDocumentType;
272 +protected:
273 + ::com::sun::star::uno::Any mAny;
275 + bool GetProperty( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > rXPropSet, String aName );
276 + bool GetPropertyAndState( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > rXPropSet,
277 + ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyState > rXPropState,
278 + String aName, ::com::sun::star::beans::PropertyState& eState );
279 + const char* GetFieldType( ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > rRun );
281 + rtl::OUString WriteImage( const rtl::OUString& rURL );
283 +public:
284 + DrawingML( ::sax_fastparser::FSHelperPtr pFS, ::oox::core::XmlFilterBase* pFB = NULL, DocumentType eDocumentType = DOCUMENT_PPTX ) : mpFS( pFS ), mpFB( pFB ), meDocumentType( eDocumentType ) {}
285 + void SetFS( ::sax_fastparser::FSHelperPtr pFS ) { mpFS = pFS; }
286 + ::sax_fastparser::FSHelperPtr GetFS() { return mpFS; }
287 + ::oox::core::XmlFilterBase* GetFB() { return mpFB; }
289 + rtl::OUString WriteImage( const Graphic &rGraphic );
291 + void WriteColor( sal_uInt32 nColor );
292 + void WriteGradientStop( sal_uInt16 nStop, sal_uInt32 nColor );
293 + void WriteLineArrow( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > rXPropSet, sal_Bool bLineStart );
294 + void WriteConnectorConnections( EscherConnectorListEntry& rConnectorEntry, sal_Int32 nStartID, sal_Int32 nEndID );
296 + void WriteSolidFill( sal_uInt32 nColor );
297 + void WriteSolidFill( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > rXPropSet );
298 + void WriteGradientFill( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > rXPropSet );
299 + void WriteBlipFill( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > rXPropSet, String sURLPropName, sal_Int32 nXmlNamespace );
300 + void WriteBlipFill( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > rXPropSet, String sURLPropName );
301 + void WriteOutline( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > rXPropSet );
302 + void WriteStretch();
304 + ::rtl::OUString WriteBlip( ::rtl::OUString& rURL );
305 + void WriteBlipMode( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > rXPropSet );
307 + void WriteShapeTransformation( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > rXShape,
308 + sal_Bool bFlipH = false, sal_Bool bFlipV = false, sal_Int32 nRotation = 0 );
309 + void WriteTransformation( const Rectangle& rRectangle,
310 + sal_Bool bFlipH = false, sal_Bool bFlipV = false, sal_Int32 nRotation = 0 );
312 + void WriteText( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > rXShape );
313 + void WriteParagraph( ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextContent > rParagraph );
314 + void WriteParagraphProperties( ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextContent > rParagraph );
315 + void WriteParagraphNumbering( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > rXPropSet,
316 + sal_Int16 nLevel );
317 + void WriteRun( ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > rRun );
318 + void WriteRunProperties( ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > rRun );
320 + void WritePresetShape( const char* pShape );
321 + void WritePresetShape( const char* pShape, MSO_SPT eShapeType, sal_Bool bPredefinedHandlesUsed, sal_Int32 nAdjustmentsWhichNeedsToBeConverted, const ::com::sun::star::beans::PropertyValue& rProp );
322 + void WritePolyPolygon( const PolyPolygon& rPolyPolygon );
324 + static void ResetCounters();
326 + void GetUUID( ::rtl::OStringBuffer& rBuffer );
328 + static sal_Unicode SubstituteBullet( sal_Unicode cBulletId, ::com::sun::star::awt::FontDescriptor& rFontDesc );
330 + sal_uInt32 ColorWithIntensity( sal_uInt32 nColor, sal_uInt32 nIntensity );
332 + static const char* GetAlignment( sal_Int32 nAlignment );
338 +#endif
339 diff --git oox/inc/oox/export/shapes.hxx oox/inc/oox/export/shapes.hxx
340 new file mode 100644
341 index 0000000..40b87c4
342 --- /dev/null
343 +++ oox/inc/oox/export/shapes.hxx
344 @@ -0,0 +1,165 @@
345 +/*************************************************************************
347 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
349 + * Copyright 2008 by Sun Microsystems, Inc.
351 + * OpenOffice.org - a multi-platform office productivity suite
353 + * $RCSfile$
354 + * $Revision$
356 + * This file is part of OpenOffice.org.
358 + * OpenOffice.org is free software: you can redistribute it and/or modify
359 + * it under the terms of the GNU Lesser General Public License version 3
360 + * only, as published by the Free Software Foundation.
362 + * OpenOffice.org is distributed in the hope that it will be useful,
363 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
364 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
365 + * GNU Lesser General Public License version 3 for more details
366 + * (a copy is included in the LICENSE file that accompanied this code).
368 + * You should have received a copy of the GNU Lesser General Public License
369 + * version 3 along with OpenOffice.org. If not, see
370 + * <http://www.openoffice.org/license.html>
371 + * for a copy of the LGPLv3 License.
373 + ************************************************************************/
375 +#ifndef _OOX_EXPORT_SHAPES_HXX_
376 +#define _OOX_EXPORT_SHAPES_HXX_
378 +#include <oox/dllapi.h>
379 +#include <com/sun/star/uno/XReference.hpp>
380 +#include <oox/export/drawingml.hxx>
381 +#include <sax/fshelper.hxx>
382 +#include <vcl/mapmod.hxx>
383 +#include <hash_map>
385 +namespace com { namespace sun { namespace star {
386 +namespace beans {
387 + class XPropertySet;
389 +namespace drawing {
390 + class XShape;
391 + class XShapes;
393 +}}}
395 +namespace oox { namespace drawingml {
397 +class OOX_DLLPUBLIC ShapeExport : public DrawingML {
398 +private:
399 + sal_Int32 mnXmlNamespace;
400 + sal_Int32 mnShapeIdMax, mnPictureIdMax;
401 + Fraction maFraction;
402 + MapMode maMapModeSrc, maMapModeDest;
404 + ::com::sun::star::awt::Size MapSize( const ::com::sun::star::awt::Size& ) const;
406 + struct ShapeCheck
408 + bool operator()( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape> s1, const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape> s2 ) const
410 + return s1 == s2;
412 + };
414 + struct ShapeHash
416 + std::hash<const char*> maHashFunction;
418 + size_t operator()( const ::com::sun::star::uno::Reference < ::com::sun::star::drawing::XShape > ) const;
419 + };
421 + typedef std::hash_map< const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape>, sal_Int32, ShapeHash, ShapeCheck> ShapeHashMap;
422 + ShapeHashMap maShapeMap;
424 +public:
425 + ShapeExport( sal_Int32 nXmlNamespace, ::sax_fastparser::FSHelperPtr pFS, ::oox::core::XmlFilterBase* pFB = NULL, DocumentType eDocumentType = DOCUMENT_PPTX );
426 + virtual ~ShapeExport() {}
428 + sal_Int32 GetXmlNamespace() const;
429 + ShapeExport& SetXmlNamespace( sal_Int32 nXmlNamespace );
431 + static sal_Bool NonEmptyText( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > xShape );
433 + virtual ShapeExport&
434 + WriteBezierShape( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > xShape, sal_Bool bClosed );
435 + virtual ShapeExport&
436 + WriteClosedBezierShape( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > xShape );
437 + virtual ShapeExport&
438 + WriteConnectorShape( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > xShape );
439 + virtual ShapeExport&
440 + WriteCustomShape( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > xShape );
441 + virtual ShapeExport&
442 + WriteEllipseShape( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > xShape );
443 + virtual ShapeExport&
444 + WriteFill( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > xPropSet );
445 + virtual ShapeExport&
446 + WriteGraphicObjectShape( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > xShape );
447 + virtual ShapeExport&
448 + WriteLineShape( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > xShape );
449 + virtual ShapeExport&
450 + WriteNonVisualDrawingProperties( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > xShape, const char* sName );
451 + virtual ShapeExport&
452 + WriteNonVisualProperties( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > xShape );
453 + virtual ShapeExport&
454 + WriteOpenBezierShape( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > xShape );
455 + virtual ShapeExport&
456 + WriteRectangleShape( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > xShape );
458 + /**
459 + * Write the DrawingML for a particular shape.
461 + * <p>This is the member function you want. It performs the type lookup and
462 + * invokes the appropriate corresponding Write*() method for the specific
463 + * type.</p>
465 + * <p>To write an XShape, XShape::getShapeType() is called to determine
466 + * the shape type, and the corresponding method in this table is
467 + * invoked:</p>
469 + * <table>
470 + * <tr><th>Shape Type</th><th>Method</th></tr>
471 + * <tr><td><tt>com.sun.star.drawing.ClosedBezierShape</tt></td> <td>ShapeExport::WriteClosedBezierShape</td></tr>
472 + * <tr><td><tt>com.sun.star.drawing.CustomShape</tt></td> <td>ShapeExport::WriteCustomShape</td></tr>
473 + * <tr><td><tt>com.sun.star.drawing.EllipseShape</tt></td> <td>ShapeExport::WriteEllipseShape</td></tr>
474 + * <tr><td><tt>com.sun.star.drawing.GraphicObjectShape</tt></td> <td>ShapeExport::WriteGraphicObjectShape</td></tr>
475 + * <tr><td><tt>com.sun.star.drawing.LineShape</tt></td> <td>ShapeExport::WriteLineShape</td></tr>
476 + * <tr><td><tt>com.sun.star.drawing.OpenBezierShape</tt></td> <td>ShapeExport::WriteOpenBezierShape</td></tr>
477 + * <tr><td><tt>com.sun.star.drawing.RectangleShape</tt></td> <td>ShapeExport::WriteRectangleShape</td></tr>
478 + * <tr><td><tt>com.sun.star.drawing.TextShape</tt></td> <td>ShapeExport::WriteTextShape</td></tr>
479 + * <tr><td><tt>com.sun.star.presentation.DateTimeShape</tt></td> <td>ShapeExport::WriteTextShape</td></tr>
480 + * <tr><td><tt>com.sun.star.presentation.FooterShape</tt></td> <td>ShapeExport::WriteTextShape</td></tr>
481 + * <tr><td><tt>com.sun.star.presentation.HeaderShape</tt></td> <td>ShapeExport::WriteTextShape</td></tr>
482 + * <tr><td><tt>com.sun.star.presentation.NotesShape</tt></td> <td>ShapeExport::WriteTextShape</td></tr>
483 + * <tr><td><tt>com.sun.star.presentation.OutlinerShape</tt></td> <td>ShapeExport::WriteTextShape</td></tr>
484 + * <tr><td><tt>com.sun.star.presentation.SlideNumberShape</tt></td><td>ShapeExport::WriteTextShape</td></tr>
485 + * <tr><td><tt>com.sun.star.presentation.TitleTextShape</tt></td> <td>ShapeExport::WriteTextShape</td></tr>
486 + * </table>
488 + * <p>If the shape type is not recognized, then
489 + * <tt>ShapeExport::WriteUnknownShape</tt> is called.</p>
491 + * @param xShape The shape to export as DrawingML.
492 + * @return <tt>*this</tt>
493 + */
494 + virtual ShapeExport&
495 + WriteShape( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > xShape );
496 + virtual ShapeExport&
497 + WriteTextBox( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > xShape );
498 + virtual ShapeExport&
499 + WriteTextShape( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > xShape );
500 + virtual ShapeExport&
501 + WriteUnknownShape( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > xShape );
503 + sal_Int32 GetNewShapeID( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > rShape );
504 + sal_Int32 GetShapeID( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > rShape );
509 +#endif /* ndef _OOX_EXPORT_SHAPES_HXX_ */
510 diff --git oox/inc/oox/export/utils.hxx oox/inc/oox/export/utils.hxx
511 new file mode 100644
512 index 0000000..5063105
513 --- /dev/null
514 +++ oox/inc/oox/export/utils.hxx
515 @@ -0,0 +1,73 @@
516 +/*************************************************************************
518 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
520 + * Copyright 2008 by Sun Microsystems, Inc.
522 + * OpenOffice.org - a multi-platform office productivity suite
524 + * $RCSfile$
525 + * $Revision$
527 + * This file is part of OpenOffice.org.
529 + * OpenOffice.org is free software: you can redistribute it and/or modify
530 + * it under the terms of the GNU Lesser General Public License version 3
531 + * only, as published by the Free Software Foundation.
533 + * OpenOffice.org is distributed in the hope that it will be useful,
534 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
535 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
536 + * GNU Lesser General Public License version 3 for more details
537 + * (a copy is included in the LICENSE file that accompanied this code).
539 + * You should have received a copy of the GNU Lesser General Public License
540 + * version 3 along with OpenOffice.org. If not, see
541 + * <http://www.openoffice.org/license.html>
542 + * for a copy of the LGPLv3 License.
544 + ************************************************************************/
546 +#ifndef _OOX_EXPORT_UTILS_HXX_
547 +#define _OOX_EXPORT_UTILS_HXX_
549 +#define S(x) String( RTL_CONSTASCII_USTRINGPARAM( x ) )
550 +#define US(x) OUString( RTL_CONSTASCII_USTRINGPARAM( x ))
551 +#define I32S(x) OString::valueOf( (sal_Int32) x ).getStr()
552 +#define I64S(x) OString::valueOf( (sal_Int64) x ).getStr()
553 +#define H32S(x) OString::valueOf( (sal_Int32) x, 16 ).getStr()
554 +#define H64S(x) OString::valueOf( (sal_Int64) x, 16 ).getStr()
555 +#define IS(x) OString::valueOf( x ).getStr()
556 +#define USS(x) OUStringToOString( x, RTL_TEXTENCODING_UTF8 ).getStr()
557 +#define ST(x) ByteString( x, RTL_TEXTENCODING_UTF8 ).GetBuffer()
559 +#ifndef DBG
560 +# if OSL_DEBUG_LEVEL > 0
561 +# define DBG(x) x
562 +# else
563 +# define DBG(x)
564 +# endif
565 +#endif
567 +// ---------------------------------------------------------------------------------------------
569 +static inline sal_Int64 PPTtoEMU( INT32 nPPT )
571 + return (sal_Int64)( (double)nPPT * 1587.5 );
574 +// ---------------------------------------------------------------------------------------------
576 +static inline sal_Int64 MM100toEMU( INT32 nMM100 )
578 + return (sal_Int64)nMM100 * 360;
581 +// ---------------------------------------------------------------------------------------------
583 +static inline sal_Int64 TwipsToEMU( sal_Int32 nTwips )
585 + return sal_Int64( nTwips ) * 635;
588 +#endif
589 diff --git oox/inc/oox/export/vmlexport.hxx oox/inc/oox/export/vmlexport.hxx
590 new file mode 100644
591 index 0000000..199bc43
592 --- /dev/null
593 +++ oox/inc/oox/export/vmlexport.hxx
594 @@ -0,0 +1,118 @@
595 +/*************************************************************************
597 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
599 + * Copyright 2008 by Sun Microsystems, Inc.
601 + * OpenOffice.org - a multi-platform office productivity suite
603 + * $RCSfile$
604 + * $Revision$
606 + * This file is part of OpenOffice.org.
608 + * OpenOffice.org is free software: you can redistribute it and/or modify
609 + * it under the terms of the GNU Lesser General Public License version 3
610 + * only, as published by the Free Software Foundation.
612 + * OpenOffice.org is distributed in the hope that it will be useful,
613 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
614 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
615 + * GNU Lesser General Public License version 3 for more details
616 + * (a copy is included in the LICENSE file that accompanied this code).
618 + * You should have received a copy of the GNU Lesser General Public License
619 + * version 3 along with OpenOffice.org. If not, see
620 + * <http://www.openoffice.org/license.html>
621 + * for a copy of the LGPLv3 License.
623 + ************************************************************************/
625 +#include <oox/dllapi.h>
626 +#include <sax/fshelper.hxx>
627 +#include <svx/escherex.hxx>
629 +namespace rtl {
630 + class OString;
631 + class OStringBuffer;
634 +namespace oox {
636 +namespace vml {
638 +class OOX_DLLPUBLIC VMLExport : public EscherEx
640 + /// Fast serializer to output the data
641 + ::sax_fastparser::FSHelperPtr m_pSerializer;
643 + /// Fill the shape attributes as they come.
644 + ::sax_fastparser::FastAttributeList *m_pShapeAttrList;
646 + /// Remember the shape type.
647 + sal_uInt32 m_nShapeType;
649 + /// Remember the shape flags.
650 + sal_uInt32 m_nShapeFlags;
652 + /// Remember style, the most important shape attribute ;-)
653 + rtl::OStringBuffer *m_pShapeStyle;
655 + /// Remember which shape types we had already written.
656 + bool *m_pShapeTypeWritten;
658 +public:
659 + VMLExport( ::sax_fastparser::FSHelperPtr pSerializer );
660 + virtual ~VMLExport();
662 + ::sax_fastparser::FSHelperPtr
663 + GetFS() { return m_pSerializer; }
665 + /// Export the sdr object as VML.
666 + ///
667 + /// Call this when you need to export the object as VML.
668 + using EscherEx::AddSdrObject;
670 +protected:
671 + /// Add an attribute to the generated <v:shape/> element.
672 + ///
673 + /// This should be called from within StartShape() to ensure that the
674 + /// added attribute is preserved.
675 + void AddShapeAttribute( sal_Int32 nAttribute, const rtl::OString& sValue );
677 + /// Start the shape for which we just collected the information.
678 + ///
679 + /// Returns the element's tag number, -1 means we wrote nothing.
680 + virtual sal_Int32 StartShape();
682 + /// End the shape.
683 + ///
684 + /// The parameter is just what we got from StartShape().
685 + virtual void EndShape( sal_Int32 nShapeElement );
687 + virtual void Commit( EscherPropertyContainer& rProps, const Rectangle& rRect );
689 +private:
691 + virtual void OpenContainer( UINT16 nEscherContainer, int nRecInstance = 0 );
692 + virtual void CloseContainer();
694 + virtual UINT32 EnterGroup( const String& rShapeName, const Rectangle* pBoundRect = 0 );
695 + virtual void LeaveGroup();
697 + virtual void AddShape( UINT32 nShapeType, UINT32 nShapeFlags, UINT32 nShapeId = 0 );
699 +private:
700 + /// Create an OString representing the id from a numerical id.
701 + static rtl::OString ShapeIdString( sal_uInt32 nId );
703 + /// Add starting and ending point of a line to the m_pShapeAttrList.
704 + void AddLineDimensions( const Rectangle& rRectangle );
706 + /// Add position and size to the OStringBuffer.
707 + void AddRectangleDimensions( rtl::OStringBuffer& rBuffer, const Rectangle& rRectangle );
710 +} // namespace vml
712 +} // namespace oox
713 diff --git oox/prj/build.lst oox/prj/build.lst
714 index b582229..e3d36b8 100644
715 --- oox/prj/build.lst
716 +++ oox/prj/build.lst
717 @@ -1,4 +1,4 @@
718 -oox oox : vos cppu cppuhelper comphelper sal offapi sax basegfx tools unotools BOOST:boost NULL
719 +oox oox : vos cppu cppuhelper comphelper sal offapi sax basegfx svx tools unotools vcl BOOST:boost NULL
720 oox oox usr1 - all oox_mkout NULL
721 oox oox\prj get - all oox_prj NULL
722 oox oox\source\token nmake - all oox_token NULL
723 @@ -15,4 +15,5 @@ oox oox\source\vml nmake - all oox_vml oox_token NULL
724 oox oox\source\xls nmake - all oox_xls oox_token NULL
725 oox oox\source\dump nmake - all oox_dump oox_token NULL
726 oox oox\source\shape nmake - all oox_shape oox_token NULL
727 -oox oox\util nmake - all oox_util oox_token oox_helper oox_core oox_ole oox_vml oox_drawingml oox_diagram oox_chart oox_table oox_ppt oox_xls oox_dump oox_shape oox_docprop NULL
728 +oox oox\source\export nmake - all oox_export oox_token NULL
729 +oox oox\util nmake - all oox_util oox_token oox_helper oox_core oox_ole oox_vml oox_drawingml oox_diagram oox_chart oox_table oox_ppt oox_xls oox_dump oox_export oox_shape oox_docprop NULL
730 diff --git oox/prj/d.lst oox/prj/d.lst
731 index 54fc7f7..2bf664a 100644
732 --- oox/prj/d.lst
733 +++ oox/prj/d.lst
734 @@ -1,5 +1,6 @@
735 mkdir: %_DEST%\inc%_EXT%\oox
736 mkdir: %_DEST%\inc%_EXT%\oox\core
737 +mkdir: %_DEST%\inc%_EXT%\oox\export
738 mkdir: %_DEST%\inc%_EXT%\oox\helper
739 mkdir: %_DEST%\inc%_EXT%\oox\vml
740 mkdir: %_DEST%\inc%_EXT%\oox\drawingml
741 @@ -27,6 +28,7 @@ mkdir: %_DEST%\inc%_EXT%\oox\drawingml\table
742 ..\inc\oox\drawingml\chart\chartconverter.hxx %_DEST%\inc%_EXT%\oox\drawingml\chart\chartconverter.hxx
743 ..\inc\oox\drawingml\table\tablestylelist.hxx %_DEST%\inc%_EXT%\oox\drawingml\table\tablestylelist.hxx
744 ..\inc\oox\vml\shape.hxx %_DEST%\inc%_EXT%\oox\vml\shape.hxx
745 +..\inc\oox\export\*.hxx %_DEST%\inc%_EXT%\oox\export\*.hxx
747 ..\%__SRC%\lib\*.dylib %_DEST%\lib%_EXT%\*.dylib
749 diff --git oox/source/core/xmlfilterbase.cxx oox/source/core/xmlfilterbase.cxx
750 index 3e6d72b..8ff8f0d 100644
751 --- oox/source/core/xmlfilterbase.cxx
752 +++ oox/source/core/xmlfilterbase.cxx
753 @@ -29,9 +29,21 @@
754 ************************************************************************/
756 #include "oox/core/xmlfilterbase.hxx"
757 +#include "oox/core/fasttokenhandler.hxx"
758 +#include "oox/core/fragmenthandler.hxx"
759 +#include "oox/core/modelobjectcontainer.hxx"
760 +#include "oox/core/namespaces.hxx"
761 +#include "oox/core/recordparser.hxx"
762 +#include "oox/core/relationshandler.hxx"
763 +#include "oox/helper/containerhelper.hxx"
764 +#include "oox/helper/zipstorage.hxx"
766 #include <set>
767 -#include <stdio.h>
769 +#include <cstdio>
771 #include <rtl/ustrbuf.hxx>
773 #include <com/sun/star/beans/XPropertySet.hpp>
774 #include <com/sun/star/container/XNameContainer.hpp>
775 #include <com/sun/star/document/XDocumentSubStorageSupplier.hpp>
776 @@ -40,15 +52,10 @@
777 #include <com/sun/star/embed/XRelationshipAccess.hpp>
778 #include <com/sun/star/xml/sax/InputSource.hpp>
779 #include <com/sun/star/xml/sax/XFastParser.hpp>
780 +#include <com/sun/star/document/XDocumentProperties.hpp>
781 #include <sax/fshelper.hxx>
782 -#include "oox/helper/containerhelper.hxx"
783 -#include "oox/helper/zipstorage.hxx"
784 -#include "oox/core/fasttokenhandler.hxx"
785 -#include "oox/core/fragmenthandler.hxx"
786 -#include "oox/core/modelobjectcontainer.hxx"
787 -#include "oox/core/namespaces.hxx"
788 -#include "oox/core/recordparser.hxx"
789 -#include "oox/core/relationshandler.hxx"
791 +#include "tokens.hxx"
793 using ::rtl::OUString;
794 using ::rtl::OUStringBuffer;
795 @@ -61,6 +68,7 @@ using ::com::sun::star::uno::RuntimeException;
796 using ::com::sun::star::uno::UNO_QUERY;
797 using ::com::sun::star::uno::UNO_QUERY_THROW;
798 using ::com::sun::star::uno::makeAny;
799 +using ::com::sun::star::lang::Locale;
800 using ::com::sun::star::lang::XMultiServiceFactory;
801 using ::com::sun::star::embed::XRelationshipAccess;
802 using ::com::sun::star::embed::XStorage;
803 @@ -75,6 +83,8 @@ using ::com::sun::star::xml::sax::XFastTokenHandler;
804 using ::com::sun::star::xml::sax::XFastDocumentHandler;
805 using ::com::sun::star::xml::sax::InputSource;
806 using ::com::sun::star::xml::sax::SAXException;
807 +using ::com::sun::star::document::XDocumentProperties;
808 +using ::com::sun::star::util::DateTime;
809 using ::sax_fastparser::FastSerializerHelper;
810 using ::sax_fastparser::FSHelperPtr;
812 @@ -363,6 +373,186 @@ OUString XmlFilterBase::addRelation( const Reference< XOutputStream > xOutputStr
813 return OUString();
816 +static void
817 +writeElement( FSHelperPtr pDoc, sal_Int32 nXmlElement, const OUString& sValue )
819 + if( sValue.getLength() == 0 )
820 + return;
821 + pDoc->startElement( nXmlElement, FSEND );
822 + pDoc->write( sValue );
823 + pDoc->endElement( nXmlElement );
826 +static void
827 +writeElement( FSHelperPtr pDoc, sal_Int32 nXmlElement, const sal_Int32 nValue )
829 + pDoc->startElement( nXmlElement, FSEND );
830 + pDoc->write( OUString::valueOf( nValue ) );
831 + pDoc->endElement( nXmlElement );
834 +static void
835 +writeElement( FSHelperPtr pDoc, sal_Int32 nXmlElement, const DateTime& rTime )
837 + if( rTime.Year == 0 )
838 + return;
840 + pDoc->startElement( nXmlElement,
841 + FSNS( XML_xsi, XML_type ), "dcterms:W3CDTF",
842 + FSEND );
844 + char pStr[200];
845 + snprintf( pStr, sizeof( pStr ), "%d-%02d-%02dT%02d:%02d:%02d.%02dZ",
846 + rTime.Year, rTime.Month, rTime.Day,
847 + rTime.Hours, rTime.Minutes, rTime.Seconds,
848 + rTime.HundredthSeconds );
850 + pDoc->write( pStr );
852 + pDoc->endElement( nXmlElement );
855 +static void
856 +writeElement( FSHelperPtr pDoc, sal_Int32 nXmlElement, Sequence< rtl::OUString > aItems )
858 + if( aItems.getLength() == 0 )
859 + return;
861 + OUStringBuffer sRep;
862 + sRep.append( aItems[ 0 ] );
864 + for( sal_Int32 i = 1, end = aItems.getLength(); i < end; ++i )
866 + sRep.appendAscii( " " ).append( aItems[ i ] );
869 + writeElement( pDoc, nXmlElement, sRep.makeStringAndClear() );
872 +static void
873 +writeElement( FSHelperPtr pDoc, sal_Int32 nXmlElement, const Locale& rLocale )
875 + // TODO: what to do with .Country and .Variant
876 + writeElement( pDoc, nXmlElement, rLocale.Language );
879 +static void
880 +writeCoreProperties( XmlFilterBase& rSelf, Reference< XDocumentProperties > xProperties )
882 + rSelf.addRelation(
883 + CREATE_OUSTRING( "http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" ),
884 + CREATE_OUSTRING( "docProps/core.xml" ) );
885 + FSHelperPtr pCoreProps = rSelf.openOutputStreamWithSerializer(
886 + CREATE_OUSTRING( "docProps/core.xml" ),
887 + CREATE_OUSTRING( "application/vnd.openxmlformats-package.core-properties+xml" ) );
888 + pCoreProps->startElementNS( XML_cp, XML_coreProperties,
889 + FSNS( XML_xmlns, XML_cp ), "http://schemas.openxmlformats.org/package/2006/metadata/core-properties",
890 + FSNS( XML_xmlns, XML_dc ), "http://purl.org/dc/elements/1.1/",
891 + FSNS( XML_xmlns, XML_dcterms ), "http://purl.org/dc/terms/",
892 + FSNS( XML_xmlns, XML_dcmitype ), "http://purl.org/dc/dcmitype/",
893 + FSNS( XML_xmlns, XML_xsi ), "http://www.w3.org/2001/XMLSchema-instance",
894 + FSEND );
896 +#if OOXTODO
897 + writeElement( pCoreProps, FSNS( XML_cp, XML_category ), "category" );
898 + writeElement( pCoreProps, FSNS( XML_cp, XML_contentStatus ), "status" );
899 + writeElement( pCoreProps, FSNS( XML_cp, XML_contentType ), "contentType" );
900 +#endif /* def OOXTODO */
901 + writeElement( pCoreProps, FSNS( XML_dcterms, XML_created ), xProperties->getCreationDate() );
902 + writeElement( pCoreProps, FSNS( XML_dc, XML_creator ), xProperties->getAuthor() );
903 + writeElement( pCoreProps, FSNS( XML_dc, XML_description ), xProperties->getDescription() );
904 +#if OOXTODO
905 + writeElement( pCoreProps, FSNS( XML_dc, XML_identifier ), "ident" );
906 +#endif /* def OOXTODO */
907 + writeElement( pCoreProps, FSNS( XML_cp, XML_keywords ), xProperties->getKeywords() );
908 + writeElement( pCoreProps, FSNS( XML_dc, XML_language ), xProperties->getLanguage() );
909 + writeElement( pCoreProps, FSNS( XML_cp, XML_lastModifiedBy ), xProperties->getModifiedBy() );
910 + writeElement( pCoreProps, FSNS( XML_cp, XML_lastPrinted ), xProperties->getPrintDate() );
911 + writeElement( pCoreProps, FSNS( XML_dcterms, XML_modified ), xProperties->getModificationDate() );
912 + writeElement( pCoreProps, FSNS( XML_cp, XML_revision ), xProperties->getEditingCycles() );
913 + writeElement( pCoreProps, FSNS( XML_dc, XML_subject ), xProperties->getSubject() );
914 + writeElement( pCoreProps, FSNS( XML_dc, XML_title ), xProperties->getTitle() );
915 +#if OOXTODO
916 + writeElement( pCoreProps, FSNS( XML_cp, XML_version ), "version" );
917 +#endif /* def OOXTODO */
919 + pCoreProps->endElementNS( XML_cp, XML_coreProperties );
922 +static void
923 +writeAppProperties( XmlFilterBase& rSelf, Reference< XDocumentProperties > xProperties )
925 + rSelf.addRelation(
926 + CREATE_OUSTRING( "http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" ),
927 + CREATE_OUSTRING( "docProps/app.xml" ) );
928 + FSHelperPtr pAppProps = rSelf.openOutputStreamWithSerializer(
929 + CREATE_OUSTRING( "docProps/app.xml" ),
930 + CREATE_OUSTRING( "application/vnd.openxmlformats-officedocument.extended-properties+xml" ) );
931 + pAppProps->startElement( XML_Properties,
932 + XML_xmlns, "http://schemas.openxmlformats.org/officeDocument/2006/extended-properties",
933 + FSNS( XML_xmlns, XML_vt ), "http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes",
934 + FSEND );
936 + writeElement( pAppProps, XML_Template, xProperties->getTemplateName() );
937 +#if OOXTODO
938 + writeElement( pAppProps, XML_Manager, "manager" );
939 + writeElement( pAppProps, XML_Company, "company" );
940 + writeElement( pAppProps, XML_Pages, "pages" );
941 + writeElement( pAppProps, XML_Words, "words" );
942 + writeElement( pAppProps, XML_Characters, "characters" );
943 + writeElement( pAppProps, XML_PresentationFormat, "presentation format" );
944 + writeElement( pAppProps, XML_Lines, "lines" );
945 + writeElement( pAppProps, XML_Paragraphs, "paragraphs" );
946 + writeElement( pAppProps, XML_Slides, "slides" );
947 + writeElement( pAppProps, XML_Notes, "notes" );
948 +#endif /* def OOXTODO */
949 + writeElement( pAppProps, XML_TotalTime, xProperties->getEditingDuration() );
950 +#if OOXTODO
951 + writeElement( pAppProps, XML_HiddenSlides, "hidden slides" );
952 + writeElement( pAppProps, XML_MMClips, "mm clips" );
953 + writeElement( pAppProps, XML_ScaleCrop, "scale crop" );
954 + writeElement( pAppProps, XML_HeadingPairs, "heading pairs" );
955 + writeElement( pAppProps, XML_TitlesOfParts, "titles of parts" );
956 + writeElement( pAppProps, XML_LinksUpToDate, "links up-to-date" );
957 + writeElement( pAppProps, XML_CharactersWithSpaces, "characters with spaces" );
958 + writeElement( pAppProps, XML_SharedDoc, "shared doc" );
959 + writeElement( pAppProps, XML_HyperlinkBase, "hyperlink base" );
960 + writeElement( pAppProps, XML_HLinks, "hlinks" );
961 + writeElement( pAppProps, XML_HyperlinksChanged, "hyperlinks changed" );
962 + writeElement( pAppProps, XML_DigSig, "digital signature" );
963 +#endif /* def OOXTODO */
964 + writeElement( pAppProps, XML_Application, xProperties->getGenerator() );
965 +#if OOXTODO
966 + writeElement( pAppProps, XML_AppVersion, "app version" );
967 + writeElement( pAppProps, XML_DocSecurity, "doc security" );
968 +#endif /* def OOXTODO */
969 + pAppProps->endElement( XML_Properties );
972 +XmlFilterBase& XmlFilterBase::exportDocumentProperties( Reference< XDocumentProperties > xProperties )
974 + if( xProperties.is() )
976 + writeCoreProperties( *this, xProperties );
977 + writeAppProperties( *this, xProperties );
978 + Sequence< ::com::sun::star::beans::NamedValue > aStats = xProperties->getDocumentStatistics();
979 + printf( "# Document Statistics:\n" );
980 + for( sal_Int32 i = 0, end = aStats.getLength(); i < end; ++i )
982 + ::com::sun::star::uno::Any aValue = aStats[ i ].Value;
983 + ::rtl::OUString sValue;
984 + bool bHaveString = aValue >>= sValue;
985 + printf ("#\t%s=%s [%s]\n",
986 + OUStringToOString( aStats[ i ].Name, RTL_TEXTENCODING_UTF8 ).getStr(),
987 + bHaveString
988 + ? OUStringToOString( sValue, RTL_TEXTENCODING_UTF8 ).getStr()
989 + : "<unconvertable>",
990 + OUStringToOString( aValue.getValueTypeName(), RTL_TEXTENCODING_UTF8 ).getStr());
993 + return *this;
996 // ============================================================================
998 } // namespace core
999 diff --git oox/source/export/README oox/source/export/README
1000 new file mode 100644
1001 index 0000000..56195b9
1002 --- /dev/null
1003 +++ oox/source/export/README
1004 @@ -0,0 +1,2 @@
1005 +presetTextWarpDefinitions.xml and presetShapeDefinitions.xml come from the
1006 +OOXML documentation (TC45).
1007 diff --git oox/source/export/drawingml.cxx oox/source/export/drawingml.cxx
1008 new file mode 100644
1009 index 0000000..1d29513
1010 --- /dev/null
1011 +++ oox/source/export/drawingml.cxx
1012 @@ -0,0 +1,1404 @@
1013 +/*************************************************************************
1015 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
1017 + * Copyright 2008 by Sun Microsystems, Inc.
1019 + * OpenOffice.org - a multi-platform office productivity suite
1021 + * $RCSfile$
1022 + * $Revision$
1024 + * This file is part of OpenOffice.org.
1026 + * OpenOffice.org is free software: you can redistribute it and/or modify
1027 + * it under the terms of the GNU Lesser General Public License version 3
1028 + * only, as published by the Free Software Foundation.
1030 + * OpenOffice.org is distributed in the hope that it will be useful,
1031 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
1032 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1033 + * GNU Lesser General Public License version 3 for more details
1034 + * (a copy is included in the LICENSE file that accompanied this code).
1036 + * You should have received a copy of the GNU Lesser General Public License
1037 + * version 3 along with OpenOffice.org. If not, see
1038 + * <http://www.openoffice.org/license.html>
1039 + * for a copy of the LGPLv3 License.
1041 + ************************************************************************/
1043 +#include "tokens.hxx"
1044 +#include "oox/core/xmlfilterbase.hxx"
1045 +#include "oox/export/drawingml.hxx"
1046 +#include "oox/export/utils.hxx"
1048 +#include <cstdio>
1049 +#include <com/sun/star/awt/CharSet.hpp>
1050 +#include <com/sun/star/awt/FontDescriptor.hpp>
1051 +#include <com/sun/star/awt/FontSlant.hpp>
1052 +#include <com/sun/star/awt/FontWeight.hpp>
1053 +#include <com/sun/star/awt/FontUnderline.hpp>
1054 +#include <com/sun/star/awt/Gradient.hpp>
1055 +#include <com/sun/star/beans/XPropertySet.hpp>
1056 +#include <com/sun/star/beans/XPropertyState.hpp>
1057 +#include <com/sun/star/container/XEnumerationAccess.hpp>
1058 +#include <com/sun/star/drawing/BitmapMode.hpp>
1059 +#include <com/sun/star/drawing/EnhancedCustomShapeAdjustmentValue.hpp>
1060 +#include <com/sun/star/drawing/LineDash.hpp>
1061 +#include <com/sun/star/drawing/LineJoint.hpp>
1062 +#include <com/sun/star/drawing/LineStyle.hpp>
1063 +#include <com/sun/star/drawing/TextHorizontalAdjust.hpp>
1064 +#include <com/sun/star/drawing/TextVerticalAdjust.hpp>
1065 +#include <com/sun/star/i18n/ScriptType.hpp>
1066 +#include <com/sun/star/io/XOutputStream.hpp>
1067 +#include <com/sun/star/style/ParagraphAdjust.hpp>
1068 +#include <com/sun/star/text/XText.hpp>
1069 +#include <com/sun/star/text/XTextContent.hpp>
1070 +#include <com/sun/star/text/XTextField.hpp>
1071 +#include <com/sun/star/text/XTextRange.hpp>
1072 +#include <tools/stream.hxx>
1073 +#include <tools/string.hxx>
1074 +#include <vcl/cvtgrf.hxx>
1075 +#include <vcl/fontcvt.hxx>
1076 +#include <vcl/graph.hxx>
1077 +#include <goodies/grfmgr.hxx>
1078 +#include <rtl/strbuf.hxx>
1079 +#include <sfx2/app.hxx>
1080 +#include <svtools/languageoptions.hxx>
1081 +#include <svx/escherex.hxx>
1082 +#include <svx/svxenum.hxx>
1084 +using namespace ::com::sun::star;
1085 +using namespace ::com::sun::star::uno;
1086 +using namespace ::com::sun::star::drawing;
1087 +using namespace ::com::sun::star::i18n;
1088 +using ::com::sun::star::beans::PropertyState;
1089 +using ::com::sun::star::beans::PropertyValue;
1090 +using ::com::sun::star::beans::XPropertySet;
1091 +using ::com::sun::star::beans::XPropertyState;
1092 +using ::com::sun::star::container::XEnumeration;
1093 +using ::com::sun::star::container::XEnumerationAccess;
1094 +using ::com::sun::star::container::XIndexAccess;
1095 +using ::com::sun::star::io::XOutputStream;
1096 +using ::com::sun::star::text::XText;
1097 +using ::com::sun::star::text::XTextContent;
1098 +using ::com::sun::star::text::XTextField;
1099 +using ::com::sun::star::text::XTextRange;
1100 +using ::rtl::OString;
1101 +using ::rtl::OStringBuffer;
1102 +using ::rtl::OUString;
1103 +using ::rtl::OUStringBuffer;
1104 +using ::sax_fastparser::FSHelperPtr;
1106 +DBG(extern void dump_pset(Reference< XPropertySet > rXPropSet));
1108 +namespace oox {
1109 +namespace drawingml {
1111 +#define GETA(propName) \
1112 + GetProperty( rXPropSet, String( RTL_CONSTASCII_USTRINGPARAM( #propName ) ) )
1114 +#define GETAD(propName) \
1115 + ( GetPropertyAndState( rXPropSet, rXPropState, String( RTL_CONSTASCII_USTRINGPARAM( #propName ) ), eState ) && eState == beans::PropertyState_DIRECT_VALUE )
1117 +#define GET(variable, propName) \
1118 + if ( GETA(propName) ) \
1119 + mAny >>= variable;
1121 +// not thread safe
1122 +int DrawingML::mnImageCounter = 1;
1124 +void DrawingML::ResetCounters()
1126 + mnImageCounter = 1;
1129 +bool DrawingML::GetProperty( Reference< XPropertySet > rXPropSet, String aName )
1131 + bool bRetValue = false;
1133 + try {
1134 + mAny = rXPropSet->getPropertyValue( aName );
1135 + if ( mAny.hasValue() )
1136 + bRetValue = true;
1137 + } catch( Exception& ) { /* printf ("exception when trying to get value of property: %s\n", ST(aName)); */ }
1139 + return bRetValue;
1142 +bool DrawingML::GetPropertyAndState( Reference< XPropertySet > rXPropSet, Reference< XPropertyState > rXPropState, String aName, PropertyState& eState )
1144 + bool bRetValue = false;
1146 + try {
1147 + mAny = rXPropSet->getPropertyValue( aName );
1148 + if ( mAny.hasValue() ) {
1149 + bRetValue = true;
1150 + eState = rXPropState->getPropertyState( aName );
1152 + } catch( Exception& ) { /* printf ("exception when trying to get value of property: %s\n", ST(aName)); */ }
1154 + return bRetValue;
1157 +void DrawingML::WriteColor( sal_uInt32 nColor )
1159 + OString sColor = OString::valueOf( ( sal_Int64 ) nColor, 16 );
1160 + if( sColor.getLength() < 6 ) {
1161 + OStringBuffer sBuf( "0" );
1162 + int remains = 5 - sColor.getLength();
1164 + while( remains > 0 ) {
1165 + sBuf.append( "0" );
1166 + remains--;
1169 + sBuf.append( sColor );
1171 + sColor = sBuf.getStr();
1173 + mpFS->singleElementNS( XML_a, XML_srgbClr, XML_val, sColor.getStr(), FSEND );
1176 +void DrawingML::WriteSolidFill( sal_uInt32 nColor )
1178 + mpFS->startElementNS( XML_a, XML_solidFill, FSEND );
1179 + WriteColor( nColor );
1180 + mpFS->endElementNS( XML_a, XML_solidFill );
1183 +void DrawingML::WriteSolidFill( Reference< XPropertySet > rXPropSet )
1185 + if ( GetProperty( rXPropSet, S( "FillColor" ) ) )
1186 + WriteSolidFill( *((sal_uInt32*) mAny.getValue()) & 0xffffff );
1189 +void DrawingML::WriteGradientStop( sal_uInt16 nStop, sal_uInt32 nColor )
1191 + mpFS->startElementNS( XML_a, XML_gs,
1192 + XML_pos, I32S( nStop * 1000 ),
1193 + FSEND );
1194 + WriteColor( nColor );
1195 + mpFS->endElementNS( XML_a, XML_gs );
1198 +sal_uInt32 DrawingML::ColorWithIntensity( sal_uInt32 nColor, sal_uInt32 nIntensity )
1200 + return ( ( ( nColor & 0xff ) * nIntensity ) / 100 )
1201 + | ( ( ( ( ( nColor & 0xff00 ) >> 8 ) * nIntensity ) / 100 ) << 8 )
1202 + | ( ( ( ( ( nColor & 0xff0000 ) >> 8 ) * nIntensity ) / 100 ) << 8 );
1205 +void DrawingML::WriteGradientFill( Reference< XPropertySet > rXPropSet )
1207 + awt::Gradient aGradient;
1208 + if( GETA( FillGradient ) ) {
1209 + aGradient = *static_cast< const awt::Gradient* >( mAny.getValue() );
1211 + mpFS->startElementNS( XML_a, XML_gradFill, FSEND );
1213 + switch( aGradient.Style ) {
1214 + default:
1215 + case GradientStyle_LINEAR:
1216 + mpFS->startElementNS( XML_a, XML_gsLst, FSEND );
1217 + WriteGradientStop( 0, ColorWithIntensity( aGradient.StartColor, aGradient.StartIntensity ) );
1218 + WriteGradientStop( 100, ColorWithIntensity( aGradient.EndColor, aGradient.EndIntensity ) );
1219 + mpFS->endElementNS( XML_a, XML_gsLst );
1220 + mpFS->singleElementNS( XML_a, XML_lin,
1221 + XML_ang, I32S( ( ( ( 3600 - aGradient.Angle + 900 ) * 6000 ) % 21600000 ) ),
1222 + FSEND );
1223 + break;
1225 + case GradientStyle_AXIAL:
1226 + mpFS->startElementNS( XML_a, XML_gsLst, FSEND );
1227 + WriteGradientStop( 0, ColorWithIntensity( aGradient.EndColor, aGradient.EndIntensity ) );
1228 + WriteGradientStop( 50, ColorWithIntensity( aGradient.StartColor, aGradient.StartIntensity ) );
1229 + WriteGradientStop( 100, ColorWithIntensity( aGradient.EndColor, aGradient.EndIntensity ) );
1230 + mpFS->endElementNS( XML_a, XML_gsLst );
1231 + mpFS->singleElementNS( XML_a, XML_lin,
1232 + XML_ang, I32S( ( ( ( 3600 - aGradient.Angle + 900 ) * 6000 ) % 21600000 ) ),
1233 + FSEND );
1234 + break;
1236 + /* I don't see how to apply transformation to gradients, so
1237 + * elliptical will end as radial and square as
1238 + * rectangular. also position offsets are not applied */
1239 + case GradientStyle_RADIAL:
1240 + case GradientStyle_ELLIPTICAL:
1241 + case GradientStyle_RECT:
1242 + case GradientStyle_SQUARE:
1243 + mpFS->startElementNS( XML_a, XML_gsLst, FSEND );
1244 + WriteGradientStop( 0, ColorWithIntensity( aGradient.EndColor, aGradient.EndIntensity ) );
1245 + WriteGradientStop( 100, ColorWithIntensity( aGradient.StartColor, aGradient.StartIntensity ) );
1246 + mpFS->endElementNS( XML_a, XML_gsLst );
1247 + mpFS->singleElementNS( XML_a, XML_path,
1248 + XML_path, ( aGradient.Style == awt::GradientStyle_RADIAL || aGradient.Style == awt::GradientStyle_ELLIPTICAL ) ? "circle" : "rect",
1249 + FSEND );
1250 + break;
1253 + mpFS->endElementNS( XML_a, XML_gradFill );
1258 +void DrawingML::WriteLineArrow( Reference< XPropertySet > rXPropSet, sal_Bool bLineStart )
1260 + ESCHER_LineEnd eLineEnd;
1261 + sal_Int32 nArrowLength;
1262 + sal_Int32 nArrowWidth;
1264 + if ( EscherPropertyContainer::GetLineArrow( bLineStart, rXPropSet, eLineEnd, nArrowLength, nArrowWidth ) ) {
1265 + const char* len;
1266 + const char* type;
1267 + const char* width;
1269 + switch( nArrowLength ) {
1270 + case ESCHER_LineShortArrow:
1271 + len = "sm";
1272 + break;
1273 + default:
1274 + case ESCHER_LineMediumLenArrow:
1275 + len = "med";
1276 + break;
1277 + case ESCHER_LineLongArrow:
1278 + len = "lg";
1279 + break;
1282 + switch( eLineEnd ) {
1283 + default:
1284 + case ESCHER_LineNoEnd:
1285 + type = "none";
1286 + break;
1287 + case ESCHER_LineArrowEnd:
1288 + type = "triangle";
1289 + break;
1290 + case ESCHER_LineArrowStealthEnd:
1291 + type = "stealth";
1292 + break;
1293 + case ESCHER_LineArrowDiamondEnd:
1294 + type = "diamond";
1295 + break;
1296 + case ESCHER_LineArrowOvalEnd:
1297 + type = "oval";
1298 + break;
1299 + case ESCHER_LineArrowOpenEnd:
1300 + type = "arrow";
1301 + break;
1304 + switch( nArrowWidth ) {
1305 + case ESCHER_LineNarrowArrow:
1306 + width = "sm";
1307 + break;
1308 + default:
1309 + case ESCHER_LineMediumWidthArrow:
1310 + width = "med";
1311 + break;
1312 + case ESCHER_LineWideArrow:
1313 + width = "lg";
1314 + break;
1317 + mpFS->singleElementNS( XML_a, bLineStart ? XML_headEnd : XML_tailEnd,
1318 + XML_len, len,
1319 + XML_type, type,
1320 + XML_w, width,
1321 + FSEND );
1325 +void DrawingML::WriteOutline( Reference< XPropertySet > rXPropSet )
1327 + drawing::LineStyle aLineStyle( drawing::LineStyle_NONE );
1329 + GET( aLineStyle, LineStyle );
1331 + if( aLineStyle == drawing::LineStyle_NONE )
1332 + return;
1334 + sal_uInt32 nLineWidth = 0;
1335 + sal_uInt32 nColor = 0;
1336 + sal_Bool bColorSet = FALSE;
1337 + const char* cap = NULL;
1338 + drawing::LineDash aLineDash;
1339 + sal_Bool bDashSet = FALSE;
1341 + GET( nLineWidth, LineWidth );
1343 + switch( aLineStyle ) {
1344 + case drawing::LineStyle_DASH:
1345 + if( GETA( LineDash ) ) {
1346 + aLineDash = *(drawing::LineDash*) mAny.getValue();
1347 + bDashSet = TRUE;
1348 + if( aLineDash.Style == DashStyle_ROUND || aLineDash.Style == DashStyle_ROUNDRELATIVE )
1349 + cap = "rnd";
1351 + DBG(printf("dash dots: %d dashes: %d dotlen: %d dashlen: %d distance: %d\n",
1352 + int( aLineDash.Dots ), int( aLineDash.Dashes ), int( aLineDash.DotLen ), int( aLineDash.DashLen ), int( aLineDash.Distance )));
1354 + /* fallthru intended */
1355 + case drawing::LineStyle_SOLID:
1356 + default:
1357 + if ( GETA( LineColor ) ) {
1358 + nColor = *((sal_uInt32*) mAny.getValue()) & 0xffffff;
1359 + bColorSet = TRUE;
1361 + break;
1364 + mpFS->startElementNS( XML_a, XML_ln,
1365 + XML_cap, cap,
1366 + XML_w, nLineWidth > 1 ? I64S( MM100toEMU( nLineWidth ) ) : NULL,
1367 + FSEND );
1368 + if( bColorSet )
1369 + WriteSolidFill( nColor );
1371 + if( bDashSet ) {
1372 + mpFS->startElementNS( XML_a, XML_custDash, FSEND );
1373 + int i;
1374 + for( i = 0; i < aLineDash.Dots; i ++ )
1375 + mpFS->singleElementNS( XML_a, XML_ds,
1376 + XML_d, aLineDash.DotLen ? I64S( aLineDash.DotLen*1000 ) : "100000",
1377 + XML_sp, I64S( aLineDash.Distance*1000 ),
1378 + FSEND );
1379 + for( i = 0; i < aLineDash.Dashes; i ++ )
1380 + mpFS->singleElementNS( XML_a, XML_ds,
1381 + XML_d, aLineDash.DashLen ? I64S( aLineDash.DashLen*1000 ) : "100000",
1382 + XML_sp, I64S( aLineDash.Distance*1000 ),
1383 + FSEND );
1384 + mpFS->endElementNS( XML_a, XML_custDash );
1387 + if( nLineWidth > 1 && GETA( LineJoint ) ) {
1388 + LineJoint eLineJoint;
1390 + mAny >>= eLineJoint;
1391 + switch( eLineJoint ) {
1392 + case LineJoint_NONE:
1393 + case LineJoint_MIDDLE:
1394 + case LineJoint_BEVEL:
1395 + mpFS->singleElementNS( XML_a, XML_bevel, FSEND );
1396 + break;
1397 + default:
1398 + case LineJoint_MITER:
1399 + mpFS->singleElementNS( XML_a, XML_miter, FSEND );
1400 + break;
1401 + case LineJoint_ROUND:
1402 + mpFS->singleElementNS( XML_a, XML_round, FSEND );
1403 + break;
1407 + WriteLineArrow( rXPropSet, sal_True );
1408 + WriteLineArrow( rXPropSet, sal_False );
1410 + mpFS->endElementNS( XML_a, XML_ln );
1413 +OUString DrawingML::WriteImage( const OUString& rURL )
1415 + ByteString aURLBS( UniString( rURL ), RTL_TEXTENCODING_UTF8 );
1417 + const char aURLBegin[] = "vnd.sun.star.GraphicObject:";
1418 + int index = aURLBS.Search( aURLBegin );
1420 + if ( index != STRING_NOTFOUND ) {
1421 + DBG(printf ("begin: %ld %s\n", long( sizeof( aURLBegin ) ), USS( rURL ) + sizeof( aURLBegin ) - 1 ));
1422 + aURLBS.Erase( 0, sizeof( aURLBegin ) - 1 );
1423 + Graphic aGraphic = GraphicObject( aURLBS ).GetTransformedGraphic ();
1425 + return WriteImage( aGraphic );
1426 + } else {
1427 + // add link to relations
1430 + return OUString();
1433 +OUString DrawingML::WriteImage( const Graphic& rGraphic )
1435 + GfxLink aLink = rGraphic.GetLink ();
1436 + OUString sMediaType;
1437 + const char* sExtension = NULL;
1438 + OUString sRelId;
1440 + SvMemoryStream aStream;
1441 + const void* aData = aLink.GetData();
1442 + sal_Size nDataSize = aLink.GetDataSize();
1444 + switch ( aLink.GetType() ) {
1445 + case GFX_LINK_TYPE_NATIVE_GIF:
1446 + sMediaType = US( "image/gif" );
1447 + sExtension = ".gif";
1448 + break;
1449 + case GFX_LINK_TYPE_NATIVE_JPG:
1450 + sMediaType = US( "image/jpeg" );
1451 + sExtension = ".jpeg";
1452 + break;
1453 + case GFX_LINK_TYPE_NATIVE_PNG:
1454 + sMediaType = US( "image/png" );
1455 + sExtension = ".png";
1456 + break;
1457 + case GFX_LINK_TYPE_NATIVE_TIF:
1458 + sMediaType = US( "image/tiff" );
1459 + sExtension = ".tiff";
1460 + break;
1461 + case GFX_LINK_TYPE_NATIVE_WMF:
1462 + sMediaType = US( "image/x-wmf" );
1463 + sExtension = ".wmf";
1464 + break;
1465 + case GFX_LINK_TYPE_NATIVE_MET:
1466 + sMediaType = US( "image/x-met" );
1467 + sExtension = ".met";
1468 + break;
1469 + case GFX_LINK_TYPE_NATIVE_PCT:
1470 + sMediaType = US( "image/x-pict" );
1471 + sExtension = ".pct";
1472 + break;
1473 + default: {
1474 + GraphicType aType = rGraphic.GetType();
1475 + if ( aType == GRAPHIC_BITMAP ) {
1476 + GraphicConverter::Export( aStream, rGraphic, CVT_PNG );
1477 + sMediaType = US( "image/png" );
1478 + sExtension = ".png";
1479 + } else if ( aType == GRAPHIC_GDIMETAFILE ) {
1480 + GraphicConverter::Export( aStream, rGraphic, CVT_EMF );
1481 + sMediaType = US( "image/x-emf" );
1482 + sExtension = ".emf";
1483 + } else {
1484 + OSL_TRACE( "unhandled graphic type" );
1485 + break;
1488 + aData = aStream.GetData();
1489 + nDataSize = aStream.GetSize();
1490 + break;
1494 + const char *pComponent = NULL;
1495 + switch ( meDocumentType )
1497 + case DOCUMENT_DOCX: pComponent = "word"; break;
1498 + case DOCUMENT_PPTX: pComponent = "ppt"; break;
1499 + case DOCUMENT_XLSX: pComponent = "xl"; break;
1502 + Reference< XOutputStream > xOutStream = mpFB->openOutputStream( OUStringBuffer()
1503 + .appendAscii( pComponent )
1504 + .appendAscii( "/media/image" )
1505 + .append( (sal_Int32) mnImageCounter )
1506 + .appendAscii( sExtension )
1507 + .makeStringAndClear(),
1508 + sMediaType );
1509 + xOutStream->writeBytes( Sequence< sal_Int8 >( (const sal_Int8*) aData, nDataSize ) );
1510 + xOutStream->closeOutput();
1512 + const char *pImagePrefix = NULL;
1513 + switch ( meDocumentType )
1515 + case DOCUMENT_DOCX:
1516 + pImagePrefix = "media/image";
1517 + break;
1518 + case DOCUMENT_PPTX:
1519 + case DOCUMENT_XLSX:
1520 + pImagePrefix = "../media/image";
1521 + break;
1524 + sRelId = mpFB->addRelation( mpFS->getOutputStream(),
1525 + US( "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" ),
1526 + OUStringBuffer()
1527 + .appendAscii( pImagePrefix )
1528 + .append( (sal_Int32) mnImageCounter ++ )
1529 + .appendAscii( sExtension )
1530 + .makeStringAndClear() );
1532 + return sRelId;
1535 +OUString DrawingML::WriteBlip( OUString& rURL )
1537 + OUString sRelId = WriteImage( rURL );
1539 + mpFS->singleElementNS( XML_a, XML_blip,
1540 + FSNS( XML_r, XML_embed), OUStringToOString( sRelId, RTL_TEXTENCODING_UTF8 ).getStr(),
1541 + FSEND );
1543 + return sRelId;
1546 +void DrawingML::WriteBlipMode( Reference< XPropertySet > rXPropSet )
1548 + BitmapMode eBitmapMode( BitmapMode_NO_REPEAT );
1549 + if (GetProperty( rXPropSet, S( "FillBitmapMode" ) ) )
1550 + mAny >>= eBitmapMode;
1552 + DBG(printf("fill bitmap mode: %d\n", eBitmapMode));
1554 + switch (eBitmapMode) {
1555 + case BitmapMode_REPEAT:
1556 + mpFS->singleElementNS( XML_a, XML_tile, FSEND );
1557 + break;
1558 + default:
1563 +void DrawingML::WriteBlipFill( Reference< XPropertySet > rXPropSet, String sURLPropName )
1565 + WriteBlipFill( rXPropSet, sURLPropName, XML_a );
1568 +void DrawingML::WriteBlipFill( Reference< XPropertySet > rXPropSet, String sURLPropName, sal_Int32 nXmlNamespace )
1570 + if ( GetProperty( rXPropSet, sURLPropName ) ) {
1571 + OUString aURL;
1572 + mAny >>= aURL;
1574 + DBG(printf ("URL: %s\n", OUStringToOString( aURL, RTL_TEXTENCODING_UTF8 ).getStr() ));
1576 + if( !aURL.getLength() )
1577 + return;
1579 + mpFS->startElementNS( nXmlNamespace , XML_blipFill, FSEND );
1581 + WriteBlip( aURL );
1583 + if( sURLPropName == S( "FillBitmapURL" ) )
1584 + WriteBlipMode( rXPropSet );
1585 + else if( GetProperty( rXPropSet, S( "FillBitmapStretch" ) ) ) {
1586 + bool bStretch = false;
1587 + mAny >>= bStretch;
1589 + if( bStretch )
1590 + WriteStretch();
1593 + mpFS->endElementNS( nXmlNamespace, XML_blipFill );
1597 +void DrawingML::WriteStretch()
1599 + mpFS->startElementNS( XML_a, XML_stretch, FSEND );
1600 + mpFS->singleElementNS( XML_a, XML_fillRect, FSEND );
1601 + mpFS->endElementNS( XML_a, XML_stretch );
1604 +void DrawingML::WriteTransformation( const Rectangle& rRect,
1605 + sal_Bool bFlipH, sal_Bool bFlipV, sal_Int32 nRotation )
1607 + mpFS->startElementNS( XML_a, XML_xfrm,
1608 + XML_flipH, bFlipH ? "1" : NULL,
1609 + XML_flipV, bFlipV ? "1" : NULL,
1610 + XML_rot, nRotation ? I32S( nRotation ) : NULL,
1611 + FSEND );
1613 + mpFS->singleElementNS( XML_a, XML_off, XML_x, IS( MM100toEMU( rRect.Left() ) ), XML_y, IS( MM100toEMU( rRect.Top() ) ), FSEND );
1614 + mpFS->singleElementNS( XML_a, XML_ext, XML_cx, IS( MM100toEMU( rRect.GetWidth() ) ), XML_cy, IS( MM100toEMU( rRect.GetHeight() ) ), FSEND );
1616 + mpFS->endElementNS( XML_a, XML_xfrm );
1619 +void DrawingML::WriteShapeTransformation( Reference< XShape > rXShape, sal_Bool bFlipH, sal_Bool bFlipV, sal_Int32 nRotation )
1621 + DBG(printf( "write shape transformation\n" ));
1623 + awt::Point aPos = rXShape->getPosition();
1624 + awt::Size aSize = rXShape->getSize();
1626 + WriteTransformation( Rectangle( Point( aPos.X, aPos.Y ), Size( aSize.Width, aSize.Height ) ), bFlipH, bFlipV, nRotation );
1629 +void DrawingML::WriteRunProperties( Reference< XTextRange > rRun )
1631 + Reference< XPropertySet > rXPropSet( rRun, UNO_QUERY );
1632 + Reference< XPropertyState > rXPropState( rRun, UNO_QUERY );
1633 + OUString usLanguage;
1634 + PropertyState eState;
1635 + sal_Int16 nScriptType = SvtLanguageOptions::GetScriptTypeOfLanguage( Application::GetSettings().GetLanguage() );
1636 + sal_Bool bComplex = ( nScriptType == ScriptType::COMPLEX );
1637 + const char* bold = NULL;
1638 + const char* italic = NULL;
1639 + const char* underline = NULL;
1640 + sal_Int32 nSize = 1800;
1642 + if( GETAD( CharHeight ) )
1643 + nSize = (sal_Int32) (100*(*((float*) mAny.getValue())));
1645 + if ( ( bComplex && GETAD( CharWeightComplex ) ) || GETAD( CharWeight ) )
1646 + if ( *((float*) mAny.getValue()) >= awt::FontWeight::SEMIBOLD )
1647 + bold = "1";
1649 + if ( ( bComplex && GETAD( CharPostureComplex ) ) || GETAD( CharPosture ) )
1650 + switch ( *((awt::FontSlant*) mAny.getValue()) )
1652 + case awt::FontSlant_OBLIQUE :
1653 + case awt::FontSlant_ITALIC :
1654 + italic = "1";
1655 + break;
1656 + default:
1657 + break;
1660 + if ( GETAD( CharUnderline ) )
1661 + switch ( *((sal_Int16*) mAny.getValue()) )
1663 + case awt::FontUnderline::SINGLE :
1664 + underline = "sng";
1665 + break;
1666 + case awt::FontUnderline::DOUBLE :
1667 + underline = "dbl";
1668 + break;
1669 + case awt::FontUnderline::DOTTED :
1670 + underline = "dotted";
1671 + break;
1672 + case awt::FontUnderline::DASH :
1673 + underline = "dash";
1674 + break;
1675 + case awt::FontUnderline::LONGDASH :
1676 + underline = "dashLong";
1677 + break;
1678 + case awt::FontUnderline::DASHDOT :
1679 + underline = "dotDash";
1680 + break;
1681 + case awt::FontUnderline::DASHDOTDOT :
1682 + underline = "dotDotDash";
1683 + break;
1684 + case awt::FontUnderline::WAVE :
1685 + underline = "wavy";
1686 + break;
1687 + case awt::FontUnderline::DOUBLEWAVE :
1688 + underline = "wavyDbl";
1689 + break;
1690 + case awt::FontUnderline::BOLD :
1691 + underline = "heavy";
1692 + break;
1693 + case awt::FontUnderline::BOLDDOTTED :
1694 + underline = "dottedHeavy";
1695 + break;
1696 + case awt::FontUnderline::BOLDDASH :
1697 + underline = "dashHeavy";
1698 + break;
1699 + case awt::FontUnderline::BOLDLONGDASH :
1700 + underline = "dashLongHeavy";
1701 + break;
1702 + case awt::FontUnderline::BOLDDASHDOT :
1703 + underline = "dotDashHeavy";
1704 + break;
1705 + case awt::FontUnderline::BOLDDASHDOTDOT :
1706 + underline = "dotDotDashHeavy";
1707 + break;
1708 + case awt::FontUnderline::BOLDWAVE :
1709 + underline = "wavyHeavy";
1710 + break;
1713 + if( GETA( CharLocale ) ) {
1714 + com::sun::star::lang::Locale eLocale;
1715 + mAny >>= eLocale;
1717 + OUStringBuffer usLanguageBuffer = eLocale.Language;
1718 + if( eLocale.Country.getLength() ) {
1719 + usLanguageBuffer.appendAscii( "-" );
1720 + usLanguageBuffer.append( eLocale.Country );
1723 + if( usLanguageBuffer.getLength() )
1724 + usLanguage = usLanguageBuffer.makeStringAndClear();
1727 + mpFS->startElementNS( XML_a, XML_rPr,
1728 + XML_b, bold,
1729 + XML_i, italic,
1730 + XML_lang, usLanguage.getLength() ? USS( usLanguage ) : NULL,
1731 + XML_sz, nSize == 1800 ? NULL : IS( nSize ),
1732 + XML_u, underline,
1733 + FSEND );
1735 + // mso doesn't like text color to be placed after typeface
1736 + if( GETAD( CharColor ) ) {
1737 + sal_uInt32 color = *((sal_uInt32*) mAny.getValue());
1738 + DBG(printf("run color: %x auto: %x\n", static_cast<unsigned int>( color ), static_cast<unsigned int>( COL_AUTO )));
1740 + if( color == COL_AUTO ) { // nCharColor depends to the background color
1741 + sal_Bool bIsDark = sal_False;
1742 + GET( bIsDark, IsBackgroundDark );
1743 + color = bIsDark ? 0xffffff : 0x000000;
1745 + color &= 0xffffff;
1747 + // TODO: special handle embossed/engraved
1749 + WriteSolidFill( color );
1752 + if( GETAD( CharFontName ) ) {
1753 + const char* typeface = NULL;
1754 + const char* pitch = NULL;
1755 + const char* charset = NULL;
1756 + OUString usTypeface, usPitch, usCharset;
1758 + mAny >>= usTypeface;
1759 + String aSubstName( GetSubsFontName( usTypeface, SUBSFONT_ONLYONE | SUBSFONT_MS ) );
1760 + if( aSubstName.Len() )
1761 + typeface = ST( aSubstName );
1762 + else
1763 + typeface = USS( usTypeface );
1767 + mpFS->singleElementNS( XML_a, XML_latin,
1768 + XML_typeface, typeface,
1769 + XML_pitchFamily, pitch,
1770 + XML_charset, charset,
1771 + FSEND );
1774 + if( ( bComplex && GETAD( CharFontNameComplex ) ) || ( !bComplex && GETAD( CharFontNameAsian ) ) ) {
1775 + const char* typeface = NULL;
1776 + const char* pitch = NULL;
1777 + const char* charset = NULL;
1778 + OUString usTypeface, usPitch, usCharset;
1780 + mAny >>= usTypeface;
1781 + String aSubstName( GetSubsFontName( usTypeface, SUBSFONT_ONLYONE | SUBSFONT_MS ) );
1782 + if( aSubstName.Len() )
1783 + typeface = ST( aSubstName );
1784 + else
1785 + typeface = USS( usTypeface );
1787 + mpFS->singleElementNS( XML_a, bComplex ? XML_cs : XML_ea,
1788 + XML_typeface, typeface,
1789 + XML_pitchFamily, pitch,
1790 + XML_charset, charset,
1791 + FSEND );
1794 + mpFS->endElementNS( XML_a, XML_rPr );
1797 +const char* DrawingML::GetFieldType( ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > rRun )
1799 + const char* sType = NULL;
1800 + Reference< XPropertySet > rXPropSet( rRun, UNO_QUERY );
1801 + String aFieldType;
1803 + if( GETA( TextPortionType ) ) {
1804 + aFieldType = String( *(::rtl::OUString*)mAny.getValue() );
1805 + DBG(printf ("field type: %s\n", ST(aFieldType) ));
1808 + if( aFieldType == S( "TextField" ) ) {
1809 + Reference< XTextField > rXTextField;
1810 + GET( rXTextField, TextField );
1811 + if( rXTextField.is() ) {
1812 + rXPropSet.set( rXTextField, UNO_QUERY );
1813 + if( rXPropSet.is() ) {
1814 + String aFieldKind( rXTextField->getPresentation( TRUE ) );
1815 + DBG(printf ("field kind: %s\n", ST(aFieldKind) ));
1816 + if( aFieldKind == S( "Page" ) ) {
1817 + return "slidenum";
1823 + return sType;
1826 +void DrawingML::GetUUID( OStringBuffer& rBuffer )
1828 + Sequence< sal_uInt8 > aSeq( 16 );
1829 + static char cDigits[17] = "0123456789ABCDEF";
1830 + rtl_createUuid( (sal_uInt8*)aSeq.getArray(), 0, sal_True );
1831 + int i;
1833 + rBuffer.append( '{' );
1834 + for( i = 0; i < 4; i++ ) {
1835 + rBuffer.append( cDigits[ aSeq[i] >> 4 ] );
1836 + rBuffer.append( cDigits[ aSeq[i] && 0xf ] );
1838 + rBuffer.append( '-' );
1839 + for( ; i < 6; i++ ) {
1840 + rBuffer.append( cDigits[ aSeq[i] >> 4 ] );
1841 + rBuffer.append( cDigits[ aSeq[i] && 0xf ] );
1843 + rBuffer.append( '-' );
1844 + for( ; i < 8; i++ ) {
1845 + rBuffer.append( cDigits[ aSeq[i] >> 4 ] );
1846 + rBuffer.append( cDigits[ aSeq[i] && 0xf ] );
1848 + rBuffer.append( '-' );
1849 + for( ; i < 10; i++ ) {
1850 + rBuffer.append( cDigits[ aSeq[i] >> 4 ] );
1851 + rBuffer.append( cDigits[ aSeq[i] && 0xf ] );
1853 + rBuffer.append( '-' );
1854 + for( ; i < 16; i++ ) {
1855 + rBuffer.append( cDigits[ aSeq[i] >> 4 ] );
1856 + rBuffer.append( cDigits[ aSeq[i] && 0xf ] );
1858 + rBuffer.append( '}' );
1861 +void DrawingML::WriteRun( Reference< XTextRange > rRun )
1863 + const char* sFieldType;
1864 + bool bIsField = false;
1865 + OUString sText = rRun->getString();
1867 + if( sText.getLength() < 1)
1868 + return;
1870 + if( ( sFieldType = GetFieldType( rRun ) ) ) {
1871 + OStringBuffer sUUID(39);
1873 + GetUUID( sUUID );
1874 + mpFS->startElementNS( XML_a, XML_fld,
1875 + XML_id, sUUID.getStr(),
1876 + XML_type, sFieldType,
1877 + FSEND );
1878 + bIsField = true;
1879 + } else
1880 + mpFS->startElementNS( XML_a, XML_r, FSEND );
1882 + WriteRunProperties( rRun );
1884 + mpFS->startElementNS( XML_a, XML_t, FSEND );
1885 + mpFS->writeEscaped( sText );
1886 + mpFS->endElementNS( XML_a, XML_t );
1888 + if( bIsField )
1889 + mpFS->endElementNS( XML_a, XML_fld );
1890 + else
1891 + mpFS->endElementNS( XML_a, XML_r );
1894 +#define AUTONUM(x) \
1895 + if( bPBoth ) \
1896 + pAutoNumType = #x "ParenBoth"; \
1897 + else if( bPBehind ) \
1898 + pAutoNumType = #x "ParenR"; \
1899 + else if( bSDot ) \
1900 + pAutoNumType = #x "Period";
1903 +inline static const char* GetAutoNumType( sal_Int16 nNumberingType, bool bSDot, bool bPBehind, bool bPBoth )
1905 + const char* pAutoNumType = NULL;
1907 + switch( (SvxExtNumType)nNumberingType )
1909 + case SVX_NUM_CHARS_UPPER_LETTER_N :
1910 + case SVX_NUM_CHARS_UPPER_LETTER :
1911 + AUTONUM( alphaUc );
1912 + break;
1913 + case SVX_NUM_CHARS_LOWER_LETTER_N :
1914 + case SVX_NUM_CHARS_LOWER_LETTER :
1915 + AUTONUM( alphaLc );
1916 + break;
1917 + case SVX_NUM_ROMAN_UPPER :
1918 + AUTONUM( romanUc );
1919 + break;
1920 + case SVX_NUM_ROMAN_LOWER :
1921 + AUTONUM( romanLc );
1922 + break;
1923 + case SVX_NUM_ARABIC :
1924 + AUTONUM( arabic )
1925 + else
1926 + pAutoNumType = "arabicPlain";
1927 + break;
1928 + default:
1929 + break;
1932 + return pAutoNumType;
1935 +void DrawingML::WriteParagraphNumbering( Reference< XPropertySet > rXPropSet, sal_Int16 nLevel )
1937 + if( nLevel >= 0 && GETA( NumberingRules ) )
1939 + Reference< XIndexAccess > rXIndexAccess;
1941 + if ( ( mAny >>= rXIndexAccess ) && nLevel < rXIndexAccess->getCount() )
1943 + DBG(printf ("numbering rules\n"));
1945 + Sequence< PropertyValue > aPropertySequence;
1946 + rXIndexAccess->getByIndex( nLevel ) >>= aPropertySequence;
1949 + const PropertyValue* pPropValue = aPropertySequence.getArray();
1951 + sal_Int32 nPropertyCount = aPropertySequence.getLength();
1953 + if ( nPropertyCount ) {
1955 + sal_Int16 nNumberingType = -1;
1956 + bool bSDot = false;
1957 + bool bPBehind = false;
1958 + bool bPBoth = false;
1959 + sal_Unicode aBulletChar = 0x2022; // a bullet
1960 + awt::FontDescriptor aFontDesc;
1961 + bool bHasFontDesc = false;
1962 + OUString aGraphicURL;
1963 + sal_Int16 nBulletRelSize = 0;
1965 + for ( sal_Int32 i = 0; i < nPropertyCount; i++ ) {
1966 + const void* pValue = pPropValue[ i ].Value.getValue();
1967 + if ( pValue ) {
1968 + OUString aPropName( pPropValue[ i ].Name );
1969 + DBG(printf ("pro name: %s\n", OUStringToOString( aPropName, RTL_TEXTENCODING_UTF8 ).getStr()));
1970 + if ( aPropName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "NumberingType" ) ) )
1971 + nNumberingType = *( (sal_Int16*)pValue );
1972 + else if ( aPropName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "Prefix" ) ) ) {
1973 + if( *(OUString*)pValue == US( ")" ) )
1974 + bPBoth = true;
1975 + } else if ( aPropName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "Suffix" ) ) ) {
1976 + if( *(OUString*)pValue == US( "." ) )
1977 + bSDot = true;
1978 + else if( *(OUString*)pValue == US( ")" ) )
1979 + bPBehind = true;
1980 + } else if ( aPropName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "BulletChar" ) ) )
1982 + aBulletChar = String ( *( (String*)pValue ) ).GetChar( 0 );
1983 + //printf ("bullet char: %d\n", aBulletChar.getStr());
1985 + else if ( aPropName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "BulletFont" ) ) )
1987 + aFontDesc = *( (awt::FontDescriptor*)pValue );
1988 + bHasFontDesc = true;
1990 + // Our numbullet dialog has set the wrong textencoding for our "StarSymbol" font,
1991 + // instead of a Unicode encoding the encoding RTL_TEXTENCODING_SYMBOL was used.
1992 + // Because there might exist a lot of damaged documemts I added this two lines
1993 + // which fixes the bullet problem for the export.
1994 + if ( aFontDesc.Name.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "StarSymbol" ) ) )
1995 + aFontDesc.CharSet = RTL_TEXTENCODING_MS_1252;
1997 + } else if ( aPropName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "BulletRelSize" ) ) ) {
1998 + nBulletRelSize = *( (sal_Int16*)pValue );
1999 + } else if ( aPropName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "GraphicURL" ) ) ) {
2000 + aGraphicURL = ( *(OUString*)pValue );
2001 + DBG(printf ("graphic url: %s\n", OUStringToOString( aGraphicURL, RTL_TEXTENCODING_UTF8 ).getStr()));
2002 + } else if ( aPropName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "GraphicSize" ) ) )
2004 + if ( pPropValue[ i ].Value.getValueType() == ::getCppuType( (awt::Size*)0) )
2006 + // don't cast awt::Size to Size as on 64-bits they are not the same.
2007 + ::com::sun::star::awt::Size aSize;
2008 + pPropValue[ i ].Value >>= aSize;
2009 + //aBuGraSize.nA = aSize.Width;
2010 + //aBuGraSize.nB = aSize.Height;
2011 + DBG(printf("graphic size: %dx%d\n", int( aSize.Width ), int( aSize.Height )));
2017 + const char* pAutoNumType = GetAutoNumType( nNumberingType, bSDot, bPBehind, bPBoth );
2019 + if( nLevel >= 0 ) {
2020 + if( aGraphicURL.getLength() > 0 ) {
2021 + OUString sRelId = WriteImage( aGraphicURL );
2023 + mpFS->startElementNS( XML_a, XML_buBlip, FSEND );
2024 + mpFS->singleElementNS( XML_a, XML_blip, FSNS( XML_r, XML_embed ), USS( sRelId ), FSEND );
2025 + mpFS->endElementNS( XML_a, XML_buBlip );
2026 + } else {
2027 + if( nBulletRelSize && nBulletRelSize != 100 )
2028 + mpFS->singleElementNS( XML_a, XML_buSzPct,
2029 + XML_val, IS( 1000*( (sal_Int32)nBulletRelSize ) ), FSEND );
2030 + if( bHasFontDesc )
2031 + mpFS->singleElementNS( XML_a, XML_buFont,
2032 + XML_typeface, OUStringToOString( aFontDesc.Name, RTL_TEXTENCODING_UTF8 ).getStr(),
2033 + XML_charset, (aFontDesc.CharSet == awt::CharSet::SYMBOL) ? "2" : NULL,
2034 + FSEND );
2036 + if( pAutoNumType )
2037 + mpFS->singleElementNS( XML_a, XML_buAutoNum, XML_type, pAutoNumType, FSEND );
2038 + else {
2039 + aBulletChar = SubstituteBullet( aBulletChar, aFontDesc );
2040 + mpFS->singleElementNS( XML_a, XML_buChar, XML_char, USS( OUString( aBulletChar ) ), FSEND );
2049 +const char* DrawingML::GetAlignment( sal_Int32 nAlignment )
2051 + const char* sAlignment = NULL;
2053 + switch( nAlignment ) {
2054 + case style::ParagraphAdjust_CENTER:
2055 + sAlignment = "ctr";
2056 + break;
2057 + case style::ParagraphAdjust_RIGHT:
2058 + sAlignment = "r";
2059 + break;
2060 + case style::ParagraphAdjust_BLOCK:
2061 + sAlignment = "just";
2062 + break;
2063 + default:
2067 + return sAlignment;
2070 +void DrawingML::WriteParagraphProperties( Reference< XTextContent > rParagraph )
2072 + Reference< XPropertySet > rXPropSet( rParagraph, UNO_QUERY );
2073 + Reference< XPropertyState > rXPropState( rParagraph, UNO_QUERY );
2075 + if( !rXPropSet.is() || !rXPropState.is() )
2076 + return;
2078 + sal_Int16 nLevel = -1;
2079 + GET( nLevel, NumberingLevel );
2081 + sal_Int32 nLeftMargin = 0;
2082 + // fix coordinates
2083 + //GET( nLeftMargin, ParaLeftMargin );
2085 + sal_Int16 nAlignment( style::ParagraphAdjust_LEFT );
2086 + GET( nAlignment, ParaAdjust );
2088 + if( nLevel != -1
2089 + || nLeftMargin > 0
2090 + || nAlignment != style::ParagraphAdjust_LEFT ) {
2091 + mpFS->startElementNS( XML_a, XML_pPr,
2092 + XML_lvl, nLevel > 0 ? I32S( nLevel ) : NULL,
2093 + XML_marL, nLeftMargin > 0 ? IS( nLeftMargin ) : NULL,
2094 + XML_algn, GetAlignment( nAlignment ),
2095 + FSEND );
2097 + WriteParagraphNumbering( rXPropSet, nLevel );
2099 + mpFS->endElementNS( XML_a, XML_pPr );
2103 +void DrawingML::WriteParagraph( Reference< XTextContent > rParagraph )
2105 + Reference< XEnumerationAccess > access( rParagraph, UNO_QUERY );
2106 + if( !access.is() )
2107 + return;
2109 + Reference< XEnumeration > enumeration( access->createEnumeration() );
2110 + if( !enumeration.is() )
2111 + return;
2113 + mpFS->startElementNS( XML_a, XML_p, FSEND );
2115 + sal_Bool bPropertiesWritten = FALSE;
2116 + while( enumeration->hasMoreElements() ) {
2117 + Reference< XTextRange > run;
2118 + Any any ( enumeration->nextElement() );
2120 + if (any >>= run) {
2121 + if( !bPropertiesWritten && run->getString().getLength() ) {
2122 + WriteParagraphProperties( rParagraph );
2123 + bPropertiesWritten = TRUE;
2125 + WriteRun( run );
2128 + mpFS->singleElementNS( XML_a, XML_endParaRPr, FSEND );
2130 + mpFS->endElementNS( XML_a, XML_p );
2133 +void DrawingML::WriteText( Reference< XShape > rXShape )
2135 + Reference< XText > xXText( rXShape, UNO_QUERY );
2136 + Reference< XPropertySet > rXPropSet( rXShape, UNO_QUERY );
2138 + if( !xXText.is() )
2139 + return;
2141 +#define DEFLRINS 254
2142 +#define DEFTBINS 127
2143 + sal_Int32 nLeft, nRight, nTop, nBottom;
2144 + nLeft = nRight = DEFLRINS;
2145 + nTop = nBottom = DEFTBINS;
2147 + // top inset looks a bit different compared to ppt export
2148 + // check if something related doesn't work as expected
2149 + GET( nLeft, TextLeftDistance );
2150 + GET( nRight, TextRightDistance );
2151 + GET( nTop, TextUpperDistance );
2152 + GET( nBottom, TextLowerDistance );
2154 + TextVerticalAdjust eVerticalAlignment( TextVerticalAdjust_TOP );
2155 + const char* sVerticalAlignment = NULL;
2156 + GET( eVerticalAlignment, TextVerticalAdjust );
2157 + switch( eVerticalAlignment ) {
2158 + case TextVerticalAdjust_BOTTOM:
2159 + sVerticalAlignment = "b";
2160 + break;
2161 + case TextVerticalAdjust_CENTER:
2162 + sVerticalAlignment = "ctr";
2163 + break;
2164 + case TextVerticalAdjust_TOP:
2165 + default:
2169 + TextHorizontalAdjust eHorizontalAlignment( TextHorizontalAdjust_CENTER );
2170 + bool bHorizontalCenter = false;
2171 + GET( eHorizontalAlignment, TextHorizontalAdjust );
2172 + if( eHorizontalAlignment == TextHorizontalAdjust_CENTER )
2173 + bHorizontalCenter = true;
2175 + sal_Bool bHasWrap = FALSE;
2176 + sal_Bool bWrap = FALSE;
2177 + if( GETA( TextWordWrap ) ) {
2178 + mAny >>= bWrap;
2179 + bHasWrap = TRUE;
2180 + //DBG(printf("wrap: %d\n", bWrap));
2183 + mpFS->singleElementNS( XML_a, XML_bodyPr,
2184 + XML_wrap, bHasWrap && !bWrap ? "none" : NULL,
2185 + XML_lIns, (nLeft != DEFLRINS) ? IS( MM100toEMU( nLeft ) ) : NULL,
2186 + XML_rIns, (nRight != DEFLRINS) ? IS( MM100toEMU( nRight ) ) : NULL,
2187 + XML_tIns, (nTop != DEFTBINS) ? IS( MM100toEMU( nTop ) ) : NULL,
2188 + XML_bIns, (nBottom != DEFTBINS) ? IS( MM100toEMU( nBottom ) ) : NULL,
2189 + XML_anchor, sVerticalAlignment,
2190 + XML_anchorCtr, bHorizontalCenter ? "1" : NULL,
2191 + FSEND );
2193 + Reference< XEnumerationAccess > access( xXText, UNO_QUERY );
2194 + if( !access.is() )
2195 + return;
2197 + Reference< XEnumeration > enumeration( access->createEnumeration() );
2198 + if( !enumeration.is() )
2199 + return;
2201 + while( enumeration->hasMoreElements() ) {
2202 + Reference< XTextContent > paragraph;
2203 + Any any ( enumeration->nextElement() );
2205 + if( any >>= paragraph)
2206 + WriteParagraph( paragraph );
2211 +void DrawingML::WritePresetShape( const char* pShape )
2213 + mpFS->startElementNS( XML_a, XML_prstGeom,
2214 + XML_prst, pShape,
2215 + FSEND );
2216 + mpFS->singleElementNS( XML_a, XML_avLst, FSEND );
2217 + mpFS->endElementNS( XML_a, XML_prstGeom );
2220 +void DrawingML::WritePresetShape( const char* pShape, MSO_SPT eShapeType, sal_Bool bPredefinedHandlesUsed, sal_Int32 nAdjustmentsWhichNeedsToBeConverted, const PropertyValue& rProp )
2222 + mpFS->startElementNS( XML_a, XML_prstGeom,
2223 + XML_prst, pShape,
2224 + FSEND );
2225 + mpFS->startElementNS( XML_a, XML_avLst, FSEND );
2227 + Sequence< drawing::EnhancedCustomShapeAdjustmentValue > aAdjustmentSeq;
2228 + if ( rProp.Value >>= aAdjustmentSeq ) {
2229 + DBG(printf("adj seq len: %d\n", int( aAdjustmentSeq.getLength() )));
2230 + if ( bPredefinedHandlesUsed )
2231 + EscherPropertyContainer::LookForPolarHandles( eShapeType, nAdjustmentsWhichNeedsToBeConverted );
2233 + sal_Int32 nValue, nLength = aAdjustmentSeq.getLength();
2234 + for( sal_Int32 i=0; i < nLength; i++ )
2235 + if( EscherPropertyContainer::GetAdjustmentValue( aAdjustmentSeq[ i ], i, nAdjustmentsWhichNeedsToBeConverted, nValue ) )
2236 + mpFS->singleElementNS( XML_a, XML_gd,
2237 + XML_name, nLength > 1 ? ( OString( "adj" ) + OString::valueOf( i + 1 ) ).getStr() : "adj",
2238 + XML_fmla, (OString("val ") + OString::valueOf( nValue )).getStr(),
2239 + FSEND );
2242 + mpFS->endElementNS( XML_a, XML_avLst );
2243 + mpFS->endElementNS( XML_a, XML_prstGeom );
2246 +void DrawingML::WritePolyPolygon( const PolyPolygon& rPolyPolygon )
2248 + if( rPolyPolygon.Count() < 1 )
2249 + return;
2251 + mpFS->startElementNS( XML_a, XML_custGeom, FSEND );
2252 + mpFS->singleElementNS( XML_a, XML_avLst, FSEND );
2253 + mpFS->singleElementNS( XML_a, XML_gdLst, FSEND );
2254 + mpFS->singleElementNS( XML_a, XML_ahLst, FSEND );
2255 + mpFS->singleElementNS( XML_a, XML_rect,
2256 + XML_l, "0",
2257 + XML_t, "0",
2258 + XML_r, "r",
2259 + XML_b, "b",
2260 + FSEND );
2262 + mpFS->startElementNS( XML_a, XML_pathLst, FSEND );
2264 + for( USHORT i = 0; i < rPolyPolygon.Count(); i ++ ) {
2266 + const Polygon& rPoly = rPolyPolygon[ i ];
2267 + Rectangle aRect( rPoly.GetBoundRect() );
2268 + sal_Bool bBezier = FALSE;
2270 + mpFS->startElementNS( XML_a, XML_path,
2271 + XML_w, I64S( aRect.GetWidth() ),
2272 + XML_h, I64S( aRect.GetHeight() ),
2273 + FSEND );
2275 + if( rPoly.GetSize() > 0 )
2277 + mpFS->startElementNS( XML_a, XML_moveTo, FSEND );
2279 + mpFS->singleElementNS( XML_a, XML_pt,
2280 + XML_x, I64S( rPoly[ 0 ].X() - aRect.Left() ),
2281 + XML_y, I64S( rPoly[ 0 ].Y() - aRect.Top() ),
2282 + FSEND );
2284 + mpFS->endElementNS( XML_a, XML_moveTo );
2287 + for( USHORT j = 1; j < rPoly.GetSize(); j ++ )
2289 + enum PolyFlags flags = rPoly.GetFlags(j);
2290 + if( flags == POLY_CONTROL && !bBezier )
2292 + mpFS->startElementNS( XML_a, XML_cubicBezTo, FSEND );
2293 + bBezier = TRUE;
2295 + else if( flags == POLY_NORMAL && !bBezier )
2296 + mpFS->startElementNS( XML_a, XML_lnTo, FSEND );
2298 + mpFS->singleElementNS( XML_a, XML_pt,
2299 + XML_x, I64S( rPoly[j].X() - aRect.Left() ),
2300 + XML_y, I64S( rPoly[j].Y() - aRect.Top() ),
2301 + FSEND );
2303 + if( ( flags == POLY_NORMAL || flags == POLY_SYMMTR ) && bBezier )
2305 + mpFS->endElementNS( XML_a, XML_cubicBezTo );
2306 + bBezier = FALSE;
2308 + else if( flags == POLY_NORMAL && !bBezier )
2309 + mpFS->endElementNS( XML_a, XML_lnTo );
2310 + else if( bBezier && ( j % 3 ) == 0 )
2312 + // //a:cubicBezTo can only contain 3 //a:pt elements, so we
2313 + // need to break things up...
2314 + mpFS->endElementNS( XML_a, XML_cubicBezTo );
2315 + mpFS->startElementNS( XML_a, XML_cubicBezTo, FSEND );
2317 +// switch( rPoly.GetFlags(j) ) {
2318 +// case POLY_NORMAL:
2319 +// DBG(printf("normal\n"));
2320 +// break;
2321 +// case POLY_SMOOTH:
2322 +// DBG(printf("smooth\n"));
2323 +// break;
2324 +// case POLY_CONTROL:
2325 +// DBG(printf("control\n"));
2326 +// break;
2327 +// case POLY_SYMMTR:
2328 +// DBG(printf("symmtr\n"));
2329 +// break;
2330 +// }
2331 +// DBG(printf("point %ld %ld\n", rPoly[j].X() - aRect.Left(), rPoly[j].Y() - aRect.Top()));
2334 + mpFS->endElementNS( XML_a, XML_path );
2337 + mpFS->endElementNS( XML_a, XML_pathLst );
2339 + mpFS->endElementNS( XML_a, XML_custGeom );
2342 +void DrawingML::WriteConnectorConnections( EscherConnectorListEntry& rConnectorEntry, sal_Int32 nStartID, sal_Int32 nEndID )
2344 + mpFS->singleElementNS( XML_a, XML_stCxn,
2345 + XML_id, I32S( nStartID ),
2346 + XML_idx, I64S( rConnectorEntry.GetConnectorRule( TRUE ) ),
2347 + FSEND );
2348 + mpFS->singleElementNS( XML_a, XML_endCxn,
2349 + XML_id, I32S( nEndID ),
2350 + XML_idx, I64S( rConnectorEntry.GetConnectorRule( FALSE ) ),
2351 + FSEND );
2354 +// from sw/source/filter/ww8/wrtw8num.cxx for default bullets to export to MS intact
2355 +static void lcl_SubstituteBullet(String& rNumStr, rtl_TextEncoding& rChrSet, String& rFontName)
2357 + StarSymbolToMSMultiFont *pConvert = 0;
2358 + FontFamily eFamily = FAMILY_DECORATIVE;
2360 + if (!pConvert)
2362 + pConvert = CreateStarSymbolToMSMultiFont();
2363 + }
2364 + sal_Unicode cChar = rNumStr.GetChar(0);
2365 + String sFont = pConvert->ConvertChar(cChar);
2366 + if (sFont.Len())
2368 + rNumStr = static_cast< sal_Unicode >(cChar | 0xF000);
2369 + rFontName = sFont;
2370 + rChrSet = RTL_TEXTENCODING_SYMBOL;
2372 + else if ( (rNumStr.GetChar(0) < 0xE000 || rNumStr.GetChar(0) > 0xF8FF) )
2374 + /*
2375 + Ok we can't fit into a known windows unicode font, but
2376 + we are not in the private area, so we are a
2377 + standardized symbol, so turn off the symbol bit and
2378 + let words own font substitution kick in
2379 + */
2380 + rChrSet = RTL_TEXTENCODING_UNICODE;
2381 + eFamily = FAMILY_SWISS;
2382 + rFontName = ::GetFontToken(rFontName, 0);
2384 + else
2386 + /*
2387 + Well we don't have an available substition, and we're
2388 + in our private area, so give up and show a standard
2389 + bullet symbol
2390 + */
2391 + rFontName.AssignAscii(RTL_CONSTASCII_STRINGPARAM("Wingdings"));
2392 + rNumStr = static_cast< sal_Unicode >(0x6C);
2393 + }
2394 + delete pConvert;
2397 +sal_Unicode DrawingML::SubstituteBullet( sal_Unicode cBulletId, ::com::sun::star::awt::FontDescriptor& rFontDesc )
2399 + String sNumStr = cBulletId;
2401 + if ( rFontDesc.Name.equalsIgnoreAsciiCaseAscii("starsymbol") ||
2402 + rFontDesc.Name.equalsIgnoreAsciiCaseAscii("opensymbol") ) {
2403 + String sFontName = rFontDesc.Name;
2404 + rtl_TextEncoding aCharSet = rFontDesc.CharSet;
2406 + lcl_SubstituteBullet( sNumStr, aCharSet, sFontName );
2408 + rFontDesc.Name = sFontName;
2409 + rFontDesc.CharSet = aCharSet;
2412 + return sNumStr.GetChar( 0 );
2417 diff --git oox/source/export/makefile.mk oox/source/export/makefile.mk
2418 new file mode 100644
2419 index 0000000..b9d2195
2420 --- /dev/null
2421 +++ oox/source/export/makefile.mk
2422 @@ -0,0 +1,27 @@
2423 +PRJ=..$/..
2425 +PRJNAME=oox
2426 +TARGET=export
2427 +AUTOSEG=true
2429 +ENABLE_EXCEPTIONS=TRUE
2431 +# --- Settings -----------------------------------------------------
2433 +.INCLUDE : settings.mk
2434 +.INCLUDE: $(PRJ)$/util$/makefile.pmk
2436 +# --- Files --------------------------------------------------------
2438 +SLOFILES = \
2439 + $(SLO)$/drawingml.obj \
2440 + $(SLO)$/shapes.obj \
2441 + $(SLO)$/vmlexport.obj \
2442 + $(SLO)$/vmlexport-shape-types.obj
2444 +# --- Targets -------------------------------------------------------
2446 +.INCLUDE : target.mk
2448 +$(MISC)$/vmlexport-shape-types.cxx : preset-definitions-to-shape-types.pl presetShapeDefinitions.xml presetTextWarpDefinitions.xml
2449 + $(PERL) $< > $@.in_progress 2> $(MISC)$/vmlexport-shape-types.log && mv $@.in_progress $@
2450 diff --git oox/source/export/preset-definitions-to-shape-types.pl oox/source/export/preset-definitions-to-shape-types.pl
2451 new file mode 100644
2452 index 0000000..1608f8c
2453 --- /dev/null
2454 +++ oox/source/export/preset-definitions-to-shape-types.pl
2455 @@ -0,0 +1,1242 @@
2456 +#! /usr/bin/perl -w
2457 +#*************************************************************************
2459 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
2461 +# Copyright 2008 by Sun Microsystems, Inc.
2463 +# OpenOffice.org - a multi-platform office productivity suite
2465 +# This file is part of OpenOffice.org.
2467 +# OpenOffice.org is free software: you can redistribute it and/or modify
2468 +# it under the terms of the GNU Lesser General Public License version 3
2469 +# only, as published by the Free Software Foundation.
2471 +# OpenOffice.org is distributed in the hope that it will be useful,
2472 +# but WITHOUT ANY WARRANTY; without even the implied warranty of
2473 +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2474 +# GNU Lesser General Public License version 3 for more details
2475 +# (a copy is included in the LICENSE file that accompanied this code).
2477 +# You should have received a copy of the GNU Lesser General Public License
2478 +# version 3 along with OpenOffice.org. If not, see
2479 +# <http://www.openoffice.org/license.html>
2480 +# for a copy of the LGPLv3 License.
2482 +#*************************************************************************
2484 +use warnings;
2486 +sub usage() {
2487 + print STDERR <<EOF;
2488 +Usage: preset-definitions-to-shape-types.pl <shapes> <text>
2490 +Converts presetShapeDefinitions.xml and presetTextWarpDefinitions.xml to a
2491 +.cxx that contains VML with the definitions of the shapes. The result is
2492 +written to stdout.
2494 +<shapes> presetShapeDefinitions.xml (including the path to it)
2495 +<text> presetTextWarpDefinitions.xml (including the path to it)
2496 +EOF
2497 + exit 1;
2500 +sub show_call_stack
2502 + my ( $path, $line, $subr );
2503 + my $max_depth = 30;
2504 + my $i = 1;
2505 + print STDERR "--- Begin stack trace ---\n";
2506 + while ( (my @call_details = (caller($i++))) && ($i<$max_depth) ) {
2507 + print STDERR "$call_details[1] line $call_details[2] in function $call_details[3]\n";
2509 + print STDERR "--- End stack trace ---\n";
2512 +$src_shapes = shift;
2513 +$src_text = shift;
2515 +usage() if ( !defined( $src_shapes ) || !defined( $src_text ) ||
2516 + $src_shapes eq "-h" || $src_shapes eq "--help" ||
2517 + !-f $src_shapes || !-f $src_text );
2519 +# Global variables
2520 +@levels = ();
2521 +$shape_name = "";
2522 +$state = "";
2523 +$path = "";
2524 +$adjust = "";
2525 +$max_adj_no = 0;
2526 +@formulas = ();
2527 +%variables = ();
2528 +$ignore_this_shape = 0;
2529 +$handles = "";
2530 +$textboxrect = "";
2531 +$last_pos_x = "";
2532 +$last_pos_y = "";
2533 +$no_stroke = 0;
2534 +$no_fill = 0;
2535 +$path_w = 1;
2536 +$path_h = 1;
2537 +@quadratic_bezier = ();
2539 +%result_shapes = ();
2541 +%shapes_ids = (
2542 + 0 => 'notPrimitive',
2543 + 1 => 'rectangle',
2544 + 2 => 'roundRectangle',
2545 + 3 => 'ellipse',
2546 + 4 => 'diamond',
2547 + 5 => 'triangle',
2548 + 6 => 'rtTriangle',
2549 + 7 => 'parallelogram',
2550 + 8 => 'trapezoid',
2551 + 9 => 'hexagon',
2552 + 10 => 'octagon',
2553 + 11 => 'plus',
2554 + 12 => 'star5',
2555 + 13 => 'rightArrow',
2556 + 14 => 'thickArrow', # should not be used
2557 + 15 => 'homePlate',
2558 + 16 => 'cube',
2559 + 17 => 'wedgeRoundRectCallout', # balloon
2560 + 18 => 'star16', # seal
2561 + 19 => 'arc',
2562 + 20 => 'line',
2563 + 21 => 'plaque',
2564 + 22 => 'can',
2565 + 23 => 'donut',
2566 + 24 => 'textPlain', # textSimple - FIXME MS Office 2007 converts these to textboxes with unstyled text, so is it actually correct to map it to a real style?
2567 + 25 => 'textStop', # textOctagon FIXME see 24
2568 + 26 => 'textTriangle', # textHexagon FIXMME see 24
2569 + 27 => 'textCanDown', # textCurve FIXMME see 24
2570 + 28 => 'textWave1', # textWave FIXMME see 24
2571 + 29 => 'textArchUpPour', # textRing FIXMME see 24
2572 + 30 => 'textCanDown', # textOnCurve FIXMME see 24
2573 + 31 => 'textArchUp', # textOnRing FIXMME see 24
2574 + 32 => 'straightConnector1',
2575 + 33 => 'bentConnector2',
2576 + 34 => 'bentConnector3',
2577 + 35 => 'bentConnector4',
2578 + 36 => 'bentConnector5',
2579 + 37 => 'curvedConnector2',
2580 + 38 => 'curvedConnector3',
2581 + 39 => 'curvedConnector4',
2582 + 40 => 'curvedConnector5',
2583 + 41 => 'callout1',
2584 + 42 => 'callout2',
2585 + 43 => 'callout3',
2586 + 44 => 'accentCallout1',
2587 + 45 => 'accentCallout2',
2588 + 46 => 'accentCallout3',
2589 + 47 => 'borderCallout1',
2590 + 48 => 'borderCallout2',
2591 + 49 => 'borderCallout3',
2592 + 50 => 'accentBorderCallout1',
2593 + 51 => 'accentBorderCallout2',
2594 + 52 => 'accentBorderCallout3',
2595 + 53 => 'ribbon',
2596 + 54 => 'ribbon2',
2597 + 55 => 'chevron',
2598 + 56 => 'pentagon',
2599 + 57 => 'noSmoking',
2600 + 58 => 'star8', # seal8
2601 + 59 => 'star16', # seal16
2602 + 60 => 'star32', # seal32
2603 + 61 => 'wedgeRectCallout',
2604 + 62 => 'wedgeRoundRectCallout', # wedgeRRectCallout
2605 + 63 => 'wedgeEllipseCallout',
2606 + 64 => 'wave',
2607 + 65 => 'foldedCorner',
2608 + 66 => 'leftArrow',
2609 + 67 => 'downArrow',
2610 + 68 => 'upArrow',
2611 + 69 => 'leftRightArrow',
2612 + 70 => 'upDownArrow',
2613 + 71 => 'irregularSeal1',
2614 + 72 => 'irregularSeal2',
2615 + 73 => 'lightningBolt',
2616 + 74 => 'heart',
2617 + 75 => 'frame', # pictureFrame
2618 + 76 => 'quadArrow',
2619 + 77 => 'leftArrowCallout',
2620 + 78 => 'rightArrowCallout',
2621 + 79 => 'upArrowCallout',
2622 + 80 => 'downArrowCallout',
2623 + 81 => 'leftRightArrowCallout',
2624 + 82 => 'upDownArrowCallout',
2625 + 83 => 'quadArrowCallout',
2626 + 84 => 'bevel',
2627 + 85 => 'leftBracket',
2628 + 86 => 'rightBracket',
2629 + 87 => 'leftBrace',
2630 + 88 => 'rightBrace',
2631 + 89 => 'leftUpArrow',
2632 + 90 => 'bentUpArrow',
2633 + 91 => 'bentArrow',
2634 + 92 => 'star24', # seal24
2635 + 93 => 'stripedRightArrow',
2636 + 94 => 'notchedRightArrow',
2637 + 95 => 'blockArc',
2638 + 96 => 'smileyFace',
2639 + 97 => 'verticalScroll',
2640 + 98 => 'horizontalScroll',
2641 + 99 => 'circularArrow',
2642 + 100 => 'notchedCircularArrow', # should not be used
2643 + 101 => 'uturnArrow',
2644 + 102 => 'curvedRightArrow',
2645 + 103 => 'curvedLeftArrow',
2646 + 104 => 'curvedUpArrow',
2647 + 105 => 'curvedDownArrow',
2648 + 106 => 'cloudCallout',
2649 + 107 => 'ellipseRibbon',
2650 + 108 => 'ellipseRibbon2',
2651 + 109 => 'flowChartProcess',
2652 + 110 => 'flowChartDecision',
2653 + 111 => 'flowChartInputOutput',
2654 + 112 => 'flowChartPredefinedProcess',
2655 + 113 => 'flowChartInternalStorage',
2656 + 114 => 'flowChartDocument',
2657 + 115 => 'flowChartMultidocument',
2658 + 116 => 'flowChartTerminator',
2659 + 117 => 'flowChartPreparation',
2660 + 118 => 'flowChartManualInput',
2661 + 119 => 'flowChartManualOperation',
2662 + 120 => 'flowChartConnector',
2663 + 121 => 'flowChartPunchedCard',
2664 + 122 => 'flowChartPunchedTape',
2665 + 123 => 'flowChartSummingJunction',
2666 + 124 => 'flowChartOr',
2667 + 125 => 'flowChartCollate',
2668 + 126 => 'flowChartSort',
2669 + 127 => 'flowChartExtract',
2670 + 128 => 'flowChartMerge',
2671 + 129 => 'flowChartOfflineStorage',
2672 + 130 => 'flowChartOnlineStorage',
2673 + 131 => 'flowChartMagneticTape',
2674 + 132 => 'flowChartMagneticDisk',
2675 + 133 => 'flowChartMagneticDrum',
2676 + 134 => 'flowChartDisplay',
2677 + 135 => 'flowChartDelay',
2678 + 136 => 'textPlain', # textPlainText
2679 + 137 => 'textStop',
2680 + 138 => 'textTriangle',
2681 + 139 => 'textTriangleInverted',
2682 + 140 => 'textChevron',
2683 + 141 => 'textChevronInverted',
2684 + 142 => 'textRingInside',
2685 + 143 => 'textRingOutside',
2686 + 144 => 'textArchUp', # textArchUpCurve
2687 + 145 => 'textArchDown', # textArchDownCurve
2688 + 146 => 'textCircle', # textCircleCurve
2689 + 147 => 'textButton', # textButtonCurve
2690 + 148 => 'textArchUpPour',
2691 + 149 => 'textArchDownPour',
2692 + 150 => 'textCirclePour',
2693 + 151 => 'textButtonPour',
2694 + 152 => 'textCurveUp',
2695 + 153 => 'textCurveDown',
2696 + 154 => 'textCascadeUp',
2697 + 155 => 'textCascadeDown',
2698 + 156 => 'textWave1',
2699 + 157 => 'textWave2',
2700 + 158 => 'textWave3',
2701 + 159 => 'textWave4',
2702 + 160 => 'textInflate',
2703 + 161 => 'textDeflate',
2704 + 162 => 'textInflateBottom',
2705 + 163 => 'textDeflateBottom',
2706 + 164 => 'textInflateTop',
2707 + 165 => 'textDeflateTop',
2708 + 166 => 'textDeflateInflate',
2709 + 167 => 'textDeflateInflateDeflate',
2710 + 168 => 'textFadeRight',
2711 + 169 => 'textFadeLeft',
2712 + 170 => 'textFadeUp',
2713 + 171 => 'textFadeDown',
2714 + 172 => 'textSlantUp',
2715 + 173 => 'textSlantDown',
2716 + 174 => 'textCanUp',
2717 + 175 => 'textCanDown',
2718 + 176 => 'flowChartAlternateProcess',
2719 + 177 => 'flowChartOffpageConnector',
2720 + 178 => 'callout1', # callout90
2721 + 179 => 'accentCallout1', # accentCallout90
2722 + 180 => 'borderCallout1', # borderCallout90
2723 + 181 => 'accentBorderCallout1', # accentBorderCallout90
2724 + 182 => 'leftRightUpArrow',
2725 + 183 => 'sun',
2726 + 184 => 'moon',
2727 + 185 => 'bracketPair',
2728 + 186 => 'bracePair',
2729 + 187 => 'star4', # seal4
2730 + 188 => 'doubleWave',
2731 + 189 => 'actionButtonBlank',
2732 + 190 => 'actionButtonHome',
2733 + 191 => 'actionButtonHelp',
2734 + 192 => 'actionButtonInformation',
2735 + 193 => 'actionButtonForwardNext',
2736 + 194 => 'actionButtonBackPrevious',
2737 + 195 => 'actionButtonEnd',
2738 + 196 => 'actionButtonBeginning',
2739 + 197 => 'actionButtonReturn',
2740 + 198 => 'actionButtonDocument',
2741 + 199 => 'actionButtonSound',
2742 + 200 => 'actionButtonMovie',
2743 + 201 => 'hostControl', # should not be used
2744 + 202 => 'textBox'
2746 +# An error occured, we have to ignore this shape
2747 +sub error( $ )
2749 + my ( $msg ) = @_;
2751 + $ignore_this_shape = 1;
2752 + print STDERR "ERROR (in $shape_name ): $msg\n";
2755 +# Check that we are in the correct level
2756 +sub is_level( $$ )
2758 + my ( $level, $value ) = @_;
2760 + if ( $level > 0 ) {
2761 + error( "Error in is_level(), \$level should be <= 0." );
2763 + return ( $#levels + $level > 0 ) && ( $levels[$#levels + $level] eq $value );
2766 +# Setup the %variables map with predefined values
2767 +sub setup_variables()
2769 + %variables = (
2770 + 'l' => 0,
2771 + 't' => 0,
2772 + 'r' => 21600,
2773 + 'b' => 21600,
2775 + 'w' => 21600,
2776 + 'h' => 21600,
2777 + 'ss' => 21600,
2778 + 'ls' => 21600,
2780 + 'ssd2' => 10800, # 1/2
2781 + 'ssd4' => 5400, # 1/4
2782 + 'ssd6' => 3600, # 1/6
2783 + 'ssd8' => 2700, # 1/8
2784 + 'ssd16' => 1350, # 1/16
2785 + 'ssd32' => 675, # 1/32
2787 + 'hc' => 10800, # horizontal center
2788 + 'vc' => 10800, # vertical center
2790 + 'wd2' => 10800, # 1/2
2791 + 'wd3' => 7200, # 1/3
2792 + 'wd4' => 5400, # 1/4
2793 + 'wd5' => 4320, # 1/5
2794 + 'wd6' => 3600, # 1/6
2795 + 'wd8' => 2700, # 1/8
2796 + 'wd10' => 2160, # 1/10
2797 + 'wd12' => 1800, # 1/12
2798 + 'wd32' => 675, # 1/32
2800 + 'hd2' => 10800, # 1/2
2801 + 'hd3' => 7200, # 1/3
2802 + 'hd4' => 5400, # 1/4
2803 + 'hd5' => 4320, # 1/5
2804 + 'hd6' => 3600, # 1/6
2805 + 'hd8' => 2700, # 1/8
2806 + 'hd10' => 2160, # 1/10
2807 + 'hd12' => 1800, # 1/12
2808 + 'hd32' => 675, # 1/32
2810 + '25000' => 5400,
2811 + '12500' => 2700,
2813 + 'cd4' => 90, # 1/4 of a circle
2814 + 'cd2' => 180, # 1/2 of a circle
2815 + '3cd4' => 270, # 3/4 of a circle
2817 + 'cd8' => 45, # 1/8 of a circle
2818 + '3cd8' => 135, # 3/8 of a circle
2819 + '5cd8' => 225, # 5/8 of a circle
2820 + '7cd8' => 315, # 7/8 of a circle
2822 + '-5400000' => -90,
2823 + '-10800000'=> -180,
2824 + '-16200000'=> -270,
2825 + '-21600000'=> -360,
2826 + '-21599999'=> -360,
2828 + '5400000' => 90,
2829 + '10800000' => 180,
2830 + '16200000' => 270,
2831 + '21600000' => 360,
2832 + '21599999' => 360
2834 +# '21600000' => 360, # angle conversions
2835 +# '27000000' => 450,
2836 +# '32400000' => 540,
2837 +# '37800000' => 630
2838 + );
2841 +# Convert the (predefiend) value to a number
2842 +sub value( $ )
2844 + my ( $val ) = @_;
2846 + my $result = $variables{$val};
2847 + return $result if ( defined( $result ) );
2849 + return $val if ( $val =~ /^[0-9-]+$/ );
2851 + error( "Unknown variable '$val'." );
2853 + show_call_stack();
2854 + return $val;
2857 +# Convert the DrawingML formula to a VML one
2858 +%command_variables = (
2859 + 'w' => 'width',
2860 + 'h' => 'height',
2861 + 'r' => 'width',
2862 + 'b' => 'height'
2865 +# The same as value(), but some of the hardcoded values can have a name
2866 +sub command_value( $ )
2868 + my ( $value ) = @_;
2870 + return "" if ( $value eq "" );
2872 + return $value if ( $value =~ /^@/ );
2874 + my $command_val = $command_variables{$value};
2875 + if ( defined( $command_val ) ) {
2876 + return $command_val;
2879 + return value( $value );
2882 +# Insert the new formula to the list of formulas
2883 +# Creates the name if it's empty...
2884 +sub insert_formula( $$ )
2886 + my ( $name, $fmla ) = @_;
2888 + my $i = 0;
2889 + foreach $f ( @formulas ) {
2890 + if ( $f eq $fmla ) {
2891 + if ( $name ne "" ) {
2892 + $variables{$name} = "@" . $i;
2894 + return "@" . $i;
2896 + ++$i;
2899 + if ( $name eq "" ) {
2900 + $name = "@" . ( $#formulas + 1 );
2903 + $variables{$name} = "@" . ( $#formulas + 1 );
2904 + push @formulas, $fmla;
2906 + if ( $#formulas > 127 ) {
2907 + error( "Reached the maximum amount of formulas, have to ignore the shape '$shape_name'" );
2910 + return $variables{$name};
2913 +# The same as insert_formula(), but converts the params
2914 +sub insert_formula_params( $$$$$ )
2916 + my ( $name, $command, $p1, $p2, $p3 ) = @_;
2918 + my $result = $command;
2919 + if ( $p1 ne "" ) {
2920 + $result .= " " . command_value( $p1 );
2921 + if ( $p2 ne "" ) {
2922 + $result .= " " . command_value( $p2 );
2923 + if ( $p3 ne "" ) {
2924 + $result .= " " . command_value( $p3 );
2929 + return insert_formula( $name, $result );
2932 +# Convert the formula from DrawingML to VML
2933 +sub convert_formula( $$ )
2935 + my ( $name, $fmla ) = @_;
2937 + if ( $fmla =~ /^([^ ]+)/ ) {
2938 + my $command = $1;
2940 + # parse the parameters
2941 + ( my $values = $fmla ) =~ s/^([^ ]+) *//;
2942 + my $p1 = "", $p2 = "", $p3 = "";
2943 + if ( $values =~ /^([^ ]+)/ ) {
2944 + $p1 = $1;
2945 + $values =~ s/^([^ ]+) *//;
2946 + if ( $values =~ /^([^ ]+)/ ) {
2947 + $p2 = $1;
2948 + $values =~ s/^([^ ]+) *//;
2949 + if ( $values =~ /^([^ ]+)/ ) {
2950 + $p3 = $1;
2955 + # now convert the formula
2956 + if ( $command eq "+-" ) {
2957 + if ( $p1 eq "100000" ) {
2958 + $p1 = value( 'w' );
2960 + insert_formula_params( $name, "sum", $p1, $p2, $p3 );
2961 + return;
2963 + elsif ( $command eq "*/" ) {
2964 + if ( ( $p2 =~ /^(w|h|ss|hd2|wd2|vc)$/ ) && defined( $variables{$p1} ) ) {
2965 + # switch it ;-) - presetTextWarpDefinitions.xml has it in other order
2966 + my $tmp = $p1;
2967 + $p1 = $p2;
2968 + $p2 = $tmp;
2971 + if ( ( $p1 =~ /^(w|h|ss|hd2|wd2|vc)$/ ) && defined( $variables{$p2} ) ) {
2972 + my $val3 = $p3;
2973 + if ( $val3 =~ /^[0-9-]+$/ ) {
2974 + $val3 *= ( value( 'w' ) / value( $p1 ) );
2976 + # Oh yes, I'm too lazy to implement the full GCD here ;-)
2977 + if ( ( $val3 % 100000 ) == 0 ) {
2978 + $p1 = 1;
2979 + $p3 = sprintf( "%.0f", ( $val3 / 100000 ) );
2981 + elsif ( $val3 < 100000 ) {
2982 + $p3 = 1;
2983 + while ( ( ( $p3 * 100000 ) % $val3 ) != 0 ) {
2984 + ++$p3
2986 + $p1 = ( $p3 * 100000 ) / $val3;
2988 + else {
2989 + error( "Need to count the greatest common divisor." );
2993 + elsif ( $p3 eq "100000" && $p2 =~ /^[0-9-]+$/ ) {
2994 + # prevent overflows in some shapes
2995 + $p2 = sprintf( "%.0f", ( $p2 / 10 ) );
2996 + $p3 /= 10;
2998 + elsif ( $p3 eq "32768" && $p2 =~ /^[0-9-]+$/ ) {
2999 + # prevent overflows in some shapes
3000 + $p2 = sprintf( "%.0f", ( $p2 / 8 ) );
3001 + $p3 /= 8;
3003 + elsif ( $p3 eq "50000" ) {
3004 + $p3 = 10800;
3006 + elsif ( $name =~ /^maxAdj/ ) {
3007 + my $val = value( $p1 );
3008 + if ( $val =~ /^[0-9-]+$/ ) {
3009 + $p1 = sprintf( "%.0f", ( value( 'w' ) * $val / 100000 ) );
3013 + if ( ( value( $p1 ) eq value( $p3 ) ) || ( value( $p2 ) eq value( $p3 ) ) ) {
3014 + my $val = value( ( value( $p1 ) eq value( $p3 ) )? $p2: $p1 );
3015 + if ( $val =~ /^@([0-9]+)$/ ) {
3016 + insert_formula( $name, $formulas[$1] );
3018 + else {
3019 + insert_formula( $name, "val $val" );
3022 + else {
3023 + insert_formula_params( $name, "prod", $p1, $p2, $p3 );
3025 + return;
3027 + elsif ( $command eq "+/" ) {
3028 + # we have to split this into 2 formulas - 'sum' and 'prod'
3029 + my $constructed = insert_formula_params( "", "sum", $p1, $p2, "0" );
3030 + insert_formula_params( $name, "prod", 1, $constructed, $p3); # references the 'sum' formula
3031 + return;
3033 + elsif ( $command eq "?:" ) {
3034 + insert_formula_params( $name, "if", $p1, $p2, $p3 );
3035 + return;
3037 + elsif ( $command eq "sin" || $command eq "cos" ) {
3038 + if ( $p2 =~ /^[0-9-]+$/ && ( ( $p2 % 60000 ) == 0 ) ) {
3039 + $p2 /= 60000;
3041 + else {
3042 + $p2 = insert_formula_params( "", "prod", "1", $p2, "60000" );
3044 + # we have to use 'sumangle' even for the case when $p2 is const
3045 + # and theoretically could be written as such; but Word does not
3046 + # accept it :-(
3047 + my $conv = insert_formula_params( "", "sumangle", "0", $p2, "0" );
3049 + $p2 = $conv;
3051 + insert_formula_params( $name, $command, $p1, $p2, "" );
3052 + return;
3054 + elsif ( $command eq "abs" ) {
3055 + insert_formula_params( $name, $command, $p1, "", "" );
3056 + return;
3058 + elsif ( $command eq "max" || $command eq "min" ) {
3059 + insert_formula_params( $name, $command, $p1, $p2, "" );
3060 + return;
3062 + elsif ( $command eq "at2" ) {
3063 + insert_formula_params( $name, "atan2", $p1, $p2, "" );
3064 + return;
3066 + elsif ( $command eq "cat2" ) {
3067 + insert_formula_params( $name, "cosatan2", $p1, $p2, $p3 );
3068 + return;
3070 + elsif ( $command eq "sat2" ) {
3071 + insert_formula_params( $name, "sinatan2", $p1, $p2, $p3 );
3072 + return;
3074 + elsif ( $command eq "sqrt" ) {
3075 + insert_formula_params( $name, "sqrt", $p1, "", "" );
3076 + return;
3078 + elsif ( $command eq "mod" ) {
3079 + insert_formula_params( $name, "mod", $p1, $p2, $p3 );
3080 + return;
3082 + elsif ( $command eq "val" ) {
3083 + insert_formula_params( $name, "val", value( $p1 ), "", "" );
3084 + return;
3086 + else {
3087 + error( "Unknown formula '$name', '$fmla'." );
3090 + else {
3091 + error( "Cannot convert formula's command '$name', '$fmla'." );
3095 +# There's no exact equivalent of 'arcTo' in VML, we have to do some special casing...
3096 +%convert_arcTo = (
3097 + '0' => {
3098 + '90' => {
3099 + 'path' => 'qy',
3100 + 'op' => [ 'sum 0 __last_x__ __wR__', 'sum __hR__ __last_y__ 0' ],
3101 + },
3102 + '-90' => {
3103 + 'path' => 'qy',
3104 + 'op' => [ 'sum 0 __last_x__ __wR__', 'sum 0 __last_y__ __hR__' ],
3105 + },
3106 + },
3107 + '90' => {
3108 + '90' => {
3109 + 'path' => 'qx',
3110 + 'op' => [ 'sum 0 __last_x__ __wR__', 'sum 0 __last_y__ __hR__' ],
3111 + },
3112 + '-90' => {
3113 + 'path' => 'qx',
3114 + 'op' => [ 'sum __wR__ __last_x__ 0', 'sum 0 __last_y__ __hR__' ],
3115 + },
3116 + },
3117 + '180' => {
3118 + '90' => {
3119 + 'path' => 'qy',
3120 + 'op' => [ 'sum __wR__ __last_x__ 0', 'sum 0 __last_y__ __hR__' ],
3121 + },
3122 + '-90' => {
3123 + 'path' => 'qy',
3124 + 'op' => [ 'sum __wR__ __last_x__ 0', 'sum __hR__ __last_y__ 0' ],
3125 + },
3126 + },
3127 + '270' => {
3128 + '90' => {
3129 + 'path' => 'qx',
3130 + 'op' => [ 'sum __wR__ __last_x__ 0', 'sum __hR__ __last_y__ 0' ],
3131 + },
3132 + '-90' => {
3133 + 'path' => 'qx',
3134 + 'op' => [ 'sum 0 __last_x__ __wR__', 'sum __hR__ __last_y__ 0' ],
3135 + },
3136 + },
3139 +# Elliptic quadrant
3140 +# FIXME optimize so that we compute the const values when possible
3141 +sub elliptic_quadrant( $$$$ )
3143 + my ( $wR, $hR, $stAng, $swAng ) = @_;
3145 + if ( defined( $convert_arcTo{$stAng} ) && defined( $convert_arcTo{$stAng}{$swAng} ) ) {
3146 + my $conv_path = $convert_arcTo{$stAng}{$swAng}{'path'};
3147 + my $conv_op_ref = $convert_arcTo{$stAng}{$swAng}{'op'};
3149 + $path .= "$conv_path";
3151 + my $pos_x = $last_pos_x;
3152 + my $pos_y = $last_pos_y;
3153 + for ( my $i = 0; $i <= $#{$conv_op_ref}; ++$i ) {
3154 + my $op = $conv_op_ref->[$i];
3156 + $op =~ s/__last_x__/$last_pos_x/g;
3157 + $op =~ s/__last_y__/$last_pos_y/g;
3158 + $op =~ s/__wR__/$wR/g;
3159 + $op =~ s/__hR__/$hR/g;
3161 + my $fmla = insert_formula( "", $op );
3163 + $path .= $fmla;
3165 + # so far it's sufficient just to rotate the positions
3166 + # FIXME if not ;-)
3167 + $pos_x = $pos_y;
3168 + $pos_y = $fmla;
3170 + $last_pos_x = $pos_x;
3171 + $last_pos_y = $pos_y;
3173 + else {
3174 + error( "Unhandled elliptic_quadrant(), input is ($wR, $hR, $stAng, $swAng)." );
3178 +# Convert the quadratic bezier to cubic (exact)
3179 +# No idea why, but the 'qb' did not work for me :-(
3180 +sub quadratic_to_cubic_bezier( $ )
3182 + my ( $axis ) = @_;
3184 + my $a0 = $quadratic_bezier[0]->{$axis};
3185 + my $a1 = $quadratic_bezier[1]->{$axis};
3186 + my $a2 = $quadratic_bezier[2]->{$axis};
3188 + my $b0 = $a0;
3190 + # $b1 = $a0 + 2/3 * ( $a1 - $a0 ), but in VML
3191 + # FIXME optimize for constants - compute directly
3192 + my $b1_1 = insert_formula_params( "", "sum", "0", $a1, $a0 );
3193 + my $b1_2 = insert_formula_params( "", "prod", "2", $b1_1, "3" );
3194 + my $b1 = insert_formula_params( "", "sum", $a0, $b1_2, "0" );
3196 + # $b2 = $b1 + 1/3 * ( $a2 - $a0 );
3197 + # FIXME optimize for constants - compute directly
3198 + my $b2_1 = insert_formula_params( "", "sum", "0", $a2, $a0 );
3199 + my $b2_2 = insert_formula_params( "", "prod", "1", $b2_1, "3" );
3200 + my $b2 = insert_formula_params( "", "sum", $b1, $b2_2, "0" );
3202 + my $b3 = $a2;
3204 + return ( $b0, $b1, $b2, $b3 );
3207 +# Extend $path by one more point
3208 +sub add_point_to_path( $$ )
3210 + my ( $x, $y ) = @_;
3212 + if ( $path =~ /[0-9]$/ && $x =~ /^[0-9-]/ ) {
3213 + $path .= ",";
3215 + $path .= $x;
3217 + if ( $path =~ /[0-9]$/ && $y =~ /^[0-9-]/ ) {
3218 + $path .= ",";
3220 + $path .= $y;
3223 +# Start of an element
3224 +sub start_element( $% )
3226 + my ( $element, %attr ) = @_;
3228 + push @levels, $element;
3230 + #print "element: $element\n";
3232 + if ( is_level( -1, "presetShapeDefinitons" ) || is_level( -1, "presetTextWarpDefinitions" ) ) {
3233 + $shape_name = $element;
3235 + $state = "";
3236 + $ignore_this_shape = 0;
3237 + $path = "";
3238 + $adjust = "";
3239 + $max_adj_no = 0;
3240 + @formulas = ();
3241 + $handles = "";
3242 + $textboxrect = "";
3243 + $last_pos_x = "";
3244 + $last_pos_y = "";
3245 + $no_stroke = 0;
3246 + $no_fill = 0;
3247 + @quadratic_bezier = ();
3249 + setup_variables();
3251 + if ( $shape_name eq "sun" ) {
3252 + # hack for this shape
3253 + $variables{'100000'} = "21600";
3254 + $variables{'50000'} = "10800";
3255 + $variables{'25000'} = "5400";
3256 + $variables{'12500'} = "2700";
3257 + $variables{'3662'} = "791";
3260 + my $found = 0;
3261 + foreach my $name ( values( %shapes_ids ) ) {
3262 + if ( $name eq $shape_name ) {
3263 + $found = 1;
3264 + last;
3267 + if ( !$found ) {
3268 + error( "Unknown shape '$shape_name'." );
3271 + elsif ( $element eq "pathLst" ) {
3272 + $state = "path";
3274 + elsif ( $element eq "avLst" ) {
3275 + $state = "adjust";
3277 + elsif ( $element eq "gdLst" ) {
3278 + $state = "formulas";
3280 + elsif ( $element eq "ahLst" ) {
3281 + $state = "handles";
3283 + elsif ( $element eq "rect" ) {
3284 + $textboxrect = value( $attr{'l'} ) . "," . value( $attr{'t'} ) . "," .
3285 + value( $attr{'r'} ) . "," . value( $attr{'b'} );
3287 + elsif ( $state eq "path" ) {
3288 + if ( $element eq "path" ) {
3289 + $no_stroke = ( defined( $attr{'stroke'} ) && $attr{'stroke'} eq 'false' );
3290 + $no_fill = ( defined( $attr{'fill'} ) && $attr{'fill'} eq 'none' );
3291 + $path_w = $attr{'w'};
3292 + $path_h = $attr{'h'};
3294 + elsif ( $element eq "moveTo" ) {
3295 + $path .= "m";
3297 + elsif ( $element eq "lnTo" ) {
3298 + $path .= "l";
3300 + elsif ( $element eq "cubicBezTo" ) {
3301 + $path .= "c";
3303 + elsif ( $element eq "quadBezTo" ) {
3304 + my %points = ( 'x' => $last_pos_x, 'y' => $last_pos_y );
3305 + @quadratic_bezier = ( \%points );
3307 + elsif ( $element eq "close" ) {
3308 + $path .= "x";
3310 + elsif ( $element eq "pt" ) {
3311 + # rememeber the last position for the arcTo
3312 + $last_pos_x = value( $attr{'x'} );
3313 + $last_pos_y = value( $attr{'y'} );
3315 + $last_pos_x *= ( value( 'w' ) / $path_w ) if ( defined( $path_w ) );
3316 + $last_pos_y *= ( value( 'h' ) / $path_h ) if ( defined( $path_h ) );
3318 + if ( $#quadratic_bezier >= 0 ) {
3319 + my %points = ( 'x' => $last_pos_x, 'y' => $last_pos_y );
3320 + push( @quadratic_bezier, \%points );
3322 + else {
3323 + add_point_to_path( $last_pos_x, $last_pos_y );
3326 + elsif ( ( $element eq "arcTo" ) && ( $last_pos_x ne "" ) && ( $last_pos_y ne "" ) ) {
3327 + # there's no exact equivalent of arcTo in VML, so we have to
3328 + # compute here a bit...
3329 + my $stAng = value( $attr{'stAng'} );
3330 + my $swAng = value( $attr{'swAng'} );
3331 + my $wR = value( $attr{'wR'} );
3332 + my $hR = value( $attr{'hR'} );
3334 + $wR *= ( value( 'w' ) / $path_w ) if ( defined( $path_w ) );
3335 + $hR *= ( value( 'h' ) / $path_h ) if ( defined( $path_h ) );
3337 + if ( ( $stAng =~ /^[0-9-]+$/ ) && ( $swAng =~ /^[0-9-]+$/ ) ) {
3338 + if ( ( ( $stAng % 90 ) == 0 ) && ( ( $swAng % 90 ) == 0 ) && ( $swAng != 0 ) ) {
3339 + my $end = $stAng + $swAng;
3340 + my $step = ( $swAng > 0 )? 90: -90;
3342 + for ( my $cur = $stAng; $cur != $end; $cur += $step ) {
3343 + elliptic_quadrant( $wR, $hR, ( $cur % 360 ), $step );
3346 + else {
3347 + error( "Unsupported numeric 'arcTo' ($attr{'wR'}, $attr{'hR'}, $stAng, $swAng)." );
3350 + else {
3351 + error( "Unsupported 'arcTo' conversion ($attr{'wR'}, $attr{'hR'}, $stAng, $swAng)." );
3354 + else {
3355 + error( "Unhandled path element '$element'." );
3358 + elsif ( $state eq "adjust" ) {
3359 + if ( $element eq "gd" ) {
3360 + my $adj_no = $attr{'name'};
3361 + my $is_const = 0;
3363 + $adj_no =~ s/^adj//;
3364 + if ( $adj_no eq "" ) {
3365 + $max_adj_no = 0;
3367 + elsif ( !( $adj_no =~ /^[0-9]*$/ ) ) {
3368 + ++$max_adj_no;
3369 + $is_const = 1;
3371 + elsif ( $adj_no != $max_adj_no + 1 ) {
3372 + error( "Wrong order of adj values." );
3373 + ++$max_adj_no;
3375 + else {
3376 + $max_adj_no = $adj_no;
3379 + if ( $attr{'fmla'} =~ /^val ([0-9-]*)$/ ) {
3380 + my $val = sprintf( "%.0f", ( 21600 * $1 ) / 100000 );
3381 + if ( $is_const ) {
3382 + $variables{$adj_no} = $val;
3384 + elsif ( $adjust eq "" ) {
3385 + $adjust = $val;
3387 + else {
3388 + $adjust = "$val,$adjust";
3391 + else {
3392 + error( "Wrong fmla '$attr{'fmla'}'." );
3395 + else {
3396 + error( "Unhandled adjust element '$element'." );
3399 + elsif ( $state eq "formulas" ) {
3400 + if ( $element eq "gd" ) {
3401 + if ( $attr{'fmla'} =~ /^\*\/ (h|w|ss) adj([0-9]+) 100000$/ ) {
3402 + insert_formula( $attr{'name'}, "val #" . ( $max_adj_no - $2 ) );
3404 + elsif ( $attr{'fmla'} =~ /^pin [^ ]+ ([^ ]+) / ) {
3405 + print STDERR "TODO Map 'pin' to VML as xrange for handles.\n";
3406 + my $pin_val = $1;
3407 + if ( $pin_val eq "adj" ) {
3408 + insert_formula( $attr{'name'}, "val #0" );
3410 + elsif ( $pin_val =~ /^adj([0-9]+)/ ) {
3411 + insert_formula( $attr{'name'}, "val #" . ( $max_adj_no - $1 ) );
3413 + else {
3414 + insert_formula( $attr{'name'}, "val " . value( $pin_val ) );
3417 + elsif ( $attr{'fmla'} =~ /adj/ ) {
3418 + error( "Non-standard usage of adj in '$attr{'fmla'}'." );
3420 + else {
3421 + convert_formula( $attr{'name'}, $attr{'fmla'} );
3425 + elsif ( $state eq "handles" ) {
3426 + if ( $element eq "pos" ) {
3427 + $handles .= "<v:h position=\"" . value( $attr{'x'} ) . "," . value( $attr{'y'} ) . "\"/>\n";
3432 +# End of an element
3433 +sub end_element( $ )
3435 + my ( $element ) = @_;
3437 + pop @levels;
3439 + if ( $element eq $shape_name ) {
3440 + if ( !$ignore_this_shape ) {
3441 + # we have all the info, generate the shape now
3442 + $state = "";
3444 + # shape path
3445 + my $out = "<v:shapetype id=\"shapetype___ID__\" coordsize=\"21600,21600\" o:spt=\"__ID__\" ";
3446 + if ( $adjust ne "" ) {
3447 + $out .= "adj=\"$adjust\" ";
3450 + # optimize it [yes, we need this twice ;-)]
3451 + $path =~ s/([^0-9-@])0([^0-9-@])/$1$2/g;
3452 + $path =~ s/([^0-9-@])0([^0-9-@])/$1$2/g;
3454 + $out .= "path=\"$path\">\n";
3456 + # stroke
3457 + $out .= "<v:stroke joinstyle=\"miter\"/>\n";
3459 + # formulas
3460 + if ( $#formulas >= 0 )
3462 + $out .= "<v:formulas>\n";
3463 + foreach $fmla ( @formulas ) {
3464 + $out .= "<v:f eqn=\"$fmla\"/>\n"
3466 + $out .= "</v:formulas>\n";
3469 + # path
3470 + if ( $textboxrect ne "" ) { # TODO connectlocs, connectangles
3471 + $out .= "<v:path gradientshapeok=\"t\" o:connecttype=\"rect\" textboxrect=\"$textboxrect\"/>\n";
3474 + # handles
3475 + if ( $handles ne "" ) {
3476 + $out .= "<v:handles>\n$handles</v:handles>\n";
3479 + $out .="</v:shapetype>";
3481 + # hooray! :-)
3482 + $result_shapes{$shape_name} = $out;
3484 + else {
3485 + print STDERR "Shape '$shape_name' ignored; see the above error(s) for the reason.\n";
3487 + $shape_name = "";
3489 + elsif ( $state eq "path" ) {
3490 + if ( $element eq "path" ) {
3491 + $path .= "ns" if ( $no_stroke );
3492 + $path .= "nf" if ( $no_fill );
3493 + $path .= "e";
3495 + elsif ( $element eq "quadBezTo" ) {
3496 + # we have to convert the quadratic bezier to cubic
3497 + if ( $#quadratic_bezier == 2 ) {
3498 + my @points_x = quadratic_to_cubic_bezier( 'x' );
3499 + my @points_y = quadratic_to_cubic_bezier( 'y' );
3501 + $path .= "c";
3502 + # ignore the starting point
3503 + for ( my $i = 1; $i < 4; ++$i ) {
3504 + add_point_to_path( $points_x[$i], $points_y[$i] );
3507 + else {
3508 + error( "Wrong number of points of the quadratic bezier." );
3510 + @quadratic_bezier = ();
3513 + elsif ( $element eq "avLst" ) {
3514 + $state = "";
3516 + elsif ( $element eq "gdLst" ) {
3517 + $state = "";
3519 + elsif ( $element eq "ahLst" ) {
3520 + $state = "";
3524 +# Text inside an element
3525 +sub characters( $ )
3527 + #my ( $text ) = @_;
3530 +#################### A trivial XML parser ####################
3532 +# Parse the attributes
3533 +sub parse_start_element( $ )
3535 + # split the string containing both the elements and attributes
3536 + my ( $element_tmp ) = @_;
3538 + $element_tmp =~ s/\s*$//;
3539 + $element_tmp =~ s/^\s*//;
3541 + ( my $element = $element_tmp ) =~ s/\s.*$//;
3542 + if ( $element_tmp =~ /\s/ ) {
3543 + $element_tmp =~ s/^[^\s]*\s//;
3545 + else {
3546 + $element_tmp = "";
3549 + # we have the element, now the attributes
3550 + my %attr;
3551 + my $is_key = 1;
3552 + my $key = "";
3553 + foreach my $tmp ( split( /"/, $element_tmp ) ) {
3554 + if ( $is_key ) {
3555 + $key = $tmp;
3556 + $key =~ s/^\s*//;
3557 + $key =~ s/\s*=\s*$//;
3559 + else {
3560 + $attr{$key} = $tmp;
3562 + $is_key = !$is_key;
3565 + if ( $element ne "" ) {
3566 + start_element( $element, %attr );
3570 +# Parse the file
3571 +sub parse( $ )
3573 + my ( $file ) = @_;
3575 + my $in_comment = 0;
3576 + my $line = "";
3577 + while (<$file>) {
3578 + # ignore comments
3579 + s/<\?[^>]*\?>//g;
3580 + s/<!--[^>]*-->//g;
3581 + if ( /<!--/ ) {
3582 + $in_comment = 1;
3583 + s/<!--.*//;
3585 + elsif ( /-->/ && $in_comment ) {
3586 + $in_comment = 0;
3587 + s/.*-->//;
3589 + elsif ( $in_comment ) {
3590 + next;
3592 + # ignore empty lines
3593 + chomp;
3594 + s/^\s*//;
3595 + s/\s*$//;
3596 + next if ( $_ eq "" );
3598 + # take care of lines where element continues
3599 + if ( $line ne "" ) {
3600 + $line .= " " . $_;
3602 + else {
3603 + $line = $_;
3605 + next if ( !/>$/ );
3607 + # the actual parsing
3608 + my @starts = split( /</, $line );
3609 + $line = "";
3610 + foreach $start ( @starts ) {
3611 + next if ( $start eq "" );
3613 + @ends = split( />/, $start );
3614 + my $element = $ends[0];
3615 + my $data = $ends[1];
3617 + # start or end element
3618 + if ( $element =~ /^\/(.*)/ ) {
3619 + end_element( $1 );
3621 + elsif ( $element =~ /^(.*)\/$/ ) {
3622 + parse_start_element( $1 );
3623 + ( my $end = $1 ) =~ s/\s.*$//;
3624 + end_element( $end );
3626 + else {
3627 + parse_start_element( $element );
3630 + # the data
3631 + characters( $data ) if ( defined( $data ) && $data ne "" );
3636 +# Do the real work
3637 +open( IN, "<$src_shapes" ) || die "Cannot open $src_shapes.";
3638 +parse( IN );
3639 +close( IN );
3641 +open( IN, "<$src_text" ) || die "Cannot open $src_text.";
3642 +parse( IN );
3643 +close( IN );
3645 +if ( !defined( $result_shapes{'textBox'} ) ) {
3646 + $result_shapes{'textBox'} =
3647 + "<v:shapetype id=\"shapetype___ID__\" coordsize=\"21600,21600\" " .
3648 + "o:spt=\"__ID__\" path=\"m,l,21600l21600,21600l21600,xe\">\n" .
3649 + "<v:stroke joinstyle=\"miter\"/>\n" .
3650 + "<v:path gradientshapeok=\"t\" o:connecttype=\"rect\"/>\n" .
3651 + "</v:shapetype>";
3654 +# Generate the code
3655 +print <<EOF;
3656 +// Shape types generated from
3657 +// '$src_shapes'
3658 +// and
3659 +// '$src_text'
3660 +// which are part of the OOXML documentation
3662 +#include <svx/escherex.hxx>
3664 +const char* pShapeTypes[ ESCHER_ShpInst_COUNT ] =
3666 +EOF
3668 +for ( $i = 0; $i < 203; ++$i ) {
3669 + if ( $i < 4 ) {
3670 + print " /* $i - $shapes_ids{$i} - handled separately */\n NULL,\n";
3672 + else {
3673 + print " /* $i - $shapes_ids{$i} */\n";
3674 + my $out = $result_shapes{$shapes_ids{$i}};
3675 + if ( defined( $out ) ) {
3676 + # set the id
3677 + $out =~ s/__ID__/$i/g;
3679 + # escape the '"'s
3680 + $out =~ s/"/\\"/g;
3682 + # output as string
3683 + $out =~ s/^/ "/;
3684 + $out =~ s/\n/"\n "/g;
3685 + $out =~ s/$/"/;
3687 + print "$out,\n";
3689 + else {
3690 + print " NULL,\n";
3695 +print <<EOF;
3697 +EOF
3698 diff --git oox/source/export/presetShapeDefinitions.xml oox/source/export/presetShapeDefinitions.xml
3699 new file mode 100644
3700 index 0000000..f5fead7
3701 --- /dev/null
3702 +++ oox/source/export/presetShapeDefinitions.xml
3703 @@ -0,0 +1,19915 @@
3704 +<?xml version="1.0" encoding="utf-8"?>
3705 +<presetShapeDefinitons>
3706 + <accentBorderCallout1>
3708 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
3710 + <gd name="adj1" fmla="val 18750" />
3712 + <gd name="adj2" fmla="val -8333" />
3714 + <gd name="adj3" fmla="val 112500" />
3716 + <gd name="adj4" fmla="val -38333" />
3718 + </avLst>
3719 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
3720 + <gd name="y1" fmla="*/ h adj1 100000" />
3721 + <gd name="x1" fmla="*/ w adj2 100000" />
3722 + <gd name="y2" fmla="*/ h adj3 100000" />
3723 + <gd name="x2" fmla="*/ w adj4 100000" />
3724 + </gdLst>
3725 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
3726 + <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">
3727 + <pos x="x1" y="y1" />
3728 + </ahXY>
3729 + <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">
3730 + <pos x="x2" y="y2" />
3731 + </ahXY>
3732 + </ahLst>
3733 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
3734 + <cxn ang="0">
3735 + <pos x="r" y="vc" />
3736 + </cxn>
3737 + <cxn ang="cd4">
3738 + <pos x="hc" y="b" />
3739 + </cxn>
3740 + <cxn ang="cd2">
3741 + <pos x="l" y="vc" />
3742 + </cxn>
3743 + <cxn ang="3cd4">
3744 + <pos x="hc" y="t" />
3745 + </cxn>
3746 + </cxnLst>
3747 + <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
3748 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
3749 + <path extrusionOk="false">
3750 + <moveTo>
3751 + <pt x="l" y="t" />
3752 + </moveTo>
3753 + <lnTo>
3754 + <pt x="r" y="t" />
3755 + </lnTo>
3756 + <lnTo>
3757 + <pt x="r" y="b" />
3758 + </lnTo>
3759 + <lnTo>
3760 + <pt x="l" y="b" />
3761 + </lnTo>
3762 + <close />
3763 + </path>
3764 + <path fill="none" extrusionOk="false">
3765 + <moveTo>
3766 + <pt x="x1" y="t" />
3767 + </moveTo>
3768 + <close />
3769 + <lnTo>
3770 + <pt x="x1" y="b" />
3771 + </lnTo>
3772 + </path>
3773 + <path fill="none" extrusionOk="false">
3774 + <moveTo>
3775 + <pt x="x1" y="y1" />
3776 + </moveTo>
3777 + <lnTo>
3778 + <pt x="x2" y="y2" />
3779 + </lnTo>
3780 + </path>
3781 + </pathLst>
3783 + </accentBorderCallout1>
3784 + <accentBorderCallout2>
3786 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
3788 + <gd name="adj1" fmla="val 18750" />
3790 + <gd name="adj2" fmla="val -8333" />
3792 + <gd name="adj3" fmla="val 18750" />
3794 + <gd name="adj4" fmla="val -16667" />
3796 + <gd name="adj5" fmla="val 112500" />
3798 + <gd name="adj6" fmla="val -46667" />
3800 + </avLst>
3801 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
3802 + <gd name="y1" fmla="*/ h adj1 100000" />
3803 + <gd name="x1" fmla="*/ w adj2 100000" />
3804 + <gd name="y2" fmla="*/ h adj3 100000" />
3805 + <gd name="x2" fmla="*/ w adj4 100000" />
3806 + <gd name="y3" fmla="*/ h adj5 100000" />
3807 + <gd name="x3" fmla="*/ w adj6 100000" />
3808 + </gdLst>
3809 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
3810 + <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">
3811 + <pos x="x1" y="y1" />
3812 + </ahXY>
3813 + <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">
3814 + <pos x="x2" y="y2" />
3815 + </ahXY>
3816 + <ahXY gdRefX="adj6" minX="-2147483647" maxX="2147483647" gdRefY="adj5" minY="-2147483647" maxY="2147483647">
3817 + <pos x="x3" y="y3" />
3818 + </ahXY>
3819 + </ahLst>
3820 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
3821 + <cxn ang="0">
3822 + <pos x="r" y="vc" />
3823 + </cxn>
3824 + <cxn ang="cd4">
3825 + <pos x="hc" y="b" />
3826 + </cxn>
3827 + <cxn ang="cd2">
3828 + <pos x="l" y="vc" />
3829 + </cxn>
3830 + <cxn ang="3cd4">
3831 + <pos x="hc" y="t" />
3832 + </cxn>
3833 + </cxnLst>
3834 + <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
3835 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
3836 + <path extrusionOk="false">
3837 + <moveTo>
3838 + <pt x="l" y="t" />
3839 + </moveTo>
3840 + <lnTo>
3841 + <pt x="r" y="t" />
3842 + </lnTo>
3843 + <lnTo>
3844 + <pt x="r" y="b" />
3845 + </lnTo>
3846 + <lnTo>
3847 + <pt x="l" y="b" />
3848 + </lnTo>
3849 + <close />
3850 + </path>
3851 + <path fill="none" extrusionOk="false">
3852 + <moveTo>
3853 + <pt x="x1" y="t" />
3854 + </moveTo>
3855 + <close />
3856 + <lnTo>
3857 + <pt x="x1" y="b" />
3858 + </lnTo>
3859 + </path>
3860 + <path fill="none" extrusionOk="false">
3861 + <moveTo>
3862 + <pt x="x1" y="y1" />
3863 + </moveTo>
3864 + <lnTo>
3865 + <pt x="x2" y="y2" />
3866 + </lnTo>
3867 + <lnTo>
3868 + <pt x="x3" y="y3" />
3869 + </lnTo>
3870 + </path>
3871 + </pathLst>
3873 + </accentBorderCallout2>
3874 + <accentBorderCallout3>
3876 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
3878 + <gd name="adj1" fmla="val 18750" />
3880 + <gd name="adj2" fmla="val -8333" />
3882 + <gd name="adj3" fmla="val 18750" />
3884 + <gd name="adj4" fmla="val -16667" />
3886 + <gd name="adj5" fmla="val 100000" />
3888 + <gd name="adj6" fmla="val -16667" />
3890 + <gd name="adj7" fmla="val 112963" />
3892 + <gd name="adj8" fmla="val -8333" />
3894 + </avLst>
3895 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
3896 + <gd name="y1" fmla="*/ h adj1 100000" />
3897 + <gd name="x1" fmla="*/ w adj2 100000" />
3898 + <gd name="y2" fmla="*/ h adj3 100000" />
3899 + <gd name="x2" fmla="*/ w adj4 100000" />
3900 + <gd name="y3" fmla="*/ h adj5 100000" />
3901 + <gd name="x3" fmla="*/ w adj6 100000" />
3902 + <gd name="y4" fmla="*/ h adj7 100000" />
3903 + <gd name="x4" fmla="*/ w adj8 100000" />
3904 + </gdLst>
3905 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
3906 + <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">
3907 + <pos x="x1" y="y1" />
3908 + </ahXY>
3909 + <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">
3910 + <pos x="x2" y="y2" />
3911 + </ahXY>
3912 + <ahXY gdRefX="adj6" minX="-2147483647" maxX="2147483647" gdRefY="adj5" minY="-2147483647" maxY="2147483647">
3913 + <pos x="x3" y="y3" />
3914 + </ahXY>
3915 + <ahXY gdRefX="adj8" minX="-2147483647" maxX="2147483647" gdRefY="adj7" minY="-2147483647" maxY="2147483647">
3916 + <pos x="x4" y="y4" />
3917 + </ahXY>
3918 + </ahLst>
3919 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
3920 + <cxn ang="0">
3921 + <pos x="r" y="vc" />
3922 + </cxn>
3923 + <cxn ang="cd4">
3924 + <pos x="hc" y="b" />
3925 + </cxn>
3926 + <cxn ang="cd2">
3927 + <pos x="l" y="vc" />
3928 + </cxn>
3929 + <cxn ang="3cd4">
3930 + <pos x="hc" y="t" />
3931 + </cxn>
3932 + </cxnLst>
3933 + <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
3934 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
3935 + <path extrusionOk="false">
3936 + <moveTo>
3937 + <pt x="l" y="t" />
3938 + </moveTo>
3939 + <lnTo>
3940 + <pt x="r" y="t" />
3941 + </lnTo>
3942 + <lnTo>
3943 + <pt x="r" y="b" />
3944 + </lnTo>
3945 + <lnTo>
3946 + <pt x="l" y="b" />
3947 + </lnTo>
3948 + <close />
3949 + </path>
3950 + <path fill="none" extrusionOk="false">
3951 + <moveTo>
3952 + <pt x="x1" y="t" />
3953 + </moveTo>
3954 + <close />
3955 + <lnTo>
3956 + <pt x="x1" y="b" />
3957 + </lnTo>
3958 + </path>
3959 + <path fill="none" extrusionOk="false">
3960 + <moveTo>
3961 + <pt x="x1" y="y1" />
3962 + </moveTo>
3963 + <lnTo>
3964 + <pt x="x2" y="y2" />
3965 + </lnTo>
3966 + <lnTo>
3967 + <pt x="x3" y="y3" />
3968 + </lnTo>
3969 + <lnTo>
3970 + <pt x="x4" y="y4" />
3971 + </lnTo>
3972 + </path>
3973 + </pathLst>
3975 + </accentBorderCallout3>
3976 + <accentCallout1>
3978 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
3980 + <gd name="adj1" fmla="val 18750" />
3982 + <gd name="adj2" fmla="val -8333" />
3984 + <gd name="adj3" fmla="val 112500" />
3986 + <gd name="adj4" fmla="val -38333" />
3988 + </avLst>
3989 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
3990 + <gd name="y1" fmla="*/ h adj1 100000" />
3991 + <gd name="x1" fmla="*/ w adj2 100000" />
3992 + <gd name="y2" fmla="*/ h adj3 100000" />
3993 + <gd name="x2" fmla="*/ w adj4 100000" />
3994 + </gdLst>
3995 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
3996 + <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">
3997 + <pos x="x1" y="y1" />
3998 + </ahXY>
3999 + <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">
4000 + <pos x="x2" y="y2" />
4001 + </ahXY>
4002 + </ahLst>
4003 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
4004 + <cxn ang="0">
4005 + <pos x="r" y="vc" />
4006 + </cxn>
4007 + <cxn ang="cd4">
4008 + <pos x="hc" y="b" />
4009 + </cxn>
4010 + <cxn ang="cd2">
4011 + <pos x="l" y="vc" />
4012 + </cxn>
4013 + <cxn ang="3cd4">
4014 + <pos x="hc" y="t" />
4015 + </cxn>
4016 + </cxnLst>
4017 + <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
4018 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
4019 + <path stroke="false" extrusionOk="false">
4020 + <moveTo>
4021 + <pt x="l" y="t" />
4022 + </moveTo>
4023 + <lnTo>
4024 + <pt x="r" y="t" />
4025 + </lnTo>
4026 + <lnTo>
4027 + <pt x="r" y="b" />
4028 + </lnTo>
4029 + <lnTo>
4030 + <pt x="l" y="b" />
4031 + </lnTo>
4032 + <close />
4033 + </path>
4034 + <path fill="none" extrusionOk="false">
4035 + <moveTo>
4036 + <pt x="x1" y="t" />
4037 + </moveTo>
4038 + <close />
4039 + <lnTo>
4040 + <pt x="x1" y="b" />
4041 + </lnTo>
4042 + </path>
4043 + <path fill="none" extrusionOk="false">
4044 + <moveTo>
4045 + <pt x="x1" y="y1" />
4046 + </moveTo>
4047 + <lnTo>
4048 + <pt x="x2" y="y2" />
4049 + </lnTo>
4050 + </path>
4051 + </pathLst>
4053 + </accentCallout1>
4054 + <accentCallout2>
4056 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
4058 + <gd name="adj1" fmla="val 18750" />
4060 + <gd name="adj2" fmla="val -8333" />
4062 + <gd name="adj3" fmla="val 18750" />
4064 + <gd name="adj4" fmla="val -16667" />
4066 + <gd name="adj5" fmla="val 112500" />
4068 + <gd name="adj6" fmla="val -46667" />
4070 + </avLst>
4071 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
4072 + <gd name="y1" fmla="*/ h adj1 100000" />
4073 + <gd name="x1" fmla="*/ w adj2 100000" />
4074 + <gd name="y2" fmla="*/ h adj3 100000" />
4075 + <gd name="x2" fmla="*/ w adj4 100000" />
4076 + <gd name="y3" fmla="*/ h adj5 100000" />
4077 + <gd name="x3" fmla="*/ w adj6 100000" />
4078 + </gdLst>
4079 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
4080 + <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">
4081 + <pos x="x1" y="y1" />
4082 + </ahXY>
4083 + <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">
4084 + <pos x="x2" y="y2" />
4085 + </ahXY>
4086 + <ahXY gdRefX="adj6" minX="-2147483647" maxX="2147483647" gdRefY="adj5" minY="-2147483647" maxY="2147483647">
4087 + <pos x="x3" y="y3" />
4088 + </ahXY>
4089 + </ahLst>
4090 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
4091 + <cxn ang="0">
4092 + <pos x="r" y="vc" />
4093 + </cxn>
4094 + <cxn ang="cd4">
4095 + <pos x="hc" y="b" />
4096 + </cxn>
4097 + <cxn ang="cd2">
4098 + <pos x="l" y="vc" />
4099 + </cxn>
4100 + <cxn ang="3cd4">
4101 + <pos x="hc" y="t" />
4102 + </cxn>
4103 + </cxnLst>
4104 + <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
4105 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
4106 + <path stroke="false" extrusionOk="false">
4107 + <moveTo>
4108 + <pt x="l" y="t" />
4109 + </moveTo>
4110 + <lnTo>
4111 + <pt x="r" y="t" />
4112 + </lnTo>
4113 + <lnTo>
4114 + <pt x="r" y="b" />
4115 + </lnTo>
4116 + <lnTo>
4117 + <pt x="l" y="b" />
4118 + </lnTo>
4119 + <close />
4120 + </path>
4121 + <path fill="none" extrusionOk="false">
4122 + <moveTo>
4123 + <pt x="x1" y="t" />
4124 + </moveTo>
4125 + <close />
4126 + <lnTo>
4127 + <pt x="x1" y="b" />
4128 + </lnTo>
4129 + </path>
4130 + <path fill="none" extrusionOk="false">
4131 + <moveTo>
4132 + <pt x="x1" y="y1" />
4133 + </moveTo>
4134 + <lnTo>
4135 + <pt x="x2" y="y2" />
4136 + </lnTo>
4137 + <lnTo>
4138 + <pt x="x3" y="y3" />
4139 + </lnTo>
4140 + </path>
4141 + </pathLst>
4143 + </accentCallout2>
4144 + <accentCallout3>
4146 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
4148 + <gd name="adj1" fmla="val 18750" />
4150 + <gd name="adj2" fmla="val -8333" />
4152 + <gd name="adj3" fmla="val 18750" />
4154 + <gd name="adj4" fmla="val -16667" />
4156 + <gd name="adj5" fmla="val 100000" />
4158 + <gd name="adj6" fmla="val -16667" />
4160 + <gd name="adj7" fmla="val 112963" />
4162 + <gd name="adj8" fmla="val -8333" />
4164 + </avLst>
4165 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
4166 + <gd name="y1" fmla="*/ h adj1 100000" />
4167 + <gd name="x1" fmla="*/ w adj2 100000" />
4168 + <gd name="y2" fmla="*/ h adj3 100000" />
4169 + <gd name="x2" fmla="*/ w adj4 100000" />
4170 + <gd name="y3" fmla="*/ h adj5 100000" />
4171 + <gd name="x3" fmla="*/ w adj6 100000" />
4172 + <gd name="y4" fmla="*/ h adj7 100000" />
4173 + <gd name="x4" fmla="*/ w adj8 100000" />
4174 + </gdLst>
4175 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
4176 + <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">
4177 + <pos x="x1" y="y1" />
4178 + </ahXY>
4179 + <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">
4180 + <pos x="x2" y="y2" />
4181 + </ahXY>
4182 + <ahXY gdRefX="adj6" minX="-2147483647" maxX="2147483647" gdRefY="adj5" minY="-2147483647" maxY="2147483647">
4183 + <pos x="x3" y="y3" />
4184 + </ahXY>
4185 + <ahXY gdRefX="adj8" minX="-2147483647" maxX="2147483647" gdRefY="adj7" minY="-2147483647" maxY="2147483647">
4186 + <pos x="x4" y="y4" />
4187 + </ahXY>
4188 + </ahLst>
4189 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
4190 + <cxn ang="0">
4191 + <pos x="r" y="vc" />
4192 + </cxn>
4193 + <cxn ang="cd4">
4194 + <pos x="hc" y="b" />
4195 + </cxn>
4196 + <cxn ang="cd2">
4197 + <pos x="l" y="vc" />
4198 + </cxn>
4199 + <cxn ang="3cd4">
4200 + <pos x="hc" y="t" />
4201 + </cxn>
4202 + </cxnLst>
4203 + <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
4204 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
4205 + <path stroke="false" extrusionOk="false">
4206 + <moveTo>
4207 + <pt x="l" y="t" />
4208 + </moveTo>
4209 + <lnTo>
4210 + <pt x="r" y="t" />
4211 + </lnTo>
4212 + <lnTo>
4213 + <pt x="r" y="b" />
4214 + </lnTo>
4215 + <lnTo>
4216 + <pt x="l" y="b" />
4217 + </lnTo>
4218 + <close />
4219 + </path>
4220 + <path fill="none" extrusionOk="false">
4221 + <moveTo>
4222 + <pt x="x1" y="t" />
4223 + </moveTo>
4224 + <close />
4225 + <lnTo>
4226 + <pt x="x1" y="b" />
4227 + </lnTo>
4228 + </path>
4229 + <path fill="none" extrusionOk="false">
4230 + <moveTo>
4231 + <pt x="x1" y="y1" />
4232 + </moveTo>
4233 + <lnTo>
4234 + <pt x="x2" y="y2" />
4235 + </lnTo>
4236 + <lnTo>
4237 + <pt x="x3" y="y3" />
4238 + </lnTo>
4239 + <lnTo>
4240 + <pt x="x4" y="y4" />
4241 + </lnTo>
4242 + </path>
4243 + </pathLst>
4245 + </accentCallout3>
4246 + <actionButtonBackPrevious>
4247 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
4248 + <gd name="dx2" fmla="*/ ss 3 8" />
4249 + <gd name="g9" fmla="+- vc 0 dx2" />
4250 + <gd name="g10" fmla="+- vc dx2 0" />
4251 + <gd name="g11" fmla="+- hc 0 dx2" />
4252 + <gd name="g12" fmla="+- hc dx2 0" />
4253 + </gdLst>
4254 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
4255 + <cxn ang="0">
4256 + <pos x="r" y="vc" />
4257 + </cxn>
4258 + <cxn ang="cd4">
4259 + <pos x="hc" y="b" />
4260 + </cxn>
4261 + <cxn ang="cd2">
4262 + <pos x="l" y="vc" />
4263 + </cxn>
4264 + <cxn ang="3cd4">
4265 + <pos x="hc" y="t" />
4266 + </cxn>
4267 + </cxnLst>
4268 + <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
4269 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
4270 + <path stroke="false" extrusionOk="false">
4271 + <moveTo>
4272 + <pt x="l" y="t" />
4273 + </moveTo>
4274 + <lnTo>
4275 + <pt x="r" y="t" />
4276 + </lnTo>
4277 + <lnTo>
4278 + <pt x="r" y="b" />
4279 + </lnTo>
4280 + <lnTo>
4281 + <pt x="l" y="b" />
4282 + </lnTo>
4283 + <close />
4284 + <moveTo>
4285 + <pt x="g11" y="vc" />
4286 + </moveTo>
4287 + <lnTo>
4288 + <pt x="g12" y="g9" />
4289 + </lnTo>
4290 + <lnTo>
4291 + <pt x="g12" y="g10" />
4292 + </lnTo>
4293 + <close />
4294 + </path>
4295 + <path stroke="false" fill="darken" extrusionOk="false">
4296 + <moveTo>
4297 + <pt x="g11" y="vc" />
4298 + </moveTo>
4299 + <lnTo>
4300 + <pt x="g12" y="g9" />
4301 + </lnTo>
4302 + <lnTo>
4303 + <pt x="g12" y="g10" />
4304 + </lnTo>
4305 + <close />
4306 + </path>
4307 + <path fill="none" extrusionOk="false">
4308 + <moveTo>
4309 + <pt x="g11" y="vc" />
4310 + </moveTo>
4311 + <lnTo>
4312 + <pt x="g12" y="g9" />
4313 + </lnTo>
4314 + <lnTo>
4315 + <pt x="g12" y="g10" />
4316 + </lnTo>
4317 + <close />
4318 + </path>
4319 + <path fill="none">
4320 + <moveTo>
4321 + <pt x="l" y="t" />
4322 + </moveTo>
4323 + <lnTo>
4324 + <pt x="r" y="t" />
4325 + </lnTo>
4326 + <lnTo>
4327 + <pt x="r" y="b" />
4328 + </lnTo>
4329 + <lnTo>
4330 + <pt x="l" y="b" />
4331 + </lnTo>
4332 + <close />
4333 + </path>
4334 + </pathLst>
4335 + </actionButtonBackPrevious>
4336 + <actionButtonBeginning>
4338 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
4339 + <gd name="dx2" fmla="*/ ss 3 8" />
4340 + <gd name="g9" fmla="+- vc 0 dx2" />
4341 + <gd name="g10" fmla="+- vc dx2 0" />
4342 + <gd name="g11" fmla="+- hc 0 dx2" />
4343 + <gd name="g12" fmla="+- hc dx2 0" />
4344 + <gd name="g13" fmla="*/ ss 3 4" />
4345 + <gd name="g14" fmla="*/ g13 1 8" />
4346 + <gd name="g15" fmla="*/ g13 1 4" />
4347 + <gd name="g16" fmla="+- g11 g14 0" />
4348 + <gd name="g17" fmla="+- g11 g15 0" />
4349 + </gdLst>
4351 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
4352 + <cxn ang="0">
4353 + <pos x="r" y="vc" />
4354 + </cxn>
4355 + <cxn ang="cd4">
4356 + <pos x="hc" y="b" />
4357 + </cxn>
4358 + <cxn ang="cd2">
4359 + <pos x="l" y="vc" />
4360 + </cxn>
4361 + <cxn ang="3cd4">
4362 + <pos x="hc" y="t" />
4363 + </cxn>
4364 + </cxnLst>
4366 + <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
4368 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
4369 + <path stroke="false" extrusionOk="false">
4370 + <moveTo>
4371 + <pt x="l" y="t" />
4372 + </moveTo>
4373 + <lnTo>
4374 + <pt x="r" y="t" />
4375 + </lnTo>
4376 + <lnTo>
4377 + <pt x="r" y="b" />
4378 + </lnTo>
4379 + <lnTo>
4380 + <pt x="l" y="b" />
4381 + </lnTo>
4382 + <close />
4383 + <moveTo>
4384 + <pt x="g17" y="vc" />
4385 + </moveTo>
4387 + <lnTo>
4388 + <pt x="g12" y="g9" />
4389 + </lnTo>
4390 + <lnTo>
4391 + <pt x="g12" y="g10" />
4392 + </lnTo>
4393 + <close />
4394 + <moveTo>
4395 + <pt x="g16" y="g9" />
4396 + </moveTo>
4398 + <lnTo>
4399 + <pt x="g11" y="g9" />
4400 + </lnTo>
4401 + <lnTo>
4402 + <pt x="g11" y="g10" />
4403 + </lnTo>
4404 + <lnTo>
4405 + <pt x="g16" y="g10" />
4406 + </lnTo>
4407 + <close />
4408 + </path>
4409 + <path stroke="false" fill="darken" extrusionOk="false">
4410 + <moveTo>
4411 + <pt x="g17" y="vc" />
4412 + </moveTo>
4414 + <lnTo>
4415 + <pt x="g12" y="g9" />
4416 + </lnTo>
4417 + <lnTo>
4418 + <pt x="g12" y="g10" />
4419 + </lnTo>
4420 + <close />
4421 + <moveTo>
4422 + <pt x="g16" y="g9" />
4423 + </moveTo>
4425 + <lnTo>
4426 + <pt x="g11" y="g9" />
4427 + </lnTo>
4428 + <lnTo>
4429 + <pt x="g11" y="g10" />
4430 + </lnTo>
4431 + <lnTo>
4432 + <pt x="g16" y="g10" />
4433 + </lnTo>
4434 + <close />
4435 + </path>
4436 + <path fill="none" extrusionOk="false">
4437 + <moveTo>
4438 + <pt x="g17" y="vc" />
4439 + </moveTo>
4441 + <lnTo>
4442 + <pt x="g12" y="g9" />
4443 + </lnTo>
4444 + <lnTo>
4445 + <pt x="g12" y="g10" />
4446 + </lnTo>
4447 + <close />
4448 + <moveTo>
4449 + <pt x="g16" y="g9" />
4450 + </moveTo>
4452 + <lnTo>
4453 + <pt x="g16" y="g10" />
4454 + </lnTo>
4455 + <lnTo>
4456 + <pt x="g11" y="g10" />
4457 + </lnTo>
4458 + <lnTo>
4459 + <pt x="g11" y="g9" />
4460 + </lnTo>
4461 + <close />
4462 + </path>
4463 + <path fill="none">
4464 + <moveTo>
4465 + <pt x="l" y="t" />
4466 + </moveTo>
4468 + <lnTo>
4469 + <pt x="r" y="t" />
4470 + </lnTo>
4471 + <lnTo>
4472 + <pt x="r" y="b" />
4473 + </lnTo>
4474 + <lnTo>
4475 + <pt x="l" y="b" />
4476 + </lnTo>
4477 + <close />
4478 + </path>
4479 + </pathLst>
4481 + </actionButtonBeginning>
4482 + <actionButtonBlank>
4484 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
4485 + <cxn ang="0">
4486 + <pos x="r" y="vc" />
4487 + </cxn>
4488 + <cxn ang="cd4">
4489 + <pos x="hc" y="b" />
4490 + </cxn>
4491 + <cxn ang="cd2">
4492 + <pos x="l" y="vc" />
4493 + </cxn>
4494 + <cxn ang="3cd4">
4495 + <pos x="hc" y="t" />
4496 + </cxn>
4497 + </cxnLst>
4499 + <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
4501 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
4502 + <path>
4503 + <moveTo>
4504 + <pt x="l" y="t" />
4505 + </moveTo>
4506 + <lnTo>
4507 + <pt x="r" y="t" />
4508 + </lnTo>
4509 + <lnTo>
4510 + <pt x="r" y="b" />
4511 + </lnTo>
4512 + <lnTo>
4513 + <pt x="l" y="b" />
4514 + </lnTo>
4515 + <close />
4516 + </path>
4517 + </pathLst>
4519 + </actionButtonBlank>
4520 + <actionButtonDocument>
4522 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
4523 + <gd name="dx2" fmla="*/ ss 3 8" />
4524 + <gd name="g9" fmla="+- vc 0 dx2" />
4525 + <gd name="g10" fmla="+- vc dx2 0" />
4526 + <gd name="dx1" fmla="*/ ss 9 32" />
4527 + <gd name="g11" fmla="+- hc 0 dx1" />
4528 + <gd name="g12" fmla="+- hc dx1 0" />
4529 + <gd name="g13" fmla="*/ ss 3 16" />
4530 + <gd name="g14" fmla="+- g12 0 g13" />
4531 + <gd name="g15" fmla="+- g9 g13 0" />
4532 + </gdLst>
4534 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
4535 + <cxn ang="0">
4536 + <pos x="r" y="vc" />
4537 + </cxn>
4538 + <cxn ang="cd4">
4539 + <pos x="hc" y="b" />
4540 + </cxn>
4541 + <cxn ang="cd2">
4542 + <pos x="l" y="vc" />
4543 + </cxn>
4544 + <cxn ang="3cd4">
4545 + <pos x="hc" y="t" />
4546 + </cxn>
4547 + </cxnLst>
4549 + <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
4551 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
4552 + <path stroke="false" extrusionOk="false">
4553 + <moveTo>
4554 + <pt x="l" y="t" />
4555 + </moveTo>
4556 + <lnTo>
4557 + <pt x="r" y="t" />
4558 + </lnTo>
4559 + <lnTo>
4560 + <pt x="r" y="b" />
4561 + </lnTo>
4562 + <lnTo>
4563 + <pt x="l" y="b" />
4564 + </lnTo>
4565 + <close />
4566 + <moveTo>
4567 + <pt x="g11" y="g9" />
4568 + </moveTo>
4569 + <lnTo>
4570 + <pt x="g14" y="g9" />
4571 + </lnTo>
4572 + <lnTo>
4573 + <pt x="g12" y="g15" />
4574 + </lnTo>
4575 + <lnTo>
4576 + <pt x="g12" y="g10" />
4577 + </lnTo>
4578 + <lnTo>
4579 + <pt x="g11" y="g10" />
4580 + </lnTo>
4581 + <close />
4582 + </path>
4583 + <path stroke="false" fill="darkenLess" extrusionOk="false">
4585 + <moveTo>
4586 + <pt x="g11" y="g9" />
4587 + </moveTo>
4588 + <lnTo>
4589 + <pt x="g14" y="g9" />
4590 + </lnTo>
4591 + <lnTo>
4592 + <pt x="g14" y="g15" />
4593 + </lnTo>
4594 + <lnTo>
4595 + <pt x="g12" y="g15" />
4596 + </lnTo>
4597 + <lnTo>
4598 + <pt x="g12" y="g10" />
4599 + </lnTo>
4600 + <lnTo>
4601 + <pt x="g11" y="g10" />
4602 + </lnTo>
4603 + <close />
4604 + </path>
4605 + <path stroke="false" fill="darken" extrusionOk="false">
4606 + <moveTo>
4607 + <pt x="g14" y="g9" />
4608 + </moveTo>
4610 + <lnTo>
4611 + <pt x="g14" y="g15" />
4612 + </lnTo>
4613 + <lnTo>
4614 + <pt x="g12" y="g15" />
4615 + </lnTo>
4616 + <close />
4617 + </path>
4618 + <path fill="none" extrusionOk="false">
4619 + <moveTo>
4620 + <pt x="g11" y="g9" />
4621 + </moveTo>
4622 + <lnTo>
4623 + <pt x="g14" y="g9" />
4624 + </lnTo>
4625 + <lnTo>
4626 + <pt x="g12" y="g15" />
4627 + </lnTo>
4628 + <lnTo>
4629 + <pt x="g12" y="g10" />
4630 + </lnTo>
4631 + <lnTo>
4632 + <pt x="g11" y="g10" />
4633 + </lnTo>
4634 + <close />
4635 + <moveTo>
4636 + <pt x="g12" y="g15" />
4637 + </moveTo>
4638 + <lnTo>
4639 + <pt x="g14" y="g15" />
4640 + </lnTo>
4641 + <lnTo>
4642 + <pt x="g14" y="g9" />
4643 + </lnTo>
4644 + </path>
4645 + <path fill="none">
4646 + <moveTo>
4647 + <pt x="l" y="t" />
4648 + </moveTo>
4650 + <lnTo>
4651 + <pt x="r" y="t" />
4652 + </lnTo>
4653 + <lnTo>
4654 + <pt x="r" y="b" />
4655 + </lnTo>
4656 + <lnTo>
4657 + <pt x="l" y="b" />
4658 + </lnTo>
4659 + <close />
4660 + </path>
4661 + </pathLst>
4663 + </actionButtonDocument>
4664 + <actionButtonEnd>
4666 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
4667 + <gd name="dx2" fmla="*/ ss 3 8" />
4668 + <gd name="g9" fmla="+- vc 0 dx2" />
4669 + <gd name="g10" fmla="+- vc dx2 0" />
4670 + <gd name="g11" fmla="+- hc 0 dx2" />
4671 + <gd name="g12" fmla="+- hc dx2 0" />
4672 + <gd name="g13" fmla="*/ ss 3 4" />
4673 + <gd name="g14" fmla="*/ g13 3 4" />
4674 + <gd name="g15" fmla="*/ g13 7 8" />
4675 + <gd name="g16" fmla="+- g11 g14 0" />
4676 + <gd name="g17" fmla="+- g11 g15 0" />
4677 + </gdLst>
4679 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
4680 + <cxn ang="0">
4681 + <pos x="r" y="vc" />
4682 + </cxn>
4683 + <cxn ang="cd4">
4684 + <pos x="hc" y="b" />
4685 + </cxn>
4686 + <cxn ang="cd2">
4687 + <pos x="l" y="vc" />
4688 + </cxn>
4689 + <cxn ang="3cd4">
4690 + <pos x="hc" y="t" />
4691 + </cxn>
4692 + </cxnLst>
4694 + <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
4696 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
4697 + <path stroke="false" extrusionOk="false">
4698 + <moveTo>
4699 + <pt x="l" y="t" />
4700 + </moveTo>
4701 + <lnTo>
4702 + <pt x="r" y="t" />
4703 + </lnTo>
4704 + <lnTo>
4705 + <pt x="r" y="b" />
4706 + </lnTo>
4707 + <lnTo>
4708 + <pt x="l" y="b" />
4709 + </lnTo>
4710 + <close />
4711 + <moveTo>
4712 + <pt x="g16" y="vc" />
4713 + </moveTo>
4715 + <lnTo>
4716 + <pt x="g11" y="g9" />
4717 + </lnTo>
4718 + <lnTo>
4719 + <pt x="g11" y="g10" />
4720 + </lnTo>
4721 + <close />
4722 + <moveTo>
4723 + <pt x="g17" y="g9" />
4724 + </moveTo>
4726 + <lnTo>
4727 + <pt x="g12" y="g9" />
4728 + </lnTo>
4729 + <lnTo>
4730 + <pt x="g12" y="g10" />
4731 + </lnTo>
4732 + <lnTo>
4733 + <pt x="g17" y="g10" />
4734 + </lnTo>
4735 + <close />
4736 + </path>
4737 + <path stroke="false" fill="darken" extrusionOk="false">
4738 + <moveTo>
4739 + <pt x="g16" y="vc" />
4740 + </moveTo>
4742 + <lnTo>
4743 + <pt x="g11" y="g9" />
4744 + </lnTo>
4745 + <lnTo>
4746 + <pt x="g11" y="g10" />
4747 + </lnTo>
4748 + <close />
4749 + <moveTo>
4750 + <pt x="g17" y="g9" />
4751 + </moveTo>
4753 + <lnTo>
4754 + <pt x="g12" y="g9" />
4755 + </lnTo>
4756 + <lnTo>
4757 + <pt x="g12" y="g10" />
4758 + </lnTo>
4759 + <lnTo>
4760 + <pt x="g17" y="g10" />
4761 + </lnTo>
4762 + <close />
4763 + </path>
4764 + <path fill="none" extrusionOk="false">
4765 + <moveTo>
4766 + <pt x="g16" y="vc" />
4767 + </moveTo>
4769 + <lnTo>
4770 + <pt x="g11" y="g10" />
4771 + </lnTo>
4772 + <lnTo>
4773 + <pt x="g11" y="g9" />
4774 + </lnTo>
4775 + <close />
4776 + <moveTo>
4777 + <pt x="g17" y="g9" />
4778 + </moveTo>
4780 + <lnTo>
4781 + <pt x="g12" y="g9" />
4782 + </lnTo>
4783 + <lnTo>
4784 + <pt x="g12" y="g10" />
4785 + </lnTo>
4786 + <lnTo>
4787 + <pt x="g17" y="g10" />
4788 + </lnTo>
4789 + <close />
4790 + </path>
4791 + <path fill="none">
4792 + <moveTo>
4793 + <pt x="l" y="t" />
4794 + </moveTo>
4796 + <lnTo>
4797 + <pt x="r" y="t" />
4798 + </lnTo>
4799 + <lnTo>
4800 + <pt x="r" y="b" />
4801 + </lnTo>
4802 + <lnTo>
4803 + <pt x="l" y="b" />
4804 + </lnTo>
4805 + <close />
4806 + </path>
4807 + </pathLst>
4809 + </actionButtonEnd>
4810 + <actionButtonForwardNext>
4811 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
4812 + <gd name="dx2" fmla="*/ ss 3 8" />
4813 + <gd name="g9" fmla="+- vc 0 dx2" />
4814 + <gd name="g10" fmla="+- vc dx2 0" />
4815 + <gd name="g11" fmla="+- hc 0 dx2" />
4816 + <gd name="g12" fmla="+- hc dx2 0" />
4817 + </gdLst>
4818 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
4819 + <cxn ang="0">
4820 + <pos x="r" y="vc" />
4821 + </cxn>
4822 + <cxn ang="cd4">
4823 + <pos x="hc" y="b" />
4824 + </cxn>
4825 + <cxn ang="cd2">
4826 + <pos x="l" y="vc" />
4827 + </cxn>
4828 + <cxn ang="3cd4">
4829 + <pos x="hc" y="t" />
4830 + </cxn>
4831 + </cxnLst>
4832 + <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
4833 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
4834 + <path stroke="false" extrusionOk="false">
4835 + <moveTo>
4836 + <pt x="l" y="t" />
4837 + </moveTo>
4838 + <lnTo>
4839 + <pt x="r" y="t" />
4840 + </lnTo>
4841 + <lnTo>
4842 + <pt x="r" y="b" />
4843 + </lnTo>
4844 + <lnTo>
4845 + <pt x="l" y="b" />
4846 + </lnTo>
4847 + <close />
4848 + <moveTo>
4849 + <pt x="g12" y="vc" />
4850 + </moveTo>
4851 + <lnTo>
4852 + <pt x="g11" y="g9" />
4853 + </lnTo>
4854 + <lnTo>
4855 + <pt x="g11" y="g10" />
4856 + </lnTo>
4857 + <close />
4858 + </path>
4859 + <path stroke="false" fill="darken" extrusionOk="false">
4860 + <moveTo>
4861 + <pt x="g12" y="vc" />
4862 + </moveTo>
4863 + <lnTo>
4864 + <pt x="g11" y="g9" />
4865 + </lnTo>
4866 + <lnTo>
4867 + <pt x="g11" y="g10" />
4868 + </lnTo>
4869 + <close />
4870 + </path>
4871 + <path fill="none" extrusionOk="false">
4872 + <moveTo>
4873 + <pt x="g12" y="vc" />
4874 + </moveTo>
4875 + <lnTo>
4876 + <pt x="g11" y="g10" />
4877 + </lnTo>
4878 + <lnTo>
4879 + <pt x="g11" y="g9" />
4880 + </lnTo>
4881 + <close />
4882 + </path>
4883 + <path fill="none">
4884 + <moveTo>
4885 + <pt x="l" y="t" />
4886 + </moveTo>
4887 + <lnTo>
4888 + <pt x="r" y="t" />
4889 + </lnTo>
4890 + <lnTo>
4891 + <pt x="r" y="b" />
4892 + </lnTo>
4893 + <lnTo>
4894 + <pt x="l" y="b" />
4895 + </lnTo>
4896 + <close />
4897 + </path>
4898 + </pathLst>
4899 + </actionButtonForwardNext>
4900 + <actionButtonHelp>
4902 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
4903 + <gd name="dx2" fmla="*/ ss 3 8" />
4904 + <gd name="g9" fmla="+- vc 0 dx2" />
4905 + <gd name="g11" fmla="+- hc 0 dx2" />
4906 + <gd name="g13" fmla="*/ ss 3 4" />
4907 + <gd name="g14" fmla="*/ g13 1 7" />
4908 + <gd name="g15" fmla="*/ g13 3 14" />
4909 + <gd name="g16" fmla="*/ g13 2 7" />
4910 + <gd name="g19" fmla="*/ g13 3 7" />
4911 + <gd name="g20" fmla="*/ g13 4 7" />
4912 + <gd name="g21" fmla="*/ g13 17 28" />
4913 + <gd name="g23" fmla="*/ g13 21 28" />
4914 + <gd name="g24" fmla="*/ g13 11 14" />
4915 + <gd name="g27" fmla="+- g9 g16 0" />
4916 + <gd name="g29" fmla="+- g9 g21 0" />
4917 + <gd name="g30" fmla="+- g9 g23 0" />
4918 + <gd name="g31" fmla="+- g9 g24 0" />
4919 + <gd name="g33" fmla="+- g11 g15 0" />
4920 + <gd name="g36" fmla="+- g11 g19 0" />
4921 + <gd name="g37" fmla="+- g11 g20 0" />
4922 + <gd name="g41" fmla="*/ g13 1 14" />
4923 + <gd name="g42" fmla="*/ g13 3 28" />
4924 + </gdLst>
4926 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
4927 + <cxn ang="0">
4928 + <pos x="r" y="vc" />
4929 + </cxn>
4930 + <cxn ang="cd4">
4931 + <pos x="hc" y="b" />
4932 + </cxn>
4933 + <cxn ang="cd2">
4934 + <pos x="l" y="vc" />
4935 + </cxn>
4936 + <cxn ang="3cd4">
4937 + <pos x="hc" y="t" />
4938 + </cxn>
4939 + </cxnLst>
4941 + <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
4943 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
4944 + <path stroke="false" extrusionOk="false">
4945 + <moveTo>
4946 + <pt x="l" y="t" />
4947 + </moveTo>
4948 + <lnTo>
4949 + <pt x="r" y="t" />
4950 + </lnTo>
4951 + <lnTo>
4952 + <pt x="r" y="b" />
4953 + </lnTo>
4954 + <lnTo>
4955 + <pt x="l" y="b" />
4956 + </lnTo>
4957 + <close />
4958 + <moveTo>
4959 + <pt x="g33" y="g27" />
4960 + </moveTo>
4962 + <arcTo wR="g16" hR="g16" stAng="cd2" swAng="cd2" />
4963 + <arcTo wR="g14" hR="g15" stAng="0" swAng="cd4" />
4964 + <arcTo wR="g41" hR="g42" stAng="3cd4" swAng="-5400000" />
4965 + <lnTo>
4966 + <pt x="g37" y="g30" />
4967 + </lnTo>
4968 + <lnTo>
4969 + <pt x="g36" y="g30" />
4970 + </lnTo>
4971 + <lnTo>
4972 + <pt x="g36" y="g29" />
4973 + </lnTo>
4974 + <arcTo wR="g14" hR="g15" stAng="cd2" swAng="cd4" />
4975 + <arcTo wR="g41" hR="g42" stAng="cd4" swAng="-5400000" />
4976 + <arcTo wR="g14" hR="g14" stAng="0" swAng="-10800000" />
4977 + <close />
4978 + <moveTo>
4979 + <pt x="hc" y="g31" />
4980 + </moveTo>
4982 + <arcTo wR="g42" hR="g42" stAng="3cd4" swAng="21600000" />
4983 + <close />
4984 + </path>
4985 + <path stroke="false" fill="darken" extrusionOk="false">
4986 + <moveTo>
4987 + <pt x="g33" y="g27" />
4988 + </moveTo>
4990 + <arcTo wR="g16" hR="g16" stAng="cd2" swAng="cd2" />
4991 + <arcTo wR="g14" hR="g15" stAng="0" swAng="cd4" />
4992 + <arcTo wR="g41" hR="g42" stAng="3cd4" swAng="-5400000" />
4993 + <lnTo>
4994 + <pt x="g37" y="g30" />
4995 + </lnTo>
4996 + <lnTo>
4997 + <pt x="g36" y="g30" />
4998 + </lnTo>
4999 + <lnTo>
5000 + <pt x="g36" y="g29" />
5001 + </lnTo>
5002 + <arcTo wR="g14" hR="g15" stAng="cd2" swAng="cd4" />
5003 + <arcTo wR="g41" hR="g42" stAng="cd4" swAng="-5400000" />
5004 + <arcTo wR="g14" hR="g14" stAng="0" swAng="-10800000" />
5005 + <close />
5006 + <moveTo>
5007 + <pt x="hc" y="g31" />
5008 + </moveTo>
5010 + <arcTo wR="g42" hR="g42" stAng="3cd4" swAng="21600000" />
5011 + <close />
5012 + </path>
5013 + <path fill="none" extrusionOk="false">
5014 + <moveTo>
5015 + <pt x="g33" y="g27" />
5016 + </moveTo>
5018 + <arcTo wR="g16" hR="g16" stAng="cd2" swAng="cd2" />
5019 + <arcTo wR="g14" hR="g15" stAng="0" swAng="cd4" />
5020 + <arcTo wR="g41" hR="g42" stAng="3cd4" swAng="-5400000" />
5021 + <lnTo>
5022 + <pt x="g37" y="g30" />
5023 + </lnTo>
5024 + <lnTo>
5025 + <pt x="g36" y="g30" />
5026 + </lnTo>
5027 + <lnTo>
5028 + <pt x="g36" y="g29" />
5029 + </lnTo>
5030 + <arcTo wR="g14" hR="g15" stAng="cd2" swAng="cd4" />
5031 + <arcTo wR="g41" hR="g42" stAng="cd4" swAng="-5400000" />
5032 + <arcTo wR="g14" hR="g14" stAng="0" swAng="-10800000" />
5033 + <close />
5034 + <moveTo>
5035 + <pt x="hc" y="g31" />
5036 + </moveTo>
5038 + <arcTo wR="g42" hR="g42" stAng="3cd4" swAng="21600000" />
5039 + <close />
5040 + </path>
5041 + <path fill="none">
5042 + <moveTo>
5043 + <pt x="l" y="t" />
5044 + </moveTo>
5046 + <lnTo>
5047 + <pt x="r" y="t" />
5048 + </lnTo>
5049 + <lnTo>
5050 + <pt x="r" y="b" />
5051 + </lnTo>
5052 + <lnTo>
5053 + <pt x="l" y="b" />
5054 + </lnTo>
5055 + <close />
5056 + </path>
5057 + </pathLst>
5059 + </actionButtonHelp>
5060 + <actionButtonHome>
5062 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
5063 + <gd name="dx2" fmla="*/ ss 3 8" />
5064 + <gd name="g9" fmla="+- vc 0 dx2" />
5065 + <gd name="g10" fmla="+- vc dx2 0" />
5066 + <gd name="g11" fmla="+- hc 0 dx2" />
5067 + <gd name="g12" fmla="+- hc dx2 0" />
5068 + <gd name="g13" fmla="*/ ss 3 4" />
5069 + <gd name="g14" fmla="*/ g13 1 16" />
5070 + <gd name="g15" fmla="*/ g13 1 8" />
5071 + <gd name="g16" fmla="*/ g13 3 16" />
5072 + <gd name="g17" fmla="*/ g13 5 16" />
5073 + <gd name="g18" fmla="*/ g13 7 16" />
5074 + <gd name="g19" fmla="*/ g13 9 16" />
5075 + <gd name="g20" fmla="*/ g13 11 16" />
5076 + <gd name="g21" fmla="*/ g13 3 4" />
5077 + <gd name="g22" fmla="*/ g13 13 16" />
5078 + <gd name="g23" fmla="*/ g13 7 8" />
5079 + <gd name="g24" fmla="+- g9 g14 0" />
5080 + <gd name="g25" fmla="+- g9 g16 0" />
5081 + <gd name="g26" fmla="+- g9 g17 0" />
5082 + <gd name="g27" fmla="+- g9 g21 0" />
5083 + <gd name="g28" fmla="+- g11 g15 0" />
5084 + <gd name="g29" fmla="+- g11 g18 0" />
5085 + <gd name="g30" fmla="+- g11 g19 0" />
5086 + <gd name="g31" fmla="+- g11 g20 0" />
5087 + <gd name="g32" fmla="+- g11 g22 0" />
5088 + <gd name="g33" fmla="+- g11 g23 0" />
5089 + </gdLst>
5091 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
5092 + <cxn ang="0">
5093 + <pos x="r" y="vc" />
5094 + </cxn>
5095 + <cxn ang="cd4">
5096 + <pos x="hc" y="b" />
5097 + </cxn>
5098 + <cxn ang="cd2">
5099 + <pos x="l" y="vc" />
5100 + </cxn>
5101 + <cxn ang="3cd4">
5102 + <pos x="hc" y="t" />
5103 + </cxn>
5104 + </cxnLst>
5106 + <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
5108 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
5109 + <path stroke="false" extrusionOk="false">
5110 + <moveTo>
5111 + <pt x="l" y="t" />
5112 + </moveTo>
5113 + <lnTo>
5114 + <pt x="r" y="t" />
5115 + </lnTo>
5116 + <lnTo>
5117 + <pt x="r" y="b" />
5118 + </lnTo>
5119 + <lnTo>
5120 + <pt x="l" y="b" />
5121 + </lnTo>
5122 + <close />
5123 + <moveTo>
5124 + <pt x="hc" y="g9" />
5125 + </moveTo>
5126 + <lnTo>
5127 + <pt x="g11" y="vc" />
5128 + </lnTo>
5129 + <lnTo>
5130 + <pt x="g28" y="vc" />
5131 + </lnTo>
5132 + <lnTo>
5133 + <pt x="g28" y="g10" />
5134 + </lnTo>
5135 + <lnTo>
5136 + <pt x="g33" y="g10" />
5137 + </lnTo>
5138 + <lnTo>
5139 + <pt x="g33" y="vc" />
5140 + </lnTo>
5141 + <lnTo>
5142 + <pt x="g12" y="vc" />
5143 + </lnTo>
5144 + <lnTo>
5145 + <pt x="g32" y="g26" />
5146 + </lnTo>
5147 + <lnTo>
5148 + <pt x="g32" y="g24" />
5149 + </lnTo>
5150 + <lnTo>
5151 + <pt x="g31" y="g24" />
5152 + </lnTo>
5153 + <lnTo>
5154 + <pt x="g31" y="g25" />
5155 + </lnTo>
5156 + <close />
5157 + </path>
5158 + <path stroke="false" fill="darkenLess" extrusionOk="false">
5160 + <moveTo>
5161 + <pt x="g32" y="g26" />
5162 + </moveTo>
5163 + <lnTo>
5164 + <pt x="g32" y="g24" />
5165 + </lnTo>
5166 + <lnTo>
5167 + <pt x="g31" y="g24" />
5168 + </lnTo>
5169 + <lnTo>
5170 + <pt x="g31" y="g25" />
5171 + </lnTo>
5172 + <close />
5173 + <moveTo>
5174 + <pt x="g28" y="vc" />
5175 + </moveTo>
5177 + <lnTo>
5178 + <pt x="g28" y="g10" />
5179 + </lnTo>
5180 + <lnTo>
5181 + <pt x="g29" y="g10" />
5182 + </lnTo>
5183 + <lnTo>
5184 + <pt x="g29" y="g27" />
5185 + </lnTo>
5186 + <lnTo>
5187 + <pt x="g30" y="g27" />
5188 + </lnTo>
5189 + <lnTo>
5190 + <pt x="g30" y="g10" />
5191 + </lnTo>
5192 + <lnTo>
5193 + <pt x="g33" y="g10" />
5194 + </lnTo>
5195 + <lnTo>
5196 + <pt x="g33" y="vc" />
5197 + </lnTo>
5198 + <close />
5199 + </path>
5200 + <path stroke="false" fill="darken" extrusionOk="false">
5201 + <moveTo>
5202 + <pt x="hc" y="g9" />
5203 + </moveTo>
5205 + <lnTo>
5206 + <pt x="g11" y="vc" />
5207 + </lnTo>
5208 + <lnTo>
5209 + <pt x="g12" y="vc" />
5210 + </lnTo>
5211 + <close />
5212 + <moveTo>
5213 + <pt x="g29" y="g27" />
5214 + </moveTo>
5216 + <lnTo>
5217 + <pt x="g30" y="g27" />
5218 + </lnTo>
5219 + <lnTo>
5220 + <pt x="g30" y="g10" />
5221 + </lnTo>
5222 + <lnTo>
5223 + <pt x="g29" y="g10" />
5224 + </lnTo>
5225 + <close />
5226 + </path>
5227 + <path fill="none" extrusionOk="false">
5228 + <moveTo>
5229 + <pt x="hc" y="g9" />
5230 + </moveTo>
5231 + <lnTo>
5232 + <pt x="g31" y="g25" />
5233 + </lnTo>
5234 + <lnTo>
5235 + <pt x="g31" y="g24" />
5236 + </lnTo>
5237 + <lnTo>
5238 + <pt x="g32" y="g24" />
5239 + </lnTo>
5240 + <lnTo>
5241 + <pt x="g32" y="g26" />
5242 + </lnTo>
5243 + <lnTo>
5244 + <pt x="g12" y="vc" />
5245 + </lnTo>
5246 + <lnTo>
5247 + <pt x="g33" y="vc" />
5248 + </lnTo>
5249 + <lnTo>
5250 + <pt x="g33" y="g10" />
5251 + </lnTo>
5252 + <lnTo>
5253 + <pt x="g28" y="g10" />
5254 + </lnTo>
5255 + <lnTo>
5256 + <pt x="g28" y="vc" />
5257 + </lnTo>
5258 + <lnTo>
5259 + <pt x="g11" y="vc" />
5260 + </lnTo>
5261 + <close />
5262 + <moveTo>
5263 + <pt x="g31" y="g25" />
5264 + </moveTo>
5265 + <lnTo>
5266 + <pt x="g32" y="g26" />
5267 + </lnTo>
5269 + <moveTo>
5270 + <pt x="g33" y="vc" />
5271 + </moveTo>
5272 + <lnTo>
5273 + <pt x="g28" y="vc" />
5274 + </lnTo>
5276 + <moveTo>
5277 + <pt x="g29" y="g10" />
5278 + </moveTo>
5280 + <lnTo>
5281 + <pt x="g29" y="g27" />
5282 + </lnTo>
5283 + <lnTo>
5284 + <pt x="g30" y="g27" />
5285 + </lnTo>
5286 + <lnTo>
5287 + <pt x="g30" y="g10" />
5288 + </lnTo>
5289 + </path>
5290 + <path fill="none">
5291 + <moveTo>
5292 + <pt x="l" y="t" />
5293 + </moveTo>
5295 + <lnTo>
5296 + <pt x="r" y="t" />
5297 + </lnTo>
5298 + <lnTo>
5299 + <pt x="r" y="b" />
5300 + </lnTo>
5301 + <lnTo>
5302 + <pt x="l" y="b" />
5303 + </lnTo>
5304 + <close />
5305 + </path>
5306 + </pathLst>
5308 + </actionButtonHome>
5309 + <actionButtonInformation>
5311 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
5312 + <gd name="dx2" fmla="*/ ss 3 8" />
5313 + <gd name="g9" fmla="+- vc 0 dx2" />
5314 + <gd name="g11" fmla="+- hc 0 dx2" />
5315 + <gd name="g13" fmla="*/ ss 3 4" />
5316 + <gd name="g14" fmla="*/ g13 1 32" />
5317 + <gd name="g17" fmla="*/ g13 5 16" />
5318 + <gd name="g18" fmla="*/ g13 3 8" />
5319 + <gd name="g19" fmla="*/ g13 13 32" />
5320 + <gd name="g20" fmla="*/ g13 19 32" />
5321 + <gd name="g22" fmla="*/ g13 11 16" />
5322 + <gd name="g23" fmla="*/ g13 13 16" />
5323 + <gd name="g24" fmla="*/ g13 7 8" />
5324 + <gd name="g25" fmla="+- g9 g14 0" />
5325 + <gd name="g28" fmla="+- g9 g17 0" />
5326 + <gd name="g29" fmla="+- g9 g18 0" />
5327 + <gd name="g30" fmla="+- g9 g23 0" />
5328 + <gd name="g31" fmla="+- g9 g24 0" />
5329 + <gd name="g32" fmla="+- g11 g17 0" />
5330 + <gd name="g34" fmla="+- g11 g19 0" />
5331 + <gd name="g35" fmla="+- g11 g20 0" />
5332 + <gd name="g37" fmla="+- g11 g22 0" />
5333 + <gd name="g38" fmla="*/ g13 3 32" />
5334 + </gdLst>
5336 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
5337 + <cxn ang="0">
5338 + <pos x="r" y="vc" />
5339 + </cxn>
5340 + <cxn ang="cd4">
5341 + <pos x="hc" y="b" />
5342 + </cxn>
5343 + <cxn ang="cd2">
5344 + <pos x="l" y="vc" />
5345 + </cxn>
5346 + <cxn ang="3cd4">
5347 + <pos x="hc" y="t" />
5348 + </cxn>
5349 + </cxnLst>
5351 + <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
5353 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
5354 + <path stroke="false" extrusionOk="false">
5355 + <moveTo>
5356 + <pt x="l" y="t" />
5357 + </moveTo>
5358 + <lnTo>
5359 + <pt x="r" y="t" />
5360 + </lnTo>
5361 + <lnTo>
5362 + <pt x="r" y="b" />
5363 + </lnTo>
5364 + <lnTo>
5365 + <pt x="l" y="b" />
5366 + </lnTo>
5367 + <close />
5368 + <moveTo>
5369 + <pt x="hc" y="g9" />
5370 + </moveTo>
5372 + <arcTo wR="dx2" hR="dx2" stAng="3cd4" swAng="21600000" />
5373 + <close />
5374 + </path>
5375 + <path stroke="false" fill="darken" extrusionOk="false">
5376 + <moveTo>
5377 + <pt x="hc" y="g9" />
5378 + </moveTo>
5380 + <arcTo wR="dx2" hR="dx2" stAng="3cd4" swAng="21600000" />
5381 + <close />
5382 + <moveTo>
5383 + <pt x="hc" y="g25" />
5384 + </moveTo>
5386 + <arcTo wR="g38" hR="g38" stAng="3cd4" swAng="21600000" />
5387 + <moveTo>
5388 + <pt x="g32" y="g28" />
5389 + </moveTo>
5391 + <lnTo>
5392 + <pt x="g32" y="g29" />
5393 + </lnTo>
5394 + <lnTo>
5395 + <pt x="g34" y="g29" />
5396 + </lnTo>
5397 + <lnTo>
5398 + <pt x="g34" y="g30" />
5399 + </lnTo>
5400 + <lnTo>
5401 + <pt x="g32" y="g30" />
5402 + </lnTo>
5403 + <lnTo>
5404 + <pt x="g32" y="g31" />
5405 + </lnTo>
5406 + <lnTo>
5407 + <pt x="g37" y="g31" />
5408 + </lnTo>
5409 + <lnTo>
5410 + <pt x="g37" y="g30" />
5411 + </lnTo>
5412 + <lnTo>
5413 + <pt x="g35" y="g30" />
5414 + </lnTo>
5415 + <lnTo>
5416 + <pt x="g35" y="g28" />
5417 + </lnTo>
5418 + <close />
5419 + </path>
5420 + <path stroke="false" fill="lighten" extrusionOk="false">
5421 + <moveTo>
5422 + <pt x="hc" y="g25" />
5423 + </moveTo>
5425 + <arcTo wR="g38" hR="g38" stAng="3cd4" swAng="21600000" />
5426 + <moveTo>
5427 + <pt x="g32" y="g28" />
5428 + </moveTo>
5430 + <lnTo>
5431 + <pt x="g35" y="g28" />
5432 + </lnTo>
5433 + <lnTo>
5434 + <pt x="g35" y="g30" />
5435 + </lnTo>
5436 + <lnTo>
5437 + <pt x="g37" y="g30" />
5438 + </lnTo>
5439 + <lnTo>
5440 + <pt x="g37" y="g31" />
5441 + </lnTo>
5442 + <lnTo>
5443 + <pt x="g32" y="g31" />
5444 + </lnTo>
5445 + <lnTo>
5446 + <pt x="g32" y="g30" />
5447 + </lnTo>
5448 + <lnTo>
5449 + <pt x="g34" y="g30" />
5450 + </lnTo>
5451 + <lnTo>
5452 + <pt x="g34" y="g29" />
5453 + </lnTo>
5454 + <lnTo>
5455 + <pt x="g32" y="g29" />
5456 + </lnTo>
5457 + <close />
5458 + </path>
5459 + <path fill="none" extrusionOk="false">
5460 + <moveTo>
5461 + <pt x="hc" y="g9" />
5462 + </moveTo>
5464 + <arcTo wR="dx2" hR="dx2" stAng="3cd4" swAng="21600000" />
5465 + <close />
5466 + <moveTo>
5467 + <pt x="hc" y="g25" />
5468 + </moveTo>
5470 + <arcTo wR="g38" hR="g38" stAng="3cd4" swAng="21600000" />
5471 + <moveTo>
5472 + <pt x="g32" y="g28" />
5473 + </moveTo>
5475 + <lnTo>
5476 + <pt x="g35" y="g28" />
5477 + </lnTo>
5478 + <lnTo>
5479 + <pt x="g35" y="g30" />
5480 + </lnTo>
5481 + <lnTo>
5482 + <pt x="g37" y="g30" />
5483 + </lnTo>
5484 + <lnTo>
5485 + <pt x="g37" y="g31" />
5486 + </lnTo>
5487 + <lnTo>
5488 + <pt x="g32" y="g31" />
5489 + </lnTo>
5490 + <lnTo>
5491 + <pt x="g32" y="g30" />
5492 + </lnTo>
5493 + <lnTo>
5494 + <pt x="g34" y="g30" />
5495 + </lnTo>
5496 + <lnTo>
5497 + <pt x="g34" y="g29" />
5498 + </lnTo>
5499 + <lnTo>
5500 + <pt x="g32" y="g29" />
5501 + </lnTo>
5502 + <close />
5503 + </path>
5504 + <path fill="none">
5505 + <moveTo>
5506 + <pt x="l" y="t" />
5507 + </moveTo>
5509 + <lnTo>
5510 + <pt x="r" y="t" />
5511 + </lnTo>
5512 + <lnTo>
5513 + <pt x="r" y="b" />
5514 + </lnTo>
5515 + <lnTo>
5516 + <pt x="l" y="b" />
5517 + </lnTo>
5518 + <close />
5519 + </path>
5520 + </pathLst>
5522 + </actionButtonInformation>
5523 + <actionButtonMovie>
5525 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
5526 + <gd name="dx2" fmla="*/ ss 3 8" />
5527 + <gd name="g9" fmla="+- vc 0 dx2" />
5528 + <gd name="g10" fmla="+- vc dx2 0" />
5529 + <gd name="g11" fmla="+- hc 0 dx2" />
5530 + <gd name="g12" fmla="+- hc dx2 0" />
5531 + <gd name="g13" fmla="*/ ss 3 4" />
5532 + <gd name="g14" fmla="*/ g13 1455 21600" />
5533 + <gd name="g15" fmla="*/ g13 1905 21600" />
5534 + <gd name="g16" fmla="*/ g13 2325 21600" />
5535 + <gd name="g17" fmla="*/ g13 16155 21600" />
5536 + <gd name="g18" fmla="*/ g13 17010 21600" />
5537 + <gd name="g19" fmla="*/ g13 19335 21600" />
5538 + <gd name="g20" fmla="*/ g13 19725 21600" />
5539 + <gd name="g21" fmla="*/ g13 20595 21600" />
5540 + <gd name="g22" fmla="*/ g13 5280 21600" />
5541 + <gd name="g23" fmla="*/ g13 5730 21600" />
5542 + <gd name="g24" fmla="*/ g13 6630 21600" />
5543 + <gd name="g25" fmla="*/ g13 7492 21600" />
5544 + <gd name="g26" fmla="*/ g13 9067 21600" />
5545 + <gd name="g27" fmla="*/ g13 9555 21600" />
5546 + <gd name="g28" fmla="*/ g13 13342 21600" />
5547 + <gd name="g29" fmla="*/ g13 14580 21600" />
5548 + <gd name="g30" fmla="*/ g13 15592 21600" />
5549 + <gd name="g31" fmla="+- g11 g14 0" />
5550 + <gd name="g32" fmla="+- g11 g15 0" />
5551 + <gd name="g33" fmla="+- g11 g16 0" />
5552 + <gd name="g34" fmla="+- g11 g17 0" />
5553 + <gd name="g35" fmla="+- g11 g18 0" />
5554 + <gd name="g36" fmla="+- g11 g19 0" />
5555 + <gd name="g37" fmla="+- g11 g20 0" />
5556 + <gd name="g38" fmla="+- g11 g21 0" />
5557 + <gd name="g39" fmla="+- g9 g22 0" />
5558 + <gd name="g40" fmla="+- g9 g23 0" />
5559 + <gd name="g41" fmla="+- g9 g24 0" />
5560 + <gd name="g42" fmla="+- g9 g25 0" />
5561 + <gd name="g43" fmla="+- g9 g26 0" />
5562 + <gd name="g44" fmla="+- g9 g27 0" />
5563 + <gd name="g45" fmla="+- g9 g28 0" />
5564 + <gd name="g46" fmla="+- g9 g29 0" />
5565 + <gd name="g47" fmla="+- g9 g30 0" />
5566 + <gd name="g48" fmla="+- g9 g31 0" />
5567 + </gdLst>
5569 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
5570 + <cxn ang="0">
5571 + <pos x="r" y="vc" />
5572 + </cxn>
5573 + <cxn ang="cd4">
5574 + <pos x="hc" y="b" />
5575 + </cxn>
5576 + <cxn ang="cd2">
5577 + <pos x="l" y="vc" />
5578 + </cxn>
5579 + <cxn ang="3cd4">
5580 + <pos x="hc" y="t" />
5581 + </cxn>
5582 + </cxnLst>
5584 + <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
5586 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
5587 + <path stroke="false" extrusionOk="false">
5588 + <moveTo>
5589 + <pt x="l" y="t" />
5590 + </moveTo>
5591 + <lnTo>
5592 + <pt x="r" y="t" />
5593 + </lnTo>
5594 + <lnTo>
5595 + <pt x="r" y="b" />
5596 + </lnTo>
5597 + <lnTo>
5598 + <pt x="l" y="b" />
5599 + </lnTo>
5600 + <close />
5601 + <moveTo>
5602 + <pt x="g11" y="g39" />
5603 + </moveTo>
5605 + <lnTo>
5606 + <pt x="g11" y="g44" />
5607 + </lnTo>
5608 + <lnTo>
5609 + <pt x="g31" y="g44" />
5610 + </lnTo>
5611 + <lnTo>
5612 + <pt x="g32" y="g43" />
5613 + </lnTo>
5614 + <lnTo>
5615 + <pt x="g33" y="g43" />
5616 + </lnTo>
5617 + <lnTo>
5618 + <pt x="g33" y="g47" />
5619 + </lnTo>
5620 + <lnTo>
5621 + <pt x="g35" y="g47" />
5622 + </lnTo>
5623 + <lnTo>
5624 + <pt x="g35" y="g45" />
5625 + </lnTo>
5626 + <lnTo>
5627 + <pt x="g36" y="g45" />
5628 + </lnTo>
5629 + <lnTo>
5630 + <pt x="g38" y="g46" />
5631 + </lnTo>
5632 + <lnTo>
5633 + <pt x="g12" y="g46" />
5634 + </lnTo>
5635 + <lnTo>
5636 + <pt x="g12" y="g41" />
5637 + </lnTo>
5638 + <lnTo>
5639 + <pt x="g38" y="g41" />
5640 + </lnTo>
5641 + <lnTo>
5642 + <pt x="g37" y="g42" />
5643 + </lnTo>
5644 + <lnTo>
5645 + <pt x="g35" y="g42" />
5646 + </lnTo>
5647 + <lnTo>
5648 + <pt x="g35" y="g41" />
5649 + </lnTo>
5650 + <lnTo>
5651 + <pt x="g34" y="g40" />
5652 + </lnTo>
5653 + <lnTo>
5654 + <pt x="g32" y="g40" />
5655 + </lnTo>
5656 + <lnTo>
5657 + <pt x="g31" y="g39" />
5658 + </lnTo>
5659 + <close />
5660 + </path>
5661 + <path stroke="false" fill="darken" extrusionOk="false">
5662 + <moveTo>
5663 + <pt x="g11" y="g39" />
5664 + </moveTo>
5666 + <lnTo>
5667 + <pt x="g11" y="g44" />
5668 + </lnTo>
5669 + <lnTo>
5670 + <pt x="g31" y="g44" />
5671 + </lnTo>
5672 + <lnTo>
5673 + <pt x="g32" y="g43" />
5674 + </lnTo>
5675 + <lnTo>
5676 + <pt x="g33" y="g43" />
5677 + </lnTo>
5678 + <lnTo>
5679 + <pt x="g33" y="g47" />
5680 + </lnTo>
5681 + <lnTo>
5682 + <pt x="g35" y="g47" />
5683 + </lnTo>
5684 + <lnTo>
5685 + <pt x="g35" y="g45" />
5686 + </lnTo>
5687 + <lnTo>
5688 + <pt x="g36" y="g45" />
5689 + </lnTo>
5690 + <lnTo>
5691 + <pt x="g38" y="g46" />
5692 + </lnTo>
5693 + <lnTo>
5694 + <pt x="g12" y="g46" />
5695 + </lnTo>
5696 + <lnTo>
5697 + <pt x="g12" y="g41" />
5698 + </lnTo>
5699 + <lnTo>
5700 + <pt x="g38" y="g41" />
5701 + </lnTo>
5702 + <lnTo>
5703 + <pt x="g37" y="g42" />
5704 + </lnTo>
5705 + <lnTo>
5706 + <pt x="g35" y="g42" />
5707 + </lnTo>
5708 + <lnTo>
5709 + <pt x="g35" y="g41" />
5710 + </lnTo>
5711 + <lnTo>
5712 + <pt x="g34" y="g40" />
5713 + </lnTo>
5714 + <lnTo>
5715 + <pt x="g32" y="g40" />
5716 + </lnTo>
5717 + <lnTo>
5718 + <pt x="g31" y="g39" />
5719 + </lnTo>
5720 + <close />
5721 + </path>
5722 + <path fill="none" extrusionOk="false">
5723 + <moveTo>
5724 + <pt x="g11" y="g39" />
5725 + </moveTo>
5727 + <lnTo>
5728 + <pt x="g31" y="g39" />
5729 + </lnTo>
5730 + <lnTo>
5731 + <pt x="g32" y="g40" />
5732 + </lnTo>
5733 + <lnTo>
5734 + <pt x="g34" y="g40" />
5735 + </lnTo>
5736 + <lnTo>
5737 + <pt x="g35" y="g41" />
5738 + </lnTo>
5739 + <lnTo>
5740 + <pt x="g35" y="g42" />
5741 + </lnTo>
5742 + <lnTo>
5743 + <pt x="g37" y="g42" />
5744 + </lnTo>
5745 + <lnTo>
5746 + <pt x="g38" y="g41" />
5747 + </lnTo>
5748 + <lnTo>
5749 + <pt x="g12" y="g41" />
5750 + </lnTo>
5751 + <lnTo>
5752 + <pt x="g12" y="g46" />
5753 + </lnTo>
5754 + <lnTo>
5755 + <pt x="g38" y="g46" />
5756 + </lnTo>
5757 + <lnTo>
5758 + <pt x="g36" y="g45" />
5759 + </lnTo>
5760 + <lnTo>
5761 + <pt x="g35" y="g45" />
5762 + </lnTo>
5763 + <lnTo>
5764 + <pt x="g35" y="g47" />
5765 + </lnTo>
5766 + <lnTo>
5767 + <pt x="g33" y="g47" />
5768 + </lnTo>
5769 + <lnTo>
5770 + <pt x="g33" y="g43" />
5771 + </lnTo>
5772 + <lnTo>
5773 + <pt x="g32" y="g43" />
5774 + </lnTo>
5775 + <lnTo>
5776 + <pt x="g31" y="g44" />
5777 + </lnTo>
5778 + <lnTo>
5779 + <pt x="g11" y="g44" />
5780 + </lnTo>
5781 + <close />
5782 + </path>
5783 + <path fill="none">
5784 + <moveTo>
5785 + <pt x="l" y="t" />
5786 + </moveTo>
5788 + <lnTo>
5789 + <pt x="r" y="t" />
5790 + </lnTo>
5791 + <lnTo>
5792 + <pt x="r" y="b" />
5793 + </lnTo>
5794 + <lnTo>
5795 + <pt x="l" y="b" />
5796 + </lnTo>
5797 + <close />
5798 + </path>
5799 + </pathLst>
5801 + </actionButtonMovie>
5802 + <actionButtonReturn>
5804 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
5805 + <gd name="dx2" fmla="*/ ss 3 8" />
5806 + <gd name="g9" fmla="+- vc 0 dx2" />
5807 + <gd name="g10" fmla="+- vc dx2 0" />
5808 + <gd name="g11" fmla="+- hc 0 dx2" />
5809 + <gd name="g12" fmla="+- hc dx2 0" />
5810 + <gd name="g13" fmla="*/ ss 3 4" />
5811 + <gd name="g14" fmla="*/ g13 7 8" />
5812 + <gd name="g15" fmla="*/ g13 3 4" />
5813 + <gd name="g16" fmla="*/ g13 5 8" />
5814 + <gd name="g17" fmla="*/ g13 3 8" />
5815 + <gd name="g18" fmla="*/ g13 1 4" />
5816 + <gd name="g19" fmla="+- g9 g15 0" />
5817 + <gd name="g20" fmla="+- g9 g16 0" />
5818 + <gd name="g21" fmla="+- g9 g18 0" />
5819 + <gd name="g22" fmla="+- g11 g14 0" />
5820 + <gd name="g23" fmla="+- g11 g15 0" />
5821 + <gd name="g24" fmla="+- g11 g16 0" />
5822 + <gd name="g25" fmla="+- g11 g17 0" />
5823 + <gd name="g26" fmla="+- g11 g18 0" />
5824 + <gd name="g27" fmla="*/ g13 1 8" />
5825 + </gdLst>
5827 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
5828 + <cxn ang="0">
5829 + <pos x="r" y="vc" />
5830 + </cxn>
5831 + <cxn ang="cd4">
5832 + <pos x="hc" y="b" />
5833 + </cxn>
5834 + <cxn ang="cd2">
5835 + <pos x="l" y="vc" />
5836 + </cxn>
5837 + <cxn ang="3cd4">
5838 + <pos x="hc" y="t" />
5839 + </cxn>
5840 + </cxnLst>
5842 + <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
5844 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
5845 + <path stroke="false" extrusionOk="false">
5846 + <moveTo>
5847 + <pt x="l" y="t" />
5848 + </moveTo>
5849 + <lnTo>
5850 + <pt x="r" y="t" />
5851 + </lnTo>
5852 + <lnTo>
5853 + <pt x="r" y="b" />
5854 + </lnTo>
5855 + <lnTo>
5856 + <pt x="l" y="b" />
5857 + </lnTo>
5858 + <close />
5859 + <moveTo>
5860 + <pt x="g12" y="g21" />
5861 + </moveTo>
5862 + <lnTo>
5863 + <pt x="g23" y="g9" />
5864 + </lnTo>
5865 + <lnTo>
5866 + <pt x="hc" y="g21" />
5867 + </lnTo>
5868 + <lnTo>
5869 + <pt x="g24" y="g21" />
5870 + </lnTo>
5871 + <lnTo>
5872 + <pt x="g24" y="g20" />
5873 + </lnTo>
5874 + <arcTo wR="g27" hR="g27" stAng="0" swAng="cd4" />
5875 + <lnTo>
5876 + <pt x="g25" y="g19" />
5877 + </lnTo>
5878 + <arcTo wR="g27" hR="g27" stAng="cd4" swAng="cd4" />
5879 + <lnTo>
5880 + <pt x="g26" y="g21" />
5881 + </lnTo>
5882 + <lnTo>
5883 + <pt x="g11" y="g21" />
5884 + </lnTo>
5885 + <lnTo>
5886 + <pt x="g11" y="g20" />
5887 + </lnTo>
5888 + <arcTo wR="g17" hR="g17" stAng="cd2" swAng="-5400000" />
5889 + <lnTo>
5890 + <pt x="hc" y="g10" />
5891 + </lnTo>
5892 + <arcTo wR="g17" hR="g17" stAng="cd4" swAng="-5400000" />
5893 + <lnTo>
5894 + <pt x="g22" y="g21" />
5895 + </lnTo>
5896 + <close />
5897 + </path>
5898 + <path stroke="false" fill="darken" extrusionOk="false">
5899 + <moveTo>
5900 + <pt x="g12" y="g21" />
5901 + </moveTo>
5902 + <lnTo>
5903 + <pt x="g23" y="g9" />
5904 + </lnTo>
5905 + <lnTo>
5906 + <pt x="hc" y="g21" />
5907 + </lnTo>
5908 + <lnTo>
5909 + <pt x="g24" y="g21" />
5910 + </lnTo>
5911 + <lnTo>
5912 + <pt x="g24" y="g20" />
5913 + </lnTo>
5914 + <arcTo wR="g27" hR="g27" stAng="0" swAng="cd4" />
5915 + <lnTo>
5916 + <pt x="g25" y="g19" />
5917 + </lnTo>
5918 + <arcTo wR="g27" hR="g27" stAng="cd4" swAng="cd4" />
5919 + <lnTo>
5920 + <pt x="g26" y="g21" />
5921 + </lnTo>
5922 + <lnTo>
5923 + <pt x="g11" y="g21" />
5924 + </lnTo>
5925 + <lnTo>
5926 + <pt x="g11" y="g20" />
5927 + </lnTo>
5928 + <arcTo wR="g17" hR="g17" stAng="cd2" swAng="-5400000" />
5929 + <lnTo>
5930 + <pt x="hc" y="g10" />
5931 + </lnTo>
5932 + <arcTo wR="g17" hR="g17" stAng="cd4" swAng="-5400000" />
5933 + <lnTo>
5934 + <pt x="g22" y="g21" />
5935 + </lnTo>
5936 + <close />
5937 + </path>
5938 + <path fill="none" extrusionOk="false">
5939 + <moveTo>
5940 + <pt x="g12" y="g21" />
5941 + </moveTo>
5942 + <lnTo>
5943 + <pt x="g22" y="g21" />
5944 + </lnTo>
5945 + <lnTo>
5946 + <pt x="g22" y="g20" />
5947 + </lnTo>
5948 + <arcTo wR="g17" hR="g17" stAng="0" swAng="cd4" />
5949 + <lnTo>
5950 + <pt x="g25" y="g10" />
5951 + </lnTo>
5952 + <arcTo wR="g17" hR="g17" stAng="cd4" swAng="cd4" />
5953 + <lnTo>
5954 + <pt x="g11" y="g21" />
5955 + </lnTo>
5956 + <lnTo>
5957 + <pt x="g26" y="g21" />
5958 + </lnTo>
5959 + <lnTo>
5960 + <pt x="g26" y="g20" />
5961 + </lnTo>
5962 + <arcTo wR="g27" hR="g27" stAng="cd2" swAng="-5400000" />
5963 + <lnTo>
5964 + <pt x="hc" y="g19" />
5965 + </lnTo>
5966 + <arcTo wR="g27" hR="g27" stAng="cd4" swAng="-5400000" />
5967 + <lnTo>
5968 + <pt x="g24" y="g21" />
5969 + </lnTo>
5970 + <lnTo>
5971 + <pt x="hc" y="g21" />
5972 + </lnTo>
5973 + <lnTo>
5974 + <pt x="g23" y="g9" />
5975 + </lnTo>
5976 + <close />
5977 + </path>
5978 + <path fill="none">
5979 + <moveTo>
5980 + <pt x="l" y="t" />
5981 + </moveTo>
5983 + <lnTo>
5984 + <pt x="r" y="t" />
5985 + </lnTo>
5986 + <lnTo>
5987 + <pt x="r" y="b" />
5988 + </lnTo>
5989 + <lnTo>
5990 + <pt x="l" y="b" />
5991 + </lnTo>
5992 + <close />
5993 + </path>
5994 + </pathLst>
5996 + </actionButtonReturn>
5997 + <actionButtonSound>
5999 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6000 + <gd name="dx2" fmla="*/ ss 3 8" />
6001 + <gd name="g9" fmla="+- vc 0 dx2" />
6002 + <gd name="g10" fmla="+- vc dx2 0" />
6003 + <gd name="g11" fmla="+- hc 0 dx2" />
6004 + <gd name="g12" fmla="+- hc dx2 0" />
6005 + <gd name="g13" fmla="*/ ss 3 4" />
6006 + <gd name="g14" fmla="*/ g13 1 8" />
6007 + <gd name="g15" fmla="*/ g13 5 16" />
6008 + <gd name="g16" fmla="*/ g13 5 8" />
6009 + <gd name="g17" fmla="*/ g13 11 16" />
6010 + <gd name="g18" fmla="*/ g13 3 4" />
6011 + <gd name="g19" fmla="*/ g13 7 8" />
6012 + <gd name="g20" fmla="+- g9 g14 0" />
6013 + <gd name="g21" fmla="+- g9 g15 0" />
6014 + <gd name="g22" fmla="+- g9 g17 0" />
6015 + <gd name="g23" fmla="+- g9 g19 0" />
6016 + <gd name="g24" fmla="+- g11 g15 0" />
6017 + <gd name="g25" fmla="+- g11 g16 0" />
6018 + <gd name="g26" fmla="+- g11 g18 0" />
6019 + </gdLst>
6021 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6022 + <cxn ang="0">
6023 + <pos x="r" y="vc" />
6024 + </cxn>
6025 + <cxn ang="cd4">
6026 + <pos x="hc" y="b" />
6027 + </cxn>
6028 + <cxn ang="cd2">
6029 + <pos x="l" y="vc" />
6030 + </cxn>
6031 + <cxn ang="3cd4">
6032 + <pos x="hc" y="t" />
6033 + </cxn>
6034 + </cxnLst>
6036 + <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
6038 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6039 + <path stroke="false" extrusionOk="false">
6040 + <moveTo>
6041 + <pt x="l" y="t" />
6042 + </moveTo>
6043 + <lnTo>
6044 + <pt x="r" y="t" />
6045 + </lnTo>
6046 + <lnTo>
6047 + <pt x="r" y="b" />
6048 + </lnTo>
6049 + <lnTo>
6050 + <pt x="l" y="b" />
6051 + </lnTo>
6052 + <close />
6053 + <moveTo>
6054 + <pt x="g11" y="g21" />
6055 + </moveTo>
6057 + <lnTo>
6058 + <pt x="g11" y="g22" />
6059 + </lnTo>
6060 + <lnTo>
6061 + <pt x="g24" y="g22" />
6062 + </lnTo>
6063 + <lnTo>
6064 + <pt x="g25" y="g10" />
6065 + </lnTo>
6066 + <lnTo>
6067 + <pt x="g25" y="g9" />
6068 + </lnTo>
6069 + <lnTo>
6070 + <pt x="g24" y="g21" />
6071 + </lnTo>
6072 + <close />
6073 + </path>
6074 + <path stroke="false" fill="darken" extrusionOk="false">
6075 + <moveTo>
6076 + <pt x="g11" y="g21" />
6077 + </moveTo>
6079 + <lnTo>
6080 + <pt x="g11" y="g22" />
6081 + </lnTo>
6082 + <lnTo>
6083 + <pt x="g24" y="g22" />
6084 + </lnTo>
6085 + <lnTo>
6086 + <pt x="g25" y="g10" />
6087 + </lnTo>
6088 + <lnTo>
6089 + <pt x="g25" y="g9" />
6090 + </lnTo>
6091 + <lnTo>
6092 + <pt x="g24" y="g21" />
6093 + </lnTo>
6094 + <close />
6095 + </path>
6096 + <path fill="none" extrusionOk="false">
6097 + <moveTo>
6098 + <pt x="g11" y="g21" />
6099 + </moveTo>
6101 + <lnTo>
6102 + <pt x="g24" y="g21" />
6103 + </lnTo>
6104 + <lnTo>
6105 + <pt x="g25" y="g9" />
6106 + </lnTo>
6107 + <lnTo>
6108 + <pt x="g25" y="g10" />
6109 + </lnTo>
6110 + <lnTo>
6111 + <pt x="g24" y="g22" />
6112 + </lnTo>
6113 + <lnTo>
6114 + <pt x="g11" y="g22" />
6115 + </lnTo>
6116 + <close />
6117 + <moveTo>
6118 + <pt x="g26" y="g21" />
6119 + </moveTo>
6120 + <lnTo>
6121 + <pt x="g12" y="g20" />
6122 + </lnTo>
6123 + <moveTo>
6124 + <pt x="g26" y="vc" />
6125 + </moveTo>
6126 + <lnTo>
6127 + <pt x="g12" y="vc" />
6128 + </lnTo>
6129 + <moveTo>
6130 + <pt x="g26" y="g22" />
6131 + </moveTo>
6132 + <lnTo>
6133 + <pt x="g12" y="g23" />
6134 + </lnTo>
6135 + </path>
6136 + <path fill="none">
6137 + <moveTo>
6138 + <pt x="l" y="t" />
6139 + </moveTo>
6141 + <lnTo>
6142 + <pt x="r" y="t" />
6143 + </lnTo>
6144 + <lnTo>
6145 + <pt x="r" y="b" />
6146 + </lnTo>
6147 + <lnTo>
6148 + <pt x="l" y="b" />
6149 + </lnTo>
6150 + <close />
6151 + </path>
6152 + </pathLst>
6154 + </actionButtonSound>
6155 + <arc>
6156 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6157 + <gd name="adj1" fmla="val 16200000" />
6158 + <gd name="adj2" fmla="val 0" />
6159 + </avLst>
6160 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6161 + <gd name="stAng" fmla="pin 0 adj1 21599999" />
6162 + <gd name="enAng" fmla="pin 0 adj2 21599999" />
6163 + <gd name="sw11" fmla="+- enAng 0 stAng" />
6164 + <gd name="sw12" fmla="+- sw11 21600000 0" />
6165 + <gd name="swAng" fmla="?: sw11 sw11 sw12" />
6166 + <gd name="wt1" fmla="sin wd2 stAng" />
6167 + <gd name="ht1" fmla="cos hd2 stAng" />
6168 + <gd name="dx1" fmla="cat2 wd2 ht1 wt1" />
6169 + <gd name="dy1" fmla="sat2 hd2 ht1 wt1" />
6170 + <gd name="wt2" fmla="sin wd2 enAng" />
6171 + <gd name="ht2" fmla="cos hd2 enAng" />
6172 + <gd name="dx2" fmla="cat2 wd2 ht2 wt2" />
6173 + <gd name="dy2" fmla="sat2 hd2 ht2 wt2" />
6174 + <gd name="x1" fmla="+- hc dx1 0" />
6175 + <gd name="y1" fmla="+- vc dy1 0" />
6176 + <gd name="x2" fmla="+- hc dx2 0" />
6177 + <gd name="y2" fmla="+- vc dy2 0" />
6178 + <gd name="sw0" fmla="+- 21600000 0 stAng" />
6179 + <gd name="da1" fmla="+- swAng 0 sw0" />
6180 + <gd name="g1" fmla="max x1 x2" />
6181 + <gd name="ir" fmla="?: da1 r g1" />
6182 + <gd name="sw1" fmla="+- cd4 0 stAng" />
6183 + <gd name="sw2" fmla="+- 27000000 0 stAng" />
6184 + <gd name="sw3" fmla="?: sw1 sw1 sw2" />
6185 + <gd name="da2" fmla="+- swAng 0 sw3" />
6186 + <gd name="g5" fmla="max y1 y2" />
6187 + <gd name="ib" fmla="?: da2 b g5" />
6188 + <gd name="sw4" fmla="+- cd2 0 stAng" />
6189 + <gd name="sw5" fmla="+- 32400000 0 stAng" />
6190 + <gd name="sw6" fmla="?: sw4 sw4 sw5" />
6191 + <gd name="da3" fmla="+- swAng 0 sw6" />
6192 + <gd name="g9" fmla="min x1 x2" />
6193 + <gd name="il" fmla="?: da3 l g9" />
6194 + <gd name="sw7" fmla="+- 3cd4 0 stAng" />
6195 + <gd name="sw8" fmla="+- 37800000 0 stAng" />
6196 + <gd name="sw9" fmla="?: sw7 sw7 sw8" />
6197 + <gd name="da4" fmla="+- swAng 0 sw9" />
6198 + <gd name="g13" fmla="min y1 y2" />
6199 + <gd name="it" fmla="?: da4 t g13" />
6200 + <gd name="cang1" fmla="+- stAng 0 cd4" />
6201 + <gd name="cang2" fmla="+- enAng cd4 0" />
6202 + <gd name="cang3" fmla="+/ cang1 cang2 2" />
6203 + </gdLst>
6204 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6205 + <ahPolar gdRefAng="adj1" minAng="0" maxAng="21599999">
6206 + <pos x="x1" y="y1" />
6207 + </ahPolar>
6208 + <ahPolar gdRefAng="adj2" minAng="0" maxAng="21599999">
6209 + <pos x="x2" y="y2" />
6210 + </ahPolar>
6211 + </ahLst>
6212 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6213 + <cxn ang="cang1">
6214 + <pos x="x1" y="y1" />
6215 + </cxn>
6216 + <cxn ang="cang3">
6217 + <pos x="hc" y="vc" />
6218 + </cxn>
6219 + <cxn ang="cang2">
6220 + <pos x="x2" y="y2" />
6221 + </cxn>
6222 + </cxnLst>
6223 + <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
6224 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6225 + <path stroke="false" extrusionOk="false">
6226 + <moveTo>
6227 + <pt x="x1" y="y1" />
6228 + </moveTo>
6229 + <arcTo wR="wd2" hR="hd2" stAng="stAng" swAng="swAng" />
6230 + <lnTo>
6231 + <pt x="hc" y="vc" />
6232 + </lnTo>
6233 + <close />
6234 + </path>
6235 + <path fill="none">
6236 + <moveTo>
6237 + <pt x="x1" y="y1" />
6238 + </moveTo>
6239 + <arcTo wR="wd2" hR="hd2" stAng="stAng" swAng="swAng" />
6240 + </path>
6241 + </pathLst>
6242 + </arc>
6243 + <bentArrow>
6245 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6246 + <gd name="adj1" fmla="val 25000" />
6248 + <gd name="adj2" fmla="val 25000" />
6250 + <gd name="adj3" fmla="val 25000" />
6252 + <gd name="adj4" fmla="val 43750" />
6254 + </avLst>
6256 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6257 + <gd name="a2" fmla="pin 0 adj2 50000" />
6258 + <gd name="maxAdj1" fmla="*/ a2 2 1" />
6260 + <gd name="a1" fmla="pin 0 adj1 maxAdj1" />
6261 + <gd name="a3" fmla="pin 0 adj3 50000" />
6262 + <gd name="th" fmla="*/ ss a1 100000" />
6264 + <gd name="aw2" fmla="*/ ss a2 100000" />
6266 + <gd name="th2" fmla="*/ th 1 2" />
6267 + <gd name="dh2" fmla="+- aw2 0 th2" />
6269 + <gd name="ah" fmla="*/ ss a3 100000" />
6271 + <gd name="bw" fmla="+- r 0 ah" />
6273 + <gd name="bh" fmla="+- b 0 dh2" />
6275 + <gd name="bs" fmla="min bw bh" />
6277 + <gd name="maxAdj4" fmla="*/ 100000 bs ss" />
6278 + <gd name="a4" fmla="pin 0 adj4 maxAdj4" />
6280 + <gd name="bd" fmla="*/ ss a4 100000" />
6283 + <gd name="bd3" fmla="+- bd 0 th" />
6284 + <gd name="bd2" fmla="max bd3 0" />
6285 + <gd name="x3" fmla="+- th bd2 0" />
6286 + <gd name="x4" fmla="+- r 0 ah" />
6289 + <gd name="y3" fmla="+- dh2 th 0" />
6290 + <gd name="y4" fmla="+- y3 dh2 0" />
6291 + <gd name="y5" fmla="+- dh2 bd 0" />
6292 + <gd name="y6" fmla="+- y3 bd2 0" />
6293 + </gdLst>
6295 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6296 + <ahXY gdRefX="adj1" minX="0" maxX="maxAdj1">
6297 + <pos x="th" y="b" />
6298 + </ahXY>
6299 + <ahXY gdRefY="adj2" minY="0" maxY="50000">
6300 + <pos x="r" y="y4" />
6301 + </ahXY>
6302 + <ahXY gdRefX="adj3" minX="0" maxX="50000">
6303 + <pos x="x4" y="t" />
6304 + </ahXY>
6305 + <ahXY gdRefX="adj4" minX="0" maxX="maxAdj4">
6306 + <pos x="bd" y="t" />
6307 + </ahXY>
6308 + </ahLst>
6310 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6311 + <cxn ang="3cd4">
6312 + <pos x="x4" y="t" />
6313 + </cxn>
6314 + <cxn ang="cd4">
6315 + <pos x="x4" y="y4" />
6316 + </cxn>
6317 + <cxn ang="cd4">
6318 + <pos x="th2" y="b" />
6319 + </cxn>
6320 + <cxn ang="0">
6321 + <pos x="r" y="aw2" />
6322 + </cxn>
6323 + </cxnLst>
6325 + <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
6327 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6328 + <path>
6329 + <moveTo>
6330 + <pt x="l" y="b" />
6331 + </moveTo>
6332 + <lnTo>
6333 + <pt x="l" y="y5" />
6334 + </lnTo>
6335 + <arcTo wR="bd" hR="bd" stAng="cd2" swAng="cd4" />
6336 + <lnTo>
6337 + <pt x="x4" y="dh2" />
6338 + </lnTo>
6339 + <lnTo>
6340 + <pt x="x4" y="t" />
6341 + </lnTo>
6342 + <lnTo>
6343 + <pt x="r" y="aw2" />
6344 + </lnTo>
6345 + <lnTo>
6346 + <pt x="x4" y="y4" />
6347 + </lnTo>
6348 + <lnTo>
6349 + <pt x="x4" y="y3" />
6350 + </lnTo>
6351 + <lnTo>
6352 + <pt x="x3" y="y3" />
6353 + </lnTo>
6354 + <arcTo wR="bd2" hR="bd2" stAng="3cd4" swAng="-5400000" />
6355 + <lnTo>
6356 + <pt x="th" y="b" />
6357 + </lnTo>
6358 + <close />
6359 + </path>
6360 + </pathLst>
6362 + </bentArrow>
6363 + <bentConnector2>
6364 + <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
6365 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6366 + <path fill="none">
6367 + <moveTo>
6368 + <pt x="l" y="t" />
6369 + </moveTo>
6370 + <lnTo>
6371 + <pt x="r" y="t" />
6372 + </lnTo>
6373 + <lnTo>
6374 + <pt x="r" y="b" />
6375 + </lnTo>
6376 + </path>
6377 + </pathLst>
6378 + </bentConnector2>
6379 + <bentConnector3>
6380 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6381 + <gd name="adj1" fmla="val 50000" />
6382 + </avLst>
6383 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6384 + <gd name="x1" fmla="*/ w adj1 100000" />
6385 + </gdLst>
6386 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6387 + <ahXY gdRefX="adj1" minX="-2147483647" maxX="2147483647">
6388 + <pos x="x1" y="vc" />
6389 + </ahXY>
6390 + </ahLst>
6391 + <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
6392 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6393 + <path fill="none">
6394 + <moveTo>
6395 + <pt x="l" y="t" />
6396 + </moveTo>
6397 + <lnTo>
6398 + <pt x="x1" y="t" />
6399 + </lnTo>
6400 + <lnTo>
6401 + <pt x="x1" y="b" />
6402 + </lnTo>
6403 + <lnTo>
6404 + <pt x="r" y="b" />
6405 + </lnTo>
6406 + </path>
6407 + </pathLst>
6408 + </bentConnector3>
6409 + <bentConnector4>
6410 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6411 + <gd name="adj1" fmla="val 50000" />
6412 + <gd name="adj2" fmla="val 50000" />
6413 + </avLst>
6414 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6415 + <gd name="x1" fmla="*/ w adj1 100000" />
6416 + <gd name="x2" fmla="+/ x1 r 2" />
6417 + <gd name="y2" fmla="*/ h adj2 100000" />
6418 + <gd name="y1" fmla="+/ t y2 2" />
6419 + </gdLst>
6420 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6421 + <ahXY gdRefX="adj1" minX="-2147483647" maxX="2147483647">
6422 + <pos x="x1" y="y1" />
6423 + </ahXY>
6424 + <ahXY gdRefY="adj2" minY="-2147483647" maxY="2147483647">
6425 + <pos x="x2" y="y2" />
6426 + </ahXY>
6427 + </ahLst>
6428 + <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
6429 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6430 + <path fill="none">
6431 + <moveTo>
6432 + <pt x="l" y="t" />
6433 + </moveTo>
6434 + <lnTo>
6435 + <pt x="x1" y="t" />
6436 + </lnTo>
6437 + <lnTo>
6438 + <pt x="x1" y="y2" />
6439 + </lnTo>
6440 + <lnTo>
6441 + <pt x="r" y="y2" />
6442 + </lnTo>
6443 + <lnTo>
6444 + <pt x="r" y="b" />
6445 + </lnTo>
6446 + </path>
6447 + </pathLst>
6448 + </bentConnector4>
6449 + <bentConnector5>
6451 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6452 + <gd name="adj1" fmla="val 50000" />
6454 + <gd name="adj2" fmla="val 50000" />
6456 + <gd name="adj3" fmla="val 50000" />
6458 + </avLst>
6459 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6460 + <gd name="x1" fmla="*/ w adj1 100000" />
6462 + <gd name="x3" fmla="*/ w adj3 100000" />
6464 + <gd name="x2" fmla="+/ x1 x3 2" />
6466 + <gd name="y2" fmla="*/ h adj2 100000" />
6468 + <gd name="y1" fmla="+/ t y2 2" />
6470 + <gd name="y3" fmla="+/ b y2 2" />
6472 + </gdLst>
6473 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6474 + <ahXY gdRefX="adj1" minX="-2147483647" maxX="2147483647">
6475 + <pos x="x1" y="y1" />
6476 + </ahXY>
6477 + <ahXY gdRefY="adj2" minY="-2147483647" maxY="2147483647">
6478 + <pos x="x2" y="y2" />
6479 + </ahXY>
6480 + <ahXY gdRefX="adj3" minX="-2147483647" maxX="2147483647">
6481 + <pos x="x3" y="y3" />
6482 + </ahXY>
6483 + </ahLst>
6484 + <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
6485 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6486 + <path fill="none">
6487 + <moveTo>
6488 + <pt x="l" y="t" />
6489 + </moveTo>
6490 + <lnTo>
6491 + <pt x="x1" y="t" />
6492 + </lnTo>
6493 + <lnTo>
6494 + <pt x="x1" y="y2" />
6495 + </lnTo>
6496 + <lnTo>
6497 + <pt x="x3" y="y2" />
6498 + </lnTo>
6499 + <lnTo>
6500 + <pt x="x3" y="b" />
6501 + </lnTo>
6502 + <lnTo>
6503 + <pt x="r" y="b" />
6504 + </lnTo>
6505 + </path>
6506 + </pathLst>
6508 + </bentConnector5>
6509 + <bentUpArrow>
6511 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6512 + <gd name="adj1" fmla="val 25000" />
6514 + <gd name="adj2" fmla="val 25000" />
6516 + <gd name="adj3" fmla="val 25000" />
6518 + </avLst>
6520 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6521 + <gd name="a1" fmla="pin 0 adj1 50000" />
6522 + <gd name="a2" fmla="pin 0 adj2 50000" />
6523 + <gd name="a3" fmla="pin 0 adj3 50000" />
6524 + <gd name="y1" fmla="*/ ss a3 100000" />
6525 + <gd name="dx1" fmla="*/ ss a2 50000" />
6527 + <gd name="x1" fmla="+- r 0 dx1" />
6528 + <gd name="dx3" fmla="*/ ss a2 100000" />
6530 + <gd name="x3" fmla="+- r 0 dx3" />
6531 + <gd name="dx2" fmla="*/ ss a1 200000" />
6533 + <gd name="x2" fmla="+- x3 0 dx2" />
6534 + <gd name="x4" fmla="+- x3 dx2 0" />
6535 + <gd name="dy2" fmla="*/ ss a1 100000" />
6537 + <gd name="y2" fmla="+- b 0 dy2" />
6538 + <gd name="x0" fmla="*/ x4 1 2" />
6539 + <gd name="y3" fmla="+/ y2 b 2" />
6540 + <gd name="y15" fmla="+/ y1 b 2" />
6541 + </gdLst>
6543 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6544 + <ahXY gdRefY="adj1" minY="0" maxY="50000">
6545 + <pos x="l" y="y2" />
6546 + </ahXY>
6547 + <ahXY gdRefX="adj2" minX="0" maxX="50000">
6548 + <pos x="x1" y="t" />
6549 + </ahXY>
6550 + <ahXY gdRefY="adj3" minY="0" maxY="50000">
6551 + <pos x="x2" y="y1" />
6552 + </ahXY>
6553 + </ahLst>
6555 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6556 + <cxn ang="3cd4">
6557 + <pos x="x3" y="t" />
6558 + </cxn>
6559 + <cxn ang="cd2">
6560 + <pos x="x1" y="y1" />
6561 + </cxn>
6562 + <cxn ang="cd2">
6563 + <pos x="l" y="y3" />
6564 + </cxn>
6565 + <cxn ang="cd4">
6566 + <pos x="x0" y="b" />
6567 + </cxn>
6568 + <cxn ang="0">
6569 + <pos x="x4" y="y15" />
6570 + </cxn>
6571 + <cxn ang="0">
6572 + <pos x="r" y="y1" />
6573 + </cxn>
6574 + </cxnLst>
6576 + <rect l="l" t="y2" r="x4" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
6578 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6579 + <path>
6580 + <moveTo>
6581 + <pt x="l" y="y2" />
6582 + </moveTo>
6583 + <lnTo>
6584 + <pt x="x2" y="y2" />
6585 + </lnTo>
6586 + <lnTo>
6587 + <pt x="x2" y="y1" />
6588 + </lnTo>
6589 + <lnTo>
6590 + <pt x="x1" y="y1" />
6591 + </lnTo>
6592 + <lnTo>
6593 + <pt x="x3" y="t" />
6594 + </lnTo>
6595 + <lnTo>
6596 + <pt x="r" y="y1" />
6597 + </lnTo>
6598 + <lnTo>
6599 + <pt x="x4" y="y1" />
6600 + </lnTo>
6601 + <lnTo>
6602 + <pt x="x4" y="b" />
6603 + </lnTo>
6604 + <lnTo>
6605 + <pt x="l" y="b" />
6606 + </lnTo>
6607 + <close />
6608 + </path>
6609 + </pathLst>
6611 + </bentUpArrow>
6612 + <bevel>
6614 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6615 + <gd name="adj" fmla="val 12500" />
6617 + </avLst>
6619 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6620 + <gd name="a" fmla="pin 0 adj 50000" />
6621 + <gd name="x1" fmla="*/ ss a 100000" />
6625 + <gd name="x2" fmla="+- r 0 x1" />
6627 + <gd name="y2" fmla="+- b 0 x1" />
6629 + </gdLst>
6631 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6632 + <ahXY gdRefX="adj" minX="0" maxX="50000">
6633 + <pos x="x1" y="t" />
6634 + </ahXY>
6635 + </ahLst>
6637 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6638 + <cxn ang="0">
6639 + <pos x="r" y="vc" />
6640 + </cxn>
6641 + <cxn ang="0">
6642 + <pos x="x2" y="vc" />
6643 + </cxn>
6644 + <cxn ang="cd4">
6645 + <pos x="hc" y="b" />
6646 + </cxn>
6647 + <cxn ang="cd4">
6648 + <pos x="hc" y="y2" />
6649 + </cxn>
6650 + <cxn ang="cd2">
6651 + <pos x="l" y="vc" />
6652 + </cxn>
6653 + <cxn ang="cd2">
6654 + <pos x="x1" y="vc" />
6655 + </cxn>
6656 + <cxn ang="3cd4">
6657 + <pos x="hc" y="t" />
6658 + </cxn>
6659 + <cxn ang="3cd4">
6660 + <pos x="hc" y="x1" />
6661 + </cxn>
6662 + </cxnLst>
6664 + <rect l="x1" t="x1" r="x2" b="y2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
6666 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6667 + <path stroke="false" extrusionOk="false">
6669 + <moveTo>
6670 + <pt x="x1" y="x1" />
6671 + </moveTo>
6672 + <lnTo>
6673 + <pt x="x2" y="x1" />
6674 + </lnTo>
6675 + <lnTo>
6676 + <pt x="x2" y="y2" />
6677 + </lnTo>
6678 + <lnTo>
6679 + <pt x="x1" y="y2" />
6680 + </lnTo>
6681 + <close />
6682 + </path>
6683 + <path stroke="false" fill="lightenLess" extrusionOk="false">
6685 + <moveTo>
6686 + <pt x="l" y="t" />
6687 + </moveTo>
6688 + <lnTo>
6689 + <pt x="r" y="t" />
6690 + </lnTo>
6691 + <lnTo>
6692 + <pt x="x2" y="x1" />
6693 + </lnTo>
6694 + <lnTo>
6695 + <pt x="x1" y="x1" />
6696 + </lnTo>
6697 + <close />
6698 + </path>
6699 + <path stroke="false" fill="darkenLess" extrusionOk="false">
6701 + <moveTo>
6702 + <pt x="l" y="b" />
6703 + </moveTo>
6704 + <lnTo>
6705 + <pt x="x1" y="y2" />
6706 + </lnTo>
6707 + <lnTo>
6708 + <pt x="x2" y="y2" />
6709 + </lnTo>
6710 + <lnTo>
6711 + <pt x="r" y="b" />
6712 + </lnTo>
6713 + <close />
6714 + </path>
6715 + <path stroke="false" fill="lighten" extrusionOk="false">
6717 + <moveTo>
6718 + <pt x="l" y="t" />
6719 + </moveTo>
6720 + <lnTo>
6721 + <pt x="x1" y="x1" />
6722 + </lnTo>
6723 + <lnTo>
6724 + <pt x="x1" y="y2" />
6725 + </lnTo>
6726 + <lnTo>
6727 + <pt x="l" y="b" />
6728 + </lnTo>
6729 + <close />
6730 + </path>
6731 + <path stroke="false" fill="darken" extrusionOk="false">
6733 + <moveTo>
6734 + <pt x="r" y="t" />
6735 + </moveTo>
6736 + <lnTo>
6737 + <pt x="r" y="b" />
6738 + </lnTo>
6739 + <lnTo>
6740 + <pt x="x2" y="y2" />
6741 + </lnTo>
6742 + <lnTo>
6743 + <pt x="x2" y="x1" />
6744 + </lnTo>
6745 + <close />
6746 + </path>
6747 + <path fill="none" extrusionOk="false">
6749 + <moveTo>
6750 + <pt x="l" y="t" />
6751 + </moveTo>
6752 + <lnTo>
6753 + <pt x="r" y="t" />
6754 + </lnTo>
6755 + <lnTo>
6756 + <pt x="r" y="b" />
6757 + </lnTo>
6758 + <lnTo>
6759 + <pt x="l" y="b" />
6760 + </lnTo>
6761 + <close />
6762 + <moveTo>
6763 + <pt x="x1" y="x1" />
6764 + </moveTo>
6765 + <lnTo>
6766 + <pt x="x2" y="x1" />
6767 + </lnTo>
6768 + <lnTo>
6769 + <pt x="x2" y="y2" />
6770 + </lnTo>
6771 + <lnTo>
6772 + <pt x="x1" y="y2" />
6773 + </lnTo>
6774 + <close />
6775 + <moveTo>
6776 + <pt x="l" y="t" />
6777 + </moveTo>
6778 + <lnTo>
6779 + <pt x="x1" y="x1" />
6780 + </lnTo>
6781 + <moveTo>
6782 + <pt x="l" y="b" />
6783 + </moveTo>
6784 + <lnTo>
6785 + <pt x="x1" y="y2" />
6786 + </lnTo>
6787 + <moveTo>
6788 + <pt x="r" y="t" />
6789 + </moveTo>
6790 + <lnTo>
6791 + <pt x="x2" y="x1" />
6792 + </lnTo>
6793 + <moveTo>
6794 + <pt x="r" y="b" />
6795 + </moveTo>
6796 + <lnTo>
6797 + <pt x="x2" y="y2" />
6798 + </lnTo>
6799 + </path>
6800 + </pathLst>
6802 + </bevel>
6803 + <blockArc>
6806 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6807 + <gd name="adj1" fmla="val 10800000" />
6809 + <gd name="adj2" fmla="val 0" />
6811 + <gd name="adj3" fmla="val 25000" />
6813 + </avLst>
6815 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6816 + <gd name="stAng" fmla="pin 0 adj1 21599999" />
6817 + <gd name="istAng" fmla="pin 0 adj2 21599999" />
6818 + <gd name="a3" fmla="pin 0 adj3 50000" />
6819 + <gd name="sw11" fmla="+- istAng 0 stAng" />
6821 + <gd name="sw12" fmla="+- sw11 21600000 0" />
6823 + <gd name="swAng" fmla="?: sw11 sw11 sw12" />
6825 + <gd name="iswAng" fmla="+- 0 0 swAng" />
6828 + <gd name="wt1" fmla="sin wd2 stAng" />
6829 + <gd name="ht1" fmla="cos hd2 stAng" />
6830 + <gd name="wt3" fmla="sin wd2 istAng" />
6831 + <gd name="ht3" fmla="cos hd2 istAng" />
6832 + <gd name="dx1" fmla="cat2 wd2 ht1 wt1" />
6833 + <gd name="dy1" fmla="sat2 hd2 ht1 wt1" />
6834 + <gd name="dx3" fmla="cat2 wd2 ht3 wt3" />
6835 + <gd name="dy3" fmla="sat2 hd2 ht3 wt3" />
6836 + <gd name="x1" fmla="+- hc dx1 0" />
6838 + <gd name="y1" fmla="+- vc dy1 0" />
6840 + <gd name="x3" fmla="+- hc dx3 0" />
6842 + <gd name="y3" fmla="+- vc dy3 0" />
6845 + <gd name="dr" fmla="*/ ss a3 100000" />
6846 + <gd name="iwd2" fmla="+- wd2 0 dr" />
6847 + <gd name="ihd2" fmla="+- hd2 0 dr" />
6848 + <gd name="wt2" fmla="sin iwd2 istAng" />
6849 + <gd name="ht2" fmla="cos ihd2 istAng" />
6850 + <gd name="wt4" fmla="sin iwd2 stAng" />
6851 + <gd name="ht4" fmla="cos ihd2 stAng" />
6852 + <gd name="dx2" fmla="cat2 iwd2 ht2 wt2" />
6853 + <gd name="dy2" fmla="sat2 ihd2 ht2 wt2" />
6854 + <gd name="dx4" fmla="cat2 iwd2 ht4 wt4" />
6855 + <gd name="dy4" fmla="sat2 ihd2 ht4 wt4" />
6856 + <gd name="x2" fmla="+- hc dx2 0" />
6858 + <gd name="y2" fmla="+- vc dy2 0" />
6860 + <gd name="x4" fmla="+- hc dx4 0" />
6862 + <gd name="y4" fmla="+- vc dy4 0" />
6865 + <gd name="sw0" fmla="+- 21600000 0 stAng" />
6866 + <gd name="da1" fmla="+- swAng 0 sw0" />
6867 + <gd name="g1" fmla="max x1 x2" />
6868 + <gd name="g2" fmla="max x3 x4" />
6869 + <gd name="g3" fmla="max g1 g2" />
6870 + <gd name="ir" fmla="?: da1 r g3" />
6872 + <gd name="sw1" fmla="+- cd4 0 stAng" />
6873 + <gd name="sw2" fmla="+- 27000000 0 stAng" />
6874 + <gd name="sw3" fmla="?: sw1 sw1 sw2" />
6875 + <gd name="da2" fmla="+- swAng 0 sw3" />
6876 + <gd name="g5" fmla="max y1 y2" />
6877 + <gd name="g6" fmla="max y3 y4" />
6878 + <gd name="g7" fmla="max g5 g6" />
6879 + <gd name="ib" fmla="?: da2 b g7" />
6881 + <gd name="sw4" fmla="+- cd2 0 stAng" />
6882 + <gd name="sw5" fmla="+- 32400000 0 stAng" />
6883 + <gd name="sw6" fmla="?: sw4 sw4 sw5" />
6884 + <gd name="da3" fmla="+- swAng 0 sw6" />
6885 + <gd name="g9" fmla="min x1 x2" />
6886 + <gd name="g10" fmla="min x3 x4" />
6887 + <gd name="g11" fmla="min g9 g10" />
6888 + <gd name="il" fmla="?: da3 l g11" />
6890 + <gd name="sw7" fmla="+- 3cd4 0 stAng" />
6891 + <gd name="sw8" fmla="+- 37800000 0 stAng" />
6892 + <gd name="sw9" fmla="?: sw7 sw7 sw8" />
6893 + <gd name="da4" fmla="+- swAng 0 sw9" />
6894 + <gd name="g13" fmla="min y1 y2" />
6895 + <gd name="g14" fmla="min y3 y4" />
6896 + <gd name="g15" fmla="min g13 g14" />
6897 + <gd name="it" fmla="?: da4 t g15" />
6899 + <gd name="x5" fmla="+/ x1 x4 2" />
6901 + <gd name="y5" fmla="+/ y1 y4 2" />
6903 + <gd name="x6" fmla="+/ x3 x2 2" />
6905 + <gd name="y6" fmla="+/ y3 y2 2" />
6907 + <gd name="cang1" fmla="+- stAng 0 cd4" />
6908 + <gd name="cang2" fmla="+- istAng cd4 0" />
6909 + <gd name="cang3" fmla="+/ cang1 cang2 2" />
6910 + </gdLst>
6912 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6913 + <ahPolar gdRefAng="adj1" minAng="0" maxAng="21599999">
6914 + <pos x="x1" y="y1" />
6915 + </ahPolar>
6916 + <ahPolar gdRefR="adj3" minR="0" maxR="50000" gdRefAng="adj2" minAng="0" maxAng="21599999">
6917 + <pos x="x2" y="y2" />
6918 + </ahPolar>
6919 + </ahLst>
6921 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6922 + <cxn ang="cang1">
6923 + <pos x="x5" y="y5" />
6924 + </cxn>
6925 + <cxn ang="cang2">
6926 + <pos x="x6" y="y6" />
6927 + </cxn>
6928 + <cxn ang="cang3">
6929 + <pos x="hc" y="vc" />
6930 + </cxn>
6931 + </cxnLst>
6933 + <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
6935 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6936 + <path>
6937 + <moveTo>
6938 + <pt x="x1" y="y1" />
6939 + </moveTo>
6940 + <arcTo wR="wd2" hR="hd2" stAng="stAng" swAng="swAng" />
6941 + <lnTo>
6942 + <pt x="x2" y="y2" />
6943 + </lnTo>
6944 + <arcTo wR="iwd2" hR="ihd2" stAng="istAng" swAng="iswAng" />
6945 + <close />
6946 + </path>
6947 + </pathLst>
6949 + </blockArc>
6950 + <borderCallout1>
6952 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6954 + <gd name="adj1" fmla="val 18750" />
6956 + <gd name="adj2" fmla="val -8333" />
6958 + <gd name="adj3" fmla="val 112500" />
6960 + <gd name="adj4" fmla="val -38333" />
6962 + </avLst>
6963 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6964 + <gd name="y1" fmla="*/ h adj1 100000" />
6965 + <gd name="x1" fmla="*/ w adj2 100000" />
6966 + <gd name="y2" fmla="*/ h adj3 100000" />
6967 + <gd name="x2" fmla="*/ w adj4 100000" />
6968 + </gdLst>
6969 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6970 + <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">
6971 + <pos x="x1" y="y1" />
6972 + </ahXY>
6973 + <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">
6974 + <pos x="x2" y="y2" />
6975 + </ahXY>
6976 + </ahLst>
6977 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6978 + <cxn ang="0">
6979 + <pos x="r" y="vc" />
6980 + </cxn>
6981 + <cxn ang="cd4">
6982 + <pos x="hc" y="b" />
6983 + </cxn>
6984 + <cxn ang="cd2">
6985 + <pos x="l" y="vc" />
6986 + </cxn>
6987 + <cxn ang="3cd4">
6988 + <pos x="hc" y="t" />
6989 + </cxn>
6990 + </cxnLst>
6991 + <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
6992 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
6993 + <path extrusionOk="false">
6994 + <moveTo>
6995 + <pt x="l" y="t" />
6996 + </moveTo>
6997 + <lnTo>
6998 + <pt x="r" y="t" />
6999 + </lnTo>
7000 + <lnTo>
7001 + <pt x="r" y="b" />
7002 + </lnTo>
7003 + <lnTo>
7004 + <pt x="l" y="b" />
7005 + </lnTo>
7006 + <close />
7007 + </path>
7008 + <path fill="none" extrusionOk="false">
7009 + <moveTo>
7010 + <pt x="x1" y="y1" />
7011 + </moveTo>
7012 + <lnTo>
7013 + <pt x="x2" y="y2" />
7014 + </lnTo>
7015 + </path>
7016 + </pathLst>
7018 + </borderCallout1>
7019 + <borderCallout2>
7021 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7023 + <gd name="adj1" fmla="val 18750" />
7025 + <gd name="adj2" fmla="val -8333" />
7027 + <gd name="adj3" fmla="val 18750" />
7029 + <gd name="adj4" fmla="val -16667" />
7031 + <gd name="adj5" fmla="val 112500" />
7033 + <gd name="adj6" fmla="val -46667" />
7035 + </avLst>
7036 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7037 + <gd name="y1" fmla="*/ h adj1 100000" />
7038 + <gd name="x1" fmla="*/ w adj2 100000" />
7039 + <gd name="y2" fmla="*/ h adj3 100000" />
7040 + <gd name="x2" fmla="*/ w adj4 100000" />
7041 + <gd name="y3" fmla="*/ h adj5 100000" />
7042 + <gd name="x3" fmla="*/ w adj6 100000" />
7043 + </gdLst>
7044 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7045 + <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">
7046 + <pos x="x1" y="y1" />
7047 + </ahXY>
7048 + <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">
7049 + <pos x="x2" y="y2" />
7050 + </ahXY>
7051 + <ahXY gdRefX="adj6" minX="-2147483647" maxX="2147483647" gdRefY="adj5" minY="-2147483647" maxY="2147483647">
7052 + <pos x="x3" y="y3" />
7053 + </ahXY>
7054 + </ahLst>
7055 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7056 + <cxn ang="0">
7057 + <pos x="r" y="vc" />
7058 + </cxn>
7059 + <cxn ang="cd4">
7060 + <pos x="hc" y="b" />
7061 + </cxn>
7062 + <cxn ang="cd2">
7063 + <pos x="l" y="vc" />
7064 + </cxn>
7065 + <cxn ang="3cd4">
7066 + <pos x="hc" y="t" />
7067 + </cxn>
7068 + </cxnLst>
7069 + <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
7070 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7071 + <path extrusionOk="false">
7072 + <moveTo>
7073 + <pt x="l" y="t" />
7074 + </moveTo>
7075 + <lnTo>
7076 + <pt x="r" y="t" />
7077 + </lnTo>
7078 + <lnTo>
7079 + <pt x="r" y="b" />
7080 + </lnTo>
7081 + <lnTo>
7082 + <pt x="l" y="b" />
7083 + </lnTo>
7084 + <close />
7085 + </path>
7086 + <path fill="none" extrusionOk="false">
7087 + <moveTo>
7088 + <pt x="x1" y="y1" />
7089 + </moveTo>
7090 + <lnTo>
7091 + <pt x="x2" y="y2" />
7092 + </lnTo>
7093 + <lnTo>
7094 + <pt x="x3" y="y3" />
7095 + </lnTo>
7096 + </path>
7097 + </pathLst>
7099 + </borderCallout2>
7100 + <borderCallout3>
7102 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7104 + <gd name="adj1" fmla="val 18750" />
7106 + <gd name="adj2" fmla="val -8333" />
7108 + <gd name="adj3" fmla="val 18750" />
7110 + <gd name="adj4" fmla="val -16667" />
7112 + <gd name="adj5" fmla="val 100000" />
7114 + <gd name="adj6" fmla="val -16667" />
7116 + <gd name="adj7" fmla="val 112963" />
7118 + <gd name="adj8" fmla="val -8333" />
7120 + </avLst>
7121 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7122 + <gd name="y1" fmla="*/ h adj1 100000" />
7123 + <gd name="x1" fmla="*/ w adj2 100000" />
7124 + <gd name="y2" fmla="*/ h adj3 100000" />
7125 + <gd name="x2" fmla="*/ w adj4 100000" />
7126 + <gd name="y3" fmla="*/ h adj5 100000" />
7127 + <gd name="x3" fmla="*/ w adj6 100000" />
7128 + <gd name="y4" fmla="*/ h adj7 100000" />
7129 + <gd name="x4" fmla="*/ w adj8 100000" />
7130 + </gdLst>
7131 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7132 + <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">
7133 + <pos x="x1" y="y1" />
7134 + </ahXY>
7135 + <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">
7136 + <pos x="x2" y="y2" />
7137 + </ahXY>
7138 + <ahXY gdRefX="adj6" minX="-2147483647" maxX="2147483647" gdRefY="adj5" minY="-2147483647" maxY="2147483647">
7139 + <pos x="x3" y="y3" />
7140 + </ahXY>
7141 + <ahXY gdRefX="adj8" minX="-2147483647" maxX="2147483647" gdRefY="adj7" minY="-2147483647" maxY="2147483647">
7142 + <pos x="x4" y="y4" />
7143 + </ahXY>
7144 + </ahLst>
7145 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7146 + <cxn ang="0">
7147 + <pos x="r" y="vc" />
7148 + </cxn>
7149 + <cxn ang="cd4">
7150 + <pos x="hc" y="b" />
7151 + </cxn>
7152 + <cxn ang="cd2">
7153 + <pos x="l" y="vc" />
7154 + </cxn>
7155 + <cxn ang="3cd4">
7156 + <pos x="hc" y="t" />
7157 + </cxn>
7158 + </cxnLst>
7159 + <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
7160 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7161 + <path extrusionOk="false">
7162 + <moveTo>
7163 + <pt x="l" y="t" />
7164 + </moveTo>
7165 + <lnTo>
7166 + <pt x="r" y="t" />
7167 + </lnTo>
7168 + <lnTo>
7169 + <pt x="r" y="b" />
7170 + </lnTo>
7171 + <lnTo>
7172 + <pt x="l" y="b" />
7173 + </lnTo>
7174 + <close />
7175 + </path>
7176 + <path fill="none" extrusionOk="false">
7177 + <moveTo>
7178 + <pt x="x1" y="y1" />
7179 + </moveTo>
7180 + <lnTo>
7181 + <pt x="x2" y="y2" />
7182 + </lnTo>
7183 + <lnTo>
7184 + <pt x="x3" y="y3" />
7185 + </lnTo>
7186 + <lnTo>
7187 + <pt x="x4" y="y4" />
7188 + </lnTo>
7189 + </path>
7190 + </pathLst>
7192 + </borderCallout3>
7193 + <bracePair>
7195 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7196 + <gd name="adj" fmla="val 8333" />
7198 + </avLst>
7200 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7201 + <gd name="a" fmla="pin 0 adj 25000" />
7202 + <gd name="x1" fmla="*/ ss a 100000" />
7203 + <gd name="x2" fmla="*/ ss a 50000" />
7204 + <gd name="x3" fmla="+- r 0 x2" />
7205 + <gd name="x4" fmla="+- r 0 x1" />
7207 + <gd name="y2" fmla="+- vc 0 x1" />
7208 + <gd name="y3" fmla="+- vc x1 0" />
7209 + <gd name="y4" fmla="+- b 0 x1" />
7210 + <gd name="it" fmla="*/ x1 29289 100000" />
7212 + <gd name="il" fmla="+- x1 it 0" />
7213 + <gd name="ir" fmla="+- r 0 il" />
7214 + <gd name="ib" fmla="+- b 0 it" />
7215 + </gdLst>
7217 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7218 + <ahXY gdRefY="adj" minY="0" maxY="25000">
7219 + <pos x="l" y="x1" />
7220 + </ahXY>
7221 + </ahLst>
7223 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7224 + <cxn ang="3cd4">
7225 + <pos x="hc" y="t" />
7226 + </cxn>
7227 + <cxn ang="cd2">
7228 + <pos x="l" y="vc" />
7229 + </cxn>
7230 + <cxn ang="cd4">
7231 + <pos x="hc" y="b" />
7232 + </cxn>
7233 + <cxn ang="0">
7234 + <pos x="r" y="vc" />
7235 + </cxn>
7236 + </cxnLst>
7238 + <rect l="il" t="il" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
7240 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7241 + <path stroke="false" extrusionOk="false">
7242 + <moveTo>
7243 + <pt x="x2" y="b" />
7244 + </moveTo>
7245 + <arcTo wR="x1" hR="x1" stAng="cd4" swAng="cd4" />
7246 + <lnTo>
7247 + <pt x="x1" y="y3" />
7248 + </lnTo>
7249 + <arcTo wR="x1" hR="x1" stAng="0" swAng="-5400000" />
7250 + <arcTo wR="x1" hR="x1" stAng="cd4" swAng="-5400000" />
7251 + <lnTo>
7252 + <pt x="x1" y="x1" />
7253 + </lnTo>
7254 + <arcTo wR="x1" hR="x1" stAng="cd2" swAng="cd4" />
7255 + <lnTo>
7256 + <pt x="x3" y="t" />
7257 + </lnTo>
7258 + <arcTo wR="x1" hR="x1" stAng="3cd4" swAng="cd4" />
7259 + <lnTo>
7260 + <pt x="x4" y="y2" />
7261 + </lnTo>
7262 + <arcTo wR="x1" hR="x1" stAng="cd2" swAng="-5400000" />
7263 + <arcTo wR="x1" hR="x1" stAng="3cd4" swAng="-5400000" />
7264 + <lnTo>
7265 + <pt x="x4" y="y4" />
7266 + </lnTo>
7267 + <arcTo wR="x1" hR="x1" stAng="0" swAng="cd4" />
7268 + <close />
7269 + </path>
7270 + <path fill="none">
7271 + <moveTo>
7272 + <pt x="x2" y="b" />
7273 + </moveTo>
7274 + <arcTo wR="x1" hR="x1" stAng="cd4" swAng="cd4" />
7275 + <lnTo>
7276 + <pt x="x1" y="y3" />
7277 + </lnTo>
7278 + <arcTo wR="x1" hR="x1" stAng="0" swAng="-5400000" />
7279 + <arcTo wR="x1" hR="x1" stAng="cd4" swAng="-5400000" />
7280 + <lnTo>
7281 + <pt x="x1" y="x1" />
7282 + </lnTo>
7283 + <arcTo wR="x1" hR="x1" stAng="cd2" swAng="cd4" />
7284 + <moveTo>
7285 + <pt x="x3" y="t" />
7286 + </moveTo>
7287 + <arcTo wR="x1" hR="x1" stAng="3cd4" swAng="cd4" />
7288 + <lnTo>
7289 + <pt x="x4" y="y2" />
7290 + </lnTo>
7291 + <arcTo wR="x1" hR="x1" stAng="cd2" swAng="-5400000" />
7292 + <arcTo wR="x1" hR="x1" stAng="3cd4" swAng="-5400000" />
7293 + <lnTo>
7294 + <pt x="x4" y="y4" />
7295 + </lnTo>
7296 + <arcTo wR="x1" hR="x1" stAng="0" swAng="cd4" />
7297 + </path>
7298 + </pathLst>
7300 + </bracePair>
7301 + <bracketPair>
7303 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7304 + <gd name="adj" fmla="val 16667" />
7305 + </avLst>
7307 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7308 + <gd name="a" fmla="pin 0 adj 50000" />
7309 + <gd name="x1" fmla="*/ ss a 100000" />
7310 + <gd name="x2" fmla="+- r 0 x1" />
7312 + <gd name="y2" fmla="+- b 0 x1" />
7313 + <gd name="il" fmla="*/ x1 29289 100000" />
7316 + <gd name="ir" fmla="+- r 0 il" />
7317 + <gd name="ib" fmla="+- b 0 il" />
7318 + </gdLst>
7320 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7321 + <ahXY gdRefY="adj" minY="0" maxY="50000">
7322 + <pos x="l" y="x1" />
7323 + </ahXY>
7324 + </ahLst>
7326 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7327 + <cxn ang="3cd4">
7328 + <pos x="hc" y="t" />
7329 + </cxn>
7330 + <cxn ang="cd2">
7331 + <pos x="l" y="vc" />
7332 + </cxn>
7333 + <cxn ang="cd4">
7334 + <pos x="hc" y="b" />
7335 + </cxn>
7336 + <cxn ang="0">
7337 + <pos x="r" y="vc" />
7338 + </cxn>
7339 + </cxnLst>
7341 + <rect l="il" t="il" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
7343 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7344 + <path stroke="false" extrusionOk="false">
7345 + <moveTo>
7346 + <pt x="l" y="x1" />
7347 + </moveTo>
7348 + <arcTo wR="x1" hR="x1" stAng="cd2" swAng="cd4" />
7349 + <lnTo>
7350 + <pt x="x2" y="t" />
7351 + </lnTo>
7352 + <arcTo wR="x1" hR="x1" stAng="3cd4" swAng="cd4" />
7353 + <lnTo>
7354 + <pt x="r" y="y2" />
7355 + </lnTo>
7356 + <arcTo wR="x1" hR="x1" stAng="0" swAng="cd4" />
7357 + <lnTo>
7358 + <pt x="x1" y="b" />
7359 + </lnTo>
7360 + <arcTo wR="x1" hR="x1" stAng="cd4" swAng="cd4" />
7361 + <close />
7362 + </path>
7363 + <path fill="none">
7364 + <moveTo>
7365 + <pt x="x1" y="b" />
7366 + </moveTo>
7367 + <arcTo wR="x1" hR="x1" stAng="cd4" swAng="cd4" />
7368 + <lnTo>
7369 + <pt x="l" y="x1" />
7370 + </lnTo>
7371 + <arcTo wR="x1" hR="x1" stAng="cd2" swAng="cd4" />
7372 + <moveTo>
7373 + <pt x="x2" y="t" />
7374 + </moveTo>
7375 + <arcTo wR="x1" hR="x1" stAng="3cd4" swAng="cd4" />
7376 + <lnTo>
7377 + <pt x="r" y="y2" />
7378 + </lnTo>
7379 + <arcTo wR="x1" hR="x1" stAng="0" swAng="cd4" />
7380 + </path>
7381 + </pathLst>
7383 + </bracketPair>
7384 + <callout1>
7386 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7388 + <gd name="adj1" fmla="val 18750" />
7390 + <gd name="adj2" fmla="val -8333" />
7392 + <gd name="adj3" fmla="val 112500" />
7394 + <gd name="adj4" fmla="val -38333" />
7396 + </avLst>
7397 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7398 + <gd name="y1" fmla="*/ h adj1 100000" />
7399 + <gd name="x1" fmla="*/ w adj2 100000" />
7400 + <gd name="y2" fmla="*/ h adj3 100000" />
7401 + <gd name="x2" fmla="*/ w adj4 100000" />
7402 + </gdLst>
7403 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7404 + <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">
7405 + <pos x="x1" y="y1" />
7406 + </ahXY>
7407 + <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">
7408 + <pos x="x2" y="y2" />
7409 + </ahXY>
7410 + </ahLst>
7411 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7412 + <cxn ang="0">
7413 + <pos x="r" y="vc" />
7414 + </cxn>
7415 + <cxn ang="cd4">
7416 + <pos x="hc" y="b" />
7417 + </cxn>
7418 + <cxn ang="cd2">
7419 + <pos x="l" y="vc" />
7420 + </cxn>
7421 + <cxn ang="3cd4">
7422 + <pos x="hc" y="t" />
7423 + </cxn>
7424 + </cxnLst>
7425 + <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
7426 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7427 + <path stroke="false" extrusionOk="false">
7428 + <moveTo>
7429 + <pt x="l" y="t" />
7430 + </moveTo>
7431 + <lnTo>
7432 + <pt x="r" y="t" />
7433 + </lnTo>
7434 + <lnTo>
7435 + <pt x="r" y="b" />
7436 + </lnTo>
7437 + <lnTo>
7438 + <pt x="l" y="b" />
7439 + </lnTo>
7440 + <close />
7441 + </path>
7442 + <path fill="none" extrusionOk="false">
7443 + <moveTo>
7444 + <pt x="x1" y="y1" />
7445 + </moveTo>
7446 + <lnTo>
7447 + <pt x="x2" y="y2" />
7448 + </lnTo>
7449 + </path>
7450 + </pathLst>
7452 + </callout1>
7453 + <callout2>
7455 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7457 + <gd name="adj1" fmla="val 18750" />
7459 + <gd name="adj2" fmla="val -8333" />
7461 + <gd name="adj3" fmla="val 18750" />
7463 + <gd name="adj4" fmla="val -16667" />
7465 + <gd name="adj5" fmla="val 112500" />
7467 + <gd name="adj6" fmla="val -46667" />
7469 + </avLst>
7470 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7471 + <gd name="y1" fmla="*/ h adj1 100000" />
7472 + <gd name="x1" fmla="*/ w adj2 100000" />
7473 + <gd name="y2" fmla="*/ h adj3 100000" />
7474 + <gd name="x2" fmla="*/ w adj4 100000" />
7475 + <gd name="y3" fmla="*/ h adj5 100000" />
7476 + <gd name="x3" fmla="*/ w adj6 100000" />
7477 + </gdLst>
7478 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7479 + <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">
7480 + <pos x="x1" y="y1" />
7481 + </ahXY>
7482 + <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">
7483 + <pos x="x2" y="y2" />
7484 + </ahXY>
7485 + <ahXY gdRefX="adj6" minX="-2147483647" maxX="2147483647" gdRefY="adj5" minY="-2147483647" maxY="2147483647">
7486 + <pos x="x3" y="y3" />
7487 + </ahXY>
7488 + </ahLst>
7489 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7490 + <cxn ang="0">
7491 + <pos x="r" y="vc" />
7492 + </cxn>
7493 + <cxn ang="cd4">
7494 + <pos x="hc" y="b" />
7495 + </cxn>
7496 + <cxn ang="cd2">
7497 + <pos x="l" y="vc" />
7498 + </cxn>
7499 + <cxn ang="3cd4">
7500 + <pos x="hc" y="t" />
7501 + </cxn>
7502 + </cxnLst>
7503 + <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
7504 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7505 + <path stroke="false" extrusionOk="false">
7506 + <moveTo>
7507 + <pt x="l" y="t" />
7508 + </moveTo>
7509 + <lnTo>
7510 + <pt x="r" y="t" />
7511 + </lnTo>
7512 + <lnTo>
7513 + <pt x="r" y="b" />
7514 + </lnTo>
7515 + <lnTo>
7516 + <pt x="l" y="b" />
7517 + </lnTo>
7518 + <close />
7519 + </path>
7520 + <path fill="none" extrusionOk="false">
7521 + <moveTo>
7522 + <pt x="x1" y="y1" />
7523 + </moveTo>
7524 + <lnTo>
7525 + <pt x="x2" y="y2" />
7526 + </lnTo>
7527 + <lnTo>
7528 + <pt x="x3" y="y3" />
7529 + </lnTo>
7530 + </path>
7531 + </pathLst>
7533 + </callout2>
7534 + <callout3>
7536 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7538 + <gd name="adj1" fmla="val 18750" />
7540 + <gd name="adj2" fmla="val -8333" />
7542 + <gd name="adj3" fmla="val 18750" />
7544 + <gd name="adj4" fmla="val -16667" />
7546 + <gd name="adj5" fmla="val 100000" />
7548 + <gd name="adj6" fmla="val -16667" />
7550 + <gd name="adj7" fmla="val 112963" />
7552 + <gd name="adj8" fmla="val -8333" />
7554 + </avLst>
7555 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7556 + <gd name="y1" fmla="*/ h adj1 100000" />
7557 + <gd name="x1" fmla="*/ w adj2 100000" />
7558 + <gd name="y2" fmla="*/ h adj3 100000" />
7559 + <gd name="x2" fmla="*/ w adj4 100000" />
7560 + <gd name="y3" fmla="*/ h adj5 100000" />
7561 + <gd name="x3" fmla="*/ w adj6 100000" />
7562 + <gd name="y4" fmla="*/ h adj7 100000" />
7563 + <gd name="x4" fmla="*/ w adj8 100000" />
7564 + </gdLst>
7565 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7566 + <ahXY gdRefX="adj2" minX="-2147483647" maxX="2147483647" gdRefY="adj1" minY="-2147483647" maxY="2147483647">
7567 + <pos x="x1" y="y1" />
7568 + </ahXY>
7569 + <ahXY gdRefX="adj4" minX="-2147483647" maxX="2147483647" gdRefY="adj3" minY="-2147483647" maxY="2147483647">
7570 + <pos x="x2" y="y2" />
7571 + </ahXY>
7572 + <ahXY gdRefX="adj6" minX="-2147483647" maxX="2147483647" gdRefY="adj5" minY="-2147483647" maxY="2147483647">
7573 + <pos x="x3" y="y3" />
7574 + </ahXY>
7575 + <ahXY gdRefX="adj8" minX="-2147483647" maxX="2147483647" gdRefY="adj7" minY="-2147483647" maxY="2147483647">
7576 + <pos x="x4" y="y4" />
7577 + </ahXY>
7578 + </ahLst>
7579 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7580 + <cxn ang="0">
7581 + <pos x="r" y="vc" />
7582 + </cxn>
7583 + <cxn ang="cd4">
7584 + <pos x="hc" y="b" />
7585 + </cxn>
7586 + <cxn ang="cd2">
7587 + <pos x="l" y="vc" />
7588 + </cxn>
7589 + <cxn ang="3cd4">
7590 + <pos x="hc" y="t" />
7591 + </cxn>
7592 + </cxnLst>
7593 + <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
7594 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7595 + <path stroke="false" extrusionOk="false">
7596 + <moveTo>
7597 + <pt x="l" y="t" />
7598 + </moveTo>
7599 + <lnTo>
7600 + <pt x="r" y="t" />
7601 + </lnTo>
7602 + <lnTo>
7603 + <pt x="r" y="b" />
7604 + </lnTo>
7605 + <lnTo>
7606 + <pt x="l" y="b" />
7607 + </lnTo>
7608 + <close />
7609 + </path>
7610 + <path fill="none" extrusionOk="false">
7611 + <moveTo>
7612 + <pt x="x1" y="y1" />
7613 + </moveTo>
7614 + <lnTo>
7615 + <pt x="x2" y="y2" />
7616 + </lnTo>
7617 + <lnTo>
7618 + <pt x="x3" y="y3" />
7619 + </lnTo>
7620 + <lnTo>
7621 + <pt x="x4" y="y4" />
7622 + </lnTo>
7623 + </path>
7624 + </pathLst>
7626 + </callout3>
7627 + <can>
7629 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7630 + <gd name="adj" fmla="val 25000" />
7632 + </avLst>
7634 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7635 + <gd name="maxAdj" fmla="*/ 50000 h ss" />
7636 + <gd name="a" fmla="pin 0 adj maxAdj" />
7637 + <gd name="y1" fmla="*/ ss a 200000" />
7638 + <gd name="y2" fmla="+- y1 y1 0" />
7639 + <gd name="y3" fmla="+- b 0 y1" />
7640 + </gdLst>
7642 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7643 + <ahXY gdRefY="adj" minY="0" maxY="maxAdj">
7644 + <pos x="hc" y="y2" />
7645 + </ahXY>
7646 + </ahLst>
7648 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7649 + <cxn ang="3cd4">
7650 + <pos x="hc" y="y2" />
7651 + </cxn>
7652 + <cxn ang="3cd4">
7653 + <pos x="hc" y="t" />
7654 + </cxn>
7655 + <cxn ang="cd2">
7656 + <pos x="l" y="vc" />
7657 + </cxn>
7658 + <cxn ang="cd4">
7659 + <pos x="hc" y="b" />
7660 + </cxn>
7661 + <cxn ang="0">
7662 + <pos x="r" y="vc" />
7663 + </cxn>
7664 + </cxnLst>
7666 + <rect l="l" t="y2" r="r" b="y3" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
7668 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7669 + <path stroke="false" extrusionOk="false">
7671 + <moveTo>
7672 + <pt x="l" y="y1" />
7673 + </moveTo>
7674 + <arcTo wR="wd2" hR="y1" stAng="cd2" swAng="-10800000" />
7675 + <lnTo>
7676 + <pt x="r" y="y3" />
7677 + </lnTo>
7678 + <arcTo wR="wd2" hR="y1" stAng="0" swAng="cd2" />
7679 + <close />
7680 + </path>
7681 + <path stroke="false" fill="lighten" extrusionOk="false">
7683 + <moveTo>
7684 + <pt x="l" y="y1" />
7685 + </moveTo>
7686 + <arcTo wR="wd2" hR="y1" stAng="cd2" swAng="cd2" />
7687 + <arcTo wR="wd2" hR="y1" stAng="0" swAng="cd2" />
7688 + <close />
7689 + </path>
7690 + <path fill="none" extrusionOk="false">
7692 + <moveTo>
7693 + <pt x="r" y="y1" />
7694 + </moveTo>
7695 + <arcTo wR="wd2" hR="y1" stAng="0" swAng="cd2" />
7696 + <arcTo wR="wd2" hR="y1" stAng="cd2" swAng="cd2" />
7697 + <lnTo>
7698 + <pt x="r" y="y3" />
7699 + </lnTo>
7700 + <arcTo wR="wd2" hR="y1" stAng="0" swAng="cd2" />
7701 + <lnTo>
7702 + <pt x="l" y="y1" />
7703 + </lnTo>
7704 + </path>
7705 + </pathLst>
7707 + </can>
7708 + <chartPlus>
7710 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7711 + <path w="10" h="10" fill="none" extrusionOk="false">
7712 + <moveTo>
7713 + <pt x="5" y="0" />
7714 + </moveTo>
7715 + <lnTo>
7716 + <pt x="5" y="10" />
7717 + </lnTo>
7718 + <moveTo>
7719 + <pt x="0" y="5" />
7720 + </moveTo>
7721 + <lnTo>
7722 + <pt x="10" y="5" />
7723 + </lnTo>
7724 + </path>
7725 + <path w="10" h="10" stroke="false">
7726 + <moveTo>
7727 + <pt x="0" y="0" />
7728 + </moveTo>
7729 + <lnTo>
7730 + <pt x="0" y="10" />
7731 + </lnTo>
7732 + <lnTo>
7733 + <pt x="10" y="10" />
7734 + </lnTo>
7735 + <lnTo>
7736 + <pt x="10" y="0" />
7737 + </lnTo>
7738 + <close />
7739 + </path>
7740 + </pathLst>
7742 + </chartPlus>
7743 + <chartStar>
7745 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7746 + <path w="10" h="10" fill="none" extrusionOk="false">
7747 + <moveTo>
7748 + <pt x="0" y="0" />
7749 + </moveTo>
7750 + <lnTo>
7751 + <pt x="10" y="10" />
7752 + </lnTo>
7753 + <moveTo>
7754 + <pt x="0" y="10" />
7755 + </moveTo>
7756 + <lnTo>
7757 + <pt x="10" y="0" />
7758 + </lnTo>
7759 + <moveTo>
7760 + <pt x="5" y="0" />
7761 + </moveTo>
7762 + <lnTo>
7763 + <pt x="5" y="10" />
7764 + </lnTo>
7765 + </path>
7766 + <path w="10" h="10" stroke="false">
7767 + <moveTo>
7768 + <pt x="0" y="0" />
7769 + </moveTo>
7770 + <lnTo>
7771 + <pt x="0" y="10" />
7772 + </lnTo>
7773 + <lnTo>
7774 + <pt x="10" y="10" />
7775 + </lnTo>
7776 + <lnTo>
7777 + <pt x="10" y="0" />
7778 + </lnTo>
7779 + <close />
7780 + </path>
7781 + </pathLst>
7783 + </chartStar>
7784 + <chartX>
7786 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7787 + <path w="10" h="10" fill="none" extrusionOk="false">
7788 + <moveTo>
7789 + <pt x="0" y="0" />
7790 + </moveTo>
7791 + <lnTo>
7792 + <pt x="10" y="10" />
7793 + </lnTo>
7794 + <moveTo>
7795 + <pt x="0" y="10" />
7796 + </moveTo>
7797 + <lnTo>
7798 + <pt x="10" y="0" />
7799 + </lnTo>
7800 + </path>
7801 + <path w="10" h="10" stroke="false">
7802 + <moveTo>
7803 + <pt x="0" y="0" />
7804 + </moveTo>
7805 + <lnTo>
7806 + <pt x="0" y="10" />
7807 + </lnTo>
7808 + <lnTo>
7809 + <pt x="10" y="10" />
7810 + </lnTo>
7811 + <lnTo>
7812 + <pt x="10" y="0" />
7813 + </lnTo>
7814 + <close />
7815 + </path>
7816 + </pathLst>
7818 + </chartX>
7819 + <chevron>
7820 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7821 + <gd name="adj" fmla="val 50000" />
7822 + </avLst>
7823 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7824 + <gd name="maxAdj" fmla="*/ 100000 w ss" />
7825 + <gd name="a" fmla="pin 0 adj maxAdj" />
7826 + <gd name="x1" fmla="*/ ss a 100000" />
7827 + <gd name="x2" fmla="+- r 0 x1" />
7828 + <gd name="x3" fmla="*/ x2 1 2" />
7829 + <gd name="dx" fmla="+- x2 0 x1" />
7830 + <gd name="il" fmla="?: dx x1 l" />
7831 + <gd name="ir" fmla="?: dx x2 r" />
7832 + </gdLst>
7833 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7834 + <ahXY gdRefX="adj" minX="0" maxX="maxAdj">
7835 + <pos x="x2" y="t" />
7836 + </ahXY>
7837 + </ahLst>
7838 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7839 + <cxn ang="3cd4">
7840 + <pos x="x3" y="t" />
7841 + </cxn>
7842 + <cxn ang="cd2">
7843 + <pos x="x1" y="vc" />
7844 + </cxn>
7845 + <cxn ang="cd4">
7846 + <pos x="x3" y="b" />
7847 + </cxn>
7848 + <cxn ang="0">
7849 + <pos x="r" y="vc" />
7850 + </cxn>
7851 + </cxnLst>
7852 + <rect l="il" t="t" r="ir" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
7853 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7854 + <path>
7855 + <moveTo>
7856 + <pt x="l" y="t" />
7857 + </moveTo>
7858 + <lnTo>
7859 + <pt x="x2" y="t" />
7860 + </lnTo>
7861 + <lnTo>
7862 + <pt x="r" y="vc" />
7863 + </lnTo>
7864 + <lnTo>
7865 + <pt x="x2" y="b" />
7866 + </lnTo>
7867 + <lnTo>
7868 + <pt x="l" y="b" />
7869 + </lnTo>
7870 + <lnTo>
7871 + <pt x="x1" y="vc" />
7872 + </lnTo>
7873 + <close />
7874 + </path>
7875 + </pathLst>
7876 + </chevron>
7877 + <chord>
7879 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7880 + <gd name="adj1" fmla="val 2700000" />
7882 + <gd name="adj2" fmla="val 16200000" />
7884 + </avLst>
7886 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7887 + <gd name="stAng" fmla="pin 0 adj1 21599999" />
7888 + <gd name="enAng" fmla="pin 0 adj2 21599999" />
7889 + <gd name="sw1" fmla="+- enAng 0 stAng" />
7891 + <gd name="sw2" fmla="+- sw1 21600000 0" />
7893 + <gd name="swAng" fmla="?: sw1 sw1 sw2" />
7895 + <gd name="wt1" fmla="sin wd2 stAng" />
7896 + <gd name="ht1" fmla="cos hd2 stAng" />
7897 + <gd name="dx1" fmla="cat2 wd2 ht1 wt1" />
7898 + <gd name="dy1" fmla="sat2 hd2 ht1 wt1" />
7899 + <gd name="wt2" fmla="sin wd2 enAng" />
7900 + <gd name="ht2" fmla="cos hd2 enAng" />
7901 + <gd name="dx2" fmla="cat2 wd2 ht2 wt2" />
7902 + <gd name="dy2" fmla="sat2 hd2 ht2 wt2" />
7903 + <gd name="x1" fmla="+- hc dx1 0" />
7905 + <gd name="y1" fmla="+- vc dy1 0" />
7907 + <gd name="x2" fmla="+- hc dx2 0" />
7909 + <gd name="y2" fmla="+- vc dy2 0" />
7911 + <gd name="x3" fmla="+/ x1 x2 2" />
7912 + <gd name="y3" fmla="+/ y1 y2 2" />
7913 + <gd name="midAng0" fmla="*/ swAng 1 2" />
7914 + <gd name="midAng" fmla="+- stAng midAng0 cd2" />
7915 + <gd name="idx" fmla="cos wd2 2700000" />
7916 + <gd name="idy" fmla="sin hd2 2700000" />
7917 + <gd name="il" fmla="+- hc 0 idx" />
7918 + <gd name="ir" fmla="+- hc idx 0" />
7919 + <gd name="it" fmla="+- vc 0 idy" />
7920 + <gd name="ib" fmla="+- vc idy 0" />
7921 + </gdLst>
7923 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7924 + <ahPolar gdRefAng="adj1" minAng="0" maxAng="21599999">
7925 + <pos x="x1" y="y1" />
7926 + </ahPolar>
7927 + <ahPolar gdRefAng="adj2" minAng="0" maxAng="21599999">
7928 + <pos x="x2" y="y2" />
7929 + </ahPolar>
7930 + </ahLst>
7932 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7933 + <cxn ang="stAng">
7934 + <pos x="x1" y="y1" />
7935 + </cxn>
7936 + <cxn ang="enAng">
7937 + <pos x="x2" y="y2" />
7938 + </cxn>
7939 + <cxn ang="midAng">
7940 + <pos x="x3" y="y3" />
7941 + </cxn>
7942 + </cxnLst>
7944 + <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
7946 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7947 + <path>
7948 + <moveTo>
7949 + <pt x="x1" y="y1" />
7950 + </moveTo>
7951 + <arcTo wR="wd2" hR="hd2" stAng="stAng" swAng="swAng" />
7952 + <close />
7953 + </path>
7954 + </pathLst>
7956 + </chord>
7957 + <circularArrow>
7959 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7960 + <gd name="adj1" fmla="val 12500" />
7962 + <gd name="adj2" fmla="val 1142319" />
7964 + <gd name="adj3" fmla="val 20457681" />
7966 + <gd name="adj4" fmla="val 10800000" />
7968 + <gd name="adj5" fmla="val 12500" />
7970 + </avLst>
7971 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
7972 + <gd name="a5" fmla="pin 0 adj5 25000" />
7974 + <gd name="maxAdj1" fmla="*/ a5 2 1" />
7976 + <gd name="a1" fmla="pin 0 adj1 maxAdj1" />
7977 + <gd name="enAng" fmla="pin 1 adj3 21599999" />
7978 + <gd name="stAng" fmla="pin 0 adj4 21599999" />
7980 + <gd name="th" fmla="*/ ss a1 100000" />
7982 + <gd name="thh" fmla="*/ ss a5 100000" />
7984 + <gd name="th2" fmla="*/ th 1 2" />
7987 + <gd name="rw1" fmla="+- wd2 th2 thh" />
7989 + <gd name="rh1" fmla="+- hd2 th2 thh" />
7991 + <gd name="rw2" fmla="+- rw1 0 th" />
7993 + <gd name="rh2" fmla="+- rh1 0 th" />
7995 + <gd name="rw3" fmla="+- rw2 th2 0" />
7997 + <gd name="rh3" fmla="+- rh2 th2 0" />
8000 + <gd name="wtH" fmla="sin rw3 enAng" />
8001 + <gd name="htH" fmla="cos rh3 enAng" />
8002 + <gd name="dxH" fmla="cat2 rw3 htH wtH" />
8003 + <gd name="dyH" fmla="sat2 rh3 htH wtH" />
8004 + <gd name="xH" fmla="+- hc dxH 0" />
8006 + <gd name="yH" fmla="+- vc dyH 0" />
8009 + <gd name="rI" fmla="min rw2 rh2" />
8011 + <gd name="u1" fmla="*/ dxH dxH 1" />
8012 + <gd name="u2" fmla="*/ dyH dyH 1" />
8013 + <gd name="u3" fmla="*/ rI rI 1" />
8014 + <gd name="u4" fmla="+- u1 0 u3" />
8015 + <gd name="u5" fmla="+- u2 0 u3" />
8016 + <gd name="u6" fmla="*/ u4 u5 u1" />
8017 + <gd name="u7" fmla="*/ u6 1 u2" />
8018 + <gd name="u8" fmla="+- 1 0 u7" />
8019 + <gd name="u9" fmla="sqrt u8" />
8020 + <gd name="u10" fmla="*/ u4 1 dxH" />
8021 + <gd name="u11" fmla="*/ u10 1 dyH" />
8022 + <gd name="u12" fmla="+/ 1 u9 u11" />
8023 + <gd name="u13" fmla="at2 1 u12" />
8024 + <gd name="u14" fmla="+- u13 21600000 0" />
8025 + <gd name="u15" fmla="?: u13 u13 u14" />
8026 + <gd name="u16" fmla="+- u15 0 enAng" />
8028 + <gd name="u17" fmla="+- u16 21600000 0" />
8029 + <gd name="u18" fmla="?: u16 u16 u17" />
8030 + <gd name="u19" fmla="+- u18 0 cd2" />
8031 + <gd name="u20" fmla="+- u18 0 21600000" />
8032 + <gd name="u21" fmla="?: u19 u20 u18" />
8033 + <gd name="maxAng" fmla="abs u21" />
8034 + <gd name="aAng" fmla="pin 0 adj2 maxAng" />
8036 + <gd name="ptAng" fmla="+- enAng aAng 0" />
8039 + <gd name="wtA" fmla="sin rw3 ptAng" />
8040 + <gd name="htA" fmla="cos rh3 ptAng" />
8041 + <gd name="dxA" fmla="cat2 rw3 htA wtA" />
8042 + <gd name="dyA" fmla="sat2 rh3 htA wtA" />
8043 + <gd name="xA" fmla="+- hc dxA 0" />
8045 + <gd name="yA" fmla="+- vc dyA 0" />
8048 + <gd name="wtE" fmla="sin rw1 stAng" />
8049 + <gd name="htE" fmla="cos rh1 stAng" />
8050 + <gd name="dxE" fmla="cat2 rw1 htE wtE" />
8051 + <gd name="dyE" fmla="sat2 rh1 htE wtE" />
8052 + <gd name="xE" fmla="+- hc dxE 0" />
8054 + <gd name="yE" fmla="+- vc dyE 0" />
8057 + <gd name="dxG" fmla="cos thh ptAng" />
8058 + <gd name="dyG" fmla="sin thh ptAng" />
8059 + <gd name="xG" fmla="+- xH dxG 0" />
8061 + <gd name="yG" fmla="+- yH dyG 0" />
8064 + <gd name="dxB" fmla="cos thh ptAng" />
8065 + <gd name="dyB" fmla="sin thh ptAng" />
8066 + <gd name="xB" fmla="+- xH 0 dxB 0" />
8068 + <gd name="yB" fmla="+- yH 0 dyB 0" />
8071 + <gd name="sx1" fmla="+- xB 0 hc" />
8073 + <gd name="sy1" fmla="+- yB 0 vc" />
8075 + <gd name="sx2" fmla="+- xG 0 hc" />
8077 + <gd name="sy2" fmla="+- yG 0 vc" />
8080 + <gd name="rO" fmla="min rw1 rh1" />
8082 + <gd name="x1O" fmla="*/ sx1 rO rw1" />
8084 + <gd name="y1O" fmla="*/ sy1 rO rh1" />
8086 + <gd name="x2O" fmla="*/ sx2 rO rw1" />
8088 + <gd name="y2O" fmla="*/ sy2 rO rh1" />
8091 + <gd name="dxO" fmla="+- x2O 0 x1O" />
8092 + <gd name="dyO" fmla="+- y2O 0 y1O" />
8093 + <gd name="dO" fmla="mod dxO dyO 0" />
8095 + <gd name="q1" fmla="*/ x1O y2O 1" />
8096 + <gd name="q2" fmla="*/ x2O y1O 1" />
8097 + <gd name="DO" fmla="+- q1 0 q2" />
8100 + <gd name="q3" fmla="*/ rO rO 1" />
8102 + <gd name="q4" fmla="*/ dO dO 1" />
8104 + <gd name="q5" fmla="*/ q3 q4 1" />
8106 + <gd name="q6" fmla="*/ DO DO 1" />
8108 + <gd name="q7" fmla="+- q5 0 q6" />
8110 + <gd name="q8" fmla="max q7 0" />
8112 + <gd name="sdelO" fmla="sqrt q8" />
8114 + <gd name="ndyO" fmla="*/ dyO -1 1" />
8115 + <gd name="sdyO" fmla="?: ndyO -1 1" />
8117 + <gd name="q9" fmla="*/ sdyO dxO 1" />
8119 + <gd name="q10" fmla="*/ q9 sdelO 1" />
8121 + <gd name="q11" fmla="*/ DO dyO 1" />
8123 + <gd name="dxF1" fmla="+/ q11 q10 q4" />
8125 + <gd name="q12" fmla="+- q11 0 q10" />
8126 + <gd name="dxF2" fmla="*/ q12 1 q4" />
8129 + <gd name="adyO" fmla="abs dyO" />
8130 + <gd name="q13" fmla="*/ adyO sdelO 1" />
8132 + <gd name="q14" fmla="*/ DO dxO -1" />
8134 + <gd name="dyF1" fmla="+/ q14 q13 q4" />
8136 + <gd name="q15" fmla="+- q14 0 q13" />
8137 + <gd name="dyF2" fmla="*/ q15 1 q4" />
8141 + <gd name="q16" fmla="+- x2O 0 dxF1" />
8142 + <gd name="q17" fmla="+- x2O 0 dxF2" />
8143 + <gd name="q18" fmla="+- y2O 0 dyF1" />
8144 + <gd name="q19" fmla="+- y2O 0 dyF2" />
8145 + <gd name="q20" fmla="mod q16 q18 0" />
8147 + <gd name="q21" fmla="mod q17 q19 0" />
8149 + <gd name="q22" fmla="+- q21 0 q20" />
8150 + <gd name="dxF" fmla="?: q22 dxF1 dxF2" />
8152 + <gd name="dyF" fmla="?: q22 dyF1 dyF2" />
8154 + <gd name="sdxF" fmla="*/ dxF rw1 rO" />
8156 + <gd name="sdyF" fmla="*/ dyF rh1 rO" />
8158 + <gd name="xF" fmla="+- hc sdxF 0" />
8160 + <gd name="yF" fmla="+- vc sdyF 0" />
8165 + <gd name="x1I" fmla="*/ sx1 rI rw2" />
8167 + <gd name="y1I" fmla="*/ sy1 rI rh2" />
8169 + <gd name="x2I" fmla="*/ sx2 rI rw2" />
8171 + <gd name="y2I" fmla="*/ sy2 rI rh2" />
8174 + <gd name="dxI" fmla="+- x2I 0 x1I" />
8175 + <gd name="dyI" fmla="+- y2I 0 y1I" />
8176 + <gd name="dI" fmla="mod dxI dyI 0" />
8177 + <gd name="v1" fmla="*/ x1I y2I 1" />
8178 + <gd name="v2" fmla="*/ x2I y1I 1" />
8179 + <gd name="DI" fmla="+- v1 0 v2" />
8181 + <gd name="v3" fmla="*/ rI rI 1" />
8182 + <gd name="v4" fmla="*/ dI dI 1" />
8183 + <gd name="v5" fmla="*/ v3 v4 1" />
8184 + <gd name="v6" fmla="*/ DI DI 1" />
8185 + <gd name="v7" fmla="+- v5 0 v6" />
8186 + <gd name="v8" fmla="max v7 0" />
8187 + <gd name="sdelI" fmla="sqrt v8" />
8188 + <gd name="v9" fmla="*/ sdyO dxI 1" />
8189 + <gd name="v10" fmla="*/ v9 sdelI 1" />
8190 + <gd name="v11" fmla="*/ DI dyI 1" />
8191 + <gd name="dxC1" fmla="+/ v11 v10 v4" />
8192 + <gd name="v12" fmla="+- v11 0 v10" />
8193 + <gd name="dxC2" fmla="*/ v12 1 v4" />
8195 + <gd name="adyI" fmla="abs dyI" />
8196 + <gd name="v13" fmla="*/ adyI sdelI 1" />
8197 + <gd name="v14" fmla="*/ DI dxI -1" />
8198 + <gd name="dyC1" fmla="+/ v14 v13 v4" />
8199 + <gd name="v15" fmla="+- v14 0 v13" />
8200 + <gd name="dyC2" fmla="*/ v15 1 v4" />
8202 + <gd name="v16" fmla="+- x1I 0 dxC1" />
8203 + <gd name="v17" fmla="+- x1I 0 dxC2" />
8204 + <gd name="v18" fmla="+- y1I 0 dyC1" />
8205 + <gd name="v19" fmla="+- y1I 0 dyC2" />
8206 + <gd name="v20" fmla="mod v16 v18 0" />
8207 + <gd name="v21" fmla="mod v17 v19 0" />
8208 + <gd name="v22" fmla="+- v21 0 v20" />
8209 + <gd name="dxC" fmla="?: v22 dxC1 dxC2" />
8210 + <gd name="dyC" fmla="?: v22 dyC1 dyC2" />
8211 + <gd name="sdxC" fmla="*/ dxC rw2 rI" />
8212 + <gd name="sdyC" fmla="*/ dyC rh2 rI" />
8213 + <gd name="xC" fmla="+- hc sdxC 0" />
8215 + <gd name="yC" fmla="+- vc sdyC 0" />
8218 + <gd name="ist0" fmla="at2 sdxC sdyC" />
8219 + <gd name="ist1" fmla="+- ist0 21600000 0" />
8220 + <gd name="istAng" fmla="?: ist0 ist0 ist1" />
8221 + <gd name="isw1" fmla="+- stAng 0 istAng" />
8222 + <gd name="isw2" fmla="+- isw1 0 21600000" />
8223 + <gd name="iswAng" fmla="?: isw1 isw2 isw1" />
8226 + <gd name="p1" fmla="+- xF 0 xC" />
8227 + <gd name="p2" fmla="+- yF 0 yC" />
8228 + <gd name="p3" fmla="mod p1 p2 0" />
8229 + <gd name="p4" fmla="*/ p3 1 2" />
8230 + <gd name="p5" fmla="+- p4 0 thh" />
8231 + <gd name="xGp" fmla="?: p5 xF xG" />
8232 + <gd name="yGp" fmla="?: p5 yF yG" />
8233 + <gd name="xBp" fmla="?: p5 xC xB" />
8234 + <gd name="yBp" fmla="?: p5 yC yB" />
8236 + <gd name="en0" fmla="at2 sdxF sdyF" />
8237 + <gd name="en1" fmla="+- en0 21600000 0" />
8238 + <gd name="en2" fmla="?: en0 en0 en1" />
8239 + <gd name="sw0" fmla="+- en2 0 stAng" />
8240 + <gd name="sw1" fmla="+- sw0 21600000 0" />
8241 + <gd name="swAng" fmla="?: sw0 sw0 sw1" />
8243 + <gd name="wtI" fmla="sin rw3 stAng" />
8244 + <gd name="htI" fmla="cos rh3 stAng" />
8245 + <gd name="dxI" fmla="cat2 rw3 htI wtI" />
8246 + <gd name="dyI" fmla="sat2 rh3 htI wtI" />
8247 + <gd name="xI" fmla="+- hc dxI 0" />
8249 + <gd name="yI" fmla="+- vc dyI 0" />
8252 + <gd name="aI" fmla="+- stAng 0 cd4" />
8253 + <gd name="aA" fmla="+- ptAng cd4 0" />
8254 + <gd name="aB" fmla="+- ptAng cd2 0" />
8256 + <gd name="idx" fmla="cos rw1 2700000" />
8257 + <gd name="idy" fmla="sin rh1 2700000" />
8258 + <gd name="il" fmla="+- hc 0 idx" />
8259 + <gd name="ir" fmla="+- hc idx 0" />
8260 + <gd name="it" fmla="+- vc 0 idy" />
8261 + <gd name="ib" fmla="+- vc idy 0" />
8262 + </gdLst>
8264 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
8265 + <ahPolar gdRefAng="adj2" minAng="0" maxAng="maxAng">
8266 + <pos x="xA" y="yA" />
8267 + </ahPolar>
8268 + <ahPolar gdRefAng="adj4" minAng="0" maxAng="21599999">
8269 + <pos x="xE" y="yE" />
8270 + </ahPolar>
8271 + <ahPolar gdRefR="adj1" minR="0" maxR="maxAdj1" gdRefAng="adj3" minAng="0" maxAng="21599999">
8272 + <pos x="xF" y="yF" />
8273 + </ahPolar>
8274 + <ahPolar gdRefR="adj5" minR="0" maxR="25000">
8275 + <pos x="xB" y="yB" />
8276 + </ahPolar>
8277 + </ahLst>
8279 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
8280 + <cxn ang="aI">
8281 + <pos x="xI" y="yI" />
8282 + </cxn>
8283 + <cxn ang="ptAng">
8284 + <pos x="xGp" y="yGp" />
8285 + </cxn>
8286 + <cxn ang="aA">
8287 + <pos x="xA" y="yA" />
8288 + </cxn>
8289 + <cxn ang="aB">
8290 + <pos x="xBp" y="yBp" />
8291 + </cxn>
8292 + </cxnLst>
8294 + <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
8296 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
8297 + <path>
8298 + <moveTo>
8299 + <pt x="xE" y="yE" />
8300 + </moveTo>
8301 + <arcTo wR="rw1" hR="rh1" stAng="stAng" swAng="swAng" />
8302 + <lnTo>
8303 + <pt x="xGp" y="yGp" />
8304 + </lnTo>
8305 + <lnTo>
8306 + <pt x="xA" y="yA" />
8307 + </lnTo>
8308 + <lnTo>
8309 + <pt x="xBp" y="yBp" />
8310 + </lnTo>
8311 + <lnTo>
8312 + <pt x="xC" y="yC" />
8313 + </lnTo>
8314 + <arcTo wR="rw2" hR="rh2" stAng="istAng" swAng="iswAng" />
8315 + <close />
8316 + </path>
8317 + </pathLst>
8319 + </circularArrow>
8320 + <cloud>
8322 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
8323 + <gd name="il" fmla="*/ w 2977 21600" />
8324 + <gd name="it" fmla="*/ h 3262 21600" />
8325 + <gd name="ir" fmla="*/ w 17087 21600" />
8326 + <gd name="ib" fmla="*/ h 17337 21600" />
8327 + <gd name="g27" fmla="*/ w 67 21600" />
8328 + <gd name="g28" fmla="*/ h 21577 21600" />
8329 + <gd name="g29" fmla="*/ w 21582 21600" />
8330 + <gd name="g30" fmla="*/ h 1235 21600" />
8331 + </gdLst>
8333 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
8334 + <cxn ang="0">
8335 + <pos x="g29" y="vc" />
8336 + </cxn>
8337 + <cxn ang="cd4">
8338 + <pos x="hc" y="g28" />
8339 + </cxn>
8340 + <cxn ang="cd2">
8341 + <pos x="g27" y="vc" />
8342 + </cxn>
8343 + <cxn ang="3cd4">
8344 + <pos x="hc" y="g30" />
8345 + </cxn>
8346 + </cxnLst>
8348 + <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
8350 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
8351 + <path w="43200" h="43200">
8352 + <moveTo>
8353 + <pt x="3900" y="14370" />
8354 + </moveTo>
8355 + <arcTo wR="6753" hR="9190" stAng="-11429249" swAng="7426832" />
8356 + <arcTo wR="5333" hR="7267" stAng="-8646143" swAng="5396714" />
8357 + <arcTo wR="4365" hR="5945" stAng="-8748475" swAng="5983381" />
8358 + <arcTo wR="4857" hR="6595" stAng="-7859164" swAng="7034504" />
8359 + <arcTo wR="5333" hR="7273" stAng="-4722533" swAng="6541615" />
8360 + <arcTo wR="6775" hR="9220" stAng="-2776035" swAng="7816140" />
8361 + <arcTo wR="5785" hR="7867" stAng="37501" swAng="6842000" />
8362 + <arcTo wR="6752" hR="9215" stAng="1347096" swAng="6910353" />
8363 + <arcTo wR="7720" hR="10543" stAng="3974558" swAng="4542661" />
8364 + <arcTo wR="4360" hR="5918" stAng="-16496525" swAng="8804134" />
8365 + <arcTo wR="4345" hR="5945" stAng="-14809710" swAng="9151131" />
8366 + <close />
8367 + </path>
8368 + <path w="43200" h="43200" fill="none" extrusionOk="false">
8369 + <moveTo>
8370 + <pt x="4693" y="26177" />
8371 + </moveTo>
8372 + <arcTo wR="4345" hR="5945" stAng="5204520" swAng="1585770" />
8373 + <moveTo>
8374 + <pt x="6928" y="34899" />
8375 + </moveTo>
8376 + <arcTo wR="4360" hR="5918" stAng="4416628" swAng="686848" />
8377 + <moveTo>
8378 + <pt x="16478" y="39090" />
8379 + </moveTo>
8380 + <arcTo wR="6752" hR="9215" stAng="8257449" swAng="844866" />
8381 + <moveTo>
8382 + <pt x="28827" y="34751" />
8383 + </moveTo>
8384 + <arcTo wR="6752" hR="9215" stAng="387196" swAng="959901" />
8385 + <moveTo>
8386 + <pt x="34129" y="22954" />
8387 + </moveTo>
8388 + <arcTo wR="5785" hR="7867" stAng="-4217541" swAng="4255042" />
8389 + <moveTo>
8390 + <pt x="41798" y="15354" />
8391 + </moveTo>
8392 + <arcTo wR="5333" hR="7273" stAng="1819082" swAng="1665090" />
8393 + <moveTo>
8394 + <pt x="38324" y="5426" />
8395 + </moveTo>
8396 + <arcTo wR="4857" hR="6595" stAng="-824660" swAng="891534" />
8397 + <moveTo>
8398 + <pt x="29078" y="3952" />
8399 + </moveTo>
8400 + <arcTo wR="4857" hR="6595" stAng="-8950887" swAng="1091722" />
8401 + <moveTo>
8402 + <pt x="22141" y="4720" />
8403 + </moveTo>
8404 + <arcTo wR="4365" hR="5945" stAng="-9809656" swAng="1061181" />
8405 + <moveTo>
8406 + <pt x="14000" y="5192" />
8407 + </moveTo>
8408 + <arcTo wR="6753" hR="9190" stAng="-4002417" swAng="739161" />
8409 + <moveTo>
8410 + <pt x="4127" y="15789" />
8411 + </moveTo>
8412 + <arcTo wR="6753" hR="9190" stAng="9459261" swAng="711490" />
8413 + </path>
8414 + </pathLst>
8416 + </cloud>
8417 + <cloudCallout>
8419 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
8420 + <gd name="adj1" fmla="val -20833" />
8422 + <gd name="adj2" fmla="val 62500" />
8424 + </avLst>
8426 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
8427 + <gd name="dxPos" fmla="*/ w adj1 100000" />
8428 + <gd name="dyPos" fmla="*/ h adj2 100000" />
8429 + <gd name="xPos" fmla="+- hc dxPos 0" />
8430 + <gd name="yPos" fmla="+- vc dyPos 0" />
8431 + <gd name="ht" fmla="cat2 hd2 dxPos dyPos" />
8432 + <gd name="wt" fmla="sat2 wd2 dxPos dyPos" />
8433 + <gd name="g2" fmla="cat2 wd2 ht wt" />
8434 + <gd name="g3" fmla="sat2 hd2 ht wt" />
8435 + <gd name="g4" fmla="+- hc g2 0" />
8437 + <gd name="g5" fmla="+- vc g3 0" />
8439 + <gd name="g6" fmla="+- g4 0 xPos" />
8441 + <gd name="g7" fmla="+- g5 0 yPos" />
8443 + <gd name="g8" fmla="mod g6 g7 0" />
8445 + <gd name="g9" fmla="*/ ss 6600 21600" />
8447 + <gd name="g10" fmla="+- g8 0 g9" />
8449 + <gd name="g11" fmla="*/ g10 1 3" />
8451 + <gd name="g12" fmla="*/ ss 1800 21600" />
8453 + <gd name="g13" fmla="+- g11 g12 0" />
8455 + <gd name="g14" fmla="*/ g13 g6 g8" />
8457 + <gd name="g15" fmla="*/ g13 g7 g8" />
8459 + <gd name="g16" fmla="+- g14 xPos 0" />
8461 + <gd name="g17" fmla="+- g15 yPos 0" />
8463 + <gd name="g18" fmla="*/ ss 4800 21600" />
8465 + <gd name="g19" fmla="*/ g11 2 1" />
8467 + <gd name="g20" fmla="+- g18 g19 0" />
8469 + <gd name="g21" fmla="*/ g20 g6 g8" />
8470 + <gd name="g22" fmla="*/ g20 g7 g8" />
8471 + <gd name="g23" fmla="+- g21 xPos 0" />
8472 + <gd name="g24" fmla="+- g22 yPos 0" />
8473 + <gd name="g25" fmla="*/ ss 1200 21600" />
8474 + <gd name="g26" fmla="*/ ss 600 21600" />
8476 + <gd name="x23" fmla="+- xPos g26 0" />
8477 + <gd name="x24" fmla="+- g16 g25 0" />
8478 + <gd name="x25" fmla="+- g23 g12 0" />
8479 + <gd name="il" fmla="*/ w 2977 21600" />
8480 + <gd name="it" fmla="*/ h 3262 21600" />
8481 + <gd name="ir" fmla="*/ w 17087 21600" />
8482 + <gd name="ib" fmla="*/ h 17337 21600" />
8484 + <gd name="g27" fmla="*/ w 67 21600" />
8485 + <gd name="g28" fmla="*/ h 21577 21600" />
8486 + <gd name="g29" fmla="*/ w 21582 21600" />
8487 + <gd name="g30" fmla="*/ h 1235 21600" />
8488 + <gd name="pang" fmla="at2 dxPos dyPos" />
8489 + </gdLst>
8491 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
8492 + <ahXY gdRefX="adj1" minX="-2147483647" maxX="2147483647" gdRefY="adj2" minY="-2147483647" maxY="2147483647">
8493 + <pos x="xPos" y="yPos" />
8494 + </ahXY>
8495 + </ahLst>
8497 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
8498 + <cxn ang="cd2">
8499 + <pos x="g27" y="vc" />
8500 + </cxn>
8501 + <cxn ang="cd4">
8502 + <pos x="hc" y="g28" />
8503 + </cxn>
8504 + <cxn ang="0">
8505 + <pos x="g29" y="vc" />
8506 + </cxn>
8507 + <cxn ang="3cd4">
8508 + <pos x="hc" y="g30" />
8509 + </cxn>
8510 + <cxn ang="pang">
8511 + <pos x="xPos" y="yPos" />
8512 + </cxn>
8513 + </cxnLst>
8515 + <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
8517 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
8518 + <path w="43200" h="43200">
8519 + <moveTo>
8520 + <pt x="3900" y="14370" />
8521 + </moveTo>
8522 + <arcTo wR="6753" hR="9190" stAng="-11429249" swAng="7426832" />
8523 + <arcTo wR="5333" hR="7267" stAng="-8646143" swAng="5396714" />
8524 + <arcTo wR="4365" hR="5945" stAng="-8748475" swAng="5983381" />
8525 + <arcTo wR="4857" hR="6595" stAng="-7859164" swAng="7034504" />
8526 + <arcTo wR="5333" hR="7273" stAng="-4722533" swAng="6541615" />
8527 + <arcTo wR="6775" hR="9220" stAng="-2776035" swAng="7816140" />
8528 + <arcTo wR="5785" hR="7867" stAng="37501" swAng="6842000" />
8529 + <arcTo wR="6752" hR="9215" stAng="1347096" swAng="6910353" />
8530 + <arcTo wR="7720" hR="10543" stAng="3974558" swAng="4542661" />
8531 + <arcTo wR="4360" hR="5918" stAng="-16496525" swAng="8804134" />
8532 + <arcTo wR="4345" hR="5945" stAng="-14809710" swAng="9151131" />
8533 + <close />
8534 + </path>
8535 + <path>
8536 + <moveTo>
8537 + <pt x="x23" y="yPos" />
8538 + </moveTo>
8539 + <arcTo wR="g26" hR="g26" stAng="0" swAng="21600000" />
8540 + <close />
8541 + </path>
8542 + <path>
8543 + <moveTo>
8544 + <pt x="x24" y="g17" />
8545 + </moveTo>
8546 + <arcTo wR="g25" hR="g25" stAng="0" swAng="21600000" />
8547 + <close />
8548 + </path>
8549 + <path>
8550 + <moveTo>
8551 + <pt x="x25" y="g24" />
8552 + </moveTo>
8553 + <arcTo wR="g12" hR="g12" stAng="0" swAng="21600000" />
8554 + <close />
8555 + </path>
8556 + <path w="43200" h="43200" fill="none" extrusionOk="false">
8557 + <moveTo>
8558 + <pt x="4693" y="26177" />
8559 + </moveTo>
8560 + <arcTo wR="4345" hR="5945" stAng="5204520" swAng="1585770" />
8561 + <moveTo>
8562 + <pt x="6928" y="34899" />
8563 + </moveTo>
8564 + <arcTo wR="4360" hR="5918" stAng="4416628" swAng="686848" />
8565 + <moveTo>
8566 + <pt x="16478" y="39090" />
8567 + </moveTo>
8568 + <arcTo wR="6752" hR="9215" stAng="8257449" swAng="844866" />
8569 + <moveTo>
8570 + <pt x="28827" y="34751" />
8571 + </moveTo>
8572 + <arcTo wR="6752" hR="9215" stAng="387196" swAng="959901" />
8573 + <moveTo>
8574 + <pt x="34129" y="22954" />
8575 + </moveTo>
8576 + <arcTo wR="5785" hR="7867" stAng="-4217541" swAng="4255042" />
8577 + <moveTo>
8578 + <pt x="41798" y="15354" />
8579 + </moveTo>
8580 + <arcTo wR="5333" hR="7273" stAng="1819082" swAng="1665090" />
8581 + <moveTo>
8582 + <pt x="38324" y="5426" />
8583 + </moveTo>
8584 + <arcTo wR="4857" hR="6595" stAng="-824660" swAng="891534" />
8585 + <moveTo>
8586 + <pt x="29078" y="3952" />
8587 + </moveTo>
8588 + <arcTo wR="4857" hR="6595" stAng="-8950887" swAng="1091722" />
8589 + <moveTo>
8590 + <pt x="22141" y="4720" />
8591 + </moveTo>
8592 + <arcTo wR="4365" hR="5945" stAng="-9809656" swAng="1061181" />
8593 + <moveTo>
8594 + <pt x="14000" y="5192" />
8595 + </moveTo>
8596 + <arcTo wR="6753" hR="9190" stAng="-4002417" swAng="739161" />
8597 + <moveTo>
8598 + <pt x="4127" y="15789" />
8599 + </moveTo>
8600 + <arcTo wR="6753" hR="9190" stAng="9459261" swAng="711490" />
8601 + </path>
8602 + </pathLst>
8604 + </cloudCallout>
8605 + <corner>
8607 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
8608 + <gd name="adj1" fmla="val 50000" />
8610 + <gd name="adj2" fmla="val 50000" />
8612 + </avLst>
8614 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
8615 + <gd name="maxAdj1" fmla="*/ 100000 h ss" />
8616 + <gd name="maxAdj2" fmla="*/ 100000 w ss" />
8617 + <gd name="a1" fmla="pin 0 adj1 maxAdj1" />
8618 + <gd name="a2" fmla="pin 0 adj2 maxAdj2" />
8619 + <gd name="x1" fmla="*/ ss a2 100000" />
8620 + <gd name="dy1" fmla="*/ ss a1 100000" />
8621 + <gd name="y1" fmla="+- b 0 dy1" />
8622 + <gd name="cx1" fmla="*/ x1 1 2" />
8623 + <gd name="cy1" fmla="+/ y1 b 2" />
8624 + <gd name="d" fmla="+- w 0 h" />
8625 + <gd name="it" fmla="?: d y1 t" />
8626 + <gd name="ir" fmla="?: d r x1" />
8627 + </gdLst>
8629 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
8630 + <ahXY gdRefY="adj1" minY="0" maxY="maxAdj1">
8631 + <pos x="l" y="y1" />
8632 + </ahXY>
8633 + <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">
8634 + <pos x="x1" y="t" />
8635 + </ahXY>
8636 + </ahLst>
8638 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
8639 + <cxn ang="0">
8640 + <pos x="r" y="cy1" />
8641 + </cxn>
8642 + <cxn ang="cd4">
8643 + <pos x="hc" y="b" />
8644 + </cxn>
8645 + <cxn ang="cd2">
8646 + <pos x="l" y="vc" />
8647 + </cxn>
8648 + <cxn ang="3cd4">
8649 + <pos x="cx1" y="t" />
8650 + </cxn>
8651 + </cxnLst>
8653 + <rect l="l" t="it" r="ir" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
8655 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
8656 + <path>
8657 + <moveTo>
8658 + <pt x="l" y="t" />
8659 + </moveTo>
8660 + <lnTo>
8661 + <pt x="x1" y="t" />
8662 + </lnTo>
8663 + <lnTo>
8664 + <pt x="x1" y="y1" />
8665 + </lnTo>
8666 + <lnTo>
8667 + <pt x="r" y="y1" />
8668 + </lnTo>
8669 + <lnTo>
8670 + <pt x="r" y="b" />
8671 + </lnTo>
8672 + <lnTo>
8673 + <pt x="l" y="b" />
8674 + </lnTo>
8675 + <close />
8676 + </path>
8677 + </pathLst>
8679 + </corner>
8680 + <cornerTabs>
8682 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
8683 + <gd name="md" fmla="mod w h 0" />
8684 + <gd name="dx" fmla="*/ 1 md 20" />
8686 + <gd name="y1" fmla="+- 0 b dx" />
8688 + <gd name="x1" fmla="+- 0 r dx" />
8690 + </gdLst>
8692 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
8693 + <cxn ang="cd2">
8694 + <pos x="l" y="t" />
8695 + </cxn>
8696 + <cxn ang="cd2">
8697 + <pos x="l" y="dx" />
8698 + </cxn>
8699 + <cxn ang="cd2">
8700 + <pos x="l" y="y1" />
8701 + </cxn>
8702 + <cxn ang="cd2">
8703 + <pos x="l" y="b" />
8704 + </cxn>
8705 + <cxn ang="3cd4">
8706 + <pos x="dx" y="t" />
8707 + </cxn>
8708 + <cxn ang="3cd4">
8709 + <pos x="x1" y="t" />
8710 + </cxn>
8711 + <cxn ang="cd4">
8712 + <pos x="dx" y="b" />
8713 + </cxn>
8714 + <cxn ang="cd4">
8715 + <pos x="x1" y="b" />
8716 + </cxn>
8717 + <cxn ang="0">
8718 + <pos x="r" y="t" />
8719 + </cxn>
8720 + <cxn ang="0">
8721 + <pos x="r" y="dx" />
8722 + </cxn>
8723 + <cxn ang="0">
8724 + <pos x="r" y="y1" />
8725 + </cxn>
8726 + <cxn ang="0">
8727 + <pos x="r" y="b" />
8728 + </cxn>
8729 + </cxnLst>
8731 + <rect l="dx" t="dx" r="x1" b="y1" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
8733 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
8734 + <path>
8735 + <moveTo>
8736 + <pt x="l" y="t" />
8737 + </moveTo>
8738 + <lnTo>
8739 + <pt x="dx" y="t" />
8740 + </lnTo>
8741 + <lnTo>
8742 + <pt x="l" y="dx" />
8743 + </lnTo>
8744 + <close />
8745 + </path>
8746 + <path>
8747 + <moveTo>
8748 + <pt x="l" y="y1" />
8749 + </moveTo>
8750 + <lnTo>
8751 + <pt x="dx" y="b" />
8752 + </lnTo>
8753 + <lnTo>
8754 + <pt x="l" y="b" />
8755 + </lnTo>
8756 + <close />
8757 + </path>
8758 + <path>
8759 + <moveTo>
8760 + <pt x="x1" y="t" />
8761 + </moveTo>
8762 + <lnTo>
8763 + <pt x="r" y="t" />
8764 + </lnTo>
8765 + <lnTo>
8766 + <pt x="r" y="dx" />
8767 + </lnTo>
8768 + <close />
8769 + </path>
8770 + <path>
8771 + <moveTo>
8772 + <pt x="r" y="y1" />
8773 + </moveTo>
8774 + <lnTo>
8775 + <pt x="r" y="b" />
8776 + </lnTo>
8777 + <lnTo>
8778 + <pt x="x1" y="b" />
8779 + </lnTo>
8780 + <close />
8781 + </path>
8782 + </pathLst>
8784 + </cornerTabs>
8785 + <cube>
8786 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
8787 + <gd name="adj" fmla="val 25000" />
8788 + </avLst>
8789 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
8790 + <gd name="a" fmla="pin 0 adj 100000" />
8791 + <gd name="y1" fmla="*/ ss a 100000" />
8792 + <gd name="y4" fmla="+- b 0 y1" />
8793 + <gd name="y2" fmla="*/ y4 1 2" />
8794 + <gd name="y3" fmla="+/ y1 b 2" />
8795 + <gd name="x4" fmla="+- r 0 y1" />
8796 + <gd name="x2" fmla="*/ x4 1 2" />
8797 + <gd name="x3" fmla="+/ y1 r 2" />
8798 + </gdLst>
8799 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
8800 + <ahXY gdRefY="adj" minY="0" maxY="100000">
8801 + <pos x="l" y="y1" />
8802 + </ahXY>
8803 + </ahLst>
8804 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
8805 + <cxn ang="3cd4">
8806 + <pos x="x3" y="t" />
8807 + </cxn>
8808 + <cxn ang="3cd4">
8809 + <pos x="x2" y="y1" />
8810 + </cxn>
8811 + <cxn ang="cd2">
8812 + <pos x="l" y="y3" />
8813 + </cxn>
8814 + <cxn ang="cd4">
8815 + <pos x="x2" y="b" />
8816 + </cxn>
8817 + <cxn ang="0">
8818 + <pos x="x4" y="y3" />
8819 + </cxn>
8820 + <cxn ang="0">
8821 + <pos x="r" y="y2" />
8822 + </cxn>
8823 + </cxnLst>
8824 + <rect l="l" t="y1" r="x4" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
8825 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
8826 + <path stroke="false" extrusionOk="false">
8827 + <moveTo>
8828 + <pt x="l" y="y1" />
8829 + </moveTo>
8830 + <lnTo>
8831 + <pt x="x4" y="y1" />
8832 + </lnTo>
8833 + <lnTo>
8834 + <pt x="x4" y="b" />
8835 + </lnTo>
8836 + <lnTo>
8837 + <pt x="l" y="b" />
8838 + </lnTo>
8839 + <close />
8840 + </path>
8841 + <path stroke="false" fill="darkenLess" extrusionOk="false">
8842 + <moveTo>
8843 + <pt x="x4" y="y1" />
8844 + </moveTo>
8845 + <lnTo>
8846 + <pt x="r" y="t" />
8847 + </lnTo>
8848 + <lnTo>
8849 + <pt x="r" y="y4" />
8850 + </lnTo>
8851 + <lnTo>
8852 + <pt x="x4" y="b" />
8853 + </lnTo>
8854 + <close />
8855 + </path>
8856 + <path stroke="false" fill="lightenLess" extrusionOk="false">
8857 + <moveTo>
8858 + <pt x="l" y="y1" />
8859 + </moveTo>
8860 + <lnTo>
8861 + <pt x="y1" y="t" />
8862 + </lnTo>
8863 + <lnTo>
8864 + <pt x="r" y="t" />
8865 + </lnTo>
8866 + <lnTo>
8867 + <pt x="x4" y="y1" />
8868 + </lnTo>
8869 + <close />
8870 + </path>
8871 + <path fill="none" extrusionOk="false">
8872 + <moveTo>
8873 + <pt x="l" y="y1" />
8874 + </moveTo>
8875 + <lnTo>
8876 + <pt x="y1" y="t" />
8877 + </lnTo>
8878 + <lnTo>
8879 + <pt x="r" y="t" />
8880 + </lnTo>
8881 + <lnTo>
8882 + <pt x="r" y="y4" />
8883 + </lnTo>
8884 + <lnTo>
8885 + <pt x="x4" y="b" />
8886 + </lnTo>
8887 + <lnTo>
8888 + <pt x="l" y="b" />
8889 + </lnTo>
8890 + <close />
8891 + <moveTo>
8892 + <pt x="l" y="y1" />
8893 + </moveTo>
8894 + <lnTo>
8895 + <pt x="x4" y="y1" />
8896 + </lnTo>
8897 + <lnTo>
8898 + <pt x="r" y="t" />
8899 + </lnTo>
8900 + <moveTo>
8901 + <pt x="x4" y="y1" />
8902 + </moveTo>
8903 + <lnTo>
8904 + <pt x="x4" y="b" />
8905 + </lnTo>
8906 + </path>
8907 + </pathLst>
8908 + </cube>
8909 + <curvedConnector2>
8910 + <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
8911 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
8912 + <path fill="none">
8913 + <moveTo>
8914 + <pt x="l" y="t" />
8915 + </moveTo>
8916 + <cubicBezTo>
8917 + <pt x="wd2" y="t" />
8918 + <pt x="r" y="hd2" />
8919 + <pt x="r" y="b" />
8920 + </cubicBezTo>
8921 + </path>
8922 + </pathLst>
8923 + </curvedConnector2>
8924 + <curvedConnector3>
8925 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
8926 + <gd name="adj1" fmla="val 50000" />
8927 + </avLst>
8928 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
8929 + <gd name="x2" fmla="*/ w adj1 100000" />
8930 + <gd name="x1" fmla="+/ l x2 2" />
8931 + <gd name="x3" fmla="+/ r x2 2" />
8932 + <gd name="y3" fmla="*/ h 3 4" />
8933 + </gdLst>
8934 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
8935 + <ahXY gdRefX="adj1" minX="-2147483647" maxX="2147483647">
8936 + <pos x="x2" y="vc" />
8937 + </ahXY>
8938 + </ahLst>
8939 + <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
8940 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
8941 + <path fill="none">
8942 + <moveTo>
8943 + <pt x="l" y="t" />
8944 + </moveTo>
8945 + <cubicBezTo>
8946 + <pt x="x1" y="t" />
8947 + <pt x="x2" y="hd4" />
8948 + <pt x="x2" y="vc" />
8949 + </cubicBezTo>
8950 + <cubicBezTo>
8951 + <pt x="x2" y="y3" />
8952 + <pt x="x3" y="b" />
8953 + <pt x="r" y="b" />
8954 + </cubicBezTo>
8955 + </path>
8956 + </pathLst>
8957 + </curvedConnector3>
8958 + <curvedConnector4>
8959 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
8960 + <gd name="adj1" fmla="val 50000" />
8961 + <gd name="adj2" fmla="val 50000" />
8962 + </avLst>
8963 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
8964 + <gd name="x2" fmla="*/ w adj1 100000" />
8965 + <gd name="x1" fmla="+/ l x2 2" />
8966 + <gd name="x3" fmla="+/ r x2 2" />
8967 + <gd name="x4" fmla="+/ x2 x3 2" />
8968 + <gd name="x5" fmla="+/ x3 r 2" />
8969 + <gd name="y4" fmla="*/ h adj2 100000" />
8970 + <gd name="y1" fmla="+/ t y4 2" />
8971 + <gd name="y2" fmla="+/ t y1 2" />
8972 + <gd name="y3" fmla="+/ y1 y4 2" />
8973 + <gd name="y5" fmla="+/ b y4 2" />
8974 + </gdLst>
8975 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
8976 + <ahXY gdRefX="adj1" minX="-2147483647" maxX="2147483647">
8977 + <pos x="x2" y="y1" />
8978 + </ahXY>
8979 + <ahXY gdRefY="adj2" minY="-2147483647" maxY="2147483647">
8980 + <pos x="x3" y="y4" />
8981 + </ahXY>
8982 + </ahLst>
8983 + <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
8984 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
8985 + <path fill="none">
8986 + <moveTo>
8987 + <pt x="l" y="t" />
8988 + </moveTo>
8989 + <cubicBezTo>
8990 + <pt x="x1" y="t" />
8991 + <pt x="x2" y="y2" />
8992 + <pt x="x2" y="y1" />
8993 + </cubicBezTo>
8994 + <cubicBezTo>
8995 + <pt x="x2" y="y3" />
8996 + <pt x="x4" y="y4" />
8997 + <pt x="x3" y="y4" />
8998 + </cubicBezTo>
8999 + <cubicBezTo>
9000 + <pt x="x5" y="y4" />
9001 + <pt x="r" y="y5" />
9002 + <pt x="r" y="b" />
9003 + </cubicBezTo>
9004 + </path>
9005 + </pathLst>
9006 + </curvedConnector4>
9007 + <curvedConnector5>
9009 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
9010 + <gd name="adj1" fmla="val 50000" />
9012 + <gd name="adj2" fmla="val 50000" />
9014 + <gd name="adj3" fmla="val 50000" />
9016 + </avLst>
9017 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
9018 + <gd name="x3" fmla="*/ w adj1 100000" />
9019 + <gd name="x6" fmla="*/ w adj3 100000" />
9020 + <gd name="x1" fmla="+/ x3 x6 2" />
9021 + <gd name="x2" fmla="+/ l x3 2" />
9022 + <gd name="x4" fmla="+/ x3 x1 2" />
9023 + <gd name="x5" fmla="+/ x6 x1 2" />
9024 + <gd name="x7" fmla="+/ x6 r 2" />
9025 + <gd name="y4" fmla="*/ h adj2 100000" />
9026 + <gd name="y1" fmla="+/ t y4 2" />
9027 + <gd name="y2" fmla="+/ t y1 2" />
9028 + <gd name="y3" fmla="+/ y1 y4 2" />
9029 + <gd name="y5" fmla="+/ b y4 2" />
9030 + <gd name="y6" fmla="+/ y5 y4 2" />
9031 + <gd name="y7" fmla="+/ y5 b 2" />
9032 + </gdLst>
9033 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
9034 + <ahXY gdRefX="adj1" minX="-2147483647" maxX="2147483647">
9035 + <pos x="x3" y="y1" />
9036 + </ahXY>
9037 + <ahXY gdRefY="adj2" minY="-2147483647" maxY="2147483647">
9038 + <pos x="x1" y="y4" />
9039 + </ahXY>
9040 + <ahXY gdRefX="adj3" minX="-2147483647" maxX="2147483647">
9041 + <pos x="x6" y="y5" />
9042 + </ahXY>
9043 + </ahLst>
9044 + <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
9045 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
9046 + <path fill="none">
9047 + <moveTo>
9048 + <pt x="l" y="t" />
9049 + </moveTo>
9050 + <cubicBezTo>
9051 + <pt x="x2" y="t" />
9052 + <pt x="x3" y="y2" />
9053 + <pt x="x3" y="y1" />
9054 + </cubicBezTo>
9055 + <cubicBezTo>
9056 + <pt x="x3" y="y3" />
9057 + <pt x="x4" y="y4" />
9058 + <pt x="x1" y="y4" />
9059 + </cubicBezTo>
9060 + <cubicBezTo>
9061 + <pt x="x5" y="y4" />
9062 + <pt x="x6" y="y6" />
9063 + <pt x="x6" y="y5" />
9064 + </cubicBezTo>
9065 + <cubicBezTo>
9066 + <pt x="x6" y="y7" />
9067 + <pt x="x7" y="b" />
9068 + <pt x="r" y="b" />
9069 + </cubicBezTo>
9070 + </path>
9071 + </pathLst>
9073 + </curvedConnector5>
9074 + <curvedDownArrow>
9076 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
9077 + <gd name="adj1" fmla="val 25000" />
9079 + <gd name="adj2" fmla="val 50000" />
9081 + <gd name="adj3" fmla="val 25000" />
9083 + </avLst>
9085 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
9086 + <gd name="maxAdj2" fmla="*/ 50000 w ss" />
9088 + <gd name="a2" fmla="pin 0 adj2 maxAdj2" />
9089 + <gd name="a1" fmla="pin 0 adj1 100000" />
9090 + <gd name="th" fmla="*/ ss a1 100000" />
9092 + <gd name="aw" fmla="*/ ss a2 100000" />
9094 + <gd name="q1" fmla="+/ th aw 4" />
9096 + <gd name="wR" fmla="+- wd2 0 q1" />
9098 + <gd name="q7" fmla="*/ wR 2 1" />
9100 + <gd name="q8" fmla="*/ q7 q7 1" />
9102 + <gd name="q9" fmla="*/ th th 1" />
9104 + <gd name="q10" fmla="+- q8 0 q9" />
9105 + <gd name="q11" fmla="sqrt q10" />
9106 + <gd name="idy" fmla="*/ q11 h q7" />
9107 + <gd name="maxAdj3" fmla="*/ 100000 idy ss" />
9109 + <gd name="a3" fmla="pin 0 adj3 maxAdj3" />
9110 + <gd name="ah" fmla="*/ ss adj3 100000" />
9116 + <gd name="x3" fmla="+- wR th 0" />
9118 + <gd name="q2" fmla="*/ h h 1" />
9119 + <gd name="q3" fmla="*/ ah ah 1" />
9120 + <gd name="q4" fmla="+- q2 0 q3" />
9121 + <gd name="q5" fmla="sqrt q4" />
9122 + <gd name="dx" fmla="*/ q5 wR h" />
9123 + <gd name="x5" fmla="+- wR dx 0" />
9125 + <gd name="x7" fmla="+- x3 dx 0" />
9127 + <gd name="q6" fmla="+- aw 0 th" />
9128 + <gd name="dh" fmla="*/ q6 1 2" />
9130 + <gd name="x4" fmla="+- x5 0 dh" />
9132 + <gd name="x8" fmla="+- x7 dh 0" />
9134 + <gd name="aw2" fmla="*/ aw 1 2" />
9135 + <gd name="x6" fmla="+- r 0 aw2" />
9137 + <gd name="y1" fmla="+- b 0 ah" />
9138 + <gd name="swAng" fmla="at2 ah dx" />
9140 + <gd name="mswAng" fmla="+- 0 0 swAng" />
9141 + <gd name="iy" fmla="+- b 0 idy" />
9143 + <gd name="ix" fmla="+/ wR x3 2" />
9145 + <gd name="q12" fmla="*/ th 1 2" />
9146 + <gd name="dang2" fmla="at2 idy q12" />
9147 + <gd name="stAng" fmla="+- 3cd4 swAng 0" />
9148 + <gd name="stAng2" fmla="+- 3cd4 0 dang2" />
9149 + <gd name="swAng2" fmla="+- dang2 0 cd4" />
9150 + <gd name="swAng3" fmla="+- cd4 dang2 0" />
9151 + </gdLst>
9153 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
9154 + <ahXY gdRefX="adj1" minX="0" maxX="adj2">
9155 + <pos x="x7" y="y1" />
9156 + </ahXY>
9157 + <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">
9158 + <pos x="x4" y="b" />
9159 + </ahXY>
9160 + <ahXY gdRefY="adj3" minY="0" maxY="maxAdj3">
9161 + <pos x="r" y="y1" />
9162 + </ahXY>
9163 + </ahLst>
9165 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
9166 + <cxn ang="3cd4">
9167 + <pos x="ix" y="t" />
9168 + </cxn>
9169 + <cxn ang="cd4">
9170 + <pos x="q12" y="b" />
9171 + </cxn>
9172 + <cxn ang="cd4">
9173 + <pos x="x4" y="y1" />
9174 + </cxn>
9175 + <cxn ang="cd4">
9176 + <pos x="x6" y="b" />
9177 + </cxn>
9178 + <cxn ang="0">
9179 + <pos x="x8" y="y1" />
9180 + </cxn>
9181 + </cxnLst>
9184 + <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
9186 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
9188 + <path stroke="false" extrusionOk="false">
9189 + <moveTo>
9190 + <pt x="x6" y="b" />
9191 + </moveTo>
9192 + <lnTo>
9193 + <pt x="x4" y="y1" />
9194 + </lnTo>
9195 + <lnTo>
9196 + <pt x="x5" y="y1" />
9197 + </lnTo>
9198 + <arcTo wR="wR" hR="h" stAng="stAng" swAng="mswAng" />
9199 + <lnTo>
9200 + <pt x="x3" y="t" />
9201 + </lnTo>
9202 + <arcTo wR="wR" hR="h" stAng="3cd4" swAng="swAng" />
9203 + <lnTo>
9204 + <pt x="x8" y="y1" />
9205 + </lnTo>
9206 + <close />
9207 + </path>
9209 + <path fill="darkenLess" stroke="false" extrusionOk="false">
9210 + <moveTo>
9211 + <pt x="ix" y="iy" />
9212 + </moveTo>
9213 + <arcTo wR="wR" hR="h" stAng="stAng2" swAng="swAng2" />
9214 + <lnTo>
9215 + <pt x="l" y="b" />
9216 + </lnTo>
9217 + <arcTo wR="wR" hR="h" stAng="cd2" swAng="swAng3" />
9218 + <close />
9219 + </path>
9221 + <path fill="none" extrusionOk="false">
9222 + <moveTo>
9223 + <pt x="ix" y="iy" />
9224 + </moveTo>
9225 + <arcTo wR="wR" hR="h" stAng="stAng2" swAng="swAng2" />
9226 + <lnTo>
9227 + <pt x="l" y="b" />
9228 + </lnTo>
9229 + <arcTo wR="wR" hR="h" stAng="cd2" swAng="cd4" />
9230 + <lnTo>
9231 + <pt x="x3" y="t" />
9232 + </lnTo>
9233 + <arcTo wR="wR" hR="h" stAng="3cd4" swAng="swAng" />
9234 + <lnTo>
9235 + <pt x="x8" y="y1" />
9236 + </lnTo>
9237 + <lnTo>
9238 + <pt x="x6" y="b" />
9239 + </lnTo>
9240 + <lnTo>
9241 + <pt x="x4" y="y1" />
9242 + </lnTo>
9243 + <lnTo>
9244 + <pt x="x5" y="y1" />
9245 + </lnTo>
9246 + <arcTo wR="wR" hR="h" stAng="stAng" swAng="mswAng" />
9247 + </path>
9248 + </pathLst>
9250 + </curvedDownArrow>
9251 + <curvedLeftArrow>
9253 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
9254 + <gd name="adj1" fmla="val 25000" />
9256 + <gd name="adj2" fmla="val 50000" />
9258 + <gd name="adj3" fmla="val 25000" />
9260 + </avLst>
9262 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
9263 + <gd name="maxAdj2" fmla="*/ 50000 h ss" />
9265 + <gd name="a2" fmla="pin 0 adj2 maxAdj2" />
9266 + <gd name="a1" fmla="pin 0 adj1 a2" />
9267 + <gd name="th" fmla="*/ ss a1 100000" />
9269 + <gd name="aw" fmla="*/ ss a2 100000" />
9271 + <gd name="q1" fmla="+/ th aw 4" />
9273 + <gd name="hR" fmla="+- hd2 0 q1" />
9275 + <gd name="q7" fmla="*/ hR 2 1" />
9277 + <gd name="q8" fmla="*/ q7 q7 1" />
9279 + <gd name="q9" fmla="*/ th th 1" />
9281 + <gd name="q10" fmla="+- q8 0 q9" />
9282 + <gd name="q11" fmla="sqrt q10" />
9283 + <gd name="idx" fmla="*/ q11 w q7" />
9284 + <gd name="maxAdj3" fmla="*/ 100000 idx ss" />
9286 + <gd name="a3" fmla="pin 0 adj3 maxAdj3" />
9287 + <gd name="ah" fmla="*/ ss a3 100000" />
9293 + <gd name="y3" fmla="+- hR th 0" />
9295 + <gd name="q2" fmla="*/ w w 1" />
9296 + <gd name="q3" fmla="*/ ah ah 1" />
9297 + <gd name="q4" fmla="+- q2 0 q3" />
9298 + <gd name="q5" fmla="sqrt q4" />
9299 + <gd name="dy" fmla="*/ q5 hR w" />
9300 + <gd name="y5" fmla="+- hR dy 0" />
9302 + <gd name="y7" fmla="+- y3 dy 0" />
9304 + <gd name="q6" fmla="+- aw 0 th" />
9305 + <gd name="dh" fmla="*/ q6 1 2" />
9307 + <gd name="y4" fmla="+- y5 0 dh" />
9309 + <gd name="y8" fmla="+- y7 dh 0" />
9311 + <gd name="aw2" fmla="*/ aw 1 2" />
9312 + <gd name="y6" fmla="+- b 0 aw2" />
9314 + <gd name="x1" fmla="+- l ah 0" />
9315 + <gd name="swAng" fmla="at2 ah dy" />
9317 + <gd name="mswAng" fmla="+- 0 0 swAng" />
9318 + <gd name="ix" fmla="+- l idx 0" />
9320 + <gd name="iy" fmla="+/ hR y3 2" />
9322 + <gd name="q12" fmla="*/ th 1 2" />
9323 + <gd name="dang2" fmla="at2 idx q12" />
9324 + <gd name="swAng2" fmla="+- dang2 0 swAng" />
9325 + <gd name="swAng3" fmla="+- swAng dang2 0" />
9326 + <gd name="stAng3" fmla="+- 0 0 dang2" />
9327 + </gdLst>
9329 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
9330 + <ahXY gdRefY="adj1" minY="0" maxY="a2">
9331 + <pos x="x1" y="y5" />
9332 + </ahXY>
9333 + <ahXY gdRefY="adj2" minY="0" maxY="maxAdj2">
9334 + <pos x="r" y="y4" />
9335 + </ahXY>
9336 + <ahXY gdRefX="adj3" minX="0" maxX="maxAdj3">
9337 + <pos x="x1" y="b" />
9338 + </ahXY>
9339 + </ahLst>
9341 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
9342 + <cxn ang="cd2">
9343 + <pos x="l" y="q12" />
9344 + </cxn>
9345 + <cxn ang="cd2">
9346 + <pos x="x1" y="y4" />
9347 + </cxn>
9348 + <cxn ang="cd3">
9349 + <pos x="l" y="y6" />
9350 + </cxn>
9351 + <cxn ang="cd4">
9352 + <pos x="x1" y="y8" />
9353 + </cxn>
9354 + <cxn ang="0">
9355 + <pos x="r" y="iy" />
9356 + </cxn>
9357 + </cxnLst>
9360 + <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
9363 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
9365 + <path stroke="false" extrusionOk="false">
9366 + <moveTo>
9367 + <pt x="l" y="y6" />
9368 + </moveTo>
9369 + <lnTo>
9370 + <pt x="x1" y="y4" />
9371 + </lnTo>
9372 + <lnTo>
9373 + <pt x="x1" y="y5" />
9374 + </lnTo>
9375 + <arcTo wR="w" hR="hR" stAng="swAng" swAng="swAng2" />
9376 + <arcTo wR="w" hR="hR" stAng="stAng3" swAng="swAng3" />
9377 + <lnTo>
9378 + <pt x="x1" y="y8" />
9379 + </lnTo>
9380 + <close />
9381 + </path>
9383 + <path fill="darkenLess" stroke="false" extrusionOk="false">
9384 + <moveTo>
9385 + <pt x="r" y="y3" />
9386 + </moveTo>
9387 + <arcTo wR="w" hR="hR" stAng="0" swAng="-5400000" />
9388 + <lnTo>
9389 + <pt x="l" y="t" />
9390 + </lnTo>
9391 + <arcTo wR="w" hR="hR" stAng="3cd4" swAng="cd4" />
9392 + <close />
9393 + </path>
9395 + <path fill="none" extrusionOk="false">
9396 + <moveTo>
9397 + <pt x="r" y="y3" />
9398 + </moveTo>
9399 + <arcTo wR="w" hR="hR" stAng="0" swAng="-5400000" />
9400 + <lnTo>
9401 + <pt x="l" y="t" />
9402 + </lnTo>
9403 + <arcTo wR="w" hR="hR" stAng="3cd4" swAng="cd4" />
9404 + <lnTo>
9405 + <pt x="r" y="y3" />
9406 + </lnTo>
9407 + <arcTo wR="w" hR="hR" stAng="0" swAng="swAng" />
9408 + <lnTo>
9409 + <pt x="x1" y="y8" />
9410 + </lnTo>
9411 + <lnTo>
9412 + <pt x="l" y="y6" />
9413 + </lnTo>
9414 + <lnTo>
9415 + <pt x="x1" y="y4" />
9416 + </lnTo>
9417 + <lnTo>
9418 + <pt x="x1" y="y5" />
9419 + </lnTo>
9420 + <arcTo wR="w" hR="hR" stAng="swAng" swAng="swAng2" />
9421 + </path>
9422 + </pathLst>
9424 + </curvedLeftArrow>
9425 + <curvedRightArrow>
9427 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
9428 + <gd name="adj1" fmla="val 25000" />
9430 + <gd name="adj2" fmla="val 50000" />
9432 + <gd name="adj3" fmla="val 25000" />
9434 + </avLst>
9436 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
9437 + <gd name="maxAdj2" fmla="*/ 50000 h ss" />
9439 + <gd name="a2" fmla="pin 0 adj2 maxAdj2" />
9440 + <gd name="a1" fmla="pin 0 adj1 a2" />
9441 + <gd name="th" fmla="*/ ss a1 100000" />
9443 + <gd name="aw" fmla="*/ ss a2 100000" />
9445 + <gd name="q1" fmla="+/ th aw 4" />
9447 + <gd name="hR" fmla="+- hd2 0 q1" />
9449 + <gd name="q7" fmla="*/ hR 2 1" />
9451 + <gd name="q8" fmla="*/ q7 q7 1" />
9453 + <gd name="q9" fmla="*/ th th 1" />
9455 + <gd name="q10" fmla="+- q8 0 q9" />
9456 + <gd name="q11" fmla="sqrt q10" />
9457 + <gd name="idx" fmla="*/ q11 w q7" />
9458 + <gd name="maxAdj3" fmla="*/ 100000 idx ss" />
9460 + <gd name="a3" fmla="pin 0 adj3 maxAdj3" />
9461 + <gd name="ah" fmla="*/ ss a3 100000" />
9467 + <gd name="y3" fmla="+- hR th 0" />
9469 + <gd name="q2" fmla="*/ w w 1" />
9470 + <gd name="q3" fmla="*/ ah ah 1" />
9471 + <gd name="q4" fmla="+- q2 0 q3" />
9472 + <gd name="q5" fmla="sqrt q4" />
9473 + <gd name="dy" fmla="*/ q5 hR w" />
9474 + <gd name="y5" fmla="+- hR dy 0" />
9476 + <gd name="y7" fmla="+- y3 dy 0" />
9478 + <gd name="q6" fmla="+- aw 0 th" />
9479 + <gd name="dh" fmla="*/ q6 1 2" />
9481 + <gd name="y4" fmla="+- y5 0 dh" />
9483 + <gd name="y8" fmla="+- y7 dh 0" />
9485 + <gd name="aw2" fmla="*/ aw 1 2" />
9486 + <gd name="y6" fmla="+- b 0 aw2" />
9488 + <gd name="x1" fmla="+- r 0 ah" />
9489 + <gd name="swAng" fmla="at2 ah dy" />
9491 + <gd name="stAng" fmla="+- cd2 0 swAng" />
9492 + <gd name="mswAng" fmla="+- 0 0 swAng" />
9493 + <gd name="ix" fmla="+- r 0 idx" />
9495 + <gd name="iy" fmla="+/ hR y3 2" />
9497 + <gd name="q12" fmla="*/ th 1 2" />
9498 + <gd name="dang2" fmla="at2 idx q12" />
9499 + <gd name="swAng2" fmla="+- dang2 0 cd4" />
9500 + <gd name="swAng3" fmla="+- cd4 dang2 0" />
9501 + <gd name="stAng3" fmla="+- cd2 0 dang2" />
9502 + </gdLst>
9504 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
9505 + <ahXY gdRefY="adj1" minY="0" maxY="a2">
9506 + <pos x="x1" y="y5" />
9507 + </ahXY>
9508 + <ahXY gdRefY="adj2" minY="0" maxY="maxAdj2">
9509 + <pos x="r" y="y4" />
9510 + </ahXY>
9511 + <ahXY gdRefX="adj3" minX="0" maxX="maxAdj3">
9512 + <pos x="x1" y="b" />
9513 + </ahXY>
9514 + </ahLst>
9516 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
9517 + <cxn ang="cd2">
9518 + <pos x="l" y="iy" />
9519 + </cxn>
9520 + <cxn ang="cd4">
9521 + <pos x="x1" y="y8" />
9522 + </cxn>
9523 + <cxn ang="0">
9524 + <pos x="r" y="y6" />
9525 + </cxn>
9526 + <cxn ang="0">
9527 + <pos x="x1" y="y4" />
9528 + </cxn>
9529 + <cxn ang="0">
9530 + <pos x="r" y="q12" />
9531 + </cxn>
9532 + </cxnLst>
9535 + <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
9538 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
9540 + <path stroke="false" extrusionOk="false">
9541 + <moveTo>
9542 + <pt x="l" y="hR" />
9543 + </moveTo>
9544 + <arcTo wR="w" hR="hR" stAng="cd2" swAng="mswAng" />
9545 + <lnTo>
9546 + <pt x="x1" y="y4" />
9547 + </lnTo>
9548 + <lnTo>
9549 + <pt x="r" y="y6" />
9550 + </lnTo>
9551 + <lnTo>
9552 + <pt x="x1" y="y8" />
9553 + </lnTo>
9554 + <lnTo>
9555 + <pt x="x1" y="y7" />
9556 + </lnTo>
9557 + <arcTo wR="w" hR="hR" stAng="stAng" swAng="swAng" />
9558 + <close />
9559 + </path>
9561 + <path fill="darkenLess" stroke="false" extrusionOk="false">
9562 + <moveTo>
9563 + <pt x="r" y="th" />
9564 + </moveTo>
9565 + <arcTo wR="w" hR="hR" stAng="3cd4" swAng="swAng2" />
9566 + <arcTo wR="w" hR="hR" stAng="stAng3" swAng="swAng3" />
9567 + <close />
9568 + </path>
9570 + <path fill="none" extrusionOk="false">
9571 + <moveTo>
9572 + <pt x="l" y="hR" />
9573 + </moveTo>
9574 + <arcTo wR="w" hR="hR" stAng="cd2" swAng="mswAng" />
9575 + <lnTo>
9576 + <pt x="x1" y="y4" />
9577 + </lnTo>
9578 + <lnTo>
9579 + <pt x="r" y="y6" />
9580 + </lnTo>
9581 + <lnTo>
9582 + <pt x="x1" y="y8" />
9583 + </lnTo>
9584 + <lnTo>
9585 + <pt x="x1" y="y7" />
9586 + </lnTo>
9587 + <arcTo wR="w" hR="hR" stAng="stAng" swAng="swAng" />
9588 + <lnTo>
9589 + <pt x="l" y="hR" />
9590 + </lnTo>
9591 + <arcTo wR="w" hR="hR" stAng="cd2" swAng="cd4" />
9592 + <lnTo>
9593 + <pt x="r" y="th" />
9594 + </lnTo>
9595 + <arcTo wR="w" hR="hR" stAng="3cd4" swAng="swAng2" />
9596 + </path>
9597 + </pathLst>
9599 + </curvedRightArrow>
9600 + <curvedUpArrow>
9602 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
9603 + <gd name="adj1" fmla="val 25000" />
9605 + <gd name="adj2" fmla="val 50000" />
9607 + <gd name="adj3" fmla="val 25000" />
9609 + </avLst>
9611 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
9612 + <gd name="maxAdj2" fmla="*/ 50000 w ss" />
9614 + <gd name="a2" fmla="pin 0 adj2 maxAdj2" />
9615 + <gd name="a1" fmla="pin 0 adj1 100000" />
9616 + <gd name="th" fmla="*/ ss a1 100000" />
9618 + <gd name="aw" fmla="*/ ss a2 100000" />
9620 + <gd name="q1" fmla="+/ th aw 4" />
9622 + <gd name="wR" fmla="+- wd2 0 q1" />
9624 + <gd name="q7" fmla="*/ wR 2 1" />
9626 + <gd name="q8" fmla="*/ q7 q7 1" />
9628 + <gd name="q9" fmla="*/ th th 1" />
9630 + <gd name="q10" fmla="+- q8 0 q9" />
9631 + <gd name="q11" fmla="sqrt q10" />
9632 + <gd name="idy" fmla="*/ q11 h q7" />
9633 + <gd name="maxAdj3" fmla="*/ 100000 idy ss" />
9635 + <gd name="a3" fmla="pin 0 adj3 maxAdj3" />
9636 + <gd name="ah" fmla="*/ ss adj3 100000" />
9642 + <gd name="x3" fmla="+- wR th 0" />
9644 + <gd name="q2" fmla="*/ h h 1" />
9645 + <gd name="q3" fmla="*/ ah ah 1" />
9646 + <gd name="q4" fmla="+- q2 0 q3" />
9647 + <gd name="q5" fmla="sqrt q4" />
9648 + <gd name="dx" fmla="*/ q5 wR h" />
9649 + <gd name="x5" fmla="+- wR dx 0" />
9651 + <gd name="x7" fmla="+- x3 dx 0" />
9653 + <gd name="q6" fmla="+- aw 0 th" />
9654 + <gd name="dh" fmla="*/ q6 1 2" />
9656 + <gd name="x4" fmla="+- x5 0 dh" />
9658 + <gd name="x8" fmla="+- x7 dh 0" />
9660 + <gd name="aw2" fmla="*/ aw 1 2" />
9661 + <gd name="x6" fmla="+- r 0 aw2" />
9663 + <gd name="y1" fmla="+- t ah 0" />
9664 + <gd name="swAng" fmla="at2 ah dx" />
9666 + <gd name="mswAng" fmla="+- 0 0 swAng" />
9667 + <gd name="iy" fmla="+- t idy 0" />
9669 + <gd name="ix" fmla="+/ wR x3 2" />
9671 + <gd name="q12" fmla="*/ th 1 2" />
9672 + <gd name="dang2" fmla="at2 idy q12" />
9673 + <gd name="swAng2" fmla="+- dang2 0 swAng" />
9674 + <gd name="mswAng2" fmla="+- 0 0 swAng2" />
9675 + <gd name="stAng3" fmla="+- cd4 0 swAng" />
9676 + <gd name="swAng3" fmla="+- swAng dang2 0" />
9677 + <gd name="stAng2" fmla="+- cd4 0 dang2" />
9678 + </gdLst>
9680 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
9681 + <ahXY gdRefX="adj1" minX="0" maxX="a2">
9682 + <pos x="x7" y="y1" />
9683 + </ahXY>
9684 + <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">
9685 + <pos x="x4" y="t" />
9686 + </ahXY>
9687 + <ahXY gdRefY="adj3" minY="0" maxY="maxAdj3">
9688 + <pos x="r" y="y1" />
9689 + </ahXY>
9690 + </ahLst>
9692 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
9693 + <cxn ang="3cd4">
9694 + <pos x="x6" y="t" />
9695 + </cxn>
9696 + <cxn ang="3cd4">
9697 + <pos x="x4" y="y1" />
9698 + </cxn>
9699 + <cxn ang="3cd4">
9700 + <pos x="q12" y="t" />
9701 + </cxn>
9702 + <cxn ang="cd4">
9703 + <pos x="ix" y="b" />
9704 + </cxn>
9705 + <cxn ang="0">
9706 + <pos x="x8" y="y1" />
9707 + </cxn>
9708 + </cxnLst>
9711 + <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
9714 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
9716 + <path stroke="false" extrusionOk="false">
9717 + <moveTo>
9718 + <pt x="x6" y="t" />
9719 + </moveTo>
9720 + <lnTo>
9721 + <pt x="x8" y="y1" />
9722 + </lnTo>
9723 + <lnTo>
9724 + <pt x="x7" y="y1" />
9725 + </lnTo>
9726 + <arcTo wR="wR" hR="h" stAng="stAng3" swAng="swAng3" />
9727 + <arcTo wR="wR" hR="h" stAng="stAng2" swAng="swAng2" />
9728 + <lnTo>
9729 + <pt x="x4" y="y1" />
9730 + </lnTo>
9731 + <close />
9732 + </path>
9734 + <path fill="darkenLess" stroke="false" extrusionOk="false">
9735 + <moveTo>
9736 + <pt x="wR" y="b" />
9737 + </moveTo>
9738 + <arcTo wR="wR" hR="h" stAng="cd4" swAng="cd4" />
9739 + <lnTo>
9740 + <pt x="th" y="t" />
9741 + </lnTo>
9742 + <arcTo wR="wR" hR="h" stAng="cd2" swAng="-5400000" />
9743 + <close />
9744 + </path>
9746 + <path fill="none" extrusionOk="false">
9747 + <moveTo>
9748 + <pt x="ix" y="iy" />
9749 + </moveTo>
9750 + <arcTo wR="wR" hR="h" stAng="stAng2" swAng="swAng2" />
9751 + <lnTo>
9752 + <pt x="x4" y="y1" />
9753 + </lnTo>
9754 + <lnTo>
9755 + <pt x="x6" y="t" />
9756 + </lnTo>
9757 + <lnTo>
9758 + <pt x="x8" y="y1" />
9759 + </lnTo>
9760 + <lnTo>
9761 + <pt x="x7" y="y1" />
9762 + </lnTo>
9763 + <arcTo wR="wR" hR="h" stAng="stAng3" swAng="swAng" />
9764 + <lnTo>
9765 + <pt x="wR" y="b" />
9766 + </lnTo>
9767 + <arcTo wR="wR" hR="h" stAng="cd4" swAng="cd4" />
9768 + <lnTo>
9769 + <pt x="th" y="t" />
9770 + </lnTo>
9771 + <arcTo wR="wR" hR="h" stAng="cd2" swAng="-5400000" />
9772 + </path>
9773 + </pathLst>
9775 + </curvedUpArrow>
9776 + <decagon>
9778 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
9779 + <gd name="vf" fmla="val 105146" />
9780 + </avLst>
9781 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
9782 + <gd name="shd2" fmla="*/ hd2 vf 100000" />
9783 + <gd name="dx1" fmla="cos wd2 2160000" />
9784 + <gd name="dx2" fmla="cos wd2 4320000" />
9785 + <gd name="x1" fmla="+- hc 0 dx1" />
9786 + <gd name="x2" fmla="+- hc 0 dx2" />
9787 + <gd name="x3" fmla="+- hc dx2 0" />
9788 + <gd name="x4" fmla="+- hc dx1 0" />
9789 + <gd name="dy1" fmla="sin shd2 4320000" />
9790 + <gd name="dy2" fmla="sin shd2 2160000" />
9791 + <gd name="y1" fmla="+- vc 0 dy1" />
9792 + <gd name="y2" fmla="+- vc 0 dy2" />
9793 + <gd name="y3" fmla="+- vc dy2 0" />
9794 + <gd name="y4" fmla="+- vc dy1 0" />
9795 + </gdLst>
9797 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
9798 + <cxn ang="0">
9799 + <pos x="x4" y="y2" />
9800 + </cxn>
9801 + <cxn ang="0">
9802 + <pos x="r" y="vc" />
9803 + </cxn>
9804 + <cxn ang="0">
9805 + <pos x="x4" y="y3" />
9806 + </cxn>
9807 + <cxn ang="cd4">
9808 + <pos x="x3" y="y4" />
9809 + </cxn>
9810 + <cxn ang="cd4">
9811 + <pos x="x2" y="y4" />
9812 + </cxn>
9813 + <cxn ang="cd2">
9814 + <pos x="x1" y="y3" />
9815 + </cxn>
9816 + <cxn ang="cd2">
9817 + <pos x="l" y="vc" />
9818 + </cxn>
9819 + <cxn ang="cd2">
9820 + <pos x="x1" y="y2" />
9821 + </cxn>
9822 + <cxn ang="3cd4">
9823 + <pos x="x2" y="y1" />
9824 + </cxn>
9825 + <cxn ang="3cd4">
9826 + <pos x="x3" y="y1" />
9827 + </cxn>
9828 + </cxnLst>
9830 + <rect l="x1" t="y2" r="x4" b="y3" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
9832 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
9833 + <path>
9834 + <moveTo>
9835 + <pt x="l" y="vc" />
9836 + </moveTo>
9837 + <lnTo>
9838 + <pt x="x1" y="y2" />
9839 + </lnTo>
9840 + <lnTo>
9841 + <pt x="x2" y="y1" />
9842 + </lnTo>
9843 + <lnTo>
9844 + <pt x="x3" y="y1" />
9845 + </lnTo>
9846 + <lnTo>
9847 + <pt x="x4" y="y2" />
9848 + </lnTo>
9849 + <lnTo>
9850 + <pt x="r" y="vc" />
9851 + </lnTo>
9852 + <lnTo>
9853 + <pt x="x4" y="y3" />
9854 + </lnTo>
9855 + <lnTo>
9856 + <pt x="x3" y="y4" />
9857 + </lnTo>
9858 + <lnTo>
9859 + <pt x="x2" y="y4" />
9860 + </lnTo>
9861 + <lnTo>
9862 + <pt x="x1" y="y3" />
9863 + </lnTo>
9864 + <close />
9865 + </path>
9866 + </pathLst>
9868 + </decagon>
9869 + <diagStripe>
9871 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
9872 + <gd name="adj" fmla="val 50000" />
9874 + </avLst>
9876 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
9877 + <gd name="a" fmla="pin 0 adj 100000" />
9878 + <gd name="x2" fmla="*/ w a 100000" />
9879 + <gd name="x1" fmla="*/ x2 1 2" />
9880 + <gd name="x3" fmla="+/ x2 r 2" />
9881 + <gd name="y2" fmla="*/ h a 100000" />
9882 + <gd name="y1" fmla="*/ y2 1 2" />
9883 + <gd name="y3" fmla="+/ y2 b 2" />
9884 + </gdLst>
9886 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
9887 + <ahXY gdRefY="adj" minY="0" maxY="100000">
9888 + <pos x="l" y="y2" />
9889 + </ahXY>
9890 + </ahLst>
9892 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
9893 + <cxn ang="0">
9894 + <pos x="hc" y="vc" />
9895 + </cxn>
9896 + <cxn ang="cd2">
9897 + <pos x="l" y="y3" />
9898 + </cxn>
9899 + <cxn ang="cd2">
9900 + <pos x="x1" y="y1" />
9901 + </cxn>
9902 + <cxn ang="3cd4">
9903 + <pos x="x3" y="t" />
9904 + </cxn>
9905 + </cxnLst>
9907 + <rect l="l" t="t" r="x3" b="y3" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
9909 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
9910 + <path>
9911 + <moveTo>
9912 + <pt x="l" y="y2" />
9913 + </moveTo>
9914 + <lnTo>
9915 + <pt x="x2" y="t" />
9916 + </lnTo>
9917 + <lnTo>
9918 + <pt x="r" y="t" />
9919 + </lnTo>
9920 + <lnTo>
9921 + <pt x="l" y="b" />
9922 + </lnTo>
9923 + <close />
9924 + </path>
9925 + </pathLst>
9927 + </diagStripe>
9928 + <diamond>
9929 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
9930 + <gd name="ir" fmla="*/ w 3 4" />
9931 + <gd name="ib" fmla="*/ h 3 4" />
9932 + </gdLst>
9933 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
9934 + <cxn ang="3cd4">
9935 + <pos x="hc" y="t" />
9936 + </cxn>
9937 + <cxn ang="cd2">
9938 + <pos x="l" y="vc" />
9939 + </cxn>
9940 + <cxn ang="cd4">
9941 + <pos x="hc" y="b" />
9942 + </cxn>
9943 + <cxn ang="0">
9944 + <pos x="r" y="vc" />
9945 + </cxn>
9946 + </cxnLst>
9947 + <rect l="wd4" t="hd4" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
9948 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
9949 + <path>
9950 + <moveTo>
9951 + <pt x="l" y="vc" />
9952 + </moveTo>
9953 + <lnTo>
9954 + <pt x="hc" y="t" />
9955 + </lnTo>
9956 + <lnTo>
9957 + <pt x="r" y="vc" />
9958 + </lnTo>
9959 + <lnTo>
9960 + <pt x="hc" y="b" />
9961 + </lnTo>
9962 + <close />
9963 + </path>
9964 + </pathLst>
9965 + </diamond>
9966 + <dodecagon>
9968 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
9969 + <gd name="x1" fmla="*/ w 2894 21600" />
9970 + <gd name="x2" fmla="*/ w 7906 21600" />
9971 + <gd name="x3" fmla="*/ w 13694 21600" />
9972 + <gd name="x4" fmla="*/ w 18706 21600" />
9973 + <gd name="y1" fmla="*/ h 2894 21600" />
9974 + <gd name="y2" fmla="*/ h 7906 21600" />
9975 + <gd name="y3" fmla="*/ h 13694 21600" />
9976 + <gd name="y4" fmla="*/ h 18706 21600" />
9977 + </gdLst>
9979 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
9980 + <cxn ang="0">
9981 + <pos x="x4" y="y1" />
9982 + </cxn>
9983 + <cxn ang="0">
9984 + <pos x="r" y="y2" />
9985 + </cxn>
9986 + <cxn ang="0">
9987 + <pos x="r" y="y3" />
9988 + </cxn>
9989 + <cxn ang="0">
9990 + <pos x="x4" y="y4" />
9991 + </cxn>
9992 + <cxn ang="cd4">
9993 + <pos x="x3" y="b" />
9994 + </cxn>
9995 + <cxn ang="cd4">
9996 + <pos x="x2" y="b" />
9997 + </cxn>
9998 + <cxn ang="cd2">
9999 + <pos x="x1" y="y4" />
10000 + </cxn>
10001 + <cxn ang="cd2">
10002 + <pos x="l" y="y3" />
10003 + </cxn>
10004 + <cxn ang="cd2">
10005 + <pos x="l" y="y2" />
10006 + </cxn>
10007 + <cxn ang="cd2">
10008 + <pos x="x1" y="y1" />
10009 + </cxn>
10010 + <cxn ang="3cd4">
10011 + <pos x="x2" y="t" />
10012 + </cxn>
10013 + <cxn ang="3cd4">
10014 + <pos x="x3" y="t" />
10015 + </cxn>
10016 + </cxnLst>
10018 + <rect l="x1" t="y1" r="x4" b="y4" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
10020 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
10021 + <path>
10022 + <moveTo>
10023 + <pt x="l" y="y2" />
10024 + </moveTo>
10025 + <lnTo>
10026 + <pt x="x1" y="y1" />
10027 + </lnTo>
10028 + <lnTo>
10029 + <pt x="x2" y="t" />
10030 + </lnTo>
10031 + <lnTo>
10032 + <pt x="x3" y="t" />
10033 + </lnTo>
10034 + <lnTo>
10035 + <pt x="x4" y="y1" />
10036 + </lnTo>
10037 + <lnTo>
10038 + <pt x="r" y="y2" />
10039 + </lnTo>
10040 + <lnTo>
10041 + <pt x="r" y="y3" />
10042 + </lnTo>
10043 + <lnTo>
10044 + <pt x="x4" y="y4" />
10045 + </lnTo>
10046 + <lnTo>
10047 + <pt x="x3" y="b" />
10048 + </lnTo>
10049 + <lnTo>
10050 + <pt x="x2" y="b" />
10051 + </lnTo>
10052 + <lnTo>
10053 + <pt x="x1" y="y4" />
10054 + </lnTo>
10055 + <lnTo>
10056 + <pt x="l" y="y3" />
10057 + </lnTo>
10058 + <close />
10059 + </path>
10060 + </pathLst>
10062 + </dodecagon>
10063 + <donut>
10065 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
10066 + <gd name="adj" fmla="val 25000" />
10067 + </avLst>
10069 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
10070 + <gd name="a" fmla="pin 0 adj 50000" />
10071 + <gd name="dr" fmla="*/ ss a 100000" />
10072 + <gd name="iwd2" fmla="+- wd2 0 dr" />
10073 + <gd name="ihd2" fmla="+- hd2 0 dr" />
10074 + <gd name="idx" fmla="cos wd2 2700000" />
10075 + <gd name="idy" fmla="sin hd2 2700000" />
10076 + <gd name="il" fmla="+- hc 0 idx" />
10077 + <gd name="ir" fmla="+- hc idx 0" />
10078 + <gd name="it" fmla="+- vc 0 idy" />
10079 + <gd name="ib" fmla="+- vc idy 0" />
10080 + </gdLst>
10082 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
10083 + <ahPolar gdRefR="adj" minR="0" maxR="50000">
10084 + <pos x="dr" y="vc" />
10085 + </ahPolar>
10086 + </ahLst>
10088 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
10089 + <cxn ang="3cd4">
10090 + <pos x="hc" y="t" />
10091 + </cxn>
10092 + <cxn ang="3cd4">
10093 + <pos x="il" y="it" />
10094 + </cxn>
10095 + <cxn ang="cd2">
10096 + <pos x="l" y="vc" />
10097 + </cxn>
10098 + <cxn ang="cd4">
10099 + <pos x="il" y="ib" />
10100 + </cxn>
10101 + <cxn ang="cd4">
10102 + <pos x="hc" y="b" />
10103 + </cxn>
10104 + <cxn ang="cd4">
10105 + <pos x="ir" y="ib" />
10106 + </cxn>
10107 + <cxn ang="0">
10108 + <pos x="r" y="vc" />
10109 + </cxn>
10110 + <cxn ang="3cd4">
10111 + <pos x="ir" y="it" />
10112 + </cxn>
10113 + </cxnLst>
10115 + <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
10117 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
10118 + <path>
10119 + <moveTo>
10120 + <pt x="l" y="vc" />
10121 + </moveTo>
10122 + <arcTo wR="wd2" hR="hd2" stAng="cd2" swAng="cd4" />
10123 + <arcTo wR="wd2" hR="hd2" stAng="3cd4" swAng="cd4" />
10124 + <arcTo wR="wd2" hR="hd2" stAng="0" swAng="cd4" />
10125 + <arcTo wR="wd2" hR="hd2" stAng="cd4" swAng="cd4" />
10126 + <close />
10127 + <moveTo>
10128 + <pt x="dr" y="vc" />
10129 + </moveTo>
10130 + <arcTo wR="iwd2" hR="ihd2" stAng="cd2" swAng="-5400000" />
10131 + <arcTo wR="iwd2" hR="ihd2" stAng="cd4" swAng="-5400000" />
10132 + <arcTo wR="iwd2" hR="ihd2" stAng="0" swAng="-5400000" />
10133 + <arcTo wR="iwd2" hR="ihd2" stAng="3cd4" swAng="-5400000" />
10134 + <close />
10135 + </path>
10136 + </pathLst>
10138 + </donut>
10139 + <doubleWave>
10141 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
10142 + <gd name="adj1" fmla="val 6250" />
10144 + <gd name="adj2" fmla="val 0" />
10146 + </avLst>
10148 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
10149 + <gd name="a1" fmla="pin 0 adj1 12500" />
10150 + <gd name="a2" fmla="pin -10000 adj2 10000" />
10151 + <gd name="y1" fmla="*/ h a1 100000" />
10153 + <gd name="dy2" fmla="*/ y1 10 3" />
10154 + <gd name="y2" fmla="+- y1 0 dy2" />
10156 + <gd name="y3" fmla="+- y1 dy2 0" />
10158 + <gd name="y4" fmla="+- b 0 y1" />
10160 + <gd name="y5" fmla="+- y4 0 dy2" />
10162 + <gd name="y6" fmla="+- y4 dy2 0" />
10164 + <gd name="dx1" fmla="*/ w a2 100000" />
10166 + <gd name="of2" fmla="*/ w a2 50000" />
10168 + <gd name="x1" fmla="abs dx1" />
10170 + <gd name="dx2" fmla="?: of2 0 of2" />
10171 + <gd name="x2" fmla="+- l 0 dx2" />
10173 + <gd name="dx8" fmla="?: of2 of2 0" />
10174 + <gd name="x8" fmla="+- r 0 dx8" />
10176 + <gd name="dx3" fmla="+/ dx2 x8 6" />
10177 + <gd name="x3" fmla="+- x2 dx3 0" />
10179 + <gd name="dx4" fmla="+/ dx2 x8 3" />
10180 + <gd name="x4" fmla="+- x2 dx4 0" />
10182 + <gd name="x5" fmla="+/ x2 x8 2" />
10184 + <gd name="x6" fmla="+- x5 dx3 0" />
10186 + <gd name="x7" fmla="+/ x6 x8 2" />
10188 + <gd name="x9" fmla="+- l dx8 0" />
10190 + <gd name="x15" fmla="+- r dx2 0" />
10192 + <gd name="x10" fmla="+- x9 dx3 0" />
10194 + <gd name="x11" fmla="+- x9 dx4 0" />
10196 + <gd name="x12" fmla="+/ x9 x15 2" />
10198 + <gd name="x13" fmla="+- x12 dx3 0" />
10200 + <gd name="x14" fmla="+/ x13 x15 2" />
10202 + <gd name="x16" fmla="+- r 0 x1" />
10204 + <gd name="xAdj" fmla="+- hc dx1 0" />
10205 + <gd name="il" fmla="max x2 x9" />
10206 + <gd name="ir" fmla="min x8 x15" />
10207 + <gd name="it" fmla="*/ h a1 50000" />
10208 + <gd name="ib" fmla="+- b 0 it" />
10209 + </gdLst>
10211 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
10212 + <ahXY gdRefY="adj1" minY="0" maxY="12500">
10213 + <pos x="l" y="y1" />
10214 + </ahXY>
10215 + <ahXY gdRefX="adj2" minX="-10000" maxX="10000">
10216 + <pos x="xAdj" y="b" />
10217 + </ahXY>
10218 + </ahLst>
10220 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
10221 + <cxn ang="cd4">
10222 + <pos x="x12" y="y1" />
10223 + </cxn>
10224 + <cxn ang="cd2">
10225 + <pos x="x1" y="vc" />
10226 + </cxn>
10227 + <cxn ang="3cd4">
10228 + <pos x="x5" y="y4" />
10229 + </cxn>
10230 + <cxn ang="0">
10231 + <pos x="x16" y="vc" />
10232 + </cxn>
10233 + </cxnLst>
10235 + <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
10237 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
10238 + <path>
10239 + <moveTo>
10240 + <pt x="x2" y="y1" />
10241 + </moveTo>
10242 + <cubicBezTo>
10243 + <pt x="x3" y="y2" />
10244 + <pt x="x4" y="y3" />
10245 + <pt x="x5" y="y1" />
10246 + </cubicBezTo>
10247 + <cubicBezTo>
10248 + <pt x="x6" y="y2" />
10249 + <pt x="x7" y="y3" />
10250 + <pt x="x8" y="y1" />
10251 + </cubicBezTo>
10252 + <lnTo>
10253 + <pt x="x15" y="y4" />
10254 + </lnTo>
10255 + <cubicBezTo>
10256 + <pt x="x14" y="y6" />
10257 + <pt x="x13" y="y5" />
10258 + <pt x="x12" y="y4" />
10259 + </cubicBezTo>
10260 + <cubicBezTo>
10261 + <pt x="x11" y="y6" />
10262 + <pt x="x10" y="y5" />
10263 + <pt x="x9" y="y4" />
10264 + </cubicBezTo>
10265 + <close />
10266 + </path>
10267 + </pathLst>
10269 + </doubleWave>
10270 + <downArrow>
10271 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
10272 + <gd name="adj1" fmla="val 50000" />
10273 + <gd name="adj2" fmla="val 50000" />
10274 + </avLst>
10275 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
10276 + <gd name="maxAdj2" fmla="*/ 100000 h ss" />
10277 + <gd name="a1" fmla="pin 0 adj1 100000" />
10278 + <gd name="a2" fmla="pin 0 adj2 maxAdj2" />
10279 + <gd name="dy1" fmla="*/ ss a2 100000" />
10280 + <gd name="y1" fmla="+- b 0 dy1" />
10281 + <gd name="dx1" fmla="*/ w a1 200000" />
10282 + <gd name="x1" fmla="+- hc 0 dx1" />
10283 + <gd name="x2" fmla="+- hc dx1 0" />
10284 + <gd name="dy2" fmla="*/ x1 dy1 wd2" />
10285 + <gd name="y2" fmla="+- y1 dy2 0" />
10286 + </gdLst>
10287 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
10288 + <ahXY gdRefX="adj1" minX="0" maxX="100000">
10289 + <pos x="x1" y="t" />
10290 + </ahXY>
10291 + <ahXY gdRefY="adj2" minY="0" maxY="maxAdj2">
10292 + <pos x="l" y="y1" />
10293 + </ahXY>
10294 + </ahLst>
10295 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
10296 + <cxn ang="3cd4">
10297 + <pos x="hc" y="t" />
10298 + </cxn>
10299 + <cxn ang="cd2">
10300 + <pos x="l" y="y1" />
10301 + </cxn>
10302 + <cxn ang="cd4">
10303 + <pos x="hc" y="b" />
10304 + </cxn>
10305 + <cxn ang="0">
10306 + <pos x="r" y="y1" />
10307 + </cxn>
10308 + </cxnLst>
10309 + <rect l="x1" t="t" r="x2" b="y2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
10310 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
10311 + <path>
10312 + <moveTo>
10313 + <pt x="l" y="y1" />
10314 + </moveTo>
10315 + <lnTo>
10316 + <pt x="x1" y="y1" />
10317 + </lnTo>
10318 + <lnTo>
10319 + <pt x="x1" y="t" />
10320 + </lnTo>
10321 + <lnTo>
10322 + <pt x="x2" y="t" />
10323 + </lnTo>
10324 + <lnTo>
10325 + <pt x="x2" y="y1" />
10326 + </lnTo>
10327 + <lnTo>
10328 + <pt x="r" y="y1" />
10329 + </lnTo>
10330 + <lnTo>
10331 + <pt x="hc" y="b" />
10332 + </lnTo>
10333 + <close />
10334 + </path>
10335 + </pathLst>
10336 + </downArrow>
10337 + <downArrowCallout>
10339 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
10340 + <gd name="adj1" fmla="val 25000" />
10342 + <gd name="adj2" fmla="val 25000" />
10344 + <gd name="adj3" fmla="val 25000" />
10346 + <gd name="adj4" fmla="val 64977" />
10348 + </avLst>
10350 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
10351 + <gd name="maxAdj2" fmla="*/ 50000 w ss" />
10353 + <gd name="a2" fmla="pin 0 adj2 maxAdj2" />
10354 + <gd name="maxAdj1" fmla="*/ a2 2 1" />
10356 + <gd name="a1" fmla="pin 0 adj1 maxAdj1" />
10357 + <gd name="maxAdj3" fmla="*/ 100000 h ss" />
10359 + <gd name="a3" fmla="pin 0 adj3 maxAdj3" />
10360 + <gd name="q2" fmla="*/ a3 ss h" />
10362 + <gd name="maxAdj4" fmla="+- 100000 0 q2" />
10364 + <gd name="a4" fmla="pin 0 adj4 maxAdj4" />
10365 + <gd name="dx1" fmla="*/ ss a2 100000" />
10367 + <gd name="dx2" fmla="*/ ss a1 200000" />
10369 + <gd name="x1" fmla="+- hc 0 dx1" />
10370 + <gd name="x2" fmla="+- hc 0 dx2" />
10371 + <gd name="x3" fmla="+- hc dx2 0" />
10372 + <gd name="x4" fmla="+- hc dx1 0" />
10373 + <gd name="dy3" fmla="*/ ss a3 100000" />
10375 + <gd name="y3" fmla="+- b 0 dy3" />
10376 + <gd name="y2" fmla="*/ h a4 100000" />
10378 + <gd name="y1" fmla="*/ y2 1 2" />
10379 + </gdLst>
10381 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
10382 + <ahXY gdRefX="adj1" minX="0" maxX="maxAdj1">
10383 + <pos x="x2" y="y3" />
10384 + </ahXY>
10385 + <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">
10386 + <pos x="x1" y="b" />
10387 + </ahXY>
10388 + <ahXY gdRefY="adj3" minY="0" maxY="maxAdj3">
10389 + <pos x="r" y="y3" />
10390 + </ahXY>
10391 + <ahXY gdRefY="adj4" minY="0" maxY="maxAdj4">
10392 + <pos x="l" y="y2" />
10393 + </ahXY>
10394 + </ahLst>
10396 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
10397 + <cxn ang="3cd4">
10398 + <pos x="hc" y="t" />
10399 + </cxn>
10400 + <cxn ang="cd2">
10401 + <pos x="l" y="y1" />
10402 + </cxn>
10403 + <cxn ang="cd4">
10404 + <pos x="hc" y="b" />
10405 + </cxn>
10406 + <cxn ang="0">
10407 + <pos x="r" y="y1" />
10408 + </cxn>
10409 + </cxnLst>
10411 + <rect l="l" t="t" r="r" b="y2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
10413 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
10414 + <path>
10415 + <moveTo>
10416 + <pt x="l" y="t" />
10417 + </moveTo>
10418 + <lnTo>
10419 + <pt x="r" y="t" />
10420 + </lnTo>
10421 + <lnTo>
10422 + <pt x="r" y="y2" />
10423 + </lnTo>
10424 + <lnTo>
10425 + <pt x="x3" y="y2" />
10426 + </lnTo>
10427 + <lnTo>
10428 + <pt x="x3" y="y3" />
10429 + </lnTo>
10430 + <lnTo>
10431 + <pt x="x4" y="y3" />
10432 + </lnTo>
10433 + <lnTo>
10434 + <pt x="hc" y="b" />
10435 + </lnTo>
10436 + <lnTo>
10437 + <pt x="x1" y="y3" />
10438 + </lnTo>
10439 + <lnTo>
10440 + <pt x="x2" y="y3" />
10441 + </lnTo>
10442 + <lnTo>
10443 + <pt x="x2" y="y2" />
10444 + </lnTo>
10445 + <lnTo>
10446 + <pt x="l" y="y2" />
10447 + </lnTo>
10448 + <close />
10449 + </path>
10450 + </pathLst>
10452 + </downArrowCallout>
10453 + <ellipse>
10454 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
10455 + <gd name="idx" fmla="cos wd2 2700000" />
10456 + <gd name="idy" fmla="sin hd2 2700000" />
10457 + <gd name="il" fmla="+- hc 0 idx" />
10458 + <gd name="ir" fmla="+- hc idx 0" />
10459 + <gd name="it" fmla="+- vc 0 idy" />
10460 + <gd name="ib" fmla="+- vc idy 0" />
10461 + </gdLst>
10462 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
10463 + <cxn ang="3cd4">
10464 + <pos x="hc" y="t" />
10465 + </cxn>
10466 + <cxn ang="3cd4">
10467 + <pos x="il" y="it" />
10468 + </cxn>
10469 + <cxn ang="cd2">
10470 + <pos x="l" y="vc" />
10471 + </cxn>
10472 + <cxn ang="cd4">
10473 + <pos x="il" y="ib" />
10474 + </cxn>
10475 + <cxn ang="cd4">
10476 + <pos x="hc" y="b" />
10477 + </cxn>
10478 + <cxn ang="cd4">
10479 + <pos x="ir" y="ib" />
10480 + </cxn>
10481 + <cxn ang="0">
10482 + <pos x="r" y="vc" />
10483 + </cxn>
10484 + <cxn ang="3cd4">
10485 + <pos x="ir" y="it" />
10486 + </cxn>
10487 + </cxnLst>
10488 + <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
10489 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
10490 + <path>
10491 + <moveTo>
10492 + <pt x="l" y="vc" />
10493 + </moveTo>
10494 + <arcTo wR="wd2" hR="hd2" stAng="cd2" swAng="cd4" />
10495 + <arcTo wR="wd2" hR="hd2" stAng="3cd4" swAng="cd4" />
10496 + <arcTo wR="wd2" hR="hd2" stAng="0" swAng="cd4" />
10497 + <arcTo wR="wd2" hR="hd2" stAng="cd4" swAng="cd4" />
10498 + <close />
10499 + </path>
10500 + </pathLst>
10501 + </ellipse>
10502 + <ellipseRibbon>
10504 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
10505 + <gd name="adj1" fmla="val 25000" />
10507 + <gd name="adj2" fmla="val 50000" />
10509 + <gd name="adj3" fmla="val 12500" />
10511 + </avLst>
10513 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
10514 + <gd name="a1" fmla="pin 0 adj1 100000" />
10515 + <gd name="a2" fmla="pin 25000 adj2 75000" />
10516 + <gd name="q10" fmla="+- 100000 0 a1" />
10517 + <gd name="q11" fmla="*/ q10 1 2" />
10518 + <gd name="q12" fmla="+- a1 0 q11" />
10519 + <gd name="minAdj3" fmla="max 0 q12" />
10520 + <gd name="a3" fmla="pin minAdj3 adj3 a1" />
10523 + <gd name="dx2" fmla="*/ w a2 200000" />
10525 + <gd name="x2" fmla="+- hc 0 dx2" />
10527 + <gd name="x3" fmla="+- x2 wd8 0" />
10529 + <gd name="x4" fmla="+- r 0 x3" />
10531 + <gd name="x5" fmla="+- r 0 x2" />
10533 + <gd name="x6" fmla="+- r 0 wd8" />
10535 + <gd name="dy1" fmla="*/ h a3 100000" />
10537 + <gd name="f1" fmla="*/ 4 dy1 w" />
10539 + <gd name="q1" fmla="*/ x3 x3 w" />
10540 + <gd name="q2" fmla="+- x3 0 q1" />
10541 + <gd name="y1" fmla="*/ f1 q2 1" />
10543 + <gd name="cx1" fmla="*/ x3 1 2" />
10545 + <gd name="cy1" fmla="*/ f1 cx1 1" />
10547 + <gd name="cx2" fmla="+- r 0 cx1" />
10551 + <gd name="q1" fmla="*/ h a1 100000" />
10553 + <gd name="dy3" fmla="+- q1 0 dy1" />
10555 + <gd name="q3" fmla="*/ x2 x2 w" />
10556 + <gd name="q4" fmla="+- x2 0 q3" />
10557 + <gd name="q5" fmla="*/ f1 q4 1" />
10558 + <gd name="y3" fmla="+- q5 dy3 0" />
10562 + <gd name="q6" fmla="+- dy1 dy3 y3" />
10563 + <gd name="q7" fmla="+- q6 dy1 0" />
10564 + <gd name="cy3" fmla="+- q7 dy3 0" />
10566 + <gd name="rh" fmla="+- b 0 q1" />
10568 + <gd name="q8" fmla="*/ dy1 14 16" />
10569 + <gd name="y2" fmla="+/ q8 rh 2" />
10572 + <gd name="y5" fmla="+- q5 rh 0" />
10574 + <gd name="y6" fmla="+- y3 rh 0" />
10576 + <gd name="cx4" fmla="*/ x2 1 2" />
10578 + <gd name="q9" fmla="*/ f1 cx4 1" />
10579 + <gd name="cy4" fmla="+- q9 rh 0" />
10581 + <gd name="cx5" fmla="+- r 0 cx4" />
10587 + <gd name="cy6" fmla="+- cy3 rh 0" />
10589 + <gd name="y7" fmla="+- y1 dy3 0" />
10590 + <gd name="cy7" fmla="+- q1 q1 y7" />
10591 + <gd name="y8" fmla="+- b 0 dy1" />
10593 + </gdLst>
10595 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
10596 + <ahXY gdRefY="adj1" minY="0" maxY="100000">
10597 + <pos x="hc" y="q1" />
10598 + </ahXY>
10599 + <ahXY gdRefX="adj2" minX="25000" maxX="75000">
10600 + <pos x="x2" y="b" />
10601 + </ahXY>
10602 + <ahXY gdRefY="adj3" minY="minAdj3" maxY="a1">
10603 + <pos x="l" y="y8" />
10604 + </ahXY>
10605 + </ahLst>
10607 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
10608 + <cxn ang="3cd4">
10609 + <pos x="hc" y="q1" />
10610 + </cxn>
10611 + <cxn ang="cd2">
10612 + <pos x="wd8" y="y2" />
10613 + </cxn>
10614 + <cxn ang="cd4">
10615 + <pos x="hc" y="b" />
10616 + </cxn>
10617 + <cxn ang="0">
10618 + <pos x="x6" y="y2" />
10619 + </cxn>
10620 + </cxnLst>
10622 + <rect l="x2" t="q1" r="x5" b="y6" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
10624 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
10625 + <path stroke="false" extrusionOk="false">
10627 + <moveTo>
10628 + <pt x="l" y="t" />
10629 + </moveTo>
10630 + <quadBezTo>
10631 + <pt x="cx1" y="cy1" />
10632 + <pt x="x3" y="y1" />
10633 + </quadBezTo>
10634 + <lnTo>
10635 + <pt x="x2" y="y3" />
10636 + </lnTo>
10637 + <quadBezTo>
10638 + <pt x="hc" y="cy3" />
10639 + <pt x="x5" y="y3" />
10640 + </quadBezTo>
10641 + <lnTo>
10642 + <pt x="x4" y="y1" />
10643 + </lnTo>
10644 + <quadBezTo>
10645 + <pt x="cx2" y="cy1" />
10646 + <pt x="r" y="t" />
10647 + </quadBezTo>
10648 + <lnTo>
10649 + <pt x="x6" y="y2" />
10650 + </lnTo>
10651 + <lnTo>
10652 + <pt x="r" y="rh" />
10653 + </lnTo>
10654 + <quadBezTo>
10655 + <pt x="cx5" y="cy4" />
10656 + <pt x="x5" y="y5" />
10657 + </quadBezTo>
10658 + <lnTo>
10659 + <pt x="x5" y="y6" />
10660 + </lnTo>
10661 + <quadBezTo>
10662 + <pt x="hc" y="cy6" />
10663 + <pt x="x2" y="y6" />
10664 + </quadBezTo>
10665 + <lnTo>
10666 + <pt x="x2" y="y5" />
10667 + </lnTo>
10668 + <quadBezTo>
10669 + <pt x="cx4" y="cy4" />
10670 + <pt x="l" y="rh" />
10671 + </quadBezTo>
10672 + <lnTo>
10673 + <pt x="wd8" y="y2" />
10674 + </lnTo>
10675 + <close />
10676 + </path>
10677 + <path fill="darkenLess" stroke="false" extrusionOk="false">
10678 + <moveTo>
10679 + <pt x="x3" y="y7" />
10680 + </moveTo>
10681 + <lnTo>
10682 + <pt x="x3" y="y1" />
10683 + </lnTo>
10684 + <lnTo>
10685 + <pt x="x2" y="y3" />
10686 + </lnTo>
10687 + <quadBezTo>
10688 + <pt x="hc" y="cy3" />
10689 + <pt x="x5" y="y3" />
10690 + </quadBezTo>
10691 + <lnTo>
10692 + <pt x="x4" y="y1" />
10693 + </lnTo>
10694 + <lnTo>
10695 + <pt x="x4" y="y7" />
10696 + </lnTo>
10697 + <quadBezTo>
10698 + <pt x="hc" y="cy7" />
10699 + <pt x="x3" y="y7" />
10700 + </quadBezTo>
10701 + <close />
10702 + </path>
10703 + <path fill="none" extrusionOk="false">
10705 + <moveTo>
10706 + <pt x="l" y="t" />
10707 + </moveTo>
10708 + <quadBezTo>
10709 + <pt x="cx1" y="cy1" />
10710 + <pt x="x3" y="y1" />
10711 + </quadBezTo>
10712 + <lnTo>
10713 + <pt x="x2" y="y3" />
10714 + </lnTo>
10715 + <quadBezTo>
10716 + <pt x="hc" y="cy3" />
10717 + <pt x="x5" y="y3" />
10718 + </quadBezTo>
10719 + <lnTo>
10720 + <pt x="x4" y="y1" />
10721 + </lnTo>
10722 + <quadBezTo>
10723 + <pt x="cx2" y="cy1" />
10724 + <pt x="r" y="t" />
10725 + </quadBezTo>
10726 + <lnTo>
10727 + <pt x="x6" y="y2" />
10728 + </lnTo>
10729 + <lnTo>
10730 + <pt x="r" y="rh" />
10731 + </lnTo>
10732 + <quadBezTo>
10733 + <pt x="cx5" y="cy4" />
10734 + <pt x="x5" y="y5" />
10735 + </quadBezTo>
10736 + <lnTo>
10737 + <pt x="x5" y="y6" />
10738 + </lnTo>
10739 + <quadBezTo>
10740 + <pt x="hc" y="cy6" />
10741 + <pt x="x2" y="y6" />
10742 + </quadBezTo>
10743 + <lnTo>
10744 + <pt x="x2" y="y5" />
10745 + </lnTo>
10746 + <quadBezTo>
10747 + <pt x="cx4" y="cy4" />
10748 + <pt x="l" y="rh" />
10749 + </quadBezTo>
10750 + <lnTo>
10751 + <pt x="wd8" y="y2" />
10752 + </lnTo>
10753 + <close />
10754 + <moveTo>
10755 + <pt x="x2" y="y5" />
10756 + </moveTo>
10757 + <lnTo>
10758 + <pt x="x2" y="y3" />
10759 + </lnTo>
10760 + <moveTo>
10761 + <pt x="x5" y="y3" />
10762 + </moveTo>
10763 + <lnTo>
10764 + <pt x="x5" y="y5" />
10765 + </lnTo>
10766 + <moveTo>
10767 + <pt x="x3" y="y1" />
10768 + </moveTo>
10769 + <lnTo>
10770 + <pt x="x3" y="y7" />
10771 + </lnTo>
10772 + <moveTo>
10773 + <pt x="x4" y="y7" />
10774 + </moveTo>
10775 + <lnTo>
10776 + <pt x="x4" y="y1" />
10777 + </lnTo>
10778 + </path>
10779 + </pathLst>
10781 + </ellipseRibbon>
10782 + <ellipseRibbon2>
10784 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
10785 + <gd name="adj1" fmla="val 25000" />
10787 + <gd name="adj2" fmla="val 50000" />
10789 + <gd name="adj3" fmla="val 12500" />
10791 + </avLst>
10793 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
10796 + <gd name="a1" fmla="pin 0 adj1 100000" />
10797 + <gd name="a2" fmla="pin 25000 adj2 75000" />
10798 + <gd name="q10" fmla="+- 100000 0 a1" />
10799 + <gd name="q11" fmla="*/ q10 1 2" />
10800 + <gd name="q12" fmla="+- a1 0 q11" />
10801 + <gd name="minAdj3" fmla="max 0 q12" />
10802 + <gd name="a3" fmla="pin minAdj3 adj3 a1" />
10803 + <gd name="dx2" fmla="*/ w a2 200000" />
10805 + <gd name="x2" fmla="+- hc 0 dx2" />
10807 + <gd name="x3" fmla="+- x2 wd8 0" />
10809 + <gd name="x4" fmla="+- r 0 x3" />
10811 + <gd name="x5" fmla="+- r 0 x2" />
10813 + <gd name="x6" fmla="+- r 0 wd8" />
10815 + <gd name="dy1" fmla="*/ h a3 100000" />
10817 + <gd name="f1" fmla="*/ 4 dy1 w" />
10819 + <gd name="q1" fmla="*/ x3 x3 w" />
10820 + <gd name="q2" fmla="+- x3 0 q1" />
10821 + <gd name="u1" fmla="*/ f1 q2 1" />
10823 + <gd name="y1" fmla="+- b 0 u1" />
10824 + <gd name="cx1" fmla="*/ x3 1 2" />
10826 + <gd name="cu1" fmla="*/ f1 cx1 1" />
10828 + <gd name="cy1" fmla="+- b 0 cu1" />
10829 + <gd name="cx2" fmla="+- r 0 cx1" />
10833 + <gd name="q1" fmla="*/ h a1 100000" />
10835 + <gd name="dy3" fmla="+- q1 0 dy1" />
10837 + <gd name="q3" fmla="*/ x2 x2 w" />
10838 + <gd name="q4" fmla="+- x2 0 q3" />
10839 + <gd name="q5" fmla="*/ f1 q4 1" />
10840 + <gd name="u3" fmla="+- q5 dy3 0" />
10842 + <gd name="y3" fmla="+- b 0 u3" />
10845 + <gd name="q6" fmla="+- dy1 dy3 u3" />
10846 + <gd name="q7" fmla="+- q6 dy1 0" />
10847 + <gd name="cu3" fmla="+- q7 dy3 0" />
10849 + <gd name="cy3" fmla="+- b 0 cu3" />
10850 + <gd name="rh" fmla="+- b 0 q1" />
10852 + <gd name="q8" fmla="*/ dy1 14 16" />
10853 + <gd name="u2" fmla="+/ q8 rh 2" />
10855 + <gd name="y2" fmla="+- b 0 u2" />
10857 + <gd name="u5" fmla="+- q5 rh 0" />
10859 + <gd name="y5" fmla="+- b 0 u5" />
10860 + <gd name="u6" fmla="+- u3 rh 0" />
10862 + <gd name="y6" fmla="+- b 0 u6" />
10863 + <gd name="cx4" fmla="*/ x2 1 2" />
10865 + <gd name="q9" fmla="*/ f1 cx4 1" />
10866 + <gd name="cu4" fmla="+- q9 rh 0" />
10868 + <gd name="cy4" fmla="+- b 0 cu4" />
10869 + <gd name="cx5" fmla="+- r 0 cx4" />
10875 + <gd name="cu6" fmla="+- cu3 rh 0" />
10877 + <gd name="cy6" fmla="+- b 0 cu6" />
10878 + <gd name="u7" fmla="+- u1 dy3 0" />
10879 + <gd name="y7" fmla="+- b 0 u7" />
10880 + <gd name="cu7" fmla="+- q1 q1 u7" />
10881 + <gd name="cy7" fmla="+- b 0 cu7" />
10883 + </gdLst>
10885 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
10886 + <ahXY gdRefY="adj1" minY="0" maxY="100000">
10887 + <pos x="hc" y="rh" />
10888 + </ahXY>
10889 + <ahXY gdRefX="adj2" minX="25000" maxX="100000">
10890 + <pos x="x2" y="t" />
10891 + </ahXY>
10892 + <ahXY gdRefY="adj3" minY="minAdj3" maxY="a1">
10893 + <pos x="l" y="dy1" />
10894 + </ahXY>
10895 + </ahLst>
10897 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
10898 + <cxn ang="3cd4">
10899 + <pos x="hc" y="t" />
10900 + </cxn>
10901 + <cxn ang="cd2">
10902 + <pos x="wd8" y="y2" />
10903 + </cxn>
10904 + <cxn ang="cd4">
10905 + <pos x="hc" y="rh" />
10906 + </cxn>
10907 + <cxn ang="0">
10908 + <pos x="x6" y="y2" />
10909 + </cxn>
10910 + </cxnLst>
10912 + <rect l="x2" t="y6" r="x5" b="rh" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
10914 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
10915 + <path stroke="false" extrusionOk="false">
10917 + <moveTo>
10918 + <pt x="l" y="b" />
10919 + </moveTo>
10920 + <quadBezTo>
10921 + <pt x="cx1" y="cy1" />
10922 + <pt x="x3" y="y1" />
10923 + </quadBezTo>
10924 + <lnTo>
10925 + <pt x="x2" y="y3" />
10926 + </lnTo>
10927 + <quadBezTo>
10928 + <pt x="hc" y="cy3" />
10929 + <pt x="x5" y="y3" />
10930 + </quadBezTo>
10931 + <lnTo>
10932 + <pt x="x4" y="y1" />
10933 + </lnTo>
10934 + <quadBezTo>
10935 + <pt x="cx2" y="cy1" />
10936 + <pt x="r" y="b" />
10937 + </quadBezTo>
10938 + <lnTo>
10939 + <pt x="x6" y="y2" />
10940 + </lnTo>
10941 + <lnTo>
10942 + <pt x="r" y="q1" />
10943 + </lnTo>
10944 + <quadBezTo>
10945 + <pt x="cx5" y="cy4" />
10946 + <pt x="x5" y="y5" />
10947 + </quadBezTo>
10948 + <lnTo>
10949 + <pt x="x5" y="y6" />
10950 + </lnTo>
10951 + <quadBezTo>
10952 + <pt x="hc" y="cy6" />
10953 + <pt x="x2" y="y6" />
10954 + </quadBezTo>
10955 + <lnTo>
10956 + <pt x="x2" y="y5" />
10957 + </lnTo>
10958 + <quadBezTo>
10959 + <pt x="cx4" y="cy4" />
10960 + <pt x="l" y="q1" />
10961 + </quadBezTo>
10962 + <lnTo>
10963 + <pt x="wd8" y="y2" />
10964 + </lnTo>
10965 + <close />
10966 + </path>
10967 + <path fill="darkenLess" stroke="false" extrusionOk="false">
10968 + <moveTo>
10969 + <pt x="x3" y="y7" />
10970 + </moveTo>
10971 + <lnTo>
10972 + <pt x="x3" y="y1" />
10973 + </lnTo>
10974 + <lnTo>
10975 + <pt x="x2" y="y3" />
10976 + </lnTo>
10977 + <quadBezTo>
10978 + <pt x="hc" y="cy3" />
10979 + <pt x="x5" y="y3" />
10980 + </quadBezTo>
10981 + <lnTo>
10982 + <pt x="x4" y="y1" />
10983 + </lnTo>
10984 + <lnTo>
10985 + <pt x="x4" y="y7" />
10986 + </lnTo>
10987 + <quadBezTo>
10988 + <pt x="hc" y="cy7" />
10989 + <pt x="x3" y="y7" />
10990 + </quadBezTo>
10991 + <close />
10992 + </path>
10993 + <path fill="none" extrusionOk="false">
10995 + <moveTo>
10996 + <pt x="l" y="b" />
10997 + </moveTo>
10998 + <lnTo>
10999 + <pt x="wd8" y="y2" />
11000 + </lnTo>
11001 + <lnTo>
11002 + <pt x="l" y="q1" />
11003 + </lnTo>
11004 + <quadBezTo>
11005 + <pt x="cx4" y="cy4" />
11006 + <pt x="x2" y="y5" />
11007 + </quadBezTo>
11008 + <lnTo>
11009 + <pt x="x2" y="y6" />
11010 + </lnTo>
11011 + <quadBezTo>
11012 + <pt x="hc" y="cy6" />
11013 + <pt x="x5" y="y6" />
11014 + </quadBezTo>
11015 + <lnTo>
11016 + <pt x="x5" y="y5" />
11017 + </lnTo>
11018 + <quadBezTo>
11019 + <pt x="cx5" y="cy4" />
11020 + <pt x="r" y="q1" />
11021 + </quadBezTo>
11022 + <lnTo>
11023 + <pt x="x6" y="y2" />
11024 + </lnTo>
11025 + <lnTo>
11026 + <pt x="r" y="b" />
11027 + </lnTo>
11028 + <quadBezTo>
11029 + <pt x="cx2" y="cy1" />
11030 + <pt x="x4" y="y1" />
11031 + </quadBezTo>
11032 + <lnTo>
11033 + <pt x="x5" y="y3" />
11034 + </lnTo>
11035 + <quadBezTo>
11036 + <pt x="hc" y="cy3" />
11037 + <pt x="x2" y="y3" />
11038 + </quadBezTo>
11039 + <lnTo>
11040 + <pt x="x3" y="y1" />
11041 + </lnTo>
11042 + <quadBezTo>
11043 + <pt x="cx1" y="cy1" />
11044 + <pt x="l" y="b" />
11045 + </quadBezTo>
11046 + <close />
11047 + <moveTo>
11048 + <pt x="x2" y="y3" />
11049 + </moveTo>
11050 + <lnTo>
11051 + <pt x="x2" y="y5" />
11052 + </lnTo>
11053 + <moveTo>
11054 + <pt x="x5" y="y5" />
11055 + </moveTo>
11056 + <lnTo>
11057 + <pt x="x5" y="y3" />
11058 + </lnTo>
11059 + <moveTo>
11060 + <pt x="x3" y="y7" />
11061 + </moveTo>
11062 + <lnTo>
11063 + <pt x="x3" y="y1" />
11064 + </lnTo>
11065 + <moveTo>
11066 + <pt x="x4" y="y1" />
11067 + </moveTo>
11068 + <lnTo>
11069 + <pt x="x4" y="y7" />
11070 + </lnTo>
11071 + </path>
11072 + </pathLst>
11074 + </ellipseRibbon2>
11075 + <flowChartAlternateProcess>
11077 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11078 + <gd name="x2" fmla="+- r 0 ssd6" />
11079 + <gd name="y2" fmla="+- b 0 ssd6" />
11080 + <gd name="il" fmla="*/ ssd6 29289 100000" />
11083 + <gd name="ir" fmla="+- r 0 il" />
11084 + <gd name="ib" fmla="+- b 0 il" />
11085 + </gdLst>
11087 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11088 + <cxn ang="3cd4">
11089 + <pos x="hc" y="t" />
11090 + </cxn>
11091 + <cxn ang="cd2">
11092 + <pos x="l" y="vc" />
11093 + </cxn>
11094 + <cxn ang="cd4">
11095 + <pos x="hc" y="b" />
11096 + </cxn>
11097 + <cxn ang="0">
11098 + <pos x="r" y="vc" />
11099 + </cxn>
11100 + </cxnLst>
11102 + <rect l="il" t="il" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
11104 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11105 + <path>
11106 + <moveTo>
11107 + <pt x="l" y="ssd6" />
11108 + </moveTo>
11109 + <arcTo wR="ssd6" hR="ssd6" stAng="cd2" swAng="cd4" />
11110 + <lnTo>
11111 + <pt x="x2" y="t" />
11112 + </lnTo>
11113 + <arcTo wR="ssd6" hR="ssd6" stAng="3cd4" swAng="cd4" />
11114 + <lnTo>
11115 + <pt x="r" y="y2" />
11116 + </lnTo>
11117 + <arcTo wR="ssd6" hR="ssd6" stAng="0" swAng="cd4" />
11118 + <lnTo>
11119 + <pt x="ssd6" y="b" />
11120 + </lnTo>
11121 + <arcTo wR="ssd6" hR="ssd6" stAng="cd4" swAng="cd4" />
11122 + <close />
11123 + </path>
11124 + </pathLst>
11126 + </flowChartAlternateProcess>
11127 + <flowChartCollate>
11129 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11130 + <gd name="ir" fmla="*/ w 3 4" />
11131 + <gd name="ib" fmla="*/ h 3 4" />
11132 + </gdLst>
11134 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11135 + <cxn ang="3cd4">
11136 + <pos x="hc" y="t" />
11137 + </cxn>
11138 + <cxn ang="3cd4">
11139 + <pos x="hc" y="vc" />
11140 + </cxn>
11141 + <cxn ang="cd4">
11142 + <pos x="hc" y="b" />
11143 + </cxn>
11144 + </cxnLst>
11146 + <rect l="wd4" t="hd4" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
11148 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11149 + <path w="2" h="2">
11150 + <moveTo>
11151 + <pt x="0" y="0" />
11152 + </moveTo>
11153 + <lnTo>
11154 + <pt x="2" y="0" />
11155 + </lnTo>
11156 + <lnTo>
11157 + <pt x="1" y="1" />
11158 + </lnTo>
11159 + <lnTo>
11160 + <pt x="2" y="2" />
11161 + </lnTo>
11162 + <lnTo>
11163 + <pt x="0" y="2" />
11164 + </lnTo>
11165 + <lnTo>
11166 + <pt x="1" y="1" />
11167 + </lnTo>
11168 + <close />
11169 + </path>
11170 + </pathLst>
11172 + </flowChartCollate>
11173 + <flowChartConnector>
11175 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11176 + <gd name="idx" fmla="cos wd2 2700000" />
11177 + <gd name="idy" fmla="sin hd2 2700000" />
11178 + <gd name="il" fmla="+- hc 0 idx" />
11179 + <gd name="ir" fmla="+- hc idx 0" />
11180 + <gd name="it" fmla="+- vc 0 idy" />
11181 + <gd name="ib" fmla="+- vc idy 0" />
11182 + </gdLst>
11184 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11185 + <cxn ang="3cd4">
11186 + <pos x="hc" y="t" />
11187 + </cxn>
11188 + <cxn ang="3cd4">
11189 + <pos x="il" y="it" />
11190 + </cxn>
11191 + <cxn ang="cd2">
11192 + <pos x="l" y="vc" />
11193 + </cxn>
11194 + <cxn ang="cd4">
11195 + <pos x="il" y="ib" />
11196 + </cxn>
11197 + <cxn ang="cd4">
11198 + <pos x="hc" y="b" />
11199 + </cxn>
11200 + <cxn ang="cd4">
11201 + <pos x="ir" y="ib" />
11202 + </cxn>
11203 + <cxn ang="0">
11204 + <pos x="r" y="vc" />
11205 + </cxn>
11206 + <cxn ang="3cd4">
11207 + <pos x="ir" y="it" />
11208 + </cxn>
11209 + </cxnLst>
11211 + <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
11213 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11214 + <path>
11215 + <moveTo>
11216 + <pt x="l" y="vc" />
11217 + </moveTo>
11218 + <arcTo wR="wd2" hR="hd2" stAng="cd2" swAng="cd4" />
11219 + <arcTo wR="wd2" hR="hd2" stAng="3cd4" swAng="cd4" />
11220 + <arcTo wR="wd2" hR="hd2" stAng="0" swAng="cd4" />
11221 + <arcTo wR="wd2" hR="hd2" stAng="cd4" swAng="cd4" />
11222 + <close />
11223 + </path>
11224 + </pathLst>
11226 + </flowChartConnector>
11227 + <flowChartDecision>
11229 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11230 + <gd name="ir" fmla="*/ w 3 4" />
11231 + <gd name="ib" fmla="*/ h 3 4" />
11232 + </gdLst>
11234 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11235 + <cxn ang="3cd4">
11236 + <pos x="hc" y="t" />
11237 + </cxn>
11238 + <cxn ang="cd2">
11239 + <pos x="l" y="vc" />
11240 + </cxn>
11241 + <cxn ang="cd4">
11242 + <pos x="hc" y="b" />
11243 + </cxn>
11244 + <cxn ang="0">
11245 + <pos x="r" y="vc" />
11246 + </cxn>
11247 + </cxnLst>
11249 + <rect l="wd4" t="hd4" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
11251 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11252 + <path w="2" h="2">
11253 + <moveTo>
11254 + <pt x="0" y="1" />
11255 + </moveTo>
11256 + <lnTo>
11257 + <pt x="1" y="0" />
11258 + </lnTo>
11259 + <lnTo>
11260 + <pt x="2" y="1" />
11261 + </lnTo>
11262 + <lnTo>
11263 + <pt x="1" y="2" />
11264 + </lnTo>
11265 + <close />
11266 + </path>
11267 + </pathLst>
11269 + </flowChartDecision>
11270 + <flowChartDelay>
11272 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11273 + <gd name="idx" fmla="cos wd2 2700000" />
11274 + <gd name="idy" fmla="sin hd2 2700000" />
11275 + <gd name="ir" fmla="+- hc idx 0" />
11276 + <gd name="it" fmla="+- vc 0 idy" />
11277 + <gd name="ib" fmla="+- vc idy 0" />
11278 + </gdLst>
11280 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11281 + <cxn ang="3cd4">
11282 + <pos x="hc" y="t" />
11283 + </cxn>
11284 + <cxn ang="cd2">
11285 + <pos x="l" y="vc" />
11286 + </cxn>
11287 + <cxn ang="cd4">
11288 + <pos x="hc" y="b" />
11289 + </cxn>
11290 + <cxn ang="0">
11291 + <pos x="r" y="vc" />
11292 + </cxn>
11293 + </cxnLst>
11295 + <rect l="l" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
11297 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11298 + <path>
11299 + <moveTo>
11300 + <pt x="l" y="t" />
11301 + </moveTo>
11302 + <lnTo>
11303 + <pt x="hc" y="t" />
11304 + </lnTo>
11305 + <arcTo wR="wd2" hR="hd2" stAng="3cd4" swAng="cd2" />
11306 + <lnTo>
11307 + <pt x="l" y="b" />
11308 + </lnTo>
11309 + <close />
11310 + </path>
11311 + </pathLst>
11313 + </flowChartDelay>
11314 + <flowChartDisplay>
11316 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11317 + <gd name="x2" fmla="*/ w 5 6" />
11318 + </gdLst>
11320 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11321 + <cxn ang="3cd4">
11322 + <pos x="hc" y="t" />
11323 + </cxn>
11324 + <cxn ang="cd2">
11325 + <pos x="l" y="vc" />
11326 + </cxn>
11327 + <cxn ang="cd4">
11328 + <pos x="hc" y="b" />
11329 + </cxn>
11330 + <cxn ang="0">
11331 + <pos x="r" y="vc" />
11332 + </cxn>
11333 + </cxnLst>
11335 + <rect l="wd6" t="t" r="x2" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
11337 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11338 + <path w="6" h="6">
11339 + <moveTo>
11340 + <pt x="0" y="3" />
11341 + </moveTo>
11342 + <lnTo>
11343 + <pt x="1" y="0" />
11344 + </lnTo>
11345 + <lnTo>
11346 + <pt x="5" y="0" />
11347 + </lnTo>
11348 + <arcTo wR="1" hR="3" stAng="3cd4" swAng="cd2" />
11349 + <lnTo>
11350 + <pt x="1" y="6" />
11351 + </lnTo>
11352 + <close />
11353 + </path>
11354 + </pathLst>
11356 + </flowChartDisplay>
11357 + <flowChartDocument>
11359 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11360 + <gd name="y1" fmla="*/ h 17322 21600" />
11361 + <gd name="y2" fmla="*/ h 20172 21600" />
11362 + </gdLst>
11364 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11365 + <cxn ang="3cd4">
11366 + <pos x="hc" y="t" />
11367 + </cxn>
11368 + <cxn ang="cd2">
11369 + <pos x="l" y="vc" />
11370 + </cxn>
11371 + <cxn ang="cd4">
11372 + <pos x="hc" y="y2" />
11373 + </cxn>
11374 + <cxn ang="0">
11375 + <pos x="r" y="vc" />
11376 + </cxn>
11377 + </cxnLst>
11379 + <rect l="l" t="t" r="r" b="y1" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
11381 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11382 + <path w="21600" h="21600">
11383 + <moveTo>
11384 + <pt x="0" y="0" />
11385 + </moveTo>
11386 + <lnTo>
11387 + <pt x="21600" y="0" />
11388 + </lnTo>
11389 + <lnTo>
11390 + <pt x="21600" y="17322" />
11391 + </lnTo>
11392 + <cubicBezTo>
11393 + <pt x="10800" y="17322" />
11394 + <pt x="10800" y="23922" />
11395 + <pt x="0" y="20172" />
11396 + </cubicBezTo>
11397 + <close />
11398 + </path>
11399 + </pathLst>
11401 + </flowChartDocument>
11402 + <flowChartExtract>
11404 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11405 + <gd name="x2" fmla="*/ w 3 4" />
11406 + </gdLst>
11407 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11408 + <cxn ang="3cd4">
11409 + <pos x="hc" y="t" />
11410 + </cxn>
11411 + <cxn ang="cd2">
11412 + <pos x="wd4" y="vc" />
11413 + </cxn>
11414 + <cxn ang="cd4">
11415 + <pos x="hc" y="b" />
11416 + </cxn>
11417 + <cxn ang="0">
11418 + <pos x="x2" y="vc" />
11419 + </cxn>
11420 + </cxnLst>
11422 + <rect l="wd4" t="vc" r="x2" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
11424 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11425 + <path w="2" h="2">
11426 + <moveTo>
11427 + <pt x="0" y="2" />
11428 + </moveTo>
11429 + <lnTo>
11430 + <pt x="1" y="0" />
11431 + </lnTo>
11432 + <lnTo>
11433 + <pt x="2" y="2" />
11434 + </lnTo>
11435 + <close />
11436 + </path>
11437 + </pathLst>
11439 + </flowChartExtract>
11440 + <flowChartInputOutput>
11442 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11443 + <gd name="x3" fmla="*/ w 2 5" />
11444 + <gd name="x4" fmla="*/ w 3 5" />
11445 + <gd name="x5" fmla="*/ w 4 5" />
11446 + <gd name="x6" fmla="*/ w 9 10" />
11447 + </gdLst>
11449 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11450 + <cxn ang="3cd4">
11451 + <pos x="x4" y="t" />
11452 + </cxn>
11453 + <cxn ang="3cd4">
11454 + <pos x="hc" y="t" />
11455 + </cxn>
11456 + <cxn ang="cd2">
11457 + <pos x="wd10" y="vc" />
11458 + </cxn>
11459 + <cxn ang="cd4">
11460 + <pos x="x3" y="b" />
11461 + </cxn>
11462 + <cxn ang="cd4">
11463 + <pos x="hc" y="b" />
11464 + </cxn>
11465 + <cxn ang="0">
11466 + <pos x="x6" y="vc" />
11467 + </cxn>
11468 + </cxnLst>
11470 + <rect l="wd5" t="t" r="x5" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
11472 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11473 + <path w="5" h="5">
11474 + <moveTo>
11475 + <pt x="0" y="5" />
11476 + </moveTo>
11477 + <lnTo>
11478 + <pt x="1" y="0" />
11479 + </lnTo>
11480 + <lnTo>
11481 + <pt x="5" y="0" />
11482 + </lnTo>
11483 + <lnTo>
11484 + <pt x="4" y="5" />
11485 + </lnTo>
11486 + <close />
11487 + </path>
11488 + </pathLst>
11490 + </flowChartInputOutput>
11491 + <flowChartInternalStorage>
11493 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11494 + <cxn ang="3cd4">
11495 + <pos x="hc" y="t" />
11496 + </cxn>
11497 + <cxn ang="cd2">
11498 + <pos x="l" y="vc" />
11499 + </cxn>
11500 + <cxn ang="cd4">
11501 + <pos x="hc" y="b" />
11502 + </cxn>
11503 + <cxn ang="0">
11504 + <pos x="r" y="vc" />
11505 + </cxn>
11506 + </cxnLst>
11508 + <rect l="wd8" t="hd8" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
11510 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11511 + <path stroke="false" extrusionOk="false" w="1" h="1">
11513 + <moveTo>
11514 + <pt x="0" y="0" />
11515 + </moveTo>
11516 + <lnTo>
11517 + <pt x="1" y="0" />
11518 + </lnTo>
11519 + <lnTo>
11520 + <pt x="1" y="1" />
11521 + </lnTo>
11522 + <lnTo>
11523 + <pt x="0" y="1" />
11524 + </lnTo>
11525 + <close />
11526 + </path>
11527 + <path fill="none" extrusionOk="false" w="8" h="8">
11529 + <moveTo>
11530 + <pt x="1" y="0" />
11531 + </moveTo>
11532 + <lnTo>
11533 + <pt x="1" y="8" />
11534 + </lnTo>
11535 + <moveTo>
11536 + <pt x="0" y="1" />
11537 + </moveTo>
11538 + <lnTo>
11539 + <pt x="8" y="1" />
11540 + </lnTo>
11541 + </path>
11542 + <path fill="none" w="1" h="1">
11544 + <moveTo>
11545 + <pt x="0" y="0" />
11546 + </moveTo>
11547 + <lnTo>
11548 + <pt x="1" y="0" />
11549 + </lnTo>
11550 + <lnTo>
11551 + <pt x="1" y="1" />
11552 + </lnTo>
11553 + <lnTo>
11554 + <pt x="0" y="1" />
11555 + </lnTo>
11556 + <close />
11557 + </path>
11558 + </pathLst>
11560 + </flowChartInternalStorage>
11561 + <flowChartMagneticDisk>
11563 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11564 + <gd name="y3" fmla="*/ h 5 6" />
11565 + </gdLst>
11567 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11568 + <cxn ang="3cd4">
11569 + <pos x="hc" y="hd3" />
11570 + </cxn>
11571 + <cxn ang="3cd4">
11572 + <pos x="hc" y="t" />
11573 + </cxn>
11574 + <cxn ang="cd2">
11575 + <pos x="l" y="vc" />
11576 + </cxn>
11577 + <cxn ang="cd4">
11578 + <pos x="hc" y="b" />
11579 + </cxn>
11580 + <cxn ang="0">
11581 + <pos x="r" y="vc" />
11582 + </cxn>
11583 + </cxnLst>
11585 + <rect l="l" t="hd3" r="r" b="y3" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
11587 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11588 + <path stroke="false" extrusionOk="false" w="6" h="6">
11590 + <moveTo>
11591 + <pt x="0" y="1" />
11592 + </moveTo>
11593 + <arcTo wR="3" hR="1" stAng="cd2" swAng="cd2" />
11594 + <lnTo>
11595 + <pt x="6" y="5" />
11596 + </lnTo>
11597 + <arcTo wR="3" hR="1" stAng="0" swAng="cd2" />
11598 + <close />
11599 + </path>
11600 + <path fill="none" extrusionOk="false" w="6" h="6">
11602 + <moveTo>
11603 + <pt x="6" y="1" />
11604 + </moveTo>
11605 + <arcTo wR="3" hR="1" stAng="0" swAng="cd2" />
11606 + </path>
11607 + <path fill="none" w="6" h="6">
11609 + <moveTo>
11610 + <pt x="0" y="1" />
11611 + </moveTo>
11612 + <arcTo wR="3" hR="1" stAng="cd2" swAng="cd2" />
11613 + <lnTo>
11614 + <pt x="6" y="5" />
11615 + </lnTo>
11616 + <arcTo wR="3" hR="1" stAng="0" swAng="cd2" />
11617 + <close />
11618 + </path>
11619 + </pathLst>
11621 + </flowChartMagneticDisk>
11622 + <flowChartMagneticDrum>
11624 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11625 + <gd name="x2" fmla="*/ w 2 3" />
11626 + </gdLst>
11628 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11629 + <cxn ang="3cd4">
11630 + <pos x="hc" y="t" />
11631 + </cxn>
11632 + <cxn ang="cd2">
11633 + <pos x="l" y="vc" />
11634 + </cxn>
11635 + <cxn ang="cd4">
11636 + <pos x="hc" y="b" />
11637 + </cxn>
11638 + <cxn ang="0">
11639 + <pos x="x2" y="vc" />
11640 + </cxn>
11641 + <cxn ang="0">
11642 + <pos x="r" y="vc" />
11643 + </cxn>
11644 + </cxnLst>
11646 + <rect l="wd6" t="t" r="x2" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
11648 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11649 + <path stroke="false" extrusionOk="false" w="6" h="6">
11651 + <moveTo>
11652 + <pt x="1" y="0" />
11653 + </moveTo>
11654 + <lnTo>
11655 + <pt x="5" y="0" />
11656 + </lnTo>
11657 + <arcTo wR="1" hR="3" stAng="3cd4" swAng="cd2" />
11658 + <lnTo>
11659 + <pt x="1" y="6" />
11660 + </lnTo>
11661 + <arcTo wR="1" hR="3" stAng="cd4" swAng="cd2" />
11662 + <close />
11663 + </path>
11664 + <path fill="none" extrusionOk="false" w="6" h="6">
11666 + <moveTo>
11667 + <pt x="5" y="6" />
11668 + </moveTo>
11669 + <arcTo wR="1" hR="3" stAng="cd4" swAng="cd2" />
11670 + </path>
11671 + <path fill="none" w="6" h="6">
11673 + <moveTo>
11674 + <pt x="1" y="0" />
11675 + </moveTo>
11676 + <lnTo>
11677 + <pt x="5" y="0" />
11678 + </lnTo>
11679 + <arcTo wR="1" hR="3" stAng="3cd4" swAng="cd2" />
11680 + <lnTo>
11681 + <pt x="1" y="6" />
11682 + </lnTo>
11683 + <arcTo wR="1" hR="3" stAng="cd4" swAng="cd2" />
11684 + <close />
11685 + </path>
11686 + </pathLst>
11688 + </flowChartMagneticDrum>
11689 + <flowChartMagneticTape>
11691 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11692 + <gd name="idx" fmla="cos wd2 2700000" />
11693 + <gd name="idy" fmla="sin hd2 2700000" />
11694 + <gd name="il" fmla="+- hc 0 idx" />
11695 + <gd name="ir" fmla="+- hc idx 0" />
11696 + <gd name="it" fmla="+- vc 0 idy" />
11697 + <gd name="ib" fmla="+- vc idy 0" />
11698 + <gd name="ang1" fmla="at2 w h" />
11699 + </gdLst>
11701 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11702 + <cxn ang="3cd4">
11703 + <pos x="hc" y="t" />
11704 + </cxn>
11705 + <cxn ang="cd2">
11706 + <pos x="l" y="vc" />
11707 + </cxn>
11708 + <cxn ang="cd4">
11709 + <pos x="hc" y="b" />
11710 + </cxn>
11711 + <cxn ang="0">
11712 + <pos x="r" y="vc" />
11713 + </cxn>
11714 + </cxnLst>
11716 + <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
11718 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11719 + <path>
11720 + <moveTo>
11721 + <pt x="hc" y="b" />
11722 + </moveTo>
11723 + <arcTo wR="wd2" hR="hd2" stAng="cd4" swAng="cd4" />
11724 + <arcTo wR="wd2" hR="hd2" stAng="cd2" swAng="cd4" />
11725 + <arcTo wR="wd2" hR="hd2" stAng="3cd4" swAng="cd4" />
11726 + <arcTo wR="wd2" hR="hd2" stAng="0" swAng="ang1" />
11727 + <lnTo>
11728 + <pt x="r" y="ib" />
11729 + </lnTo>
11730 + <lnTo>
11731 + <pt x="r" y="b" />
11732 + </lnTo>
11733 + <close />
11734 + </path>
11735 + </pathLst>
11737 + </flowChartMagneticTape>
11738 + <flowChartManualInput>
11740 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11741 + <cxn ang="3cd4">
11742 + <pos x="hc" y="hd10" />
11743 + </cxn>
11744 + <cxn ang="cd2">
11745 + <pos x="l" y="vc" />
11746 + </cxn>
11747 + <cxn ang="cd4">
11748 + <pos x="hc" y="b" />
11749 + </cxn>
11750 + <cxn ang="0">
11751 + <pos x="r" y="vc" />
11752 + </cxn>
11753 + </cxnLst>
11755 + <rect l="l" t="hd5" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
11757 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11758 + <path w="5" h="5">
11759 + <moveTo>
11760 + <pt x="0" y="1" />
11761 + </moveTo>
11762 + <lnTo>
11763 + <pt x="5" y="0" />
11764 + </lnTo>
11765 + <lnTo>
11766 + <pt x="5" y="5" />
11767 + </lnTo>
11768 + <lnTo>
11769 + <pt x="0" y="5" />
11770 + </lnTo>
11771 + <close />
11772 + </path>
11773 + </pathLst>
11775 + </flowChartManualInput>
11776 + <flowChartManualOperation>
11778 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11779 + <gd name="x3" fmla="*/ w 4 5" />
11780 + <gd name="x4" fmla="*/ w 9 10" />
11781 + </gdLst>
11783 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11784 + <cxn ang="3cd4">
11785 + <pos x="hc" y="t" />
11786 + </cxn>
11787 + <cxn ang="cd2">
11788 + <pos x="wd10" y="vc" />
11789 + </cxn>
11790 + <cxn ang="cd4">
11791 + <pos x="hc" y="b" />
11792 + </cxn>
11793 + <cxn ang="0">
11794 + <pos x="x4" y="vc" />
11795 + </cxn>
11796 + </cxnLst>
11798 + <rect l="wd5" t="t" r="x3" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
11800 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11801 + <path w="5" h="5">
11802 + <moveTo>
11803 + <pt x="0" y="0" />
11804 + </moveTo>
11805 + <lnTo>
11806 + <pt x="5" y="0" />
11807 + </lnTo>
11808 + <lnTo>
11809 + <pt x="4" y="5" />
11810 + </lnTo>
11811 + <lnTo>
11812 + <pt x="1" y="5" />
11813 + </lnTo>
11814 + <close />
11815 + </path>
11816 + </pathLst>
11818 + </flowChartManualOperation>
11819 + <flowChartMerge>
11821 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11822 + <gd name="x2" fmla="*/ w 3 4" />
11823 + </gdLst>
11825 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11826 + <cxn ang="3cd4">
11827 + <pos x="hc" y="t" />
11828 + </cxn>
11829 + <cxn ang="cd2">
11830 + <pos x="wd4" y="vc" />
11831 + </cxn>
11832 + <cxn ang="cd4">
11833 + <pos x="hc" y="b" />
11834 + </cxn>
11835 + <cxn ang="0">
11836 + <pos x="x2" y="vc" />
11837 + </cxn>
11838 + </cxnLst>
11840 + <rect l="wd4" t="t" r="x2" b="vc" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
11842 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11843 + <path w="2" h="2">
11844 + <moveTo>
11845 + <pt x="0" y="0" />
11846 + </moveTo>
11847 + <lnTo>
11848 + <pt x="2" y="0" />
11849 + </lnTo>
11850 + <lnTo>
11851 + <pt x="1" y="2" />
11852 + </lnTo>
11853 + <close />
11854 + </path>
11855 + </pathLst>
11857 + </flowChartMerge>
11858 + <flowChartMultidocument>
11860 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11861 + <gd name="y2" fmla="*/ h 3675 21600" />
11862 + <gd name="y8" fmla="*/ h 20782 21600" />
11863 + <gd name="x3" fmla="*/ w 9298 21600" />
11864 + <gd name="x4" fmla="*/ w 12286 21600" />
11865 + <gd name="x5" fmla="*/ w 18595 21600" />
11866 + </gdLst>
11868 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11869 + <cxn ang="3cd4">
11870 + <pos x="x4" y="t" />
11871 + </cxn>
11872 + <cxn ang="cd2">
11873 + <pos x="l" y="vc" />
11874 + </cxn>
11875 + <cxn ang="cd4">
11876 + <pos x="x3" y="y8" />
11877 + </cxn>
11878 + <cxn ang="0">
11879 + <pos x="r" y="vc" />
11880 + </cxn>
11881 + </cxnLst>
11883 + <rect l="l" t="y2" r="x5" b="y8" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
11885 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
11886 + <path stroke="false" extrusionOk="false" w="21600" h="21600">
11888 + <moveTo>
11889 + <pt x="0" y="20782" />
11890 + </moveTo>
11891 + <cubicBezTo>
11892 + <pt x="9298" y="23542" />
11893 + <pt x="9298" y="18022" />
11894 + <pt x="18595" y="18022" />
11895 + </cubicBezTo>
11896 + <lnTo>
11897 + <pt x="18595" y="3675" />
11898 + </lnTo>
11899 + <lnTo>
11900 + <pt x="0" y="3675" />
11901 + </lnTo>
11902 + <close />
11903 + <moveTo>
11904 + <pt x="1532" y="3675" />
11905 + </moveTo>
11906 + <lnTo>
11907 + <pt x="1532" y="1815" />
11908 + </lnTo>
11909 + <lnTo>
11910 + <pt x="20000" y="1815" />
11911 + </lnTo>
11912 + <lnTo>
11913 + <pt x="20000" y="16252" />
11914 + </lnTo>
11915 + <cubicBezTo>
11916 + <pt x="19298" y="16252" />
11917 + <pt x="18595" y="16352" />
11918 + <pt x="18595" y="16352" />
11919 + </cubicBezTo>
11920 + <lnTo>
11921 + <pt x="18595" y="3675" />
11922 + </lnTo>
11923 + <close />
11924 + <moveTo>
11925 + <pt x="2972" y="1815" />
11926 + </moveTo>
11927 + <lnTo>
11928 + <pt x="2972" y="0" />
11929 + </lnTo>
11930 + <lnTo>
11931 + <pt x="21600" y="0" />
11932 + </lnTo>
11933 + <lnTo>
11934 + <pt x="21600" y="14392" />
11935 + </lnTo>
11936 + <cubicBezTo>
11937 + <pt x="20800" y="14392" />
11938 + <pt x="20000" y="14467" />
11939 + <pt x="20000" y="14467" />
11940 + </cubicBezTo>
11941 + <lnTo>
11942 + <pt x="20000" y="1815" />
11943 + </lnTo>
11944 + <close />
11945 + </path>
11946 + <path fill="none" extrusionOk="false" w="21600" h="21600">
11948 + <moveTo>
11949 + <pt x="0" y="3675" />
11950 + </moveTo>
11951 + <lnTo>
11952 + <pt x="18595" y="3675" />
11953 + </lnTo>
11954 + <lnTo>
11955 + <pt x="18595" y="18022" />
11956 + </lnTo>
11957 + <cubicBezTo>
11958 + <pt x="9298" y="18022" />
11959 + <pt x="9298" y="23542" />
11960 + <pt x="0" y="20782" />
11961 + </cubicBezTo>
11962 + <close />
11963 + <moveTo>
11964 + <pt x="1532" y="3675" />
11965 + </moveTo>
11966 + <lnTo>
11967 + <pt x="1532" y="1815" />
11968 + </lnTo>
11969 + <lnTo>
11970 + <pt x="20000" y="1815" />
11971 + </lnTo>
11972 + <lnTo>
11973 + <pt x="20000" y="16252" />
11974 + </lnTo>
11975 + <cubicBezTo>
11976 + <pt x="19298" y="16252" />
11977 + <pt x="18595" y="16352" />
11978 + <pt x="18595" y="16352" />
11979 + </cubicBezTo>
11980 + <moveTo>
11981 + <pt x="2972" y="1815" />
11982 + </moveTo>
11983 + <lnTo>
11984 + <pt x="2972" y="0" />
11985 + </lnTo>
11986 + <lnTo>
11987 + <pt x="21600" y="0" />
11988 + </lnTo>
11989 + <lnTo>
11990 + <pt x="21600" y="14392" />
11991 + </lnTo>
11992 + <cubicBezTo>
11993 + <pt x="20800" y="14392" />
11994 + <pt x="20000" y="14467" />
11995 + <pt x="20000" y="14467" />
11996 + </cubicBezTo>
11997 + </path>
11998 + <path stroke="false" fill="none" w="21600" h="21600">
12000 + <moveTo>
12001 + <pt x="0" y="20782" />
12002 + </moveTo>
12003 + <cubicBezTo>
12004 + <pt x="9298" y="23542" />
12005 + <pt x="9298" y="18022" />
12006 + <pt x="18595" y="18022" />
12007 + </cubicBezTo>
12008 + <lnTo>
12009 + <pt x="18595" y="16352" />
12010 + </lnTo>
12011 + <cubicBezTo>
12012 + <pt x="18595" y="16352" />
12013 + <pt x="19298" y="16252" />
12014 + <pt x="20000" y="16252" />
12015 + </cubicBezTo>
12016 + <lnTo>
12017 + <pt x="20000" y="14467" />
12018 + </lnTo>
12019 + <cubicBezTo>
12020 + <pt x="20000" y="14467" />
12021 + <pt x="20800" y="14392" />
12022 + <pt x="21600" y="14392" />
12023 + </cubicBezTo>
12024 + <lnTo>
12025 + <pt x="21600" y="0" />
12026 + </lnTo>
12027 + <lnTo>
12028 + <pt x="2972" y="0" />
12029 + </lnTo>
12030 + <lnTo>
12031 + <pt x="2972" y="1815" />
12032 + </lnTo>
12033 + <lnTo>
12034 + <pt x="1532" y="1815" />
12035 + </lnTo>
12036 + <lnTo>
12037 + <pt x="1532" y="3675" />
12038 + </lnTo>
12039 + <lnTo>
12040 + <pt x="0" y="3675" />
12041 + </lnTo>
12042 + <close />
12043 + </path>
12044 + </pathLst>
12046 + </flowChartMultidocument>
12047 + <flowChartOfflineStorage>
12049 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12050 + <gd name="x4" fmla="*/ w 3 4" />
12051 + </gdLst>
12053 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12054 + <cxn ang="0">
12055 + <pos x="x4" y="vc" />
12056 + </cxn>
12057 + <cxn ang="cd4">
12058 + <pos x="hc" y="b" />
12059 + </cxn>
12060 + <cxn ang="cd2">
12061 + <pos x="wd4" y="vc" />
12062 + </cxn>
12063 + <cxn ang="3cd4">
12064 + <pos x="hc" y="t" />
12065 + </cxn>
12066 + </cxnLst>
12068 + <rect l="wd4" t="t" r="x4" b="vc" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
12070 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12071 + <path stroke="false" extrusionOk="false" w="2" h="2">
12073 + <moveTo>
12074 + <pt x="0" y="0" />
12075 + </moveTo>
12076 + <lnTo>
12077 + <pt x="2" y="0" />
12078 + </lnTo>
12079 + <lnTo>
12080 + <pt x="1" y="2" />
12081 + </lnTo>
12082 + <close />
12083 + </path>
12084 + <path fill="none" extrusionOk="false" w="5" h="5">
12086 + <moveTo>
12087 + <pt x="2" y="4" />
12088 + </moveTo>
12089 + <lnTo>
12090 + <pt x="3" y="4" />
12091 + </lnTo>
12092 + </path>
12093 + <path fill="none" extrusionOk="true" w="2" h="2">
12095 + <moveTo>
12096 + <pt x="0" y="0" />
12097 + </moveTo>
12098 + <lnTo>
12099 + <pt x="2" y="0" />
12100 + </lnTo>
12101 + <lnTo>
12102 + <pt x="1" y="2" />
12103 + </lnTo>
12104 + <close />
12105 + </path>
12106 + </pathLst>
12108 + </flowChartOfflineStorage>
12109 + <flowChartOffpageConnector>
12111 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12112 + <gd name="y1" fmla="*/ h 4 5" />
12113 + </gdLst>
12115 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12116 + <cxn ang="3cd4">
12117 + <pos x="hc" y="t" />
12118 + </cxn>
12119 + <cxn ang="cd2">
12120 + <pos x="l" y="vc" />
12121 + </cxn>
12122 + <cxn ang="cd4">
12123 + <pos x="hc" y="b" />
12124 + </cxn>
12125 + <cxn ang="0">
12126 + <pos x="r" y="vc" />
12127 + </cxn>
12128 + </cxnLst>
12130 + <rect l="l" t="t" r="r" b="y1" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
12132 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12133 + <path w="10" h="10">
12134 + <moveTo>
12135 + <pt x="0" y="0" />
12136 + </moveTo>
12137 + <lnTo>
12138 + <pt x="10" y="0" />
12139 + </lnTo>
12140 + <lnTo>
12141 + <pt x="10" y="8" />
12142 + </lnTo>
12143 + <lnTo>
12144 + <pt x="5" y="10" />
12145 + </lnTo>
12146 + <lnTo>
12147 + <pt x="0" y="8" />
12148 + </lnTo>
12149 + <close />
12150 + </path>
12151 + </pathLst>
12153 + </flowChartOffpageConnector>
12154 + <flowChartOnlineStorage>
12156 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12157 + <gd name="x2" fmla="*/ w 5 6" />
12158 + </gdLst>
12160 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12161 + <cxn ang="3cd4">
12162 + <pos x="hc" y="t" />
12163 + </cxn>
12164 + <cxn ang="cd2">
12165 + <pos x="l" y="vc" />
12166 + </cxn>
12167 + <cxn ang="cd4">
12168 + <pos x="hc" y="b" />
12169 + </cxn>
12170 + <cxn ang="0">
12171 + <pos x="x2" y="vc" />
12172 + </cxn>
12173 + </cxnLst>
12175 + <rect l="wd6" t="t" r="x2" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
12177 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12178 + <path w="6" h="6">
12179 + <moveTo>
12180 + <pt x="1" y="0" />
12181 + </moveTo>
12182 + <lnTo>
12183 + <pt x="6" y="0" />
12184 + </lnTo>
12185 + <arcTo wR="1" hR="3" stAng="3cd4" swAng="-10800000" />
12186 + <lnTo>
12187 + <pt x="1" y="6" />
12188 + </lnTo>
12189 + <arcTo wR="1" hR="3" stAng="cd4" swAng="cd2" />
12190 + <close />
12191 + </path>
12192 + </pathLst>
12194 + </flowChartOnlineStorage>
12195 + <flowChartOr>
12197 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12198 + <gd name="idx" fmla="cos wd2 2700000" />
12199 + <gd name="idy" fmla="sin hd2 2700000" />
12200 + <gd name="il" fmla="+- hc 0 idx" />
12201 + <gd name="ir" fmla="+- hc idx 0" />
12202 + <gd name="it" fmla="+- vc 0 idy" />
12203 + <gd name="ib" fmla="+- vc idy 0" />
12204 + </gdLst>
12206 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12207 + <cxn ang="3cd4">
12208 + <pos x="hc" y="t" />
12209 + </cxn>
12210 + <cxn ang="3cd4">
12211 + <pos x="il" y="it" />
12212 + </cxn>
12213 + <cxn ang="cd2">
12214 + <pos x="l" y="vc" />
12215 + </cxn>
12216 + <cxn ang="cd4">
12217 + <pos x="il" y="ib" />
12218 + </cxn>
12219 + <cxn ang="cd4">
12220 + <pos x="hc" y="b" />
12221 + </cxn>
12222 + <cxn ang="cd4">
12223 + <pos x="ir" y="ib" />
12224 + </cxn>
12225 + <cxn ang="0">
12226 + <pos x="r" y="vc" />
12227 + </cxn>
12228 + <cxn ang="3cd4">
12229 + <pos x="ir" y="it" />
12230 + </cxn>
12231 + </cxnLst>
12233 + <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
12235 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12236 + <path stroke="false" extrusionOk="false">
12238 + <moveTo>
12239 + <pt x="l" y="vc" />
12240 + </moveTo>
12241 + <arcTo wR="wd2" hR="hd2" stAng="cd2" swAng="cd4" />
12242 + <arcTo wR="wd2" hR="hd2" stAng="3cd4" swAng="cd4" />
12243 + <arcTo wR="wd2" hR="hd2" stAng="0" swAng="cd4" />
12244 + <arcTo wR="wd2" hR="hd2" stAng="cd4" swAng="cd4" />
12245 + <close />
12246 + </path>
12247 + <path fill="none" extrusionOk="false">
12249 + <moveTo>
12250 + <pt x="hc" y="t" />
12251 + </moveTo>
12252 + <lnTo>
12253 + <pt x="hc" y="b" />
12254 + </lnTo>
12255 + <moveTo>
12256 + <pt x="l" y="vc" />
12257 + </moveTo>
12258 + <lnTo>
12259 + <pt x="r" y="vc" />
12260 + </lnTo>
12261 + </path>
12262 + <path fill="none">
12264 + <moveTo>
12265 + <pt x="l" y="vc" />
12266 + </moveTo>
12267 + <arcTo wR="wd2" hR="hd2" stAng="cd2" swAng="cd4" />
12268 + <arcTo wR="wd2" hR="hd2" stAng="3cd4" swAng="cd4" />
12269 + <arcTo wR="wd2" hR="hd2" stAng="0" swAng="cd4" />
12270 + <arcTo wR="wd2" hR="hd2" stAng="cd4" swAng="cd4" />
12271 + <close />
12272 + </path>
12273 + </pathLst>
12275 + </flowChartOr>
12276 + <flowChartPredefinedProcess>
12278 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12279 + <gd name="x2" fmla="*/ w 7 8" />
12280 + </gdLst>
12282 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12283 + <cxn ang="3cd4">
12284 + <pos x="hc" y="t" />
12285 + </cxn>
12286 + <cxn ang="cd2">
12287 + <pos x="l" y="vc" />
12288 + </cxn>
12289 + <cxn ang="cd4">
12290 + <pos x="hc" y="b" />
12291 + </cxn>
12292 + <cxn ang="0">
12293 + <pos x="r" y="vc" />
12294 + </cxn>
12295 + </cxnLst>
12297 + <rect l="wd8" t="t" r="x2" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
12299 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12300 + <path stroke="false" extrusionOk="false" w="1" h="1">
12302 + <moveTo>
12303 + <pt x="0" y="0" />
12304 + </moveTo>
12305 + <lnTo>
12306 + <pt x="1" y="0" />
12307 + </lnTo>
12308 + <lnTo>
12309 + <pt x="1" y="1" />
12310 + </lnTo>
12311 + <lnTo>
12312 + <pt x="0" y="1" />
12313 + </lnTo>
12314 + <close />
12315 + </path>
12316 + <path fill="none" extrusionOk="false" w="8" h="8">
12318 + <moveTo>
12319 + <pt x="1" y="0" />
12320 + </moveTo>
12321 + <lnTo>
12322 + <pt x="1" y="8" />
12323 + </lnTo>
12324 + <moveTo>
12325 + <pt x="7" y="0" />
12326 + </moveTo>
12327 + <lnTo>
12328 + <pt x="7" y="8" />
12329 + </lnTo>
12330 + </path>
12331 + <path fill="none" w="1" h="1">
12333 + <moveTo>
12334 + <pt x="0" y="0" />
12335 + </moveTo>
12336 + <lnTo>
12337 + <pt x="1" y="0" />
12338 + </lnTo>
12339 + <lnTo>
12340 + <pt x="1" y="1" />
12341 + </lnTo>
12342 + <lnTo>
12343 + <pt x="0" y="1" />
12344 + </lnTo>
12345 + <close />
12346 + </path>
12347 + </pathLst>
12349 + </flowChartPredefinedProcess>
12350 + <flowChartPreparation>
12352 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12353 + <gd name="x2" fmla="*/ w 4 5" />
12354 + </gdLst>
12356 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12357 + <cxn ang="3cd4">
12358 + <pos x="hc" y="t" />
12359 + </cxn>
12360 + <cxn ang="cd2">
12361 + <pos x="l" y="vc" />
12362 + </cxn>
12363 + <cxn ang="cd4">
12364 + <pos x="hc" y="b" />
12365 + </cxn>
12366 + <cxn ang="0">
12367 + <pos x="r" y="vc" />
12368 + </cxn>
12369 + </cxnLst>
12371 + <rect l="wd5" t="t" r="x2" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
12373 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12374 + <path w="10" h="10">
12375 + <moveTo>
12376 + <pt x="0" y="5" />
12377 + </moveTo>
12378 + <lnTo>
12379 + <pt x="2" y="0" />
12380 + </lnTo>
12381 + <lnTo>
12382 + <pt x="8" y="0" />
12383 + </lnTo>
12384 + <lnTo>
12385 + <pt x="10" y="5" />
12386 + </lnTo>
12387 + <lnTo>
12388 + <pt x="8" y="10" />
12389 + </lnTo>
12390 + <lnTo>
12391 + <pt x="2" y="10" />
12392 + </lnTo>
12393 + <close />
12394 + </path>
12395 + </pathLst>
12397 + </flowChartPreparation>
12398 + <flowChartProcess>
12400 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12401 + <cxn ang="3cd4">
12402 + <pos x="hc" y="t" />
12403 + </cxn>
12404 + <cxn ang="cd2">
12405 + <pos x="l" y="vc" />
12406 + </cxn>
12407 + <cxn ang="cd4">
12408 + <pos x="hc" y="b" />
12409 + </cxn>
12410 + <cxn ang="0">
12411 + <pos x="r" y="vc" />
12412 + </cxn>
12413 + </cxnLst>
12415 + <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
12417 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12418 + <path w="1" h="1">
12419 + <moveTo>
12420 + <pt x="0" y="0" />
12421 + </moveTo>
12422 + <lnTo>
12423 + <pt x="1" y="0" />
12424 + </lnTo>
12425 + <lnTo>
12426 + <pt x="1" y="1" />
12427 + </lnTo>
12428 + <lnTo>
12429 + <pt x="0" y="1" />
12430 + </lnTo>
12431 + <close />
12432 + </path>
12433 + </pathLst>
12435 + </flowChartProcess>
12436 + <flowChartPunchedCard>
12438 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12439 + <cxn ang="3cd4">
12440 + <pos x="hc" y="t" />
12441 + </cxn>
12442 + <cxn ang="cd2">
12443 + <pos x="l" y="vc" />
12444 + </cxn>
12445 + <cxn ang="cd4">
12446 + <pos x="hc" y="b" />
12447 + </cxn>
12448 + <cxn ang="0">
12449 + <pos x="r" y="vc" />
12450 + </cxn>
12451 + </cxnLst>
12453 + <rect l="l" t="hd5" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
12455 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12456 + <path w="5" h="5">
12457 + <moveTo>
12458 + <pt x="0" y="1" />
12459 + </moveTo>
12460 + <lnTo>
12461 + <pt x="1" y="0" />
12462 + </lnTo>
12463 + <lnTo>
12464 + <pt x="5" y="0" />
12465 + </lnTo>
12466 + <lnTo>
12467 + <pt x="5" y="5" />
12468 + </lnTo>
12469 + <lnTo>
12470 + <pt x="0" y="5" />
12471 + </lnTo>
12472 + <close />
12473 + </path>
12474 + </pathLst>
12476 + </flowChartPunchedCard>
12477 + <flowChartPunchedTape>
12479 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12480 + <gd name="y2" fmla="*/ h 9 10" />
12481 + <gd name="ib" fmla="*/ h 4 5" />
12482 + </gdLst>
12484 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12485 + <cxn ang="3cd4">
12486 + <pos x="hc" y="hd10" />
12487 + </cxn>
12488 + <cxn ang="cd2">
12489 + <pos x="l" y="vc" />
12490 + </cxn>
12491 + <cxn ang="cd4">
12492 + <pos x="hc" y="y2" />
12493 + </cxn>
12494 + <cxn ang="0">
12495 + <pos x="r" y="vc" />
12496 + </cxn>
12497 + </cxnLst>
12499 + <rect l="l" t="hd5" r="r" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
12501 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12502 + <path w="20" h="20">
12503 + <moveTo>
12504 + <pt x="0" y="2" />
12505 + </moveTo>
12506 + <arcTo wR="5" hR="2" stAng="cd2" swAng="-10800000" />
12507 + <arcTo wR="5" hR="2" stAng="cd2" swAng="cd2" />
12508 + <lnTo>
12509 + <pt x="20" y="18" />
12510 + </lnTo>
12511 + <arcTo wR="5" hR="2" stAng="0" swAng="-10800000" />
12512 + <arcTo wR="5" hR="2" stAng="0" swAng="cd2" />
12513 + <close />
12514 + </path>
12515 + </pathLst>
12517 + </flowChartPunchedTape>
12518 + <flowChartSort>
12520 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12521 + <gd name="ir" fmla="*/ w 3 4" />
12522 + <gd name="ib" fmla="*/ h 3 4" />
12523 + </gdLst>
12525 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12526 + <cxn ang="3cd4">
12527 + <pos x="hc" y="t" />
12528 + </cxn>
12529 + <cxn ang="cd2">
12530 + <pos x="l" y="vc" />
12531 + </cxn>
12532 + <cxn ang="cd4">
12533 + <pos x="hc" y="b" />
12534 + </cxn>
12535 + <cxn ang="0">
12536 + <pos x="r" y="vc" />
12537 + </cxn>
12538 + </cxnLst>
12540 + <rect l="wd4" t="hd4" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
12542 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12543 + <path stroke="false" extrusionOk="false" w="2" h="2">
12545 + <moveTo>
12546 + <pt x="0" y="1" />
12547 + </moveTo>
12548 + <lnTo>
12549 + <pt x="1" y="0" />
12550 + </lnTo>
12551 + <lnTo>
12552 + <pt x="2" y="1" />
12553 + </lnTo>
12554 + <lnTo>
12555 + <pt x="1" y="2" />
12556 + </lnTo>
12557 + <close />
12558 + </path>
12559 + <path fill="none" extrusionOk="false" w="2" h="2">
12561 + <moveTo>
12562 + <pt x="0" y="1" />
12563 + </moveTo>
12564 + <lnTo>
12565 + <pt x="2" y="1" />
12566 + </lnTo>
12567 + </path>
12568 + <path fill="none" w="2" h="2">
12570 + <moveTo>
12571 + <pt x="0" y="1" />
12572 + </moveTo>
12573 + <lnTo>
12574 + <pt x="1" y="0" />
12575 + </lnTo>
12576 + <lnTo>
12577 + <pt x="2" y="1" />
12578 + </lnTo>
12579 + <lnTo>
12580 + <pt x="1" y="2" />
12581 + </lnTo>
12582 + <close />
12583 + </path>
12584 + </pathLst>
12586 + </flowChartSort>
12587 + <flowChartSummingJunction>
12589 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12590 + <gd name="idx" fmla="cos wd2 2700000" />
12591 + <gd name="idy" fmla="sin hd2 2700000" />
12592 + <gd name="il" fmla="+- hc 0 idx" />
12593 + <gd name="ir" fmla="+- hc idx 0" />
12594 + <gd name="it" fmla="+- vc 0 idy" />
12595 + <gd name="ib" fmla="+- vc idy 0" />
12596 + </gdLst>
12598 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12599 + <cxn ang="3cd4">
12600 + <pos x="hc" y="t" />
12601 + </cxn>
12602 + <cxn ang="3cd4">
12603 + <pos x="il" y="it" />
12604 + </cxn>
12605 + <cxn ang="cd2">
12606 + <pos x="l" y="vc" />
12607 + </cxn>
12608 + <cxn ang="cd4">
12609 + <pos x="il" y="ib" />
12610 + </cxn>
12611 + <cxn ang="cd4">
12612 + <pos x="hc" y="b" />
12613 + </cxn>
12614 + <cxn ang="cd4">
12615 + <pos x="ir" y="ib" />
12616 + </cxn>
12617 + <cxn ang="0">
12618 + <pos x="r" y="vc" />
12619 + </cxn>
12620 + <cxn ang="3cd4">
12621 + <pos x="ir" y="it" />
12622 + </cxn>
12623 + </cxnLst>
12625 + <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
12627 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12628 + <path stroke="false" extrusionOk="false">
12630 + <moveTo>
12631 + <pt x="l" y="vc" />
12632 + </moveTo>
12633 + <arcTo wR="wd2" hR="hd2" stAng="cd2" swAng="cd4" />
12634 + <arcTo wR="wd2" hR="hd2" stAng="3cd4" swAng="cd4" />
12635 + <arcTo wR="wd2" hR="hd2" stAng="0" swAng="cd4" />
12636 + <arcTo wR="wd2" hR="hd2" stAng="cd4" swAng="cd4" />
12637 + <close />
12638 + </path>
12639 + <path fill="none" extrusionOk="false">
12641 + <moveTo>
12642 + <pt x="il" y="it" />
12643 + </moveTo>
12644 + <lnTo>
12645 + <pt x="ir" y="ib" />
12646 + </lnTo>
12647 + <moveTo>
12648 + <pt x="ir" y="it" />
12649 + </moveTo>
12650 + <lnTo>
12651 + <pt x="il" y="ib" />
12652 + </lnTo>
12653 + </path>
12654 + <path fill="none">
12656 + <moveTo>
12657 + <pt x="l" y="vc" />
12658 + </moveTo>
12659 + <arcTo wR="wd2" hR="hd2" stAng="cd2" swAng="cd4" />
12660 + <arcTo wR="wd2" hR="hd2" stAng="3cd4" swAng="cd4" />
12661 + <arcTo wR="wd2" hR="hd2" stAng="0" swAng="cd4" />
12662 + <arcTo wR="wd2" hR="hd2" stAng="cd4" swAng="cd4" />
12663 + <close />
12664 + </path>
12665 + </pathLst>
12667 + </flowChartSummingJunction>
12668 + <flowChartTerminator>
12670 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12671 + <gd name="il" fmla="*/ w 1018 21600" />
12672 + <gd name="ir" fmla="*/ w 20582 21600" />
12673 + <gd name="it" fmla="*/ h 3163 21600" />
12674 + <gd name="ib" fmla="*/ h 18437 21600" />
12675 + </gdLst>
12677 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12678 + <cxn ang="3cd4">
12679 + <pos x="hc" y="t" />
12680 + </cxn>
12681 + <cxn ang="cd2">
12682 + <pos x="l" y="vc" />
12683 + </cxn>
12684 + <cxn ang="cd4">
12685 + <pos x="hc" y="b" />
12686 + </cxn>
12687 + <cxn ang="0">
12688 + <pos x="r" y="vc" />
12689 + </cxn>
12690 + </cxnLst>
12692 + <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
12694 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12695 + <path w="21600" h="21600">
12696 + <moveTo>
12697 + <pt x="3475" y="0" />
12698 + </moveTo>
12699 + <lnTo>
12700 + <pt x="18125" y="0" />
12701 + </lnTo>
12702 + <arcTo wR="3475" hR="10800" stAng="3cd4" swAng="cd2" />
12703 + <lnTo>
12704 + <pt x="3475" y="21600" />
12705 + </lnTo>
12706 + <arcTo wR="3475" hR="10800" stAng="cd4" swAng="cd2" />
12707 + <close />
12708 + </path>
12709 + </pathLst>
12711 + </flowChartTerminator>
12712 + <foldedCorner>
12714 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12715 + <gd name="adj" fmla="val 16667" />
12716 + </avLst>
12718 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12719 + <gd name="a" fmla="pin 0 adj 50000" />
12720 + <gd name="dy2" fmla="*/ ss a 100000" />
12721 + <gd name="dy1" fmla="*/ dy2 1 5" />
12722 + <gd name="x1" fmla="+- r 0 dy2" />
12723 + <gd name="x2" fmla="+- x1 dy1 0" />
12724 + <gd name="y2" fmla="+- b 0 dy2" />
12725 + <gd name="y1" fmla="+- y2 dy1 0" />
12726 + </gdLst>
12728 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12729 + <ahXY gdRefX="adj" minX="0" maxX="50000">
12730 + <pos x="x1" y="b" />
12731 + </ahXY>
12732 + </ahLst>
12734 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12735 + <cxn ang="3cd4">
12736 + <pos x="hc" y="t" />
12737 + </cxn>
12738 + <cxn ang="cd2">
12739 + <pos x="l" y="vc" />
12740 + </cxn>
12741 + <cxn ang="cd4">
12742 + <pos x="hc" y="b" />
12743 + </cxn>
12744 + <cxn ang="0">
12745 + <pos x="r" y="vc" />
12746 + </cxn>
12747 + </cxnLst>
12749 + <rect l="l" t="t" r="r" b="y2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
12751 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12752 + <path stroke="false" extrusionOk="false">
12754 + <moveTo>
12755 + <pt x="l" y="t" />
12756 + </moveTo>
12757 + <lnTo>
12758 + <pt x="r" y="t" />
12759 + </lnTo>
12760 + <lnTo>
12761 + <pt x="r" y="y2" />
12762 + </lnTo>
12763 + <lnTo>
12764 + <pt x="x1" y="b" />
12765 + </lnTo>
12766 + <lnTo>
12767 + <pt x="l" y="b" />
12768 + </lnTo>
12769 + <close />
12770 + </path>
12771 + <path stroke="false" fill="darkenLess" extrusionOk="false">
12773 + <moveTo>
12774 + <pt x="x1" y="b" />
12775 + </moveTo>
12776 + <lnTo>
12777 + <pt x="x2" y="y1" />
12778 + </lnTo>
12779 + <lnTo>
12780 + <pt x="r" y="y2" />
12781 + </lnTo>
12782 + <close />
12783 + </path>
12784 + <path fill="none" extrusionOk="false">
12785 + <moveTo>
12786 + <pt x="x1" y="b" />
12787 + </moveTo>
12788 + <lnTo>
12789 + <pt x="x2" y="y1" />
12790 + </lnTo>
12791 + <lnTo>
12792 + <pt x="r" y="y2" />
12793 + </lnTo>
12794 + <lnTo>
12795 + <pt x="x1" y="b" />
12796 + </lnTo>
12797 + <lnTo>
12798 + <pt x="l" y="b" />
12799 + </lnTo>
12800 + <lnTo>
12801 + <pt x="l" y="t" />
12802 + </lnTo>
12803 + <lnTo>
12804 + <pt x="r" y="t" />
12805 + </lnTo>
12806 + <lnTo>
12807 + <pt x="r" y="y2" />
12808 + </lnTo>
12809 + </path>
12810 + </pathLst>
12812 + </foldedCorner>
12813 + <frame>
12815 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12816 + <gd name="adj1" fmla="val 12500" />
12818 + </avLst>
12820 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12821 + <gd name="a1" fmla="pin 0 adj1 50000" />
12822 + <gd name="x1" fmla="*/ ss a1 100000" />
12824 + <gd name="x4" fmla="+- r 0 x1" />
12828 + <gd name="y4" fmla="+- b 0 x1" />
12830 + </gdLst>
12832 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12833 + <ahXY gdRefX="adj1" minX="0" maxX="50000">
12834 + <pos x="x1" y="t" />
12835 + </ahXY>
12836 + </ahLst>
12838 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12839 + <cxn ang="3cd4">
12840 + <pos x="hc" y="t" />
12841 + </cxn>
12842 + <cxn ang="cd2">
12843 + <pos x="l" y="vc" />
12844 + </cxn>
12845 + <cxn ang="cd4">
12846 + <pos x="hc" y="b" />
12847 + </cxn>
12848 + <cxn ang="0">
12849 + <pos x="r" y="vc" />
12850 + </cxn>
12851 + </cxnLst>
12853 + <rect l="x1" t="x1" r="x4" b="y4" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
12855 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12856 + <path>
12858 + <moveTo>
12859 + <pt x="l" y="t" />
12860 + </moveTo>
12861 + <lnTo>
12862 + <pt x="r" y="t" />
12863 + </lnTo>
12864 + <lnTo>
12865 + <pt x="r" y="b" />
12866 + </lnTo>
12867 + <lnTo>
12868 + <pt x="l" y="b" />
12869 + </lnTo>
12870 + <close />
12871 + <moveTo>
12872 + <pt x="x1" y="x1" />
12873 + </moveTo>
12874 + <lnTo>
12875 + <pt x="x1" y="y4" />
12876 + </lnTo>
12877 + <lnTo>
12878 + <pt x="x4" y="y4" />
12879 + </lnTo>
12880 + <lnTo>
12881 + <pt x="x4" y="x1" />
12882 + </lnTo>
12883 + <close />
12884 + </path>
12885 + </pathLst>
12887 + </frame>
12888 + <funnel>
12890 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12892 + <gd name="d" fmla="*/ ss 1 20" />
12895 + <gd name="rw2" fmla="+- wd2 0 d" />
12897 + <gd name="rh2" fmla="+- hd4 0 d" />
12901 + <gd name="t1" fmla="cos wd2 480000" />
12903 + <gd name="t2" fmla="sin hd4 480000" />
12905 + <gd name="da" fmla="at2 t1 t2" />
12908 + <gd name="2da" fmla="*/ da 2 1" />
12909 + <gd name="stAng1" fmla="+- cd2 0 da" />
12910 + <gd name="swAng1" fmla="+- cd2 2da 0" />
12913 + <gd name="swAng3" fmla="+- cd2 0 2da" />
12916 + <gd name="rw3" fmla="*/ wd2 1 4" />
12917 + <gd name="rh3" fmla="*/ hd4 1 4" />
12920 + <gd name="ct1" fmla="cos hd4 stAng1" />
12921 + <gd name="st1" fmla="sin wd2 stAng1" />
12922 + <gd name="m1" fmla="mod ct1 st1 0" />
12923 + <gd name="n1" fmla="*/ wd2 hd4 m1" />
12924 + <gd name="dx1" fmla="cos n1 stAng1" />
12925 + <gd name="dy1" fmla="sin n1 stAng1" />
12926 + <gd name="x1" fmla="+- hc dx1 0" />
12927 + <gd name="y1" fmla="+- hd4 dy1 0" />
12930 + <gd name="ct3" fmla="cos rh3 da" />
12931 + <gd name="st3" fmla="sin rw3 da" />
12932 + <gd name="m3" fmla="mod ct3 st3 0" />
12933 + <gd name="n3" fmla="*/ rw3 rh3 m3" />
12934 + <gd name="dx3" fmla="cos n3 da" />
12935 + <gd name="dy3" fmla="sin n3 da" />
12936 + <gd name="x3" fmla="+- hc dx3 0" />
12937 + <gd name="vc3" fmla="+- b 0 rh3" />
12938 + <gd name="y2" fmla="+- vc3 dy3 0" />
12941 + <gd name="x2" fmla="+- wd2 0 rw2" />
12943 + <gd name="cd" fmla="*/ cd2 2 1" />
12944 + </gdLst>
12946 + <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
12948 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12949 + <path>
12950 + <moveTo>
12951 + <pt x="x1" y="y1" />
12952 + </moveTo>
12953 + <arcTo hR="hd4" wR="wd2" stAng="stAng1" swAng="swAng1" />
12954 + <lnTo>
12955 + <pt x="x3" y="y2" />
12956 + </lnTo>
12957 + <arcTo hR="rh3" wR="rw3" stAng="da" swAng="swAng3" />
12958 + <close />
12959 + <moveTo>
12960 + <pt x="x2" y="hd4" />
12961 + </moveTo>
12962 + <arcTo hR="rh2" wR="rw2" stAng="cd2" swAng="-21600000" />
12963 + <close />
12964 + </path>
12965 + </pathLst>
12967 + </funnel>
12968 + <gear6>
12970 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12971 + <gd name="adj1" fmla="val 15000" />
12973 + <gd name="adj2" fmla="val 3526" />
12975 + </avLst>
12977 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
12982 + <gd name="a1" fmla="pin 0 adj1 20000" />
12983 + <gd name="a2" fmla="pin 0 adj2 5358" />
12986 + <gd name="th" fmla="*/ ss a1 100000" />
12987 + <gd name="lFD" fmla="*/ ss a2 100000" />
12989 + <gd name="th2" fmla="*/ th 1 2" />
12990 + <gd name="l2" fmla="*/ lFD 1 2" />
12991 + <gd name="l3" fmla="+- th2 l2 0" />
12994 + <gd name="rh" fmla="+- hd2 0 th" />
12995 + <gd name="rw" fmla="+- wd2 0 th" />
12998 + <gd name="dr" fmla="+- rw 0 rh" />
12999 + <gd name="maxr" fmla="?: dr rh rw" />
13000 + <gd name="ha" fmla="at2 maxr l3" />
13003 + <gd name="aA1" fmla="+- 19800000 0 ha" />
13004 + <gd name="aD1" fmla="+- 19800000 ha 0" />
13007 + <gd name="ta11" fmla="cos rw aA1" />
13008 + <gd name="ta12" fmla="sin rh aA1" />
13009 + <gd name="bA1" fmla="at2 ta11 ta12" />
13011 + <gd name="cta1" fmla="cos rh bA1" />
13012 + <gd name="sta1" fmla="sin rw bA1" />
13013 + <gd name="ma1" fmla="mod cta1 sta1 0" />
13014 + <gd name="na1" fmla="*/ rw rh ma1" />
13015 + <gd name="dxa1" fmla="cos na1 bA1" />
13016 + <gd name="dya1" fmla="sin na1 bA1" />
13017 + <gd name="xA1" fmla="+- hc dxa1 0" />
13018 + <gd name="yA1" fmla="+- vc dya1 0" />
13021 + <gd name="td11" fmla="cos rw aD1" />
13022 + <gd name="td12" fmla="sin rh aD1" />
13023 + <gd name="bD1" fmla="at2 td11 td12" />
13025 + <gd name="ctd1" fmla="cos rh bD1" />
13026 + <gd name="std1" fmla="sin rw bD1" />
13027 + <gd name="md1" fmla="mod ctd1 std1 0" />
13028 + <gd name="nd1" fmla="*/ rw rh md1" />
13029 + <gd name="dxd1" fmla="cos nd1 bD1" />
13030 + <gd name="dyd1" fmla="sin nd1 bD1" />
13031 + <gd name="xD1" fmla="+- hc dxd1 0" />
13032 + <gd name="yD1" fmla="+- vc dyd1 0" />
13035 + <gd name="xAD1" fmla="+- xA1 0 xD1" />
13036 + <gd name="yAD1" fmla="+- yA1 0 yD1" />
13037 + <gd name="lAD1" fmla="mod xAD1 yAD1 0" />
13038 + <gd name="a1" fmla="at2 yAD1 xAD1" />
13041 + <gd name="dxF1" fmla="sin lFD a1" />
13042 + <gd name="dyF1" fmla="cos lFD a1" />
13043 + <gd name="xF1" fmla="+- xD1 dxF1 0" />
13044 + <gd name="yF1" fmla="+- yD1 dyF1 0" />
13045 + <gd name="xE1" fmla="+- xA1 0 dxF1" />
13046 + <gd name="yE1" fmla="+- yA1 0 dyF1" />
13049 + <gd name="yC1t" fmla="sin th a1" />
13050 + <gd name="xC1t" fmla="cos th a1" />
13051 + <gd name="yC1" fmla="+- yF1 yC1t 0" />
13052 + <gd name="xC1" fmla="+- xF1 0 xC1t" />
13055 + <gd name="yB1" fmla="+- yE1 yC1t 0" />
13056 + <gd name="xB1" fmla="+- xE1 0 xC1t" />
13059 + <gd name="aD6" fmla="+- 3cd4 ha 0" />
13062 + <gd name="td61" fmla="cos rw aD6" />
13063 + <gd name="td62" fmla="sin rh aD6" />
13064 + <gd name="bD6" fmla="at2 td61 td62" />
13066 + <gd name="ctd6" fmla="cos rh bD6" />
13067 + <gd name="std6" fmla="sin rw bD6" />
13068 + <gd name="md6" fmla="mod ctd6 std6 0" />
13069 + <gd name="nd6" fmla="*/ rw rh md6" />
13070 + <gd name="dxd6" fmla="cos nd6 bD6" />
13071 + <gd name="dyd6" fmla="sin nd6 bD6" />
13072 + <gd name="xD6" fmla="+- hc dxd6 0" />
13073 + <gd name="yD6" fmla="+- vc dyd6 0" />
13076 + <gd name="xA6" fmla="+- hc 0 dxd6" />
13079 + <gd name="xF6" fmla="+- xD6 0 lFD" />
13080 + <gd name="xE6" fmla="+- xA6 lFD 0" />
13083 + <gd name="yC6" fmla="+- yD6 0 th" />
13085 + <gd name="swAng1" fmla="+- bA1 0 bD6" />
13088 + <gd name="aA2" fmla="+- 1800000 0 ha" />
13089 + <gd name="aD2" fmla="+- 1800000 ha 0" />
13092 + <gd name="ta21" fmla="cos rw aA2" />
13093 + <gd name="ta22" fmla="sin rh aA2" />
13094 + <gd name="bA2" fmla="at2 ta21 ta22" />
13096 + <gd name="yA2" fmla="+- h 0 yD1" />
13099 + <gd name="td21" fmla="cos rw aD2" />
13100 + <gd name="td22" fmla="sin rh aD2" />
13101 + <gd name="bD2" fmla="at2 td21 td22" />
13103 + <gd name="yD2" fmla="+- h 0 yA1" />
13106 + <gd name="yC2" fmla="+- h 0 yB1" />
13109 + <gd name="yB2" fmla="+- h 0 yC1" />
13110 + <gd name="xB2" fmla="val xC1" />
13112 + <gd name="swAng2" fmla="+- bA2 0 bD1" />
13115 + <gd name="aD3" fmla="+- cd4 ha 0" />
13117 + <gd name="td31" fmla="cos rw aD3" />
13118 + <gd name="td32" fmla="sin rh aD3" />
13119 + <gd name="bD3" fmla="at2 td31 td32" />
13122 + <gd name="yD3" fmla="+- h 0 yD6" />
13125 + <gd name="yB3" fmla="+- h 0 yC6" />
13128 + <gd name="aD4" fmla="+- 9000000 ha 0" />
13130 + <gd name="td41" fmla="cos rw aD4" />
13131 + <gd name="td42" fmla="sin rh aD4" />
13132 + <gd name="bD4" fmla="at2 td41 td42" />
13135 + <gd name="xD4" fmla="+- w 0 xD1" />
13138 + <gd name="xC4" fmla="+- w 0 xC1" />
13141 + <gd name="xB4" fmla="+- w 0 xB1" />
13144 + <gd name="aD5" fmla="+- 12600000 ha 0" />
13146 + <gd name="td51" fmla="cos rw aD5" />
13147 + <gd name="td52" fmla="sin rh aD5" />
13148 + <gd name="bD5" fmla="at2 td51 td52" />
13151 + <gd name="xD5" fmla="+- w 0 xA1" />
13154 + <gd name="xC5" fmla="+- w 0 xB1" />
13157 + <gd name="xB5" fmla="+- w 0 xC1" />
13160 + <gd name="xCxn1" fmla="+/ xB1 xC1 2" />
13161 + <gd name="yCxn1" fmla="+/ yB1 yC1 2" />
13162 + <gd name="yCxn2" fmla="+- b 0 yCxn1" />
13163 + <gd name="xCxn4" fmla="+/ r 0 xCxn1" />
13164 + </gdLst>
13166 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
13167 + <ahXY gdRefY="adj1" minY="0" maxY="20000">
13168 + <pos x="xD6" y="yD6" />
13169 + </ahXY>
13170 + <ahXY gdRefX="adj2" minX="0" maxX="5358">
13171 + <pos x="xA6" y="yD6" />
13172 + </ahXY>
13174 + </ahLst>
13176 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
13177 + <cxn ang="19800000">
13178 + <pos x="xCxn1" y="yCxn1" />
13179 + </cxn>
13181 + <cxn ang="1800000">
13182 + <pos x="xCxn1" y="yCxn2" />
13183 + </cxn>
13185 + <cxn ang="cd4">
13186 + <pos x="hc" y="yB3" />
13187 + </cxn>
13189 + <cxn ang="9000000">
13190 + <pos x="xCxn4" y="yCxn2" />
13191 + </cxn>
13193 + <cxn ang="12600000">
13194 + <pos x="xCxn4" y="yCxn1" />
13195 + </cxn>
13197 + <cxn ang="3cd4">
13198 + <pos x="hc" y="yC6" />
13199 + </cxn>
13201 + </cxnLst>
13203 + <rect l="xD5" t="yA1" r="xA1" b="yD2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
13205 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
13206 + <path>
13207 + <moveTo>
13208 + <pt x="xA1" y="yA1" />
13209 + </moveTo>
13210 + <lnTo>
13211 + <pt x="xB1" y="yB1" />
13212 + </lnTo>
13213 + <lnTo>
13214 + <pt x="xC1" y="yC1" />
13215 + </lnTo>
13216 + <lnTo>
13217 + <pt x="xD1" y="yD1" />
13218 + </lnTo>
13219 + <arcTo hR="rh" wR="rw" stAng="bD1" swAng="swAng2" />
13221 + <lnTo>
13222 + <pt x="xC1" y="yB2" />
13223 + </lnTo>
13224 + <lnTo>
13225 + <pt x="xB1" y="yC2" />
13226 + </lnTo>
13227 + <lnTo>
13228 + <pt x="xA1" y="yD2" />
13229 + </lnTo>
13230 + <arcTo hR="rh" wR="rw" stAng="bD2" swAng="swAng1" />
13232 + <lnTo>
13233 + <pt x="xF6" y="yB3" />
13234 + </lnTo>
13235 + <lnTo>
13236 + <pt x="xE6" y="yB3" />
13237 + </lnTo>
13238 + <lnTo>
13239 + <pt x="xA6" y="yD3" />
13240 + </lnTo>
13241 + <arcTo hR="rh" wR="rw" stAng="bD3" swAng="swAng1" />
13243 + <lnTo>
13244 + <pt x="xB4" y="yC2" />
13245 + </lnTo>
13246 + <lnTo>
13247 + <pt x="xC4" y="yB2" />
13248 + </lnTo>
13249 + <lnTo>
13250 + <pt x="xD4" y="yA2" />
13251 + </lnTo>
13252 + <arcTo hR="rh" wR="rw" stAng="bD4" swAng="swAng2" />
13254 + <lnTo>
13255 + <pt x="xB5" y="yC1" />
13256 + </lnTo>
13257 + <lnTo>
13258 + <pt x="xC5" y="yB1" />
13259 + </lnTo>
13260 + <lnTo>
13261 + <pt x="xD5" y="yA1" />
13262 + </lnTo>
13263 + <arcTo hR="rh" wR="rw" stAng="bD5" swAng="swAng1" />
13265 + <lnTo>
13266 + <pt x="xE6" y="yC6" />
13267 + </lnTo>
13268 + <lnTo>
13269 + <pt x="xF6" y="yC6" />
13270 + </lnTo>
13271 + <lnTo>
13272 + <pt x="xD6" y="yD6" />
13273 + </lnTo>
13274 + <arcTo hR="rh" wR="rw" stAng="bD6" swAng="swAng1" />
13275 + <close />
13276 + </path>
13277 + </pathLst>
13279 + </gear6>
13280 + <gear9>
13282 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
13283 + <gd name="adj1" fmla="val 10000" />
13285 + <gd name="adj2" fmla="val 1763" />
13287 + </avLst>
13289 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
13294 + <gd name="a1" fmla="pin 0 adj1 20000" />
13295 + <gd name="a2" fmla="pin 0 adj2 2679" />
13298 + <gd name="th" fmla="*/ ss a1 100000" />
13299 + <gd name="lFD" fmla="*/ ss a2 100000" />
13301 + <gd name="th2" fmla="*/ th 1 2" />
13302 + <gd name="l2" fmla="*/ lFD 1 2" />
13303 + <gd name="l3" fmla="+- th2 l2 0" />
13306 + <gd name="rh" fmla="+- hd2 0 th" />
13307 + <gd name="rw" fmla="+- wd2 0 th" />
13310 + <gd name="dr" fmla="+- rw 0 rh" />
13311 + <gd name="maxr" fmla="?: dr rh rw" />
13312 + <gd name="ha" fmla="at2 maxr l3" />
13315 + <gd name="aA1" fmla="+- 18600000 0 ha" />
13316 + <gd name="aD1" fmla="+- 18600000 ha 0" />
13319 + <gd name="ta11" fmla="cos rw aA1" />
13320 + <gd name="ta12" fmla="sin rh aA1" />
13321 + <gd name="bA1" fmla="at2 ta11 ta12" />
13323 + <gd name="cta1" fmla="cos rh bA1" />
13324 + <gd name="sta1" fmla="sin rw bA1" />
13325 + <gd name="ma1" fmla="mod cta1 sta1 0" />
13326 + <gd name="na1" fmla="*/ rw rh ma1" />
13327 + <gd name="dxa1" fmla="cos na1 bA1" />
13328 + <gd name="dya1" fmla="sin na1 bA1" />
13329 + <gd name="xA1" fmla="+- hc dxa1 0" />
13330 + <gd name="yA1" fmla="+- vc dya1 0" />
13333 + <gd name="td11" fmla="cos rw aD1" />
13334 + <gd name="td12" fmla="sin rh aD1" />
13335 + <gd name="bD1" fmla="at2 td11 td12" />
13337 + <gd name="ctd1" fmla="cos rh bD1" />
13338 + <gd name="std1" fmla="sin rw bD1" />
13339 + <gd name="md1" fmla="mod ctd1 std1 0" />
13340 + <gd name="nd1" fmla="*/ rw rh md1" />
13341 + <gd name="dxd1" fmla="cos nd1 bD1" />
13342 + <gd name="dyd1" fmla="sin nd1 bD1" />
13343 + <gd name="xD1" fmla="+- hc dxd1 0" />
13344 + <gd name="yD1" fmla="+- vc dyd1 0" />
13347 + <gd name="xAD1" fmla="+- xA1 0 xD1" />
13348 + <gd name="yAD1" fmla="+- yA1 0 yD1" />
13349 + <gd name="lAD1" fmla="mod xAD1 yAD1 0" />
13350 + <gd name="a1" fmla="at2 yAD1 xAD1" />
13353 + <gd name="dxF1" fmla="sin lFD a1" />
13354 + <gd name="dyF1" fmla="cos lFD a1" />
13355 + <gd name="xF1" fmla="+- xD1 dxF1 0" />
13356 + <gd name="yF1" fmla="+- yD1 dyF1 0" />
13357 + <gd name="xE1" fmla="+- xA1 0 dxF1" />
13358 + <gd name="yE1" fmla="+- yA1 0 dyF1" />
13361 + <gd name="yC1t" fmla="sin th a1" />
13362 + <gd name="xC1t" fmla="cos th a1" />
13363 + <gd name="yC1" fmla="+- yF1 yC1t 0" />
13364 + <gd name="xC1" fmla="+- xF1 0 xC1t" />
13367 + <gd name="yB1" fmla="+- yE1 yC1t 0" />
13368 + <gd name="xB1" fmla="+- xE1 0 xC1t" />
13371 + <gd name="aA2" fmla="+- 21000000 0 ha" />
13372 + <gd name="aD2" fmla="+- 21000000 ha 0" />
13375 + <gd name="ta21" fmla="cos rw aA2" />
13376 + <gd name="ta22" fmla="sin rh aA2" />
13377 + <gd name="bA2" fmla="at2 ta21 ta22" />
13379 + <gd name="cta2" fmla="cos rh bA2" />
13380 + <gd name="sta2" fmla="sin rw bA2" />
13381 + <gd name="ma2" fmla="mod cta2 sta2 0" />
13382 + <gd name="na2" fmla="*/ rw rh ma2" />
13383 + <gd name="dxa2" fmla="cos na2 bA2" />
13384 + <gd name="dya2" fmla="sin na2 bA2" />
13385 + <gd name="xA2" fmla="+- hc dxa2 0" />
13386 + <gd name="yA2" fmla="+- vc dya2 0" />
13389 + <gd name="td21" fmla="cos rw aD2" />
13390 + <gd name="td22" fmla="sin rh aD2" />
13391 + <gd name="bD2" fmla="at2 td21 td22" />
13393 + <gd name="ctd2" fmla="cos rh bD2" />
13394 + <gd name="std2" fmla="sin rw bD2" />
13395 + <gd name="md2" fmla="mod ctd2 std2 0" />
13396 + <gd name="nd2" fmla="*/ rw rh md2" />
13397 + <gd name="dxd2" fmla="cos nd2 bD2" />
13398 + <gd name="dyd2" fmla="sin nd2 bD2" />
13399 + <gd name="xD2" fmla="+- hc dxd2 0" />
13400 + <gd name="yD2" fmla="+- vc dyd2 0" />
13403 + <gd name="xAD2" fmla="+- xA2 0 xD2" />
13404 + <gd name="yAD2" fmla="+- yA2 0 yD2" />
13405 + <gd name="lAD2" fmla="mod xAD2 yAD2 0" />
13406 + <gd name="a2" fmla="at2 yAD2 xAD2" />
13409 + <gd name="dxF2" fmla="sin lFD a2" />
13410 + <gd name="dyF2" fmla="cos lFD a2" />
13411 + <gd name="xF2" fmla="+- xD2 dxF2 0" />
13412 + <gd name="yF2" fmla="+- yD2 dyF2 0" />
13413 + <gd name="xE2" fmla="+- xA2 0 dxF2" />
13414 + <gd name="yE2" fmla="+- yA2 0 dyF2" />
13417 + <gd name="yC2t" fmla="sin th a2" />
13418 + <gd name="xC2t" fmla="cos th a2" />
13419 + <gd name="yC2" fmla="+- yF2 yC2t 0" />
13420 + <gd name="xC2" fmla="+- xF2 0 xC2t" />
13423 + <gd name="yB2" fmla="+- yE2 yC2t 0" />
13424 + <gd name="xB2" fmla="+- xE2 0 xC2t" />
13426 + <gd name="swAng1" fmla="+- bA2 0 bD1" />
13429 + <gd name="aA3" fmla="+- 1800000 0 ha" />
13430 + <gd name="aD3" fmla="+- 1800000 ha 0" />
13433 + <gd name="ta31" fmla="cos rw aA3" />
13434 + <gd name="ta32" fmla="sin rh aA3" />
13435 + <gd name="bA3" fmla="at2 ta31 ta32" />
13437 + <gd name="cta3" fmla="cos rh bA3" />
13438 + <gd name="sta3" fmla="sin rw bA3" />
13439 + <gd name="ma3" fmla="mod cta3 sta3 0" />
13440 + <gd name="na3" fmla="*/ rw rh ma3" />
13441 + <gd name="dxa3" fmla="cos na3 bA3" />
13442 + <gd name="dya3" fmla="sin na3 bA3" />
13443 + <gd name="xA3" fmla="+- hc dxa3 0" />
13444 + <gd name="yA3" fmla="+- vc dya3 0" />
13447 + <gd name="td31" fmla="cos rw aD3" />
13448 + <gd name="td32" fmla="sin rh aD3" />
13449 + <gd name="bD3" fmla="at2 td31 td32" />
13451 + <gd name="ctd3" fmla="cos rh bD3" />
13452 + <gd name="std3" fmla="sin rw bD3" />
13453 + <gd name="md3" fmla="mod ctd3 std3 0" />
13454 + <gd name="nd3" fmla="*/ rw rh md3" />
13455 + <gd name="dxd3" fmla="cos nd3 bD3" />
13456 + <gd name="dyd3" fmla="sin nd3 bD3" />
13457 + <gd name="xD3" fmla="+- hc dxd3 0" />
13458 + <gd name="yD3" fmla="+- vc dyd3 0" />
13461 + <gd name="xAD3" fmla="+- xA3 0 xD3" />
13462 + <gd name="yAD3" fmla="+- yA3 0 yD3" />
13463 + <gd name="lAD3" fmla="mod xAD3 yAD3 0" />
13464 + <gd name="a3" fmla="at2 yAD3 xAD3" />
13467 + <gd name="dxF3" fmla="sin lFD a3" />
13468 + <gd name="dyF3" fmla="cos lFD a3" />
13469 + <gd name="xF3" fmla="+- xD3 dxF3 0" />
13470 + <gd name="yF3" fmla="+- yD3 dyF3 0" />
13471 + <gd name="xE3" fmla="+- xA3 0 dxF3" />
13472 + <gd name="yE3" fmla="+- yA3 0 dyF3" />
13475 + <gd name="yC3t" fmla="sin th a3" />
13476 + <gd name="xC3t" fmla="cos th a3" />
13477 + <gd name="yC3" fmla="+- yF3 yC3t 0" />
13478 + <gd name="xC3" fmla="+- xF3 0 xC3t" />
13481 + <gd name="yB3" fmla="+- yE3 yC3t 0" />
13482 + <gd name="xB3" fmla="+- xE3 0 xC3t" />
13484 + <gd name="swAng2" fmla="+- bA3 0 bD2" />
13487 + <gd name="aA4" fmla="+- 4200000 0 ha" />
13488 + <gd name="aD4" fmla="+- 4200000 ha 0" />
13491 + <gd name="ta41" fmla="cos rw aA4" />
13492 + <gd name="ta42" fmla="sin rh aA4" />
13493 + <gd name="bA4" fmla="at2 ta41 ta42" />
13495 + <gd name="cta4" fmla="cos rh bA4" />
13496 + <gd name="sta4" fmla="sin rw bA4" />
13497 + <gd name="ma4" fmla="mod cta4 sta4 0" />
13498 + <gd name="na4" fmla="*/ rw rh ma4" />
13499 + <gd name="dxa4" fmla="cos na4 bA4" />
13500 + <gd name="dya4" fmla="sin na4 bA4" />
13501 + <gd name="xA4" fmla="+- hc dxa4 0" />
13502 + <gd name="yA4" fmla="+- vc dya4 0" />
13505 + <gd name="td41" fmla="cos rw aD4" />
13506 + <gd name="td42" fmla="sin rh aD4" />
13507 + <gd name="bD4" fmla="at2 td41 td42" />
13509 + <gd name="ctd4" fmla="cos rh bD4" />
13510 + <gd name="std4" fmla="sin rw bD4" />
13511 + <gd name="md4" fmla="mod ctd4 std4 0" />
13512 + <gd name="nd4" fmla="*/ rw rh md4" />
13513 + <gd name="dxd4" fmla="cos nd4 bD4" />
13514 + <gd name="dyd4" fmla="sin nd4 bD4" />
13515 + <gd name="xD4" fmla="+- hc dxd4 0" />
13516 + <gd name="yD4" fmla="+- vc dyd4 0" />
13519 + <gd name="xAD4" fmla="+- xA4 0 xD4" />
13520 + <gd name="yAD4" fmla="+- yA4 0 yD4" />
13521 + <gd name="lAD4" fmla="mod xAD4 yAD4 0" />
13522 + <gd name="a4" fmla="at2 yAD4 xAD4" />
13525 + <gd name="dxF4" fmla="sin lFD a4" />
13526 + <gd name="dyF4" fmla="cos lFD a4" />
13527 + <gd name="xF4" fmla="+- xD4 dxF4 0" />
13528 + <gd name="yF4" fmla="+- yD4 dyF4 0" />
13529 + <gd name="xE4" fmla="+- xA4 0 dxF4" />
13530 + <gd name="yE4" fmla="+- yA4 0 dyF4" />
13533 + <gd name="yC4t" fmla="sin th a4" />
13534 + <gd name="xC4t" fmla="cos th a4" />
13535 + <gd name="yC4" fmla="+- yF4 yC4t 0" />
13536 + <gd name="xC4" fmla="+- xF4 0 xC4t" />
13539 + <gd name="yB4" fmla="+- yE4 yC4t 0" />
13540 + <gd name="xB4" fmla="+- xE4 0 xC4t" />
13542 + <gd name="swAng3" fmla="+- bA4 0 bD3" />
13545 + <gd name="aA5" fmla="+- 6600000 0 ha" />
13546 + <gd name="aD5" fmla="+- 6600000 ha 0" />
13548 + <gd name="ta51" fmla="cos rw aA5" />
13549 + <gd name="ta52" fmla="sin rh aA5" />
13550 + <gd name="bA5" fmla="at2 ta51 ta52" />
13552 + <gd name="td51" fmla="cos rw aD5" />
13553 + <gd name="td52" fmla="sin rh aD5" />
13554 + <gd name="bD5" fmla="at2 td51 td52" />
13557 + <gd name="xD5" fmla="+- w 0 xA4" />
13560 + <gd name="xC5" fmla="+- w 0 xB4" />
13563 + <gd name="xB5" fmla="+- w 0 xC4" />
13565 + <gd name="swAng4" fmla="+- bA5 0 bD4" />
13568 + <gd name="aD6" fmla="+- 9000000 ha 0" />
13570 + <gd name="td61" fmla="cos rw aD6" />
13571 + <gd name="td62" fmla="sin rh aD6" />
13572 + <gd name="bD6" fmla="at2 td61 td62" />
13575 + <gd name="xD6" fmla="+- w 0 xA3" />
13578 + <gd name="xC6" fmla="+- w 0 xB3" />
13581 + <gd name="xB6" fmla="+- w 0 xC3" />
13584 + <gd name="aD7" fmla="+- 11400000 ha 0" />
13586 + <gd name="td71" fmla="cos rw aD7" />
13587 + <gd name="td72" fmla="sin rh aD7" />
13588 + <gd name="bD7" fmla="at2 td71 td72" />
13591 + <gd name="xD7" fmla="+- w 0 xA2" />
13594 + <gd name="xC7" fmla="+- w 0 xB2" />
13597 + <gd name="xB7" fmla="+- w 0 xC2" />
13600 + <gd name="aD8" fmla="+- 13800000 ha 0" />
13602 + <gd name="td81" fmla="cos rw aD8" />
13603 + <gd name="td82" fmla="sin rh aD8" />
13604 + <gd name="bD8" fmla="at2 td81 td82" />
13607 + <gd name="xA8" fmla="+- w 0 xD1" />
13609 + <gd name="xD8" fmla="+- w 0 xA1" />
13612 + <gd name="xC8" fmla="+- w 0 xB1" />
13615 + <gd name="xB8" fmla="+- w 0 xC1" />
13618 + <gd name="aA9" fmla="+- 3cd4 0 ha" />
13619 + <gd name="aD9" fmla="+- 3cd4 ha 0" />
13622 + <gd name="td91" fmla="cos rw aD9" />
13623 + <gd name="td92" fmla="sin rh aD9" />
13624 + <gd name="bD9" fmla="at2 td91 td92" />
13626 + <gd name="ctd9" fmla="cos rh bD9" />
13627 + <gd name="std9" fmla="sin rw bD9" />
13628 + <gd name="md9" fmla="mod ctd9 std9 0" />
13629 + <gd name="nd9" fmla="*/ rw rh md9" />
13630 + <gd name="dxd9" fmla="cos nd9 bD9" />
13631 + <gd name="dyd9" fmla="sin nd9 bD9" />
13632 + <gd name="xD9" fmla="+- hc dxd9 0" />
13633 + <gd name="yD9" fmla="+- vc dyd9 0" />
13636 + <gd name="ta91" fmla="cos rw aA9" />
13637 + <gd name="ta92" fmla="sin rh aA9" />
13638 + <gd name="bA9" fmla="at2 ta91 ta92" />
13640 + <gd name="xA9" fmla="+- hc 0 dxd9" />
13643 + <gd name="xF9" fmla="+- xD9 0 lFD" />
13644 + <gd name="xE9" fmla="+- xA9 lFD 0" />
13647 + <gd name="yC9" fmla="+- yD9 0 th" />
13649 + <gd name="swAng5" fmla="+- bA9 0 bD8" />
13652 + <gd name="xCxn1" fmla="+/ xB1 xC1 2" />
13653 + <gd name="yCxn1" fmla="+/ yB1 yC1 2" />
13654 + <gd name="xCxn2" fmla="+/ xB2 xC2 2" />
13655 + <gd name="yCxn2" fmla="+/ yB2 yC2 2" />
13656 + <gd name="xCxn3" fmla="+/ xB3 xC3 2" />
13657 + <gd name="yCxn3" fmla="+/ yB3 yC3 2" />
13658 + <gd name="xCxn4" fmla="+/ xB4 xC4 2" />
13659 + <gd name="yCxn4" fmla="+/ yB4 yC4 2" />
13660 + <gd name="xCxn5" fmla="+/ r 0 xCxn4" />
13661 + <gd name="xCxn6" fmla="+/ r 0 xCxn3" />
13662 + <gd name="xCxn7" fmla="+/ r 0 xCxn2" />
13663 + <gd name="xCxn8" fmla="+/ r 0 xCxn1" />
13664 + </gdLst>
13666 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
13667 + <ahXY gdRefY="adj1" minY="0" maxY="20000">
13668 + <pos x="xD9" y="yD9" />
13669 + </ahXY>
13670 + <ahXY gdRefX="adj2" minX="0" maxX="2679">
13671 + <pos x="xA9" y="yD9" />
13672 + </ahXY>
13674 + </ahLst>
13676 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
13677 + <cxn ang="18600000">
13678 + <pos x="xCxn1" y="yCxn1" />
13679 + </cxn>
13681 + <cxn ang="21000000">
13682 + <pos x="xCxn2" y="yCxn2" />
13683 + </cxn>
13685 + <cxn ang="1800000">
13686 + <pos x="xCxn3" y="yCxn3" />
13687 + </cxn>
13689 + <cxn ang="4200000">
13690 + <pos x="xCxn4" y="yCxn4" />
13691 + </cxn>
13693 + <cxn ang="6600000">
13694 + <pos x="xCxn5" y="yCxn4" />
13695 + </cxn>
13697 + <cxn ang="9000000">
13698 + <pos x="xCxn6" y="yCxn3" />
13699 + </cxn>
13701 + <cxn ang="11400000">
13702 + <pos x="xCxn7" y="yCxn2" />
13703 + </cxn>
13705 + <cxn ang="13800000">
13706 + <pos x="xCxn8" y="yCxn1" />
13707 + </cxn>
13709 + <cxn ang="3cd4">
13710 + <pos x="hc" y="yC9" />
13711 + </cxn>
13713 + </cxnLst>
13715 + <rect l="xA8" t="yD1" r="xD1" b="yD3" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
13717 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
13718 + <path>
13719 + <moveTo>
13720 + <pt x="xA1" y="yA1" />
13721 + </moveTo>
13722 + <lnTo>
13723 + <pt x="xB1" y="yB1" />
13724 + </lnTo>
13725 + <lnTo>
13726 + <pt x="xC1" y="yC1" />
13727 + </lnTo>
13728 + <lnTo>
13729 + <pt x="xD1" y="yD1" />
13730 + </lnTo>
13731 + <arcTo hR="rh" wR="rw" stAng="bD1" swAng="swAng1" />
13733 + <lnTo>
13734 + <pt x="xB2" y="yB2" />
13735 + </lnTo>
13736 + <lnTo>
13737 + <pt x="xC2" y="yC2" />
13738 + </lnTo>
13739 + <lnTo>
13740 + <pt x="xD2" y="yD2" />
13741 + </lnTo>
13742 + <arcTo hR="rh" wR="rw" stAng="bD2" swAng="swAng2" />
13744 + <lnTo>
13745 + <pt x="xB3" y="yB3" />
13746 + </lnTo>
13747 + <lnTo>
13748 + <pt x="xC3" y="yC3" />
13749 + </lnTo>
13750 + <lnTo>
13751 + <pt x="xD3" y="yD3" />
13752 + </lnTo>
13753 + <arcTo hR="rh" wR="rw" stAng="bD3" swAng="swAng3" />
13755 + <lnTo>
13756 + <pt x="xB4" y="yB4" />
13757 + </lnTo>
13758 + <lnTo>
13759 + <pt x="xC4" y="yC4" />
13760 + </lnTo>
13761 + <lnTo>
13762 + <pt x="xD4" y="yD4" />
13763 + </lnTo>
13764 + <arcTo hR="rh" wR="rw" stAng="bD4" swAng="swAng4" />
13766 + <lnTo>
13767 + <pt x="xB5" y="yC4" />
13768 + </lnTo>
13769 + <lnTo>
13770 + <pt x="xC5" y="yB4" />
13771 + </lnTo>
13772 + <lnTo>
13773 + <pt x="xD5" y="yA4" />
13774 + </lnTo>
13775 + <arcTo hR="rh" wR="rw" stAng="bD5" swAng="swAng3" />
13777 + <lnTo>
13778 + <pt x="xB6" y="yC3" />
13779 + </lnTo>
13780 + <lnTo>
13781 + <pt x="xC6" y="yB3" />
13782 + </lnTo>
13783 + <lnTo>
13784 + <pt x="xD6" y="yA3" />
13785 + </lnTo>
13786 + <arcTo hR="rh" wR="rw" stAng="bD6" swAng="swAng2" />
13788 + <lnTo>
13789 + <pt x="xB7" y="yC2" />
13790 + </lnTo>
13791 + <lnTo>
13792 + <pt x="xC7" y="yB2" />
13793 + </lnTo>
13794 + <lnTo>
13795 + <pt x="xD7" y="yA2" />
13796 + </lnTo>
13797 + <arcTo hR="rh" wR="rw" stAng="bD7" swAng="swAng1" />
13799 + <lnTo>
13800 + <pt x="xB8" y="yC1" />
13801 + </lnTo>
13802 + <lnTo>
13803 + <pt x="xC8" y="yB1" />
13804 + </lnTo>
13805 + <lnTo>
13806 + <pt x="xD8" y="yA1" />
13807 + </lnTo>
13808 + <arcTo hR="rh" wR="rw" stAng="bD8" swAng="swAng5" />
13810 + <lnTo>
13811 + <pt x="xE9" y="yC9" />
13812 + </lnTo>
13813 + <lnTo>
13814 + <pt x="xF9" y="yC9" />
13815 + </lnTo>
13816 + <lnTo>
13817 + <pt x="xD9" y="yD9" />
13818 + </lnTo>
13819 + <arcTo hR="rh" wR="rw" stAng="bD9" swAng="swAng5" />
13820 + <close />
13821 + </path>
13822 + </pathLst>
13824 + </gear9>
13825 + <halfFrame>
13827 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
13828 + <gd name="adj1" fmla="val 33333" />
13830 + <gd name="adj2" fmla="val 33333" />
13832 + </avLst>
13834 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
13835 + <gd name="maxAdj2" fmla="*/ 100000 w ss" />
13836 + <gd name="a2" fmla="pin 0 adj2 maxAdj2" />
13837 + <gd name="x1" fmla="*/ ss a2 100000" />
13838 + <gd name="g1" fmla="*/ h x1 w" />
13839 + <gd name="g2" fmla="+- h 0 g1" />
13840 + <gd name="maxAdj1" fmla="*/ 100000 g2 ss" />
13841 + <gd name="a1" fmla="pin 0 adj1 maxAdj1" />
13842 + <gd name="y1" fmla="*/ ss a1 100000" />
13843 + <gd name="dx2" fmla="*/ y1 w h" />
13844 + <gd name="x2" fmla="+- r 0 dx2" />
13845 + <gd name="dy2" fmla="*/ x1 h w" />
13846 + <gd name="y2" fmla="+- b 0 dy2" />
13847 + <gd name="cx1" fmla="*/ x1 1 2" />
13848 + <gd name="cy1" fmla="+/ y2 b 2" />
13849 + <gd name="cx2" fmla="+/ x2 r 2" />
13850 + <gd name="cy2" fmla="*/ y1 1 2" />
13851 + </gdLst>
13853 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
13854 + <ahXY gdRefY="adj1" minY="0" maxY="maxAdj1">
13855 + <pos x="l" y="y1" />
13856 + </ahXY>
13857 + <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">
13858 + <pos x="x1" y="t" />
13859 + </ahXY>
13860 + </ahLst>
13862 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
13863 + <cxn ang="0">
13864 + <pos x="cx2" y="cy2" />
13865 + </cxn>
13866 + <cxn ang="cd4">
13867 + <pos x="cx1" y="cy1" />
13868 + </cxn>
13869 + <cxn ang="cd2">
13870 + <pos x="l" y="vc" />
13871 + </cxn>
13872 + <cxn ang="3cd4">
13873 + <pos x="hc" y="t" />
13874 + </cxn>
13875 + </cxnLst>
13877 + <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
13879 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
13880 + <path>
13881 + <moveTo>
13882 + <pt x="l" y="t" />
13883 + </moveTo>
13884 + <lnTo>
13885 + <pt x="r" y="t" />
13886 + </lnTo>
13887 + <lnTo>
13888 + <pt x="x2" y="y1" />
13889 + </lnTo>
13890 + <lnTo>
13891 + <pt x="x1" y="y1" />
13892 + </lnTo>
13893 + <lnTo>
13894 + <pt x="x1" y="y2" />
13895 + </lnTo>
13896 + <lnTo>
13897 + <pt x="l" y="b" />
13898 + </lnTo>
13899 + <close />
13900 + </path>
13901 + </pathLst>
13903 + </halfFrame>
13904 + <heart>
13906 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
13907 + <gd name="dx1" fmla="*/ w 49 48" />
13908 + <gd name="dx2" fmla="*/ w 10 48" />
13909 + <gd name="x1" fmla="+- hc 0 dx1" />
13910 + <gd name="x2" fmla="+- hc 0 dx2" />
13911 + <gd name="x3" fmla="+- hc dx2 0" />
13912 + <gd name="x4" fmla="+- hc dx1 0" />
13913 + <gd name="y1" fmla="+- t 0 hd3" />
13916 + <gd name="il" fmla="*/ w 1 6" />
13917 + <gd name="ir" fmla="*/ w 5 6" />
13918 + <gd name="ib" fmla="*/ h 2 3" />
13919 + </gdLst>
13921 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
13922 + <cxn ang="3cd4">
13923 + <pos x="hc" y="hd4" />
13924 + </cxn>
13925 + <cxn ang="cd4">
13926 + <pos x="hc" y="b" />
13927 + </cxn>
13928 + </cxnLst>
13930 + <rect l="il" t="hd4" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
13932 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
13933 + <path>
13934 + <moveTo>
13935 + <pt x="hc" y="hd4" />
13936 + </moveTo>
13937 + <cubicBezTo>
13938 + <pt x="x3" y="y1" />
13939 + <pt x="x4" y="hd4" />
13940 + <pt x="hc" y="b" />
13941 + </cubicBezTo>
13942 + <cubicBezTo>
13943 + <pt x="x1" y="hd4" />
13944 + <pt x="x2" y="y1" />
13945 + <pt x="hc" y="hd4" />
13946 + </cubicBezTo>
13947 + <close />
13948 + </path>
13949 + </pathLst>
13951 + </heart>
13952 + <heptagon>
13954 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
13955 + <gd name="hf" fmla="val 102572" />
13956 + <gd name="vf" fmla="val 105210" />
13957 + </avLst>
13959 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
13960 + <gd name="swd2" fmla="*/ wd2 hf 100000" />
13961 + <gd name="shd2" fmla="*/ hd2 vf 100000" />
13962 + <gd name="svc" fmla="*/ vc vf 100000" />
13963 + <gd name="dx1" fmla="*/ swd2 97493 100000" />
13964 + <gd name="dx2" fmla="*/ swd2 78183 100000" />
13965 + <gd name="dx3" fmla="*/ swd2 43388 100000" />
13966 + <gd name="dy1" fmla="*/ shd2 62349 100000" />
13967 + <gd name="dy2" fmla="*/ shd2 22252 100000" />
13968 + <gd name="dy3" fmla="*/ shd2 90097 100000" />
13969 + <gd name="x1" fmla="+- hc 0 dx1" />
13970 + <gd name="x2" fmla="+- hc 0 dx2" />
13971 + <gd name="x3" fmla="+- hc 0 dx3" />
13972 + <gd name="x4" fmla="+- hc dx3 0" />
13973 + <gd name="x5" fmla="+- hc dx2 0" />
13974 + <gd name="x6" fmla="+- hc dx1 0" />
13975 + <gd name="y1" fmla="+- svc 0 dy1" />
13976 + <gd name="y2" fmla="+- svc dy2 0" />
13977 + <gd name="y3" fmla="+- svc dy3 0" />
13978 + <gd name="ib" fmla="+- b 0 y1" />
13979 + </gdLst>
13981 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
13982 + <cxn ang="0">
13983 + <pos x="x5" y="y1" />
13984 + </cxn>
13985 + <cxn ang="0">
13986 + <pos x="x6" y="y2" />
13987 + </cxn>
13988 + <cxn ang="cd4">
13989 + <pos x="x4" y="y3" />
13990 + </cxn>
13991 + <cxn ang="cd4">
13992 + <pos x="x3" y="y3" />
13993 + </cxn>
13994 + <cxn ang="cd2">
13995 + <pos x="x1" y="y2" />
13996 + </cxn>
13997 + <cxn ang="cd2">
13998 + <pos x="x2" y="y1" />
13999 + </cxn>
14000 + <cxn ang="3cd4">
14001 + <pos x="hc" y="t" />
14002 + </cxn>
14003 + </cxnLst>
14005 + <rect l="x2" t="y1" r="x5" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
14007 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
14008 + <path>
14009 + <moveTo>
14010 + <pt x="x1" y="y2" />
14011 + </moveTo>
14012 + <lnTo>
14013 + <pt x="x2" y="y1" />
14014 + </lnTo>
14015 + <lnTo>
14016 + <pt x="hc" y="t" />
14017 + </lnTo>
14018 + <lnTo>
14019 + <pt x="x5" y="y1" />
14020 + </lnTo>
14021 + <lnTo>
14022 + <pt x="x6" y="y2" />
14023 + </lnTo>
14024 + <lnTo>
14025 + <pt x="x4" y="y3" />
14026 + </lnTo>
14027 + <lnTo>
14028 + <pt x="x3" y="y3" />
14029 + </lnTo>
14030 + <close />
14031 + </path>
14032 + </pathLst>
14034 + </heptagon>
14035 + <hexagon>
14036 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
14037 + <gd name="adj" fmla="val 25000" />
14038 + <gd name="vf" fmla="val 115470" />
14039 + </avLst>
14040 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
14041 + <gd name="maxAdj" fmla="*/ 50000 w ss" />
14042 + <gd name="a" fmla="pin 0 adj maxAdj" />
14043 + <gd name="shd2" fmla="*/ hd2 vf 100000" />
14044 + <gd name="x1" fmla="*/ ss a 100000" />
14045 + <gd name="x2" fmla="+- r 0 x1" />
14046 + <gd name="dy1" fmla="sin shd2 3600000" />
14047 + <gd name="y1" fmla="+- vc 0 dy1" />
14048 + <gd name="y2" fmla="+- vc dy1 0" />
14049 + <gd name="q1" fmla="*/ maxAdj -1 2" />
14050 + <gd name="q2" fmla="+- a q1 0" />
14051 + <gd name="q3" fmla="?: q2 4 2" />
14052 + <gd name="q4" fmla="?: q2 3 2" />
14053 + <gd name="q5" fmla="?: q2 q1 0" />
14054 + <gd name="q6" fmla="+/ a q5 q1" />
14055 + <gd name="q7" fmla="*/ q6 q4 -1" />
14056 + <gd name="q8" fmla="+- q3 q7 0" />
14057 + <gd name="il" fmla="*/ w q8 24" />
14058 + <gd name="it" fmla="*/ h q8 24" />
14059 + <gd name="ir" fmla="+- r 0 il" />
14060 + <gd name="ib" fmla="+- b 0 it" />
14061 + </gdLst>
14062 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
14063 + <ahXY gdRefX="adj" minX="0" maxX="maxAdj">
14064 + <pos x="x1" y="t" />
14065 + </ahXY>
14066 + </ahLst>
14067 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
14068 + <cxn ang="0">
14069 + <pos x="r" y="vc" />
14070 + </cxn>
14071 + <cxn ang="cd4">
14072 + <pos x="x2" y="y2" />
14073 + </cxn>
14074 + <cxn ang="cd4">
14075 + <pos x="x1" y="y2" />
14076 + </cxn>
14077 + <cxn ang="cd2">
14078 + <pos x="l" y="vc" />
14079 + </cxn>
14080 + <cxn ang="3cd4">
14081 + <pos x="x1" y="y1" />
14082 + </cxn>
14083 + <cxn ang="3cd4">
14084 + <pos x="x2" y="y1" />
14085 + </cxn>
14086 + </cxnLst>
14087 + <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
14088 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
14089 + <path>
14090 + <moveTo>
14091 + <pt x="l" y="vc" />
14092 + </moveTo>
14093 + <lnTo>
14094 + <pt x="x1" y="y1" />
14095 + </lnTo>
14096 + <lnTo>
14097 + <pt x="x2" y="y1" />
14098 + </lnTo>
14099 + <lnTo>
14100 + <pt x="r" y="vc" />
14101 + </lnTo>
14102 + <lnTo>
14103 + <pt x="x2" y="y2" />
14104 + </lnTo>
14105 + <lnTo>
14106 + <pt x="x1" y="y2" />
14107 + </lnTo>
14108 + <close />
14109 + </path>
14110 + </pathLst>
14111 + </hexagon>
14112 + <homePlate>
14113 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
14114 + <gd name="adj" fmla="val 50000" />
14115 + </avLst>
14116 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
14117 + <gd name="maxAdj" fmla="*/ 100000 w ss" />
14118 + <gd name="a" fmla="pin 0 adj maxAdj" />
14119 + <gd name="dx1" fmla="*/ ss a 100000" />
14120 + <gd name="x1" fmla="+- r 0 dx1" />
14121 + <gd name="ir" fmla="+/ x1 r 2" />
14122 + <gd name="x2" fmla="*/ x1 1 2" />
14123 + </gdLst>
14124 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
14125 + <ahXY gdRefX="adj" minX="0" maxX="maxAdj">
14126 + <pos x="x1" y="t" />
14127 + </ahXY>
14128 + </ahLst>
14129 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
14130 + <cxn ang="3cd4">
14131 + <pos x="x2" y="t" />
14132 + </cxn>
14133 + <cxn ang="cd2">
14134 + <pos x="l" y="vc" />
14135 + </cxn>
14136 + <cxn ang="cd4">
14137 + <pos x="x1" y="b" />
14138 + </cxn>
14139 + <cxn ang="0">
14140 + <pos x="r" y="vc" />
14141 + </cxn>
14142 + </cxnLst>
14143 + <rect l="l" t="t" r="ir" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
14144 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
14145 + <path>
14146 + <moveTo>
14147 + <pt x="l" y="t" />
14148 + </moveTo>
14149 + <lnTo>
14150 + <pt x="x1" y="t" />
14151 + </lnTo>
14152 + <lnTo>
14153 + <pt x="r" y="vc" />
14154 + </lnTo>
14155 + <lnTo>
14156 + <pt x="x1" y="b" />
14157 + </lnTo>
14158 + <lnTo>
14159 + <pt x="l" y="b" />
14160 + </lnTo>
14161 + <close />
14162 + </path>
14163 + </pathLst>
14164 + </homePlate>
14165 + <horizontalScroll>
14167 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
14168 + <gd name="adj" fmla="val 12500" />
14170 + </avLst>
14172 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
14173 + <gd name="a" fmla="pin 0 adj 25000" />
14174 + <gd name="ch" fmla="*/ ss a 100000" />
14176 + <gd name="ch2" fmla="*/ ch 1 2" />
14178 + <gd name="ch4" fmla="*/ ch 1 4" />
14184 + <gd name="y3" fmla="+- ch ch2 0" />
14186 + <gd name="y4" fmla="+- ch ch 0" />
14188 + <gd name="y6" fmla="+- b 0 ch" />
14190 + <gd name="y7" fmla="+- b 0 ch2" />
14192 + <gd name="y5" fmla="+- y6 0 ch2" />
14198 + <gd name="x3" fmla="+- r 0 ch" />
14200 + <gd name="x4" fmla="+- r 0 ch2" />
14202 + </gdLst>
14204 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
14205 + <ahXY gdRefX="adj" minX="0" maxX="25000">
14206 + <pos x="ch" y="t" />
14207 + </ahXY>
14208 + </ahLst>
14210 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
14211 + <cxn ang="cd4">
14212 + <pos x="hc" y="ch" />
14213 + </cxn>
14214 + <cxn ang="cd2">
14215 + <pos x="l" y="vc" />
14216 + </cxn>
14217 + <cxn ang="3cd4">
14218 + <pos x="hc" y="y6" />
14219 + </cxn>
14220 + <cxn ang="0">
14221 + <pos x="r" y="vc" />
14222 + </cxn>
14223 + </cxnLst>
14225 + <rect l="ch" t="ch" r="x4" b="y6" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
14227 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
14228 + <path stroke="false" extrusionOk="false">
14230 + <moveTo>
14231 + <pt x="r" y="ch2" />
14232 + </moveTo>
14233 + <arcTo wR="ch2" hR="ch2" stAng="0" swAng="cd4" />
14234 + <lnTo>
14235 + <pt x="x4" y="ch2" />
14236 + </lnTo>
14237 + <arcTo wR="ch4" hR="ch4" stAng="0" swAng="cd2" />
14238 + <lnTo>
14239 + <pt x="x3" y="ch" />
14240 + </lnTo>
14241 + <lnTo>
14242 + <pt x="ch2" y="ch" />
14243 + </lnTo>
14244 + <arcTo wR="ch2" hR="ch2" stAng="3cd4" swAng="-5400000" />
14245 + <lnTo>
14246 + <pt x="l" y="y7" />
14247 + </lnTo>
14248 + <arcTo wR="ch2" hR="ch2" stAng="cd2" swAng="-10800000" />
14249 + <lnTo>
14250 + <pt x="ch" y="y6" />
14251 + </lnTo>
14252 + <lnTo>
14253 + <pt x="x4" y="y6" />
14254 + </lnTo>
14255 + <arcTo wR="ch2" hR="ch2" stAng="cd4" swAng="-5400000" />
14256 + <close />
14257 + <moveTo>
14258 + <pt x="ch2" y="y4" />
14259 + </moveTo>
14260 + <arcTo wR="ch2" hR="ch2" stAng="cd4" swAng="-5400000" />
14261 + <arcTo wR="ch4" hR="ch4" stAng="0" swAng="-10800000" />
14262 + <close />
14263 + </path>
14264 + <path fill="darkenLess" stroke="false" extrusionOk="false">
14266 + <moveTo>
14267 + <pt x="ch2" y="y4" />
14268 + </moveTo>
14269 + <arcTo wR="ch2" hR="ch2" stAng="cd4" swAng="-5400000" />
14270 + <arcTo wR="ch4" hR="ch4" stAng="0" swAng="-10800000" />
14271 + <close />
14272 + <moveTo>
14273 + <pt x="x4" y="ch" />
14274 + </moveTo>
14275 + <arcTo wR="ch2" hR="ch2" stAng="cd4" swAng="-16200000" />
14276 + <arcTo wR="ch4" hR="ch4" stAng="cd2" swAng="-10800000" />
14277 + <close />
14278 + </path>
14279 + <path fill="none" extrusionOk="false">
14281 + <moveTo>
14282 + <pt x="l" y="y3" />
14283 + </moveTo>
14284 + <arcTo wR="ch2" hR="ch2" stAng="cd2" swAng="cd4" />
14285 + <lnTo>
14286 + <pt x="x3" y="ch" />
14287 + </lnTo>
14288 + <lnTo>
14289 + <pt x="x3" y="ch2" />
14290 + </lnTo>
14291 + <arcTo wR="ch2" hR="ch2" stAng="cd2" swAng="cd2" />
14292 + <lnTo>
14293 + <pt x="r" y="y5" />
14294 + </lnTo>
14295 + <arcTo wR="ch2" hR="ch2" stAng="0" swAng="cd4" />
14296 + <lnTo>
14297 + <pt x="ch" y="y6" />
14298 + </lnTo>
14299 + <lnTo>
14300 + <pt x="ch" y="y7" />
14301 + </lnTo>
14302 + <arcTo wR="ch2" hR="ch2" stAng="0" swAng="cd2" />
14303 + <close />
14304 + <moveTo>
14305 + <pt x="x3" y="ch" />
14306 + </moveTo>
14307 + <lnTo>
14308 + <pt x="x4" y="ch" />
14309 + </lnTo>
14310 + <arcTo wR="ch2" hR="ch2" stAng="cd4" swAng="-5400000" />
14311 + <moveTo>
14312 + <pt x="x4" y="ch" />
14313 + </moveTo>
14314 + <lnTo>
14315 + <pt x="x4" y="ch2" />
14316 + </lnTo>
14317 + <arcTo wR="ch4" hR="ch4" stAng="0" swAng="cd2" />
14318 + <moveTo>
14319 + <pt x="ch2" y="y4" />
14320 + </moveTo>
14321 + <lnTo>
14322 + <pt x="ch2" y="y3" />
14323 + </lnTo>
14324 + <arcTo wR="ch4" hR="ch4" stAng="cd2" swAng="cd2" />
14325 + <arcTo wR="ch2" hR="ch2" stAng="0" swAng="cd2" />
14326 + <moveTo>
14327 + <pt x="ch" y="y3" />
14328 + </moveTo>
14329 + <lnTo>
14330 + <pt x="ch" y="y6" />
14331 + </lnTo>
14332 + </path>
14333 + </pathLst>
14335 + </horizontalScroll>
14336 + <irregularSeal1>
14338 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
14339 + <gd name="x5" fmla="*/ w 4627 21600" />
14340 + <gd name="x12" fmla="*/ w 8485 21600" />
14341 + <gd name="x21" fmla="*/ w 16702 21600" />
14342 + <gd name="x24" fmla="*/ w 14522 21600" />
14343 + <gd name="y3" fmla="*/ h 6320 21600" />
14344 + <gd name="y6" fmla="*/ h 8615 21600" />
14345 + <gd name="y9" fmla="*/ h 13937 21600" />
14346 + <gd name="y18" fmla="*/ h 13290 21600" />
14347 + </gdLst>
14349 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
14350 + <cxn ang="3cd4">
14351 + <pos x="x24" y="t" />
14352 + </cxn>
14353 + <cxn ang="cd2">
14354 + <pos x="l" y="y6" />
14355 + </cxn>
14356 + <cxn ang="cd4">
14357 + <pos x="x12" y="b" />
14358 + </cxn>
14359 + <cxn ang="0">
14360 + <pos x="r" y="y18" />
14361 + </cxn>
14362 + </cxnLst>
14364 + <rect l="x5" t="y3" r="x21" b="y9" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
14366 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
14367 + <path w="21600" h="21600">
14368 + <moveTo>
14369 + <pt x="10800" y="5800" />
14370 + </moveTo>
14371 + <lnTo>
14372 + <pt x="14522" y="0" />
14373 + </lnTo>
14374 + <lnTo>
14375 + <pt x="14155" y="5325" />
14376 + </lnTo>
14377 + <lnTo>
14378 + <pt x="18380" y="4457" />
14379 + </lnTo>
14380 + <lnTo>
14381 + <pt x="16702" y="7315" />
14382 + </lnTo>
14383 + <lnTo>
14384 + <pt x="21097" y="8137" />
14385 + </lnTo>
14386 + <lnTo>
14387 + <pt x="17607" y="10475" />
14388 + </lnTo>
14389 + <lnTo>
14390 + <pt x="21600" y="13290" />
14391 + </lnTo>
14392 + <lnTo>
14393 + <pt x="16837" y="12942" />
14394 + </lnTo>
14395 + <lnTo>
14396 + <pt x="18145" y="18095" />
14397 + </lnTo>
14398 + <lnTo>
14399 + <pt x="14020" y="14457" />
14400 + </lnTo>
14401 + <lnTo>
14402 + <pt x="13247" y="19737" />
14403 + </lnTo>
14404 + <lnTo>
14405 + <pt x="10532" y="14935" />
14406 + </lnTo>
14407 + <lnTo>
14408 + <pt x="8485" y="21600" />
14409 + </lnTo>
14410 + <lnTo>
14411 + <pt x="7715" y="15627" />
14412 + </lnTo>
14413 + <lnTo>
14414 + <pt x="4762" y="17617" />
14415 + </lnTo>
14416 + <lnTo>
14417 + <pt x="5667" y="13937" />
14418 + </lnTo>
14419 + <lnTo>
14420 + <pt x="135" y="14587" />
14421 + </lnTo>
14422 + <lnTo>
14423 + <pt x="3722" y="11775" />
14424 + </lnTo>
14425 + <lnTo>
14426 + <pt x="0" y="8615" />
14427 + </lnTo>
14428 + <lnTo>
14429 + <pt x="4627" y="7617" />
14430 + </lnTo>
14431 + <lnTo>
14432 + <pt x="370" y="2295" />
14433 + </lnTo>
14434 + <lnTo>
14435 + <pt x="7312" y="6320" />
14436 + </lnTo>
14437 + <lnTo>
14438 + <pt x="8352" y="2295" />
14439 + </lnTo>
14440 + <close />
14441 + </path>
14442 + </pathLst>
14444 + </irregularSeal1>
14445 + <irregularSeal2>
14447 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
14448 + <gd name="x2" fmla="*/ w 9722 21600" />
14449 + <gd name="x5" fmla="*/ w 5372 21600" />
14450 + <gd name="x16" fmla="*/ w 11612 21600" />
14451 + <gd name="x19" fmla="*/ w 14640 21600" />
14452 + <gd name="y2" fmla="*/ h 1887 21600" />
14453 + <gd name="y3" fmla="*/ h 6382 21600" />
14454 + <gd name="y8" fmla="*/ h 12877 21600" />
14455 + <gd name="y14" fmla="*/ h 19712 21600" />
14456 + <gd name="y16" fmla="*/ h 18842 21600" />
14457 + <gd name="y17" fmla="*/ h 15935 21600" />
14458 + <gd name="y24" fmla="*/ h 6645 21600" />
14459 + </gdLst>
14461 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
14462 + <cxn ang="3cd4">
14463 + <pos x="x2" y="y2" />
14464 + </cxn>
14465 + <cxn ang="cd2">
14466 + <pos x="l" y="y8" />
14467 + </cxn>
14468 + <cxn ang="cd4">
14469 + <pos x="x16" y="y16" />
14470 + </cxn>
14471 + <cxn ang="0">
14472 + <pos x="r" y="y24" />
14473 + </cxn>
14474 + </cxnLst>
14476 + <rect l="x5" t="y3" r="x19" b="y17" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
14478 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
14479 + <path w="21600" h="21600">
14480 + <moveTo>
14481 + <pt x="11462" y="4342" />
14482 + </moveTo>
14483 + <lnTo>
14484 + <pt x="14790" y="0" />
14485 + </lnTo>
14486 + <lnTo>
14487 + <pt x="14525" y="5777" />
14488 + </lnTo>
14489 + <lnTo>
14490 + <pt x="18007" y="3172" />
14491 + </lnTo>
14492 + <lnTo>
14493 + <pt x="16380" y="6532" />
14494 + </lnTo>
14495 + <lnTo>
14496 + <pt x="21600" y="6645" />
14497 + </lnTo>
14498 + <lnTo>
14499 + <pt x="16985" y="9402" />
14500 + </lnTo>
14501 + <lnTo>
14502 + <pt x="18270" y="11290" />
14503 + </lnTo>
14504 + <lnTo>
14505 + <pt x="16380" y="12310" />
14506 + </lnTo>
14507 + <lnTo>
14508 + <pt x="18877" y="15632" />
14509 + </lnTo>
14510 + <lnTo>
14511 + <pt x="14640" y="14350" />
14512 + </lnTo>
14513 + <lnTo>
14514 + <pt x="14942" y="17370" />
14515 + </lnTo>
14516 + <lnTo>
14517 + <pt x="12180" y="15935" />
14518 + </lnTo>
14519 + <lnTo>
14520 + <pt x="11612" y="18842" />
14521 + </lnTo>
14522 + <lnTo>
14523 + <pt x="9872" y="17370" />
14524 + </lnTo>
14525 + <lnTo>
14526 + <pt x="8700" y="19712" />
14527 + </lnTo>
14528 + <lnTo>
14529 + <pt x="7527" y="18125" />
14530 + </lnTo>
14531 + <lnTo>
14532 + <pt x="4917" y="21600" />
14533 + </lnTo>
14534 + <lnTo>
14535 + <pt x="4805" y="18240" />
14536 + </lnTo>
14537 + <lnTo>
14538 + <pt x="1285" y="17825" />
14539 + </lnTo>
14540 + <lnTo>
14541 + <pt x="3330" y="15370" />
14542 + </lnTo>
14543 + <lnTo>
14544 + <pt x="0" y="12877" />
14545 + </lnTo>
14546 + <lnTo>
14547 + <pt x="3935" y="11592" />
14548 + </lnTo>
14549 + <lnTo>
14550 + <pt x="1172" y="8270" />
14551 + </lnTo>
14552 + <lnTo>
14553 + <pt x="5372" y="7817" />
14554 + </lnTo>
14555 + <lnTo>
14556 + <pt x="4502" y="3625" />
14557 + </lnTo>
14558 + <lnTo>
14559 + <pt x="8550" y="6382" />
14560 + </lnTo>
14561 + <lnTo>
14562 + <pt x="9722" y="1887" />
14563 + </lnTo>
14564 + <close />
14565 + </path>
14566 + </pathLst>
14568 + </irregularSeal2>
14569 + <leftArrow>
14570 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
14571 + <gd name="adj1" fmla="val 50000" />
14572 + <gd name="adj2" fmla="val 50000" />
14573 + </avLst>
14574 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
14575 + <gd name="maxAdj2" fmla="*/ 100000 w ss" />
14576 + <gd name="a1" fmla="pin 0 adj1 100000" />
14577 + <gd name="a2" fmla="pin 0 adj2 maxAdj2" />
14578 + <gd name="dx2" fmla="*/ ss a2 100000" />
14579 + <gd name="x2" fmla="+- l dx2 0" />
14580 + <gd name="dy1" fmla="*/ h a1 200000" />
14581 + <gd name="y1" fmla="+- vc 0 dy1" />
14582 + <gd name="y2" fmla="+- vc dy1 0" />
14583 + <gd name="dx1" fmla="*/ y1 dx2 hd2" />
14584 + <gd name="x1" fmla="+- x2 0 dx1" />
14585 + </gdLst>
14586 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
14587 + <ahXY gdRefY="adj1" minY="0" maxY="100000">
14588 + <pos x="r" y="y1" />
14589 + </ahXY>
14590 + <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">
14591 + <pos x="x2" y="t" />
14592 + </ahXY>
14593 + </ahLst>
14594 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
14595 + <cxn ang="3cd4">
14596 + <pos x="x2" y="t" />
14597 + </cxn>
14598 + <cxn ang="cd2">
14599 + <pos x="l" y="vc" />
14600 + </cxn>
14601 + <cxn ang="cd4">
14602 + <pos x="x2" y="b" />
14603 + </cxn>
14604 + <cxn ang="0">
14605 + <pos x="r" y="vc" />
14606 + </cxn>
14607 + </cxnLst>
14608 + <rect l="x1" t="y1" r="r" b="y2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
14609 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
14610 + <path>
14611 + <moveTo>
14612 + <pt x="l" y="vc" />
14613 + </moveTo>
14614 + <lnTo>
14615 + <pt x="x2" y="t" />
14616 + </lnTo>
14617 + <lnTo>
14618 + <pt x="x2" y="y1" />
14619 + </lnTo>
14620 + <lnTo>
14621 + <pt x="r" y="y1" />
14622 + </lnTo>
14623 + <lnTo>
14624 + <pt x="r" y="y2" />
14625 + </lnTo>
14626 + <lnTo>
14627 + <pt x="x2" y="y2" />
14628 + </lnTo>
14629 + <lnTo>
14630 + <pt x="x2" y="b" />
14631 + </lnTo>
14632 + <close />
14633 + </path>
14634 + </pathLst>
14635 + </leftArrow>
14636 + <leftArrowCallout>
14638 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
14639 + <gd name="adj1" fmla="val 25000" />
14641 + <gd name="adj2" fmla="val 25000" />
14643 + <gd name="adj3" fmla="val 25000" />
14645 + <gd name="adj4" fmla="val 64977" />
14647 + </avLst>
14649 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
14650 + <gd name="maxAdj2" fmla="*/ 50000 h ss" />
14652 + <gd name="a2" fmla="pin 0 adj2 maxAdj2" />
14653 + <gd name="maxAdj1" fmla="*/ a2 2 1" />
14655 + <gd name="a1" fmla="pin 0 adj1 maxAdj1" />
14656 + <gd name="maxAdj3" fmla="*/ 100000 w ss" />
14658 + <gd name="a3" fmla="pin 0 adj3 maxAdj3" />
14659 + <gd name="q2" fmla="*/ a3 ss w" />
14661 + <gd name="maxAdj4" fmla="+- 100000 0 q2" />
14663 + <gd name="a4" fmla="pin 0 adj4 maxAdj4" />
14664 + <gd name="dy1" fmla="*/ ss a2 100000" />
14666 + <gd name="dy2" fmla="*/ ss a1 200000" />
14668 + <gd name="y1" fmla="+- vc 0 dy1" />
14669 + <gd name="y2" fmla="+- vc 0 dy2" />
14670 + <gd name="y3" fmla="+- vc dy2 0" />
14671 + <gd name="y4" fmla="+- vc dy1 0" />
14672 + <gd name="x1" fmla="*/ ss a3 100000" />
14674 + <gd name="dx2" fmla="*/ w a4 100000" />
14676 + <gd name="x2" fmla="+- r 0 dx2" />
14677 + <gd name="x3" fmla="+/ x2 r 2" />
14678 + </gdLst>
14680 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
14681 + <ahXY gdRefY="adj1" minY="0" maxY="maxAdj1">
14682 + <pos x="x1" y="y2" />
14683 + </ahXY>
14684 + <ahXY gdRefY="adj2" minY="0" maxY="maxAdj2">
14685 + <pos x="l" y="y1" />
14686 + </ahXY>
14687 + <ahXY gdRefX="adj3" minX="0" maxX="maxAdj3">
14688 + <pos x="x1" y="t" />
14689 + </ahXY>
14690 + <ahXY gdRefX="adj4" minX="0" maxX="maxAdj4">
14691 + <pos x="x2" y="b" />
14692 + </ahXY>
14693 + </ahLst>
14695 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
14696 + <cxn ang="3cd4">
14697 + <pos x="x3" y="t" />
14698 + </cxn>
14699 + <cxn ang="cd2">
14700 + <pos x="l" y="vc" />
14701 + </cxn>
14702 + <cxn ang="cd4">
14703 + <pos x="x3" y="b" />
14704 + </cxn>
14705 + <cxn ang="0">
14706 + <pos x="r" y="vc" />
14707 + </cxn>
14708 + </cxnLst>
14710 + <rect l="x2" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
14712 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
14713 + <path>
14714 + <moveTo>
14715 + <pt x="l" y="vc" />
14716 + </moveTo>
14717 + <lnTo>
14718 + <pt x="x1" y="y1" />
14719 + </lnTo>
14720 + <lnTo>
14721 + <pt x="x1" y="y2" />
14722 + </lnTo>
14723 + <lnTo>
14724 + <pt x="x2" y="y2" />
14725 + </lnTo>
14726 + <lnTo>
14727 + <pt x="x2" y="t" />
14728 + </lnTo>
14729 + <lnTo>
14730 + <pt x="r" y="t" />
14731 + </lnTo>
14732 + <lnTo>
14733 + <pt x="r" y="b" />
14734 + </lnTo>
14735 + <lnTo>
14736 + <pt x="x2" y="b" />
14737 + </lnTo>
14738 + <lnTo>
14739 + <pt x="x2" y="y3" />
14740 + </lnTo>
14741 + <lnTo>
14742 + <pt x="x1" y="y3" />
14743 + </lnTo>
14744 + <lnTo>
14745 + <pt x="x1" y="y4" />
14746 + </lnTo>
14747 + <close />
14748 + </path>
14749 + </pathLst>
14751 + </leftArrowCallout>
14752 + <leftBrace>
14753 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
14754 + <gd name="adj1" fmla="val 8333" />
14755 + <gd name="adj2" fmla="val 50000" />
14756 + </avLst>
14757 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
14758 + <gd name="a2" fmla="pin 0 adj2 100000" />
14759 + <gd name="q1" fmla="+- 100000 0 a2" />
14760 + <gd name="q2" fmla="min q1 a2" />
14761 + <gd name="q3" fmla="*/ q2 1 2" />
14762 + <gd name="maxAdj1" fmla="*/ q3 h ss" />
14763 + <gd name="a1" fmla="pin 0 adj1 maxAdj1" />
14764 + <gd name="y1" fmla="*/ ss a1 100000" />
14765 + <gd name="y3" fmla="*/ h a2 100000" />
14766 + <gd name="y4" fmla="+- y3 y1 0" />
14767 + <gd name="dx1" fmla="cos wd2 2700000" />
14768 + <gd name="dy1" fmla="sin y1 2700000" />
14769 + <gd name="il" fmla="+- r 0 dx1" />
14770 + <gd name="it" fmla="+- y1 0 dy1" />
14771 + <gd name="ib" fmla="+- b dy1 y1" />
14772 + </gdLst>
14773 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
14774 + <ahXY gdRefY="adj1" minY="0" maxY="maxAdj1">
14775 + <pos x="hc" y="y1" />
14776 + </ahXY>
14777 + <ahXY gdRefY="adj2" minY="0" maxY="100000">
14778 + <pos x="l" y="y3" />
14779 + </ahXY>
14780 + </ahLst>
14781 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
14782 + <cxn ang="cd4">
14783 + <pos x="r" y="t" />
14784 + </cxn>
14785 + <cxn ang="cd2">
14786 + <pos x="l" y="y3" />
14787 + </cxn>
14788 + <cxn ang="3cd4">
14789 + <pos x="r" y="b" />
14790 + </cxn>
14791 + </cxnLst>
14792 + <rect l="il" t="it" r="r" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
14793 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
14794 + <path stroke="false" extrusionOk="false">
14795 + <moveTo>
14796 + <pt x="r" y="b" />
14797 + </moveTo>
14798 + <arcTo wR="wd2" hR="y1" stAng="cd4" swAng="cd4" />
14799 + <lnTo>
14800 + <pt x="hc" y="y4" />
14801 + </lnTo>
14802 + <arcTo wR="wd2" hR="y1" stAng="0" swAng="-5400000" />
14803 + <arcTo wR="wd2" hR="y1" stAng="cd4" swAng="-5400000" />
14804 + <lnTo>
14805 + <pt x="hc" y="y1" />
14806 + </lnTo>
14807 + <arcTo wR="wd2" hR="y1" stAng="cd2" swAng="cd4" />
14808 + <close />
14809 + </path>
14810 + <path fill="none">
14811 + <moveTo>
14812 + <pt x="r" y="b" />
14813 + </moveTo>
14814 + <arcTo wR="wd2" hR="y1" stAng="cd4" swAng="cd4" />
14815 + <lnTo>
14816 + <pt x="hc" y="y4" />
14817 + </lnTo>
14818 + <arcTo wR="wd2" hR="y1" stAng="0" swAng="-5400000" />
14819 + <arcTo wR="wd2" hR="y1" stAng="cd4" swAng="-5400000" />
14820 + <lnTo>
14821 + <pt x="hc" y="y1" />
14822 + </lnTo>
14823 + <arcTo wR="wd2" hR="y1" stAng="cd2" swAng="cd4" />
14824 + </path>
14825 + </pathLst>
14826 + </leftBrace>
14827 + <leftBracket>
14829 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
14830 + <gd name="adj" fmla="val 8333" />
14832 + </avLst>
14834 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
14835 + <gd name="maxAdj" fmla="*/ 50000 h ss" />
14837 + <gd name="a" fmla="pin 0 adj maxAdj" />
14838 + <gd name="y1" fmla="*/ ss a 100000" />
14840 + <gd name="y2" fmla="+- b 0 y1" />
14842 + <gd name="dx1" fmla="cos w 2700000" />
14843 + <gd name="dy1" fmla="sin y1 2700000" />
14844 + <gd name="il" fmla="+- r 0 dx1" />
14845 + <gd name="it" fmla="+- y1 0 dy1" />
14846 + <gd name="ib" fmla="+- b dy1 y1" />
14847 + </gdLst>
14849 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
14850 + <ahXY gdRefY="adj" minY="0" maxY="maxAdj">
14851 + <pos x="l" y="y1" />
14852 + </ahXY>
14853 + </ahLst>
14855 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
14856 + <cxn ang="cd4">
14857 + <pos x="r" y="t" />
14858 + </cxn>
14859 + <cxn ang="cd2">
14860 + <pos x="l" y="vc" />
14861 + </cxn>
14862 + <cxn ang="3cd4">
14863 + <pos x="r" y="b" />
14864 + </cxn>
14865 + </cxnLst>
14867 + <rect l="il" t="it" r="r" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
14869 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
14870 + <path stroke="false" extrusionOk="false">
14872 + <moveTo>
14873 + <pt x="r" y="b" />
14874 + </moveTo>
14875 + <arcTo wR="w" hR="y1" stAng="cd4" swAng="cd4" />
14876 + <lnTo>
14877 + <pt x="l" y="y1" />
14878 + </lnTo>
14879 + <arcTo wR="w" hR="y1" stAng="cd2" swAng="cd4" />
14880 + <close />
14881 + </path>
14882 + <path fill="none">
14884 + <moveTo>
14885 + <pt x="r" y="b" />
14886 + </moveTo>
14887 + <arcTo wR="w" hR="y1" stAng="cd4" swAng="cd4" />
14888 + <lnTo>
14889 + <pt x="l" y="y1" />
14890 + </lnTo>
14891 + <arcTo wR="w" hR="y1" stAng="cd2" swAng="cd4" />
14892 + </path>
14893 + </pathLst>
14895 + </leftBracket>
14896 + <leftCircularArrow>
14898 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
14899 + <gd name="adj1" fmla="val 12500" />
14901 + <gd name="adj2" fmla="val -1142319" />
14903 + <gd name="adj3" fmla="val 1142319" />
14905 + <gd name="adj4" fmla="val 10800000" />
14907 + <gd name="adj5" fmla="val 12500" />
14909 + </avLst>
14910 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
14911 + <gd name="a5" fmla="pin 0 adj5 25000" />
14913 + <gd name="maxAdj1" fmla="*/ a5 2 1" />
14915 + <gd name="a1" fmla="pin 0 adj1 maxAdj1" />
14916 + <gd name="enAng" fmla="pin 1 adj3 21599999" />
14917 + <gd name="stAng" fmla="pin 0 adj4 21599999" />
14919 + <gd name="th" fmla="*/ ss a1 100000" />
14921 + <gd name="thh" fmla="*/ ss a5 100000" />
14923 + <gd name="th2" fmla="*/ th 1 2" />
14926 + <gd name="rw1" fmla="+- wd2 th2 thh" />
14928 + <gd name="rh1" fmla="+- hd2 th2 thh" />
14930 + <gd name="rw2" fmla="+- rw1 0 th" />
14932 + <gd name="rh2" fmla="+- rh1 0 th" />
14934 + <gd name="rw3" fmla="+- rw2 th2 0" />
14936 + <gd name="rh3" fmla="+- rh2 th2 0" />
14939 + <gd name="wtH" fmla="sin rw3 enAng" />
14940 + <gd name="htH" fmla="cos rh3 enAng" />
14941 + <gd name="dxH" fmla="cat2 rw3 htH wtH" />
14942 + <gd name="dyH" fmla="sat2 rh3 htH wtH" />
14943 + <gd name="xH" fmla="+- hc dxH 0" />
14945 + <gd name="yH" fmla="+- vc dyH 0" />
14948 + <gd name="rI" fmla="min rw2 rh2" />
14950 + <gd name="u1" fmla="*/ dxH dxH 1" />
14951 + <gd name="u2" fmla="*/ dyH dyH 1" />
14952 + <gd name="u3" fmla="*/ rI rI 1" />
14953 + <gd name="u4" fmla="+- u1 0 u3" />
14954 + <gd name="u5" fmla="+- u2 0 u3" />
14955 + <gd name="u6" fmla="*/ u4 u5 u1" />
14956 + <gd name="u7" fmla="*/ u6 1 u2" />
14957 + <gd name="u8" fmla="+- 1 0 u7" />
14958 + <gd name="u9" fmla="sqrt u8" />
14959 + <gd name="u10" fmla="*/ u4 1 dxH" />
14960 + <gd name="u11" fmla="*/ u10 1 dyH" />
14961 + <gd name="u12" fmla="+/ 1 u9 u11" />
14962 + <gd name="u13" fmla="at2 1 u12" />
14963 + <gd name="u14" fmla="+- u13 21600000 0" />
14964 + <gd name="u15" fmla="?: u13 u13 u14" />
14965 + <gd name="u16" fmla="+- u15 0 enAng" />
14967 + <gd name="u17" fmla="+- u16 21600000 0" />
14968 + <gd name="u18" fmla="?: u16 u16 u17" />
14969 + <gd name="u19" fmla="+- u18 0 cd2" />
14970 + <gd name="u20" fmla="+- u18 0 21600000" />
14971 + <gd name="u21" fmla="?: u19 u20 u18" />
14972 + <gd name="u22" fmla="abs u21" />
14973 + <gd name="minAng" fmla="*/ u22 -1 1" />
14974 + <gd name="u23" fmla="abs adj2" />
14975 + <gd name="a2" fmla="*/ u23 -1 1" />
14976 + <gd name="aAng" fmla="pin minAng a2 0" />
14978 + <gd name="ptAng" fmla="+- enAng aAng 0" />
14981 + <gd name="wtA" fmla="sin rw3 ptAng" />
14982 + <gd name="htA" fmla="cos rh3 ptAng" />
14983 + <gd name="dxA" fmla="cat2 rw3 htA wtA" />
14984 + <gd name="dyA" fmla="sat2 rh3 htA wtA" />
14985 + <gd name="xA" fmla="+- hc dxA 0" />
14987 + <gd name="yA" fmla="+- vc dyA 0" />
14990 + <gd name="wtE" fmla="sin rw1 stAng" />
14991 + <gd name="htE" fmla="cos rh1 stAng" />
14992 + <gd name="dxE" fmla="cat2 rw1 htE wtE" />
14993 + <gd name="dyE" fmla="sat2 rh1 htE wtE" />
14994 + <gd name="xE" fmla="+- hc dxE 0" />
14996 + <gd name="yE" fmla="+- vc dyE 0" />
14999 + <gd name="wtD" fmla="sin rw2 stAng" />
15000 + <gd name="htD" fmla="cos rh2 stAng" />
15001 + <gd name="dxD" fmla="cat2 rw2 htD wtD" />
15002 + <gd name="dyD" fmla="sat2 rh2 htD wtD" />
15003 + <gd name="xD" fmla="+- hc dxD 0" />
15005 + <gd name="yD" fmla="+- vc dyD 0" />
15008 + <gd name="dxG" fmla="cos thh ptAng" />
15009 + <gd name="dyG" fmla="sin thh ptAng" />
15010 + <gd name="xG" fmla="+- xH dxG 0" />
15012 + <gd name="yG" fmla="+- yH dyG 0" />
15015 + <gd name="dxB" fmla="cos thh ptAng" />
15016 + <gd name="dyB" fmla="sin thh ptAng" />
15017 + <gd name="xB" fmla="+- xH 0 dxB 0" />
15019 + <gd name="yB" fmla="+- yH 0 dyB 0" />
15022 + <gd name="sx1" fmla="+- xB 0 hc" />
15024 + <gd name="sy1" fmla="+- yB 0 vc" />
15026 + <gd name="sx2" fmla="+- xG 0 hc" />
15028 + <gd name="sy2" fmla="+- yG 0 vc" />
15031 + <gd name="rO" fmla="min rw1 rh1" />
15033 + <gd name="x1O" fmla="*/ sx1 rO rw1" />
15035 + <gd name="y1O" fmla="*/ sy1 rO rh1" />
15037 + <gd name="x2O" fmla="*/ sx2 rO rw1" />
15039 + <gd name="y2O" fmla="*/ sy2 rO rh1" />
15042 + <gd name="dxO" fmla="+- x2O 0 x1O" />
15043 + <gd name="dyO" fmla="+- y2O 0 y1O" />
15044 + <gd name="dO" fmla="mod dxO dyO 0" />
15046 + <gd name="q1" fmla="*/ x1O y2O 1" />
15047 + <gd name="q2" fmla="*/ x2O y1O 1" />
15048 + <gd name="DO" fmla="+- q1 0 q2" />
15051 + <gd name="q3" fmla="*/ rO rO 1" />
15053 + <gd name="q4" fmla="*/ dO dO 1" />
15055 + <gd name="q5" fmla="*/ q3 q4 1" />
15057 + <gd name="q6" fmla="*/ DO DO 1" />
15059 + <gd name="q7" fmla="+- q5 0 q6" />
15061 + <gd name="q8" fmla="max q7 0" />
15063 + <gd name="sdelO" fmla="sqrt q8" />
15065 + <gd name="ndyO" fmla="*/ dyO -1 1" />
15066 + <gd name="sdyO" fmla="?: ndyO -1 1" />
15068 + <gd name="q9" fmla="*/ sdyO dxO 1" />
15070 + <gd name="q10" fmla="*/ q9 sdelO 1" />
15072 + <gd name="q11" fmla="*/ DO dyO 1" />
15074 + <gd name="dxF1" fmla="+/ q11 q10 q4" />
15076 + <gd name="q12" fmla="+- q11 0 q10" />
15077 + <gd name="dxF2" fmla="*/ q12 1 q4" />
15080 + <gd name="adyO" fmla="abs dyO" />
15081 + <gd name="q13" fmla="*/ adyO sdelO 1" />
15083 + <gd name="q14" fmla="*/ DO dxO -1" />
15085 + <gd name="dyF1" fmla="+/ q14 q13 q4" />
15087 + <gd name="q15" fmla="+- q14 0 q13" />
15088 + <gd name="dyF2" fmla="*/ q15 1 q4" />
15092 + <gd name="q16" fmla="+- x2O 0 dxF1" />
15093 + <gd name="q17" fmla="+- x2O 0 dxF2" />
15094 + <gd name="q18" fmla="+- y2O 0 dyF1" />
15095 + <gd name="q19" fmla="+- y2O 0 dyF2" />
15096 + <gd name="q20" fmla="mod q16 q18 0" />
15098 + <gd name="q21" fmla="mod q17 q19 0" />
15100 + <gd name="q22" fmla="+- q21 0 q20" />
15101 + <gd name="dxF" fmla="?: q22 dxF1 dxF2" />
15103 + <gd name="dyF" fmla="?: q22 dyF1 dyF2" />
15105 + <gd name="sdxF" fmla="*/ dxF rw1 rO" />
15107 + <gd name="sdyF" fmla="*/ dyF rh1 rO" />
15109 + <gd name="xF" fmla="+- hc sdxF 0" />
15111 + <gd name="yF" fmla="+- vc sdyF 0" />
15116 + <gd name="x1I" fmla="*/ sx1 rI rw2" />
15118 + <gd name="y1I" fmla="*/ sy1 rI rh2" />
15120 + <gd name="x2I" fmla="*/ sx2 rI rw2" />
15122 + <gd name="y2I" fmla="*/ sy2 rI rh2" />
15125 + <gd name="dxI" fmla="+- x2I 0 x1I" />
15126 + <gd name="dyI" fmla="+- y2I 0 y1I" />
15127 + <gd name="dI" fmla="mod dxI dyI 0" />
15128 + <gd name="v1" fmla="*/ x1I y2I 1" />
15129 + <gd name="v2" fmla="*/ x2I y1I 1" />
15130 + <gd name="DI" fmla="+- v1 0 v2" />
15132 + <gd name="v3" fmla="*/ rI rI 1" />
15133 + <gd name="v4" fmla="*/ dI dI 1" />
15134 + <gd name="v5" fmla="*/ v3 v4 1" />
15135 + <gd name="v6" fmla="*/ DI DI 1" />
15136 + <gd name="v7" fmla="+- v5 0 v6" />
15137 + <gd name="v8" fmla="max v7 0" />
15138 + <gd name="sdelI" fmla="sqrt v8" />
15139 + <gd name="v9" fmla="*/ sdyO dxI 1" />
15140 + <gd name="v10" fmla="*/ v9 sdelI 1" />
15141 + <gd name="v11" fmla="*/ DI dyI 1" />
15142 + <gd name="dxC1" fmla="+/ v11 v10 v4" />
15143 + <gd name="v12" fmla="+- v11 0 v10" />
15144 + <gd name="dxC2" fmla="*/ v12 1 v4" />
15146 + <gd name="adyI" fmla="abs dyI" />
15147 + <gd name="v13" fmla="*/ adyI sdelI 1" />
15148 + <gd name="v14" fmla="*/ DI dxI -1" />
15149 + <gd name="dyC1" fmla="+/ v14 v13 v4" />
15150 + <gd name="v15" fmla="+- v14 0 v13" />
15151 + <gd name="dyC2" fmla="*/ v15 1 v4" />
15153 + <gd name="v16" fmla="+- x1I 0 dxC1" />
15154 + <gd name="v17" fmla="+- x1I 0 dxC2" />
15155 + <gd name="v18" fmla="+- y1I 0 dyC1" />
15156 + <gd name="v19" fmla="+- y1I 0 dyC2" />
15157 + <gd name="v20" fmla="mod v16 v18 0" />
15158 + <gd name="v21" fmla="mod v17 v19 0" />
15159 + <gd name="v22" fmla="+- v21 0 v20" />
15160 + <gd name="dxC" fmla="?: v22 dxC1 dxC2" />
15161 + <gd name="dyC" fmla="?: v22 dyC1 dyC2" />
15162 + <gd name="sdxC" fmla="*/ dxC rw2 rI" />
15163 + <gd name="sdyC" fmla="*/ dyC rh2 rI" />
15164 + <gd name="xC" fmla="+- hc sdxC 0" />
15166 + <gd name="yC" fmla="+- vc sdyC 0" />
15169 + <gd name="ist0" fmla="at2 sdxC sdyC" />
15170 + <gd name="ist1" fmla="+- ist0 21600000 0" />
15171 + <gd name="istAng0" fmla="?: ist0 ist0 ist1" />
15172 + <gd name="isw1" fmla="+- stAng 0 istAng0" />
15173 + <gd name="isw2" fmla="+- isw1 21600000 0" />
15174 + <gd name="iswAng0" fmla="?: isw1 isw1 isw2" />
15176 + <gd name="istAng" fmla="+- istAng0 iswAng0 0" />
15177 + <gd name="iswAng" fmla="+- 0 0 iswAng0" />
15179 + <gd name="p1" fmla="+- xF 0 xC" />
15180 + <gd name="p2" fmla="+- yF 0 yC" />
15181 + <gd name="p3" fmla="mod p1 p2 0" />
15182 + <gd name="p4" fmla="*/ p3 1 2" />
15183 + <gd name="p5" fmla="+- p4 0 thh" />
15184 + <gd name="xGp" fmla="?: p5 xF xG" />
15185 + <gd name="yGp" fmla="?: p5 yF yG" />
15186 + <gd name="xBp" fmla="?: p5 xC xB" />
15187 + <gd name="yBp" fmla="?: p5 yC yB" />
15189 + <gd name="en0" fmla="at2 sdxF sdyF" />
15190 + <gd name="en1" fmla="+- en0 21600000 0" />
15191 + <gd name="en2" fmla="?: en0 en0 en1" />
15192 + <gd name="sw0" fmla="+- en2 0 stAng" />
15193 + <gd name="sw1" fmla="+- sw0 0 21600000" />
15194 + <gd name="swAng" fmla="?: sw0 sw1 sw0" />
15197 + <gd name="stAng0" fmla="+- stAng swAng 0" />
15199 + <gd name="swAng0" fmla="+- 0 0 swAng" />
15202 + <gd name="wtI" fmla="sin rw3 stAng" />
15203 + <gd name="htI" fmla="cos rh3 stAng" />
15204 + <gd name="dxI" fmla="cat2 rw3 htI wtI" />
15205 + <gd name="dyI" fmla="sat2 rh3 htI wtI" />
15206 + <gd name="xI" fmla="+- hc dxI 0" />
15208 + <gd name="yI" fmla="+- vc dyI 0" />
15211 + <gd name="aI" fmla="+- stAng cd4 0" />
15212 + <gd name="aA" fmla="+- ptAng 0 cd4" />
15213 + <gd name="aB" fmla="+- ptAng cd2 0" />
15215 + <gd name="idx" fmla="cos rw1 2700000" />
15216 + <gd name="idy" fmla="sin rh1 2700000" />
15217 + <gd name="il" fmla="+- hc 0 idx" />
15218 + <gd name="ir" fmla="+- hc idx 0" />
15219 + <gd name="it" fmla="+- vc 0 idy" />
15220 + <gd name="ib" fmla="+- vc idy 0" />
15221 + </gdLst>
15223 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
15224 + <ahPolar gdRefAng="adj2" minAng="minAng" maxAng="0">
15225 + <pos x="xA" y="yA" />
15226 + </ahPolar>
15227 + <ahPolar gdRefAng="adj4" minAng="0" maxAng="21599999">
15228 + <pos x="xE" y="yE" />
15229 + </ahPolar>
15230 + <ahPolar gdRefR="adj1" minR="0" maxR="maxAdj1" gdRefAng="adj3" minAng="0" maxAng="21599999">
15231 + <pos x="xF" y="yF" />
15232 + </ahPolar>
15233 + <ahPolar gdRefR="adj5" minR="0" maxR="25000">
15234 + <pos x="xB" y="yB" />
15235 + </ahPolar>
15236 + </ahLst>
15238 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
15239 + <cxn ang="aI">
15240 + <pos x="xI" y="yI" />
15241 + </cxn>
15242 + <cxn ang="ptAng">
15243 + <pos x="xGp" y="yGp" />
15244 + </cxn>
15245 + <cxn ang="aA">
15246 + <pos x="xA" y="yA" />
15247 + </cxn>
15248 + <cxn ang="aB">
15249 + <pos x="xBp" y="yBp" />
15250 + </cxn>
15251 + </cxnLst>
15253 + <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
15255 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
15256 + <path>
15257 + <moveTo>
15258 + <pt x="xE" y="yE" />
15259 + </moveTo>
15260 + <lnTo>
15261 + <pt x="xD" y="yD" />
15262 + </lnTo>
15263 + <arcTo wR="rw2" hR="rh2" stAng="istAng" swAng="iswAng" />
15264 + <lnTo>
15265 + <pt x="xBp" y="yBp" />
15266 + </lnTo>
15267 + <lnTo>
15268 + <pt x="xA" y="yA" />
15269 + </lnTo>
15270 + <lnTo>
15271 + <pt x="xGp" y="yGp" />
15272 + </lnTo>
15273 + <lnTo>
15274 + <pt x="xF" y="yF" />
15275 + </lnTo>
15276 + <arcTo wR="rw1" hR="rh1" stAng="stAng0" swAng="swAng0" />
15277 + <close />
15278 + </path>
15279 + </pathLst>
15281 + </leftCircularArrow>
15282 + <leftRightArrow>
15283 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
15284 + <gd name="adj1" fmla="val 50000" />
15285 + <gd name="adj2" fmla="val 50000" />
15286 + </avLst>
15287 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
15288 + <gd name="maxAdj2" fmla="*/ 50000 w ss" />
15289 + <gd name="a1" fmla="pin 0 adj1 100000" />
15290 + <gd name="a2" fmla="pin 0 adj2 maxAdj2" />
15291 + <gd name="x2" fmla="*/ ss a2 100000" />
15292 + <gd name="x3" fmla="+- r 0 x2" />
15293 + <gd name="dy" fmla="*/ h a1 200000" />
15294 + <gd name="y1" fmla="+- vc 0 dy" />
15295 + <gd name="y2" fmla="+- vc dy 0" />
15296 + <gd name="dx1" fmla="*/ y1 x2 hd2" />
15297 + <gd name="x1" fmla="+- x2 0 dx1" />
15298 + <gd name="x4" fmla="+- x3 dx1 0" />
15299 + </gdLst>
15300 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
15301 + <ahXY gdRefY="adj1" minY="0" maxY="100000">
15302 + <pos x="x3" y="y1" />
15303 + </ahXY>
15304 + <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">
15305 + <pos x="x2" y="t" />
15306 + </ahXY>
15307 + </ahLst>
15308 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
15309 + <cxn ang="0">
15310 + <pos x="r" y="vc" />
15311 + </cxn>
15312 + <cxn ang="cd4">
15313 + <pos x="x3" y="b" />
15314 + </cxn>
15315 + <cxn ang="cd4">
15316 + <pos x="x2" y="b" />
15317 + </cxn>
15318 + <cxn ang="cd2">
15319 + <pos x="l" y="vc" />
15320 + </cxn>
15321 + <cxn ang="3cd4">
15322 + <pos x="x2" y="t" />
15323 + </cxn>
15324 + <cxn ang="3cd4">
15325 + <pos x="x3" y="t" />
15326 + </cxn>
15327 + </cxnLst>
15328 + <rect l="x1" t="y1" r="x4" b="y2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
15329 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
15330 + <path>
15331 + <moveTo>
15332 + <pt x="l" y="vc" />
15333 + </moveTo>
15334 + <lnTo>
15335 + <pt x="x2" y="t" />
15336 + </lnTo>
15337 + <lnTo>
15338 + <pt x="x2" y="y1" />
15339 + </lnTo>
15340 + <lnTo>
15341 + <pt x="x3" y="y1" />
15342 + </lnTo>
15343 + <lnTo>
15344 + <pt x="x3" y="t" />
15345 + </lnTo>
15346 + <lnTo>
15347 + <pt x="r" y="vc" />
15348 + </lnTo>
15349 + <lnTo>
15350 + <pt x="x3" y="b" />
15351 + </lnTo>
15352 + <lnTo>
15353 + <pt x="x3" y="y2" />
15354 + </lnTo>
15355 + <lnTo>
15356 + <pt x="x2" y="y2" />
15357 + </lnTo>
15358 + <lnTo>
15359 + <pt x="x2" y="b" />
15360 + </lnTo>
15361 + <close />
15362 + </path>
15363 + </pathLst>
15364 + </leftRightArrow>
15365 + <leftRightArrowCallout>
15367 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
15368 + <gd name="adj1" fmla="val 25000" />
15370 + <gd name="adj2" fmla="val 25000" />
15372 + <gd name="adj3" fmla="val 25000" />
15374 + <gd name="adj4" fmla="val 48123" />
15376 + </avLst>
15378 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
15379 + <gd name="maxAdj2" fmla="*/ 50000 h ss" />
15381 + <gd name="a2" fmla="pin 0 adj2 maxAdj2" />
15382 + <gd name="maxAdj1" fmla="*/ a2 2 1" />
15384 + <gd name="a1" fmla="pin 0 adj1 maxAdj1" />
15385 + <gd name="maxAdj3" fmla="*/ 50000 w ss" />
15387 + <gd name="a3" fmla="pin 0 adj3 maxAdj3" />
15388 + <gd name="q2" fmla="*/ a3 ss wd2" />
15390 + <gd name="maxAdj4" fmla="+- 100000 0 q2" />
15392 + <gd name="a4" fmla="pin 0 adj4 maxAdj4" />
15393 + <gd name="dy1" fmla="*/ ss a2 100000" />
15395 + <gd name="dy2" fmla="*/ ss a1 200000" />
15397 + <gd name="y1" fmla="+- vc 0 dy1" />
15398 + <gd name="y2" fmla="+- vc 0 dy2" />
15399 + <gd name="y3" fmla="+- vc dy2 0" />
15400 + <gd name="y4" fmla="+- vc dy1 0" />
15401 + <gd name="x1" fmla="*/ ss a3 100000" />
15403 + <gd name="x4" fmla="+- r 0 x1" />
15405 + <gd name="dx2" fmla="*/ w a4 200000" />
15407 + <gd name="x2" fmla="+- hc 0 dx2" />
15409 + <gd name="x3" fmla="+- hc dx2 0" />
15411 + </gdLst>
15413 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
15414 + <ahXY gdRefY="adj1" minY="0" maxY="maxAdj1">
15415 + <pos x="x1" y="y2" />
15416 + </ahXY>
15417 + <ahXY gdRefY="adj2" minY="0" maxY="maxAdj2">
15418 + <pos x="l" y="y1" />
15419 + </ahXY>
15420 + <ahXY gdRefX="adj3" minX="0" maxX="maxAdj3">
15421 + <pos x="x1" y="t" />
15422 + </ahXY>
15423 + <ahXY gdRefX="adj4" minX="0" maxX="maxAdj4">
15424 + <pos x="x2" y="b" />
15425 + </ahXY>
15426 + </ahLst>
15428 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
15429 + <cxn ang="3cd4">
15430 + <pos x="hc" y="t" />
15431 + </cxn>
15432 + <cxn ang="cd2">
15433 + <pos x="l" y="vc" />
15434 + </cxn>
15435 + <cxn ang="cd4">
15436 + <pos x="hc" y="b" />
15437 + </cxn>
15438 + <cxn ang="0">
15439 + <pos x="r" y="vc" />
15440 + </cxn>
15441 + </cxnLst>
15443 + <rect l="x2" t="t" r="x3" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
15445 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
15446 + <path>
15447 + <moveTo>
15448 + <pt x="l" y="vc" />
15449 + </moveTo>
15450 + <lnTo>
15451 + <pt x="x1" y="y1" />
15452 + </lnTo>
15453 + <lnTo>
15454 + <pt x="x1" y="y2" />
15455 + </lnTo>
15456 + <lnTo>
15457 + <pt x="x2" y="y2" />
15458 + </lnTo>
15459 + <lnTo>
15460 + <pt x="x2" y="t" />
15461 + </lnTo>
15462 + <lnTo>
15463 + <pt x="x3" y="t" />
15464 + </lnTo>
15465 + <lnTo>
15466 + <pt x="x3" y="y2" />
15467 + </lnTo>
15468 + <lnTo>
15469 + <pt x="x4" y="y2" />
15470 + </lnTo>
15471 + <lnTo>
15472 + <pt x="x4" y="y1" />
15473 + </lnTo>
15474 + <lnTo>
15475 + <pt x="r" y="vc" />
15476 + </lnTo>
15477 + <lnTo>
15478 + <pt x="x4" y="y4" />
15479 + </lnTo>
15480 + <lnTo>
15481 + <pt x="x4" y="y3" />
15482 + </lnTo>
15483 + <lnTo>
15484 + <pt x="x3" y="y3" />
15485 + </lnTo>
15486 + <lnTo>
15487 + <pt x="x3" y="b" />
15488 + </lnTo>
15489 + <lnTo>
15490 + <pt x="x2" y="b" />
15491 + </lnTo>
15492 + <lnTo>
15493 + <pt x="x2" y="y3" />
15494 + </lnTo>
15495 + <lnTo>
15496 + <pt x="x1" y="y3" />
15497 + </lnTo>
15498 + <lnTo>
15499 + <pt x="x1" y="y4" />
15500 + </lnTo>
15501 + <close />
15502 + </path>
15503 + </pathLst>
15505 + </leftRightArrowCallout>
15506 + <leftRightCircularArrow>
15508 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
15509 + <gd name="adj1" fmla="val 12500" />
15511 + <gd name="adj2" fmla="val 1142319" />
15513 + <gd name="adj3" fmla="val 20457681" />
15515 + <gd name="adj4" fmla="val 11942319" />
15517 + <gd name="adj5" fmla="val 12500" />
15519 + </avLst>
15520 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
15521 + <gd name="a5" fmla="pin 0 adj5 25000" />
15523 + <gd name="maxAdj1" fmla="*/ a5 2 1" />
15525 + <gd name="a1" fmla="pin 0 adj1 maxAdj1" />
15526 + <gd name="enAng" fmla="pin 1 adj3 21599999" />
15527 + <gd name="stAng" fmla="pin 0 adj4 21599999" />
15529 + <gd name="th" fmla="*/ ss a1 100000" />
15531 + <gd name="thh" fmla="*/ ss a5 100000" />
15533 + <gd name="th2" fmla="*/ th 1 2" />
15536 + <gd name="rw1" fmla="+- wd2 th2 thh" />
15538 + <gd name="rh1" fmla="+- hd2 th2 thh" />
15540 + <gd name="rw2" fmla="+- rw1 0 th" />
15542 + <gd name="rh2" fmla="+- rh1 0 th" />
15544 + <gd name="rw3" fmla="+- rw2 th2 0" />
15546 + <gd name="rh3" fmla="+- rh2 th2 0" />
15549 + <gd name="wtH" fmla="sin rw3 enAng" />
15550 + <gd name="htH" fmla="cos rh3 enAng" />
15551 + <gd name="dxH" fmla="cat2 rw3 htH wtH" />
15552 + <gd name="dyH" fmla="sat2 rh3 htH wtH" />
15553 + <gd name="xH" fmla="+- hc dxH 0" />
15555 + <gd name="yH" fmla="+- vc dyH 0" />
15558 + <gd name="rI" fmla="min rw2 rh2" />
15560 + <gd name="u1" fmla="*/ dxH dxH 1" />
15561 + <gd name="u2" fmla="*/ dyH dyH 1" />
15562 + <gd name="u3" fmla="*/ rI rI 1" />
15563 + <gd name="u4" fmla="+- u1 0 u3" />
15564 + <gd name="u5" fmla="+- u2 0 u3" />
15565 + <gd name="u6" fmla="*/ u4 u5 u1" />
15566 + <gd name="u7" fmla="*/ u6 1 u2" />
15567 + <gd name="u8" fmla="+- 1 0 u7" />
15568 + <gd name="u9" fmla="sqrt u8" />
15569 + <gd name="u10" fmla="*/ u4 1 dxH" />
15570 + <gd name="u11" fmla="*/ u10 1 dyH" />
15571 + <gd name="u12" fmla="+/ 1 u9 u11" />
15572 + <gd name="u13" fmla="at2 1 u12" />
15573 + <gd name="u14" fmla="+- u13 21600000 0" />
15574 + <gd name="u15" fmla="?: u13 u13 u14" />
15575 + <gd name="u16" fmla="+- u15 0 enAng" />
15577 + <gd name="u17" fmla="+- u16 21600000 0" />
15578 + <gd name="u18" fmla="?: u16 u16 u17" />
15579 + <gd name="u19" fmla="+- u18 0 cd2" />
15580 + <gd name="u20" fmla="+- u18 0 21600000" />
15581 + <gd name="u21" fmla="?: u19 u20 u18" />
15582 + <gd name="maxAng" fmla="abs u21" />
15583 + <gd name="aAng" fmla="pin 0 adj2 maxAng" />
15585 + <gd name="ptAng" fmla="+- enAng aAng 0" />
15588 + <gd name="wtA" fmla="sin rw3 ptAng" />
15589 + <gd name="htA" fmla="cos rh3 ptAng" />
15590 + <gd name="dxA" fmla="cat2 rw3 htA wtA" />
15591 + <gd name="dyA" fmla="sat2 rh3 htA wtA" />
15592 + <gd name="xA" fmla="+- hc dxA 0" />
15594 + <gd name="yA" fmla="+- vc dyA 0" />
15597 + <gd name="dxG" fmla="cos thh ptAng" />
15598 + <gd name="dyG" fmla="sin thh ptAng" />
15599 + <gd name="xG" fmla="+- xH dxG 0" />
15601 + <gd name="yG" fmla="+- yH dyG 0" />
15604 + <gd name="dxB" fmla="cos thh ptAng" />
15605 + <gd name="dyB" fmla="sin thh ptAng" />
15606 + <gd name="xB" fmla="+- xH 0 dxB 0" />
15608 + <gd name="yB" fmla="+- yH 0 dyB 0" />
15611 + <gd name="sx1" fmla="+- xB 0 hc" />
15613 + <gd name="sy1" fmla="+- yB 0 vc" />
15615 + <gd name="sx2" fmla="+- xG 0 hc" />
15617 + <gd name="sy2" fmla="+- yG 0 vc" />
15620 + <gd name="rO" fmla="min rw1 rh1" />
15622 + <gd name="x1O" fmla="*/ sx1 rO rw1" />
15624 + <gd name="y1O" fmla="*/ sy1 rO rh1" />
15626 + <gd name="x2O" fmla="*/ sx2 rO rw1" />
15628 + <gd name="y2O" fmla="*/ sy2 rO rh1" />
15631 + <gd name="dxO" fmla="+- x2O 0 x1O" />
15632 + <gd name="dyO" fmla="+- y2O 0 y1O" />
15633 + <gd name="dO" fmla="mod dxO dyO 0" />
15635 + <gd name="q1" fmla="*/ x1O y2O 1" />
15636 + <gd name="q2" fmla="*/ x2O y1O 1" />
15637 + <gd name="DO" fmla="+- q1 0 q2" />
15640 + <gd name="q3" fmla="*/ rO rO 1" />
15642 + <gd name="q4" fmla="*/ dO dO 1" />
15644 + <gd name="q5" fmla="*/ q3 q4 1" />
15646 + <gd name="q6" fmla="*/ DO DO 1" />
15648 + <gd name="q7" fmla="+- q5 0 q6" />
15650 + <gd name="q8" fmla="max q7 0" />
15652 + <gd name="sdelO" fmla="sqrt q8" />
15654 + <gd name="ndyO" fmla="*/ dyO -1 1" />
15655 + <gd name="sdyO" fmla="?: ndyO -1 1" />
15657 + <gd name="q9" fmla="*/ sdyO dxO 1" />
15659 + <gd name="q10" fmla="*/ q9 sdelO 1" />
15661 + <gd name="q11" fmla="*/ DO dyO 1" />
15663 + <gd name="dxF1" fmla="+/ q11 q10 q4" />
15665 + <gd name="q12" fmla="+- q11 0 q10" />
15666 + <gd name="dxF2" fmla="*/ q12 1 q4" />
15669 + <gd name="adyO" fmla="abs dyO" />
15670 + <gd name="q13" fmla="*/ adyO sdelO 1" />
15672 + <gd name="q14" fmla="*/ DO dxO -1" />
15674 + <gd name="dyF1" fmla="+/ q14 q13 q4" />
15676 + <gd name="q15" fmla="+- q14 0 q13" />
15677 + <gd name="dyF2" fmla="*/ q15 1 q4" />
15681 + <gd name="q16" fmla="+- x2O 0 dxF1" />
15682 + <gd name="q17" fmla="+- x2O 0 dxF2" />
15683 + <gd name="q18" fmla="+- y2O 0 dyF1" />
15684 + <gd name="q19" fmla="+- y2O 0 dyF2" />
15685 + <gd name="q20" fmla="mod q16 q18 0" />
15687 + <gd name="q21" fmla="mod q17 q19 0" />
15689 + <gd name="q22" fmla="+- q21 0 q20" />
15690 + <gd name="dxF" fmla="?: q22 dxF1 dxF2" />
15692 + <gd name="dyF" fmla="?: q22 dyF1 dyF2" />
15694 + <gd name="sdxF" fmla="*/ dxF rw1 rO" />
15696 + <gd name="sdyF" fmla="*/ dyF rh1 rO" />
15698 + <gd name="xF" fmla="+- hc sdxF 0" />
15700 + <gd name="yF" fmla="+- vc sdyF 0" />
15705 + <gd name="x1I" fmla="*/ sx1 rI rw2" />
15707 + <gd name="y1I" fmla="*/ sy1 rI rh2" />
15709 + <gd name="x2I" fmla="*/ sx2 rI rw2" />
15711 + <gd name="y2I" fmla="*/ sy2 rI rh2" />
15714 + <gd name="dxI" fmla="+- x2I 0 x1I" />
15715 + <gd name="dyI" fmla="+- y2I 0 y1I" />
15716 + <gd name="dI" fmla="mod dxI dyI 0" />
15717 + <gd name="v1" fmla="*/ x1I y2I 1" />
15718 + <gd name="v2" fmla="*/ x2I y1I 1" />
15719 + <gd name="DI" fmla="+- v1 0 v2" />
15721 + <gd name="v3" fmla="*/ rI rI 1" />
15722 + <gd name="v4" fmla="*/ dI dI 1" />
15723 + <gd name="v5" fmla="*/ v3 v4 1" />
15724 + <gd name="v6" fmla="*/ DI DI 1" />
15725 + <gd name="v7" fmla="+- v5 0 v6" />
15726 + <gd name="v8" fmla="max v7 0" />
15727 + <gd name="sdelI" fmla="sqrt v8" />
15728 + <gd name="v9" fmla="*/ sdyO dxI 1" />
15729 + <gd name="v10" fmla="*/ v9 sdelI 1" />
15730 + <gd name="v11" fmla="*/ DI dyI 1" />
15731 + <gd name="dxC1" fmla="+/ v11 v10 v4" />
15732 + <gd name="v12" fmla="+- v11 0 v10" />
15733 + <gd name="dxC2" fmla="*/ v12 1 v4" />
15735 + <gd name="adyI" fmla="abs dyI" />
15736 + <gd name="v13" fmla="*/ adyI sdelI 1" />
15737 + <gd name="v14" fmla="*/ DI dxI -1" />
15738 + <gd name="dyC1" fmla="+/ v14 v13 v4" />
15739 + <gd name="v15" fmla="+- v14 0 v13" />
15740 + <gd name="dyC2" fmla="*/ v15 1 v4" />
15742 + <gd name="v16" fmla="+- x1I 0 dxC1" />
15743 + <gd name="v17" fmla="+- x1I 0 dxC2" />
15744 + <gd name="v18" fmla="+- y1I 0 dyC1" />
15745 + <gd name="v19" fmla="+- y1I 0 dyC2" />
15746 + <gd name="v20" fmla="mod v16 v18 0" />
15747 + <gd name="v21" fmla="mod v17 v19 0" />
15748 + <gd name="v22" fmla="+- v21 0 v20" />
15749 + <gd name="dxC" fmla="?: v22 dxC1 dxC2" />
15750 + <gd name="dyC" fmla="?: v22 dyC1 dyC2" />
15751 + <gd name="sdxC" fmla="*/ dxC rw2 rI" />
15752 + <gd name="sdyC" fmla="*/ dyC rh2 rI" />
15753 + <gd name="xC" fmla="+- hc sdxC 0" />
15755 + <gd name="yC" fmla="+- vc sdyC 0" />
15758 + <gd name="wtI" fmla="sin rw3 stAng" />
15759 + <gd name="htI" fmla="cos rh3 stAng" />
15760 + <gd name="dxI" fmla="cat2 rw3 htI wtI" />
15761 + <gd name="dyI" fmla="sat2 rh3 htI wtI" />
15762 + <gd name="xI" fmla="+- hc dxI 0" />
15764 + <gd name="yI" fmla="+- vc dyI 0" />
15767 + <gd name="lptAng" fmla="+- stAng 0 aAng" />
15770 + <gd name="wtL" fmla="sin rw3 lptAng" />
15771 + <gd name="htL" fmla="cos rh3 lptAng" />
15772 + <gd name="dxL" fmla="cat2 rw3 htL wtL" />
15773 + <gd name="dyL" fmla="sat2 rh3 htL wtL" />
15774 + <gd name="xL" fmla="+- hc dxL 0" />
15776 + <gd name="yL" fmla="+- vc dyL 0" />
15779 + <gd name="dxK" fmla="cos thh lptAng" />
15780 + <gd name="dyK" fmla="sin thh lptAng" />
15781 + <gd name="xK" fmla="+- xI dxK 0" />
15783 + <gd name="yK" fmla="+- yI dyK 0" />
15786 + <gd name="dxJ" fmla="cos thh lptAng" />
15787 + <gd name="dyJ" fmla="sin thh lptAng" />
15788 + <gd name="xJ" fmla="+- xI 0 dxJ 0" />
15790 + <gd name="yJ" fmla="+- yI 0 dyJ 0" />
15793 + <gd name="p1" fmla="+- xF 0 xC" />
15794 + <gd name="p2" fmla="+- yF 0 yC" />
15795 + <gd name="p3" fmla="mod p1 p2 0" />
15796 + <gd name="p4" fmla="*/ p3 1 2" />
15797 + <gd name="p5" fmla="+- p4 0 thh" />
15798 + <gd name="xGp" fmla="?: p5 xF xG" />
15799 + <gd name="yGp" fmla="?: p5 yF yG" />
15800 + <gd name="xBp" fmla="?: p5 xC xB" />
15801 + <gd name="yBp" fmla="?: p5 yC yB" />
15803 + <gd name="en0" fmla="at2 sdxF sdyF" />
15804 + <gd name="en1" fmla="+- en0 21600000 0" />
15805 + <gd name="en2" fmla="?: en0 en0 en1" />
15806 + <gd name="od0" fmla="+- en2 0 enAng" />
15807 + <gd name="od1" fmla="+- od0 21600000 0" />
15808 + <gd name="od2" fmla="?: od0 od0 od1" />
15810 + <gd name="st0" fmla="+- stAng 0 od2" />
15811 + <gd name="st1" fmla="+- st0 21600000 0" />
15812 + <gd name="st2" fmla="?: st0 st0 st1" />
15814 + <gd name="sw0" fmla="+- en2 0 st2" />
15815 + <gd name="sw1" fmla="+- sw0 21600000 0" />
15816 + <gd name="swAng" fmla="?: sw0 sw0 sw1" />
15819 + <gd name="ist0" fmla="at2 sdxC sdyC" />
15820 + <gd name="ist1" fmla="+- ist0 21600000 0" />
15821 + <gd name="istAng" fmla="?: ist0 ist0 ist1" />
15823 + <gd name="id0" fmla="+- istAng 0 enAng" />
15824 + <gd name="id1" fmla="+- id0 0 21600000" />
15825 + <gd name="id2" fmla="?: id0 id1 id0" />
15827 + <gd name="ien0" fmla="+- stAng 0 id2" />
15828 + <gd name="ien1" fmla="+- ien0 0 21600000" />
15829 + <gd name="ien2" fmla="?: ien1 ien1 ien0" />
15831 + <gd name="isw1" fmla="+- ien2 0 istAng" />
15832 + <gd name="isw2" fmla="+- isw1 0 21600000" />
15833 + <gd name="iswAng" fmla="?: isw1 isw2 isw1" />
15836 + <gd name="wtE" fmla="sin rw1 st2" />
15837 + <gd name="htE" fmla="cos rh1 st2" />
15838 + <gd name="dxE" fmla="cat2 rw1 htE wtE" />
15839 + <gd name="dyE" fmla="sat2 rh1 htE wtE" />
15840 + <gd name="xE" fmla="+- hc dxE 0" />
15842 + <gd name="yE" fmla="+- vc dyE 0" />
15845 + <gd name="wtD" fmla="sin rw2 ien2" />
15846 + <gd name="htD" fmla="cos rh2 ien2" />
15847 + <gd name="dxD" fmla="cat2 rw2 htD wtD" />
15848 + <gd name="dyD" fmla="sat2 rh2 htD wtD" />
15849 + <gd name="xD" fmla="+- hc dxD 0" />
15851 + <gd name="yD" fmla="+- vc dyD 0" />
15854 + <gd name="xKp" fmla="?: p5 xE xK" />
15855 + <gd name="yKp" fmla="?: p5 yE yK" />
15856 + <gd name="xJp" fmla="?: p5 xD xJ" />
15857 + <gd name="yJp" fmla="?: p5 yD yJ" />
15859 + <gd name="aL" fmla="+- lptAng 0 cd4" />
15860 + <gd name="aA" fmla="+- ptAng cd4 0" />
15861 + <gd name="aB" fmla="+- ptAng cd2 0" />
15862 + <gd name="aJ" fmla="+- lptAng cd2 0" />
15864 + <gd name="idx" fmla="cos rw1 2700000" />
15865 + <gd name="idy" fmla="sin rh1 2700000" />
15866 + <gd name="il" fmla="+- hc 0 idx" />
15867 + <gd name="ir" fmla="+- hc idx 0" />
15868 + <gd name="it" fmla="+- vc 0 idy" />
15869 + <gd name="ib" fmla="+- vc idy 0" />
15870 + </gdLst>
15872 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
15873 + <ahPolar gdRefAng="adj2" minAng="0" maxAng="maxAng">
15874 + <pos x="xA" y="yA" />
15875 + </ahPolar>
15876 + <ahPolar gdRefAng="adj4" minAng="0" maxAng="21599999">
15877 + <pos x="xE" y="yE" />
15878 + </ahPolar>
15879 + <ahPolar gdRefR="adj1" minR="0" maxR="maxAdj1" gdRefAng="adj3" minAng="0" maxAng="21599999">
15880 + <pos x="xF" y="yF" />
15881 + </ahPolar>
15882 + <ahPolar gdRefR="adj5" minR="0" maxR="25000">
15883 + <pos x="xB" y="yB" />
15884 + </ahPolar>
15885 + </ahLst>
15887 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
15888 + <cxn ang="aL">
15889 + <pos x="xL" y="yL" />
15890 + </cxn>
15891 + <cxn ang="lptAng">
15892 + <pos x="xKp" y="yKp" />
15893 + </cxn>
15894 + <cxn ang="ptAng">
15895 + <pos x="xGp" y="yGp" />
15896 + </cxn>
15897 + <cxn ang="aA">
15898 + <pos x="xA" y="yA" />
15899 + </cxn>
15900 + <cxn ang="aB">
15901 + <pos x="xBp" y="yBp" />
15902 + </cxn>
15903 + <cxn ang="aJ">
15904 + <pos x="xJp" y="yJp" />
15905 + </cxn>
15906 + </cxnLst>
15908 + <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
15910 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
15911 + <path>
15912 + <moveTo>
15913 + <pt x="xL" y="yL" />
15914 + </moveTo>
15915 + <lnTo>
15916 + <pt x="xKp" y="yKp" />
15917 + </lnTo>
15918 + <lnTo>
15919 + <pt x="xE" y="yE" />
15920 + </lnTo>
15921 + <arcTo wR="rw1" hR="rh1" stAng="st2" swAng="swAng" />
15922 + <lnTo>
15923 + <pt x="xGp" y="yGp" />
15924 + </lnTo>
15925 + <lnTo>
15926 + <pt x="xA" y="yA" />
15927 + </lnTo>
15928 + <lnTo>
15929 + <pt x="xBp" y="yBp" />
15930 + </lnTo>
15931 + <lnTo>
15932 + <pt x="xC" y="yC" />
15933 + </lnTo>
15934 + <arcTo wR="rw2" hR="rh2" stAng="istAng" swAng="iswAng" />
15935 + <lnTo>
15936 + <pt x="xJp" y="yJp" />
15937 + </lnTo>
15938 + <close />
15939 + </path>
15940 + </pathLst>
15942 + </leftRightCircularArrow>
15943 + <leftRightRibbon>
15945 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
15946 + <gd name="adj1" fmla="val 50000" />
15948 + <gd name="adj2" fmla="val 50000" />
15950 + <gd name="adj3" fmla="val 16667" />
15952 + </avLst>
15954 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
15955 + <gd name="a3" fmla="pin 0 adj3 33333" />
15956 + <gd name="maxAdj1" fmla="+- 100000 0 a3" />
15957 + <gd name="a1" fmla="pin 0 adj1 maxAdj1" />
15959 + <gd name="w1" fmla="+- wd2 0 wd32" />
15960 + <gd name="maxAdj2" fmla="*/ 100000 w1 ss" />
15961 + <gd name="a2" fmla="pin 0 adj2 maxAdj2" />
15963 + <gd name="x1" fmla="*/ ss a2 100000" />
15965 + <gd name="x4" fmla="+- r 0 x1" />
15967 + <gd name="dy1" fmla="*/ h a1 200000" />
15969 + <gd name="dy2" fmla="*/ h a3 -200000" />
15971 + <gd name="ly1" fmla="+- vc dy2 dy1" />
15973 + <gd name="ry4" fmla="+- vc dy1 dy2" />
15975 + <gd name="ly2" fmla="+- ly1 dy1 0" />
15977 + <gd name="ry3" fmla="+- b 0 ly2" />
15979 + <gd name="ly4" fmla="*/ ly2 2 1" />
15981 + <gd name="ry1" fmla="+- b 0 ly4" />
15983 + <gd name="ly3" fmla="+- ly4 0 ly1" />
15985 + <gd name="ry2" fmla="+- b 0 ly3" />
15988 + <gd name="hR" fmla="*/ a3 ss 400000" />
15990 + <gd name="x2" fmla="+- hc 0 wd32" />
15992 + <gd name="x3" fmla="+- hc wd32 0" />
15994 + <gd name="y1" fmla="+- ly1 hR 0" />
15996 + <gd name="y2" fmla="+- ry2 0 hR" />
15999 + </gdLst>
16001 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
16002 + <ahXY gdRefY="adj1" minY="0" maxY="maxAdj1">
16003 + <pos x="x4" y="ry2" />
16004 + </ahXY>
16005 + <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">
16006 + <pos x="x1" y="t" />
16007 + </ahXY>
16008 + <ahXY gdRefY="adj3" minY="0" maxY="33333">
16009 + <pos x="x3" y="ry2" />
16010 + </ahXY>
16011 + </ahLst>
16013 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
16014 + <cxn ang="0">
16015 + <pos x="r" y="ry3" />
16016 + </cxn>
16017 + <cxn ang="cd4">
16018 + <pos x="x4" y="b" />
16019 + </cxn>
16020 + <cxn ang="cd4">
16021 + <pos x="x1" y="ly4" />
16022 + </cxn>
16023 + <cxn ang="cd2">
16024 + <pos x="l" y="ly2" />
16025 + </cxn>
16026 + <cxn ang="3cd4">
16027 + <pos x="x1" y="t" />
16028 + </cxn>
16029 + <cxn ang="3cd4">
16030 + <pos x="x4" y="ry1" />
16031 + </cxn>
16032 + </cxnLst>
16034 + <rect l="x1" t="ly1" r="x4" b="ry4" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
16036 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
16037 + <path stroke="false" extrusionOk="false">
16039 + <moveTo>
16040 + <pt x="l" y="ly2" />
16041 + </moveTo>
16042 + <lnTo>
16043 + <pt x="x1" y="t" />
16044 + </lnTo>
16045 + <lnTo>
16046 + <pt x="x1" y="ly1" />
16047 + </lnTo>
16048 + <lnTo>
16049 + <pt x="hc" y="ly1" />
16050 + </lnTo>
16051 + <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="cd2" />
16052 + <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="-10800000" />
16053 + <lnTo>
16054 + <pt x="x4" y="ry2" />
16055 + </lnTo>
16056 + <lnTo>
16057 + <pt x="x4" y="ry1" />
16058 + </lnTo>
16059 + <lnTo>
16060 + <pt x="r" y="ry3" />
16061 + </lnTo>
16062 + <lnTo>
16063 + <pt x="x4" y="b" />
16064 + </lnTo>
16065 + <lnTo>
16066 + <pt x="x4" y="ry4" />
16067 + </lnTo>
16068 + <lnTo>
16069 + <pt x="hc" y="ry4" />
16070 + </lnTo>
16071 + <arcTo wR="wd32" hR="hR" stAng="cd4" swAng="cd4" />
16072 + <lnTo>
16073 + <pt x="x2" y="ly3" />
16074 + </lnTo>
16075 + <lnTo>
16076 + <pt x="x1" y="ly3" />
16077 + </lnTo>
16078 + <lnTo>
16079 + <pt x="x1" y="ly4" />
16080 + </lnTo>
16081 + <close />
16082 + </path>
16083 + <path stroke="false" fill="darkenLess" extrusionOk="false">
16085 + <moveTo>
16086 + <pt x="x3" y="y1" />
16087 + </moveTo>
16088 + <arcTo wR="wd32" hR="hR" stAng="0" swAng="cd4" />
16089 + <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="-10800000" />
16090 + <lnTo>
16091 + <pt x="x3" y="ry2" />
16092 + </lnTo>
16093 + <close />
16094 + </path>
16095 + <path fill="none" extrusionOk="false">
16097 + <moveTo>
16098 + <pt x="l" y="ly2" />
16099 + </moveTo>
16100 + <lnTo>
16101 + <pt x="x1" y="t" />
16102 + </lnTo>
16103 + <lnTo>
16104 + <pt x="x1" y="ly1" />
16105 + </lnTo>
16106 + <lnTo>
16107 + <pt x="hc" y="ly1" />
16108 + </lnTo>
16109 + <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="cd2" />
16110 + <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="-10800000" />
16111 + <lnTo>
16112 + <pt x="x4" y="ry2" />
16113 + </lnTo>
16114 + <lnTo>
16115 + <pt x="x4" y="ry1" />
16116 + </lnTo>
16117 + <lnTo>
16118 + <pt x="r" y="ry3" />
16119 + </lnTo>
16120 + <lnTo>
16121 + <pt x="x4" y="b" />
16122 + </lnTo>
16123 + <lnTo>
16124 + <pt x="x4" y="ry4" />
16125 + </lnTo>
16126 + <lnTo>
16127 + <pt x="hc" y="ry4" />
16128 + </lnTo>
16129 + <arcTo wR="wd32" hR="hR" stAng="cd4" swAng="cd4" />
16130 + <lnTo>
16131 + <pt x="x2" y="ly3" />
16132 + </lnTo>
16133 + <lnTo>
16134 + <pt x="x1" y="ly3" />
16135 + </lnTo>
16136 + <lnTo>
16137 + <pt x="x1" y="ly4" />
16138 + </lnTo>
16139 + <close />
16140 + <moveTo>
16141 + <pt x="x3" y="y1" />
16142 + </moveTo>
16143 + <lnTo>
16144 + <pt x="x3" y="ry2" />
16145 + </lnTo>
16146 + <moveTo>
16147 + <pt x="x2" y="y2" />
16148 + </moveTo>
16149 + <lnTo>
16150 + <pt x="x2" y="ly3" />
16151 + </lnTo>
16152 + </path>
16153 + </pathLst>
16155 + </leftRightRibbon>
16156 + <leftRightUpArrow>
16158 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
16159 + <gd name="adj1" fmla="val 25000" />
16161 + <gd name="adj2" fmla="val 25000" />
16163 + <gd name="adj3" fmla="val 25000" />
16165 + </avLst>
16167 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
16168 + <gd name="a2" fmla="pin 0 adj2 50000" />
16169 + <gd name="maxAdj1" fmla="*/ a2 2 1" />
16170 + <gd name="a1" fmla="pin 0 adj1 maxAdj1" />
16171 + <gd name="q1" fmla="+- 100000 0 maxAdj1" />
16172 + <gd name="maxAdj3" fmla="*/ q1 1 2" />
16173 + <gd name="a3" fmla="pin 0 adj3 maxAdj3" />
16174 + <gd name="x1" fmla="*/ ss a3 100000" />
16175 + <gd name="dx2" fmla="*/ ss a2 100000" />
16177 + <gd name="x2" fmla="+- hc 0 dx2" />
16178 + <gd name="x5" fmla="+- hc dx2 0" />
16179 + <gd name="dx3" fmla="*/ ss a1 200000" />
16181 + <gd name="x3" fmla="+- hc 0 dx3" />
16182 + <gd name="x4" fmla="+- hc dx3 0" />
16183 + <gd name="x6" fmla="+- r 0 x1" />
16185 + <gd name="dy2" fmla="*/ ss a2 50000" />
16187 + <gd name="y2" fmla="+- b 0 dy2" />
16188 + <gd name="y4" fmla="+- b 0 dx2" />
16189 + <gd name="y3" fmla="+- y4 0 dx3" />
16190 + <gd name="y5" fmla="+- y4 dx3 0" />
16191 + <gd name="il" fmla="*/ dx3 x1 dx2" />
16192 + <gd name="ir" fmla="+- r 0 il" />
16193 + </gdLst>
16195 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
16196 + <ahXY gdRefX="adj1" minX="0" maxX="maxAdj1">
16197 + <pos x="x3" y="x1" />
16198 + </ahXY>
16199 + <ahXY gdRefX="adj2" minX="0" maxX="50000">
16200 + <pos x="x2" y="t" />
16201 + </ahXY>
16202 + <ahXY gdRefY="adj3" minY="0" maxY="maxAdj3">
16203 + <pos x="r" y="x1" />
16204 + </ahXY>
16205 + </ahLst>
16207 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
16208 + <cxn ang="3cd4">
16209 + <pos x="hc" y="t" />
16210 + </cxn>
16211 + <cxn ang="cd2">
16212 + <pos x="l" y="y4" />
16213 + </cxn>
16214 + <cxn ang="cd4">
16215 + <pos x="hc" y="y5" />
16216 + </cxn>
16217 + <cxn ang="0">
16218 + <pos x="r" y="y4" />
16219 + </cxn>
16220 + </cxnLst>
16222 + <rect l="il" t="y3" r="ir" b="y5" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
16224 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
16225 + <path>
16226 + <moveTo>
16227 + <pt x="l" y="y4" />
16228 + </moveTo>
16229 + <lnTo>
16230 + <pt x="x1" y="y2" />
16231 + </lnTo>
16232 + <lnTo>
16233 + <pt x="x1" y="y3" />
16234 + </lnTo>
16235 + <lnTo>
16236 + <pt x="x3" y="y3" />
16237 + </lnTo>
16238 + <lnTo>
16239 + <pt x="x3" y="x1" />
16240 + </lnTo>
16241 + <lnTo>
16242 + <pt x="x2" y="x1" />
16243 + </lnTo>
16244 + <lnTo>
16245 + <pt x="hc" y="t" />
16246 + </lnTo>
16247 + <lnTo>
16248 + <pt x="x5" y="x1" />
16249 + </lnTo>
16250 + <lnTo>
16251 + <pt x="x4" y="x1" />
16252 + </lnTo>
16253 + <lnTo>
16254 + <pt x="x4" y="y3" />
16255 + </lnTo>
16256 + <lnTo>
16257 + <pt x="x6" y="y3" />
16258 + </lnTo>
16259 + <lnTo>
16260 + <pt x="x6" y="y2" />
16261 + </lnTo>
16262 + <lnTo>
16263 + <pt x="r" y="y4" />
16264 + </lnTo>
16265 + <lnTo>
16266 + <pt x="x6" y="b" />
16267 + </lnTo>
16268 + <lnTo>
16269 + <pt x="x6" y="y5" />
16270 + </lnTo>
16271 + <lnTo>
16272 + <pt x="x1" y="y5" />
16273 + </lnTo>
16274 + <lnTo>
16275 + <pt x="x1" y="b" />
16276 + </lnTo>
16277 + <close />
16278 + </path>
16279 + </pathLst>
16281 + </leftRightUpArrow>
16282 + <leftUpArrow>
16284 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
16285 + <gd name="adj1" fmla="val 25000" />
16287 + <gd name="adj2" fmla="val 25000" />
16289 + <gd name="adj3" fmla="val 25000" />
16291 + </avLst>
16293 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
16294 + <gd name="a2" fmla="pin 0 adj2 50000" />
16295 + <gd name="maxAdj1" fmla="*/ a2 2 1" />
16296 + <gd name="a1" fmla="pin 0 adj1 maxAdj1" />
16297 + <gd name="maxAdj3" fmla="+- 100000 0 maxAdj1" />
16298 + <gd name="a3" fmla="pin 0 adj3 maxAdj3" />
16299 + <gd name="x1" fmla="*/ ss a3 100000" />
16301 + <gd name="dx2" fmla="*/ ss a2 50000" />
16303 + <gd name="x2" fmla="+- r 0 dx2" />
16304 + <gd name="y2" fmla="+- b 0 dx2" />
16305 + <gd name="dx4" fmla="*/ ss a2 100000" />
16307 + <gd name="x4" fmla="+- r 0 dx4" />
16308 + <gd name="y4" fmla="+- b 0 dx4" />
16309 + <gd name="dx3" fmla="*/ ss a1 200000" />
16311 + <gd name="x3" fmla="+- x4 0 dx3" />
16312 + <gd name="x5" fmla="+- x4 dx3 0" />
16313 + <gd name="y3" fmla="+- y4 0 dx3" />
16314 + <gd name="y5" fmla="+- y4 dx3 0" />
16315 + <gd name="il" fmla="*/ dx3 x1 dx4" />
16316 + <gd name="cx1" fmla="+/ x1 x5 2" />
16317 + <gd name="cy1" fmla="+/ x1 y5 2" />
16318 + </gdLst>
16320 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
16321 + <ahXY gdRefY="adj1" minY="0" maxY="maxAdj1">
16322 + <pos x="x3" y="y3" />
16323 + </ahXY>
16324 + <ahXY gdRefX="adj2" minX="0" maxX="50000">
16325 + <pos x="x2" y="t" />
16326 + </ahXY>
16327 + <ahXY gdRefY="adj3" minY="0" maxY="maxAdj3">
16328 + <pos x="x3" y="x1" />
16329 + </ahXY>
16330 + </ahLst>
16332 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
16333 + <cxn ang="3cd4">
16334 + <pos x="x4" y="t" />
16335 + </cxn>
16336 + <cxn ang="cd2">
16337 + <pos x="x2" y="x1" />
16338 + </cxn>
16339 + <cxn ang="3cd4">
16340 + <pos x="x1" y="y2" />
16341 + </cxn>
16342 + <cxn ang="cd2">
16343 + <pos x="l" y="y4" />
16344 + </cxn>
16345 + <cxn ang="cd4">
16346 + <pos x="x1" y="b" />
16347 + </cxn>
16348 + <cxn ang="cd4">
16349 + <pos x="cx1" y="y5" />
16350 + </cxn>
16351 + <cxn ang="0">
16352 + <pos x="x5" y="cy1" />
16353 + </cxn>
16354 + <cxn ang="0">
16355 + <pos x="r" y="x1" />
16356 + </cxn>
16357 + </cxnLst>
16359 + <rect l="il" t="y3" r="x4" b="y5" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
16361 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
16362 + <path>
16363 + <moveTo>
16364 + <pt x="l" y="y4" />
16365 + </moveTo>
16366 + <lnTo>
16367 + <pt x="x1" y="y2" />
16368 + </lnTo>
16369 + <lnTo>
16370 + <pt x="x1" y="y3" />
16371 + </lnTo>
16372 + <lnTo>
16373 + <pt x="x3" y="y3" />
16374 + </lnTo>
16375 + <lnTo>
16376 + <pt x="x3" y="x1" />
16377 + </lnTo>
16378 + <lnTo>
16379 + <pt x="x2" y="x1" />
16380 + </lnTo>
16381 + <lnTo>
16382 + <pt x="x4" y="t" />
16383 + </lnTo>
16384 + <lnTo>
16385 + <pt x="r" y="x1" />
16386 + </lnTo>
16387 + <lnTo>
16388 + <pt x="x5" y="x1" />
16389 + </lnTo>
16390 + <lnTo>
16391 + <pt x="x5" y="y5" />
16392 + </lnTo>
16393 + <lnTo>
16394 + <pt x="x1" y="y5" />
16395 + </lnTo>
16396 + <lnTo>
16397 + <pt x="x1" y="b" />
16398 + </lnTo>
16399 + <close />
16400 + </path>
16401 + </pathLst>
16403 + </leftUpArrow>
16404 + <lightningBolt>
16406 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
16407 + <gd name="x1" fmla="*/ w 5022 21600" />
16408 + <gd name="x3" fmla="*/ w 8472 21600" />
16409 + <gd name="x4" fmla="*/ w 8757 21600" />
16411 + <gd name="x5" fmla="*/ w 10012 21600" />
16412 + <gd name="x8" fmla="*/ w 12860 21600" />
16413 + <gd name="x9" fmla="*/ w 13917 21600" />
16415 + <gd name="x11" fmla="*/ w 16577 21600" />
16416 + <gd name="y1" fmla="*/ h 3890 21600" />
16417 + <gd name="y2" fmla="*/ h 6080 21600" />
16418 + <gd name="y4" fmla="*/ h 7437 21600" />
16420 + <gd name="y6" fmla="*/ h 9705 21600" />
16421 + <gd name="y7" fmla="*/ h 12007 21600" />
16422 + <gd name="y10" fmla="*/ h 14277 21600" />
16424 + <gd name="y11" fmla="*/ h 14915 21600" />
16426 + </gdLst>
16428 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
16429 + <cxn ang="3cd4">
16430 + <pos x="x3" y="t" />
16431 + </cxn>
16432 + <cxn ang="3cd4">
16433 + <pos x="l" y="y1" />
16434 + </cxn>
16435 + <cxn ang="cd2">
16436 + <pos x="x1" y="y6" />
16437 + </cxn>
16438 + <cxn ang="cd2">
16439 + <pos x="x5" y="y11" />
16440 + </cxn>
16441 + <cxn ang="cd4">
16442 + <pos x="r" y="b" />
16443 + </cxn>
16444 + <cxn ang="0">
16445 + <pos x="x11" y="y7" />
16446 + </cxn>
16447 + <cxn ang="0">
16448 + <pos x="x8" y="y2" />
16449 + </cxn>
16450 + </cxnLst>
16452 + <rect l="x4" t="y4" r="x9" b="y10" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
16454 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
16455 + <path w="21600" h="21600">
16456 + <moveTo>
16457 + <pt x="8472" y="0" />
16458 + </moveTo>
16459 + <lnTo>
16460 + <pt x="12860" y="6080" />
16461 + </lnTo>
16462 + <lnTo>
16463 + <pt x="11050" y="6797" />
16464 + </lnTo>
16465 + <lnTo>
16466 + <pt x="16577" y="12007" />
16467 + </lnTo>
16468 + <lnTo>
16469 + <pt x="14767" y="12877" />
16470 + </lnTo>
16471 + <lnTo>
16472 + <pt x="21600" y="21600" />
16473 + </lnTo>
16474 + <lnTo>
16475 + <pt x="10012" y="14915" />
16476 + </lnTo>
16477 + <lnTo>
16478 + <pt x="12222" y="13987" />
16479 + </lnTo>
16480 + <lnTo>
16481 + <pt x="5022" y="9705" />
16482 + </lnTo>
16483 + <lnTo>
16484 + <pt x="7602" y="8382" />
16485 + </lnTo>
16486 + <lnTo>
16487 + <pt x="0" y="3890" />
16488 + </lnTo>
16489 + <close />
16490 + </path>
16491 + </pathLst>
16493 + </lightningBolt>
16494 + <line>
16495 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
16496 + <cxn ang="cd4">
16497 + <pos x="l" y="t" />
16498 + </cxn>
16499 + <cxn ang="3cd4">
16500 + <pos x="r" y="b" />
16501 + </cxn>
16502 + </cxnLst>
16503 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
16504 + <path>
16505 + <moveTo>
16506 + <pt x="l" y="t" />
16507 + </moveTo>
16508 + <lnTo>
16509 + <pt x="r" y="b" />
16510 + </lnTo>
16511 + </path>
16512 + </pathLst>
16513 + </line>
16514 + <lineInv>
16515 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
16516 + <cxn ang="cd4">
16517 + <pos x="l" y="b" />
16518 + </cxn>
16519 + <cxn ang="3cd4">
16520 + <pos x="r" y="t" />
16521 + </cxn>
16522 + </cxnLst>
16523 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
16524 + <path>
16525 + <moveTo>
16526 + <pt x="l" y="b" />
16527 + </moveTo>
16528 + <lnTo>
16529 + <pt x="r" y="t" />
16530 + </lnTo>
16531 + </path>
16532 + </pathLst>
16533 + </lineInv>
16534 + <mathDivide>
16536 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
16537 + <gd name="adj1" fmla="val 23520" />
16539 + <gd name="adj2" fmla="val 5880" />
16541 + <gd name="adj3" fmla="val 11760" />
16543 + </avLst>
16545 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
16547 + <gd name="a1" fmla="pin 1000 adj1 36745" />
16548 + <gd name="ma1" fmla="+- 0 0 a1" />
16550 + <gd name="ma3h" fmla="+/ 73490 ma1 4" />
16552 + <gd name="ma3w" fmla="*/ 36745 w h" />
16554 + <gd name="maxAdj3" fmla="min ma3h ma3w" />
16555 + <gd name="a3" fmla="pin 1000 adj3 maxAdj3" />
16556 + <gd name="m4a3" fmla="*/ -4 a3 1" />
16558 + <gd name="maxAdj2" fmla="+- 73490 m4a3 a1" />
16559 + <gd name="a2" fmla="pin 0 adj2 maxAdj2" />
16561 + <gd name="dy1" fmla="*/ h a1 200000" />
16563 + <gd name="yg" fmla="*/ h a2 100000" />
16565 + <gd name="rad" fmla="*/ h a3 100000" />
16567 + <gd name="dx1" fmla="*/ w 73490 200000" />
16570 + <gd name="y3" fmla="+- vc 0 dy1" />
16572 + <gd name="y4" fmla="+- vc dy1 0" />
16574 + <gd name="a" fmla="+- yg rad 0" />
16575 + <gd name="y2" fmla="+- y3 0 a" />
16577 + <gd name="y1" fmla="+- y2 0 rad" />
16579 + <gd name="y5" fmla="+- b 0 y1" />
16582 + <gd name="x1" fmla="+- hc 0 dx1" />
16584 + <gd name="x3" fmla="+- hc dx1 0" />
16586 + <gd name="x2" fmla="+- hc 0 rad" />
16588 + </gdLst>
16590 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
16591 + <ahXY gdRefY="adj1" minY="1000" maxY="36745">
16592 + <pos x="l" y="y3" />
16593 + </ahXY>
16594 + <ahXY gdRefY="adj2" minY="0" maxY="maxAdj2">
16595 + <pos x="r" y="y2" />
16596 + </ahXY>
16597 + <ahXY gdRefX="adj3" minX="1000" maxX="maxAdj3">
16598 + <pos x="x2" y="t" />
16599 + </ahXY>
16600 + </ahLst>
16602 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
16603 + <cxn ang="0">
16604 + <pos x="x3" y="vc" />
16605 + </cxn>
16606 + <cxn ang="cd4">
16607 + <pos x="hc" y="y5" />
16608 + </cxn>
16609 + <cxn ang="cd2">
16610 + <pos x="x1" y="vc" />
16611 + </cxn>
16612 + <cxn ang="3cd4">
16613 + <pos x="hc" y="y1" />
16614 + </cxn>
16615 + </cxnLst>
16617 + <rect l="x1" t="y3" r="x3" b="y4" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
16619 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
16620 + <path>
16621 + <moveTo>
16622 + <pt x="hc" y="y1" />
16623 + </moveTo>
16624 + <arcTo hR="rad" wR="rad" stAng="3cd4" swAng="21600000" />
16625 + <close />
16626 + <moveTo>
16627 + <pt x="hc" y="y5" />
16628 + </moveTo>
16629 + <arcTo hR="rad" wR="rad" stAng="cd4" swAng="21600000" />
16630 + <close />
16631 + <moveTo>
16632 + <pt x="x1" y="y3" />
16633 + </moveTo>
16634 + <lnTo>
16635 + <pt x="x3" y="y3" />
16636 + </lnTo>
16637 + <lnTo>
16638 + <pt x="x3" y="y4" />
16639 + </lnTo>
16640 + <lnTo>
16641 + <pt x="x1" y="y4" />
16642 + </lnTo>
16643 + <close />
16644 + </path>
16645 + </pathLst>
16647 + </mathDivide>
16648 + <mathEqual>
16650 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
16651 + <gd name="adj1" fmla="val 23520" />
16653 + <gd name="adj2" fmla="val 11760" />
16655 + </avLst>
16657 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
16658 + <gd name="a1" fmla="pin 0 adj1 36745" />
16661 + <gd name="2a1" fmla="*/ a1 2 1" />
16663 + <gd name="mAdj2" fmla="+- 100000 0 2a1" />
16665 + <gd name="a2" fmla="pin 0 adj2 mAdj2" />
16666 + <gd name="dy1" fmla="*/ h a1 100000" />
16668 + <gd name="dy2" fmla="*/ h a2 200000" />
16670 + <gd name="dx1" fmla="*/ w 73490 200000" />
16673 + <gd name="y2" fmla="+- vc 0 dy2" />
16675 + <gd name="y3" fmla="+- vc dy2 0" />
16677 + <gd name="y1" fmla="+- y2 0 dy1" />
16679 + <gd name="y4" fmla="+- y3 dy1 0" />
16682 + <gd name="x1" fmla="+- hc 0 dx1" />
16684 + <gd name="x2" fmla="+- hc dx1 0" />
16688 + <gd name="yC1" fmla="+/ y1 y2 2" />
16690 + <gd name="yC2" fmla="+/ y3 y4 2" />
16692 + </gdLst>
16694 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
16695 + <ahXY gdRefY="adj1" minY="0" maxY="36745">
16696 + <pos x="l" y="y1" />
16697 + </ahXY>
16699 + <ahXY gdRefY="adj2" minY="0" maxY="mAdj2">
16700 + <pos x="r" y="y2" />
16701 + </ahXY>
16702 + </ahLst>
16704 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
16705 + <cxn ang="0">
16706 + <pos x="x2" y="yC1" />
16707 + </cxn>
16708 + <cxn ang="0">
16709 + <pos x="x2" y="yC2" />
16710 + </cxn>
16711 + <cxn ang="cd4">
16712 + <pos x="hc" y="y4" />
16713 + </cxn>
16714 + <cxn ang="cd2">
16715 + <pos x="x1" y="yC1" />
16716 + </cxn>
16717 + <cxn ang="cd2">
16718 + <pos x="x1" y="yC2" />
16719 + </cxn>
16720 + <cxn ang="3cd4">
16721 + <pos x="hc" y="y1" />
16722 + </cxn>
16723 + </cxnLst>
16725 + <rect l="x1" t="y1" r="x2" b="y4" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
16727 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
16728 + <path>
16729 + <moveTo>
16730 + <pt x="x1" y="y1" />
16731 + </moveTo>
16732 + <lnTo>
16733 + <pt x="x2" y="y1" />
16734 + </lnTo>
16735 + <lnTo>
16736 + <pt x="x2" y="y2" />
16737 + </lnTo>
16738 + <lnTo>
16739 + <pt x="x1" y="y2" />
16740 + </lnTo>
16741 + <close />
16742 + <moveTo>
16743 + <pt x="x1" y="y3" />
16744 + </moveTo>
16745 + <lnTo>
16746 + <pt x="x2" y="y3" />
16747 + </lnTo>
16748 + <lnTo>
16749 + <pt x="x2" y="y4" />
16750 + </lnTo>
16751 + <lnTo>
16752 + <pt x="x1" y="y4" />
16753 + </lnTo>
16754 + <close />
16755 + </path>
16756 + </pathLst>
16758 + </mathEqual>
16759 + <mathMinus>
16761 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
16762 + <gd name="adj1" fmla="val 23520" />
16764 + </avLst>
16766 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
16767 + <gd name="a1" fmla="pin 0 adj1 100000" />
16768 + <gd name="dy1" fmla="*/ h a1 200000" />
16770 + <gd name="dx1" fmla="*/ w 73490 200000" />
16773 + <gd name="y1" fmla="+- vc 0 dy1" />
16775 + <gd name="y2" fmla="+- vc dy1 0" />
16778 + <gd name="x1" fmla="+- hc 0 dx1" />
16780 + <gd name="x2" fmla="+- hc dx1 0" />
16782 + </gdLst>
16784 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
16785 + <ahXY gdRefY="adj1" minY="0" maxY="100000">
16786 + <pos x="l" y="y1" />
16787 + </ahXY>
16788 + </ahLst>
16790 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
16791 + <cxn ang="0">
16792 + <pos x="x2" y="vc" />
16793 + </cxn>
16794 + <cxn ang="cd4">
16795 + <pos x="hc" y="y2" />
16796 + </cxn>
16797 + <cxn ang="cd2">
16798 + <pos x="x1" y="vc" />
16799 + </cxn>
16800 + <cxn ang="3cd4">
16801 + <pos x="hc" y="y1" />
16802 + </cxn>
16803 + </cxnLst>
16805 + <rect l="x1" t="y1" r="x2" b="y2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
16807 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
16808 + <path>
16809 + <moveTo>
16810 + <pt x="x1" y="y1" />
16811 + </moveTo>
16812 + <lnTo>
16813 + <pt x="x2" y="y1" />
16814 + </lnTo>
16815 + <lnTo>
16816 + <pt x="x2" y="y2" />
16817 + </lnTo>
16818 + <lnTo>
16819 + <pt x="x1" y="y2" />
16820 + </lnTo>
16821 + <close />
16822 + </path>
16823 + </pathLst>
16825 + </mathMinus>
16826 + <mathMultiply>
16828 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
16829 + <gd name="adj1" fmla="val 23520" />
16831 + </avLst>
16833 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
16839 + <gd name="a1" fmla="pin 0 adj1 51965" />
16841 + <gd name="th" fmla="*/ ss a1 100000" />
16844 + <gd name="a" fmla="at2 w h" />
16846 + <gd name="sa" fmla="sin 1 a" />
16847 + <gd name="ca" fmla="cos 1 a" />
16848 + <gd name="ta" fmla="tan 1 a" />
16851 + <gd name="dl" fmla="mod w h 0" />
16853 + <gd name="rw" fmla="*/ dl 51965 100000" />
16857 + <gd name="lM" fmla="+- dl 0 rw" />
16858 + <gd name="xM" fmla="*/ ca lM 2" />
16859 + <gd name="yM" fmla="*/ sa lM 2" />
16862 + <gd name="dxAM" fmla="*/ sa th 2" />
16863 + <gd name="dyAM" fmla="*/ ca th 2" />
16864 + <gd name="xA" fmla="+- xM 0 dxAM" />
16865 + <gd name="yA" fmla="+- yM dyAM 0" />
16868 + <gd name="xB" fmla="+- xM dxAM 0" />
16869 + <gd name="yB" fmla="+- yM 0 dyAM" />
16872 + <gd name="xBC" fmla="+- hc 0 xB" />
16873 + <gd name="yBC" fmla="*/ xBC ta 1" />
16874 + <gd name="yC" fmla="+- yBC yB 0" />
16877 + <gd name="xD" fmla="+- r 0 xB" />
16878 + <gd name="xE" fmla="+- r 0 xA" />
16880 + <gd name="yFE" fmla="+- vc 0 yA" />
16881 + <gd name="xFE" fmla="*/ yFE 1 ta" />
16882 + <gd name="xF" fmla="+- xE 0 xFE" />
16883 + <gd name="xL" fmla="+- xA xFE 0" />
16884 + <gd name="yG" fmla="+- b 0 yA" />
16885 + <gd name="yH" fmla="+- b 0 yB" />
16886 + <gd name="yI" fmla="+- b 0 yC" />
16889 + <gd name="xC2" fmla="+- r 0 xM" />
16891 + <gd name="yC3" fmla="+- b 0 yM" />
16893 + </gdLst>
16895 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
16896 + <ahXY gdRefY="adj1" minY="0" maxY="51965">
16897 + <pos x="l" y="th" />
16898 + </ahXY>
16899 + </ahLst>
16901 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
16902 + <cxn ang="cd2">
16903 + <pos x="xM" y="yM" />
16904 + </cxn>
16905 + <cxn ang="3cd4">
16906 + <pos x="xC2" y="yM" />
16907 + </cxn>
16908 + <cxn ang="0">
16909 + <pos x="xC2" y="yC3" />
16910 + </cxn>
16911 + <cxn ang="cd4">
16912 + <pos x="xM" y="yC3" />
16913 + </cxn>
16914 + </cxnLst>
16916 + <rect l="xA" t="yB" r="xE" b="yH" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
16918 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
16919 + <path>
16920 + <moveTo>
16921 + <pt x="xA" y="yA" />
16922 + </moveTo>
16923 + <lnTo>
16924 + <pt x="xB" y="yB" />
16925 + </lnTo>
16926 + <lnTo>
16927 + <pt x="hc" y="yC" />
16928 + </lnTo>
16929 + <lnTo>
16930 + <pt x="xD" y="yB" />
16931 + </lnTo>
16932 + <lnTo>
16933 + <pt x="xE" y="yA" />
16934 + </lnTo>
16935 + <lnTo>
16936 + <pt x="xF" y="vc" />
16937 + </lnTo>
16938 + <lnTo>
16939 + <pt x="xE" y="yG" />
16940 + </lnTo>
16941 + <lnTo>
16942 + <pt x="xD" y="yH" />
16943 + </lnTo>
16944 + <lnTo>
16945 + <pt x="hc" y="yI" />
16946 + </lnTo>
16947 + <lnTo>
16948 + <pt x="xB" y="yH" />
16949 + </lnTo>
16950 + <lnTo>
16951 + <pt x="xA" y="yG" />
16952 + </lnTo>
16953 + <lnTo>
16954 + <pt x="xL" y="vc" />
16955 + </lnTo>
16956 + <close />
16957 + </path>
16958 + </pathLst>
16960 + </mathMultiply>
16961 + <mathNotEqual>
16963 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
16964 + <gd name="adj1" fmla="val 23520" />
16966 + <gd name="adj2" fmla="val 6600000" />
16968 + <gd name="adj3" fmla="val 11760" />
16970 + </avLst>
16972 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
16973 + <gd name="a1" fmla="pin 0 adj1 50000" />
16974 + <gd name="crAng" fmla="pin 4200000 adj2 6600000" />
16977 + <gd name="2a1" fmla="*/ a1 2 1" />
16978 + <gd name="maxAdj3" fmla="+- 100000 0 2a1" />
16979 + <gd name="a3" fmla="pin 0 adj3 maxAdj3" />
16981 + <gd name="dy1" fmla="*/ h a1 100000" />
16983 + <gd name="dy2" fmla="*/ h a3 200000" />
16985 + <gd name="dx1" fmla="*/ w 73490 200000" />
16988 + <gd name="x1" fmla="+- hc 0 dx1" />
16990 + <gd name="x8" fmla="+- hc dx1 0" />
16994 + <gd name="y2" fmla="+- vc 0 dy2" />
16996 + <gd name="y3" fmla="+- vc dy2 0" />
16998 + <gd name="y1" fmla="+- y2 0 dy1" />
17000 + <gd name="y4" fmla="+- y3 dy1 0" />
17003 + <gd name="cadj2" fmla="+- crAng 0 cd4" />
17004 + <gd name="xadj2" fmla="tan hd2 cadj2" />
17008 + <gd name="len" fmla="mod xadj2 hd2 0" />
17012 + <gd name="bhw" fmla="*/ len dy1 hd2" />
17014 + <gd name="bhw2" fmla="*/ bhw 1 2" />
17015 + <gd name="x7" fmla="+- hc xadj2 bhw2" />
17017 + <gd name="dx67" fmla="*/ xadj2 y1 hd2" />
17018 + <gd name="x6" fmla="+- x7 0 dx67" />
17020 + <gd name="dx57" fmla="*/ xadj2 y2 hd2" />
17021 + <gd name="x5" fmla="+- x7 0 dx57" />
17023 + <gd name="dx47" fmla="*/ xadj2 y3 hd2" />
17024 + <gd name="x4" fmla="+- x7 0 dx47" />
17026 + <gd name="dx37" fmla="*/ xadj2 y4 hd2" />
17027 + <gd name="x3" fmla="+- x7 0 dx37" />
17029 + <gd name="dx27" fmla="*/ xadj2 2 1" />
17030 + <gd name="x2" fmla="+- x7 0 dx27" />
17033 + <gd name="rx7" fmla="+- x7 bhw 0" />
17035 + <gd name="rx6" fmla="+- x6 bhw 0" />
17037 + <gd name="rx5" fmla="+- x5 bhw 0" />
17039 + <gd name="rx4" fmla="+- x4 bhw 0" />
17041 + <gd name="rx3" fmla="+- x3 bhw 0" />
17043 + <gd name="rx2" fmla="+- x2 bhw 0" />
17047 + <gd name="dx7" fmla="*/ dy1 hd2 len" />
17048 + <gd name="rxt" fmla="+- x7 dx7 0" />
17050 + <gd name="lxt" fmla="+- rx7 0 dx7" />
17052 + <gd name="rx" fmla="?: cadj2 rxt rx7" />
17054 + <gd name="lx" fmla="?: cadj2 x7 lxt" />
17057 + <gd name="dy3" fmla="*/ dy1 xadj2 len" />
17058 + <gd name="dy4" fmla="+- 0 0 dy3" />
17059 + <gd name="ry" fmla="?: cadj2 dy3 t" />
17061 + <gd name="ly" fmla="?: cadj2 t dy4" />
17064 + <gd name="dlx" fmla="+- w 0 rx" />
17066 + <gd name="drx" fmla="+- w 0 lx" />
17069 + <gd name="dly" fmla="+- h 0 ry" />
17071 + <gd name="dry" fmla="+- h 0 ly" />
17075 + <gd name="xC1" fmla="+/ rx lx 2" />
17077 + <gd name="xC2" fmla="+/ drx dlx 2" />
17080 + <gd name="yC1" fmla="+/ ry ly 2" />
17082 + <gd name="yC2" fmla="+/ y1 y2 2" />
17084 + <gd name="yC3" fmla="+/ y3 y4 2" />
17086 + <gd name="yC4" fmla="+/ dry dly 2" />
17089 + </gdLst>
17091 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17092 + <ahXY gdRefY="adj1" minY="0" maxY="50000">
17093 + <pos x="l" y="y1" />
17094 + </ahXY>
17095 + <ahPolar gdRefAng="adj2" minAng="4200000" maxAng="6600000">
17096 + <pos x="lx" y="t" />
17097 + </ahPolar>
17098 + <ahXY gdRefY="adj3" minY="0" maxY="maxAdj3">
17099 + <pos x="r" y="y2" />
17100 + </ahXY>
17101 + </ahLst>
17103 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17104 + <cxn ang="0">
17105 + <pos x="x8" y="yC2" />
17106 + </cxn>
17107 + <cxn ang="0">
17108 + <pos x="x8" y="yC3" />
17109 + </cxn>
17110 + <cxn ang="cd4">
17111 + <pos x="xC2" y="yC4" />
17112 + </cxn>
17113 + <cxn ang="cd2">
17114 + <pos x="x1" y="yC2" />
17115 + </cxn>
17116 + <cxn ang="cd2">
17117 + <pos x="x1" y="yC3" />
17118 + </cxn>
17119 + <cxn ang="3cd4">
17120 + <pos x="xC1" y="yC1" />
17121 + </cxn>
17122 + </cxnLst>
17124 + <rect l="x1" t="y1" r="x8" b="y4" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
17126 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17127 + <path>
17128 + <moveTo>
17129 + <pt x="x1" y="y1" />
17130 + </moveTo>
17131 + <lnTo>
17132 + <pt x="x6" y="y1" />
17133 + </lnTo>
17134 + <lnTo>
17135 + <pt x="lx" y="ly" />
17136 + </lnTo>
17137 + <lnTo>
17138 + <pt x="rx" y="ry" />
17139 + </lnTo>
17140 + <lnTo>
17141 + <pt x="rx6" y="y1" />
17142 + </lnTo>
17143 + <lnTo>
17144 + <pt x="x8" y="y1" />
17145 + </lnTo>
17146 + <lnTo>
17147 + <pt x="x8" y="y2" />
17148 + </lnTo>
17149 + <lnTo>
17150 + <pt x="rx5" y="y2" />
17151 + </lnTo>
17152 + <lnTo>
17153 + <pt x="rx4" y="y3" />
17154 + </lnTo>
17155 + <lnTo>
17156 + <pt x="x8" y="y3" />
17157 + </lnTo>
17158 + <lnTo>
17159 + <pt x="x8" y="y4" />
17160 + </lnTo>
17161 + <lnTo>
17162 + <pt x="rx3" y="y4" />
17163 + </lnTo>
17164 + <lnTo>
17165 + <pt x="drx" y="dry" />
17166 + </lnTo>
17167 + <lnTo>
17168 + <pt x="dlx" y="dly" />
17169 + </lnTo>
17170 + <lnTo>
17171 + <pt x="x3" y="y4" />
17172 + </lnTo>
17173 + <lnTo>
17174 + <pt x="x1" y="y4" />
17175 + </lnTo>
17176 + <lnTo>
17177 + <pt x="x1" y="y3" />
17178 + </lnTo>
17179 + <lnTo>
17180 + <pt x="x4" y="y3" />
17181 + </lnTo>
17182 + <lnTo>
17183 + <pt x="x5" y="y2" />
17184 + </lnTo>
17185 + <lnTo>
17186 + <pt x="x1" y="y2" />
17187 + </lnTo>
17188 + <close />
17189 + </path>
17190 + </pathLst>
17192 + </mathNotEqual>
17193 + <mathPlus>
17195 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17196 + <gd name="adj1" fmla="val 23520" />
17198 + </avLst>
17200 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17201 + <gd name="a1" fmla="pin 0 adj1 73490" />
17202 + <gd name="dx1" fmla="*/ w 73490 200000" />
17204 + <gd name="dy1" fmla="*/ h 73490 200000" />
17206 + <gd name="dx2" fmla="*/ ss a1 200000" />
17209 + <gd name="x1" fmla="+- hc 0 dx1" />
17211 + <gd name="x2" fmla="+- hc 0 dx2" />
17213 + <gd name="x3" fmla="+- hc dx2 0" />
17215 + <gd name="x4" fmla="+- hc dx1 0" />
17218 + <gd name="y1" fmla="+- vc 0 dy1" />
17220 + <gd name="y2" fmla="+- vc 0 dx2" />
17222 + <gd name="y3" fmla="+- vc dx2 0" />
17224 + <gd name="y4" fmla="+- vc dy1 0" />
17226 + </gdLst>
17228 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17229 + <ahXY gdRefY="adj1" minY="0" maxY="73490">
17230 + <pos x="l" y="y2" />
17231 + </ahXY>
17232 + </ahLst>
17234 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17235 + <cxn ang="0">
17236 + <pos x="x4" y="vc" />
17237 + </cxn>
17238 + <cxn ang="cd4">
17239 + <pos x="hc" y="y4" />
17240 + </cxn>
17241 + <cxn ang="cd2">
17242 + <pos x="x1" y="vc" />
17243 + </cxn>
17244 + <cxn ang="3cd4">
17245 + <pos x="hc" y="y1" />
17246 + </cxn>
17247 + </cxnLst>
17249 + <rect l="x1" t="y2" r="x4" b="y3" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
17251 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17252 + <path>
17253 + <moveTo>
17254 + <pt x="x1" y="y2" />
17255 + </moveTo>
17256 + <lnTo>
17257 + <pt x="x2" y="y2" />
17258 + </lnTo>
17259 + <lnTo>
17260 + <pt x="x2" y="y1" />
17261 + </lnTo>
17262 + <lnTo>
17263 + <pt x="x3" y="y1" />
17264 + </lnTo>
17265 + <lnTo>
17266 + <pt x="x3" y="y2" />
17267 + </lnTo>
17268 + <lnTo>
17269 + <pt x="x4" y="y2" />
17270 + </lnTo>
17271 + <lnTo>
17272 + <pt x="x4" y="y3" />
17273 + </lnTo>
17274 + <lnTo>
17275 + <pt x="x3" y="y3" />
17276 + </lnTo>
17277 + <lnTo>
17278 + <pt x="x3" y="y4" />
17279 + </lnTo>
17280 + <lnTo>
17281 + <pt x="x2" y="y4" />
17282 + </lnTo>
17283 + <lnTo>
17284 + <pt x="x2" y="y3" />
17285 + </lnTo>
17286 + <lnTo>
17287 + <pt x="x1" y="y3" />
17288 + </lnTo>
17289 + <close />
17290 + </path>
17291 + </pathLst>
17293 + </mathPlus>
17294 + <moon>
17296 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17297 + <gd name="adj" fmla="val 50000" />
17299 + </avLst>
17301 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17302 + <gd name="a" fmla="pin 0 adj 87500" />
17303 + <gd name="g0" fmla="*/ ss a 100000" />
17304 + <gd name="g0w" fmla="*/ g0 w ss" />
17305 + <gd name="g1" fmla="+- ss 0 g0" />
17306 + <gd name="g2" fmla="*/ g0 g0 g1" />
17307 + <gd name="g3" fmla="*/ ss ss g1" />
17308 + <gd name="g4" fmla="*/ g3 2 1" />
17309 + <gd name="g5" fmla="+- g4 0 g2" />
17310 + <gd name="g6" fmla="+- g5 0 g0" />
17311 + <gd name="g6w" fmla="*/ g6 w ss" />
17312 + <gd name="g7" fmla="*/ g5 1 2" />
17313 + <gd name="g8" fmla="+- g7 0 g0" />
17314 + <gd name="dy1" fmla="*/ g8 hd2 ss" />
17316 + <gd name="g10h" fmla="+- vc 0 dy1" />
17317 + <gd name="g11h" fmla="+- vc dy1 0" />
17318 + <gd name="g12" fmla="*/ g0 9598 32768" />
17319 + <gd name="g12w" fmla="*/ g12 w ss" />
17320 + <gd name="g13" fmla="+- ss 0 g12" />
17321 + <gd name="q1" fmla="*/ ss ss 1" />
17322 + <gd name="q2" fmla="*/ g13 g13 1" />
17323 + <gd name="q3" fmla="+- q1 0 q2" />
17324 + <gd name="q4" fmla="sqrt q3" />
17325 + <gd name="dy4" fmla="*/ q4 hd2 ss" />
17326 + <gd name="g15h" fmla="+- vc 0 dy4" />
17327 + <gd name="g16h" fmla="+- vc dy4 0" />
17328 + <gd name="g17w" fmla="+- g6w 0 g0w" />
17329 + <gd name="g18w" fmla="*/ g17w 1 2" />
17332 + <gd name="dx2p" fmla="+- g0w g18w w" />
17333 + <gd name="dx2" fmla="*/ dx2p -1 1" />
17335 + <gd name="dy2" fmla="*/ hd2 -1 1" />
17337 + <gd name="stAng1" fmla="at2 dx2 dy2" />
17338 + <gd name="enAngp1" fmla="at2 dx2 hd2" />
17339 + <gd name="enAng1" fmla="+- enAngp1 0 21600000" />
17340 + <gd name="swAng1" fmla="+- enAng1 0 stAng1" />
17341 + </gdLst>
17343 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17344 + <ahXY gdRefX="adj" minX="0" maxX="87500">
17345 + <pos x="g0w" y="vc" />
17346 + </ahXY>
17347 + </ahLst>
17349 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17350 + <cxn ang="3cd4">
17351 + <pos x="r" y="t" />
17352 + </cxn>
17353 + <cxn ang="cd2">
17354 + <pos x="l" y="vc" />
17355 + </cxn>
17356 + <cxn ang="cd4">
17357 + <pos x="r" y="b" />
17358 + </cxn>
17359 + <cxn ang="0">
17360 + <pos x="g0w" y="vc" />
17361 + </cxn>
17362 + </cxnLst>
17364 + <rect l="g12w" t="g15h" r="g0w" b="g16h" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
17366 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17367 + <path>
17368 + <moveTo>
17369 + <pt x="r" y="b" />
17370 + </moveTo>
17371 + <arcTo wR="w" hR="hd2" stAng="cd4" swAng="cd2" />
17372 + <arcTo wR="g18w" hR="dy1" stAng="stAng1" swAng="swAng1" />
17373 + <close />
17374 + </path>
17375 + </pathLst>
17377 + </moon>
17378 + <nonIsoscelesTrapezoid>
17380 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17381 + <gd name="adj1" fmla="val 25000" />
17383 + <gd name="adj2" fmla="val 25000" />
17385 + </avLst>
17387 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17388 + <gd name="maxAdj" fmla="*/ 50000 w ss" />
17390 + <gd name="a1" fmla="pin 0 adj1 maxAdj" />
17391 + <gd name="a2" fmla="pin 0 adj2 maxAdj" />
17392 + <gd name="x1" fmla="*/ ss a1 200000" />
17394 + <gd name="x2" fmla="*/ ss a1 100000" />
17396 + <gd name="dx3" fmla="*/ ss a2 100000" />
17398 + <gd name="x3" fmla="+- r 0 dx3" />
17399 + <gd name="x4" fmla="+/ r x3 2" />
17400 + <gd name="il" fmla="*/ wd3 a1 maxAdj" />
17402 + <gd name="adjm" fmla="max a1 a2" />
17403 + <gd name="it" fmla="*/ hd3 adjm maxAdj" />
17405 + <gd name="irt" fmla="*/ wd3 a2 maxAdj" />
17406 + <gd name="ir" fmla="+- r 0 irt" />
17408 + </gdLst>
17410 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17411 + <ahXY gdRefX="adj1" minX="0" maxX="maxAdj">
17412 + <pos x="x2" y="t" />
17413 + </ahXY>
17414 + <ahXY gdRefX="adj2" minX="0" maxX="maxAdj">
17415 + <pos x="x3" y="t" />
17416 + </ahXY>
17417 + </ahLst>
17419 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17420 + <cxn ang="0">
17421 + <pos x="x4" y="vc" />
17422 + </cxn>
17423 + <cxn ang="cd4">
17424 + <pos x="hc" y="b" />
17425 + </cxn>
17426 + <cxn ang="cd2">
17427 + <pos x="x1" y="vc" />
17428 + </cxn>
17429 + <cxn ang="3cd4">
17430 + <pos x="hc" y="t" />
17431 + </cxn>
17432 + </cxnLst>
17435 + <rect l="il" t="it" r="ir" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
17437 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17438 + <path>
17439 + <moveTo>
17440 + <pt x="l" y="b" />
17441 + </moveTo>
17442 + <lnTo>
17443 + <pt x="x2" y="t" />
17444 + </lnTo>
17445 + <lnTo>
17446 + <pt x="x3" y="t" />
17447 + </lnTo>
17448 + <lnTo>
17449 + <pt x="r" y="b" />
17450 + </lnTo>
17451 + <close />
17452 + </path>
17453 + </pathLst>
17455 + </nonIsoscelesTrapezoid>
17456 + <noSmoking>
17458 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17459 + <gd name="adj" fmla="val 18750" />
17460 + </avLst>
17462 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17463 + <gd name="a" fmla="pin 0 adj 50000" />
17464 + <gd name="dr" fmla="*/ ss a 100000" />
17465 + <gd name="iwd2" fmla="+- wd2 0 dr" />
17466 + <gd name="ihd2" fmla="+- hd2 0 dr" />
17467 + <gd name="ang" fmla="at2 w h" />
17468 + <gd name="ct" fmla="cos ihd2 ang" />
17469 + <gd name="st" fmla="sin iwd2 ang" />
17470 + <gd name="m" fmla="mod ct st 0" />
17471 + <gd name="n" fmla="*/ iwd2 ihd2 m" />
17472 + <gd name="drd2" fmla="*/ dr 1 2" />
17473 + <gd name="dang" fmla="at2 n drd2" />
17474 + <gd name="2dang" fmla="*/ dang 2 1" />
17475 + <gd name="swAng" fmla="+- -10800000 2dang 0" />
17476 + <gd name="t3" fmla="at2 w h" />
17477 + <gd name="stAng1" fmla="+- t3 0 dang" />
17478 + <gd name="stAng2" fmla="+- stAng1 0 cd2" />
17479 + <gd name="ct1" fmla="cos ihd2 stAng1" />
17480 + <gd name="st1" fmla="sin iwd2 stAng1" />
17481 + <gd name="m1" fmla="mod ct1 st1 0" />
17482 + <gd name="n1" fmla="*/ iwd2 ihd2 m1" />
17483 + <gd name="dx1" fmla="cos n1 stAng1" />
17484 + <gd name="dy1" fmla="sin n1 stAng1" />
17485 + <gd name="x1" fmla="+- hc dx1 0" />
17486 + <gd name="y1" fmla="+- vc dy1 0" />
17487 + <gd name="x2" fmla="+- hc 0 dx1" />
17488 + <gd name="y2" fmla="+- vc 0 dy1" />
17489 + <gd name="idx" fmla="cos wd2 2700000" />
17490 + <gd name="idy" fmla="sin hd2 2700000" />
17491 + <gd name="il" fmla="+- hc 0 idx" />
17492 + <gd name="ir" fmla="+- hc idx 0" />
17493 + <gd name="it" fmla="+- vc 0 idy" />
17494 + <gd name="ib" fmla="+- vc idy 0" />
17495 + </gdLst>
17497 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17498 + <ahPolar gdRefR="adj" minR="0" maxR="50000">
17499 + <pos x="dr" y="vc" />
17500 + </ahPolar>
17501 + </ahLst>
17503 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17504 + <cxn ang="3cd4">
17505 + <pos x="hc" y="t" />
17506 + </cxn>
17507 + <cxn ang="3cd4">
17508 + <pos x="il" y="it" />
17509 + </cxn>
17510 + <cxn ang="cd2">
17511 + <pos x="l" y="vc" />
17512 + </cxn>
17513 + <cxn ang="cd4">
17514 + <pos x="il" y="ib" />
17515 + </cxn>
17516 + <cxn ang="cd4">
17517 + <pos x="hc" y="b" />
17518 + </cxn>
17519 + <cxn ang="cd4">
17520 + <pos x="ir" y="ib" />
17521 + </cxn>
17522 + <cxn ang="0">
17523 + <pos x="r" y="vc" />
17524 + </cxn>
17525 + <cxn ang="3cd4">
17526 + <pos x="ir" y="it" />
17527 + </cxn>
17528 + </cxnLst>
17530 + <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
17532 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17533 + <path>
17534 + <moveTo>
17535 + <pt x="l" y="vc" />
17536 + </moveTo>
17537 + <arcTo wR="wd2" hR="hd2" stAng="cd2" swAng="cd4" />
17538 + <arcTo wR="wd2" hR="hd2" stAng="3cd4" swAng="cd4" />
17539 + <arcTo wR="wd2" hR="hd2" stAng="0" swAng="cd4" />
17540 + <arcTo wR="wd2" hR="hd2" stAng="cd4" swAng="cd4" />
17541 + <close />
17542 + <moveTo>
17543 + <pt x="x1" y="y1" />
17544 + </moveTo>
17545 + <arcTo wR="iwd2" hR="ihd2" stAng="stAng1" swAng="swAng" />
17546 + <close />
17547 + <moveTo>
17548 + <pt x="x2" y="y2" />
17549 + </moveTo>
17550 + <arcTo wR="iwd2" hR="ihd2" stAng="stAng2" swAng="swAng" />
17551 + <close />
17552 + </path>
17553 + </pathLst>
17555 + </noSmoking>
17556 + <notchedRightArrow>
17558 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17559 + <gd name="adj1" fmla="val 50000" />
17561 + <gd name="adj2" fmla="val 50000" />
17563 + </avLst>
17565 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17566 + <gd name="maxAdj2" fmla="*/ 100000 w ss" />
17568 + <gd name="a1" fmla="pin 0 adj1 100000" />
17569 + <gd name="a2" fmla="pin 0 adj2 maxAdj2" />
17570 + <gd name="dx2" fmla="*/ ss a2 100000" />
17571 + <gd name="x2" fmla="+- r 0 dx2" />
17572 + <gd name="dy1" fmla="*/ h a1 200000" />
17573 + <gd name="y1" fmla="+- vc 0 dy1" />
17574 + <gd name="y2" fmla="+- vc dy1 0" />
17575 + <gd name="x1" fmla="*/ dy1 dx2 hd2" />
17576 + <gd name="x3" fmla="+- r 0 x1" />
17577 + </gdLst>
17579 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17580 + <ahXY gdRefY="adj1" minY="0" maxY="100000">
17581 + <pos x="r" y="y1" />
17582 + </ahXY>
17583 + <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">
17584 + <pos x="x2" y="t" />
17585 + </ahXY>
17586 + </ahLst>
17588 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17589 + <cxn ang="3cd4">
17590 + <pos x="x2" y="t" />
17591 + </cxn>
17592 + <cxn ang="cd2">
17593 + <pos x="x1" y="vc" />
17594 + </cxn>
17595 + <cxn ang="cd4">
17596 + <pos x="x2" y="b" />
17597 + </cxn>
17598 + <cxn ang="0">
17599 + <pos x="r" y="vc" />
17600 + </cxn>
17601 + </cxnLst>
17603 + <rect l="x1" t="y1" r="x3" b="y2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
17605 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17606 + <path>
17607 + <moveTo>
17608 + <pt x="l" y="y1" />
17609 + </moveTo>
17610 + <lnTo>
17611 + <pt x="x2" y="y1" />
17612 + </lnTo>
17613 + <lnTo>
17614 + <pt x="x2" y="t" />
17615 + </lnTo>
17616 + <lnTo>
17617 + <pt x="r" y="vc" />
17618 + </lnTo>
17619 + <lnTo>
17620 + <pt x="x2" y="b" />
17621 + </lnTo>
17622 + <lnTo>
17623 + <pt x="x2" y="y2" />
17624 + </lnTo>
17625 + <lnTo>
17626 + <pt x="l" y="y2" />
17627 + </lnTo>
17628 + <lnTo>
17629 + <pt x="x1" y="vc" />
17630 + </lnTo>
17631 + <close />
17632 + </path>
17633 + </pathLst>
17635 + </notchedRightArrow>
17636 + <octagon>
17638 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17639 + <gd name="adj" fmla="val 29289" />
17640 + </avLst>
17642 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17643 + <gd name="a" fmla="pin 0 adj 50000" />
17644 + <gd name="x1" fmla="*/ ss a 100000" />
17645 + <gd name="x2" fmla="+- r 0 x1" />
17646 + <gd name="y2" fmla="+- b 0 x1" />
17647 + <gd name="il" fmla="*/ x1 1 2" />
17648 + <gd name="ir" fmla="+- r 0 il" />
17649 + <gd name="ib" fmla="+- b 0 il" />
17650 + </gdLst>
17652 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17653 + <ahXY gdRefX="adj" minX="0" maxX="50000">
17654 + <pos x="x1" y="t" />
17655 + </ahXY>
17656 + </ahLst>
17658 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17659 + <cxn ang="0">
17660 + <pos x="r" y="x1" />
17661 + </cxn>
17662 + <cxn ang="0">
17663 + <pos x="r" y="y2" />
17664 + </cxn>
17665 + <cxn ang="cd4">
17666 + <pos x="x2" y="b" />
17667 + </cxn>
17668 + <cxn ang="cd4">
17669 + <pos x="x1" y="b" />
17670 + </cxn>
17671 + <cxn ang="cd2">
17672 + <pos x="l" y="y2" />
17673 + </cxn>
17674 + <cxn ang="cd2">
17675 + <pos x="l" y="x1" />
17676 + </cxn>
17677 + <cxn ang="3cd4">
17678 + <pos x="x1" y="t" />
17679 + </cxn>
17680 + <cxn ang="3cd4">
17681 + <pos x="x2" y="t" />
17682 + </cxn>
17683 + </cxnLst>
17685 + <rect l="il" t="il" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
17687 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17688 + <path>
17689 + <moveTo>
17690 + <pt x="l" y="x1" />
17691 + </moveTo>
17692 + <lnTo>
17693 + <pt x="x1" y="t" />
17694 + </lnTo>
17695 + <lnTo>
17696 + <pt x="x2" y="t" />
17697 + </lnTo>
17698 + <lnTo>
17699 + <pt x="r" y="x1" />
17700 + </lnTo>
17701 + <lnTo>
17702 + <pt x="r" y="y2" />
17703 + </lnTo>
17704 + <lnTo>
17705 + <pt x="x2" y="b" />
17706 + </lnTo>
17707 + <lnTo>
17708 + <pt x="x1" y="b" />
17709 + </lnTo>
17710 + <lnTo>
17711 + <pt x="l" y="y2" />
17712 + </lnTo>
17713 + <close />
17714 + </path>
17715 + </pathLst>
17717 + </octagon>
17718 + <parallelogram>
17719 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17720 + <gd name="adj" fmla="val 25000" />
17721 + </avLst>
17722 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17723 + <gd name="maxAdj" fmla="*/ 100000 w ss" />
17724 + <gd name="a" fmla="pin 0 adj maxAdj" />
17725 + <gd name="x1" fmla="*/ ss a 200000" />
17726 + <gd name="x2" fmla="*/ ss a 100000" />
17727 + <gd name="x6" fmla="+- r 0 x1" />
17728 + <gd name="x5" fmla="+- r 0 x2" />
17729 + <gd name="x3" fmla="*/ x5 1 2" />
17730 + <gd name="x4" fmla="+- r 0 x3" />
17731 + <gd name="il" fmla="*/ wd2 a maxAdj" />
17732 + <gd name="q1" fmla="*/ 5 a maxAdj" />
17733 + <gd name="q2" fmla="+/ 1 q1 12" />
17734 + <gd name="il" fmla="*/ q2 w 1" />
17735 + <gd name="it" fmla="*/ q2 h 1" />
17736 + <gd name="ir" fmla="+- r 0 il" />
17737 + <gd name="ib" fmla="+- b 0 it" />
17738 + <gd name="q3" fmla="*/ h hc x2" />
17739 + <gd name="y1" fmla="pin 0 q3 h" />
17740 + <gd name="y2" fmla="+- b 0 y1" />
17741 + </gdLst>
17742 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17743 + <ahXY gdRefX="adj" minX="0" maxX="maxAdj">
17744 + <pos x="x2" y="t" />
17745 + </ahXY>
17746 + </ahLst>
17747 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17748 + <cxn ang="3cd4">
17749 + <pos x="hc" y="y2" />
17750 + </cxn>
17751 + <cxn ang="3cd4">
17752 + <pos x="x4" y="t" />
17753 + </cxn>
17754 + <cxn ang="0">
17755 + <pos x="x6" y="vc" />
17756 + </cxn>
17757 + <cxn ang="cd4">
17758 + <pos x="x3" y="b" />
17759 + </cxn>
17760 + <cxn ang="cd4">
17761 + <pos x="hc" y="y1" />
17762 + </cxn>
17763 + <cxn ang="cd2">
17764 + <pos x="x1" y="vc" />
17765 + </cxn>
17766 + </cxnLst>
17767 + <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
17768 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17769 + <path>
17770 + <moveTo>
17771 + <pt x="l" y="b" />
17772 + </moveTo>
17773 + <lnTo>
17774 + <pt x="x2" y="t" />
17775 + </lnTo>
17776 + <lnTo>
17777 + <pt x="r" y="t" />
17778 + </lnTo>
17779 + <lnTo>
17780 + <pt x="x5" y="b" />
17781 + </lnTo>
17782 + <close />
17783 + </path>
17784 + </pathLst>
17785 + </parallelogram>
17786 + <pentagon>
17788 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17789 + <gd name="hf" fmla="val 105146" />
17790 + <gd name="vf" fmla="val 110557" />
17791 + </avLst>
17793 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17794 + <gd name="swd2" fmla="*/ wd2 hf 100000" />
17795 + <gd name="shd2" fmla="*/ hd2 vf 100000" />
17796 + <gd name="svc" fmla="*/ vc vf 100000" />
17797 + <gd name="dx1" fmla="cos swd2 1080000" />
17798 + <gd name="dx2" fmla="cos swd2 18360000" />
17799 + <gd name="dy1" fmla="sin shd2 1080000" />
17800 + <gd name="dy2" fmla="sin shd2 18360000" />
17801 + <gd name="x1" fmla="+- hc 0 dx1" />
17802 + <gd name="x2" fmla="+- hc 0 dx2" />
17803 + <gd name="x3" fmla="+- hc dx2 0" />
17804 + <gd name="x4" fmla="+- hc dx1 0" />
17805 + <gd name="y1" fmla="+- svc 0 dy1" />
17806 + <gd name="y2" fmla="+- svc 0 dy2" />
17807 + <gd name="it" fmla="*/ y1 dx2 dx1" />
17808 + </gdLst>
17810 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17811 + <cxn ang="3cd4">
17812 + <pos x="hc" y="t" />
17813 + </cxn>
17814 + <cxn ang="cd2">
17815 + <pos x="x1" y="y1" />
17816 + </cxn>
17817 + <cxn ang="cd4">
17818 + <pos x="x2" y="y2" />
17819 + </cxn>
17820 + <cxn ang="cd4">
17821 + <pos x="hc" y="b" />
17822 + </cxn>
17823 + <cxn ang="cd4">
17824 + <pos x="x3" y="y2" />
17825 + </cxn>
17826 + <cxn ang="0">
17827 + <pos x="x4" y="y1" />
17828 + </cxn>
17829 + </cxnLst>
17831 + <rect l="x2" t="it" r="x3" b="y2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
17833 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17834 + <path>
17835 + <moveTo>
17836 + <pt x="x1" y="y1" />
17837 + </moveTo>
17838 + <lnTo>
17839 + <pt x="hc" y="t" />
17840 + </lnTo>
17841 + <lnTo>
17842 + <pt x="x4" y="y1" />
17843 + </lnTo>
17844 + <lnTo>
17845 + <pt x="x3" y="y2" />
17846 + </lnTo>
17847 + <lnTo>
17848 + <pt x="x2" y="y2" />
17849 + </lnTo>
17850 + <close />
17851 + </path>
17852 + </pathLst>
17854 + </pentagon>
17855 + <pie>
17856 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17857 + <gd name="adj1" fmla="val 0" />
17858 + <gd name="adj2" fmla="val 16200000" />
17859 + </avLst>
17860 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17861 + <gd name="stAng" fmla="pin 0 adj1 21599999" />
17862 + <gd name="enAng" fmla="pin 0 adj2 21599999" />
17863 + <gd name="sw1" fmla="+- enAng 0 stAng" />
17864 + <gd name="sw2" fmla="+- sw1 21600000 0" />
17865 + <gd name="swAng" fmla="?: sw1 sw1 sw2" />
17866 + <gd name="wt1" fmla="sin wd2 stAng" />
17867 + <gd name="ht1" fmla="cos hd2 stAng" />
17868 + <gd name="dx1" fmla="cat2 wd2 ht1 wt1" />
17869 + <gd name="dy1" fmla="sat2 hd2 ht1 wt1" />
17870 + <gd name="x1" fmla="+- hc dx1 0" />
17871 + <gd name="y1" fmla="+- vc dy1 0" />
17872 + <gd name="wt2" fmla="sin wd2 enAng" />
17873 + <gd name="ht2" fmla="cos hd2 enAng" />
17874 + <gd name="dx2" fmla="cat2 wd2 ht2 wt2" />
17875 + <gd name="dy2" fmla="sat2 hd2 ht2 wt2" />
17876 + <gd name="x2" fmla="+- hc dx2 0" />
17877 + <gd name="y2" fmla="+- vc dy2 0" />
17878 + <gd name="idx" fmla="cos wd2 2700000" />
17879 + <gd name="idy" fmla="sin hd2 2700000" />
17880 + <gd name="il" fmla="+- hc 0 idx" />
17881 + <gd name="ir" fmla="+- hc idx 0" />
17882 + <gd name="it" fmla="+- vc 0 idy" />
17883 + <gd name="ib" fmla="+- vc idy 0" />
17884 + </gdLst>
17885 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17886 + <ahPolar gdRefAng="adj1" minAng="0" maxAng="21599999">
17887 + <pos x="x1" y="y1" />
17888 + </ahPolar>
17889 + <ahPolar gdRefAng="adj2" minAng="0" maxAng="21599999">
17890 + <pos x="x2" y="y2" />
17891 + </ahPolar>
17892 + </ahLst>
17893 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17894 + <cxn ang="0">
17895 + <pos x="r" y="vc" />
17896 + </cxn>
17897 + <cxn ang="cd4">
17898 + <pos x="hc" y="b" />
17899 + </cxn>
17900 + <cxn ang="cd2">
17901 + <pos x="l" y="vc" />
17902 + </cxn>
17903 + <cxn ang="3cd4">
17904 + <pos x="hc" y="t" />
17905 + </cxn>
17906 + </cxnLst>
17907 + <rect l="il" t="ir" r="it" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
17908 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17909 + <path>
17910 + <moveTo>
17911 + <pt x="x1" y="y1" />
17912 + </moveTo>
17913 + <arcTo wR="wd2" hR="hd2" stAng="stAng" swAng="swAng" />
17914 + <lnTo>
17915 + <pt x="hc" y="vc" />
17916 + </lnTo>
17917 + <close />
17918 + </path>
17919 + </pathLst>
17920 + </pie>
17921 + <pieWedge>
17922 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17923 + <gd name="g1" fmla="cos w 13500000" />
17924 + <gd name="g2" fmla="sin h 13500000" />
17925 + <gd name="x1" fmla="+- r g1 0" />
17926 + <gd name="y1" fmla="+- b g2 0" />
17927 + </gdLst>
17928 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17929 + <cxn ang="0">
17930 + <pos x="r" y="vc" />
17931 + </cxn>
17932 + <cxn ang="cd4">
17933 + <pos x="hc" y="b" />
17934 + </cxn>
17935 + </cxnLst>
17936 + <rect l="x1" t="y1" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
17937 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17938 + <path>
17939 + <moveTo>
17940 + <pt x="l" y="b" />
17941 + </moveTo>
17942 + <arcTo wR="w" hR="h" stAng="cd2" swAng="cd4" />
17943 + <lnTo>
17944 + <pt x="r" y="b" />
17945 + </lnTo>
17946 + <close />
17947 + </path>
17948 + </pathLst>
17949 + </pieWedge>
17950 + <plaque>
17952 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17953 + <gd name="adj" fmla="val 16667" />
17954 + </avLst>
17956 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17957 + <gd name="a" fmla="pin 0 adj 50000" />
17958 + <gd name="x1" fmla="*/ ss a 100000" />
17959 + <gd name="x2" fmla="+- r 0 x1" />
17961 + <gd name="y2" fmla="+- b 0 x1" />
17962 + <gd name="il" fmla="*/ x1 70711 100000" />
17964 + <gd name="ir" fmla="+- r 0 il" />
17965 + <gd name="ib" fmla="+- b 0 il" />
17966 + </gdLst>
17968 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17969 + <ahXY gdRefX="adj" minX="0" maxX="50000">
17970 + <pos x="x1" y="t" />
17971 + </ahXY>
17972 + </ahLst>
17974 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17975 + <cxn ang="3cd4">
17976 + <pos x="hc" y="t" />
17977 + </cxn>
17978 + <cxn ang="cd2">
17979 + <pos x="l" y="vc" />
17980 + </cxn>
17981 + <cxn ang="cd4">
17982 + <pos x="hc" y="b" />
17983 + </cxn>
17984 + <cxn ang="0">
17985 + <pos x="r" y="vc" />
17986 + </cxn>
17987 + </cxnLst>
17989 + <rect l="il" t="il" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
17991 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
17992 + <path>
17993 + <moveTo>
17994 + <pt x="l" y="x1" />
17995 + </moveTo>
17996 + <arcTo wR="x1" hR="x1" stAng="cd4" swAng="-5400000" />
17997 + <lnTo>
17998 + <pt x="x2" y="t" />
17999 + </lnTo>
18000 + <arcTo wR="x1" hR="x1" stAng="cd2" swAng="-5400000" />
18001 + <lnTo>
18002 + <pt x="r" y="y2" />
18003 + </lnTo>
18004 + <arcTo wR="x1" hR="x1" stAng="3cd4" swAng="-5400000" />
18005 + <lnTo>
18006 + <pt x="x1" y="b" />
18007 + </lnTo>
18008 + <arcTo wR="x1" hR="x1" stAng="0" swAng="-5400000" />
18009 + <close />
18010 + </path>
18011 + </pathLst>
18013 + </plaque>
18014 + <plaqueTabs>
18016 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
18017 + <gd name="md" fmla="mod w h 0" />
18018 + <gd name="dx" fmla="*/ 1 md 20" />
18020 + <gd name="y1" fmla="+- 0 b dx" />
18022 + <gd name="x1" fmla="+- 0 r dx" />
18024 + </gdLst>
18026 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
18027 + <cxn ang="cd2">
18028 + <pos x="l" y="t" />
18029 + </cxn>
18030 + <cxn ang="cd2">
18031 + <pos x="l" y="dx" />
18032 + </cxn>
18033 + <cxn ang="cd2">
18034 + <pos x="l" y="y1" />
18035 + </cxn>
18036 + <cxn ang="cd2">
18037 + <pos x="l" y="b" />
18038 + </cxn>
18039 + <cxn ang="3cd4">
18040 + <pos x="dx" y="t" />
18041 + </cxn>
18042 + <cxn ang="3cd4">
18043 + <pos x="x1" y="t" />
18044 + </cxn>
18045 + <cxn ang="cd4">
18046 + <pos x="dx" y="b" />
18047 + </cxn>
18048 + <cxn ang="cd4">
18049 + <pos x="x1" y="b" />
18050 + </cxn>
18051 + <cxn ang="0">
18052 + <pos x="r" y="t" />
18053 + </cxn>
18054 + <cxn ang="0">
18055 + <pos x="r" y="dx" />
18056 + </cxn>
18057 + <cxn ang="0">
18058 + <pos x="r" y="y1" />
18059 + </cxn>
18060 + <cxn ang="0">
18061 + <pos x="r" y="b" />
18062 + </cxn>
18063 + </cxnLst>
18065 + <rect l="dx" t="dx" r="x1" b="y1" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
18067 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
18068 + <path>
18069 + <moveTo>
18070 + <pt x="l" y="t" />
18071 + </moveTo>
18072 + <lnTo>
18073 + <pt x="dx" y="t" />
18074 + </lnTo>
18075 + <arcTo wR="dx" hR="dx" stAng="0" swAng="cd4" />
18076 + <close />
18077 + </path>
18078 + <path>
18079 + <moveTo>
18080 + <pt x="l" y="y1" />
18081 + </moveTo>
18082 + <arcTo wR="dx" hR="dx" stAng="3cd4" swAng="cd4" />
18083 + <lnTo>
18084 + <pt x="l" y="b" />
18085 + </lnTo>
18086 + <close />
18087 + </path>
18088 + <path>
18089 + <moveTo>
18090 + <pt x="r" y="t" />
18091 + </moveTo>
18092 + <lnTo>
18093 + <pt x="r" y="dx" />
18094 + </lnTo>
18095 + <arcTo wR="dx" hR="dx" stAng="cd4" swAng="cd4" />
18096 + <close />
18097 + </path>
18098 + <path>
18099 + <moveTo>
18100 + <pt x="x1" y="b" />
18101 + </moveTo>
18102 + <arcTo wR="dx" hR="dx" stAng="cd2" swAng="cd4" />
18103 + <lnTo>
18104 + <pt x="r" y="b" />
18105 + </lnTo>
18106 + <close />
18107 + </path>
18108 + </pathLst>
18110 + </plaqueTabs>
18111 + <plus>
18112 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
18113 + <gd name="adj" fmla="val 25000" />
18114 + </avLst>
18115 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
18116 + <gd name="a" fmla="pin 0 adj 50000" />
18117 + <gd name="x1" fmla="*/ ss a 100000" />
18118 + <gd name="x2" fmla="+- r 0 x1" />
18119 + <gd name="y2" fmla="+- b 0 x1" />
18120 + <gd name="d" fmla="+- w 0 h" />
18121 + <gd name="il" fmla="?: d l x1" />
18122 + <gd name="ir" fmla="?: d r x2" />
18123 + <gd name="it" fmla="?: d x1 t" />
18124 + <gd name="ib" fmla="?: d y2 b" />
18125 + </gdLst>
18126 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
18127 + <ahXY gdRefX="adj" minX="0" maxX="50000">
18128 + <pos x="x1" y="t" />
18129 + </ahXY>
18130 + </ahLst>
18131 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
18132 + <cxn ang="3cd4">
18133 + <pos x="hc" y="t" />
18134 + </cxn>
18135 + <cxn ang="cd2">
18136 + <pos x="l" y="vc" />
18137 + </cxn>
18138 + <cxn ang="cd4">
18139 + <pos x="hc" y="b" />
18140 + </cxn>
18141 + <cxn ang="0">
18142 + <pos x="r" y="vc" />
18143 + </cxn>
18144 + </cxnLst>
18145 + <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
18146 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
18147 + <path>
18148 + <moveTo>
18149 + <pt x="l" y="x1" />
18150 + </moveTo>
18151 + <lnTo>
18152 + <pt x="x1" y="x1" />
18153 + </lnTo>
18154 + <lnTo>
18155 + <pt x="x1" y="t" />
18156 + </lnTo>
18157 + <lnTo>
18158 + <pt x="x2" y="t" />
18159 + </lnTo>
18160 + <lnTo>
18161 + <pt x="x2" y="x1" />
18162 + </lnTo>
18163 + <lnTo>
18164 + <pt x="r" y="x1" />
18165 + </lnTo>
18166 + <lnTo>
18167 + <pt x="r" y="y2" />
18168 + </lnTo>
18169 + <lnTo>
18170 + <pt x="x2" y="y2" />
18171 + </lnTo>
18172 + <lnTo>
18173 + <pt x="x2" y="b" />
18174 + </lnTo>
18175 + <lnTo>
18176 + <pt x="x1" y="b" />
18177 + </lnTo>
18178 + <lnTo>
18179 + <pt x="x1" y="y2" />
18180 + </lnTo>
18181 + <lnTo>
18182 + <pt x="l" y="y2" />
18183 + </lnTo>
18184 + <close />
18185 + </path>
18186 + </pathLst>
18187 + </plus>
18188 + <quadArrow>
18190 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
18191 + <gd name="adj1" fmla="val 22500" />
18193 + <gd name="adj2" fmla="val 22500" />
18195 + <gd name="adj3" fmla="val 22500" />
18197 + </avLst>
18199 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
18200 + <gd name="a2" fmla="pin 0 adj2 50000" />
18201 + <gd name="maxAdj1" fmla="*/ a2 2 1" />
18202 + <gd name="a1" fmla="pin 0 adj1 maxAdj1" />
18203 + <gd name="q1" fmla="+- 100000 0 maxAdj1" />
18204 + <gd name="maxAdj3" fmla="*/ q1 1 2" />
18205 + <gd name="a3" fmla="pin 0 adj3 maxAdj3" />
18206 + <gd name="x1" fmla="*/ ss a3 100000" />
18207 + <gd name="dx2" fmla="*/ ss a2 100000" />
18209 + <gd name="x2" fmla="+- hc 0 dx2" />
18210 + <gd name="x5" fmla="+- hc dx2 0" />
18211 + <gd name="dx3" fmla="*/ ss a1 200000" />
18213 + <gd name="x3" fmla="+- hc 0 dx3" />
18214 + <gd name="x4" fmla="+- hc dx3 0" />
18215 + <gd name="x6" fmla="+- r 0 x1" />
18217 + <gd name="y2" fmla="+- vc 0 dx2" />
18218 + <gd name="y5" fmla="+- vc dx2 0" />
18219 + <gd name="y3" fmla="+- vc 0 dx3" />
18220 + <gd name="y4" fmla="+- vc dx3 0" />
18221 + <gd name="y6" fmla="+- b 0 x1" />
18222 + <gd name="il" fmla="*/ dx3 x1 dx2" />
18223 + <gd name="ir" fmla="+- r 0 il" />
18224 + </gdLst>
18226 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
18227 + <ahXY gdRefX="adj1" minX="0" maxX="maxAdj1">
18228 + <pos x="x3" y="x1" />
18229 + </ahXY>
18230 + <ahXY gdRefX="adj2" minX="0" maxX="50000">
18231 + <pos x="x2" y="t" />
18232 + </ahXY>
18233 + <ahXY gdRefY="adj3" minY="0" maxY="maxAdj3">
18234 + <pos x="r" y="x1" />
18235 + </ahXY>
18236 + </ahLst>
18238 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
18239 + <cxn ang="3cd4">
18240 + <pos x="hc" y="t" />
18241 + </cxn>
18242 + <cxn ang="cd2">
18243 + <pos x="l" y="vc" />
18244 + </cxn>
18245 + <cxn ang="cd4">
18246 + <pos x="hc" y="b" />
18247 + </cxn>
18248 + <cxn ang="0">
18249 + <pos x="r" y="vc" />
18250 + </cxn>
18251 + </cxnLst>
18253 + <rect l="il" t="y3" r="ir" b="y4" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
18255 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
18256 + <path>
18257 + <moveTo>
18258 + <pt x="l" y="vc" />
18259 + </moveTo>
18260 + <lnTo>
18261 + <pt x="x1" y="y2" />
18262 + </lnTo>
18263 + <lnTo>
18264 + <pt x="x1" y="y3" />
18265 + </lnTo>
18266 + <lnTo>
18267 + <pt x="x3" y="y3" />
18268 + </lnTo>
18269 + <lnTo>
18270 + <pt x="x3" y="x1" />
18271 + </lnTo>
18272 + <lnTo>
18273 + <pt x="x2" y="x1" />
18274 + </lnTo>
18275 + <lnTo>
18276 + <pt x="hc" y="t" />
18277 + </lnTo>
18278 + <lnTo>
18279 + <pt x="x5" y="x1" />
18280 + </lnTo>
18281 + <lnTo>
18282 + <pt x="x4" y="x1" />
18283 + </lnTo>
18284 + <lnTo>
18285 + <pt x="x4" y="y3" />
18286 + </lnTo>
18287 + <lnTo>
18288 + <pt x="x6" y="y3" />
18289 + </lnTo>
18290 + <lnTo>
18291 + <pt x="x6" y="y2" />
18292 + </lnTo>
18293 + <lnTo>
18294 + <pt x="r" y="vc" />
18295 + </lnTo>
18296 + <lnTo>
18297 + <pt x="x6" y="y5" />
18298 + </lnTo>
18299 + <lnTo>
18300 + <pt x="x6" y="y4" />
18301 + </lnTo>
18302 + <lnTo>
18303 + <pt x="x4" y="y4" />
18304 + </lnTo>
18305 + <lnTo>
18306 + <pt x="x4" y="y6" />
18307 + </lnTo>
18308 + <lnTo>
18309 + <pt x="x5" y="y6" />
18310 + </lnTo>
18311 + <lnTo>
18312 + <pt x="hc" y="b" />
18313 + </lnTo>
18314 + <lnTo>
18315 + <pt x="x2" y="y6" />
18316 + </lnTo>
18317 + <lnTo>
18318 + <pt x="x3" y="y6" />
18319 + </lnTo>
18320 + <lnTo>
18321 + <pt x="x3" y="y4" />
18322 + </lnTo>
18323 + <lnTo>
18324 + <pt x="x1" y="y4" />
18325 + </lnTo>
18326 + <lnTo>
18327 + <pt x="x1" y="y5" />
18328 + </lnTo>
18329 + <close />
18330 + </path>
18331 + </pathLst>
18333 + </quadArrow>
18334 + <quadArrowCallout>
18336 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
18337 + <gd name="adj1" fmla="val 18515" />
18339 + <gd name="adj2" fmla="val 18515" />
18341 + <gd name="adj3" fmla="val 18515" />
18343 + <gd name="adj4" fmla="val 48123" />
18345 + </avLst>
18347 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
18348 + <gd name="a2" fmla="pin 0 adj2 50000" />
18349 + <gd name="maxAdj1" fmla="*/ a2 2 1" />
18351 + <gd name="a1" fmla="pin 0 adj1 maxAdj1" />
18352 + <gd name="maxAdj3" fmla="+- 50000 0 a2" />
18353 + <gd name="a3" fmla="pin 0 adj3 maxAdj3" />
18354 + <gd name="q2" fmla="*/ a3 2 1" />
18356 + <gd name="maxAdj4" fmla="+- 100000 0 q2" />
18358 + <gd name="a4" fmla="pin a1 adj4 maxAdj4" />
18359 + <gd name="dx2" fmla="*/ ss a2 100000" />
18361 + <gd name="dx3" fmla="*/ ss a1 200000" />
18363 + <gd name="ah" fmla="*/ ss a3 100000" />
18365 + <gd name="dx1" fmla="*/ w a4 200000" />
18367 + <gd name="dy1" fmla="*/ h a4 200000" />
18370 + <gd name="x8" fmla="+- r 0 ah" />
18371 + <gd name="x2" fmla="+- hc 0 dx1" />
18372 + <gd name="x7" fmla="+- hc dx1 0" />
18373 + <gd name="x3" fmla="+- hc 0 dx2" />
18374 + <gd name="x6" fmla="+- hc dx2 0" />
18375 + <gd name="x4" fmla="+- hc 0 dx3" />
18376 + <gd name="x5" fmla="+- hc dx3 0" />
18378 + <gd name="y8" fmla="+- b 0 ah" />
18379 + <gd name="y2" fmla="+- vc 0 dy1" />
18380 + <gd name="y7" fmla="+- vc dy1 0" />
18381 + <gd name="y3" fmla="+- vc 0 dx2" />
18382 + <gd name="y6" fmla="+- vc dx2 0" />
18383 + <gd name="y4" fmla="+- vc 0 dx3" />
18384 + <gd name="y5" fmla="+- vc dx3 0" />
18385 + </gdLst>
18387 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
18388 + <ahXY gdRefX="adj1" minX="0" maxX="maxAdj1">
18389 + <pos x="x4" y="ah" />
18390 + </ahXY>
18391 + <ahXY gdRefX="adj2" minX="0" maxX="50000">
18392 + <pos x="x3" y="t" />
18393 + </ahXY>
18394 + <ahXY gdRefY="adj3" minY="0" maxY="maxAdj3">
18395 + <pos x="r" y="ah" />
18396 + </ahXY>
18397 + <ahXY gdRefY="adj4" minY="a1" maxY="maxAdj4">
18398 + <pos x="l" y="y2" />
18399 + </ahXY>
18400 + </ahLst>
18402 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
18403 + <cxn ang="3cd4">
18404 + <pos x="hc" y="t" />
18405 + </cxn>
18406 + <cxn ang="cd2">
18407 + <pos x="l" y="vc" />
18408 + </cxn>
18409 + <cxn ang="cd4">
18410 + <pos x="hc" y="b" />
18411 + </cxn>
18412 + <cxn ang="0">
18413 + <pos x="r" y="vc" />
18414 + </cxn>
18415 + </cxnLst>
18417 + <rect l="x2" t="y2" r="x7" b="y7" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
18419 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
18420 + <path>
18421 + <moveTo>
18422 + <pt x="l" y="vc" />
18423 + </moveTo>
18424 + <lnTo>
18425 + <pt x="ah" y="y3" />
18426 + </lnTo>
18427 + <lnTo>
18428 + <pt x="ah" y="y4" />
18429 + </lnTo>
18430 + <lnTo>
18431 + <pt x="x2" y="y4" />
18432 + </lnTo>
18433 + <lnTo>
18434 + <pt x="x2" y="y2" />
18435 + </lnTo>
18436 + <lnTo>
18437 + <pt x="x4" y="y2" />
18438 + </lnTo>
18439 + <lnTo>
18440 + <pt x="x4" y="ah" />
18441 + </lnTo>
18442 + <lnTo>
18443 + <pt x="x3" y="ah" />
18444 + </lnTo>
18445 + <lnTo>
18446 + <pt x="hc" y="t" />
18447 + </lnTo>
18448 + <lnTo>
18449 + <pt x="x6" y="ah" />
18450 + </lnTo>
18451 + <lnTo>
18452 + <pt x="x5" y="ah" />
18453 + </lnTo>
18454 + <lnTo>
18455 + <pt x="x5" y="y2" />
18456 + </lnTo>
18457 + <lnTo>
18458 + <pt x="x7" y="y2" />
18459 + </lnTo>
18460 + <lnTo>
18461 + <pt x="x7" y="y4" />
18462 + </lnTo>
18463 + <lnTo>
18464 + <pt x="x8" y="y4" />
18465 + </lnTo>
18466 + <lnTo>
18467 + <pt x="x8" y="y3" />
18468 + </lnTo>
18469 + <lnTo>
18470 + <pt x="r" y="vc" />
18471 + </lnTo>
18472 + <lnTo>
18473 + <pt x="x8" y="y6" />
18474 + </lnTo>
18475 + <lnTo>
18476 + <pt x="x8" y="y5" />
18477 + </lnTo>
18478 + <lnTo>
18479 + <pt x="x7" y="y5" />
18480 + </lnTo>
18481 + <lnTo>
18482 + <pt x="x7" y="y7" />
18483 + </lnTo>
18484 + <lnTo>
18485 + <pt x="x5" y="y7" />
18486 + </lnTo>
18487 + <lnTo>
18488 + <pt x="x5" y="y8" />
18489 + </lnTo>
18490 + <lnTo>
18491 + <pt x="x6" y="y8" />
18492 + </lnTo>
18493 + <lnTo>
18494 + <pt x="hc" y="b" />
18495 + </lnTo>
18496 + <lnTo>
18497 + <pt x="x3" y="y8" />
18498 + </lnTo>
18499 + <lnTo>
18500 + <pt x="x4" y="y8" />
18501 + </lnTo>
18502 + <lnTo>
18503 + <pt x="x4" y="y7" />
18504 + </lnTo>
18505 + <lnTo>
18506 + <pt x="x2" y="y7" />
18507 + </lnTo>
18508 + <lnTo>
18509 + <pt x="x2" y="y5" />
18510 + </lnTo>
18511 + <lnTo>
18512 + <pt x="ah" y="y5" />
18513 + </lnTo>
18514 + <lnTo>
18515 + <pt x="ah" y="y6" />
18516 + </lnTo>
18517 + <close />
18518 + </path>
18519 + </pathLst>
18521 + </quadArrowCallout>
18522 + <rect>
18523 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
18524 + <cxn ang="3cd4">
18525 + <pos x="hc" y="t" />
18526 + </cxn>
18527 + <cxn ang="cd2">
18528 + <pos x="l" y="vc" />
18529 + </cxn>
18530 + <cxn ang="cd4">
18531 + <pos x="hc" y="b" />
18532 + </cxn>
18533 + <cxn ang="0">
18534 + <pos x="r" y="vc" />
18535 + </cxn>
18536 + </cxnLst>
18537 + <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
18538 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
18539 + <path>
18540 + <moveTo>
18541 + <pt x="l" y="t" />
18542 + </moveTo>
18543 + <lnTo>
18544 + <pt x="r" y="t" />
18545 + </lnTo>
18546 + <lnTo>
18547 + <pt x="r" y="b" />
18548 + </lnTo>
18549 + <lnTo>
18550 + <pt x="l" y="b" />
18551 + </lnTo>
18552 + <close />
18553 + </path>
18554 + </pathLst>
18555 + </rect>
18556 + <ribbon>
18558 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
18559 + <gd name="adj1" fmla="val 16667" />
18561 + <gd name="adj2" fmla="val 50000" />
18563 + </avLst>
18565 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
18566 + <gd name="a1" fmla="pin 0 adj1 33333" />
18567 + <gd name="a2" fmla="pin 25000 adj2 75000" />
18570 + <gd name="x10" fmla="+- r 0 wd8" />
18572 + <gd name="dx2" fmla="*/ w a2 200000" />
18574 + <gd name="x2" fmla="+- hc 0 dx2" />
18576 + <gd name="x9" fmla="+- hc dx2 0" />
18578 + <gd name="x3" fmla="+- x2 wd32 0" />
18579 + <gd name="x8" fmla="+- x9 0 wd32" />
18580 + <gd name="x5" fmla="+- x2 wd8 0" />
18582 + <gd name="x6" fmla="+- x9 0 wd8" />
18584 + <gd name="x4" fmla="+- x5 0 wd32" />
18585 + <gd name="x7" fmla="+- x6 wd32 0" />
18586 + <gd name="y1" fmla="*/ h a1 200000" />
18588 + <gd name="y2" fmla="*/ h a1 100000" />
18590 + <gd name="y4" fmla="+- b 0 y2" />
18592 + <gd name="y3" fmla="*/ y4 1 2" />
18594 + <gd name="hR" fmla="*/ h a1 400000" />
18596 + <gd name="y5" fmla="+- b 0 hR" />
18597 + <gd name="y6" fmla="+- y2 0 hR" />
18598 + </gdLst>
18600 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
18601 + <ahXY gdRefY="adj1" minY="0" maxY="33333">
18602 + <pos x="hc" y="y2" />
18603 + </ahXY>
18604 + <ahXY gdRefX="adj2" minX="25000" maxX="75000">
18605 + <pos x="x2" y="t" />
18606 + </ahXY>
18607 + </ahLst>
18609 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
18610 + <cxn ang="3cd4">
18611 + <pos x="hc" y="y2" />
18612 + </cxn>
18613 + <cxn ang="cd2">
18614 + <pos x="wd8" y="y3" />
18615 + </cxn>
18616 + <cxn ang="cd4">
18617 + <pos x="hc" y="b" />
18618 + </cxn>
18619 + <cxn ang="0">
18620 + <pos x="x10" y="y3" />
18621 + </cxn>
18622 + </cxnLst>
18624 + <rect l="x2" t="y2" r="x9" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
18626 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
18627 + <path stroke="false" extrusionOk="false">
18629 + <moveTo>
18630 + <pt x="l" y="t" />
18631 + </moveTo>
18632 + <lnTo>
18633 + <pt x="x4" y="t" />
18634 + </lnTo>
18635 + <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="cd2" />
18636 + <lnTo>
18637 + <pt x="x3" y="y1" />
18638 + </lnTo>
18639 + <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="-10800000" />
18640 + <lnTo>
18641 + <pt x="x8" y="y2" />
18642 + </lnTo>
18643 + <arcTo wR="wd32" hR="hR" stAng="cd4" swAng="-10800000" />
18644 + <lnTo>
18645 + <pt x="x7" y="y1" />
18646 + </lnTo>
18647 + <arcTo wR="wd32" hR="hR" stAng="cd4" swAng="cd2" />
18648 + <lnTo>
18649 + <pt x="r" y="t" />
18650 + </lnTo>
18651 + <lnTo>
18652 + <pt x="x10" y="y3" />
18653 + </lnTo>
18654 + <lnTo>
18655 + <pt x="r" y="y4" />
18656 + </lnTo>
18657 + <lnTo>
18658 + <pt x="x9" y="y4" />
18659 + </lnTo>
18660 + <lnTo>
18661 + <pt x="x9" y="y5" />
18662 + </lnTo>
18663 + <arcTo wR="wd32" hR="hR" stAng="0" swAng="cd4" />
18664 + <lnTo>
18665 + <pt x="x3" y="b" />
18666 + </lnTo>
18667 + <arcTo wR="wd32" hR="hR" stAng="cd4" swAng="cd4" />
18668 + <lnTo>
18669 + <pt x="x2" y="y4" />
18670 + </lnTo>
18671 + <lnTo>
18672 + <pt x="l" y="y4" />
18673 + </lnTo>
18674 + <lnTo>
18675 + <pt x="wd8" y="y3" />
18676 + </lnTo>
18677 + <close />
18678 + </path>
18679 + <path stroke="false" fill="darkenLess" extrusionOk="false">
18681 + <moveTo>
18682 + <pt x="x5" y="hR" />
18683 + </moveTo>
18684 + <arcTo wR="wd32" hR="hR" stAng="0" swAng="cd4" />
18685 + <lnTo>
18686 + <pt x="x3" y="y1" />
18687 + </lnTo>
18688 + <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="-10800000" />
18689 + <lnTo>
18690 + <pt x="x5" y="y2" />
18691 + </lnTo>
18692 + <close />
18693 + <moveTo>
18694 + <pt x="x6" y="hR" />
18695 + </moveTo>
18696 + <arcTo wR="wd32" hR="hR" stAng="cd2" swAng="-5400000" />
18697 + <lnTo>
18698 + <pt x="x8" y="y1" />
18699 + </lnTo>
18700 + <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="cd2" />
18701 + <lnTo>
18702 + <pt x="x6" y="y2" />
18703 + </lnTo>
18704 + <close />
18705 + </path>
18706 + <path fill="none" extrusionOk="false">
18708 + <moveTo>
18709 + <pt x="l" y="t" />
18710 + </moveTo>
18711 + <lnTo>
18712 + <pt x="x4" y="t" />
18713 + </lnTo>
18714 + <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="cd2" />
18715 + <lnTo>
18716 + <pt x="x3" y="y1" />
18717 + </lnTo>
18718 + <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="-10800000" />
18719 + <lnTo>
18720 + <pt x="x8" y="y2" />
18721 + </lnTo>
18722 + <arcTo wR="wd32" hR="hR" stAng="cd4" swAng="-10800000" />
18723 + <lnTo>
18724 + <pt x="x7" y="y1" />
18725 + </lnTo>
18726 + <arcTo wR="wd32" hR="hR" stAng="cd4" swAng="cd2" />
18727 + <lnTo>
18728 + <pt x="r" y="t" />
18729 + </lnTo>
18730 + <lnTo>
18731 + <pt x="x10" y="y3" />
18732 + </lnTo>
18733 + <lnTo>
18734 + <pt x="r" y="y4" />
18735 + </lnTo>
18736 + <lnTo>
18737 + <pt x="x9" y="y4" />
18738 + </lnTo>
18739 + <lnTo>
18740 + <pt x="x9" y="y5" />
18741 + </lnTo>
18742 + <arcTo wR="wd32" hR="hR" stAng="0" swAng="cd4" />
18743 + <lnTo>
18744 + <pt x="x3" y="b" />
18745 + </lnTo>
18746 + <arcTo wR="wd32" hR="hR" stAng="cd4" swAng="cd4" />
18747 + <lnTo>
18748 + <pt x="x2" y="y4" />
18749 + </lnTo>
18750 + <lnTo>
18751 + <pt x="l" y="y4" />
18752 + </lnTo>
18753 + <lnTo>
18754 + <pt x="wd8" y="y3" />
18755 + </lnTo>
18756 + <close />
18757 + <moveTo>
18758 + <pt x="x5" y="hR" />
18759 + </moveTo>
18760 + <lnTo>
18761 + <pt x="x5" y="y2" />
18762 + </lnTo>
18763 + <moveTo>
18764 + <pt x="x6" y="y2" />
18765 + </moveTo>
18766 + <lnTo>
18767 + <pt x="x6" y="hR" />
18768 + </lnTo>
18769 + <moveTo>
18770 + <pt x="x2" y="y4" />
18771 + </moveTo>
18772 + <lnTo>
18773 + <pt x="x2" y="y6" />
18774 + </lnTo>
18775 + <moveTo>
18776 + <pt x="x9" y="y6" />
18777 + </moveTo>
18778 + <lnTo>
18779 + <pt x="x9" y="y4" />
18780 + </lnTo>
18781 + </path>
18782 + </pathLst>
18784 + </ribbon>
18785 + <ribbon2>
18787 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
18788 + <gd name="adj1" fmla="val 16667" />
18790 + <gd name="adj2" fmla="val 50000" />
18792 + </avLst>
18794 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
18795 + <gd name="a1" fmla="pin 0 adj1 33333" />
18796 + <gd name="a2" fmla="pin 25000 adj2 75000" />
18799 + <gd name="x10" fmla="+- r 0 wd8" />
18801 + <gd name="dx2" fmla="*/ w a2 200000" />
18803 + <gd name="x2" fmla="+- hc 0 dx2" />
18805 + <gd name="x9" fmla="+- hc dx2 0" />
18807 + <gd name="x3" fmla="+- x2 wd32 0" />
18808 + <gd name="x8" fmla="+- x9 0 wd32" />
18809 + <gd name="x5" fmla="+- x2 wd8 0" />
18811 + <gd name="x6" fmla="+- x9 0 wd8" />
18813 + <gd name="x4" fmla="+- x5 0 wd32" />
18814 + <gd name="x7" fmla="+- x6 wd32 0" />
18815 + <gd name="dy1" fmla="*/ h a1 200000" />
18817 + <gd name="y1" fmla="+- b 0 dy1" />
18818 + <gd name="dy2" fmla="*/ h a1 100000" />
18820 + <gd name="y2" fmla="+- b 0 dy2" />
18821 + <gd name="y4" fmla="+- t dy2 0" />
18823 + <gd name="y3" fmla="+/ y4 b 2" />
18825 + <gd name="hR" fmla="*/ h a1 400000" />
18828 + <gd name="y6" fmla="+- b 0 hR" />
18829 + <gd name="y7" fmla="+- y1 0 hR" />
18830 + </gdLst>
18832 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
18833 + <ahXY gdRefY="adj1" minY="0" maxY="33333">
18834 + <pos x="hc" y="y2" />
18835 + </ahXY>
18836 + <ahXY gdRefX="adj2" minX="25000" maxX="75000">
18837 + <pos x="x2" y="b" />
18838 + </ahXY>
18839 + </ahLst>
18841 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
18842 + <cxn ang="3cd4">
18843 + <pos x="hc" y="t" />
18844 + </cxn>
18845 + <cxn ang="cd2">
18846 + <pos x="wd8" y="y3" />
18847 + </cxn>
18848 + <cxn ang="cd4">
18849 + <pos x="hc" y="y2" />
18850 + </cxn>
18851 + <cxn ang="0">
18852 + <pos x="x10" y="y3" />
18853 + </cxn>
18854 + </cxnLst>
18856 + <rect l="x2" t="t" r="x9" b="y2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
18858 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
18859 + <path stroke="false" extrusionOk="false">
18861 + <moveTo>
18862 + <pt x="l" y="b" />
18863 + </moveTo>
18864 + <lnTo>
18865 + <pt x="x4" y="b" />
18866 + </lnTo>
18867 + <arcTo wR="wd32" hR="hR" stAng="cd4" swAng="-10800000" />
18868 + <lnTo>
18869 + <pt x="x3" y="y1" />
18870 + </lnTo>
18871 + <arcTo wR="wd32" hR="hR" stAng="cd4" swAng="cd2" />
18872 + <lnTo>
18873 + <pt x="x8" y="y2" />
18874 + </lnTo>
18875 + <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="cd2" />
18876 + <lnTo>
18877 + <pt x="x7" y="y1" />
18878 + </lnTo>
18879 + <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="-10800000" />
18880 + <lnTo>
18881 + <pt x="r" y="b" />
18882 + </lnTo>
18883 + <lnTo>
18884 + <pt x="x10" y="y3" />
18885 + </lnTo>
18886 + <lnTo>
18887 + <pt x="r" y="y4" />
18888 + </lnTo>
18889 + <lnTo>
18890 + <pt x="x9" y="y4" />
18891 + </lnTo>
18892 + <lnTo>
18893 + <pt x="x9" y="hR" />
18894 + </lnTo>
18895 + <arcTo wR="wd32" hR="hR" stAng="0" swAng="-5400000" />
18896 + <lnTo>
18897 + <pt x="x3" y="t" />
18898 + </lnTo>
18899 + <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="-5400000" />
18900 + <lnTo>
18901 + <pt x="x2" y="y4" />
18902 + </lnTo>
18903 + <lnTo>
18904 + <pt x="l" y="y4" />
18905 + </lnTo>
18906 + <lnTo>
18907 + <pt x="wd8" y="y3" />
18908 + </lnTo>
18909 + <close />
18910 + </path>
18911 + <path stroke="false" fill="darkenLess" extrusionOk="false">
18913 + <moveTo>
18914 + <pt x="x5" y="y6" />
18915 + </moveTo>
18916 + <arcTo wR="wd32" hR="hR" stAng="0" swAng="-5400000" />
18917 + <lnTo>
18918 + <pt x="x3" y="y1" />
18919 + </lnTo>
18920 + <arcTo wR="wd32" hR="hR" stAng="cd4" swAng="cd2" />
18921 + <lnTo>
18922 + <pt x="x5" y="y2" />
18923 + </lnTo>
18924 + <close />
18925 + <moveTo>
18926 + <pt x="x6" y="y6" />
18927 + </moveTo>
18928 + <arcTo wR="wd32" hR="hR" stAng="cd2" swAng="cd4" />
18929 + <lnTo>
18930 + <pt x="x8" y="y1" />
18931 + </lnTo>
18932 + <arcTo wR="wd32" hR="hR" stAng="cd4" swAng="-10800000" />
18933 + <lnTo>
18934 + <pt x="x6" y="y2" />
18935 + </lnTo>
18936 + <close />
18937 + </path>
18938 + <path fill="none" extrusionOk="false">
18940 + <moveTo>
18941 + <pt x="l" y="b" />
18942 + </moveTo>
18943 + <lnTo>
18944 + <pt x="wd8" y="y3" />
18945 + </lnTo>
18946 + <lnTo>
18947 + <pt x="l" y="y4" />
18948 + </lnTo>
18949 + <lnTo>
18950 + <pt x="x2" y="y4" />
18951 + </lnTo>
18952 + <lnTo>
18953 + <pt x="x2" y="hR" />
18954 + </lnTo>
18955 + <arcTo wR="wd32" hR="hR" stAng="cd2" swAng="cd4" />
18956 + <lnTo>
18957 + <pt x="x8" y="t" />
18958 + </lnTo>
18959 + <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="cd4" />
18960 + <lnTo>
18961 + <pt x="x9" y="y4" />
18962 + </lnTo>
18963 + <lnTo>
18964 + <pt x="x9" y="y4" />
18965 + </lnTo>
18966 + <lnTo>
18967 + <pt x="r" y="y4" />
18968 + </lnTo>
18969 + <lnTo>
18970 + <pt x="x10" y="y3" />
18971 + </lnTo>
18972 + <lnTo>
18973 + <pt x="r" y="b" />
18974 + </lnTo>
18975 + <lnTo>
18976 + <pt x="x7" y="b" />
18977 + </lnTo>
18978 + <arcTo wR="wd32" hR="hR" stAng="cd4" swAng="cd2" />
18979 + <lnTo>
18980 + <pt x="x8" y="y1" />
18981 + </lnTo>
18982 + <arcTo wR="wd32" hR="hR" stAng="cd4" swAng="-10800000" />
18983 + <lnTo>
18984 + <pt x="x3" y="y2" />
18985 + </lnTo>
18986 + <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="-10800000" />
18987 + <lnTo>
18988 + <pt x="x4" y="y1" />
18989 + </lnTo>
18990 + <arcTo wR="wd32" hR="hR" stAng="3cd4" swAng="cd2" />
18991 + <close />
18992 + <moveTo>
18993 + <pt x="x5" y="y2" />
18994 + </moveTo>
18995 + <lnTo>
18996 + <pt x="x5" y="y6" />
18997 + </lnTo>
18998 + <moveTo>
18999 + <pt x="x6" y="y6" />
19000 + </moveTo>
19001 + <lnTo>
19002 + <pt x="x6" y="y2" />
19003 + </lnTo>
19004 + <moveTo>
19005 + <pt x="x2" y="y7" />
19006 + </moveTo>
19007 + <lnTo>
19008 + <pt x="x2" y="y4" />
19009 + </lnTo>
19010 + <moveTo>
19011 + <pt x="x9" y="y4" />
19012 + </moveTo>
19013 + <lnTo>
19014 + <pt x="x9" y="y7" />
19015 + </lnTo>
19016 + </path>
19017 + </pathLst>
19019 + </ribbon2>
19020 + <rightArrow>
19021 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19022 + <gd name="adj1" fmla="val 50000" />
19023 + <gd name="adj2" fmla="val 50000" />
19024 + </avLst>
19025 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19026 + <gd name="maxAdj2" fmla="*/ 100000 w ss" />
19027 + <gd name="a1" fmla="pin 0 adj1 100000" />
19028 + <gd name="a2" fmla="pin 0 adj2 maxAdj2" />
19029 + <gd name="dx1" fmla="*/ ss a2 100000" />
19030 + <gd name="x1" fmla="+- r 0 dx1" />
19031 + <gd name="dy1" fmla="*/ h a1 200000" />
19032 + <gd name="y1" fmla="+- vc 0 dy1" />
19033 + <gd name="y2" fmla="+- vc dy1 0" />
19034 + <gd name="dx2" fmla="*/ y1 dx1 hd2" />
19035 + <gd name="x2" fmla="+- x1 dx2 0" />
19036 + </gdLst>
19037 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19038 + <ahXY gdRefY="adj1" minY="0" maxY="100000">
19039 + <pos x="l" y="y1" />
19040 + </ahXY>
19041 + <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">
19042 + <pos x="x1" y="t" />
19043 + </ahXY>
19044 + </ahLst>
19045 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19046 + <cxn ang="3cd4">
19047 + <pos x="x1" y="t" />
19048 + </cxn>
19049 + <cxn ang="cd2">
19050 + <pos x="l" y="vc" />
19051 + </cxn>
19052 + <cxn ang="cd4">
19053 + <pos x="x1" y="b" />
19054 + </cxn>
19055 + <cxn ang="0">
19056 + <pos x="r" y="vc" />
19057 + </cxn>
19058 + </cxnLst>
19059 + <rect l="l" t="y1" r="x2" b="y2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
19060 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19061 + <path>
19062 + <moveTo>
19063 + <pt x="l" y="y1" />
19064 + </moveTo>
19065 + <lnTo>
19066 + <pt x="x1" y="y1" />
19067 + </lnTo>
19068 + <lnTo>
19069 + <pt x="x1" y="t" />
19070 + </lnTo>
19071 + <lnTo>
19072 + <pt x="r" y="vc" />
19073 + </lnTo>
19074 + <lnTo>
19075 + <pt x="x1" y="b" />
19076 + </lnTo>
19077 + <lnTo>
19078 + <pt x="x1" y="y2" />
19079 + </lnTo>
19080 + <lnTo>
19081 + <pt x="l" y="y2" />
19082 + </lnTo>
19083 + <close />
19084 + </path>
19085 + </pathLst>
19086 + </rightArrow>
19087 + <rightArrowCallout>
19089 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19090 + <gd name="adj1" fmla="val 25000" />
19092 + <gd name="adj2" fmla="val 25000" />
19094 + <gd name="adj3" fmla="val 25000" />
19096 + <gd name="adj4" fmla="val 64977" />
19098 + </avLst>
19100 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19101 + <gd name="maxAdj2" fmla="*/ 50000 h ss" />
19103 + <gd name="a2" fmla="pin 0 adj2 maxAdj2" />
19104 + <gd name="maxAdj1" fmla="*/ a2 2 1" />
19106 + <gd name="a1" fmla="pin 0 adj1 maxAdj1" />
19107 + <gd name="maxAdj3" fmla="*/ 100000 w ss" />
19109 + <gd name="a3" fmla="pin 0 adj3 maxAdj3" />
19110 + <gd name="q2" fmla="*/ a3 ss w" />
19112 + <gd name="maxAdj4" fmla="+- 100000 0 q2" />
19114 + <gd name="a4" fmla="pin 0 adj4 maxAdj4" />
19115 + <gd name="dy1" fmla="*/ ss a2 100000" />
19117 + <gd name="dy2" fmla="*/ ss a1 200000" />
19119 + <gd name="y1" fmla="+- vc 0 dy1" />
19120 + <gd name="y2" fmla="+- vc 0 dy2" />
19121 + <gd name="y3" fmla="+- vc dy2 0" />
19122 + <gd name="y4" fmla="+- vc dy1 0" />
19123 + <gd name="dx3" fmla="*/ ss a3 100000" />
19125 + <gd name="x3" fmla="+- r 0 dx3" />
19126 + <gd name="x2" fmla="*/ w a4 100000" />
19128 + <gd name="x1" fmla="*/ x2 1 2" />
19129 + </gdLst>
19131 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19132 + <ahXY gdRefY="adj1" minY="0" maxY="maxAdj1">
19133 + <pos x="x3" y="y2" />
19134 + </ahXY>
19135 + <ahXY gdRefY="adj2" minY="0" maxY="maxAdj2">
19136 + <pos x="r" y="y1" />
19137 + </ahXY>
19138 + <ahXY gdRefX="adj3" minX="0" maxX="maxAdj3">
19139 + <pos x="x3" y="t" />
19140 + </ahXY>
19141 + <ahXY gdRefX="adj4" minX="0" maxX="maxAdj4">
19142 + <pos x="x2" y="b" />
19143 + </ahXY>
19144 + </ahLst>
19146 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19147 + <cxn ang="3cd4">
19148 + <pos x="x1" y="t" />
19149 + </cxn>
19150 + <cxn ang="cd2">
19151 + <pos x="l" y="vc" />
19152 + </cxn>
19153 + <cxn ang="cd4">
19154 + <pos x="x1" y="b" />
19155 + </cxn>
19156 + <cxn ang="0">
19157 + <pos x="r" y="vc" />
19158 + </cxn>
19159 + </cxnLst>
19161 + <rect l="l" t="t" r="x2" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
19163 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19164 + <path>
19165 + <moveTo>
19166 + <pt x="l" y="t" />
19167 + </moveTo>
19168 + <lnTo>
19169 + <pt x="x2" y="t" />
19170 + </lnTo>
19171 + <lnTo>
19172 + <pt x="x2" y="y2" />
19173 + </lnTo>
19174 + <lnTo>
19175 + <pt x="x3" y="y2" />
19176 + </lnTo>
19177 + <lnTo>
19178 + <pt x="x3" y="y1" />
19179 + </lnTo>
19180 + <lnTo>
19181 + <pt x="r" y="vc" />
19182 + </lnTo>
19183 + <lnTo>
19184 + <pt x="x3" y="y4" />
19185 + </lnTo>
19186 + <lnTo>
19187 + <pt x="x3" y="y3" />
19188 + </lnTo>
19189 + <lnTo>
19190 + <pt x="x2" y="y3" />
19191 + </lnTo>
19192 + <lnTo>
19193 + <pt x="x2" y="b" />
19194 + </lnTo>
19195 + <lnTo>
19196 + <pt x="l" y="b" />
19197 + </lnTo>
19198 + <close />
19199 + </path>
19200 + </pathLst>
19202 + </rightArrowCallout>
19203 + <rightBrace>
19204 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19205 + <gd name="adj1" fmla="val 8333" />
19206 + <gd name="adj2" fmla="val 50000" />
19207 + </avLst>
19208 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19209 + <gd name="a2" fmla="pin 0 adj2 100000" />
19210 + <gd name="q1" fmla="+- 100000 0 a2" />
19211 + <gd name="q2" fmla="min q1 a2" />
19212 + <gd name="q3" fmla="*/ q2 1 2" />
19213 + <gd name="maxAdj1" fmla="*/ q3 h ss" />
19214 + <gd name="a1" fmla="pin 0 adj1 maxAdj1" />
19215 + <gd name="y1" fmla="*/ ss a1 100000" />
19216 + <gd name="y3" fmla="*/ h a2 100000" />
19217 + <gd name="y2" fmla="+- y3 0 y1" />
19218 + <gd name="y4" fmla="+- b 0 y1" />
19219 + <gd name="dx1" fmla="cos wd2 2700000" />
19220 + <gd name="dy1" fmla="sin y1 2700000" />
19221 + <gd name="ir" fmla="+- l dx1 0" />
19222 + <gd name="it" fmla="+- y1 0 dy1" />
19223 + <gd name="ib" fmla="+- b dy1 y1" />
19224 + </gdLst>
19225 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19226 + <ahXY gdRefY="adj1" minY="0" maxY="maxAdj1">
19227 + <pos x="hc" y="y1" />
19228 + </ahXY>
19229 + <ahXY gdRefY="adj2" minY="0" maxY="100000">
19230 + <pos x="r" y="y3" />
19231 + </ahXY>
19232 + </ahLst>
19233 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19234 + <cxn ang="cd4">
19235 + <pos x="l" y="t" />
19236 + </cxn>
19237 + <cxn ang="cd2">
19238 + <pos x="r" y="y3" />
19239 + </cxn>
19240 + <cxn ang="3cd4">
19241 + <pos x="l" y="b" />
19242 + </cxn>
19243 + </cxnLst>
19244 + <rect l="l" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
19245 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19246 + <path stroke="false" extrusionOk="false">
19247 + <moveTo>
19248 + <pt x="l" y="t" />
19249 + </moveTo>
19250 + <arcTo wR="wd2" hR="y1" stAng="3cd4" swAng="cd4" />
19251 + <lnTo>
19252 + <pt x="hc" y="y2" />
19253 + </lnTo>
19254 + <arcTo wR="wd2" hR="y1" stAng="cd2" swAng="-5400000" />
19255 + <arcTo wR="wd2" hR="y1" stAng="3cd4" swAng="-5400000" />
19256 + <lnTo>
19257 + <pt x="hc" y="y4" />
19258 + </lnTo>
19259 + <arcTo wR="wd2" hR="y1" stAng="0" swAng="cd4" />
19260 + <close />
19261 + </path>
19262 + <path fill="none">
19263 + <moveTo>
19264 + <pt x="l" y="t" />
19265 + </moveTo>
19266 + <arcTo wR="wd2" hR="y1" stAng="3cd4" swAng="cd4" />
19267 + <lnTo>
19268 + <pt x="hc" y="y2" />
19269 + </lnTo>
19270 + <arcTo wR="wd2" hR="y1" stAng="cd2" swAng="-5400000" />
19271 + <arcTo wR="wd2" hR="y1" stAng="3cd4" swAng="-5400000" />
19272 + <lnTo>
19273 + <pt x="hc" y="y4" />
19274 + </lnTo>
19275 + <arcTo wR="wd2" hR="y1" stAng="0" swAng="cd4" />
19276 + </path>
19277 + </pathLst>
19278 + </rightBrace>
19279 + <rightBracket>
19281 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19282 + <gd name="adj" fmla="val 8333" />
19284 + </avLst>
19286 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19287 + <gd name="maxAdj" fmla="*/ 50000 h ss" />
19289 + <gd name="a" fmla="pin 0 adj maxAdj" />
19290 + <gd name="y1" fmla="*/ ss a 100000" />
19292 + <gd name="y2" fmla="+- b 0 y1" />
19294 + <gd name="dx1" fmla="cos w 2700000" />
19295 + <gd name="dy1" fmla="sin y1 2700000" />
19296 + <gd name="ir" fmla="+- l dx1 0" />
19297 + <gd name="it" fmla="+- y1 0 dy1" />
19298 + <gd name="ib" fmla="+- b dy1 y1" />
19299 + </gdLst>
19301 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19302 + <ahXY gdRefY="adj" minY="0" maxY="maxAdj">
19303 + <pos x="r" y="y1" />
19304 + </ahXY>
19305 + </ahLst>
19307 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19308 + <cxn ang="cd4">
19309 + <pos x="l" y="t" />
19310 + </cxn>
19311 + <cxn ang="3cd4">
19312 + <pos x="l" y="b" />
19313 + </cxn>
19314 + <cxn ang="cd2">
19315 + <pos x="r" y="vc" />
19316 + </cxn>
19317 + </cxnLst>
19319 + <rect l="l" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
19321 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19322 + <path stroke="false" extrusionOk="false">
19324 + <moveTo>
19325 + <pt x="l" y="t" />
19326 + </moveTo>
19327 + <arcTo wR="w" hR="y1" stAng="3cd4" swAng="cd4" />
19328 + <lnTo>
19329 + <pt x="r" y="y2" />
19330 + </lnTo>
19331 + <arcTo wR="w" hR="y1" stAng="0" swAng="cd4" />
19332 + <close />
19333 + </path>
19334 + <path fill="none">
19336 + <moveTo>
19337 + <pt x="l" y="t" />
19338 + </moveTo>
19339 + <arcTo wR="w" hR="y1" stAng="3cd4" swAng="cd4" />
19340 + <lnTo>
19341 + <pt x="r" y="y2" />
19342 + </lnTo>
19343 + <arcTo wR="w" hR="y1" stAng="0" swAng="cd4" />
19344 + </path>
19345 + </pathLst>
19347 + </rightBracket>
19348 + <round1Rect>
19350 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19351 + <gd name="adj" fmla="val 16667" />
19352 + </avLst>
19354 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19355 + <gd name="a" fmla="pin 0 adj 50000" />
19356 + <gd name="dx1" fmla="*/ ss a 100000" />
19357 + <gd name="x1" fmla="+- r 0 dx1" />
19358 + <gd name="idx" fmla="*/ dx1 29289 100000" />
19359 + <gd name="ir" fmla="+- r 0 idx" />
19360 + </gdLst>
19362 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19363 + <ahXY gdRefX="adj" minX="0" maxX="50000">
19364 + <pos x="x1" y="t" />
19365 + </ahXY>
19366 + </ahLst>
19368 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19369 + <cxn ang="3cd4">
19370 + <pos x="hc" y="t" />
19371 + </cxn>
19372 + <cxn ang="cd2">
19373 + <pos x="l" y="vc" />
19374 + </cxn>
19375 + <cxn ang="cd4">
19376 + <pos x="hc" y="b" />
19377 + </cxn>
19378 + <cxn ang="0">
19379 + <pos x="r" y="vc" />
19380 + </cxn>
19381 + </cxnLst>
19383 + <rect l="l" t="t" r="ir" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
19385 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19386 + <path>
19387 + <moveTo>
19388 + <pt x="l" y="t" />
19389 + </moveTo>
19390 + <lnTo>
19391 + <pt x="x1" y="t" />
19392 + </lnTo>
19393 + <arcTo wR="dx1" hR="dx1" stAng="3cd4" swAng="cd4" />
19394 + <lnTo>
19395 + <pt x="r" y="b" />
19396 + </lnTo>
19397 + <lnTo>
19398 + <pt x="l" y="b" />
19399 + </lnTo>
19400 + <close />
19401 + </path>
19402 + </pathLst>
19404 + </round1Rect>
19405 + <round2DiagRect>
19407 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19408 + <gd name="adj1" fmla="val 16667" />
19409 + <gd name="adj2" fmla="val 0" />
19410 + </avLst>
19412 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19413 + <gd name="a1" fmla="pin 0 adj1 50000" />
19414 + <gd name="a2" fmla="pin 0 adj2 50000" />
19415 + <gd name="x1" fmla="*/ ss a1 100000" />
19416 + <gd name="y1" fmla="+- b 0 x1" />
19417 + <gd name="a" fmla="*/ ss a2 100000" />
19418 + <gd name="x2" fmla="+- r 0 a" />
19419 + <gd name="y2" fmla="+- b 0 a" />
19420 + <gd name="dx1" fmla="*/ x1 29289 100000" />
19421 + <gd name="dx2" fmla="*/ a 29289 100000" />
19422 + <gd name="d" fmla="+- dx1 0 dx2" />
19423 + <gd name="dx" fmla="?: d dx1 dx2" />
19424 + <gd name="ir" fmla="+- r 0 dx" />
19425 + <gd name="ib" fmla="+- b 0 dx" />
19426 + </gdLst>
19428 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19429 + <ahXY gdRefX="adj1" minX="0" maxX="50000">
19430 + <pos x="x1" y="t" />
19431 + </ahXY>
19432 + <ahXY gdRefX="adj2" minX="0" maxX="50000">
19433 + <pos x="x2" y="t" />
19434 + </ahXY>
19435 + </ahLst>
19437 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19438 + <cxn ang="0">
19439 + <pos x="r" y="vc" />
19440 + </cxn>
19441 + <cxn ang="cd4">
19442 + <pos x="hc" y="b" />
19443 + </cxn>
19444 + <cxn ang="cd2">
19445 + <pos x="l" y="vc" />
19446 + </cxn>
19447 + <cxn ang="3cd4">
19448 + <pos x="hc" y="t" />
19449 + </cxn>
19450 + </cxnLst>
19452 + <rect l="dx" t="dx" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
19454 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19455 + <path>
19456 + <moveTo>
19457 + <pt x="x1" y="t" />
19458 + </moveTo>
19459 + <lnTo>
19460 + <pt x="x2" y="t" />
19461 + </lnTo>
19462 + <arcTo wR="a" hR="a" stAng="3cd4" swAng="cd4" />
19463 + <lnTo>
19464 + <pt x="r" y="y1" />
19465 + </lnTo>
19466 + <arcTo wR="x1" hR="x1" stAng="0" swAng="cd4" />
19467 + <lnTo>
19468 + <pt x="a" y="b" />
19469 + </lnTo>
19470 + <arcTo wR="a" hR="a" stAng="cd4" swAng="cd4" />
19471 + <lnTo>
19472 + <pt x="l" y="x1" />
19473 + </lnTo>
19474 + <arcTo wR="x1" hR="x1" stAng="cd2" swAng="cd4" />
19475 + <close />
19476 + </path>
19477 + </pathLst>
19479 + </round2DiagRect>
19480 + <round2SameRect>
19482 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19483 + <gd name="adj1" fmla="val 16667" />
19484 + <gd name="adj2" fmla="val 0" />
19485 + </avLst>
19487 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19488 + <gd name="a1" fmla="pin 0 adj1 50000" />
19489 + <gd name="a2" fmla="pin 0 adj2 50000" />
19491 + <gd name="tx1" fmla="*/ ss a1 100000" />
19492 + <gd name="tx2" fmla="+- r 0 tx1" />
19494 + <gd name="bx1" fmla="*/ ss a2 100000" />
19495 + <gd name="bx2" fmla="+- r 0 bx1" />
19496 + <gd name="by1" fmla="+- b 0 bx1" />
19497 + <gd name="d" fmla="+- tx1 0 bx1" />
19498 + <gd name="tdx" fmla="*/ tx1 29289 100000" />
19499 + <gd name="bdx" fmla="*/ bx1 29289 100000" />
19500 + <gd name="il" fmla="?: d tdx bdx" />
19501 + <gd name="ir" fmla="+- r 0 il" />
19502 + <gd name="ib" fmla="+- b 0 bdx" />
19503 + </gdLst>
19505 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19506 + <ahXY gdRefX="adj1" minX="0" maxX="50000">
19507 + <pos x="tx2" y="t" />
19508 + </ahXY>
19509 + <ahXY gdRefX="adj2" minX="0" maxX="50000">
19510 + <pos x="bx1" y="b" />
19511 + </ahXY>
19512 + </ahLst>
19514 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19515 + <cxn ang="0">
19516 + <pos x="r" y="vc" />
19517 + </cxn>
19518 + <cxn ang="cd4">
19519 + <pos x="hc" y="b" />
19520 + </cxn>
19521 + <cxn ang="cd2">
19522 + <pos x="l" y="vc" />
19523 + </cxn>
19524 + <cxn ang="3cd4">
19525 + <pos x="hc" y="t" />
19526 + </cxn>
19527 + </cxnLst>
19529 + <rect l="il" t="tdx" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
19531 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19532 + <path>
19533 + <moveTo>
19534 + <pt x="tx1" y="t" />
19535 + </moveTo>
19536 + <lnTo>
19537 + <pt x="tx2" y="t" />
19538 + </lnTo>
19539 + <arcTo wR="tx1" hR="tx1" stAng="3cd4" swAng="cd4" />
19540 + <lnTo>
19541 + <pt x="r" y="by1" />
19542 + </lnTo>
19543 + <arcTo wR="bx1" hR="bx1" stAng="0" swAng="cd4" />
19544 + <lnTo>
19545 + <pt x="bx1" y="b" />
19546 + </lnTo>
19547 + <arcTo wR="bx1" hR="bx1" stAng="cd4" swAng="cd4" />
19548 + <lnTo>
19549 + <pt x="l" y="tx1" />
19550 + </lnTo>
19551 + <arcTo wR="tx1" hR="tx1" stAng="cd2" swAng="cd4" />
19552 + <close />
19553 + </path>
19554 + </pathLst>
19556 + </round2SameRect>
19557 + <roundRect>
19558 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19559 + <gd name="adj" fmla="val 16667" />
19560 + </avLst>
19561 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19562 + <gd name="a" fmla="pin 0 adj 50000" />
19563 + <gd name="x1" fmla="*/ ss a 100000" />
19564 + <gd name="x2" fmla="+- r 0 x1" />
19565 + <gd name="y2" fmla="+- b 0 x1" />
19566 + <gd name="il" fmla="*/ x1 29289 100000" />
19567 + <gd name="ir" fmla="+- r 0 il" />
19568 + <gd name="ib" fmla="+- b 0 il" />
19569 + </gdLst>
19570 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19571 + <ahXY gdRefX="adj" minX="0" maxX="50000">
19572 + <pos x="x1" y="t" />
19573 + </ahXY>
19574 + </ahLst>
19575 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19576 + <cxn ang="3cd4">
19577 + <pos x="hc" y="t" />
19578 + </cxn>
19579 + <cxn ang="cd2">
19580 + <pos x="l" y="vc" />
19581 + </cxn>
19582 + <cxn ang="cd4">
19583 + <pos x="hc" y="b" />
19584 + </cxn>
19585 + <cxn ang="0">
19586 + <pos x="r" y="vc" />
19587 + </cxn>
19588 + </cxnLst>
19589 + <rect l="il" t="il" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
19590 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19591 + <path>
19592 + <moveTo>
19593 + <pt x="l" y="x1" />
19594 + </moveTo>
19595 + <arcTo wR="x1" hR="x1" stAng="cd2" swAng="cd4" />
19596 + <lnTo>
19597 + <pt x="x2" y="t" />
19598 + </lnTo>
19599 + <arcTo wR="x1" hR="x1" stAng="3cd4" swAng="cd4" />
19600 + <lnTo>
19601 + <pt x="r" y="y2" />
19602 + </lnTo>
19603 + <arcTo wR="x1" hR="x1" stAng="0" swAng="cd4" />
19604 + <lnTo>
19605 + <pt x="x1" y="b" />
19606 + </lnTo>
19607 + <arcTo wR="x1" hR="x1" stAng="cd4" swAng="cd4" />
19608 + <close />
19609 + </path>
19610 + </pathLst>
19611 + </roundRect>
19612 + <rtTriangle>
19613 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19614 + <gd name="it" fmla="*/ h 7 12" />
19615 + <gd name="ir" fmla="*/ w 7 12" />
19616 + <gd name="ib" fmla="*/ h 11 12" />
19617 + </gdLst>
19618 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19619 + <cxn ang="3cd4">
19620 + <pos x="l" y="t" />
19621 + </cxn>
19622 + <cxn ang="cd2">
19623 + <pos x="l" y="vc" />
19624 + </cxn>
19625 + <cxn ang="cd4">
19626 + <pos x="l" y="b" />
19627 + </cxn>
19628 + <cxn ang="cd4">
19629 + <pos x="hc" y="b" />
19630 + </cxn>
19631 + <cxn ang="cd4">
19632 + <pos x="r" y="b" />
19633 + </cxn>
19634 + <cxn ang="0">
19635 + <pos x="hc" y="vc" />
19636 + </cxn>
19637 + </cxnLst>
19638 + <rect l="wd12" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
19639 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19640 + <path>
19641 + <moveTo>
19642 + <pt x="l" y="b" />
19643 + </moveTo>
19644 + <lnTo>
19645 + <pt x="l" y="t" />
19646 + </lnTo>
19647 + <lnTo>
19648 + <pt x="r" y="b" />
19649 + </lnTo>
19650 + <close />
19651 + </path>
19652 + </pathLst>
19653 + </rtTriangle>
19654 + <smileyFace>
19656 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19657 + <gd name="adj" fmla="val 4653" />
19659 + </avLst>
19661 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19662 + <gd name="a" fmla="pin -4653 adj 4653" />
19663 + <gd name="x1" fmla="*/ w 4969 21699" />
19665 + <gd name="x2" fmla="*/ w 6215 21600" />
19667 + <gd name="x3" fmla="*/ w 13135 21600" />
19669 + <gd name="x4" fmla="*/ w 16640 21600" />
19671 + <gd name="y1" fmla="*/ h 7570 21600" />
19673 + <gd name="y3" fmla="*/ h 16515 21600" />
19675 + <gd name="dy2" fmla="*/ h a 100000" />
19677 + <gd name="y2" fmla="+- y3 0 dy2" />
19679 + <gd name="y4" fmla="+- y3 dy2 0" />
19681 + <gd name="dy3" fmla="*/ h a 50000" />
19683 + <gd name="y5" fmla="+- y4 dy3 0" />
19684 + <gd name="idx" fmla="cos wd2 2700000" />
19685 + <gd name="idy" fmla="sin hd2 2700000" />
19686 + <gd name="il" fmla="+- hc 0 idx" />
19687 + <gd name="ir" fmla="+- hc idx 0" />
19688 + <gd name="it" fmla="+- vc 0 idy" />
19689 + <gd name="ib" fmla="+- vc idy 0" />
19690 + <gd name="wR" fmla="*/ w 1125 21600" />
19691 + <gd name="hR" fmla="*/ h 1125 21600" />
19692 + </gdLst>
19694 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19695 + <ahXY gdRefY="adj" minY="-4653" maxY="4653">
19696 + <pos x="hc" y="y4" />
19697 + </ahXY>
19698 + </ahLst>
19700 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19701 + <cxn ang="3cd4">
19702 + <pos x="hc" y="t" />
19703 + </cxn>
19704 + <cxn ang="3cd4">
19705 + <pos x="il" y="it" />
19706 + </cxn>
19707 + <cxn ang="cd2">
19708 + <pos x="l" y="vc" />
19709 + </cxn>
19710 + <cxn ang="cd4">
19711 + <pos x="il" y="ib" />
19712 + </cxn>
19713 + <cxn ang="cd4">
19714 + <pos x="hc" y="b" />
19715 + </cxn>
19716 + <cxn ang="cd4">
19717 + <pos x="ir" y="ib" />
19718 + </cxn>
19719 + <cxn ang="0">
19720 + <pos x="r" y="vc" />
19721 + </cxn>
19722 + <cxn ang="3cd4">
19723 + <pos x="ir" y="it" />
19724 + </cxn>
19725 + </cxnLst>
19727 + <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
19729 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19730 + <path stroke="false" extrusionOk="false">
19732 + <moveTo>
19733 + <pt x="l" y="vc" />
19734 + </moveTo>
19735 + <arcTo wR="wd2" hR="hd2" stAng="cd2" swAng="21600000" />
19736 + <close />
19737 + </path>
19738 + <path fill="darkenLess" extrusionOk="false">
19740 + <moveTo>
19741 + <pt x="x2" y="y1" />
19742 + </moveTo>
19743 + <arcTo wR="wR" hR="hR" stAng="cd2" swAng="21600000" />
19744 + <moveTo>
19745 + <pt x="x3" y="y1" />
19746 + </moveTo>
19747 + <arcTo wR="wR" hR="hR" stAng="cd2" swAng="21600000" />
19748 + </path>
19749 + <path fill="none" extrusionOk="false">
19751 + <moveTo>
19752 + <pt x="x1" y="y2" />
19753 + </moveTo>
19754 + <quadBezTo>
19755 + <pt x="hc" y="y5" />
19756 + <pt x="x4" y="y2" />
19757 + </quadBezTo>
19758 + </path>
19759 + <path fill="none">
19761 + <moveTo>
19762 + <pt x="l" y="vc" />
19763 + </moveTo>
19764 + <arcTo wR="wd2" hR="hd2" stAng="cd2" swAng="21600000" />
19765 + <close />
19766 + </path>
19767 + </pathLst>
19769 + </smileyFace>
19770 + <snip1Rect>
19772 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19773 + <gd name="adj" fmla="val 16667" />
19774 + </avLst>
19776 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19777 + <gd name="a" fmla="pin 0 adj 50000" />
19778 + <gd name="dx1" fmla="*/ ss a 100000" />
19779 + <gd name="x1" fmla="+- r 0 dx1" />
19780 + <gd name="it" fmla="*/ dx1 1 2" />
19781 + <gd name="ir" fmla="+/ x1 r 2" />
19782 + </gdLst>
19784 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19785 + <ahXY gdRefX="adj" minX="0" maxX="50000">
19786 + <pos x="x1" y="t" />
19787 + </ahXY>
19788 + </ahLst>
19790 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19791 + <cxn ang="0">
19792 + <pos x="r" y="vc" />
19793 + </cxn>
19794 + <cxn ang="cd4">
19795 + <pos x="hc" y="b" />
19796 + </cxn>
19797 + <cxn ang="cd2">
19798 + <pos x="l" y="vc" />
19799 + </cxn>
19800 + <cxn ang="3cd4">
19801 + <pos x="hc" y="t" />
19802 + </cxn>
19803 + </cxnLst>
19805 + <rect l="l" t="it" r="ir" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
19807 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19808 + <path>
19809 + <moveTo>
19810 + <pt x="l" y="t" />
19811 + </moveTo>
19812 + <lnTo>
19813 + <pt x="x1" y="t" />
19814 + </lnTo>
19815 + <lnTo>
19816 + <pt x="r" y="dx1" />
19817 + </lnTo>
19818 + <lnTo>
19819 + <pt x="r" y="b" />
19820 + </lnTo>
19821 + <lnTo>
19822 + <pt x="l" y="b" />
19823 + </lnTo>
19824 + <close />
19825 + </path>
19826 + </pathLst>
19828 + </snip1Rect>
19829 + <snip2DiagRect>
19831 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19832 + <gd name="adj1" fmla="val 0" />
19833 + <gd name="adj2" fmla="val 16667" />
19834 + </avLst>
19836 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19837 + <gd name="a1" fmla="pin 0 adj1 50000" />
19838 + <gd name="a2" fmla="pin 0 adj2 50000" />
19839 + <gd name="lx1" fmla="*/ ss a1 100000" />
19840 + <gd name="lx2" fmla="+- r 0 lx1" />
19841 + <gd name="ly1" fmla="+- b 0 lx1" />
19842 + <gd name="rx1" fmla="*/ ss a2 100000" />
19843 + <gd name="rx2" fmla="+- r 0 rx1" />
19844 + <gd name="ry1" fmla="+- b 0 rx1" />
19845 + <gd name="d" fmla="+- lx1 0 rx1" />
19846 + <gd name="dx" fmla="?: d lx1 rx1" />
19847 + <gd name="il" fmla="*/ dx 1 2" />
19849 + <gd name="ir" fmla="+- r 0 il" />
19850 + <gd name="ib" fmla="+- b 0 il" />
19851 + </gdLst>
19853 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19854 + <ahXY gdRefX="adj1" minX="0" maxX="50000">
19855 + <pos x="lx1" y="t" />
19856 + </ahXY>
19857 + <ahXY gdRefX="adj2" minX="0" maxX="50000">
19858 + <pos x="rx2" y="t" />
19859 + </ahXY>
19860 + </ahLst>
19862 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19863 + <cxn ang="0">
19864 + <pos x="r" y="vc" />
19865 + </cxn>
19866 + <cxn ang="cd4">
19867 + <pos x="hc" y="b" />
19868 + </cxn>
19869 + <cxn ang="cd2">
19870 + <pos x="l" y="vc" />
19871 + </cxn>
19872 + <cxn ang="3cd4">
19873 + <pos x="hc" y="t" />
19874 + </cxn>
19875 + </cxnLst>
19877 + <rect l="il" t="il" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
19879 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19880 + <path>
19881 + <moveTo>
19882 + <pt x="lx1" y="t" />
19883 + </moveTo>
19884 + <lnTo>
19885 + <pt x="rx2" y="t" />
19886 + </lnTo>
19887 + <lnTo>
19888 + <pt x="r" y="rx1" />
19889 + </lnTo>
19890 + <lnTo>
19891 + <pt x="r" y="ly1" />
19892 + </lnTo>
19893 + <lnTo>
19894 + <pt x="lx2" y="b" />
19895 + </lnTo>
19896 + <lnTo>
19897 + <pt x="rx1" y="b" />
19898 + </lnTo>
19899 + <lnTo>
19900 + <pt x="l" y="ry1" />
19901 + </lnTo>
19902 + <lnTo>
19903 + <pt x="l" y="lx1" />
19904 + </lnTo>
19905 + <close />
19906 + </path>
19907 + </pathLst>
19909 + </snip2DiagRect>
19910 + <snip2SameRect>
19912 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19913 + <gd name="adj1" fmla="val 16667" />
19914 + <gd name="adj2" fmla="val 0" />
19915 + </avLst>
19917 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19918 + <gd name="a1" fmla="pin 0 adj1 50000" />
19919 + <gd name="a2" fmla="pin 0 adj2 50000" />
19920 + <gd name="tx1" fmla="*/ ss a1 100000" />
19921 + <gd name="tx2" fmla="+- r 0 tx1" />
19922 + <gd name="bx1" fmla="*/ ss a2 100000" />
19923 + <gd name="bx2" fmla="+- r 0 bx1" />
19924 + <gd name="by1" fmla="+- b 0 bx1" />
19925 + <gd name="d" fmla="+- tx1 0 bx1" />
19926 + <gd name="dx" fmla="?: d tx1 bx1" />
19927 + <gd name="il" fmla="*/ dx 1 2" />
19928 + <gd name="ir" fmla="+- r 0 il" />
19929 + <gd name="it" fmla="*/ tx1 1 2" />
19930 + <gd name="ib" fmla="+/ by1 b 2" />
19931 + </gdLst>
19933 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19934 + <ahXY gdRefX="adj1" minX="0" maxX="50000">
19935 + <pos x="tx2" y="t" />
19936 + </ahXY>
19937 + <ahXY gdRefX="adj2" minX="0" maxX="50000">
19938 + <pos x="bx1" y="b" />
19939 + </ahXY>
19940 + </ahLst>
19942 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19943 + <cxn ang="0">
19944 + <pos x="r" y="vc" />
19945 + </cxn>
19946 + <cxn ang="cd4">
19947 + <pos x="hc" y="b" />
19948 + </cxn>
19949 + <cxn ang="cd2">
19950 + <pos x="l" y="vc" />
19951 + </cxn>
19952 + <cxn ang="3cd4">
19953 + <pos x="hc" y="t" />
19954 + </cxn>
19955 + </cxnLst>
19957 + <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
19959 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19960 + <path>
19961 + <moveTo>
19962 + <pt x="tx1" y="t" />
19963 + </moveTo>
19964 + <lnTo>
19965 + <pt x="tx2" y="t" />
19966 + </lnTo>
19967 + <lnTo>
19968 + <pt x="r" y="tx1" />
19969 + </lnTo>
19970 + <lnTo>
19971 + <pt x="r" y="by1" />
19972 + </lnTo>
19973 + <lnTo>
19974 + <pt x="bx2" y="b" />
19975 + </lnTo>
19976 + <lnTo>
19977 + <pt x="bx1" y="b" />
19978 + </lnTo>
19979 + <lnTo>
19980 + <pt x="l" y="by1" />
19981 + </lnTo>
19982 + <lnTo>
19983 + <pt x="l" y="tx1" />
19984 + </lnTo>
19985 + <close />
19986 + </path>
19987 + </pathLst>
19989 + </snip2SameRect>
19990 + <snipRoundRect>
19992 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19993 + <gd name="adj1" fmla="val 16667" />
19994 + <gd name="adj2" fmla="val 16667" />
19995 + </avLst>
19997 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
19998 + <gd name="a1" fmla="pin 0 adj1 50000" />
19999 + <gd name="a2" fmla="pin 0 adj2 50000" />
20000 + <gd name="x1" fmla="*/ ss a1 100000" />
20001 + <gd name="dx2" fmla="*/ ss a2 100000" />
20002 + <gd name="x2" fmla="+- r 0 dx2" />
20003 + <gd name="il" fmla="*/ x1 29289 100000" />
20005 + <gd name="ir" fmla="+/ x2 r 2" />
20006 + </gdLst>
20008 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
20009 + <ahXY gdRefX="adj1" minX="0" maxX="50000">
20010 + <pos x="x1" y="t" />
20011 + </ahXY>
20012 + <ahXY gdRefX="adj2" minX="0" maxX="50000">
20013 + <pos x="x2" y="t" />
20014 + </ahXY>
20015 + </ahLst>
20017 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
20018 + <cxn ang="0">
20019 + <pos x="r" y="vc" />
20020 + </cxn>
20021 + <cxn ang="cd4">
20022 + <pos x="hc" y="b" />
20023 + </cxn>
20024 + <cxn ang="cd2">
20025 + <pos x="l" y="vc" />
20026 + </cxn>
20027 + <cxn ang="3cd4">
20028 + <pos x="hc" y="t" />
20029 + </cxn>
20030 + </cxnLst>
20032 + <rect l="il" t="il" r="ir" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
20034 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
20035 + <path>
20036 + <moveTo>
20037 + <pt x="x1" y="t" />
20038 + </moveTo>
20039 + <lnTo>
20040 + <pt x="x2" y="t" />
20041 + </lnTo>
20042 + <lnTo>
20043 + <pt x="r" y="dx2" />
20044 + </lnTo>
20045 + <lnTo>
20046 + <pt x="r" y="b" />
20047 + </lnTo>
20048 + <lnTo>
20049 + <pt x="l" y="b" />
20050 + </lnTo>
20051 + <lnTo>
20052 + <pt x="l" y="x1" />
20053 + </lnTo>
20054 + <arcTo wR="x1" hR="x1" stAng="cd2" swAng="cd4" />
20055 + <close />
20056 + </path>
20057 + </pathLst>
20059 + </snipRoundRect>
20060 + <squareTabs>
20062 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
20063 + <gd name="md" fmla="mod w h 0" />
20064 + <gd name="dx" fmla="*/ 1 md 20" />
20066 + <gd name="y1" fmla="+- 0 b dx" />
20068 + <gd name="x1" fmla="+- 0 r dx" />
20070 + </gdLst>
20072 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
20073 + <cxn ang="cd2">
20074 + <pos x="l" y="t" />
20075 + </cxn>
20076 + <cxn ang="cd2">
20077 + <pos x="l" y="dx" />
20078 + </cxn>
20079 + <cxn ang="cd2">
20080 + <pos x="l" y="y1" />
20081 + </cxn>
20082 + <cxn ang="cd2">
20083 + <pos x="l" y="b" />
20084 + </cxn>
20085 + <cxn ang="cd2">
20086 + <pos x="dx" y="dx" />
20087 + </cxn>
20088 + <cxn ang="cd2">
20089 + <pos x="dx" y="x1" />
20090 + </cxn>
20091 + <cxn ang="3cd4">
20092 + <pos x="dx" y="t" />
20093 + </cxn>
20094 + <cxn ang="3cd4">
20095 + <pos x="x1" y="t" />
20096 + </cxn>
20097 + <cxn ang="cd4">
20098 + <pos x="dx" y="b" />
20099 + </cxn>
20100 + <cxn ang="cd4">
20101 + <pos x="x1" y="b" />
20102 + </cxn>
20103 + <cxn ang="0">
20104 + <pos x="r" y="t" />
20105 + </cxn>
20106 + <cxn ang="0">
20107 + <pos x="r" y="dx" />
20108 + </cxn>
20109 + <cxn ang="0">
20110 + <pos x="r" y="y1" />
20111 + </cxn>
20112 + <cxn ang="0">
20113 + <pos x="r" y="b" />
20114 + </cxn>
20115 + <cxn ang="0">
20116 + <pos x="x1" y="dx" />
20117 + </cxn>
20118 + <cxn ang="0">
20119 + <pos x="x1" y="y1" />
20120 + </cxn>
20121 + </cxnLst>
20123 + <rect l="dx" t="dx" r="x1" b="y1" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
20125 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
20126 + <path>
20127 + <moveTo>
20128 + <pt x="l" y="t" />
20129 + </moveTo>
20130 + <lnTo>
20131 + <pt x="dx" y="t" />
20132 + </lnTo>
20133 + <lnTo>
20134 + <pt x="dx" y="dx" />
20135 + </lnTo>
20136 + <lnTo>
20137 + <pt x="l" y="dx" />
20138 + </lnTo>
20139 + <close />
20140 + </path>
20141 + <path>
20142 + <moveTo>
20143 + <pt x="l" y="y1" />
20144 + </moveTo>
20145 + <lnTo>
20146 + <pt x="dx" y="y1" />
20147 + </lnTo>
20148 + <lnTo>
20149 + <pt x="dx" y="b" />
20150 + </lnTo>
20151 + <lnTo>
20152 + <pt x="l" y="b" />
20153 + </lnTo>
20154 + <close />
20155 + </path>
20156 + <path>
20157 + <moveTo>
20158 + <pt x="x1" y="t" />
20159 + </moveTo>
20160 + <lnTo>
20161 + <pt x="r" y="t" />
20162 + </lnTo>
20163 + <lnTo>
20164 + <pt x="r" y="dx" />
20165 + </lnTo>
20166 + <lnTo>
20167 + <pt x="x1" y="dx" />
20168 + </lnTo>
20169 + <close />
20170 + </path>
20171 + <path>
20172 + <moveTo>
20173 + <pt x="x1" y="y1" />
20174 + </moveTo>
20175 + <lnTo>
20176 + <pt x="r" y="y1" />
20177 + </lnTo>
20178 + <lnTo>
20179 + <pt x="r" y="b" />
20180 + </lnTo>
20181 + <lnTo>
20182 + <pt x="x1" y="b" />
20183 + </lnTo>
20184 + <close />
20185 + </path>
20186 + </pathLst>
20188 + </squareTabs>
20189 + <star10>
20191 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
20192 + <gd name="adj" fmla="val 42533" />
20193 + <gd name="hf" fmla="val 105146" />
20194 + </avLst>
20196 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
20197 + <gd name="a" fmla="pin 0 adj 50000" />
20198 + <gd name="swd2" fmla="*/ wd2 hf 100000" />
20199 + <gd name="dx1" fmla="*/ swd2 95106 100000" />
20200 + <gd name="dx2" fmla="*/ swd2 58779 100000" />
20201 + <gd name="x1" fmla="+- hc 0 dx1" />
20202 + <gd name="x2" fmla="+- hc 0 dx2" />
20203 + <gd name="x3" fmla="+- hc dx2 0" />
20204 + <gd name="x4" fmla="+- hc dx1 0" />
20205 + <gd name="dy1" fmla="*/ hd2 80902 100000" />
20206 + <gd name="dy2" fmla="*/ hd2 30902 100000" />
20207 + <gd name="y1" fmla="+- vc 0 dy1" />
20208 + <gd name="y2" fmla="+- vc 0 dy2" />
20209 + <gd name="y3" fmla="+- vc dy2 0" />
20210 + <gd name="y4" fmla="+- vc dy1 0" />
20211 + <gd name="iwd2" fmla="*/ swd2 a 50000" />
20212 + <gd name="ihd2" fmla="*/ hd2 a 50000" />
20213 + <gd name="sdx1" fmla="*/ iwd2 80902 100000" />
20214 + <gd name="sdx2" fmla="*/ iwd2 30902 100000" />
20215 + <gd name="sdy1" fmla="*/ ihd2 95106 100000" />
20216 + <gd name="sdy2" fmla="*/ ihd2 58779 100000" />
20217 + <gd name="sx1" fmla="+- hc 0 iwd2" />
20218 + <gd name="sx2" fmla="+- hc 0 sdx1" />
20219 + <gd name="sx3" fmla="+- hc 0 sdx2" />
20220 + <gd name="sx4" fmla="+- hc sdx2 0" />
20221 + <gd name="sx5" fmla="+- hc sdx1 0" />
20222 + <gd name="sx6" fmla="+- hc iwd2 0" />
20223 + <gd name="sy1" fmla="+- vc 0 sdy1" />
20224 + <gd name="sy2" fmla="+- vc 0 sdy2" />
20225 + <gd name="sy3" fmla="+- vc sdy2 0" />
20226 + <gd name="sy4" fmla="+- vc sdy1 0" />
20227 + <gd name="yAdj" fmla="+- vc 0 ihd2" />
20228 + </gdLst>
20230 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
20231 + <ahXY gdRefY="adj" minY="0" maxY="50000">
20232 + <pos x="hc" y="yAdj" />
20233 + </ahXY>
20234 + </ahLst>
20236 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
20237 + <cxn ang="0">
20238 + <pos x="x4" y="y2" />
20239 + </cxn>
20240 + <cxn ang="0">
20241 + <pos x="x4" y="y3" />
20242 + </cxn>
20243 + <cxn ang="cd4">
20244 + <pos x="x3" y="y4" />
20245 + </cxn>
20246 + <cxn ang="cd4">
20247 + <pos x="hc" y="b" />
20248 + </cxn>
20249 + <cxn ang="cd4">
20250 + <pos x="x2" y="y4" />
20251 + </cxn>
20252 + <cxn ang="cd2">
20253 + <pos x="x1" y="y3" />
20254 + </cxn>
20255 + <cxn ang="cd2">
20256 + <pos x="x1" y="y2" />
20257 + </cxn>
20258 + <cxn ang="3cd4">
20259 + <pos x="x2" y="y1" />
20260 + </cxn>
20261 + <cxn ang="3cd4">
20262 + <pos x="hc" y="t" />
20263 + </cxn>
20264 + <cxn ang="3cd4">
20265 + <pos x="x3" y="y1" />
20266 + </cxn>
20267 + </cxnLst>
20269 + <rect l="sx2" t="sy2" r="sx5" b="sy3" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
20271 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
20272 + <path>
20273 + <moveTo>
20274 + <pt x="x1" y="y2" />
20275 + </moveTo>
20276 + <lnTo>
20277 + <pt x="sx2" y="sy2" />
20278 + </lnTo>
20279 + <lnTo>
20280 + <pt x="x2" y="y1" />
20281 + </lnTo>
20282 + <lnTo>
20283 + <pt x="sx3" y="sy1" />
20284 + </lnTo>
20285 + <lnTo>
20286 + <pt x="hc" y="t" />
20287 + </lnTo>
20288 + <lnTo>
20289 + <pt x="sx4" y="sy1" />
20290 + </lnTo>
20291 + <lnTo>
20292 + <pt x="x3" y="y1" />
20293 + </lnTo>
20294 + <lnTo>
20295 + <pt x="sx5" y="sy2" />
20296 + </lnTo>
20297 + <lnTo>
20298 + <pt x="x4" y="y2" />
20299 + </lnTo>
20300 + <lnTo>
20301 + <pt x="sx6" y="vc" />
20302 + </lnTo>
20303 + <lnTo>
20304 + <pt x="x4" y="y3" />
20305 + </lnTo>
20306 + <lnTo>
20307 + <pt x="sx5" y="sy3" />
20308 + </lnTo>
20309 + <lnTo>
20310 + <pt x="x3" y="y4" />
20311 + </lnTo>
20312 + <lnTo>
20313 + <pt x="sx4" y="sy4" />
20314 + </lnTo>
20315 + <lnTo>
20316 + <pt x="hc" y="b" />
20317 + </lnTo>
20318 + <lnTo>
20319 + <pt x="sx3" y="sy4" />
20320 + </lnTo>
20321 + <lnTo>
20322 + <pt x="x2" y="y4" />
20323 + </lnTo>
20324 + <lnTo>
20325 + <pt x="sx2" y="sy3" />
20326 + </lnTo>
20327 + <lnTo>
20328 + <pt x="x1" y="y3" />
20329 + </lnTo>
20330 + <lnTo>
20331 + <pt x="sx1" y="vc" />
20332 + </lnTo>
20333 + <close />
20334 + </path>
20335 + </pathLst>
20337 + </star10>
20338 + <star12>
20340 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
20341 + <gd name="adj" fmla="val 37500" />
20342 + </avLst>
20344 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
20345 + <gd name="a" fmla="pin 0 adj 50000" />
20346 + <gd name="dx1" fmla="cos wd2 1800000" />
20348 + <gd name="dy1" fmla="sin hd2 3600000" />
20350 + <gd name="x1" fmla="+- hc 0 dx1" />
20351 + <gd name="x3" fmla="*/ w 3 4" />
20352 + <gd name="x4" fmla="+- hc dx1 0" />
20353 + <gd name="y1" fmla="+- vc 0 dy1" />
20354 + <gd name="y3" fmla="*/ h 3 4" />
20355 + <gd name="y4" fmla="+- vc dy1 0" />
20356 + <gd name="iwd2" fmla="*/ wd2 a 50000" />
20357 + <gd name="ihd2" fmla="*/ hd2 a 50000" />
20358 + <gd name="sdx1" fmla="cos iwd2 900000" />
20359 + <gd name="sdx2" fmla="cos iwd2 2700000" />
20360 + <gd name="sdx3" fmla="cos iwd2 4500000" />
20361 + <gd name="sdy1" fmla="sin ihd2 4500000" />
20362 + <gd name="sdy2" fmla="sin ihd2 2700000" />
20363 + <gd name="sdy3" fmla="sin ihd2 900000" />
20364 + <gd name="sx1" fmla="+- hc 0 sdx1" />
20365 + <gd name="sx2" fmla="+- hc 0 sdx2" />
20366 + <gd name="sx3" fmla="+- hc 0 sdx3" />
20367 + <gd name="sx4" fmla="+- hc sdx3 0" />
20368 + <gd name="sx5" fmla="+- hc sdx2 0" />
20369 + <gd name="sx6" fmla="+- hc sdx1 0" />
20370 + <gd name="sy1" fmla="+- vc 0 sdy1" />
20371 + <gd name="sy2" fmla="+- vc 0 sdy2" />
20372 + <gd name="sy3" fmla="+- vc 0 sdy3" />
20373 + <gd name="sy4" fmla="+- vc sdy3 0" />
20374 + <gd name="sy5" fmla="+- vc sdy2 0" />
20375 + <gd name="sy6" fmla="+- vc sdy1 0" />
20376 + <gd name="yAdj" fmla="+- vc 0 ihd2" />
20377 + </gdLst>
20379 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
20380 + <ahXY gdRefY="adj" minY="0" maxY="50000">
20381 + <pos x="hc" y="yAdj" />
20382 + </ahXY>
20383 + </ahLst>
20385 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
20386 + <cxn ang="0">
20387 + <pos x="x4" y="hd4" />
20388 + </cxn>
20389 + <cxn ang="0">
20390 + <pos x="r" y="vc" />
20391 + </cxn>
20392 + <cxn ang="0">
20393 + <pos x="x4" y="y3" />
20394 + </cxn>
20395 + <cxn ang="cd4">
20396 + <pos x="x3" y="y4" />
20397 + </cxn>
20398 + <cxn ang="cd4">
20399 + <pos x="hc" y="b" />
20400 + </cxn>
20401 + <cxn ang="cd4">
20402 + <pos x="wd4" y="y4" />
20403 + </cxn>
20404 + <cxn ang="cd2">
20405 + <pos x="x1" y="y3" />
20406 + </cxn>
20407 + <cxn ang="cd2">
20408 + <pos x="l" y="vc" />
20409 + </cxn>
20410 + <cxn ang="cd2">
20411 + <pos x="x1" y="hd4" />
20412 + </cxn>
20413 + <cxn ang="3cd4">
20414 + <pos x="wd4" y="y1" />
20415 + </cxn>
20416 + <cxn ang="3cd4">
20417 + <pos x="hc" y="t" />
20418 + </cxn>
20419 + <cxn ang="3cd4">
20420 + <pos x="x3" y="y1" />
20421 + </cxn>
20422 + </cxnLst>
20424 + <rect l="sx2" t="sy2" r="sx5" b="sy5" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
20426 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
20427 + <path>
20428 + <moveTo>
20429 + <pt x="l" y="vc" />
20430 + </moveTo>
20431 + <lnTo>
20432 + <pt x="sx1" y="sy3" />
20433 + </lnTo>
20434 + <lnTo>
20435 + <pt x="x1" y="hd4" />
20436 + </lnTo>
20437 + <lnTo>
20438 + <pt x="sx2" y="sy2" />
20439 + </lnTo>
20440 + <lnTo>
20441 + <pt x="wd4" y="y1" />
20442 + </lnTo>
20443 + <lnTo>
20444 + <pt x="sx3" y="sy1" />
20445 + </lnTo>
20446 + <lnTo>
20447 + <pt x="hc" y="t" />
20448 + </lnTo>
20449 + <lnTo>
20450 + <pt x="sx4" y="sy1" />
20451 + </lnTo>
20452 + <lnTo>
20453 + <pt x="x3" y="y1" />
20454 + </lnTo>
20455 + <lnTo>
20456 + <pt x="sx5" y="sy2" />
20457 + </lnTo>
20458 + <lnTo>
20459 + <pt x="x4" y="hd4" />
20460 + </lnTo>
20461 + <lnTo>
20462 + <pt x="sx6" y="sy3" />
20463 + </lnTo>
20464 + <lnTo>
20465 + <pt x="r" y="vc" />
20466 + </lnTo>
20467 + <lnTo>
20468 + <pt x="sx6" y="sy4" />
20469 + </lnTo>
20470 + <lnTo>
20471 + <pt x="x4" y="y3" />
20472 + </lnTo>
20473 + <lnTo>
20474 + <pt x="sx5" y="sy5" />
20475 + </lnTo>
20476 + <lnTo>
20477 + <pt x="x3" y="y4" />
20478 + </lnTo>
20479 + <lnTo>
20480 + <pt x="sx4" y="sy6" />
20481 + </lnTo>
20482 + <lnTo>
20483 + <pt x="hc" y="b" />
20484 + </lnTo>
20485 + <lnTo>
20486 + <pt x="sx3" y="sy6" />
20487 + </lnTo>
20488 + <lnTo>
20489 + <pt x="wd4" y="y4" />
20490 + </lnTo>
20491 + <lnTo>
20492 + <pt x="sx2" y="sy5" />
20493 + </lnTo>
20494 + <lnTo>
20495 + <pt x="x1" y="y3" />
20496 + </lnTo>
20497 + <lnTo>
20498 + <pt x="sx1" y="sy4" />
20499 + </lnTo>
20500 + <close />
20501 + </path>
20502 + </pathLst>
20504 + </star12>
20505 + <star16>
20506 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
20507 + <gd name="adj" fmla="val 37500" />
20508 + </avLst>
20509 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
20510 + <gd name="a" fmla="pin 0 adj 50000" />
20511 + <gd name="dx1" fmla="*/ wd2 92388 100000" />
20512 + <gd name="dx2" fmla="*/ wd2 70711 100000" />
20513 + <gd name="dx3" fmla="*/ wd2 38268 100000" />
20514 + <gd name="dy1" fmla="*/ hd2 92388 100000" />
20515 + <gd name="dy2" fmla="*/ hd2 70711 100000" />
20516 + <gd name="dy3" fmla="*/ hd2 38268 100000" />
20517 + <gd name="x1" fmla="+- hc 0 dx1" />
20518 + <gd name="x2" fmla="+- hc 0 dx2" />
20519 + <gd name="x3" fmla="+- hc 0 dx3" />
20520 + <gd name="x4" fmla="+- hc dx3 0" />
20521 + <gd name="x5" fmla="+- hc dx2 0" />
20522 + <gd name="x6" fmla="+- hc dx1 0" />
20523 + <gd name="y1" fmla="+- vc 0 dy1" />
20524 + <gd name="y2" fmla="+- vc 0 dy2" />
20525 + <gd name="y3" fmla="+- vc 0 dy3" />
20526 + <gd name="y4" fmla="+- vc dy3 0" />
20527 + <gd name="y5" fmla="+- vc dy2 0" />
20528 + <gd name="y6" fmla="+- vc dy1 0" />
20529 + <gd name="iwd2" fmla="*/ wd2 a 50000" />
20530 + <gd name="ihd2" fmla="*/ hd2 a 50000" />
20531 + <gd name="sdx1" fmla="*/ iwd2 98079 100000" />
20532 + <gd name="sdx2" fmla="*/ iwd2 83147 100000" />
20533 + <gd name="sdx3" fmla="*/ iwd2 55557 100000" />
20534 + <gd name="sdx4" fmla="*/ iwd2 19509 100000" />
20535 + <gd name="sdy1" fmla="*/ ihd2 98079 100000" />
20536 + <gd name="sdy2" fmla="*/ ihd2 83147 100000" />
20537 + <gd name="sdy3" fmla="*/ ihd2 55557 100000" />
20538 + <gd name="sdy4" fmla="*/ ihd2 19509 100000" />
20539 + <gd name="sx1" fmla="+- hc 0 sdx1" />
20540 + <gd name="sx2" fmla="+- hc 0 sdx2" />
20541 + <gd name="sx3" fmla="+- hc 0 sdx3" />
20542 + <gd name="sx4" fmla="+- hc 0 sdx4" />
20543 + <gd name="sx5" fmla="+- hc sdx4 0" />
20544 + <gd name="sx6" fmla="+- hc sdx3 0" />
20545 + <gd name="sx7" fmla="+- hc sdx2 0" />
20546 + <gd name="sx8" fmla="+- hc sdx1 0" />
20547 + <gd name="sy1" fmla="+- vc 0 sdy1" />
20548 + <gd name="sy2" fmla="+- vc 0 sdy2" />
20549 + <gd name="sy3" fmla="+- vc 0 sdy3" />
20550 + <gd name="sy4" fmla="+- vc 0 sdy4" />
20551 + <gd name="sy5" fmla="+- vc sdy4 0" />
20552 + <gd name="sy6" fmla="+- vc sdy3 0" />
20553 + <gd name="sy7" fmla="+- vc sdy2 0" />
20554 + <gd name="sy8" fmla="+- vc sdy1 0" />
20555 + <gd name="idx" fmla="cos iwd2 2700000" />
20556 + <gd name="idy" fmla="sin ihd2 2700000" />
20557 + <gd name="il" fmla="+- hc 0 idx" />
20558 + <gd name="it" fmla="+- vc 0 idy" />
20559 + <gd name="ir" fmla="+- hc idx 0" />
20560 + <gd name="ib" fmla="+- vc idy 0" />
20561 + <gd name="yAdj" fmla="+- vc 0 ihd2" />
20562 + </gdLst>
20563 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
20564 + <ahXY gdRefY="adj" minY="0" maxY="50000">
20565 + <pos x="hc" y="yAdj" />
20566 + </ahXY>
20567 + </ahLst>
20568 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
20569 + <cxn ang="0">
20570 + <pos x="x5" y="y2" />
20571 + </cxn>
20572 + <cxn ang="0">
20573 + <pos x="x6" y="y3" />
20574 + </cxn>
20575 + <cxn ang="0">
20576 + <pos x="r" y="vc" />
20577 + </cxn>
20578 + <cxn ang="0">
20579 + <pos x="x6" y="y4" />
20580 + </cxn>
20581 + <cxn ang="0">
20582 + <pos x="x5" y="y5" />
20583 + </cxn>
20584 + <cxn ang="cd4">
20585 + <pos x="x4" y="y6" />
20586 + </cxn>
20587 + <cxn ang="cd4">
20588 + <pos x="hc" y="b" />
20589 + </cxn>
20590 + <cxn ang="cd4">
20591 + <pos x="x3" y="y6" />
20592 + </cxn>
20593 + <cxn ang="cd2">
20594 + <pos x="x2" y="y5" />
20595 + </cxn>
20596 + <cxn ang="cd2">
20597 + <pos x="x1" y="y4" />
20598 + </cxn>
20599 + <cxn ang="cd2">
20600 + <pos x="l" y="vc" />
20601 + </cxn>
20602 + <cxn ang="cd2">
20603 + <pos x="x1" y="y3" />
20604 + </cxn>
20605 + <cxn ang="cd2">
20606 + <pos x="x2" y="y2" />
20607 + </cxn>
20608 + <cxn ang="3cd4">
20609 + <pos x="x3" y="y1" />
20610 + </cxn>
20611 + <cxn ang="3cd4">
20612 + <pos x="hc" y="t" />
20613 + </cxn>
20614 + <cxn ang="3cd4">
20615 + <pos x="x4" y="y1" />
20616 + </cxn>
20617 + </cxnLst>
20618 + <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
20619 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
20620 + <path>
20621 + <moveTo>
20622 + <pt x="l" y="vc" />
20623 + </moveTo>
20624 + <lnTo>
20625 + <pt x="sx1" y="sy4" />
20626 + </lnTo>
20627 + <lnTo>
20628 + <pt x="x1" y="y3" />
20629 + </lnTo>
20630 + <lnTo>
20631 + <pt x="sx2" y="sy3" />
20632 + </lnTo>
20633 + <lnTo>
20634 + <pt x="x2" y="y2" />
20635 + </lnTo>
20636 + <lnTo>
20637 + <pt x="sx3" y="sy2" />
20638 + </lnTo>
20639 + <lnTo>
20640 + <pt x="x3" y="y1" />
20641 + </lnTo>
20642 + <lnTo>
20643 + <pt x="sx4" y="sy1" />
20644 + </lnTo>
20645 + <lnTo>
20646 + <pt x="hc" y="t" />
20647 + </lnTo>
20648 + <lnTo>
20649 + <pt x="sx5" y="sy1" />
20650 + </lnTo>
20651 + <lnTo>
20652 + <pt x="x4" y="y1" />
20653 + </lnTo>
20654 + <lnTo>
20655 + <pt x="sx6" y="sy2" />
20656 + </lnTo>
20657 + <lnTo>
20658 + <pt x="x5" y="y2" />
20659 + </lnTo>
20660 + <lnTo>
20661 + <pt x="sx7" y="sy3" />
20662 + </lnTo>
20663 + <lnTo>
20664 + <pt x="x6" y="y3" />
20665 + </lnTo>
20666 + <lnTo>
20667 + <pt x="sx8" y="sy4" />
20668 + </lnTo>
20669 + <lnTo>
20670 + <pt x="r" y="vc" />
20671 + </lnTo>
20672 + <lnTo>
20673 + <pt x="sx8" y="sy5" />
20674 + </lnTo>
20675 + <lnTo>
20676 + <pt x="x6" y="y4" />
20677 + </lnTo>
20678 + <lnTo>
20679 + <pt x="sx7" y="sy6" />
20680 + </lnTo>
20681 + <lnTo>
20682 + <pt x="x5" y="y5" />
20683 + </lnTo>
20684 + <lnTo>
20685 + <pt x="sx6" y="sy7" />
20686 + </lnTo>
20687 + <lnTo>
20688 + <pt x="x4" y="y6" />
20689 + </lnTo>
20690 + <lnTo>
20691 + <pt x="sx5" y="sy8" />
20692 + </lnTo>
20693 + <lnTo>
20694 + <pt x="hc" y="b" />
20695 + </lnTo>
20696 + <lnTo>
20697 + <pt x="sx4" y="sy8" />
20698 + </lnTo>
20699 + <lnTo>
20700 + <pt x="x3" y="y6" />
20701 + </lnTo>
20702 + <lnTo>
20703 + <pt x="sx3" y="sy7" />
20704 + </lnTo>
20705 + <lnTo>
20706 + <pt x="x2" y="y5" />
20707 + </lnTo>
20708 + <lnTo>
20709 + <pt x="sx2" y="sy6" />
20710 + </lnTo>
20711 + <lnTo>
20712 + <pt x="x1" y="y4" />
20713 + </lnTo>
20714 + <lnTo>
20715 + <pt x="sx1" y="sy5" />
20716 + </lnTo>
20717 + <close />
20718 + </path>
20719 + </pathLst>
20720 + </star16>
20721 + <star24>
20723 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
20724 + <gd name="adj" fmla="val 37500" />
20725 + </avLst>
20727 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
20728 + <gd name="a" fmla="pin 0 adj 50000" />
20729 + <gd name="dx1" fmla="cos wd2 900000" />
20730 + <gd name="dx2" fmla="cos wd2 1800000" />
20731 + <gd name="dx3" fmla="cos wd2 2700000" />
20732 + <gd name="dx4" fmla="val wd4" />
20733 + <gd name="dx5" fmla="cos wd2 4500000" />
20734 + <gd name="dy1" fmla="sin hd2 4500000" />
20735 + <gd name="dy2" fmla="sin hd2 3600000" />
20736 + <gd name="dy3" fmla="sin hd2 2700000" />
20737 + <gd name="dy4" fmla="val hd4" />
20738 + <gd name="dy5" fmla="sin hd2 900000" />
20739 + <gd name="x1" fmla="+- hc 0 dx1" />
20740 + <gd name="x2" fmla="+- hc 0 dx2" />
20741 + <gd name="x3" fmla="+- hc 0 dx3" />
20742 + <gd name="x4" fmla="+- hc 0 dx4" />
20743 + <gd name="x5" fmla="+- hc 0 dx5" />
20744 + <gd name="x6" fmla="+- hc dx5 0" />
20745 + <gd name="x7" fmla="+- hc dx4 0" />
20746 + <gd name="x8" fmla="+- hc dx3 0" />
20747 + <gd name="x9" fmla="+- hc dx2 0" />
20748 + <gd name="x10" fmla="+- hc dx1 0" />
20749 + <gd name="y1" fmla="+- vc 0 dy1" />
20750 + <gd name="y2" fmla="+- vc 0 dy2" />
20751 + <gd name="y3" fmla="+- vc 0 dy3" />
20752 + <gd name="y4" fmla="+- vc 0 dy4" />
20753 + <gd name="y5" fmla="+- vc 0 dy5" />
20754 + <gd name="y6" fmla="+- vc dy5 0" />
20755 + <gd name="y7" fmla="+- vc dy4 0" />
20756 + <gd name="y8" fmla="+- vc dy3 0" />
20757 + <gd name="y9" fmla="+- vc dy2 0" />
20758 + <gd name="y10" fmla="+- vc dy1 0" />
20759 + <gd name="iwd2" fmla="*/ wd2 a 50000" />
20760 + <gd name="ihd2" fmla="*/ hd2 a 50000" />
20761 + <gd name="sdx1" fmla="*/ iwd2 99144 100000" />
20762 + <gd name="sdx2" fmla="*/ iwd2 92388 100000" />
20763 + <gd name="sdx3" fmla="*/ iwd2 79335 100000" />
20764 + <gd name="sdx4" fmla="*/ iwd2 60876 100000" />
20765 + <gd name="sdx5" fmla="*/ iwd2 38268 100000" />
20766 + <gd name="sdx6" fmla="*/ iwd2 13053 100000" />
20767 + <gd name="sdy1" fmla="*/ ihd2 99144 100000" />
20768 + <gd name="sdy2" fmla="*/ ihd2 92388 100000" />
20769 + <gd name="sdy3" fmla="*/ ihd2 79335 100000" />
20770 + <gd name="sdy4" fmla="*/ ihd2 60876 100000" />
20771 + <gd name="sdy5" fmla="*/ ihd2 38268 100000" />
20772 + <gd name="sdy6" fmla="*/ ihd2 13053 100000" />
20773 + <gd name="sx1" fmla="+- hc 0 sdx1" />
20774 + <gd name="sx2" fmla="+- hc 0 sdx2" />
20775 + <gd name="sx3" fmla="+- hc 0 sdx3" />
20776 + <gd name="sx4" fmla="+- hc 0 sdx4" />
20777 + <gd name="sx5" fmla="+- hc 0 sdx5" />
20778 + <gd name="sx6" fmla="+- hc 0 sdx6" />
20779 + <gd name="sx7" fmla="+- hc sdx6 0" />
20780 + <gd name="sx8" fmla="+- hc sdx5 0" />
20781 + <gd name="sx9" fmla="+- hc sdx4 0" />
20782 + <gd name="sx10" fmla="+- hc sdx3 0" />
20783 + <gd name="sx11" fmla="+- hc sdx2 0" />
20784 + <gd name="sx12" fmla="+- hc sdx1 0" />
20785 + <gd name="sy1" fmla="+- vc 0 sdy1" />
20786 + <gd name="sy2" fmla="+- vc 0 sdy2" />
20787 + <gd name="sy3" fmla="+- vc 0 sdy3" />
20788 + <gd name="sy4" fmla="+- vc 0 sdy4" />
20789 + <gd name="sy5" fmla="+- vc 0 sdy5" />
20790 + <gd name="sy6" fmla="+- vc 0 sdy6" />
20791 + <gd name="sy7" fmla="+- vc sdy6 0" />
20792 + <gd name="sy8" fmla="+- vc sdy5 0" />
20793 + <gd name="sy9" fmla="+- vc sdy4 0" />
20794 + <gd name="sy10" fmla="+- vc sdy3 0" />
20795 + <gd name="sy11" fmla="+- vc sdy2 0" />
20796 + <gd name="sy12" fmla="+- vc sdy1 0" />
20797 + <gd name="idx" fmla="cos iwd2 2700000" />
20798 + <gd name="idy" fmla="sin ihd2 2700000" />
20799 + <gd name="il" fmla="+- hc 0 idx" />
20800 + <gd name="it" fmla="+- vc 0 idy" />
20801 + <gd name="ir" fmla="+- hc idx 0" />
20802 + <gd name="ib" fmla="+- vc idy 0" />
20803 + <gd name="yAdj" fmla="+- vc 0 ihd2" />
20804 + </gdLst>
20806 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
20807 + <ahXY gdRefY="adj" minY="0" maxY="ssd2">
20808 + <pos x="hc" y="yAdj" />
20809 + </ahXY>
20810 + </ahLst>
20812 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
20813 + <cxn ang="3cd4">
20814 + <pos x="hc" y="t" />
20815 + </cxn>
20816 + <cxn ang="cd2">
20817 + <pos x="l" y="vc" />
20818 + </cxn>
20819 + <cxn ang="cd4">
20820 + <pos x="hc" y="b" />
20821 + </cxn>
20822 + <cxn ang="0">
20823 + <pos x="r" y="vc" />
20824 + </cxn>
20825 + </cxnLst>
20827 + <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
20829 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
20830 + <path>
20831 + <moveTo>
20832 + <pt x="l" y="vc" />
20833 + </moveTo>
20834 + <lnTo>
20835 + <pt x="sx1" y="sy6" />
20836 + </lnTo>
20837 + <lnTo>
20838 + <pt x="x1" y="y5" />
20839 + </lnTo>
20840 + <lnTo>
20841 + <pt x="sx2" y="sy5" />
20842 + </lnTo>
20843 + <lnTo>
20844 + <pt x="x2" y="y4" />
20845 + </lnTo>
20846 + <lnTo>
20847 + <pt x="sx3" y="sy4" />
20848 + </lnTo>
20849 + <lnTo>
20850 + <pt x="x3" y="y3" />
20851 + </lnTo>
20852 + <lnTo>
20853 + <pt x="sx4" y="sy3" />
20854 + </lnTo>
20855 + <lnTo>
20856 + <pt x="x4" y="y2" />
20857 + </lnTo>
20858 + <lnTo>
20859 + <pt x="sx5" y="sy2" />
20860 + </lnTo>
20861 + <lnTo>
20862 + <pt x="x5" y="y1" />
20863 + </lnTo>
20864 + <lnTo>
20865 + <pt x="sx6" y="sy1" />
20866 + </lnTo>
20867 + <lnTo>
20868 + <pt x="hc" y="t" />
20869 + </lnTo>
20870 + <lnTo>
20871 + <pt x="sx7" y="sy1" />
20872 + </lnTo>
20873 + <lnTo>
20874 + <pt x="x6" y="y1" />
20875 + </lnTo>
20876 + <lnTo>
20877 + <pt x="sx8" y="sy2" />
20878 + </lnTo>
20879 + <lnTo>
20880 + <pt x="x7" y="y2" />
20881 + </lnTo>
20882 + <lnTo>
20883 + <pt x="sx9" y="sy3" />
20884 + </lnTo>
20885 + <lnTo>
20886 + <pt x="x8" y="y3" />
20887 + </lnTo>
20888 + <lnTo>
20889 + <pt x="sx10" y="sy4" />
20890 + </lnTo>
20891 + <lnTo>
20892 + <pt x="x9" y="y4" />
20893 + </lnTo>
20894 + <lnTo>
20895 + <pt x="sx11" y="sy5" />
20896 + </lnTo>
20897 + <lnTo>
20898 + <pt x="x10" y="y5" />
20899 + </lnTo>
20900 + <lnTo>
20901 + <pt x="sx12" y="sy6" />
20902 + </lnTo>
20903 + <lnTo>
20904 + <pt x="r" y="vc" />
20905 + </lnTo>
20906 + <lnTo>
20907 + <pt x="sx12" y="sy7" />
20908 + </lnTo>
20909 + <lnTo>
20910 + <pt x="x10" y="y6" />
20911 + </lnTo>
20912 + <lnTo>
20913 + <pt x="sx11" y="sy8" />
20914 + </lnTo>
20915 + <lnTo>
20916 + <pt x="x9" y="y7" />
20917 + </lnTo>
20918 + <lnTo>
20919 + <pt x="sx10" y="sy9" />
20920 + </lnTo>
20921 + <lnTo>
20922 + <pt x="x8" y="y8" />
20923 + </lnTo>
20924 + <lnTo>
20925 + <pt x="sx9" y="sy10" />
20926 + </lnTo>
20927 + <lnTo>
20928 + <pt x="x7" y="y9" />
20929 + </lnTo>
20930 + <lnTo>
20931 + <pt x="sx8" y="sy11" />
20932 + </lnTo>
20933 + <lnTo>
20934 + <pt x="x6" y="y10" />
20935 + </lnTo>
20936 + <lnTo>
20937 + <pt x="sx7" y="sy12" />
20938 + </lnTo>
20939 + <lnTo>
20940 + <pt x="hc" y="b" />
20941 + </lnTo>
20942 + <lnTo>
20943 + <pt x="sx6" y="sy12" />
20944 + </lnTo>
20945 + <lnTo>
20946 + <pt x="x5" y="y10" />
20947 + </lnTo>
20948 + <lnTo>
20949 + <pt x="sx5" y="sy11" />
20950 + </lnTo>
20951 + <lnTo>
20952 + <pt x="x4" y="y9" />
20953 + </lnTo>
20954 + <lnTo>
20955 + <pt x="sx4" y="sy10" />
20956 + </lnTo>
20957 + <lnTo>
20958 + <pt x="x3" y="y8" />
20959 + </lnTo>
20960 + <lnTo>
20961 + <pt x="sx3" y="sy9" />
20962 + </lnTo>
20963 + <lnTo>
20964 + <pt x="x2" y="y7" />
20965 + </lnTo>
20966 + <lnTo>
20967 + <pt x="sx2" y="sy8" />
20968 + </lnTo>
20969 + <lnTo>
20970 + <pt x="x1" y="y6" />
20971 + </lnTo>
20972 + <lnTo>
20973 + <pt x="sx1" y="sy7" />
20974 + </lnTo>
20975 + <close />
20976 + </path>
20977 + </pathLst>
20979 + </star24>
20980 + <star32>
20982 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
20983 + <gd name="adj" fmla="val 37500" />
20984 + </avLst>
20986 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
20987 + <gd name="a" fmla="pin 0 adj 50000" />
20988 + <gd name="dx1" fmla="*/ wd2 98079 100000" />
20989 + <gd name="dx2" fmla="*/ wd2 92388 100000" />
20990 + <gd name="dx3" fmla="*/ wd2 83147 100000" />
20991 + <gd name="dx4" fmla="cos wd2 2700000" />
20992 + <gd name="dx5" fmla="*/ wd2 55557 100000" />
20993 + <gd name="dx6" fmla="*/ wd2 38268 100000" />
20994 + <gd name="dx7" fmla="*/ wd2 19509 100000" />
20995 + <gd name="dy1" fmla="*/ hd2 98079 100000" />
20996 + <gd name="dy2" fmla="*/ hd2 92388 100000" />
20997 + <gd name="dy3" fmla="*/ hd2 83147 100000" />
20998 + <gd name="dy4" fmla="sin hd2 2700000" />
20999 + <gd name="dy5" fmla="*/ hd2 55557 100000" />
21000 + <gd name="dy6" fmla="*/ hd2 38268 100000" />
21001 + <gd name="dy7" fmla="*/ hd2 19509 100000" />
21002 + <gd name="x1" fmla="+- hc 0 dx1" />
21003 + <gd name="x2" fmla="+- hc 0 dx2" />
21004 + <gd name="x3" fmla="+- hc 0 dx3" />
21005 + <gd name="x4" fmla="+- hc 0 dx4" />
21006 + <gd name="x5" fmla="+- hc 0 dx5" />
21007 + <gd name="x6" fmla="+- hc 0 dx6" />
21008 + <gd name="x7" fmla="+- hc 0 dx7" />
21009 + <gd name="x8" fmla="+- hc dx7 0" />
21010 + <gd name="x9" fmla="+- hc dx6 0" />
21011 + <gd name="x10" fmla="+- hc dx5 0" />
21012 + <gd name="x11" fmla="+- hc dx4 0" />
21013 + <gd name="x12" fmla="+- hc dx3 0" />
21014 + <gd name="x13" fmla="+- hc dx2 0" />
21015 + <gd name="x14" fmla="+- hc dx1 0" />
21016 + <gd name="y1" fmla="+- vc 0 dy1" />
21017 + <gd name="y2" fmla="+- vc 0 dy2" />
21018 + <gd name="y3" fmla="+- vc 0 dy3" />
21019 + <gd name="y4" fmla="+- vc 0 dy4" />
21020 + <gd name="y5" fmla="+- vc 0 dy5" />
21021 + <gd name="y6" fmla="+- vc 0 dy6" />
21022 + <gd name="y7" fmla="+- vc 0 dy7" />
21023 + <gd name="y8" fmla="+- vc dy7 0" />
21024 + <gd name="y9" fmla="+- vc dy6 0" />
21025 + <gd name="y10" fmla="+- vc dy5 0" />
21026 + <gd name="y11" fmla="+- vc dy4 0" />
21027 + <gd name="y12" fmla="+- vc dy3 0" />
21028 + <gd name="y13" fmla="+- vc dy2 0" />
21029 + <gd name="y14" fmla="+- vc dy1 0" />
21030 + <gd name="iwd2" fmla="*/ wd2 a 50000" />
21031 + <gd name="ihd2" fmla="*/ hd2 a 50000" />
21032 + <gd name="sdx1" fmla="*/ iwd2 99518 100000" />
21033 + <gd name="sdx2" fmla="*/ iwd2 95694 100000" />
21034 + <gd name="sdx3" fmla="*/ iwd2 88192 100000" />
21035 + <gd name="sdx4" fmla="*/ iwd2 77301 100000" />
21036 + <gd name="sdx5" fmla="*/ iwd2 63439 100000" />
21037 + <gd name="sdx6" fmla="*/ iwd2 47140 100000" />
21038 + <gd name="sdx7" fmla="*/ iwd2 29028 100000" />
21039 + <gd name="sdx8" fmla="*/ iwd2 9802 100000" />
21040 + <gd name="sdy1" fmla="*/ ihd2 99518 100000" />
21041 + <gd name="sdy2" fmla="*/ ihd2 95694 100000" />
21042 + <gd name="sdy3" fmla="*/ ihd2 88192 100000" />
21043 + <gd name="sdy4" fmla="*/ ihd2 77301 100000" />
21044 + <gd name="sdy5" fmla="*/ ihd2 63439 100000" />
21045 + <gd name="sdy6" fmla="*/ ihd2 47140 100000" />
21046 + <gd name="sdy7" fmla="*/ ihd2 29028 100000" />
21047 + <gd name="sdy8" fmla="*/ ihd2 9802 100000" />
21048 + <gd name="sx1" fmla="+- hc 0 sdx1" />
21049 + <gd name="sx2" fmla="+- hc 0 sdx2" />
21050 + <gd name="sx3" fmla="+- hc 0 sdx3" />
21051 + <gd name="sx4" fmla="+- hc 0 sdx4" />
21052 + <gd name="sx5" fmla="+- hc 0 sdx5" />
21053 + <gd name="sx6" fmla="+- hc 0 sdx6" />
21054 + <gd name="sx7" fmla="+- hc 0 sdx7" />
21055 + <gd name="sx8" fmla="+- hc 0 sdx8" />
21056 + <gd name="sx9" fmla="+- hc sdx8 0" />
21057 + <gd name="sx10" fmla="+- hc sdx7 0" />
21058 + <gd name="sx11" fmla="+- hc sdx6 0" />
21059 + <gd name="sx12" fmla="+- hc sdx5 0" />
21060 + <gd name="sx13" fmla="+- hc sdx4 0" />
21061 + <gd name="sx14" fmla="+- hc sdx3 0" />
21062 + <gd name="sx15" fmla="+- hc sdx2 0" />
21063 + <gd name="sx16" fmla="+- hc sdx1 0" />
21064 + <gd name="sy1" fmla="+- vc 0 sdy1" />
21065 + <gd name="sy2" fmla="+- vc 0 sdy2" />
21066 + <gd name="sy3" fmla="+- vc 0 sdy3" />
21067 + <gd name="sy4" fmla="+- vc 0 sdy4" />
21068 + <gd name="sy5" fmla="+- vc 0 sdy5" />
21069 + <gd name="sy6" fmla="+- vc 0 sdy6" />
21070 + <gd name="sy7" fmla="+- vc 0 sdy7" />
21071 + <gd name="sy8" fmla="+- vc 0 sdy8" />
21072 + <gd name="sy9" fmla="+- vc sdy8 0" />
21073 + <gd name="sy10" fmla="+- vc sdy7 0" />
21074 + <gd name="sy11" fmla="+- vc sdy6 0" />
21075 + <gd name="sy12" fmla="+- vc sdy5 0" />
21076 + <gd name="sy13" fmla="+- vc sdy4 0" />
21077 + <gd name="sy14" fmla="+- vc sdy3 0" />
21078 + <gd name="sy15" fmla="+- vc sdy2 0" />
21079 + <gd name="sy16" fmla="+- vc sdy1 0" />
21080 + <gd name="idx" fmla="cos iwd2 2700000" />
21081 + <gd name="idy" fmla="sin ihd2 2700000" />
21082 + <gd name="il" fmla="+- hc 0 idx" />
21083 + <gd name="it" fmla="+- vc 0 idy" />
21084 + <gd name="ir" fmla="+- hc idx 0" />
21085 + <gd name="ib" fmla="+- vc idy 0" />
21086 + <gd name="yAdj" fmla="+- vc 0 ihd2" />
21087 + </gdLst>
21089 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
21090 + <ahXY gdRefY="adj" minY="0" maxY="ssd2">
21091 + <pos x="hc" y="yAdj" />
21092 + </ahXY>
21093 + </ahLst>
21095 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
21096 + <cxn ang="3cd4">
21097 + <pos x="hc" y="t" />
21098 + </cxn>
21099 + <cxn ang="cd2">
21100 + <pos x="l" y="vc" />
21101 + </cxn>
21102 + <cxn ang="cd4">
21103 + <pos x="hc" y="b" />
21104 + </cxn>
21105 + <cxn ang="0">
21106 + <pos x="r" y="vc" />
21107 + </cxn>
21108 + </cxnLst>
21110 + <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
21112 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
21113 + <path>
21114 + <moveTo>
21115 + <pt x="l" y="vc" />
21116 + </moveTo>
21117 + <lnTo>
21118 + <pt x="sx1" y="sy8" />
21119 + </lnTo>
21120 + <lnTo>
21121 + <pt x="x1" y="y7" />
21122 + </lnTo>
21123 + <lnTo>
21124 + <pt x="sx2" y="sy7" />
21125 + </lnTo>
21126 + <lnTo>
21127 + <pt x="x2" y="y6" />
21128 + </lnTo>
21129 + <lnTo>
21130 + <pt x="sx3" y="sy6" />
21131 + </lnTo>
21132 + <lnTo>
21133 + <pt x="x3" y="y5" />
21134 + </lnTo>
21135 + <lnTo>
21136 + <pt x="sx4" y="sy5" />
21137 + </lnTo>
21138 + <lnTo>
21139 + <pt x="x4" y="y4" />
21140 + </lnTo>
21141 + <lnTo>
21142 + <pt x="sx5" y="sy4" />
21143 + </lnTo>
21144 + <lnTo>
21145 + <pt x="x5" y="y3" />
21146 + </lnTo>
21147 + <lnTo>
21148 + <pt x="sx6" y="sy3" />
21149 + </lnTo>
21150 + <lnTo>
21151 + <pt x="x6" y="y2" />
21152 + </lnTo>
21153 + <lnTo>
21154 + <pt x="sx7" y="sy2" />
21155 + </lnTo>
21156 + <lnTo>
21157 + <pt x="x7" y="y1" />
21158 + </lnTo>
21159 + <lnTo>
21160 + <pt x="sx8" y="sy1" />
21161 + </lnTo>
21162 + <lnTo>
21163 + <pt x="hc" y="t" />
21164 + </lnTo>
21165 + <lnTo>
21166 + <pt x="sx9" y="sy1" />
21167 + </lnTo>
21168 + <lnTo>
21169 + <pt x="x8" y="y1" />
21170 + </lnTo>
21171 + <lnTo>
21172 + <pt x="sx10" y="sy2" />
21173 + </lnTo>
21174 + <lnTo>
21175 + <pt x="x9" y="y2" />
21176 + </lnTo>
21177 + <lnTo>
21178 + <pt x="sx11" y="sy3" />
21179 + </lnTo>
21180 + <lnTo>
21181 + <pt x="x10" y="y3" />
21182 + </lnTo>
21183 + <lnTo>
21184 + <pt x="sx12" y="sy4" />
21185 + </lnTo>
21186 + <lnTo>
21187 + <pt x="x11" y="y4" />
21188 + </lnTo>
21189 + <lnTo>
21190 + <pt x="sx13" y="sy5" />
21191 + </lnTo>
21192 + <lnTo>
21193 + <pt x="x12" y="y5" />
21194 + </lnTo>
21195 + <lnTo>
21196 + <pt x="sx14" y="sy6" />
21197 + </lnTo>
21198 + <lnTo>
21199 + <pt x="x13" y="y6" />
21200 + </lnTo>
21201 + <lnTo>
21202 + <pt x="sx15" y="sy7" />
21203 + </lnTo>
21204 + <lnTo>
21205 + <pt x="x14" y="y7" />
21206 + </lnTo>
21207 + <lnTo>
21208 + <pt x="sx16" y="sy8" />
21209 + </lnTo>
21210 + <lnTo>
21211 + <pt x="r" y="vc" />
21212 + </lnTo>
21213 + <lnTo>
21214 + <pt x="sx16" y="sy9" />
21215 + </lnTo>
21216 + <lnTo>
21217 + <pt x="x14" y="y8" />
21218 + </lnTo>
21219 + <lnTo>
21220 + <pt x="sx15" y="sy10" />
21221 + </lnTo>
21222 + <lnTo>
21223 + <pt x="x13" y="y9" />
21224 + </lnTo>
21225 + <lnTo>
21226 + <pt x="sx14" y="sy11" />
21227 + </lnTo>
21228 + <lnTo>
21229 + <pt x="x12" y="y10" />
21230 + </lnTo>
21231 + <lnTo>
21232 + <pt x="sx13" y="sy12" />
21233 + </lnTo>
21234 + <lnTo>
21235 + <pt x="x11" y="y11" />
21236 + </lnTo>
21237 + <lnTo>
21238 + <pt x="sx12" y="sy13" />
21239 + </lnTo>
21240 + <lnTo>
21241 + <pt x="x10" y="y12" />
21242 + </lnTo>
21243 + <lnTo>
21244 + <pt x="sx11" y="sy14" />
21245 + </lnTo>
21246 + <lnTo>
21247 + <pt x="x9" y="y13" />
21248 + </lnTo>
21249 + <lnTo>
21250 + <pt x="sx10" y="sy15" />
21251 + </lnTo>
21252 + <lnTo>
21253 + <pt x="x8" y="y14" />
21254 + </lnTo>
21255 + <lnTo>
21256 + <pt x="sx9" y="sy16" />
21257 + </lnTo>
21258 + <lnTo>
21259 + <pt x="hc" y="b" />
21260 + </lnTo>
21261 + <lnTo>
21262 + <pt x="sx8" y="sy16" />
21263 + </lnTo>
21264 + <lnTo>
21265 + <pt x="x7" y="y14" />
21266 + </lnTo>
21267 + <lnTo>
21268 + <pt x="sx7" y="sy15" />
21269 + </lnTo>
21270 + <lnTo>
21271 + <pt x="x6" y="y13" />
21272 + </lnTo>
21273 + <lnTo>
21274 + <pt x="sx6" y="sy14" />
21275 + </lnTo>
21276 + <lnTo>
21277 + <pt x="x5" y="y12" />
21278 + </lnTo>
21279 + <lnTo>
21280 + <pt x="sx5" y="sy13" />
21281 + </lnTo>
21282 + <lnTo>
21283 + <pt x="x4" y="y11" />
21284 + </lnTo>
21285 + <lnTo>
21286 + <pt x="sx4" y="sy12" />
21287 + </lnTo>
21288 + <lnTo>
21289 + <pt x="x3" y="y10" />
21290 + </lnTo>
21291 + <lnTo>
21292 + <pt x="sx3" y="sy11" />
21293 + </lnTo>
21294 + <lnTo>
21295 + <pt x="x2" y="y9" />
21296 + </lnTo>
21297 + <lnTo>
21298 + <pt x="sx2" y="sy10" />
21299 + </lnTo>
21300 + <lnTo>
21301 + <pt x="x1" y="y8" />
21302 + </lnTo>
21303 + <lnTo>
21304 + <pt x="sx1" y="sy9" />
21305 + </lnTo>
21306 + <close />
21307 + </path>
21308 + </pathLst>
21310 + </star32>
21311 + <star4>
21313 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
21314 + <gd name="adj" fmla="val 12500" />
21315 + </avLst>
21317 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
21318 + <gd name="a" fmla="pin 0 adj 50000" />
21319 + <gd name="iwd2" fmla="*/ wd2 a 50000" />
21320 + <gd name="ihd2" fmla="*/ hd2 a 50000" />
21321 + <gd name="sdx" fmla="cos iwd2 2700000" />
21322 + <gd name="sdy" fmla="sin ihd2 2700000" />
21323 + <gd name="sx1" fmla="+- hc 0 sdx" />
21324 + <gd name="sx2" fmla="+- hc sdx 0" />
21325 + <gd name="sy1" fmla="+- vc 0 sdy" />
21326 + <gd name="sy2" fmla="+- vc sdy 0" />
21327 + <gd name="yAdj" fmla="+- vc 0 ihd2" />
21328 + </gdLst>
21330 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
21331 + <ahXY gdRefY="adj" minY="0" maxY="50000">
21332 + <pos x="hc" y="yAdj" />
21333 + </ahXY>
21334 + </ahLst>
21336 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
21337 + <cxn ang="3cd4">
21338 + <pos x="hc" y="t" />
21339 + </cxn>
21340 + <cxn ang="cd2">
21341 + <pos x="l" y="vc" />
21342 + </cxn>
21343 + <cxn ang="cd4">
21344 + <pos x="hc" y="b" />
21345 + </cxn>
21346 + <cxn ang="0">
21347 + <pos x="r" y="vc" />
21348 + </cxn>
21349 + </cxnLst>
21351 + <rect l="sx1" t="sy1" r="sx2" b="sy2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
21353 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
21354 + <path>
21355 + <moveTo>
21356 + <pt x="l" y="vc" />
21357 + </moveTo>
21358 + <lnTo>
21359 + <pt x="sx1" y="sy1" />
21360 + </lnTo>
21361 + <lnTo>
21362 + <pt x="hc" y="t" />
21363 + </lnTo>
21364 + <lnTo>
21365 + <pt x="sx2" y="sy1" />
21366 + </lnTo>
21367 + <lnTo>
21368 + <pt x="r" y="vc" />
21369 + </lnTo>
21370 + <lnTo>
21371 + <pt x="sx2" y="sy2" />
21372 + </lnTo>
21373 + <lnTo>
21374 + <pt x="hc" y="b" />
21375 + </lnTo>
21376 + <lnTo>
21377 + <pt x="sx1" y="sy2" />
21378 + </lnTo>
21379 + <close />
21380 + </path>
21381 + </pathLst>
21383 + </star4>
21384 + <star5>
21385 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
21386 + <gd name="adj" fmla="val 19098" />
21387 + <gd name="hf" fmla="val 105146" />
21388 + <gd name="vf" fmla="val 110557" />
21389 + </avLst>
21390 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
21391 + <gd name="a" fmla="pin 0 adj 50000" />
21392 + <gd name="swd2" fmla="*/ wd2 hf 100000" />
21393 + <gd name="shd2" fmla="*/ hd2 vf 100000" />
21394 + <gd name="svc" fmla="*/ vc vf 100000" />
21395 + <gd name="dx1" fmla="cos swd2 1080000" />
21396 + <gd name="dx2" fmla="cos swd2 18360000" />
21397 + <gd name="dy1" fmla="sin shd2 1080000" />
21398 + <gd name="dy2" fmla="sin shd2 18360000" />
21399 + <gd name="x1" fmla="+- hc 0 dx1" />
21400 + <gd name="x2" fmla="+- hc 0 dx2" />
21401 + <gd name="x3" fmla="+- hc dx2 0" />
21402 + <gd name="x4" fmla="+- hc dx1 0" />
21403 + <gd name="y1" fmla="+- svc 0 dy1" />
21404 + <gd name="y2" fmla="+- svc 0 dy2" />
21405 + <gd name="iwd2" fmla="*/ swd2 a 50000" />
21406 + <gd name="ihd2" fmla="*/ shd2 a 50000" />
21407 + <gd name="sdx1" fmla="cos iwd2 20520000" />
21408 + <gd name="sdx2" fmla="cos iwd2 3240000" />
21409 + <gd name="sdy1" fmla="sin ihd2 3240000" />
21410 + <gd name="sdy2" fmla="sin ihd2 20520000" />
21411 + <gd name="sx1" fmla="+- hc 0 sdx1" />
21412 + <gd name="sx2" fmla="+- hc 0 sdx2" />
21413 + <gd name="sx3" fmla="+- hc sdx2 0" />
21414 + <gd name="sx4" fmla="+- hc sdx1 0" />
21415 + <gd name="sy1" fmla="+- svc 0 sdy1" />
21416 + <gd name="sy2" fmla="+- svc 0 sdy2" />
21417 + <gd name="sy3" fmla="+- svc ihd2 0" />
21418 + <gd name="yAdj" fmla="+- svc 0 ihd2" />
21419 + </gdLst>
21420 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
21421 + <ahXY gdRefY="adj" minY="0" maxY="50000">
21422 + <pos x="hc" y="yAdj" />
21423 + </ahXY>
21424 + </ahLst>
21425 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
21426 + <cxn ang="3cd4">
21427 + <pos x="hc" y="t" />
21428 + </cxn>
21429 + <cxn ang="cd2">
21430 + <pos x="x1" y="y1" />
21431 + </cxn>
21432 + <cxn ang="cd4">
21433 + <pos x="x2" y="y2" />
21434 + </cxn>
21435 + <cxn ang="cd4">
21436 + <pos x="x3" y="y2" />
21437 + </cxn>
21438 + <cxn ang="0">
21439 + <pos x="x4" y="y1" />
21440 + </cxn>
21441 + </cxnLst>
21442 + <rect l="sx1" t="sy1" r="sx4" b="sy3" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
21443 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
21444 + <path>
21445 + <moveTo>
21446 + <pt x="x1" y="y1" />
21447 + </moveTo>
21448 + <lnTo>
21449 + <pt x="sx2" y="sy1" />
21450 + </lnTo>
21451 + <lnTo>
21452 + <pt x="hc" y="t" />
21453 + </lnTo>
21454 + <lnTo>
21455 + <pt x="sx3" y="sy1" />
21456 + </lnTo>
21457 + <lnTo>
21458 + <pt x="x4" y="y1" />
21459 + </lnTo>
21460 + <lnTo>
21461 + <pt x="sx4" y="sy2" />
21462 + </lnTo>
21463 + <lnTo>
21464 + <pt x="x3" y="y2" />
21465 + </lnTo>
21466 + <lnTo>
21467 + <pt x="hc" y="sy3" />
21468 + </lnTo>
21469 + <lnTo>
21470 + <pt x="x2" y="y2" />
21471 + </lnTo>
21472 + <lnTo>
21473 + <pt x="sx1" y="sy2" />
21474 + </lnTo>
21475 + <close />
21476 + </path>
21477 + </pathLst>
21478 + </star5>
21479 + <star6>
21481 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
21482 + <gd name="adj" fmla="val 28868" />
21483 + <gd name="hf" fmla="val 115470" />
21484 + </avLst>
21486 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
21487 + <gd name="a" fmla="pin 0 adj 50000" />
21488 + <gd name="swd2" fmla="*/ wd2 hf 100000" />
21489 + <gd name="dx1" fmla="cos swd2 1800000" />
21490 + <gd name="x1" fmla="+- hc 0 dx1" />
21491 + <gd name="x2" fmla="+- hc dx1 0" />
21492 + <gd name="y2" fmla="+- vc hd4 0" />
21493 + <gd name="iwd2" fmla="*/ swd2 a 50000" />
21494 + <gd name="ihd2" fmla="*/ hd2 a 50000" />
21495 + <gd name="sdx2" fmla="*/ iwd2 1 2" />
21496 + <gd name="sx1" fmla="+- hc 0 iwd2" />
21497 + <gd name="sx2" fmla="+- hc 0 sdx2" />
21498 + <gd name="sx3" fmla="+- hc sdx2 0" />
21499 + <gd name="sx4" fmla="+- hc iwd2 0" />
21500 + <gd name="sdy1" fmla="sin ihd2 3600000" />
21501 + <gd name="sy1" fmla="+- vc 0 sdy1" />
21502 + <gd name="sy2" fmla="+- vc sdy1 0" />
21503 + <gd name="yAdj" fmla="+- vc 0 ihd2" />
21504 + </gdLst>
21506 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
21507 + <ahXY gdRefY="adj" minY="0" maxY="50000">
21508 + <pos x="hc" y="yAdj" />
21509 + </ahXY>
21510 + </ahLst>
21512 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
21513 + <cxn ang="0">
21514 + <pos x="x2" y="hd4" />
21515 + </cxn>
21516 + <cxn ang="0">
21517 + <pos x="x2" y="y2" />
21518 + </cxn>
21519 + <cxn ang="cd4">
21520 + <pos x="hc" y="b" />
21521 + </cxn>
21522 + <cxn ang="cd2">
21523 + <pos x="x1" y="y2" />
21524 + </cxn>
21525 + <cxn ang="cd2">
21526 + <pos x="x1" y="hd4" />
21527 + </cxn>
21528 + <cxn ang="3cd4">
21529 + <pos x="hc" y="t" />
21530 + </cxn>
21531 + </cxnLst>
21533 + <rect l="sx1" t="sy1" r="sx4" b="sy2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
21535 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
21536 + <path>
21537 + <moveTo>
21538 + <pt x="x1" y="hd4" />
21539 + </moveTo>
21540 + <lnTo>
21541 + <pt x="sx2" y="sy1" />
21542 + </lnTo>
21543 + <lnTo>
21544 + <pt x="hc" y="t" />
21545 + </lnTo>
21546 + <lnTo>
21547 + <pt x="sx3" y="sy1" />
21548 + </lnTo>
21549 + <lnTo>
21550 + <pt x="x2" y="hd4" />
21551 + </lnTo>
21552 + <lnTo>
21553 + <pt x="sx4" y="vc" />
21554 + </lnTo>
21555 + <lnTo>
21556 + <pt x="x2" y="y2" />
21557 + </lnTo>
21558 + <lnTo>
21559 + <pt x="sx3" y="sy2" />
21560 + </lnTo>
21561 + <lnTo>
21562 + <pt x="hc" y="b" />
21563 + </lnTo>
21564 + <lnTo>
21565 + <pt x="sx2" y="sy2" />
21566 + </lnTo>
21567 + <lnTo>
21568 + <pt x="x1" y="y2" />
21569 + </lnTo>
21570 + <lnTo>
21571 + <pt x="sx1" y="vc" />
21572 + </lnTo>
21573 + <close />
21574 + </path>
21575 + </pathLst>
21577 + </star6>
21578 + <star7>
21580 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
21581 + <gd name="adj" fmla="val 34601" />
21582 + <gd name="hf" fmla="val 102572" />
21583 + <gd name="vf" fmla="val 105210" />
21584 + </avLst>
21586 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
21587 + <gd name="a" fmla="pin 0 adj 50000" />
21588 + <gd name="swd2" fmla="*/ wd2 hf 100000" />
21589 + <gd name="shd2" fmla="*/ hd2 vf 100000" />
21590 + <gd name="svc" fmla="*/ vc vf 100000" />
21591 + <gd name="dx1" fmla="*/ swd2 97493 100000" />
21592 + <gd name="dx2" fmla="*/ swd2 78183 100000" />
21593 + <gd name="dx3" fmla="*/ swd2 43388 100000" />
21594 + <gd name="dy1" fmla="*/ shd2 62349 100000" />
21595 + <gd name="dy2" fmla="*/ shd2 22252 100000" />
21596 + <gd name="dy3" fmla="*/ shd2 90097 100000" />
21597 + <gd name="x1" fmla="+- hc 0 dx1" />
21598 + <gd name="x2" fmla="+- hc 0 dx2" />
21599 + <gd name="x3" fmla="+- hc 0 dx3" />
21600 + <gd name="x4" fmla="+- hc dx3 0" />
21601 + <gd name="x5" fmla="+- hc dx2 0" />
21602 + <gd name="x6" fmla="+- hc dx1 0" />
21603 + <gd name="y1" fmla="+- svc 0 dy1" />
21604 + <gd name="y2" fmla="+- svc dy2 0" />
21605 + <gd name="y3" fmla="+- svc dy3 0" />
21606 + <gd name="iwd2" fmla="*/ swd2 a 50000" />
21607 + <gd name="ihd2" fmla="*/ shd2 a 50000" />
21608 + <gd name="sdx1" fmla="*/ iwd2 97493 100000" />
21609 + <gd name="sdx2" fmla="*/ iwd2 78183 100000" />
21610 + <gd name="sdx3" fmla="*/ iwd2 43388 100000" />
21611 + <gd name="sx1" fmla="+- hc 0 sdx1" />
21612 + <gd name="sx2" fmla="+- hc 0 sdx2" />
21613 + <gd name="sx3" fmla="+- hc 0 sdx3" />
21614 + <gd name="sx4" fmla="+- hc sdx3 0" />
21615 + <gd name="sx5" fmla="+- hc sdx2 0" />
21616 + <gd name="sx6" fmla="+- hc sdx1 0" />
21617 + <gd name="sdy1" fmla="*/ ihd2 90097 100000" />
21618 + <gd name="sdy2" fmla="*/ ihd2 22252 100000" />
21619 + <gd name="sdy3" fmla="*/ ihd2 62349 100000" />
21620 + <gd name="sy1" fmla="+- svc 0 sdy1" />
21621 + <gd name="sy2" fmla="+- svc 0 sdy2" />
21622 + <gd name="sy3" fmla="+- svc sdy3 0" />
21623 + <gd name="sy4" fmla="+- svc ihd2 0" />
21624 + <gd name="yAdj" fmla="+- svc 0 ihd2" />
21625 + </gdLst>
21627 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
21628 + <ahXY gdRefY="adj" minY="0" maxY="50000">
21629 + <pos x="hc" y="yAdj" />
21630 + </ahXY>
21631 + </ahLst>
21633 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
21634 + <cxn ang="0">
21635 + <pos x="x5" y="y1" />
21636 + </cxn>
21637 + <cxn ang="0">
21638 + <pos x="x6" y="y2" />
21639 + </cxn>
21640 + <cxn ang="cd4">
21641 + <pos x="x4" y="y3" />
21642 + </cxn>
21643 + <cxn ang="cd4">
21644 + <pos x="x3" y="y3" />
21645 + </cxn>
21646 + <cxn ang="cd2">
21647 + <pos x="x1" y="y2" />
21648 + </cxn>
21649 + <cxn ang="cd2">
21650 + <pos x="x2" y="y1" />
21651 + </cxn>
21652 + <cxn ang="3cd4">
21653 + <pos x="hc" y="t" />
21654 + </cxn>
21655 + </cxnLst>
21657 + <rect l="sx2" t="sy1" r="sx5" b="sy3" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
21659 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
21660 + <path>
21661 + <moveTo>
21662 + <pt x="x1" y="y2" />
21663 + </moveTo>
21664 + <lnTo>
21665 + <pt x="sx1" y="sy2" />
21666 + </lnTo>
21667 + <lnTo>
21668 + <pt x="x2" y="y1" />
21669 + </lnTo>
21670 + <lnTo>
21671 + <pt x="sx3" y="sy1" />
21672 + </lnTo>
21673 + <lnTo>
21674 + <pt x="hc" y="t" />
21675 + </lnTo>
21676 + <lnTo>
21677 + <pt x="sx4" y="sy1" />
21678 + </lnTo>
21679 + <lnTo>
21680 + <pt x="x5" y="y1" />
21681 + </lnTo>
21682 + <lnTo>
21683 + <pt x="sx6" y="sy2" />
21684 + </lnTo>
21685 + <lnTo>
21686 + <pt x="x6" y="y2" />
21687 + </lnTo>
21688 + <lnTo>
21689 + <pt x="sx5" y="sy3" />
21690 + </lnTo>
21691 + <lnTo>
21692 + <pt x="x4" y="y3" />
21693 + </lnTo>
21694 + <lnTo>
21695 + <pt x="hc" y="sy4" />
21696 + </lnTo>
21697 + <lnTo>
21698 + <pt x="x3" y="y3" />
21699 + </lnTo>
21700 + <lnTo>
21701 + <pt x="sx2" y="sy3" />
21702 + </lnTo>
21703 + <close />
21704 + </path>
21705 + </pathLst>
21707 + </star7>
21708 + <star8>
21710 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
21711 + <gd name="adj" fmla="val 37500" />
21712 + </avLst>
21714 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
21715 + <gd name="a" fmla="pin 0 adj 50000" />
21716 + <gd name="dx1" fmla="cos wd2 2700000" />
21717 + <gd name="x1" fmla="+- hc 0 dx1" />
21718 + <gd name="x2" fmla="+- hc dx1 0" />
21719 + <gd name="dy1" fmla="sin hd2 2700000" />
21720 + <gd name="y1" fmla="+- vc 0 dy1" />
21721 + <gd name="y2" fmla="+- vc dy1 0" />
21722 + <gd name="iwd2" fmla="*/ wd2 a 50000" />
21723 + <gd name="ihd2" fmla="*/ hd2 a 50000" />
21724 + <gd name="sdx1" fmla="*/ iwd2 92388 100000" />
21725 + <gd name="sdx2" fmla="*/ iwd2 38268 100000" />
21726 + <gd name="sdy1" fmla="*/ ihd2 92388 100000" />
21727 + <gd name="sdy2" fmla="*/ ihd2 38268 100000" />
21728 + <gd name="sx1" fmla="+- hc 0 sdx1" />
21729 + <gd name="sx2" fmla="+- hc 0 sdx2" />
21730 + <gd name="sx3" fmla="+- hc sdx2 0" />
21731 + <gd name="sx4" fmla="+- hc sdx1 0" />
21732 + <gd name="sy1" fmla="+- vc 0 sdy1" />
21733 + <gd name="sy2" fmla="+- vc 0 sdy2" />
21734 + <gd name="sy3" fmla="+- vc sdy2 0" />
21735 + <gd name="sy4" fmla="+- vc sdy1 0" />
21736 + <gd name="yAdj" fmla="+- vc 0 ihd2" />
21737 + </gdLst>
21739 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
21740 + <ahXY gdRefY="adj" minY="0" maxY="50000">
21741 + <pos x="hc" y="yAdj" />
21742 + </ahXY>
21743 + </ahLst>
21745 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
21746 + <cxn ang="0">
21747 + <pos x="r" y="vc" />
21748 + </cxn>
21749 + <cxn ang="cd4">
21750 + <pos x="x2" y="y2" />
21751 + </cxn>
21752 + <cxn ang="cd4">
21753 + <pos x="hc" y="b" />
21754 + </cxn>
21755 + <cxn ang="cd4">
21756 + <pos x="x1" y="y2" />
21757 + </cxn>
21758 + <cxn ang="cd2">
21759 + <pos x="l" y="vc" />
21760 + </cxn>
21761 + <cxn ang="3cd4">
21762 + <pos x="x1" y="y1" />
21763 + </cxn>
21764 + <cxn ang="3cd4">
21765 + <pos x="hc" y="t" />
21766 + </cxn>
21767 + <cxn ang="3cd4">
21768 + <pos x="x2" y="y1" />
21769 + </cxn>
21770 + </cxnLst>
21772 + <rect l="sx1" t="sy1" r="sx4" b="sy4" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
21774 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
21775 + <path>
21776 + <moveTo>
21777 + <pt x="l" y="vc" />
21778 + </moveTo>
21779 + <lnTo>
21780 + <pt x="sx1" y="sy2" />
21781 + </lnTo>
21782 + <lnTo>
21783 + <pt x="x1" y="y1" />
21784 + </lnTo>
21785 + <lnTo>
21786 + <pt x="sx2" y="sy1" />
21787 + </lnTo>
21788 + <lnTo>
21789 + <pt x="hc" y="t" />
21790 + </lnTo>
21791 + <lnTo>
21792 + <pt x="sx3" y="sy1" />
21793 + </lnTo>
21794 + <lnTo>
21795 + <pt x="x2" y="y1" />
21796 + </lnTo>
21797 + <lnTo>
21798 + <pt x="sx4" y="sy2" />
21799 + </lnTo>
21800 + <lnTo>
21801 + <pt x="r" y="vc" />
21802 + </lnTo>
21803 + <lnTo>
21804 + <pt x="sx4" y="sy3" />
21805 + </lnTo>
21806 + <lnTo>
21807 + <pt x="x2" y="y2" />
21808 + </lnTo>
21809 + <lnTo>
21810 + <pt x="sx3" y="sy4" />
21811 + </lnTo>
21812 + <lnTo>
21813 + <pt x="hc" y="b" />
21814 + </lnTo>
21815 + <lnTo>
21816 + <pt x="sx2" y="sy4" />
21817 + </lnTo>
21818 + <lnTo>
21819 + <pt x="x1" y="y2" />
21820 + </lnTo>
21821 + <lnTo>
21822 + <pt x="sx1" y="sy3" />
21823 + </lnTo>
21824 + <close />
21825 + </path>
21826 + </pathLst>
21828 + </star8>
21829 + <straightConnector1>
21830 + <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
21831 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
21832 + <path fill="none">
21833 + <moveTo>
21834 + <pt x="l" y="t" />
21835 + </moveTo>
21836 + <lnTo>
21837 + <pt x="r" y="b" />
21838 + </lnTo>
21839 + </path>
21840 + </pathLst>
21841 + </straightConnector1>
21842 + <stripedRightArrow>
21844 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
21845 + <gd name="adj1" fmla="val 50000" />
21847 + <gd name="adj2" fmla="val 50000" />
21849 + </avLst>
21851 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
21852 + <gd name="maxAdj2" fmla="*/ 84375 w ss" />
21854 + <gd name="a1" fmla="pin 0 adj1 100000" />
21855 + <gd name="a2" fmla="pin 0 adj2 maxAdj2" />
21856 + <gd name="x4" fmla="*/ ss 5 32" />
21857 + <gd name="dx5" fmla="*/ ss a2 100000" />
21858 + <gd name="x5" fmla="+- r 0 dx5" />
21859 + <gd name="dy1" fmla="*/ h a1 200000" />
21860 + <gd name="y1" fmla="+- vc 0 dy1" />
21861 + <gd name="y2" fmla="+- vc dy1 0" />
21862 + <gd name="dx6" fmla="*/ dy1 dx5 hd2" />
21863 + <gd name="x6" fmla="+- r 0 dx6" />
21864 + </gdLst>
21866 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
21867 + <ahXY gdRefY="adj1" minY="0" maxY="100000">
21868 + <pos x="l" y="y1" />
21869 + </ahXY>
21870 + <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">
21871 + <pos x="x5" y="t" />
21872 + </ahXY>
21873 + </ahLst>
21875 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
21876 + <cxn ang="3cd4">
21877 + <pos x="x5" y="t" />
21878 + </cxn>
21879 + <cxn ang="cd2">
21880 + <pos x="l" y="vc" />
21881 + </cxn>
21882 + <cxn ang="cd4">
21883 + <pos x="x5" y="b" />
21884 + </cxn>
21885 + <cxn ang="0">
21886 + <pos x="r" y="vc" />
21887 + </cxn>
21888 + </cxnLst>
21890 + <rect l="x4" t="y1" r="x6" b="y2" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
21892 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
21893 + <path>
21894 + <moveTo>
21895 + <pt x="l" y="y1" />
21896 + </moveTo>
21897 + <lnTo>
21898 + <pt x="ssd32" y="y1" />
21899 + </lnTo>
21900 + <lnTo>
21901 + <pt x="ssd32" y="y2" />
21902 + </lnTo>
21903 + <lnTo>
21904 + <pt x="l" y="y2" />
21905 + </lnTo>
21906 + <close />
21907 + <moveTo>
21908 + <pt x="ssd16" y="y1" />
21909 + </moveTo>
21910 + <lnTo>
21911 + <pt x="ssd8" y="y1" />
21912 + </lnTo>
21913 + <lnTo>
21914 + <pt x="ssd8" y="y2" />
21915 + </lnTo>
21916 + <lnTo>
21917 + <pt x="ssd16" y="y2" />
21918 + </lnTo>
21919 + <close />
21920 + <moveTo>
21921 + <pt x="x4" y="y1" />
21922 + </moveTo>
21923 + <lnTo>
21924 + <pt x="x5" y="y1" />
21925 + </lnTo>
21926 + <lnTo>
21927 + <pt x="x5" y="t" />
21928 + </lnTo>
21929 + <lnTo>
21930 + <pt x="r" y="vc" />
21931 + </lnTo>
21932 + <lnTo>
21933 + <pt x="x5" y="b" />
21934 + </lnTo>
21935 + <lnTo>
21936 + <pt x="x5" y="y2" />
21937 + </lnTo>
21938 + <lnTo>
21939 + <pt x="x4" y="y2" />
21940 + </lnTo>
21941 + <close />
21942 + </path>
21943 + </pathLst>
21945 + </stripedRightArrow>
21946 + <sun>
21948 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
21949 + <gd name="adj" fmla="val 25000" />
21951 + </avLst>
21953 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
21954 + <gd name="a" fmla="pin 12500 adj 46875" />
21955 + <gd name="g0" fmla="+- 50000 0 a" />
21956 + <gd name="g1" fmla="*/ g0 30274 32768" />
21957 + <gd name="g2" fmla="*/ g0 12540 32768" />
21958 + <gd name="g3" fmla="+- g1 50000 0" />
21959 + <gd name="g4" fmla="+- g2 50000 0" />
21960 + <gd name="g5" fmla="+- 50000 0 g1" />
21961 + <gd name="g6" fmla="+- 50000 0 g2" />
21962 + <gd name="g7" fmla="*/ g0 23170 32768" />
21963 + <gd name="g8" fmla="+- 50000 g7 0" />
21964 + <gd name="g9" fmla="+- 50000 0 g7" />
21965 + <gd name="g10" fmla="*/ g5 3 4" />
21966 + <gd name="g11" fmla="*/ g6 3 4" />
21967 + <gd name="g12" fmla="+- g10 3662 0" />
21968 + <gd name="g13" fmla="+- g11 3662 0" />
21969 + <gd name="g14" fmla="+- g11 12500 0" />
21970 + <gd name="g15" fmla="+- 100000 0 g10" />
21971 + <gd name="g16" fmla="+- 100000 0 g12" />
21972 + <gd name="g17" fmla="+- 100000 0 g13" />
21973 + <gd name="g18" fmla="+- 100000 0 g14" />
21974 + <gd name="ox1" fmla="*/ w 18436 21600" />
21975 + <gd name="oy1" fmla="*/ h 3163 21600" />
21976 + <gd name="ox2" fmla="*/ w 3163 21600" />
21977 + <gd name="oy2" fmla="*/ h 18436 21600" />
21978 + <gd name="x8" fmla="*/ w g8 100000" />
21979 + <gd name="x9" fmla="*/ w g9 100000" />
21980 + <gd name="x10" fmla="*/ w g10 100000" />
21981 + <gd name="x12" fmla="*/ w g12 100000" />
21982 + <gd name="x13" fmla="*/ w g13 100000" />
21983 + <gd name="x14" fmla="*/ w g14 100000" />
21984 + <gd name="x15" fmla="*/ w g15 100000" />
21985 + <gd name="x16" fmla="*/ w g16 100000" />
21986 + <gd name="x17" fmla="*/ w g17 100000" />
21987 + <gd name="x18" fmla="*/ w g18 100000" />
21988 + <gd name="x19" fmla="*/ w a 100000" />
21989 + <gd name="wR" fmla="*/ w g0 100000" />
21990 + <gd name="hR" fmla="*/ h g0 100000" />
21991 + <gd name="y8" fmla="*/ h g8 100000" />
21992 + <gd name="y9" fmla="*/ h g9 100000" />
21993 + <gd name="y10" fmla="*/ h g10 100000" />
21994 + <gd name="y12" fmla="*/ h g12 100000" />
21995 + <gd name="y13" fmla="*/ h g13 100000" />
21996 + <gd name="y14" fmla="*/ h g14 100000" />
21997 + <gd name="y15" fmla="*/ h g15 100000" />
21998 + <gd name="y16" fmla="*/ h g16 100000" />
21999 + <gd name="y17" fmla="*/ h g17 100000" />
22000 + <gd name="y18" fmla="*/ h g18 100000" />
22001 + </gdLst>
22003 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22004 + <ahXY gdRefX="adj" minX="12500" maxX="46875">
22005 + <pos x="x19" y="vc" />
22006 + </ahXY>
22007 + </ahLst>
22009 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22010 + <cxn ang="3cd4">
22011 + <pos x="hc" y="t" />
22012 + </cxn>
22013 + <cxn ang="cd2">
22014 + <pos x="l" y="vc" />
22015 + </cxn>
22016 + <cxn ang="cd4">
22017 + <pos x="hc" y="b" />
22018 + </cxn>
22019 + <cxn ang="0">
22020 + <pos x="r" y="vc" />
22021 + </cxn>
22022 + </cxnLst>
22024 + <rect l="x9" t="y9" r="x8" b="y8" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
22026 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22027 + <path>
22028 + <moveTo>
22029 + <pt x="r" y="vc" />
22030 + </moveTo>
22031 + <lnTo>
22032 + <pt x="x15" y="y18" />
22033 + </lnTo>
22034 + <lnTo>
22035 + <pt x="x15" y="y14" />
22036 + </lnTo>
22037 + <close />
22038 + <moveTo>
22039 + <pt x="ox1" y="oy1" />
22040 + </moveTo>
22041 + <lnTo>
22042 + <pt x="x16" y="y13" />
22043 + </lnTo>
22044 + <lnTo>
22045 + <pt x="x17" y="y12" />
22046 + </lnTo>
22047 + <close />
22048 + <moveTo>
22049 + <pt x="hc" y="t" />
22050 + </moveTo>
22051 + <lnTo>
22052 + <pt x="x18" y="y10" />
22053 + </lnTo>
22054 + <lnTo>
22055 + <pt x="x14" y="y10" />
22056 + </lnTo>
22057 + <close />
22058 + <moveTo>
22059 + <pt x="ox2" y="oy1" />
22060 + </moveTo>
22061 + <lnTo>
22062 + <pt x="x13" y="y12" />
22063 + </lnTo>
22064 + <lnTo>
22065 + <pt x="x12" y="y13" />
22066 + </lnTo>
22067 + <close />
22068 + <moveTo>
22069 + <pt x="l" y="vc" />
22070 + </moveTo>
22071 + <lnTo>
22072 + <pt x="x10" y="y14" />
22073 + </lnTo>
22074 + <lnTo>
22075 + <pt x="x10" y="y18" />
22076 + </lnTo>
22077 + <close />
22078 + <moveTo>
22079 + <pt x="ox2" y="oy2" />
22080 + </moveTo>
22081 + <lnTo>
22082 + <pt x="x12" y="y17" />
22083 + </lnTo>
22084 + <lnTo>
22085 + <pt x="x13" y="y16" />
22086 + </lnTo>
22087 + <close />
22088 + <moveTo>
22089 + <pt x="hc" y="b" />
22090 + </moveTo>
22091 + <lnTo>
22092 + <pt x="x14" y="y15" />
22093 + </lnTo>
22094 + <lnTo>
22095 + <pt x="x18" y="y15" />
22096 + </lnTo>
22097 + <close />
22098 + <moveTo>
22099 + <pt x="ox1" y="oy2" />
22100 + </moveTo>
22101 + <lnTo>
22102 + <pt x="x17" y="y16" />
22103 + </lnTo>
22104 + <lnTo>
22105 + <pt x="x16" y="y17" />
22106 + </lnTo>
22107 + <close />
22108 + <moveTo>
22109 + <pt x="x19" y="vc" />
22110 + </moveTo>
22111 + <arcTo wR="wR" hR="hR" stAng="cd2" swAng="21600000" />
22112 + <close />
22113 + </path>
22114 + </pathLst>
22116 + </sun>
22117 + <swooshArrow>
22119 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22120 + <gd name="adj1" fmla="val 25000" />
22122 + <gd name="adj2" fmla="val 16667" />
22124 + </avLst>
22126 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22129 + <gd name="a1" fmla="pin 1 adj1 75000" />
22131 + <gd name="maxAdj2" fmla="*/ 70000 w ss" />
22133 + <gd name="a2" fmla="pin 0 adj2 maxAdj2" />
22134 + <gd name="ad1" fmla="*/ h a1 100000" />
22135 + <gd name="ad2" fmla="*/ ss a2 100000" />
22137 + <gd name="xB" fmla="+- r 0 ad2" />
22138 + <gd name="yB" fmla="+- t ssd8 0" />
22140 + <gd name="alfa" fmla="*/ cd4 1 14" />
22142 + <gd name="dx0" fmla="tan ssd8 alfa" />
22143 + <gd name="xC" fmla="+- xB 0 dx0" />
22145 + <gd name="dx1" fmla="tan ad1 alfa" />
22147 + <gd name="yF" fmla="+- yB ad1 0" />
22148 + <gd name="xF" fmla="+- xB dx1 0" />
22150 + <gd name="xE" fmla="+- xF dx0 0" />
22151 + <gd name="yE" fmla="+- yF ssd8 0" />
22153 + <gd name="dy2" fmla="+- yE 0 t" />
22154 + <gd name="dy22" fmla="*/ dy2 1 2" />
22155 + <gd name="dy3" fmla="*/ h 1 20" />
22156 + <gd name="yD" fmla="+- t dy22 dy3" />
22159 + <gd name="dy4" fmla="*/ hd6 1 1" />
22160 + <gd name="yP1" fmla="+- hd6 dy4 0" />
22161 + <gd name="xP1" fmla="val wd6" />
22164 + <gd name="dy5" fmla="*/ hd6 1 2" />
22165 + <gd name="yP2" fmla="+- yF dy5 0" />
22166 + <gd name="xP2" fmla="val wd4" />
22167 + </gdLst>
22169 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22170 + <ahXY gdRefY="adj1" minY="1" maxY="75000">
22171 + <pos x="xF" y="yF" />
22172 + </ahXY>
22173 + <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">
22174 + <pos x="xB" y="yB" />
22175 + </ahXY>
22176 + </ahLst>
22178 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22179 + <cxn ang="cd4">
22180 + <pos x="l" y="b" />
22181 + </cxn>
22182 + <cxn ang="3cd4">
22183 + <pos x="xC" y="t" />
22184 + </cxn>
22185 + <cxn ang="0">
22186 + <pos x="r" y="yD" />
22187 + </cxn>
22188 + <cxn ang="cd4">
22189 + <pos x="xE" y="yE" />
22190 + </cxn>
22191 + </cxnLst>
22193 + <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
22195 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22196 + <path>
22197 + <moveTo>
22198 + <pt x="l" y="b" />
22199 + </moveTo>
22200 + <quadBezTo>
22201 + <pt x="xP1" y="yP1" />
22202 + <pt x="xB" y="yB" />
22203 + </quadBezTo>
22204 + <lnTo>
22205 + <pt x="xC" y="t" />
22206 + </lnTo>
22207 + <lnTo>
22208 + <pt x="r" y="yD" />
22209 + </lnTo>
22210 + <lnTo>
22211 + <pt x="xE" y="yE" />
22212 + </lnTo>
22213 + <lnTo>
22214 + <pt x="xF" y="yF" />
22215 + </lnTo>
22216 + <quadBezTo>
22217 + <pt x="xP2" y="yP2" />
22218 + <pt x="l" y="b" />
22219 + </quadBezTo>
22220 + <close />
22221 + </path>
22222 + </pathLst>
22224 + </swooshArrow>
22225 + <teardrop>
22227 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22228 + <gd name="adj" fmla="val 100000" />
22229 + </avLst>
22231 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22232 + <gd name="a" fmla="pin 0 adj 200000" />
22233 + <gd name="r2" fmla="sqrt 2" />
22234 + <gd name="tw" fmla="*/ wd2 r2 1" />
22235 + <gd name="th" fmla="*/ hd2 r2 1" />
22236 + <gd name="sw" fmla="*/ tw a 100000" />
22237 + <gd name="sh" fmla="*/ th a 100000" />
22238 + <gd name="dx1" fmla="cos sw 2700000" />
22239 + <gd name="dy1" fmla="sin sh 2700000" />
22240 + <gd name="x1" fmla="+- hc dx1 0" />
22241 + <gd name="y1" fmla="+- vc 0 dy1" />
22242 + <gd name="x2" fmla="+/ hc x1 2" />
22243 + <gd name="y2" fmla="+/ vc y1 2" />
22244 + <gd name="idx" fmla="cos wd2 2700000" />
22245 + <gd name="idy" fmla="sin hd2 2700000" />
22246 + <gd name="il" fmla="+- hc 0 idx" />
22247 + <gd name="ir" fmla="+- hc idx 0" />
22248 + <gd name="it" fmla="+- vc 0 idy" />
22249 + <gd name="ib" fmla="+- vc idy 0" />
22250 + </gdLst>
22252 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22253 + <ahXY gdRefX="adj" minX="0" maxX="200000">
22254 + <pos x="x1" y="t" />
22255 + </ahXY>
22256 + </ahLst>
22258 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22259 + <cxn ang="0">
22260 + <pos x="r" y="vc" />
22261 + </cxn>
22262 + <cxn ang="cd4">
22263 + <pos x="ir" y="ib" />
22264 + </cxn>
22265 + <cxn ang="cd4">
22266 + <pos x="hc" y="b" />
22267 + </cxn>
22268 + <cxn ang="cd4">
22269 + <pos x="il" y="ib" />
22270 + </cxn>
22271 + <cxn ang="cd2">
22272 + <pos x="l" y="vc" />
22273 + </cxn>
22274 + <cxn ang="3cd4">
22275 + <pos x="il" y="it" />
22276 + </cxn>
22277 + <cxn ang="3cd4">
22278 + <pos x="hc" y="t" />
22279 + </cxn>
22280 + <cxn ang="3cd4">
22281 + <pos x="x1" y="y1" />
22282 + </cxn>
22283 + </cxnLst>
22285 + <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
22287 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22288 + <path>
22289 + <moveTo>
22290 + <pt x="l" y="vc" />
22291 + </moveTo>
22292 + <arcTo wR="wd2" hR="hd2" stAng="cd2" swAng="cd4" />
22293 + <quadBezTo>
22294 + <pt x="x2" y="t" />
22295 + <pt x="x1" y="y1" />
22296 + </quadBezTo>
22297 + <quadBezTo>
22298 + <pt x="r" y="y2" />
22299 + <pt x="r" y="vc" />
22300 + </quadBezTo>
22301 + <arcTo wR="wd2" hR="hd2" stAng="0" swAng="cd4" />
22302 + <arcTo wR="wd2" hR="hd2" stAng="cd4" swAng="cd4" />
22303 + <close />
22304 + </path>
22305 + </pathLst>
22307 + </teardrop>
22308 + <trapezoid>
22309 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22310 + <gd name="adj" fmla="val 25000" />
22311 + </avLst>
22312 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22313 + <gd name="maxAdj" fmla="*/ 50000 w ss" />
22314 + <gd name="a" fmla="pin 0 adj maxAdj" />
22315 + <gd name="x1" fmla="*/ ss a 200000" />
22316 + <gd name="x2" fmla="*/ ss a 100000" />
22317 + <gd name="x3" fmla="+- r 0 x2" />
22318 + <gd name="x4" fmla="+- r 0 x1" />
22319 + <gd name="il" fmla="*/ wd3 a maxAdj" />
22320 + <gd name="it" fmla="*/ hd3 a maxAdj" />
22321 + <gd name="ir" fmla="+- r 0 il" />
22322 + </gdLst>
22323 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22324 + <ahXY gdRefX="adj" minX="0" maxX="maxAdj">
22325 + <pos x="x2" y="t" />
22326 + </ahXY>
22327 + </ahLst>
22328 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22329 + <cxn ang="3cd4">
22330 + <pos x="hc" y="t" />
22331 + </cxn>
22332 + <cxn ang="cd2">
22333 + <pos x="x1" y="vc" />
22334 + </cxn>
22335 + <cxn ang="cd4">
22336 + <pos x="hc" y="b" />
22337 + </cxn>
22338 + <cxn ang="0">
22339 + <pos x="x4" y="vc" />
22340 + </cxn>
22341 + </cxnLst>
22342 + <rect l="il" t="it" r="ir" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
22343 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22344 + <path>
22345 + <moveTo>
22346 + <pt x="l" y="b" />
22347 + </moveTo>
22348 + <lnTo>
22349 + <pt x="x2" y="t" />
22350 + </lnTo>
22351 + <lnTo>
22352 + <pt x="x3" y="t" />
22353 + </lnTo>
22354 + <lnTo>
22355 + <pt x="r" y="b" />
22356 + </lnTo>
22357 + <close />
22358 + </path>
22359 + </pathLst>
22360 + </trapezoid>
22361 + <triangle>
22362 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22363 + <gd name="adj" fmla="val 50000" />
22364 + </avLst>
22365 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22366 + <gd name="a" fmla="pin 0 adj 100000" />
22367 + <gd name="x1" fmla="*/ w a 200000" />
22368 + <gd name="x2" fmla="*/ w a 100000" />
22369 + <gd name="x3" fmla="+- x1 wd2 0" />
22370 + </gdLst>
22371 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22372 + <ahXY gdRefX="adj" minX="0" maxX="100000">
22373 + <pos x="x2" y="t" />
22374 + </ahXY>
22375 + </ahLst>
22376 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22377 + <cxn ang="3cd4">
22378 + <pos x="x2" y="t" />
22379 + </cxn>
22380 + <cxn ang="cd2">
22381 + <pos x="x1" y="vc" />
22382 + </cxn>
22383 + <cxn ang="cd4">
22384 + <pos x="l" y="b" />
22385 + </cxn>
22386 + <cxn ang="cd4">
22387 + <pos x="x2" y="b" />
22388 + </cxn>
22389 + <cxn ang="cd4">
22390 + <pos x="r" y="b" />
22391 + </cxn>
22392 + <cxn ang="0">
22393 + <pos x="x3" y="vc" />
22394 + </cxn>
22395 + </cxnLst>
22396 + <rect l="x1" t="vc" r="x3" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
22397 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22398 + <path>
22399 + <moveTo>
22400 + <pt x="l" y="b" />
22401 + </moveTo>
22402 + <lnTo>
22403 + <pt x="x2" y="t" />
22404 + </lnTo>
22405 + <lnTo>
22406 + <pt x="r" y="b" />
22407 + </lnTo>
22408 + <close />
22409 + </path>
22410 + </pathLst>
22411 + </triangle>
22412 + <upArrowCallout>
22414 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22415 + <gd name="adj1" fmla="val 25000" />
22417 + <gd name="adj2" fmla="val 25000" />
22419 + <gd name="adj3" fmla="val 25000" />
22421 + <gd name="adj4" fmla="val 64977" />
22423 + </avLst>
22425 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22426 + <gd name="maxAdj2" fmla="*/ 50000 w ss" />
22428 + <gd name="a2" fmla="pin 0 adj2 maxAdj2" />
22429 + <gd name="maxAdj1" fmla="*/ a2 2 1" />
22431 + <gd name="a1" fmla="pin 0 adj1 maxAdj1" />
22432 + <gd name="maxAdj3" fmla="*/ 100000 h ss" />
22434 + <gd name="a3" fmla="pin 0 adj3 maxAdj3" />
22435 + <gd name="q2" fmla="*/ a3 ss h" />
22437 + <gd name="maxAdj4" fmla="+- 100000 0 q2" />
22439 + <gd name="a4" fmla="pin 0 adj4 maxAdj4" />
22440 + <gd name="dx1" fmla="*/ ss a2 100000" />
22442 + <gd name="dx2" fmla="*/ ss a1 200000" />
22444 + <gd name="x1" fmla="+- hc 0 dx1" />
22445 + <gd name="x2" fmla="+- hc 0 dx2" />
22446 + <gd name="x3" fmla="+- hc dx2 0" />
22447 + <gd name="x4" fmla="+- hc dx1 0" />
22448 + <gd name="y1" fmla="*/ ss a3 100000" />
22450 + <gd name="dy2" fmla="*/ h a4 100000" />
22452 + <gd name="y2" fmla="+- b 0 dy2" />
22453 + <gd name="y3" fmla="+/ y2 b 2" />
22454 + </gdLst>
22456 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22457 + <ahXY gdRefX="adj1" minX="0" maxX="maxAdj1">
22458 + <pos x="x2" y="y1" />
22459 + </ahXY>
22460 + <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">
22461 + <pos x="x1" y="t" />
22462 + </ahXY>
22463 + <ahXY gdRefY="adj3" minY="0" maxY="maxAdj3">
22464 + <pos x="r" y="y1" />
22465 + </ahXY>
22466 + <ahXY gdRefY="adj4" minY="0" maxY="maxAdj4">
22467 + <pos x="l" y="y2" />
22468 + </ahXY>
22469 + </ahLst>
22471 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22472 + <cxn ang="3cd4">
22473 + <pos x="hc" y="t" />
22474 + </cxn>
22475 + <cxn ang="cd2">
22476 + <pos x="l" y="y2" />
22477 + </cxn>
22478 + <cxn ang="cd4">
22479 + <pos x="hc" y="b" />
22480 + </cxn>
22481 + <cxn ang="0">
22482 + <pos x="r" y="y2" />
22483 + </cxn>
22484 + </cxnLst>
22486 + <rect l="l" t="y2" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
22488 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22489 + <path>
22490 + <moveTo>
22491 + <pt x="l" y="y2" />
22492 + </moveTo>
22493 + <lnTo>
22494 + <pt x="x2" y="y2" />
22495 + </lnTo>
22496 + <lnTo>
22497 + <pt x="x2" y="y1" />
22498 + </lnTo>
22499 + <lnTo>
22500 + <pt x="x1" y="y1" />
22501 + </lnTo>
22502 + <lnTo>
22503 + <pt x="hc" y="t" />
22504 + </lnTo>
22505 + <lnTo>
22506 + <pt x="x4" y="y1" />
22507 + </lnTo>
22508 + <lnTo>
22509 + <pt x="x3" y="y1" />
22510 + </lnTo>
22511 + <lnTo>
22512 + <pt x="x3" y="y2" />
22513 + </lnTo>
22514 + <lnTo>
22515 + <pt x="r" y="y2" />
22516 + </lnTo>
22517 + <lnTo>
22518 + <pt x="r" y="b" />
22519 + </lnTo>
22520 + <lnTo>
22521 + <pt x="l" y="b" />
22522 + </lnTo>
22523 + <close />
22524 + </path>
22525 + </pathLst>
22527 + </upArrowCallout>
22528 + <upDownArrow>
22529 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22530 + <gd name="adj1" fmla="val 50000" />
22531 + <gd name="adj2" fmla="val 50000" />
22532 + </avLst>
22533 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22534 + <gd name="maxAdj2" fmla="*/ 50000 h ss" />
22535 + <gd name="a1" fmla="pin 0 adj1 100000" />
22536 + <gd name="a2" fmla="pin 0 adj2 maxAdj2" />
22537 + <gd name="y2" fmla="*/ ss a2 100000" />
22538 + <gd name="y3" fmla="+- b 0 y2" />
22539 + <gd name="dx1" fmla="*/ w a1 200000" />
22540 + <gd name="x1" fmla="+- hc 0 dx1" />
22541 + <gd name="x2" fmla="+- hc dx1 0" />
22542 + <gd name="dy1" fmla="*/ x1 y2 wd2" />
22543 + <gd name="y1" fmla="+- y2 0 dy1" />
22544 + <gd name="y4" fmla="+- y3 dy1 0" />
22545 + </gdLst>
22546 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22547 + <ahXY gdRefX="adj1" minX="0" maxX="100000">
22548 + <pos x="x1" y="y3" />
22549 + </ahXY>
22550 + <ahXY gdRefY="adj2" minY="0" maxY="maxAdj2">
22551 + <pos x="l" y="y2" />
22552 + </ahXY>
22553 + </ahLst>
22554 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22555 + <cxn ang="3cd4">
22556 + <pos x="hc" y="t" />
22557 + </cxn>
22558 + <cxn ang="cd2">
22559 + <pos x="l" y="y2" />
22560 + </cxn>
22561 + <cxn ang="cd2">
22562 + <pos x="x1" y="vc" />
22563 + </cxn>
22564 + <cxn ang="cd2">
22565 + <pos x="l" y="y3" />
22566 + </cxn>
22567 + <cxn ang="cd4">
22568 + <pos x="hc" y="b" />
22569 + </cxn>
22570 + <cxn ang="0">
22571 + <pos x="r" y="y3" />
22572 + </cxn>
22573 + <cxn ang="0">
22574 + <pos x="x2" y="vc" />
22575 + </cxn>
22576 + <cxn ang="0">
22577 + <pos x="r" y="y2" />
22578 + </cxn>
22579 + </cxnLst>
22580 + <rect l="x1" t="y1" r="x2" b="y4" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
22581 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22582 + <path>
22583 + <moveTo>
22584 + <pt x="l" y="y2" />
22585 + </moveTo>
22586 + <lnTo>
22587 + <pt x="hc" y="t" />
22588 + </lnTo>
22589 + <lnTo>
22590 + <pt x="r" y="y2" />
22591 + </lnTo>
22592 + <lnTo>
22593 + <pt x="x2" y="y2" />
22594 + </lnTo>
22595 + <lnTo>
22596 + <pt x="x2" y="y3" />
22597 + </lnTo>
22598 + <lnTo>
22599 + <pt x="r" y="y3" />
22600 + </lnTo>
22601 + <lnTo>
22602 + <pt x="hc" y="b" />
22603 + </lnTo>
22604 + <lnTo>
22605 + <pt x="l" y="y3" />
22606 + </lnTo>
22607 + <lnTo>
22608 + <pt x="x1" y="y3" />
22609 + </lnTo>
22610 + <lnTo>
22611 + <pt x="x1" y="y2" />
22612 + </lnTo>
22613 + <close />
22614 + </path>
22615 + </pathLst>
22616 + </upDownArrow>
22617 + <upDownArrow>
22618 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22619 + <gd name="adj1" fmla="val 50000" />
22620 + <gd name="adj2" fmla="val 50000" />
22621 + </avLst>
22622 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22623 + <gd name="maxAdj2" fmla="*/ 50000 h ss" />
22624 + <gd name="a1" fmla="pin 0 adj1 100000" />
22625 + <gd name="a2" fmla="pin 0 adj2 maxAdj2" />
22626 + <gd name="y2" fmla="*/ ss a2 100000" />
22627 + <gd name="y3" fmla="+- b 0 y2" />
22628 + <gd name="dx1" fmla="*/ w a1 200000" />
22629 + <gd name="x1" fmla="+- hc 0 dx1" />
22630 + <gd name="x2" fmla="+- hc dx1 0" />
22631 + <gd name="dy1" fmla="*/ x1 y2 wd2" />
22632 + <gd name="y1" fmla="+- y2 0 dy1" />
22633 + <gd name="y4" fmla="+- y3 dy1 0" />
22634 + </gdLst>
22635 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22636 + <ahXY gdRefX="adj1" minX="0" maxX="100000">
22637 + <pos x="x1" y="y3" />
22638 + </ahXY>
22639 + <ahXY gdRefY="adj2" minY="0" maxY="maxAdj2">
22640 + <pos x="l" y="y2" />
22641 + </ahXY>
22642 + </ahLst>
22643 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22644 + <cxn ang="3cd4">
22645 + <pos x="hc" y="t" />
22646 + </cxn>
22647 + <cxn ang="cd2">
22648 + <pos x="l" y="y2" />
22649 + </cxn>
22650 + <cxn ang="cd2">
22651 + <pos x="x1" y="vc" />
22652 + </cxn>
22653 + <cxn ang="cd2">
22654 + <pos x="l" y="y3" />
22655 + </cxn>
22656 + <cxn ang="cd4">
22657 + <pos x="hc" y="b" />
22658 + </cxn>
22659 + <cxn ang="0">
22660 + <pos x="r" y="y3" />
22661 + </cxn>
22662 + <cxn ang="0">
22663 + <pos x="x2" y="vc" />
22664 + </cxn>
22665 + <cxn ang="0">
22666 + <pos x="r" y="y2" />
22667 + </cxn>
22668 + </cxnLst>
22669 + <rect l="x1" t="y1" r="x2" b="y4" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
22670 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22671 + <path>
22672 + <moveTo>
22673 + <pt x="l" y="y2" />
22674 + </moveTo>
22675 + <lnTo>
22676 + <pt x="hc" y="t" />
22677 + </lnTo>
22678 + <lnTo>
22679 + <pt x="r" y="y2" />
22680 + </lnTo>
22681 + <lnTo>
22682 + <pt x="x2" y="y2" />
22683 + </lnTo>
22684 + <lnTo>
22685 + <pt x="x2" y="y3" />
22686 + </lnTo>
22687 + <lnTo>
22688 + <pt x="r" y="y3" />
22689 + </lnTo>
22690 + <lnTo>
22691 + <pt x="hc" y="b" />
22692 + </lnTo>
22693 + <lnTo>
22694 + <pt x="l" y="y3" />
22695 + </lnTo>
22696 + <lnTo>
22697 + <pt x="x1" y="y3" />
22698 + </lnTo>
22699 + <lnTo>
22700 + <pt x="x1" y="y2" />
22701 + </lnTo>
22702 + <close />
22703 + </path>
22704 + </pathLst>
22705 + </upDownArrow>
22706 + <upDownArrowCallout>
22708 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22709 + <gd name="adj1" fmla="val 25000" />
22711 + <gd name="adj2" fmla="val 25000" />
22713 + <gd name="adj3" fmla="val 25000" />
22715 + <gd name="adj4" fmla="val 48123" />
22717 + </avLst>
22719 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22720 + <gd name="maxAdj2" fmla="*/ 50000 w ss" />
22722 + <gd name="a2" fmla="pin 0 adj2 maxAdj2" />
22723 + <gd name="maxAdj1" fmla="*/ a2 2 1" />
22725 + <gd name="a1" fmla="pin 0 adj1 maxAdj1" />
22726 + <gd name="maxAdj3" fmla="*/ 50000 h ss" />
22728 + <gd name="a3" fmla="pin 0 adj3 maxAdj3" />
22729 + <gd name="q2" fmla="*/ a3 ss hd2" />
22731 + <gd name="maxAdj4" fmla="+- 100000 0 q2" />
22733 + <gd name="a4" fmla="pin 0 adj4 maxAdj4" />
22734 + <gd name="dx1" fmla="*/ ss a2 100000" />
22736 + <gd name="dx2" fmla="*/ ss a1 200000" />
22738 + <gd name="x1" fmla="+- hc 0 dx1" />
22739 + <gd name="x2" fmla="+- hc 0 dx2" />
22740 + <gd name="x3" fmla="+- hc dx2 0" />
22741 + <gd name="x4" fmla="+- hc dx1 0" />
22742 + <gd name="y1" fmla="*/ ss a3 100000" />
22744 + <gd name="y4" fmla="+- b 0 y1" />
22746 + <gd name="dy2" fmla="*/ h a4 200000" />
22748 + <gd name="y2" fmla="+- vc 0 dy2" />
22750 + <gd name="y3" fmla="+- vc dy2 0" />
22752 + </gdLst>
22754 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22755 + <ahXY gdRefX="adj1" minX="0" maxX="maxAdj1">
22756 + <pos x="x2" y="y1" />
22757 + </ahXY>
22758 + <ahXY gdRefX="adj2" minX="0" maxX="maxAdj2">
22759 + <pos x="x1" y="t" />
22760 + </ahXY>
22761 + <ahXY gdRefY="adj3" minY="0" maxY="maxAdj3">
22762 + <pos x="r" y="y1" />
22763 + </ahXY>
22764 + <ahXY gdRefY="adj4" minY="0" maxY="maxAdj4">
22765 + <pos x="l" y="y2" />
22766 + </ahXY>
22767 + </ahLst>
22769 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22770 + <cxn ang="3cd4">
22771 + <pos x="hc" y="t" />
22772 + </cxn>
22773 + <cxn ang="cd2">
22774 + <pos x="l" y="vc" />
22775 + </cxn>
22776 + <cxn ang="cd4">
22777 + <pos x="hc" y="b" />
22778 + </cxn>
22779 + <cxn ang="0">
22780 + <pos x="r" y="vc" />
22781 + </cxn>
22782 + </cxnLst>
22784 + <rect l="l" t="y2" r="r" b="y3" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
22786 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22787 + <path>
22788 + <moveTo>
22789 + <pt x="l" y="y2" />
22790 + </moveTo>
22791 + <lnTo>
22792 + <pt x="x2" y="y2" />
22793 + </lnTo>
22794 + <lnTo>
22795 + <pt x="x2" y="y1" />
22796 + </lnTo>
22797 + <lnTo>
22798 + <pt x="x1" y="y1" />
22799 + </lnTo>
22800 + <lnTo>
22801 + <pt x="hc" y="t" />
22802 + </lnTo>
22803 + <lnTo>
22804 + <pt x="x4" y="y1" />
22805 + </lnTo>
22806 + <lnTo>
22807 + <pt x="x3" y="y1" />
22808 + </lnTo>
22809 + <lnTo>
22810 + <pt x="x3" y="y2" />
22811 + </lnTo>
22812 + <lnTo>
22813 + <pt x="r" y="y2" />
22814 + </lnTo>
22815 + <lnTo>
22816 + <pt x="r" y="y3" />
22817 + </lnTo>
22818 + <lnTo>
22819 + <pt x="x3" y="y3" />
22820 + </lnTo>
22821 + <lnTo>
22822 + <pt x="x3" y="y4" />
22823 + </lnTo>
22824 + <lnTo>
22825 + <pt x="x4" y="y4" />
22826 + </lnTo>
22827 + <lnTo>
22828 + <pt x="hc" y="b" />
22829 + </lnTo>
22830 + <lnTo>
22831 + <pt x="x1" y="y4" />
22832 + </lnTo>
22833 + <lnTo>
22834 + <pt x="x2" y="y4" />
22835 + </lnTo>
22836 + <lnTo>
22837 + <pt x="x2" y="y3" />
22838 + </lnTo>
22839 + <lnTo>
22840 + <pt x="l" y="y3" />
22841 + </lnTo>
22842 + <close />
22843 + </path>
22844 + </pathLst>
22846 + </upDownArrowCallout>
22847 + <uturnArrow>
22849 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22850 + <gd name="adj1" fmla="val 25000" />
22852 + <gd name="adj2" fmla="val 25000" />
22854 + <gd name="adj3" fmla="val 25000" />
22856 + <gd name="adj4" fmla="val 43750" />
22858 + <gd name="adj5" fmla="val 75000" />
22860 + </avLst>
22862 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22863 + <gd name="a2" fmla="pin 0 adj2 25000" />
22864 + <gd name="maxAdj1" fmla="*/ a2 2 1" />
22865 + <gd name="a1" fmla="pin 0 adj1 maxAdj1" />
22866 + <gd name="q2" fmla="*/ a1 ss h" />
22868 + <gd name="q3" fmla="+- 100000 0 q2" />
22870 + <gd name="maxAdj3" fmla="*/ q3 h ss" />
22872 + <gd name="a3" fmla="pin 0 adj3 maxAdj3" />
22873 + <gd name="q1" fmla="+- a3 a1 0" />
22874 + <gd name="minAdj5" fmla="*/ q1 ss h" />
22875 + <gd name="a5" fmla="pin minAdj5 adj5 100000" />
22876 + <gd name="th" fmla="*/ ss a1 100000" />
22878 + <gd name="aw2" fmla="*/ ss a2 100000" />
22880 + <gd name="th2" fmla="*/ th 1 2" />
22881 + <gd name="dh2" fmla="+- aw2 0 th2" />
22883 + <gd name="y5" fmla="*/ h a5 100000" />
22885 + <gd name="ah" fmla="*/ ss a3 100000" />
22887 + <gd name="y4" fmla="+- y5 0 ah" />
22888 + <gd name="x9" fmla="+- r 0 dh2" />
22890 + <gd name="bw" fmla="*/ x9 1 2" />
22891 + <gd name="bs" fmla="min bw y4" />
22892 + <gd name="maxAdj4" fmla="*/ bs 100000 ss" />
22893 + <gd name="a4" fmla="pin 0 adj4 maxAdj4" />
22896 + <gd name="bd" fmla="*/ ss a4 100000" />
22900 + <gd name="bd3" fmla="+- bd 0 th" />
22901 + <gd name="bd2" fmla="max bd3 0" />
22902 + <gd name="x3" fmla="+- th bd2 0" />
22904 + <gd name="x8" fmla="+- r 0 aw2" />
22906 + <gd name="x6" fmla="+- x8 0 aw2" />
22908 + <gd name="x7" fmla="+- x6 dh2 0" />
22910 + <gd name="x4" fmla="+- x9 0 bd" />
22912 + <gd name="x5" fmla="+- x7 0 bd2" />
22914 + <gd name="cx" fmla="+/ th x7 2" />
22919 + </gdLst>
22921 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22922 + <ahXY gdRefX="adj1" minX="0" maxX="maxAdj1">
22923 + <pos x="th" y="b" />
22924 + </ahXY>
22925 + <ahXY gdRefX="adj2" minX="0" maxX="25000">
22926 + <pos x="x6" y="b" />
22927 + </ahXY>
22928 + <ahXY gdRefY="adj3" minY="0" maxY="maxAdj3">
22929 + <pos x="x6" y="y4" />
22930 + </ahXY>
22931 + <ahXY gdRefX="adj4" minX="0" maxX="maxAdj4">
22932 + <pos x="bd" y="t" />
22933 + </ahXY>
22934 + <ahXY gdRefY="adj5" minY="minAdj5" maxY="100000">
22935 + <pos x="r" y="y5" />
22936 + </ahXY>
22937 + </ahLst>
22939 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22940 + <cxn ang="cd4">
22941 + <pos x="x6" y="y4" />
22942 + </cxn>
22943 + <cxn ang="cd4">
22944 + <pos x="x8" y="y5" />
22945 + </cxn>
22946 + <cxn ang="0">
22947 + <pos x="r" y="y4" />
22948 + </cxn>
22949 + <cxn ang="3cd4">
22950 + <pos x="cx" y="t" />
22951 + </cxn>
22952 + <cxn ang="cd4">
22953 + <pos x="th2" y="b" />
22954 + </cxn>
22955 + </cxnLst>
22957 + <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
22959 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
22960 + <path>
22961 + <moveTo>
22962 + <pt x="l" y="b" />
22963 + </moveTo>
22964 + <lnTo>
22965 + <pt x="l" y="bd" />
22966 + </lnTo>
22967 + <arcTo wR="bd" hR="bd" stAng="cd2" swAng="cd4" />
22968 + <lnTo>
22969 + <pt x="x4" y="t" />
22970 + </lnTo>
22971 + <arcTo wR="bd" hR="bd" stAng="3cd4" swAng="cd4" />
22972 + <lnTo>
22973 + <pt x="x9" y="y4" />
22974 + </lnTo>
22975 + <lnTo>
22976 + <pt x="r" y="y4" />
22977 + </lnTo>
22978 + <lnTo>
22979 + <pt x="x8" y="y5" />
22980 + </lnTo>
22981 + <lnTo>
22982 + <pt x="x6" y="y4" />
22983 + </lnTo>
22984 + <lnTo>
22985 + <pt x="x7" y="y4" />
22986 + </lnTo>
22987 + <lnTo>
22988 + <pt x="x7" y="x3" />
22989 + </lnTo>
22990 + <arcTo wR="bd2" hR="bd2" stAng="0" swAng="-5400000" />
22991 + <lnTo>
22992 + <pt x="x3" y="th" />
22993 + </lnTo>
22994 + <arcTo wR="bd2" hR="bd2" stAng="3cd4" swAng="-5400000" />
22995 + <lnTo>
22996 + <pt x="th" y="b" />
22997 + </lnTo>
22998 + <close />
22999 + </path>
23000 + </pathLst>
23002 + </uturnArrow>
23003 + <verticalScroll>
23005 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23006 + <gd name="adj" fmla="val 12500" />
23008 + </avLst>
23010 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23011 + <gd name="a" fmla="pin 0 adj 25000" />
23012 + <gd name="ch" fmla="*/ ss a 100000" />
23014 + <gd name="ch2" fmla="*/ ch 1 2" />
23016 + <gd name="ch4" fmla="*/ ch 1 4" />
23022 + <gd name="x3" fmla="+- ch ch2 0" />
23024 + <gd name="x4" fmla="+- ch ch 0" />
23026 + <gd name="x6" fmla="+- r 0 ch" />
23028 + <gd name="x7" fmla="+- r 0 ch2" />
23030 + <gd name="x5" fmla="+- x6 0 ch2" />
23036 + <gd name="y3" fmla="+- b 0 ch" />
23038 + <gd name="y4" fmla="+- b 0 ch2" />
23040 + </gdLst>
23042 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23043 + <ahXY gdRefY="adj" minY="0" maxY="25000">
23044 + <pos x="l" y="ch" />
23045 + </ahXY>
23046 + </ahLst>
23048 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23049 + <cxn ang="3cd4">
23050 + <pos x="hc" y="t" />
23051 + </cxn>
23052 + <cxn ang="0">
23053 + <pos x="ch" y="vc" />
23054 + </cxn>
23055 + <cxn ang="cd4">
23056 + <pos x="hc" y="b" />
23057 + </cxn>
23058 + <cxn ang="cd2">
23059 + <pos x="x6" y="vc" />
23060 + </cxn>
23061 + </cxnLst>
23063 + <rect l="ch" t="ch" r="x6" b="y4" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
23065 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23066 + <path stroke="false" extrusionOk="false">
23068 + <moveTo>
23069 + <pt x="ch2" y="b" />
23070 + </moveTo>
23071 + <arcTo wR="ch2" hR="ch2" stAng="cd4" swAng="-5400000" />
23072 + <lnTo>
23073 + <pt x="ch2" y="y4" />
23074 + </lnTo>
23075 + <arcTo wR="ch4" hR="ch4" stAng="cd4" swAng="-10800000" />
23076 + <lnTo>
23077 + <pt x="ch" y="y3" />
23078 + </lnTo>
23079 + <lnTo>
23080 + <pt x="ch" y="ch2" />
23081 + </lnTo>
23082 + <arcTo wR="ch2" hR="ch2" stAng="cd2" swAng="cd4" />
23083 + <lnTo>
23084 + <pt x="x7" y="t" />
23085 + </lnTo>
23086 + <arcTo wR="ch2" hR="ch2" stAng="3cd4" swAng="cd2" />
23087 + <lnTo>
23088 + <pt x="x6" y="ch" />
23089 + </lnTo>
23090 + <lnTo>
23091 + <pt x="x6" y="y4" />
23092 + </lnTo>
23093 + <arcTo wR="ch2" hR="ch2" stAng="0" swAng="cd4" />
23094 + <close />
23095 + <moveTo>
23096 + <pt x="x4" y="ch2" />
23097 + </moveTo>
23098 + <arcTo wR="ch2" hR="ch2" stAng="0" swAng="cd4" />
23099 + <arcTo wR="ch4" hR="ch4" stAng="cd4" swAng="cd2" />
23100 + <close />
23101 + </path>
23102 + <path fill="darkenLess" stroke="false" extrusionOk="false">
23104 + <moveTo>
23105 + <pt x="x4" y="ch2" />
23106 + </moveTo>
23107 + <arcTo wR="ch2" hR="ch2" stAng="0" swAng="cd4" />
23108 + <arcTo wR="ch4" hR="ch4" stAng="cd4" swAng="cd2" />
23109 + <close />
23110 + <moveTo>
23111 + <pt x="ch" y="y4" />
23112 + </moveTo>
23113 + <arcTo wR="ch2" hR="ch2" stAng="0" swAng="3cd4" />
23114 + <arcTo wR="ch4" hR="ch4" stAng="3cd4" swAng="cd2" />
23115 + <close />
23116 + </path>
23117 + <path fill="none" extrusionOk="false">
23119 + <moveTo>
23120 + <pt x="ch" y="y3" />
23121 + </moveTo>
23122 + <lnTo>
23123 + <pt x="ch" y="ch2" />
23124 + </lnTo>
23125 + <arcTo wR="ch2" hR="ch2" stAng="cd2" swAng="cd4" />
23126 + <lnTo>
23127 + <pt x="x7" y="t" />
23128 + </lnTo>
23129 + <arcTo wR="ch2" hR="ch2" stAng="3cd4" swAng="cd2" />
23130 + <lnTo>
23131 + <pt x="x6" y="ch" />
23132 + </lnTo>
23133 + <lnTo>
23134 + <pt x="x6" y="y4" />
23135 + </lnTo>
23136 + <arcTo wR="ch2" hR="ch2" stAng="0" swAng="cd4" />
23137 + <lnTo>
23138 + <pt x="ch2" y="b" />
23139 + </lnTo>
23140 + <arcTo wR="ch2" hR="ch2" stAng="cd4" swAng="cd2" />
23141 + <close />
23142 + <moveTo>
23143 + <pt x="x3" y="t" />
23144 + </moveTo>
23145 + <arcTo wR="ch2" hR="ch2" stAng="3cd4" swAng="cd2" />
23146 + <arcTo wR="ch4" hR="ch4" stAng="cd4" swAng="cd2" />
23147 + <lnTo>
23148 + <pt x="x4" y="ch2" />
23149 + </lnTo>
23150 + <moveTo>
23151 + <pt x="x6" y="ch" />
23152 + </moveTo>
23153 + <lnTo>
23154 + <pt x="x3" y="ch" />
23155 + </lnTo>
23156 + <moveTo>
23157 + <pt x="ch2" y="y3" />
23158 + </moveTo>
23159 + <arcTo wR="ch4" hR="ch4" stAng="3cd4" swAng="cd2" />
23160 + <lnTo>
23161 + <pt x="ch" y="y4" />
23162 + </lnTo>
23163 + <moveTo>
23164 + <pt x="ch2" y="b" />
23165 + </moveTo>
23166 + <arcTo wR="ch2" hR="ch2" stAng="cd4" swAng="-5400000" />
23167 + <lnTo>
23168 + <pt x="ch" y="y3" />
23169 + </lnTo>
23170 + </path>
23171 + </pathLst>
23173 + </verticalScroll>
23174 + <wave>
23176 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23177 + <gd name="adj1" fmla="val 12500" />
23179 + <gd name="adj2" fmla="val 0" />
23181 + </avLst>
23183 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23184 + <gd name="a1" fmla="pin 0 adj1 20000" />
23185 + <gd name="a2" fmla="pin -10000 adj2 10000" />
23186 + <gd name="y1" fmla="*/ h a1 100000" />
23188 + <gd name="dy2" fmla="*/ y1 10 3" />
23189 + <gd name="y2" fmla="+- y1 0 dy2" />
23191 + <gd name="y3" fmla="+- y1 dy2 0" />
23193 + <gd name="y4" fmla="+- b 0 y1" />
23195 + <gd name="y5" fmla="+- y4 0 dy2" />
23197 + <gd name="y6" fmla="+- y4 dy2 0" />
23199 + <gd name="dx1" fmla="*/ w a2 100000" />
23201 + <gd name="of2" fmla="*/ w a2 50000" />
23203 + <gd name="x1" fmla="abs dx1" />
23205 + <gd name="dx2" fmla="?: of2 0 of2" />
23206 + <gd name="x2" fmla="+- l 0 dx2" />
23208 + <gd name="dx5" fmla="?: of2 of2 0" />
23209 + <gd name="x5" fmla="+- r 0 dx5" />
23211 + <gd name="dx3" fmla="+/ dx2 x5 3" />
23213 + <gd name="x3" fmla="+- x2 dx3 0" />
23215 + <gd name="x4" fmla="+/ x3 x5 2" />
23217 + <gd name="x6" fmla="+- l dx5 0" />
23219 + <gd name="x10" fmla="+- r dx2 0" />
23221 + <gd name="x7" fmla="+- x6 dx3 0" />
23223 + <gd name="x8" fmla="+/ x7 x10 2" />
23225 + <gd name="x9" fmla="+- r 0 x1" />
23227 + <gd name="xAdj" fmla="+- hc dx1 0" />
23228 + <gd name="xAdj2" fmla="+- hc 0 dx1" />
23229 + <gd name="il" fmla="max x2 x6" />
23230 + <gd name="ir" fmla="min x5 x10" />
23231 + <gd name="it" fmla="*/ h a1 50000" />
23232 + <gd name="ib" fmla="+- b 0 it" />
23233 + </gdLst>
23235 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23236 + <ahXY gdRefY="adj1" minY="0" maxY="20000">
23237 + <pos x="l" y="y1" />
23238 + </ahXY>
23239 + <ahXY gdRefX="adj2" minX="-10000" maxX="10000">
23240 + <pos x="xAdj" y="b" />
23241 + </ahXY>
23242 + </ahLst>
23244 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23245 + <cxn ang="cd4">
23246 + <pos x="xAdj2" y="y1" />
23247 + </cxn>
23248 + <cxn ang="cd2">
23249 + <pos x="x1" y="vc" />
23250 + </cxn>
23251 + <cxn ang="3cd4">
23252 + <pos x="xAdj" y="y4" />
23253 + </cxn>
23254 + <cxn ang="0">
23255 + <pos x="x9" y="vc" />
23256 + </cxn>
23257 + </cxnLst>
23259 + <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
23261 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23262 + <path>
23263 + <moveTo>
23264 + <pt x="x2" y="y1" />
23265 + </moveTo>
23266 + <cubicBezTo>
23267 + <pt x="x3" y="y2" />
23268 + <pt x="x4" y="y3" />
23269 + <pt x="x5" y="y1" />
23270 + </cubicBezTo>
23271 + <lnTo>
23272 + <pt x="x10" y="y4" />
23273 + </lnTo>
23274 + <cubicBezTo>
23275 + <pt x="x8" y="y6" />
23276 + <pt x="x7" y="y5" />
23277 + <pt x="x6" y="y4" />
23278 + </cubicBezTo>
23279 + <close />
23280 + </path>
23281 + </pathLst>
23283 + </wave>
23284 + <wedgeEllipseCallout>
23285 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23286 + <gd name="adj1" fmla="val -20833" />
23287 + <gd name="adj2" fmla="val 62500" />
23288 + </avLst>
23289 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23290 + <gd name="dxPos" fmla="*/ w adj1 100000" />
23291 + <gd name="dyPos" fmla="*/ h adj2 100000" />
23292 + <gd name="xPos" fmla="+- hc dxPos 0" />
23293 + <gd name="yPos" fmla="+- vc dyPos 0" />
23294 + <gd name="sdx" fmla="*/ dxPos h 1" />
23295 + <gd name="sdy" fmla="*/ dyPos w 1" />
23296 + <gd name="pang" fmla="at2 sdx sdy" />
23297 + <gd name="stAng" fmla="+- pang 660000 0" />
23298 + <gd name="enAng" fmla="+- pang 0 660000" />
23299 + <gd name="dx1" fmla="cos wd2 stAng" />
23300 + <gd name="dy1" fmla="sin hd2 stAng" />
23301 + <gd name="x1" fmla="+- hc dx1 0" />
23302 + <gd name="y1" fmla="+- vc dy1 0" />
23303 + <gd name="dx2" fmla="cos wd2 enAng" />
23304 + <gd name="dy2" fmla="sin hd2 enAng" />
23305 + <gd name="x2" fmla="+- hc dx2 0" />
23306 + <gd name="y2" fmla="+- vc dy2 0" />
23307 + <gd name="stAng1" fmla="at2 dx1 dy1" />
23308 + <gd name="enAng1" fmla="at2 dx2 dy2" />
23309 + <gd name="swAng1" fmla="+- enAng1 0 stAng1" />
23310 + <gd name="swAng2" fmla="+- swAng1 21600000 0" />
23311 + <gd name="swAng" fmla="?: swAng1 swAng1 swAng2" />
23312 + <gd name="idx" fmla="cos wd2 2700000" />
23313 + <gd name="idy" fmla="sin hd2 2700000" />
23314 + <gd name="il" fmla="+- hc 0 idx" />
23315 + <gd name="ir" fmla="+- hc idx 0" />
23316 + <gd name="it" fmla="+- vc 0 idy" />
23317 + <gd name="ib" fmla="+- vc idy 0" />
23318 + </gdLst>
23319 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23320 + <ahXY gdRefX="adj1" minX="-2147483647" maxX="2147483647" gdRefY="adj2" minY="-2147483647" maxY="2147483647">
23321 + <pos x="xPos" y="yPos" />
23322 + </ahXY>
23323 + </ahLst>
23324 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23325 + <cxn ang="3cd4">
23326 + <pos x="hc" y="t" />
23327 + </cxn>
23328 + <cxn ang="3cd4">
23329 + <pos x="il" y="it" />
23330 + </cxn>
23331 + <cxn ang="cd4">
23332 + <pos x="il" y="ib" />
23333 + </cxn>
23334 + <cxn ang="cd4">
23335 + <pos x="hc" y="b" />
23336 + </cxn>
23337 + <cxn ang="cd4">
23338 + <pos x="ir" y="ib" />
23339 + </cxn>
23340 + <cxn ang="0">
23341 + <pos x="r" y="vc" />
23342 + </cxn>
23343 + <cxn ang="3cd4">
23344 + <pos x="ir" y="it" />
23345 + </cxn>
23346 + <cxn ang="pang">
23347 + <pos x="xPos" y="yPos" />
23348 + </cxn>
23349 + </cxnLst>
23350 + <rect l="il" t="it" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
23351 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23352 + <path>
23353 + <moveTo>
23354 + <pt x="xPos" y="yPos" />
23355 + </moveTo>
23356 + <lnTo>
23357 + <pt x="x1" y="y1" />
23358 + </lnTo>
23359 + <arcTo wR="wd2" hR="hd2" stAng="stAng1" swAng="swAng" />
23360 + <close />
23361 + </path>
23362 + </pathLst>
23363 + </wedgeEllipseCallout>
23364 + <wedgeRectCallout>
23366 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23367 + <gd name="adj1" fmla="val -20833" />
23369 + <gd name="adj2" fmla="val 62500" />
23371 + </avLst>
23373 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23374 + <gd name="dxPos" fmla="*/ w adj1 100000" />
23375 + <gd name="dyPos" fmla="*/ h adj2 100000" />
23376 + <gd name="xPos" fmla="+- hc dxPos 0" />
23377 + <gd name="yPos" fmla="+- vc dyPos 0" />
23378 + <gd name="dx" fmla="+- xPos 0 hc" />
23379 + <gd name="dy" fmla="+- yPos 0 vc" />
23380 + <gd name="dq" fmla="*/ dxPos h w" />
23381 + <gd name="ady" fmla="abs dyPos" />
23382 + <gd name="adq" fmla="abs dq" />
23383 + <gd name="dz" fmla="+- ady 0 adq" />
23384 + <gd name="xg1" fmla="?: dxPos 7 2" />
23385 + <gd name="xg2" fmla="?: dxPos 10 5" />
23386 + <gd name="x1" fmla="*/ w xg1 12" />
23387 + <gd name="x2" fmla="*/ w xg2 12" />
23388 + <gd name="yg1" fmla="?: dyPos 7 2" />
23389 + <gd name="yg2" fmla="?: dyPos 10 5" />
23390 + <gd name="y1" fmla="*/ h yg1 12" />
23391 + <gd name="y2" fmla="*/ h yg2 12" />
23392 + <gd name="t1" fmla="?: dxPos l xPos" />
23393 + <gd name="xl" fmla="?: dz l t1" />
23394 + <gd name="t2" fmla="?: dyPos x1 xPos" />
23395 + <gd name="xt" fmla="?: dz t2 x1" />
23396 + <gd name="t3" fmla="?: dxPos xPos r" />
23397 + <gd name="xr" fmla="?: dz r t3" />
23398 + <gd name="t4" fmla="?: dyPos xPos x1" />
23399 + <gd name="xb" fmla="?: dz t4 x1" />
23400 + <gd name="t5" fmla="?: dxPos y1 yPos" />
23401 + <gd name="yl" fmla="?: dz y1 t5" />
23402 + <gd name="t6" fmla="?: dyPos t yPos" />
23403 + <gd name="yt" fmla="?: dz t6 t" />
23404 + <gd name="t7" fmla="?: dxPos yPos y1" />
23405 + <gd name="yr" fmla="?: dz y1 t7" />
23406 + <gd name="t8" fmla="?: dyPos yPos b" />
23407 + <gd name="yb" fmla="?: dz t8 b" />
23408 + </gdLst>
23410 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23411 + <ahXY gdRefX="adj1" minX="-2147483647" maxX="2147483647" gdRefY="adj2" minY="-2147483647" maxY="2147483647">
23412 + <pos x="xPos" y="yPos" />
23413 + </ahXY>
23414 + </ahLst>
23416 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23417 + <cxn ang="3cd4">
23418 + <pos x="hc" y="t" />
23419 + </cxn>
23420 + <cxn ang="cd2">
23421 + <pos x="l" y="vc" />
23422 + </cxn>
23423 + <cxn ang="cd4">
23424 + <pos x="hc" y="b" />
23425 + </cxn>
23426 + <cxn ang="0">
23427 + <pos x="r" y="vc" />
23428 + </cxn>
23429 + <cxn ang="cd4">
23430 + <pos x="xPos" y="yPos" />
23431 + </cxn>
23432 + </cxnLst>
23434 + <rect l="l" t="t" r="r" b="b" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
23436 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23437 + <path>
23438 + <moveTo>
23439 + <pt x="l" y="t" />
23440 + </moveTo>
23441 + <lnTo>
23442 + <pt x="x1" y="t" />
23443 + </lnTo>
23444 + <lnTo>
23445 + <pt x="xt" y="yt" />
23446 + </lnTo>
23447 + <lnTo>
23448 + <pt x="x2" y="t" />
23449 + </lnTo>
23450 + <lnTo>
23451 + <pt x="r" y="t" />
23452 + </lnTo>
23453 + <lnTo>
23454 + <pt x="r" y="y1" />
23455 + </lnTo>
23456 + <lnTo>
23457 + <pt x="xr" y="yr" />
23458 + </lnTo>
23459 + <lnTo>
23460 + <pt x="r" y="y2" />
23461 + </lnTo>
23462 + <lnTo>
23463 + <pt x="r" y="b" />
23464 + </lnTo>
23465 + <lnTo>
23466 + <pt x="x2" y="b" />
23467 + </lnTo>
23468 + <lnTo>
23469 + <pt x="xb" y="yb" />
23470 + </lnTo>
23471 + <lnTo>
23472 + <pt x="x1" y="b" />
23473 + </lnTo>
23474 + <lnTo>
23475 + <pt x="l" y="b" />
23476 + </lnTo>
23477 + <lnTo>
23478 + <pt x="l" y="y2" />
23479 + </lnTo>
23480 + <lnTo>
23481 + <pt x="xl" y="yl" />
23482 + </lnTo>
23483 + <lnTo>
23484 + <pt x="l" y="y1" />
23485 + </lnTo>
23486 + <close />
23487 + </path>
23488 + </pathLst>
23490 + </wedgeRectCallout>
23491 + <wedgeRoundRectCallout>
23492 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23493 + <gd name="adj1" fmla="val -20833" />
23494 + <gd name="adj2" fmla="val 62500" />
23495 + <gd name="adj3" fmla="val 16667" />
23496 + </avLst>
23497 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23498 + <gd name="dxPos" fmla="*/ w adj1 100000" />
23499 + <gd name="dyPos" fmla="*/ h adj2 100000" />
23500 + <gd name="xPos" fmla="+- hc dxPos 0" />
23501 + <gd name="yPos" fmla="+- vc dyPos 0" />
23502 + <gd name="dq" fmla="*/ dxPos h w" />
23503 + <gd name="ady" fmla="abs dyPos" />
23504 + <gd name="adq" fmla="abs dq" />
23505 + <gd name="dz" fmla="+- ady 0 adq" />
23506 + <gd name="xg1" fmla="?: dxPos 7 2" />
23507 + <gd name="xg2" fmla="?: dxPos 10 5" />
23508 + <gd name="x1" fmla="*/ w xg1 12" />
23509 + <gd name="x2" fmla="*/ w xg2 12" />
23510 + <gd name="yg1" fmla="?: dyPos 7 2" />
23511 + <gd name="yg2" fmla="?: dyPos 10 5" />
23512 + <gd name="y1" fmla="*/ h yg1 12" />
23513 + <gd name="y2" fmla="*/ h yg2 12" />
23514 + <gd name="t1" fmla="?: dxPos l xPos" />
23515 + <gd name="xl" fmla="?: dz l t1" />
23516 + <gd name="t2" fmla="?: dyPos x1 xPos" />
23517 + <gd name="xt" fmla="?: dz t2 x1" />
23518 + <gd name="t3" fmla="?: dxPos xPos r" />
23519 + <gd name="xr" fmla="?: dz r t3" />
23520 + <gd name="t4" fmla="?: dyPos xPos x1" />
23521 + <gd name="xb" fmla="?: dz t4 x1" />
23522 + <gd name="t5" fmla="?: dxPos y1 yPos" />
23523 + <gd name="yl" fmla="?: dz y1 t5" />
23524 + <gd name="t6" fmla="?: dyPos t yPos" />
23525 + <gd name="yt" fmla="?: dz t6 t" />
23526 + <gd name="t7" fmla="?: dxPos yPos y1" />
23527 + <gd name="yr" fmla="?: dz y1 t7" />
23528 + <gd name="t8" fmla="?: dyPos yPos b" />
23529 + <gd name="yb" fmla="?: dz t8 b" />
23530 + <gd name="u1" fmla="*/ ss adj3 100000" />
23531 + <gd name="u2" fmla="+- r 0 u1" />
23532 + <gd name="v2" fmla="+- b 0 u1" />
23533 + <gd name="il" fmla="*/ u1 29289 100000" />
23534 + <gd name="ir" fmla="+- r 0 il" />
23535 + <gd name="ib" fmla="+- b 0 il" />
23536 + </gdLst>
23537 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23538 + <ahXY gdRefX="adj1" minX="-2147483647" maxX="2147483647" gdRefY="adj2" minY="-2147483647" maxY="2147483647">
23539 + <pos x="xPos" y="yPos" />
23540 + </ahXY>
23541 + </ahLst>
23542 + <cxnLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23543 + <cxn ang="3cd4">
23544 + <pos x="hc" y="t" />
23545 + </cxn>
23546 + <cxn ang="cd2">
23547 + <pos x="l" y="vc" />
23548 + </cxn>
23549 + <cxn ang="cd4">
23550 + <pos x="hc" y="b" />
23551 + </cxn>
23552 + <cxn ang="0">
23553 + <pos x="r" y="vc" />
23554 + </cxn>
23555 + <cxn ang="cd4">
23556 + <pos x="xPos" y="yPos" />
23557 + </cxn>
23558 + </cxnLst>
23559 + <rect l="il" t="il" r="ir" b="ib" xmlns="http://schemas.openxmlformats.org/drawingml/2006/main" />
23560 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23561 + <path>
23562 + <moveTo>
23563 + <pt x="l" y="u1" />
23564 + </moveTo>
23565 + <arcTo wR="u1" hR="u1" stAng="cd2" swAng="cd4" />
23566 + <lnTo>
23567 + <pt x="x1" y="t" />
23568 + </lnTo>
23569 + <lnTo>
23570 + <pt x="xt" y="yt" />
23571 + </lnTo>
23572 + <lnTo>
23573 + <pt x="x2" y="t" />
23574 + </lnTo>
23575 + <lnTo>
23576 + <pt x="u2" y="t" />
23577 + </lnTo>
23578 + <arcTo wR="u1" hR="u1" stAng="3cd4" swAng="cd4" />
23579 + <lnTo>
23580 + <pt x="r" y="y1" />
23581 + </lnTo>
23582 + <lnTo>
23583 + <pt x="xr" y="yr" />
23584 + </lnTo>
23585 + <lnTo>
23586 + <pt x="r" y="y2" />
23587 + </lnTo>
23588 + <lnTo>
23589 + <pt x="r" y="v2" />
23590 + </lnTo>
23591 + <arcTo wR="u1" hR="u1" stAng="0" swAng="cd4" />
23592 + <lnTo>
23593 + <pt x="x2" y="b" />
23594 + </lnTo>
23595 + <lnTo>
23596 + <pt x="xb" y="yb" />
23597 + </lnTo>
23598 + <lnTo>
23599 + <pt x="x1" y="b" />
23600 + </lnTo>
23601 + <lnTo>
23602 + <pt x="u1" y="b" />
23603 + </lnTo>
23604 + <arcTo wR="u1" hR="u1" stAng="cd4" swAng="cd4" />
23605 + <lnTo>
23606 + <pt x="l" y="y2" />
23607 + </lnTo>
23608 + <lnTo>
23609 + <pt x="xl" y="yl" />
23610 + </lnTo>
23611 + <lnTo>
23612 + <pt x="l" y="y1" />
23613 + </lnTo>
23614 + <close />
23615 + </path>
23616 + </pathLst>
23617 + </wedgeRoundRectCallout>
23618 +</presetShapeDefinitons>
23619 diff --git oox/source/export/presetTextWarpDefinitions.xml oox/source/export/presetTextWarpDefinitions.xml
23620 new file mode 100644
23621 index 0000000..c701c8f
23622 --- /dev/null
23623 +++ oox/source/export/presetTextWarpDefinitions.xml
23624 @@ -0,0 +1,1885 @@
23625 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
23626 +<presetTextWarpDefinitions>
23627 + <textArchDown>
23628 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23629 + <gd name="adj" fmla="val 0"/>
23630 + </avLst>
23631 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23632 + <gd name="adval" fmla="pin 0 adj 21599999"/>
23633 + <gd name="v1" fmla="+- 10800000 0 adval"/>
23634 + <gd name="v2" fmla="+- 32400000 0 adval"/>
23635 + <gd name="nv1" fmla="+- 0 0 v1"/>
23636 + <gd name="stAng" fmla="?: nv1 v2 v1"/>
23637 + <gd name="w1" fmla="+- 5400000 0 adval"/>
23638 + <gd name="w2" fmla="+- 16200000 0 adval"/>
23639 + <gd name="d1" fmla="+- adval 0 stAng"/>
23640 + <gd name="d2" fmla="+- d1 0 21600000"/>
23641 + <gd name="v3" fmla="+- 0 0 10800000"/>
23642 + <gd name="c2" fmla="?: w2 d1 d2"/>
23643 + <gd name="c1" fmla="?: v1 d2 c2"/>
23644 + <gd name="c0" fmla="?: w1 d1 c1"/>
23645 + <gd name="swAng" fmla="?: stAng c0 v3"/>
23646 + <gd name="wt1" fmla="sin wd2 adj"/>
23647 + <gd name="ht1" fmla="cos hd2 adj"/>
23648 + <gd name="dx1" fmla="cat2 wd2 ht1 wt1"/>
23649 + <gd name="dy1" fmla="sat2 hd2 ht1 wt1"/>
23650 + <gd name="x1" fmla="+- hc dx1 0"/>
23651 + <gd name="y1" fmla="+- vc dy1 0"/>
23652 + <gd name="wt2" fmla="sin wd2 stAng"/>
23653 + <gd name="ht2" fmla="cos hd2 stAng"/>
23654 + <gd name="dx2" fmla="cat2 wd2 ht2 wt2"/>
23655 + <gd name="dy2" fmla="sat2 hd2 ht2 wt2"/>
23656 + <gd name="x2" fmla="+- hc dx2 0"/>
23657 + <gd name="y2" fmla="+- vc dy2 0"/>
23658 + </gdLst>
23659 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23660 + <ahPolar gdRefAng="adj" minAng="0" maxAng="21599999">
23661 + <pos x="x1" y="y1"/>
23662 + </ahPolar>
23663 + </ahLst>
23664 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23665 + <path>
23666 + <moveTo>
23667 + <pt x="x2" y="y2"/>
23668 + </moveTo>
23669 + <arcTo wR="wd2" hR="hd2" stAng="stAng" swAng="swAng"/>
23670 + </path>
23671 + </pathLst>
23672 + </textArchDown>
23673 + <textArchDownPour>
23674 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23675 + <gd name="adj1" fmla="val 0"/>
23676 + <gd name="adj2" fmla="val 25000"/>
23677 + </avLst>
23678 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23679 + <gd name="adval" fmla="pin 0 adj1 21599999"/>
23680 + <gd name="v1" fmla="+- 10800000 0 adval"/>
23681 + <gd name="v2" fmla="+- 32400000 0 adval"/>
23682 + <gd name="nv1" fmla="+- 0 0 v1"/>
23683 + <gd name="stAng" fmla="?: nv1 v2 v1"/>
23684 + <gd name="w1" fmla="+- 5400000 0 adval"/>
23685 + <gd name="w2" fmla="+- 16200000 0 adval"/>
23686 + <gd name="d1" fmla="+- adval 0 stAng"/>
23687 + <gd name="d2" fmla="+- d1 0 21600000"/>
23688 + <gd name="v3" fmla="+- 0 0 10800000"/>
23689 + <gd name="c2" fmla="?: w2 d1 d2"/>
23690 + <gd name="c1" fmla="?: v1 d2 c2"/>
23691 + <gd name="c0" fmla="?: w1 d1 c1"/>
23692 + <gd name="swAng" fmla="?: stAng c0 v3"/>
23693 + <gd name="wt1" fmla="sin wd2 stAng"/>
23694 + <gd name="ht1" fmla="cos hd2 stAng"/>
23695 + <gd name="dx1" fmla="cat2 wd2 ht1 wt1"/>
23696 + <gd name="dy1" fmla="sat2 hd2 ht1 wt1"/>
23697 + <gd name="x1" fmla="+- hc dx1 0"/>
23698 + <gd name="y1" fmla="+- vc dy1 0"/>
23699 + <gd name="adval2" fmla="pin 0 adj2 99000"/>
23700 + <gd name="ratio" fmla="*/ adval2 1 100000"/>
23701 + <gd name="iwd2" fmla="*/ wd2 ratio 1"/>
23702 + <gd name="ihd2" fmla="*/ hd2 ratio 1"/>
23703 + <gd name="wt2" fmla="sin iwd2 adval"/>
23704 + <gd name="ht2" fmla="cos ihd2 adval"/>
23705 + <gd name="dx2" fmla="cat2 iwd2 ht2 wt2"/>
23706 + <gd name="dy2" fmla="sat2 ihd2 ht2 wt2"/>
23707 + <gd name="x2" fmla="+- hc dx2 0"/>
23708 + <gd name="y2" fmla="+- vc dy2 0"/>
23709 + <gd name="wt3" fmla="sin iwd2 stAng"/>
23710 + <gd name="ht3" fmla="cos ihd2 stAng"/>
23711 + <gd name="dx3" fmla="cat2 iwd2 ht3 wt3"/>
23712 + <gd name="dy3" fmla="sat2 ihd2 ht3 wt3"/>
23713 + <gd name="x3" fmla="+- hc dx3 0"/>
23714 + <gd name="y3" fmla="+- vc dy3 0"/>
23715 + </gdLst>
23716 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23717 + <ahPolar gdRefR="adj2" minR="0" maxR="100000" gdRefAng="adj1" minAng="0" maxAng="21599999">
23718 + <pos x="x2" y="y2"/>
23719 + </ahPolar>
23720 + </ahLst>
23721 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23722 + <path>
23723 + <moveTo>
23724 + <pt x="x3" y="y3"/>
23725 + </moveTo>
23726 + <arcTo wR="iwd2" hR="ihd2" stAng="stAng" swAng="swAng"/>
23727 + </path>
23728 + <path>
23729 + <moveTo>
23730 + <pt x="x1" y="y1"/>
23731 + </moveTo>
23732 + <arcTo wR="wd2" hR="hd2" stAng="stAng" swAng="swAng"/>
23733 + </path>
23734 + </pathLst>
23735 + </textArchDownPour>
23736 + <textArchUp>
23737 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23738 + <gd name="adj" fmla="val cd2"/>
23739 + </avLst>
23740 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23741 + <gd name="adval" fmla="pin 0 adj 21599999"/>
23742 + <gd name="v1" fmla="+- 10800000 0 adval"/>
23743 + <gd name="v2" fmla="+- 32400000 0 adval"/>
23744 + <gd name="end" fmla="?: v1 v1 v2"/>
23745 + <gd name="w1" fmla="+- 5400000 0 adval"/>
23746 + <gd name="w2" fmla="+- 16200000 0 adval"/>
23747 + <gd name="d1" fmla="+- end 0 adval"/>
23748 + <gd name="d2" fmla="+- 21600000 d1 0"/>
23749 + <gd name="c2" fmla="?: w2 d1 d2"/>
23750 + <gd name="c1" fmla="?: v1 d2 c2"/>
23751 + <gd name="swAng" fmla="?: w1 d1 c1"/>
23752 + <gd name="wt1" fmla="sin wd2 adj"/>
23753 + <gd name="ht1" fmla="cos hd2 adj"/>
23754 + <gd name="dx1" fmla="cat2 wd2 ht1 wt1"/>
23755 + <gd name="dy1" fmla="sat2 hd2 ht1 wt1"/>
23756 + <gd name="x1" fmla="+- hc dx1 0"/>
23757 + <gd name="y1" fmla="+- vc dy1 0"/>
23758 + </gdLst>
23759 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23760 + <ahPolar gdRefAng="adj" minAng="0" maxAng="21599999">
23761 + <pos x="x1" y="y1"/>
23762 + </ahPolar>
23763 + </ahLst>
23764 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23765 + <path>
23766 + <moveTo>
23767 + <pt x="x1" y="y1"/>
23768 + </moveTo>
23769 + <arcTo wR="wd2" hR="hd2" stAng="adval" swAng="swAng"/>
23770 + </path>
23771 + </pathLst>
23772 + </textArchUp>
23773 + <textArchUpPour>
23774 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23775 + <gd name="adj1" fmla="val cd2"/>
23776 + <gd name="adj2" fmla="val 50000"/>
23777 + </avLst>
23778 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23779 + <gd name="adval" fmla="pin 0 adj1 21599999"/>
23780 + <gd name="v1" fmla="+- 10800000 0 adval"/>
23781 + <gd name="v2" fmla="+- 32400000 0 adval"/>
23782 + <gd name="end" fmla="?: v1 v1 v2"/>
23783 + <gd name="w1" fmla="+- 5400000 0 adval"/>
23784 + <gd name="w2" fmla="+- 16200000 0 adval"/>
23785 + <gd name="d1" fmla="+- end 0 adval"/>
23786 + <gd name="d2" fmla="+- 21600000 d1 0"/>
23787 + <gd name="c2" fmla="?: w2 d1 d2"/>
23788 + <gd name="c1" fmla="?: v1 d2 c2"/>
23789 + <gd name="swAng" fmla="?: w1 d1 c1"/>
23790 + <gd name="wt1" fmla="sin wd2 adval"/>
23791 + <gd name="ht1" fmla="cos hd2 adval"/>
23792 + <gd name="dx1" fmla="cat2 wd2 ht1 wt1"/>
23793 + <gd name="dy1" fmla="sat2 hd2 ht1 wt1"/>
23794 + <gd name="x1" fmla="+- hc dx1 0"/>
23795 + <gd name="y1" fmla="+- vc dy1 0"/>
23796 + <gd name="adval2" fmla="pin 0 adj2 99000"/>
23797 + <gd name="ratio" fmla="*/ adval2 1 100000"/>
23798 + <gd name="iwd2" fmla="*/ wd2 ratio 1"/>
23799 + <gd name="ihd2" fmla="*/ hd2 ratio 1"/>
23800 + <gd name="wt2" fmla="sin iwd2 adval"/>
23801 + <gd name="ht2" fmla="cos ihd2 adval"/>
23802 + <gd name="dx2" fmla="cat2 iwd2 ht2 wt2"/>
23803 + <gd name="dy2" fmla="sat2 ihd2 ht2 wt2"/>
23804 + <gd name="x2" fmla="+- hc dx2 0"/>
23805 + <gd name="y2" fmla="+- vc dy2 0"/>
23806 + </gdLst>
23807 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23808 + <ahPolar gdRefR="adj2" minR="0" maxR="100000" gdRefAng="adj1" minAng="0" maxAng="21599999">
23809 + <pos x="x2" y="y2"/>
23810 + </ahPolar>
23811 + </ahLst>
23812 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23813 + <path>
23814 + <moveTo>
23815 + <pt x="x1" y="y1"/>
23816 + </moveTo>
23817 + <arcTo wR="wd2" hR="hd2" stAng="adval" swAng="swAng"/>
23818 + </path>
23819 + <path>
23820 + <moveTo>
23821 + <pt x="x2" y="y2"/>
23822 + </moveTo>
23823 + <arcTo wR="iwd2" hR="ihd2" stAng="adval" swAng="swAng"/>
23824 + </path>
23825 + </pathLst>
23826 + </textArchUpPour>
23827 + <textButton>
23828 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23829 + <gd name="adj" fmla="val 10800000"/>
23830 + </avLst>
23831 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23832 + <gd name="adval" fmla="pin 0 adj 21599999"/>
23833 + <gd name="bot" fmla="+- 5400000 0 adval"/>
23834 + <gd name="lef" fmla="+- 10800000 0 adval"/>
23835 + <gd name="top" fmla="+- 16200000 0 adval"/>
23836 + <gd name="rig" fmla="+- 21600000 0 adval"/>
23837 + <gd name="c3" fmla="?: top adval 0"/>
23838 + <gd name="c2" fmla="?: lef 10800000 c3"/>
23839 + <gd name="c1" fmla="?: bot rig c2"/>
23840 + <gd name="stAng" fmla="?: adval c1 0"/>
23841 + <gd name="w1" fmla="+- 21600000 0 stAng"/>
23842 + <gd name="stAngB" fmla="?: stAng w1 0"/>
23843 + <gd name="td1" fmla="*/ bot 2 1"/>
23844 + <gd name="td2" fmla="*/ top 2 1"/>
23845 + <gd name="ntd2" fmla="+- 0 0 td2"/>
23846 + <gd name="w2" fmla="+- 0 0 10800000"/>
23847 + <gd name="c6" fmla="?: top ntd2 w2"/>
23848 + <gd name="c5" fmla="?: lef 10800000 c6"/>
23849 + <gd name="c4" fmla="?: bot td1 c5"/>
23850 + <gd name="v1" fmla="?: adval c4 10800000"/>
23851 + <gd name="swAngT" fmla="+- 0 0 v1"/>
23852 + <gd name="stT" fmla="?: lef stAngB stAng"/>
23853 + <gd name="stB" fmla="?: lef stAng stAngB"/>
23854 + <gd name="swT" fmla="?: lef v1 swAngT"/>
23855 + <gd name="swB" fmla="?: lef swAngT v1"/>
23856 + <gd name="wt1" fmla="sin wd2 stT"/>
23857 + <gd name="ht1" fmla="cos hd2 stT"/>
23858 + <gd name="dx1" fmla="cat2 wd2 ht1 wt1"/>
23859 + <gd name="dy1" fmla="sat2 hd2 ht1 wt1"/>
23860 + <gd name="x1" fmla="+- hc dx1 0"/>
23861 + <gd name="y1" fmla="+- vc dy1 0"/>
23862 + <gd name="wt2" fmla="sin wd2 stB"/>
23863 + <gd name="ht2" fmla="cos hd2 stB"/>
23864 + <gd name="dx2" fmla="cat2 wd2 ht2 wt2"/>
23865 + <gd name="dy2" fmla="sat2 hd2 ht2 wt2"/>
23866 + <gd name="x2" fmla="+- hc dx2 0"/>
23867 + <gd name="y2" fmla="+- vc dy2 0"/>
23868 + <gd name="wt3" fmla="sin wd2 adj"/>
23869 + <gd name="ht3" fmla="cos hd2 adj"/>
23870 + <gd name="dx3" fmla="cat2 wd2 ht3 wt3"/>
23871 + <gd name="dy3" fmla="sat2 hd2 ht3 wt3"/>
23872 + <gd name="x3" fmla="+- hc dx3 0"/>
23873 + <gd name="y3" fmla="+- vc dy3 0"/>
23874 + </gdLst>
23875 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23876 + <ahPolar gdRefAng="adj" minAng="0" maxAng="21599999">
23877 + <pos x="x3" y="y3"/>
23878 + </ahPolar>
23879 + </ahLst>
23880 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23881 + <path>
23882 + <moveTo>
23883 + <pt x="x1" y="y1"/>
23884 + </moveTo>
23885 + <arcTo wR="wd2" hR="hd2" stAng="stT" swAng="swT"/>
23886 + </path>
23887 + <path>
23888 + <moveTo>
23889 + <pt x="l" y="vc"/>
23890 + </moveTo>
23891 + <lnTo>
23892 + <pt x="r" y="vc"/>
23893 + </lnTo>
23894 + </path>
23895 + <path>
23896 + <moveTo>
23897 + <pt x="x2" y="y2"/>
23898 + </moveTo>
23899 + <arcTo wR="wd2" hR="hd2" stAng="stB" swAng="swB"/>
23900 + </path>
23901 + </pathLst>
23902 + </textButton>
23903 + <textButtonPour>
23904 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23905 + <gd name="adj1" fmla="val cd2"/>
23906 + <gd name="adj2" fmla="val 50000"/>
23907 + </avLst>
23908 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23909 + <gd name="adval" fmla="pin 0 adj1 21599999"/>
23910 + <gd name="bot" fmla="+- 5400000 0 adval"/>
23911 + <gd name="lef" fmla="+- 10800000 0 adval"/>
23912 + <gd name="top" fmla="+- 16200000 0 adval"/>
23913 + <gd name="rig" fmla="+- 21600000 0 adval"/>
23914 + <gd name="c3" fmla="?: top adval 0"/>
23915 + <gd name="c2" fmla="?: lef 10800000 c3"/>
23916 + <gd name="c1" fmla="?: bot rig c2"/>
23917 + <gd name="stAng" fmla="?: adval c1 0"/>
23918 + <gd name="w1" fmla="+- 21600000 0 stAng"/>
23919 + <gd name="stAngB" fmla="?: stAng w1 0"/>
23920 + <gd name="td1" fmla="*/ bot 2 1"/>
23921 + <gd name="td2" fmla="*/ top 2 1"/>
23922 + <gd name="ntd2" fmla="+- 0 0 td2"/>
23923 + <gd name="w2" fmla="+- 0 0 10800000"/>
23924 + <gd name="c6" fmla="?: top ntd2 w2"/>
23925 + <gd name="c5" fmla="?: lef 10800000 c6"/>
23926 + <gd name="c4" fmla="?: bot td1 c5"/>
23927 + <gd name="v1" fmla="?: adval c4 10800000"/>
23928 + <gd name="swAngT" fmla="+- 0 0 v1"/>
23929 + <gd name="stT" fmla="?: lef stAngB stAng"/>
23930 + <gd name="stB" fmla="?: lef stAng stAngB"/>
23931 + <gd name="swT" fmla="?: lef v1 swAngT"/>
23932 + <gd name="swB" fmla="?: lef swAngT v1"/>
23933 + <gd name="wt1" fmla="sin wd2 stT"/>
23934 + <gd name="ht1" fmla="cos hd2 stT"/>
23935 + <gd name="dx1" fmla="cat2 wd2 ht1 wt1"/>
23936 + <gd name="dy1" fmla="sat2 hd2 ht1 wt1"/>
23937 + <gd name="x1" fmla="+- hc dx1 0"/>
23938 + <gd name="y1" fmla="+- vc dy1 0"/>
23939 + <gd name="wt6" fmla="sin wd2 stB"/>
23940 + <gd name="ht6" fmla="cos hd2 stB"/>
23941 + <gd name="dx6" fmla="cat2 wd2 ht6 wt6"/>
23942 + <gd name="dy6" fmla="sat2 hd2 ht6 wt6"/>
23943 + <gd name="x6" fmla="+- hc dx6 0"/>
23944 + <gd name="y6" fmla="+- vc dy6 0"/>
23945 + <gd name="adval2" fmla="pin 40000 adj2 99000"/>
23946 + <gd name="ratio" fmla="*/ adval2 1 100000"/>
23947 + <gd name="iwd2" fmla="*/ wd2 ratio 1"/>
23948 + <gd name="ihd2" fmla="*/ hd2 ratio 1"/>
23949 + <gd name="wt2" fmla="sin iwd2 stT"/>
23950 + <gd name="ht2" fmla="cos ihd2 stT"/>
23951 + <gd name="dx2" fmla="cat2 iwd2 ht2 wt2"/>
23952 + <gd name="dy2" fmla="sat2 ihd2 ht2 wt2"/>
23953 + <gd name="x2" fmla="+- hc dx2 0"/>
23954 + <gd name="y2" fmla="+- vc dy2 0"/>
23955 + <gd name="wt5" fmla="sin iwd2 stB"/>
23956 + <gd name="ht5" fmla="cos ihd2 stB"/>
23957 + <gd name="dx5" fmla="cat2 iwd2 ht5 wt5"/>
23958 + <gd name="dy5" fmla="sat2 ihd2 ht5 wt5"/>
23959 + <gd name="x5" fmla="+- hc dx5 0"/>
23960 + <gd name="y5" fmla="+- vc dy5 0"/>
23961 + <gd name="d1" fmla="+- hd2 0 ihd2"/>
23962 + <gd name="d12" fmla="*/ d1 1 2"/>
23963 + <gd name="yu" fmla="+- vc 0 d12"/>
23964 + <gd name="yd" fmla="+- vc d12 0"/>
23965 + <gd name="v1" fmla="*/ d12 d12 1"/>
23966 + <gd name="v2" fmla="*/ ihd2 ihd2 1"/>
23967 + <gd name="v3" fmla="*/ v1 1 v2"/>
23968 + <gd name="v4" fmla="+- 1 0 v3"/>
23969 + <gd name="v5" fmla="*/ iwd2 iwd2 1"/>
23970 + <gd name="v6" fmla="*/ v4 v5 1"/>
23971 + <gd name="v7" fmla="sqrt v6"/>
23972 + <gd name="xl" fmla="+- hc 0 v7"/>
23973 + <gd name="xr" fmla="+- hc v7 0"/>
23974 + <gd name="wtadj" fmla="sin iwd2 adj1"/>
23975 + <gd name="htadj" fmla="cos ihd2 adj1"/>
23976 + <gd name="dxadj" fmla="cat2 iwd2 htadj wtadj"/>
23977 + <gd name="dyadj" fmla="sat2 ihd2 htadj wtadj"/>
23978 + <gd name="xadj" fmla="+- hc dxadj 0"/>
23979 + <gd name="yadj" fmla="+- vc dyadj 0"/>
23980 + </gdLst>
23981 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23982 + <ahPolar gdRefR="adj2" minR="0" maxR="100000" gdRefAng="adj1" minAng="0" maxAng="21599999">
23983 + <pos x="xadj" y="yadj"/>
23984 + </ahPolar>
23985 + </ahLst>
23986 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
23987 + <path>
23988 + <moveTo>
23989 + <pt x="x1" y="y1"/>
23990 + </moveTo>
23991 + <arcTo wR="wd2" hR="hd2" stAng="stT" swAng="swT"/>
23992 + </path>
23993 + <path>
23994 + <moveTo>
23995 + <pt x="x2" y="y2"/>
23996 + </moveTo>
23997 + <arcTo wR="iwd2" hR="ihd2" stAng="stT" swAng="swT"/>
23998 + </path>
23999 + <path>
24000 + <moveTo>
24001 + <pt x="xl" y="yu"/>
24002 + </moveTo>
24003 + <lnTo>
24004 + <pt x="xr" y="yu"/>
24005 + </lnTo>
24006 + </path>
24007 + <path>
24008 + <moveTo>
24009 + <pt x="xl" y="yd"/>
24010 + </moveTo>
24011 + <lnTo>
24012 + <pt x="xr" y="yd"/>
24013 + </lnTo>
24014 + </path>
24015 + <path>
24016 + <moveTo>
24017 + <pt x="x5" y="y5"/>
24018 + </moveTo>
24019 + <arcTo wR="iwd2" hR="ihd2" stAng="stB" swAng="swB"/>
24020 + </path>
24021 + <path>
24022 + <moveTo>
24023 + <pt x="x6" y="y6"/>
24024 + </moveTo>
24025 + <arcTo wR="wd2" hR="hd2" stAng="stB" swAng="swB"/>
24026 + </path>
24027 + </pathLst>
24028 + </textButtonPour>
24029 + <textCanDown>
24030 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24031 + <gd name="adj" fmla="val 14286"/>
24032 + </avLst>
24033 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24034 + <gd name="a" fmla="pin 0 adj 33333"/>
24035 + <gd name="dy" fmla="*/ a h 100000"/>
24036 + <gd name="y0" fmla="+- t dy 0"/>
24037 + <gd name="y1" fmla="+- b 0 dy"/>
24038 + <gd name="ncd2" fmla="*/ cd2 -1 1"/>
24039 + </gdLst>
24040 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24041 + <ahXY gdRefY="adj" minY="0" maxY="33333">
24042 + <pos x="hc" y="y0"/>
24043 + </ahXY>
24044 + </ahLst>
24045 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24046 + <path>
24047 + <moveTo>
24048 + <pt x="l" y="t"/>
24049 + </moveTo>
24050 + <arcTo wR="wd2" hR="dy" stAng="cd2" swAng="ncd2"/>
24051 + </path>
24052 + <path>
24053 + <moveTo>
24054 + <pt x="l" y="y1"/>
24055 + </moveTo>
24056 + <arcTo wR="wd2" hR="dy" stAng="cd2" swAng="ncd2"/>
24057 + </path>
24058 + </pathLst>
24059 + </textCanDown>
24060 + <textCanUp>
24061 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24062 + <gd name="adj" fmla="val 85714"/>
24063 + </avLst>
24064 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24065 + <gd name="a" fmla="pin 66667 adj 100000"/>
24066 + <gd name="dy1" fmla="*/ a h 100000"/>
24067 + <gd name="dy" fmla="+- h 0 dy1"/>
24068 + <gd name="y0" fmla="+- t dy1 0"/>
24069 + <gd name="y1" fmla="+- t dy 0"/>
24070 + </gdLst>
24071 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24072 + <ahXY gdRefY="adj" minY="66667" maxY="100000">
24073 + <pos x="hc" y="y0"/>
24074 + </ahXY>
24075 + </ahLst>
24076 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24077 + <path>
24078 + <moveTo>
24079 + <pt x="l" y="y1"/>
24080 + </moveTo>
24081 + <arcTo wR="wd2" hR="dy" stAng="cd2" swAng="cd2"/>
24082 + </path>
24083 + <path>
24084 + <moveTo>
24085 + <pt x="l" y="b"/>
24086 + </moveTo>
24087 + <arcTo wR="wd2" hR="dy" stAng="cd2" swAng="cd2"/>
24088 + </path>
24089 + </pathLst>
24090 + </textCanUp>
24091 + <textCascadeDown>
24092 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24093 + <gd name="adj" fmla="val 44444"/>
24094 + </avLst>
24095 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24096 + <gd name="a" fmla="pin 28570 adj 100000"/>
24097 + <gd name="dy" fmla="*/ a h 100000"/>
24098 + <gd name="y1" fmla="+- t dy 0"/>
24099 + <gd name="dy2" fmla="+- h 0 dy"/>
24100 + <gd name="dy3" fmla="*/ dy2 1 4"/>
24101 + <gd name="y2" fmla="+- t dy3 0"/>
24102 + </gdLst>
24103 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24104 + <ahXY gdRefY="adj" minY="28570" maxY="100000">
24105 + <pos x="l" y="y1"/>
24106 + </ahXY>
24107 + </ahLst>
24108 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24109 + <path>
24110 + <moveTo>
24111 + <pt x="l" y="t"/>
24112 + </moveTo>
24113 + <lnTo>
24114 + <pt x="r" y="y2"/>
24115 + </lnTo>
24116 + </path>
24117 + <path>
24118 + <moveTo>
24119 + <pt x="l" y="y1"/>
24120 + </moveTo>
24121 + <lnTo>
24122 + <pt x="r" y="b"/>
24123 + </lnTo>
24124 + </path>
24125 + </pathLst>
24126 + </textCascadeDown>
24127 + <textCascadeUp>
24128 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24129 + <gd name="adj" fmla="val 44444"/>
24130 + </avLst>
24131 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24132 + <gd name="a" fmla="pin 28570 adj 100000"/>
24133 + <gd name="dy" fmla="*/ a h 100000"/>
24134 + <gd name="y1" fmla="+- t dy 0"/>
24135 + <gd name="dy2" fmla="+- h 0 dy"/>
24136 + <gd name="dy3" fmla="*/ dy2 1 4"/>
24137 + <gd name="y2" fmla="+- t dy3 0"/>
24138 + </gdLst>
24139 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24140 + <ahXY gdRefY="adj" minY="28570" maxY="100000">
24141 + <pos x="r" y="y1"/>
24142 + </ahXY>
24143 + </ahLst>
24144 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24145 + <path>
24146 + <moveTo>
24147 + <pt x="l" y="y2"/>
24148 + </moveTo>
24149 + <lnTo>
24150 + <pt x="r" y="t"/>
24151 + </lnTo>
24152 + </path>
24153 + <path>
24154 + <moveTo>
24155 + <pt x="l" y="b"/>
24156 + </moveTo>
24157 + <lnTo>
24158 + <pt x="r" y="y1"/>
24159 + </lnTo>
24160 + </path>
24161 + </pathLst>
24162 + </textCascadeUp>
24163 + <textChevron>
24164 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24165 + <gd name="adj" fmla="val 25000"/>
24166 + </avLst>
24167 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24168 + <gd name="a" fmla="pin 0 adj 50000"/>
24169 + <gd name="y" fmla="*/ a h 100000"/>
24170 + <gd name="y1" fmla="+- t b y"/>
24171 + </gdLst>
24172 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24173 + <ahXY gdRefY="adj" minY="0" maxY="50000">
24174 + <pos x="l" y="y"/>
24175 + </ahXY>
24176 + </ahLst>
24177 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24178 + <path>
24179 + <moveTo>
24180 + <pt x="l" y="y"/>
24181 + </moveTo>
24182 + <lnTo>
24183 + <pt x="hc" y="t"/>
24184 + </lnTo>
24185 + <lnTo>
24186 + <pt x="r" y="y"/>
24187 + </lnTo>
24188 + </path>
24189 + <path>
24190 + <moveTo>
24191 + <pt x="l" y="b"/>
24192 + </moveTo>
24193 + <lnTo>
24194 + <pt x="hc" y="y1"/>
24195 + </lnTo>
24196 + <lnTo>
24197 + <pt x="r" y="b"/>
24198 + </lnTo>
24199 + </path>
24200 + </pathLst>
24201 + </textChevron>
24202 + <textChevronInverted>
24203 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24204 + <gd name="adj" fmla="val 75000"/>
24205 + </avLst>
24206 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24207 + <gd name="a" fmla="pin 50000 adj 100000"/>
24208 + <gd name="y" fmla="*/ a h 100000"/>
24209 + <gd name="y1" fmla="+- b 0 y"/>
24210 + </gdLst>
24211 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24212 + <ahXY gdRefY="adj" minY="50000" maxY="100000">
24213 + <pos x="l" y="y"/>
24214 + </ahXY>
24215 + </ahLst>
24216 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24217 + <path>
24218 + <moveTo>
24219 + <pt x="l" y="t"/>
24220 + </moveTo>
24221 + <lnTo>
24222 + <pt x="hc" y="y1"/>
24223 + </lnTo>
24224 + <lnTo>
24225 + <pt x="r" y="t"/>
24226 + </lnTo>
24227 + </path>
24228 + <path>
24229 + <moveTo>
24230 + <pt x="l" y="y"/>
24231 + </moveTo>
24232 + <lnTo>
24233 + <pt x="hc" y="b"/>
24234 + </lnTo>
24235 + <lnTo>
24236 + <pt x="r" y="y"/>
24237 + </lnTo>
24238 + </path>
24239 + </pathLst>
24240 + </textChevronInverted>
24241 + <textCircle>
24242 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24243 + <gd name="adj" fmla="val 10800000"/>
24244 + </avLst>
24245 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24246 + <gd name="adval" fmla="pin 0 adj 21599999"/>
24247 + <gd name="d0" fmla="+- adval 0 10800000"/>
24248 + <gd name="d1" fmla="+- 10800000 0 adval"/>
24249 + <gd name="d2" fmla="+- 21600000 0 adval"/>
24250 + <gd name="d3" fmla="?: d1 d1 10799999"/>
24251 + <gd name="d4" fmla="?: d0 d2 d3"/>
24252 + <gd name="swAng" fmla="*/ d4 2 1"/>
24253 + <gd name="wt1" fmla="sin wd2 adj"/>
24254 + <gd name="ht1" fmla="cos hd2 adj"/>
24255 + <gd name="dx1" fmla="cat2 wd2 ht1 wt1"/>
24256 + <gd name="dy1" fmla="sat2 hd2 ht1 wt1"/>
24257 + <gd name="x1" fmla="+- hc dx1 0"/>
24258 + <gd name="y1" fmla="+- vc dy1 0"/>
24259 + </gdLst>
24260 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24261 + <ahPolar gdRefAng="adj" minAng="0" maxAng="21599999">
24262 + <pos x="x1" y="y1"/>
24263 + </ahPolar>
24264 + </ahLst>
24265 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24266 + <path>
24267 + <moveTo>
24268 + <pt x="x1" y="y1"/>
24269 + </moveTo>
24270 + <arcTo wR="wd2" hR="hd2" stAng="adval" swAng="swAng"/>
24271 + </path>
24272 + </pathLst>
24273 + </textCircle>
24274 + <textCirclePour>
24275 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24276 + <gd name="adj1" fmla="val cd2"/>
24277 + <gd name="adj2" fmla="val 50000"/>
24278 + </avLst>
24279 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24280 + <gd name="adval" fmla="pin 0 adj1 21599999"/>
24281 + <gd name="d0" fmla="+- adval 0 10800000"/>
24282 + <gd name="d1" fmla="+- 10800000 0 adval"/>
24283 + <gd name="d2" fmla="+- 21600000 0 adval"/>
24284 + <gd name="d3" fmla="?: d1 d1 10799999"/>
24285 + <gd name="d4" fmla="?: d0 d2 d3"/>
24286 + <gd name="swAng" fmla="*/ d4 2 1"/>
24287 + <gd name="wt1" fmla="sin wd2 adval"/>
24288 + <gd name="ht1" fmla="cos hd2 adval"/>
24289 + <gd name="dx1" fmla="cat2 wd2 ht1 wt1"/>
24290 + <gd name="dy1" fmla="sat2 hd2 ht1 wt1"/>
24291 + <gd name="x1" fmla="+- hc dx1 0"/>
24292 + <gd name="y1" fmla="+- vc dy1 0"/>
24293 + <gd name="adval2" fmla="pin 0 adj2 99000"/>
24294 + <gd name="ratio" fmla="*/ adval2 1 100000"/>
24295 + <gd name="iwd2" fmla="*/ wd2 ratio 1"/>
24296 + <gd name="ihd2" fmla="*/ hd2 ratio 1"/>
24297 + <gd name="wt2" fmla="sin iwd2 adval"/>
24298 + <gd name="ht2" fmla="cos ihd2 adval"/>
24299 + <gd name="dx2" fmla="cat2 iwd2 ht2 wt2"/>
24300 + <gd name="dy2" fmla="sat2 ihd2 ht2 wt2"/>
24301 + <gd name="x2" fmla="+- hc dx2 0"/>
24302 + <gd name="y2" fmla="+- vc dy2 0"/>
24303 + </gdLst>
24304 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24305 + <ahPolar gdRefR="adj2" minR="0" maxR="100000" gdRefAng="adj1" minAng="0" maxAng="21599999">
24306 + <pos x="x2" y="y2"/>
24307 + </ahPolar>
24308 + </ahLst>
24309 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24310 + <path>
24311 + <moveTo>
24312 + <pt x="x1" y="y1"/>
24313 + </moveTo>
24314 + <arcTo wR="wd2" hR="hd2" stAng="adval" swAng="swAng"/>
24315 + </path>
24316 + <path>
24317 + <moveTo>
24318 + <pt x="x2" y="y2"/>
24319 + </moveTo>
24320 + <arcTo wR="iwd2" hR="ihd2" stAng="adval" swAng="swAng"/>
24321 + </path>
24322 + </pathLst>
24323 + </textCirclePour>
24324 + <textCurveDown>
24325 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24326 + <gd name="adj" fmla="val 45977"/>
24327 + </avLst>
24328 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24329 + <gd name="a" fmla="pin 0 adj 56338"/>
24330 + <gd name="dy" fmla="*/ a h 100000"/>
24331 + <gd name="gd1" fmla="*/ dy 3 4"/>
24332 + <gd name="gd2" fmla="*/ dy 5 4"/>
24333 + <gd name="gd3" fmla="*/ dy 3 8"/>
24334 + <gd name="gd4" fmla="*/ dy 1 8"/>
24335 + <gd name="gd5" fmla="+- h 0 gd3"/>
24336 + <gd name="gd6" fmla="+- gd4 h 0"/>
24337 + <gd name="y0" fmla="+- t dy 0"/>
24338 + <gd name="y1" fmla="+- t gd1 0"/>
24339 + <gd name="y2" fmla="+- t gd2 0"/>
24340 + <gd name="y3" fmla="+- t gd3 0"/>
24341 + <gd name="y4" fmla="+- t gd4 0"/>
24342 + <gd name="y5" fmla="+- t gd5 0"/>
24343 + <gd name="y6" fmla="+- t gd6 0"/>
24344 + <gd name="x1" fmla="+- l wd3 0"/>
24345 + <gd name="x2" fmla="+- r 0 wd3"/>
24346 + </gdLst>
24347 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24348 + <ahXY gdRefY="adj" minY="0" maxY="56338">
24349 + <pos x="r" y="y0"/>
24350 + </ahXY>
24351 + </ahLst>
24352 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24353 + <path>
24354 + <moveTo>
24355 + <pt x="l" y="t"/>
24356 + </moveTo>
24357 + <cubicBezTo>
24358 + <pt x="x1" y="y1"/>
24359 + <pt x="x2" y="y2"/>
24360 + <pt x="r" y="y0"/>
24361 + </cubicBezTo>
24362 + </path>
24363 + <path>
24364 + <moveTo>
24365 + <pt x="l" y="y5"/>
24366 + </moveTo>
24367 + <cubicBezTo>
24368 + <pt x="x1" y="y6"/>
24369 + <pt x="x2" y="y6"/>
24370 + <pt x="r" y="y5"/>
24371 + </cubicBezTo>
24372 + </path>
24373 + </pathLst>
24374 + </textCurveDown>
24375 + <textCurveUp>
24376 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24377 + <gd name="adj" fmla="val 45977"/>
24378 + </avLst>
24379 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24380 + <gd name="a" fmla="pin 0 adj 56338"/>
24381 + <gd name="dy" fmla="*/ a h 100000"/>
24382 + <gd name="gd1" fmla="*/ dy 3 4"/>
24383 + <gd name="gd2" fmla="*/ dy 5 4"/>
24384 + <gd name="gd3" fmla="*/ dy 3 8"/>
24385 + <gd name="gd4" fmla="*/ dy 1 8"/>
24386 + <gd name="gd5" fmla="+- h 0 gd3"/>
24387 + <gd name="gd6" fmla="+- gd4 h 0"/>
24388 + <gd name="y0" fmla="+- t dy 0"/>
24389 + <gd name="y1" fmla="+- t gd1 0"/>
24390 + <gd name="y2" fmla="+- t gd2 0"/>
24391 + <gd name="y3" fmla="+- t gd3 0"/>
24392 + <gd name="y4" fmla="+- t gd4 0"/>
24393 + <gd name="y5" fmla="+- t gd5 0"/>
24394 + <gd name="y6" fmla="+- t gd6 0"/>
24395 + <gd name="x1" fmla="+- l wd3 0"/>
24396 + <gd name="x2" fmla="+- r 0 wd3"/>
24397 + </gdLst>
24398 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24399 + <ahXY gdRefY="adj" minY="0" maxY="56338">
24400 + <pos x="l" y="y0"/>
24401 + </ahXY>
24402 + </ahLst>
24403 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24404 + <path>
24405 + <moveTo>
24406 + <pt x="l" y="y0"/>
24407 + </moveTo>
24408 + <cubicBezTo>
24409 + <pt x="x1" y="y2"/>
24410 + <pt x="x2" y="y1"/>
24411 + <pt x="r" y="t"/>
24412 + </cubicBezTo>
24413 + </path>
24414 + <path>
24415 + <moveTo>
24416 + <pt x="l" y="y5"/>
24417 + </moveTo>
24418 + <cubicBezTo>
24419 + <pt x="x1" y="y6"/>
24420 + <pt x="x2" y="y6"/>
24421 + <pt x="r" y="y5"/>
24422 + </cubicBezTo>
24423 + </path>
24424 + </pathLst>
24425 + </textCurveUp>
24426 + <textDeflate>
24427 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24428 + <gd name="adj" fmla="val 18750"/>
24429 + </avLst>
24430 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24431 + <gd name="a" fmla="pin 0 adj 37500"/>
24432 + <gd name="dy" fmla="*/ a ss 100000"/>
24433 + <gd name="gd0" fmla="*/ dy 4 3"/>
24434 + <gd name="gd1" fmla="+- h 0 gd0"/>
24435 + <gd name="adjY" fmla="+- t dy 0"/>
24436 + <gd name="y0" fmla="+- t gd0 0"/>
24437 + <gd name="y1" fmla="+- t gd1 0"/>
24438 + <gd name="x0" fmla="+- l wd3 0"/>
24439 + <gd name="x1" fmla="+- r 0 wd3"/>
24440 + </gdLst>
24441 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24442 + <ahXY gdRefY="adj" minY="0" maxY="37500">
24443 + <pos x="hc" y="adjY"/>
24444 + </ahXY>
24445 + </ahLst>
24446 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24447 + <path>
24448 + <moveTo>
24449 + <pt x="l" y="t"/>
24450 + </moveTo>
24451 + <cubicBezTo>
24452 + <pt x="x0" y="y0"/>
24453 + <pt x="x1" y="y0"/>
24454 + <pt x="r" y="t"/>
24455 + </cubicBezTo>
24456 + </path>
24457 + <path>
24458 + <moveTo>
24459 + <pt x="l" y="b"/>
24460 + </moveTo>
24461 + <cubicBezTo>
24462 + <pt x="x0" y="y1"/>
24463 + <pt x="x1" y="y1"/>
24464 + <pt x="r" y="b"/>
24465 + </cubicBezTo>
24466 + </path>
24467 + </pathLst>
24468 + </textDeflate>
24469 + <textDeflateBottom>
24470 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24471 + <gd name="adj" fmla="val 50000"/>
24472 + </avLst>
24473 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24474 + <gd name="a" fmla="pin 6250 adj 100000"/>
24475 + <gd name="dy" fmla="*/ a ss 100000"/>
24476 + <gd name="dy2" fmla="+- h 0 dy"/>
24477 + <gd name="y1" fmla="+- t dy 0"/>
24478 + <gd name="cp" fmla="+- y1 0 dy2"/>
24479 + </gdLst>
24480 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24481 + <ahXY gdRefY="adj" minY="6250" maxY="100000">
24482 + <pos x="hc" y="y1"/>
24483 + </ahXY>
24484 + </ahLst>
24485 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24486 + <path>
24487 + <moveTo>
24488 + <pt x="l" y="t"/>
24489 + </moveTo>
24490 + <lnTo>
24491 + <pt x="r" y="t"/>
24492 + </lnTo>
24493 + </path>
24494 + <path>
24495 + <moveTo>
24496 + <pt x="l" y="b"/>
24497 + </moveTo>
24498 + <quadBezTo>
24499 + <pt x="hc" y="cp"/>
24500 + <pt x="r" y="b"/>
24501 + </quadBezTo>
24502 + </path>
24503 + </pathLst>
24504 + </textDeflateBottom>
24505 + <textDeflateInflate>
24506 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24507 + <gd name="adj" fmla="val 35000"/>
24508 + </avLst>
24509 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24510 + <gd name="a" fmla="pin 5000 adj 95000"/>
24511 + <gd name="dy" fmla="*/ a h 100000"/>
24512 + <gd name="del" fmla="*/ h 5 100"/>
24513 + <gd name="dh1" fmla="*/ h 45 100"/>
24514 + <gd name="dh2" fmla="*/ h 55 100"/>
24515 + <gd name="yh" fmla="+- dy 0 del"/>
24516 + <gd name="yl" fmla="+- dy del 0"/>
24517 + <gd name="y3" fmla="+- yh yh dh1"/>
24518 + <gd name="y4" fmla="+- yl yl dh2"/>
24519 + </gdLst>
24520 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24521 + <ahXY gdRefY="adj" minY="5000" maxY="95000">
24522 + <pos x="hc" y="dy"/>
24523 + </ahXY>
24524 + </ahLst>
24525 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24526 + <path>
24527 + <moveTo>
24528 + <pt x="l" y="t"/>
24529 + </moveTo>
24530 + <lnTo>
24531 + <pt x="r" y="t"/>
24532 + </lnTo>
24533 + </path>
24534 + <path>
24535 + <moveTo>
24536 + <pt x="l" y="dh1"/>
24537 + </moveTo>
24538 + <quadBezTo>
24539 + <pt x="hc" y="y3"/>
24540 + <pt x="r" y="dh1"/>
24541 + </quadBezTo>
24542 + </path>
24543 + <path>
24544 + <moveTo>
24545 + <pt x="l" y="dh2"/>
24546 + </moveTo>
24547 + <quadBezTo>
24548 + <pt x="hc" y="y4"/>
24549 + <pt x="r" y="dh2"/>
24550 + </quadBezTo>
24551 + </path>
24552 + <path>
24553 + <moveTo>
24554 + <pt x="l" y="b"/>
24555 + </moveTo>
24556 + <lnTo>
24557 + <pt x="r" y="b"/>
24558 + </lnTo>
24559 + </path>
24560 + </pathLst>
24561 + </textDeflateInflate>
24562 + <textDeflateInflateDeflate>
24563 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24564 + <gd name="adj" fmla="val 25000"/>
24565 + </avLst>
24566 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24567 + <gd name="a" fmla="pin 3000 adj 47000"/>
24568 + <gd name="dy" fmla="*/ a h 100000"/>
24569 + <gd name="del" fmla="*/ h 3 100"/>
24570 + <gd name="ey1" fmla="*/ h 30 100"/>
24571 + <gd name="ey2" fmla="*/ h 36 100"/>
24572 + <gd name="ey3" fmla="*/ h 63 100"/>
24573 + <gd name="ey4" fmla="*/ h 70 100"/>
24574 + <gd name="by" fmla="+- b 0 dy"/>
24575 + <gd name="yh1" fmla="+- dy 0 del"/>
24576 + <gd name="yl1" fmla="+- dy del 0"/>
24577 + <gd name="yh2" fmla="+- by 0 del"/>
24578 + <gd name="yl2" fmla="+- by del 0"/>
24579 + <gd name="y1" fmla="+- yh1 yh1 ey1"/>
24580 + <gd name="y2" fmla="+- yl1 yl1 ey2"/>
24581 + <gd name="y3" fmla="+- yh2 yh2 ey3"/>
24582 + <gd name="y4" fmla="+- yl2 yl2 ey4"/>
24583 + </gdLst>
24584 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24585 + <ahXY gdRefY="adj" minY="3000" maxY="47000">
24586 + <pos x="hc" y="dy"/>
24587 + </ahXY>
24588 + </ahLst>
24589 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24590 + <path>
24591 + <moveTo>
24592 + <pt x="l" y="t"/>
24593 + </moveTo>
24594 + <lnTo>
24595 + <pt x="r" y="t"/>
24596 + </lnTo>
24597 + </path>
24598 + <path>
24599 + <moveTo>
24600 + <pt x="l" y="ey1"/>
24601 + </moveTo>
24602 + <quadBezTo>
24603 + <pt x="hc" y="y1"/>
24604 + <pt x="r" y="ey1"/>
24605 + </quadBezTo>
24606 + </path>
24607 + <path>
24608 + <moveTo>
24609 + <pt x="l" y="ey2"/>
24610 + </moveTo>
24611 + <quadBezTo>
24612 + <pt x="hc" y="y2"/>
24613 + <pt x="r" y="ey2"/>
24614 + </quadBezTo>
24615 + </path>
24616 + <path>
24617 + <moveTo>
24618 + <pt x="l" y="ey3"/>
24619 + </moveTo>
24620 + <quadBezTo>
24621 + <pt x="hc" y="y3"/>
24622 + <pt x="r" y="ey3"/>
24623 + </quadBezTo>
24624 + </path>
24625 + <path>
24626 + <moveTo>
24627 + <pt x="l" y="ey4"/>
24628 + </moveTo>
24629 + <quadBezTo>
24630 + <pt x="hc" y="y4"/>
24631 + <pt x="r" y="ey4"/>
24632 + </quadBezTo>
24633 + </path>
24634 + <path>
24635 + <moveTo>
24636 + <pt x="l" y="b"/>
24637 + </moveTo>
24638 + <lnTo>
24639 + <pt x="r" y="b"/>
24640 + </lnTo>
24641 + </path>
24642 + </pathLst>
24643 + </textDeflateInflateDeflate>
24644 + <textDeflateTop>
24645 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24646 + <gd name="adj" fmla="val 50000"/>
24647 + </avLst>
24648 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24649 + <gd name="a" fmla="pin 0 adj 93750"/>
24650 + <gd name="dy" fmla="*/ a h 100000"/>
24651 + <gd name="y1" fmla="+- t dy 0"/>
24652 + <gd name="cp" fmla="+- y1 dy 0"/>
24653 + </gdLst>
24654 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24655 + <ahXY gdRefY="adj" minY="0" maxY="93750">
24656 + <pos x="hc" y="y1"/>
24657 + </ahXY>
24658 + </ahLst>
24659 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24660 + <path>
24661 + <moveTo>
24662 + <pt x="l" y="t"/>
24663 + </moveTo>
24664 + <quadBezTo>
24665 + <pt x="hc" y="cp"/>
24666 + <pt x="r" y="t"/>
24667 + </quadBezTo>
24668 + </path>
24669 + <path>
24670 + <moveTo>
24671 + <pt x="l" y="b"/>
24672 + </moveTo>
24673 + <lnTo>
24674 + <pt x="r" y="b"/>
24675 + </lnTo>
24676 + </path>
24677 + </pathLst>
24678 + </textDeflateTop>
24679 + <textDoubleWave1>
24680 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24681 + <gd name="adj1" fmla="val 6250"/>
24682 + <gd name="adj2" fmla="val 0"/>
24683 + </avLst>
24684 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24685 + <gd name="a1" fmla="pin 0 adj1 12500"/>
24686 + <gd name="a2" fmla="pin -10000 adj2 10000"/>
24687 + <gd name="y1" fmla="*/ h a1 100000"/>
24688 + <gd name="dy2" fmla="*/ y1 10 3"/>
24689 + <gd name="y2" fmla="+- y1 0 dy2"/>
24690 + <gd name="y3" fmla="+- y1 dy2 0"/>
24691 + <gd name="y4" fmla="+- b 0 y1"/>
24692 + <gd name="y5" fmla="+- y4 0 dy2"/>
24693 + <gd name="y6" fmla="+- y4 dy2 0"/>
24694 + <gd name="of" fmla="*/ w a2 100000"/>
24695 + <gd name="of2" fmla="*/ w a2 50000"/>
24696 + <gd name="x1" fmla="abs of"/>
24697 + <gd name="dx2" fmla="?: of2 0 of2"/>
24698 + <gd name="x2" fmla="+- l 0 dx2"/>
24699 + <gd name="dx8" fmla="?: of2 of2 0"/>
24700 + <gd name="x8" fmla="+- r 0 dx8"/>
24701 + <gd name="dx3" fmla="+/ dx2 x8 6"/>
24702 + <gd name="x3" fmla="+- x2 dx3 0"/>
24703 + <gd name="dx4" fmla="+/ dx2 x8 3"/>
24704 + <gd name="x4" fmla="+- x2 dx4 0"/>
24705 + <gd name="x5" fmla="+/ x2 x8 2"/>
24706 + <gd name="x6" fmla="+- x5 dx3 0"/>
24707 + <gd name="x7" fmla="+/ x6 x8 2"/>
24708 + <gd name="x9" fmla="+- l dx8 0"/>
24709 + <gd name="x15" fmla="+- r dx2 0"/>
24710 + <gd name="x10" fmla="+- x9 dx3 0"/>
24711 + <gd name="x11" fmla="+- x9 dx4 0"/>
24712 + <gd name="x12" fmla="+/ x9 x15 2"/>
24713 + <gd name="x13" fmla="+- x12 dx3 0"/>
24714 + <gd name="x14" fmla="+/ x13 x15 2"/>
24715 + <gd name="x16" fmla="+- r 0 x1"/>
24716 + <gd name="xAdj" fmla="+- hc of 0"/>
24717 + </gdLst>
24718 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24719 + <ahXY gdRefY="adj1" minY="0" maxY="12500">
24720 + <pos x="l" y="y1"/>
24721 + </ahXY>
24722 + <ahXY gdRefX="adj2" minX="-10000" maxX="10000">
24723 + <pos x="xAdj" y="b"/>
24724 + </ahXY>
24725 + </ahLst>
24726 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24727 + <path>
24728 + <moveTo>
24729 + <pt x="x2" y="y1"/>
24730 + </moveTo>
24731 + <cubicBezTo>
24732 + <pt x="x3" y="y2"/>
24733 + <pt x="x4" y="y3"/>
24734 + <pt x="x5" y="y1"/>
24735 + </cubicBezTo>
24736 + <cubicBezTo>
24737 + <pt x="x6" y="y2"/>
24738 + <pt x="x7" y="y3"/>
24739 + <pt x="x8" y="y1"/>
24740 + </cubicBezTo>
24741 + </path>
24742 + <path>
24743 + <moveTo>
24744 + <pt x="x9" y="y4"/>
24745 + </moveTo>
24746 + <cubicBezTo>
24747 + <pt x="x10" y="y5"/>
24748 + <pt x="x11" y="y6"/>
24749 + <pt x="x12" y="y4"/>
24750 + </cubicBezTo>
24751 + <cubicBezTo>
24752 + <pt x="x13" y="y5"/>
24753 + <pt x="x14" y="y6"/>
24754 + <pt x="x15" y="y4"/>
24755 + </cubicBezTo>
24756 + </path>
24757 + </pathLst>
24758 + </textDoubleWave1>
24759 + <textFadeDown>
24760 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24761 + <gd name="adj" fmla="val 33333"/>
24762 + </avLst>
24763 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24764 + <gd name="a" fmla="pin 0 adj 49999"/>
24765 + <gd name="dx" fmla="*/ a w 100000"/>
24766 + <gd name="x1" fmla="+- l dx 0"/>
24767 + <gd name="x2" fmla="+- r 0 dx"/>
24768 + </gdLst>
24769 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24770 + <ahXY gdRefX="adj" minX="0" maxX="49999">
24771 + <pos x="x1" y="b"/>
24772 + </ahXY>
24773 + </ahLst>
24774 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24775 + <path>
24776 + <moveTo>
24777 + <pt x="l" y="t"/>
24778 + </moveTo>
24779 + <lnTo>
24780 + <pt x="r" y="t"/>
24781 + </lnTo>
24782 + </path>
24783 + <path>
24784 + <moveTo>
24785 + <pt x="x1" y="b"/>
24786 + </moveTo>
24787 + <lnTo>
24788 + <pt x="x2" y="b"/>
24789 + </lnTo>
24790 + </path>
24791 + </pathLst>
24792 + </textFadeDown>
24793 + <textFadeLeft>
24794 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24795 + <gd name="adj" fmla="val 33333"/>
24796 + </avLst>
24797 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24798 + <gd name="a" fmla="pin 0 adj 49999"/>
24799 + <gd name="dy" fmla="*/ a h 100000"/>
24800 + <gd name="y1" fmla="+- t dy 0"/>
24801 + <gd name="y2" fmla="+- b 0 dy"/>
24802 + </gdLst>
24803 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24804 + <ahXY gdRefY="adj" minY="0" maxY="49999">
24805 + <pos x="l" y="y1"/>
24806 + </ahXY>
24807 + </ahLst>
24808 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24809 + <path>
24810 + <moveTo>
24811 + <pt x="l" y="y1"/>
24812 + </moveTo>
24813 + <lnTo>
24814 + <pt x="r" y="t"/>
24815 + </lnTo>
24816 + </path>
24817 + <path>
24818 + <moveTo>
24819 + <pt x="l" y="y2"/>
24820 + </moveTo>
24821 + <lnTo>
24822 + <pt x="r" y="b"/>
24823 + </lnTo>
24824 + </path>
24825 + </pathLst>
24826 + </textFadeLeft>
24827 + <textFadeRight>
24828 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24829 + <gd name="adj" fmla="val 33333"/>
24830 + </avLst>
24831 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24832 + <gd name="a" fmla="pin 0 adj 49999"/>
24833 + <gd name="dy" fmla="*/ a h 100000"/>
24834 + <gd name="y1" fmla="+- t dy 0"/>
24835 + <gd name="y2" fmla="+- b 0 dy"/>
24836 + </gdLst>
24837 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24838 + <ahXY gdRefY="adj" minY="0" maxY="49999">
24839 + <pos x="r" y="y1"/>
24840 + </ahXY>
24841 + </ahLst>
24842 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24843 + <path>
24844 + <moveTo>
24845 + <pt x="l" y="t"/>
24846 + </moveTo>
24847 + <lnTo>
24848 + <pt x="r" y="y1"/>
24849 + </lnTo>
24850 + </path>
24851 + <path>
24852 + <moveTo>
24853 + <pt x="l" y="b"/>
24854 + </moveTo>
24855 + <lnTo>
24856 + <pt x="r" y="y2"/>
24857 + </lnTo>
24858 + </path>
24859 + </pathLst>
24860 + </textFadeRight>
24861 + <textFadeUp>
24862 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24863 + <gd name="adj" fmla="val 33333"/>
24864 + </avLst>
24865 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24866 + <gd name="a" fmla="pin 0 adj 49999"/>
24867 + <gd name="dx" fmla="*/ a w 100000"/>
24868 + <gd name="x1" fmla="+- l dx 0"/>
24869 + <gd name="x2" fmla="+- r 0 dx"/>
24870 + </gdLst>
24871 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24872 + <ahXY gdRefX="adj" minX="0" maxX="49999">
24873 + <pos x="x1" y="t"/>
24874 + </ahXY>
24875 + </ahLst>
24876 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24877 + <path>
24878 + <moveTo>
24879 + <pt x="x1" y="t"/>
24880 + </moveTo>
24881 + <lnTo>
24882 + <pt x="x2" y="t"/>
24883 + </lnTo>
24884 + </path>
24885 + <path>
24886 + <moveTo>
24887 + <pt x="l" y="b"/>
24888 + </moveTo>
24889 + <lnTo>
24890 + <pt x="r" y="b"/>
24891 + </lnTo>
24892 + </path>
24893 + </pathLst>
24894 + </textFadeUp>
24895 + <textInflate>
24896 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24897 + <gd name="adj" fmla="val 18750"/>
24898 + </avLst>
24899 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24900 + <gd name="a" fmla="pin 0 adj 20000"/>
24901 + <gd name="dy" fmla="*/ a h 100000"/>
24902 + <gd name="gd" fmla="*/ dy 1 3"/>
24903 + <gd name="gd0" fmla="+- 0 0 gd"/>
24904 + <gd name="gd1" fmla="+- h 0 gd0"/>
24905 + <gd name="ty" fmla="+- t dy 0"/>
24906 + <gd name="by" fmla="+- b 0 dy"/>
24907 + <gd name="y0" fmla="+- t gd0 0"/>
24908 + <gd name="y1" fmla="+- t gd1 0"/>
24909 + <gd name="x0" fmla="+- l wd3 0"/>
24910 + <gd name="x1" fmla="+- r 0 wd3"/>
24911 + </gdLst>
24912 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24913 + <ahXY gdRefY="adj" minY="0" maxY="20000">
24914 + <pos x="l" y="ty"/>
24915 + </ahXY>
24916 + </ahLst>
24917 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24918 + <path>
24919 + <moveTo>
24920 + <pt x="l" y="ty"/>
24921 + </moveTo>
24922 + <cubicBezTo>
24923 + <pt x="x0" y="y0"/>
24924 + <pt x="x1" y="y0"/>
24925 + <pt x="r" y="ty"/>
24926 + </cubicBezTo>
24927 + </path>
24928 + <path>
24929 + <moveTo>
24930 + <pt x="l" y="by"/>
24931 + </moveTo>
24932 + <cubicBezTo>
24933 + <pt x="x0" y="y1"/>
24934 + <pt x="x1" y="y1"/>
24935 + <pt x="r" y="by"/>
24936 + </cubicBezTo>
24937 + </path>
24938 + </pathLst>
24939 + </textInflate>
24940 + <textInflateBottom>
24941 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24942 + <gd name="adj" fmla="val 60000"/>
24943 + </avLst>
24944 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24945 + <gd name="a" fmla="pin 60000 adj 100000"/>
24946 + <gd name="dy" fmla="*/ a h 100000"/>
24947 + <gd name="ty" fmla="+- t dy 0"/>
24948 + </gdLst>
24949 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24950 + <ahXY gdRefY="adj" minY="60000" maxY="100000">
24951 + <pos x="l" y="ty"/>
24952 + </ahXY>
24953 + </ahLst>
24954 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24955 + <path>
24956 + <moveTo>
24957 + <pt x="l" y="t"/>
24958 + </moveTo>
24959 + <lnTo>
24960 + <pt x="r" y="t"/>
24961 + </lnTo>
24962 + </path>
24963 + <path>
24964 + <moveTo>
24965 + <pt x="l" y="ty"/>
24966 + </moveTo>
24967 + <quadBezTo>
24968 + <pt x="hc" y="b"/>
24969 + <pt x="r" y="ty"/>
24970 + </quadBezTo>
24971 + </path>
24972 + </pathLst>
24973 + </textInflateBottom>
24974 + <textInflateTop>
24975 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24976 + <gd name="adj" fmla="val 40000"/>
24977 + </avLst>
24978 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24979 + <gd name="a" fmla="pin 0 adj 50000"/>
24980 + <gd name="dy" fmla="*/ a h 100000"/>
24981 + <gd name="ty" fmla="+- t dy 0"/>
24982 + </gdLst>
24983 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24984 + <ahXY gdRefY="adj" minY="0" maxY="50000">
24985 + <pos x="l" y="ty"/>
24986 + </ahXY>
24987 + </ahLst>
24988 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
24989 + <path>
24990 + <moveTo>
24991 + <pt x="l" y="ty"/>
24992 + </moveTo>
24993 + <quadBezTo>
24994 + <pt x="hc" y="t"/>
24995 + <pt x="r" y="ty"/>
24996 + </quadBezTo>
24997 + </path>
24998 + <path>
24999 + <moveTo>
25000 + <pt x="l" y="b"/>
25001 + </moveTo>
25002 + <lnTo>
25003 + <pt x="r" y="b"/>
25004 + </lnTo>
25005 + </path>
25006 + </pathLst>
25007 + </textInflateTop>
25008 + <textPlain>
25009 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
25010 + <gd name="adj" fmla="val 50000"/>
25011 + </avLst>
25012 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
25013 + <gd name="a" fmla="pin 30000 adj 70000"/>
25014 + <gd name="mid" fmla="*/ a w 100000"/>
25015 + <gd name="midDir" fmla="+- mid 0 hc"/>
25016 + <gd name="dl" fmla="+- mid 0 l"/>
25017 + <gd name="dr" fmla="+- r 0 mid"/>
25018 + <gd name="dl2" fmla="*/ dl 2 1"/>
25019 + <gd name="dr2" fmla="*/ dr 2 1"/>
25020 + <gd name="dx" fmla="?: midDir dr2 dl2"/>
25021 + <gd name="xr" fmla="+- l dx 0"/>
25022 + <gd name="xl" fmla="+- r 0 dx"/>
25023 + <gd name="tlx" fmla="?: midDir l xl"/>
25024 + <gd name="trx" fmla="?: midDir xr r"/>
25025 + <gd name="blx" fmla="?: midDir xl l"/>
25026 + <gd name="brx" fmla="?: midDir r xr"/>
25027 + </gdLst>
25028 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
25029 + <ahXY gdRefX="adj" minX="30000" maxX="70000">
25030 + <pos x="mid" y="b"/>
25031 + </ahXY>
25032 + </ahLst>
25033 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
25034 + <path>
25035 + <moveTo>
25036 + <pt x="tlx" y="t"/>
25037 + </moveTo>
25038 + <lnTo>
25039 + <pt x="trx" y="t"/>
25040 + </lnTo>
25041 + </path>
25042 + <path>
25043 + <moveTo>
25044 + <pt x="blx" y="b"/>
25045 + </moveTo>
25046 + <lnTo>
25047 + <pt x="brx" y="b"/>
25048 + </lnTo>
25049 + </path>
25050 + </pathLst>
25051 + </textPlain>
25052 + <textRingInside>
25053 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
25054 + <gd name="adj" fmla="val 60000"/>
25055 + </avLst>
25056 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
25057 + <gd name="a" fmla="pin 50000 adj 99000"/>
25058 + <gd name="dy" fmla="*/ a h 100000"/>
25059 + <gd name="y" fmla="+- t dy 0"/>
25060 + <gd name="r" fmla="*/ dy 1 2"/>
25061 + <gd name="y1" fmla="+- t r 0"/>
25062 + <gd name="y2" fmla="+- b 0 r"/>
25063 + </gdLst>
25064 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
25065 + <ahXY gdRefY="adj" minY="50000" maxY="99000">
25066 + <pos x="hc" y="y"/>
25067 + </ahXY>
25068 + </ahLst>
25069 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
25070 + <path>
25071 + <moveTo>
25072 + <pt x="l" y="y1"/>
25073 + </moveTo>
25074 + <arcTo wR="wd2" hR="r" stAng="10800000" swAng="21599999"/>
25075 + </path>
25076 + <path>
25077 + <moveTo>
25078 + <pt x="l" y="y2"/>
25079 + </moveTo>
25080 + <arcTo wR="wd2" hR="r" stAng="10800000" swAng="21599999"/>
25081 + </path>
25082 + </pathLst>
25083 + </textRingInside>
25084 + <textRingOutside>
25085 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
25086 + <gd name="adj" fmla="val 60000"/>
25087 + </avLst>
25088 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
25089 + <gd name="a" fmla="pin 50000 adj 99000"/>
25090 + <gd name="dy" fmla="*/ a h 100000"/>
25091 + <gd name="y" fmla="+- t dy 0"/>
25092 + <gd name="r" fmla="*/ dy 1 2"/>
25093 + <gd name="y1" fmla="+- t r 0"/>
25094 + <gd name="y2" fmla="+- b 0 r"/>
25095 + </gdLst>
25096 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
25097 + <ahXY gdRefY="adj" minY="50000" maxY="99000">
25098 + <pos x="hc" y="y"/>
25099 + </ahXY>
25100 + </ahLst>
25101 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
25102 + <path>
25103 + <moveTo>
25104 + <pt x="l" y="y1"/>
25105 + </moveTo>
25106 + <arcTo wR="wd2" hR="r" stAng="10800000" swAng="-21599999"/>
25107 + </path>
25108 + <path>
25109 + <moveTo>
25110 + <pt x="l" y="y2"/>
25111 + </moveTo>
25112 + <arcTo wR="wd2" hR="r" stAng="10800000" swAng="-21599999"/>
25113 + </path>
25114 + </pathLst>
25115 + </textRingOutside>
25116 + <textSlantDown>
25117 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
25118 + <gd name="adj" fmla="val 44445"/>
25119 + </avLst>
25120 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
25121 + <gd name="a" fmla="pin 28569 adj 100000"/>
25122 + <gd name="dy" fmla="*/ a h 100000"/>
25123 + <gd name="y1" fmla="+- t dy 0"/>
25124 + <gd name="y2" fmla="+- b 0 dy"/>
25125 + </gdLst>
25126 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
25127 + <ahXY gdRefY="adj" minY="28569" maxY="100000">
25128 + <pos x="l" y="y1"/>
25129 + </ahXY>
25130 + </ahLst>
25131 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
25132 + <path>
25133 + <moveTo>
25134 + <pt x="l" y="t"/>
25135 + </moveTo>
25136 + <lnTo>
25137 + <pt x="r" y="y2"/>
25138 + </lnTo>
25139 + </path>
25140 + <path>
25141 + <moveTo>
25142 + <pt x="l" y="y1"/>
25143 + </moveTo>
25144 + <lnTo>
25145 + <pt x="r" y="b"/>
25146 + </lnTo>
25147 + </path>
25148 + </pathLst>
25149 + </textSlantDown>
25150 + <textSlantUp>
25151 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
25152 + <gd name="adj" fmla="val 55555"/>
25153 + </avLst>
25154 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
25155 + <gd name="a" fmla="pin 0 adj 71431"/>
25156 + <gd name="dy" fmla="*/ a h 100000"/>
25157 + <gd name="y1" fmla="+- t dy 0"/>
25158 + <gd name="y2" fmla="+- b 0 dy"/>
25159 + </gdLst>
25160 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
25161 + <ahXY gdRefY="adj" minY="0" maxY="71431">
25162 + <pos x="l" y="y1"/>
25163 + </ahXY>
25164 + </ahLst>
25165 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
25166 + <path>
25167 + <moveTo>
25168 + <pt x="l" y="y1"/>
25169 + </moveTo>
25170 + <lnTo>
25171 + <pt x="r" y="t"/>
25172 + </lnTo>
25173 + </path>
25174 + <path>
25175 + <moveTo>
25176 + <pt x="l" y="b"/>
25177 + </moveTo>
25178 + <lnTo>
25179 + <pt x="r" y="y2"/>
25180 + </lnTo>
25181 + </path>
25182 + </pathLst>
25183 + </textSlantUp>
25184 + <textStop>
25185 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
25186 + <gd name="adj" fmla="val 25000"/>
25187 + </avLst>
25188 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
25189 + <gd name="a" fmla="pin 14286 adj 50000"/>
25190 + <gd name="dx" fmla="*/ w 1 3"/>
25191 + <gd name="dy" fmla="*/ a h 100000"/>
25192 + <gd name="x1" fmla="+- l dx 0"/>
25193 + <gd name="x2" fmla="+- r 0 dx"/>
25194 + <gd name="y1" fmla="+- t dy 0"/>
25195 + <gd name="y2" fmla="+- b 0 dy"/>
25196 + </gdLst>
25197 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
25198 + <ahXY gdRefY="adj" minY="14286" maxY="50000">
25199 + <pos x="l" y="dy"/>
25200 + </ahXY>
25201 + </ahLst>
25202 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
25203 + <path>
25204 + <moveTo>
25205 + <pt x="l" y="y1"/>
25206 + </moveTo>
25207 + <lnTo>
25208 + <pt x="x1" y="t"/>
25209 + </lnTo>
25210 + <lnTo>
25211 + <pt x="x2" y="t"/>
25212 + </lnTo>
25213 + <lnTo>
25214 + <pt x="r" y="y1"/>
25215 + </lnTo>
25216 + </path>
25217 + <path>
25218 + <moveTo>
25219 + <pt x="l" y="y2"/>
25220 + </moveTo>
25221 + <lnTo>
25222 + <pt x="x1" y="b"/>
25223 + </lnTo>
25224 + <lnTo>
25225 + <pt x="x2" y="b"/>
25226 + </lnTo>
25227 + <lnTo>
25228 + <pt x="r" y="y2"/>
25229 + </lnTo>
25230 + </path>
25231 + </pathLst>
25232 + </textStop>
25233 + <textTriangle>
25234 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
25235 + <gd name="adj" fmla="val 50000"/>
25236 + </avLst>
25237 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
25238 + <gd name="a" fmla="pin 0 adj 100000"/>
25239 + <gd name="y" fmla="*/ a h 100000"/>
25240 + </gdLst>
25241 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
25242 + <ahXY gdRefY="adj" minY="0" maxY="100000">
25243 + <pos x="l" y="y"/>
25244 + </ahXY>
25245 + </ahLst>
25246 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
25247 + <path>
25248 + <moveTo>
25249 + <pt x="l" y="y"/>
25250 + </moveTo>
25251 + <lnTo>
25252 + <pt x="hc" y="t"/>
25253 + </lnTo>
25254 + <lnTo>
25255 + <pt x="r" y="y"/>
25256 + </lnTo>
25257 + </path>
25258 + <path>
25259 + <moveTo>
25260 + <pt x="l" y="b"/>
25261 + </moveTo>
25262 + <lnTo>
25263 + <pt x="r" y="b"/>
25264 + </lnTo>
25265 + </path>
25266 + </pathLst>
25267 + </textTriangle>
25268 + <textTriangleInverted>
25269 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
25270 + <gd name="adj" fmla="val 50000"/>
25271 + </avLst>
25272 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
25273 + <gd name="a" fmla="pin 0 adj 100000"/>
25274 + <gd name="y" fmla="*/ a h 100000"/>
25275 + </gdLst>
25276 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
25277 + <ahXY gdRefY="adj" minY="0" maxY="100000">
25278 + <pos x="l" y="y"/>
25279 + </ahXY>
25280 + </ahLst>
25281 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
25282 + <path>
25283 + <moveTo>
25284 + <pt x="l" y="t"/>
25285 + </moveTo>
25286 + <lnTo>
25287 + <pt x="r" y="t"/>
25288 + </lnTo>
25289 + </path>
25290 + <path>
25291 + <moveTo>
25292 + <pt x="l" y="y"/>
25293 + </moveTo>
25294 + <lnTo>
25295 + <pt x="hc" y="b"/>
25296 + </lnTo>
25297 + <lnTo>
25298 + <pt x="r" y="y"/>
25299 + </lnTo>
25300 + </path>
25301 + </pathLst>
25302 + </textTriangleInverted>
25303 + <textWave1>
25304 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
25305 + <gd name="adj1" fmla="val 12500"/>
25306 + <gd name="adj2" fmla="val 0"/>
25307 + </avLst>
25308 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
25309 + <gd name="a1" fmla="pin 0 adj1 20000"/>
25310 + <gd name="a2" fmla="pin -10000 adj2 10000"/>
25311 + <gd name="y1" fmla="*/ h a1 100000"/>
25312 + <gd name="dy2" fmla="*/ y1 10 3"/>
25313 + <gd name="y2" fmla="+- y1 0 dy2"/>
25314 + <gd name="y3" fmla="+- y1 dy2 0"/>
25315 + <gd name="y4" fmla="+- b 0 y1"/>
25316 + <gd name="y5" fmla="+- y4 0 dy2"/>
25317 + <gd name="y6" fmla="+- y4 dy2 0"/>
25318 + <gd name="of" fmla="*/ w a2 100000"/>
25319 + <gd name="of2" fmla="*/ w a2 50000"/>
25320 + <gd name="x1" fmla="abs of"/>
25321 + <gd name="dx2" fmla="?: of2 0 of2"/>
25322 + <gd name="x2" fmla="+- l 0 dx2"/>
25323 + <gd name="dx5" fmla="?: of2 of2 0"/>
25324 + <gd name="x5" fmla="+- r 0 dx5"/>
25325 + <gd name="dx3" fmla="+/ dx2 x5 3"/>
25326 + <gd name="x3" fmla="+- x2 dx3 0"/>
25327 + <gd name="x4" fmla="+/ x3 x5 2"/>
25328 + <gd name="x6" fmla="+- l dx5 0"/>
25329 + <gd name="x10" fmla="+- r dx2 0"/>
25330 + <gd name="x7" fmla="+- x6 dx3 0"/>
25331 + <gd name="x8" fmla="+/ x7 x10 2"/>
25332 + <gd name="x9" fmla="+- r 0 x1"/>
25333 + <gd name="xAdj" fmla="+- hc of 0"/>
25334 + </gdLst>
25335 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
25336 + <ahXY gdRefY="adj1" minY="0" maxY="20000">
25337 + <pos x="l" y="y1"/>
25338 + </ahXY>
25339 + <ahXY gdRefX="adj2" minX="-10000" maxX="10000">
25340 + <pos x="xAdj" y="b"/>
25341 + </ahXY>
25342 + </ahLst>
25343 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
25344 + <path>
25345 + <moveTo>
25346 + <pt x="x2" y="y1"/>
25347 + </moveTo>
25348 + <cubicBezTo>
25349 + <pt x="x3" y="y2"/>
25350 + <pt x="x4" y="y3"/>
25351 + <pt x="x5" y="y1"/>
25352 + </cubicBezTo>
25353 + </path>
25354 + <path>
25355 + <moveTo>
25356 + <pt x="x6" y="y4"/>
25357 + </moveTo>
25358 + <cubicBezTo>
25359 + <pt x="x7" y="y5"/>
25360 + <pt x="x8" y="y6"/>
25361 + <pt x="x10" y="y4"/>
25362 + </cubicBezTo>
25363 + </path>
25364 + </pathLst>
25365 + </textWave1>
25366 + <textWave2>
25367 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
25368 + <gd name="adj1" fmla="val 12500"/>
25369 + <gd name="adj2" fmla="val 0"/>
25370 + </avLst>
25371 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
25372 + <gd name="a1" fmla="pin 0 adj1 20000"/>
25373 + <gd name="a2" fmla="pin -10000 adj2 10000"/>
25374 + <gd name="y1" fmla="*/ h a1 100000"/>
25375 + <gd name="dy2" fmla="*/ y1 10 3"/>
25376 + <gd name="y2" fmla="+- y1 0 dy2"/>
25377 + <gd name="y3" fmla="+- y1 dy2 0"/>
25378 + <gd name="y4" fmla="+- b 0 y1"/>
25379 + <gd name="y5" fmla="+- y4 0 dy2"/>
25380 + <gd name="y6" fmla="+- y4 dy2 0"/>
25381 + <gd name="of" fmla="*/ w a2 100000"/>
25382 + <gd name="of2" fmla="*/ w a2 50000"/>
25383 + <gd name="x1" fmla="abs of"/>
25384 + <gd name="dx2" fmla="?: of2 0 of2"/>
25385 + <gd name="x2" fmla="+- l 0 dx2"/>
25386 + <gd name="dx5" fmla="?: of2 of2 0"/>
25387 + <gd name="x5" fmla="+- r 0 dx5"/>
25388 + <gd name="dx3" fmla="+/ dx2 x5 3"/>
25389 + <gd name="x3" fmla="+- x2 dx3 0"/>
25390 + <gd name="x4" fmla="+/ x3 x5 2"/>
25391 + <gd name="x6" fmla="+- l dx5 0"/>
25392 + <gd name="x10" fmla="+- r dx2 0"/>
25393 + <gd name="x7" fmla="+- x6 dx3 0"/>
25394 + <gd name="x8" fmla="+/ x7 x10 2"/>
25395 + <gd name="x9" fmla="+- r 0 x1"/>
25396 + <gd name="xAdj" fmla="+- hc of 0"/>
25397 + </gdLst>
25398 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
25399 + <ahXY gdRefY="adj1" minY="0" maxY="20000">
25400 + <pos x="l" y="y1"/>
25401 + </ahXY>
25402 + <ahXY gdRefX="adj2" minX="-10000" maxX="10000">
25403 + <pos x="xAdj" y="b"/>
25404 + </ahXY>
25405 + </ahLst>
25406 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
25407 + <path>
25408 + <moveTo>
25409 + <pt x="x2" y="y1"/>
25410 + </moveTo>
25411 + <cubicBezTo>
25412 + <pt x="x3" y="y3"/>
25413 + <pt x="x4" y="y2"/>
25414 + <pt x="x5" y="y1"/>
25415 + </cubicBezTo>
25416 + </path>
25417 + <path>
25418 + <moveTo>
25419 + <pt x="x6" y="y4"/>
25420 + </moveTo>
25421 + <cubicBezTo>
25422 + <pt x="x7" y="y6"/>
25423 + <pt x="x8" y="y5"/>
25424 + <pt x="x10" y="y4"/>
25425 + </cubicBezTo>
25426 + </path>
25427 + </pathLst>
25428 + </textWave2>
25429 + <textWave4>
25430 + <avLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
25431 + <gd name="adj1" fmla="val 6250"/>
25432 + <gd name="adj2" fmla="val 0"/>
25433 + </avLst>
25434 + <gdLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
25435 + <gd name="a1" fmla="pin 0 adj1 12500"/>
25436 + <gd name="a2" fmla="pin -10000 adj2 10000"/>
25437 + <gd name="y1" fmla="*/ h a1 100000"/>
25438 + <gd name="dy2" fmla="*/ y1 10 3"/>
25439 + <gd name="y2" fmla="+- y1 0 dy2"/>
25440 + <gd name="y3" fmla="+- y1 dy2 0"/>
25441 + <gd name="y4" fmla="+- b 0 y1"/>
25442 + <gd name="y5" fmla="+- y4 0 dy2"/>
25443 + <gd name="y6" fmla="+- y4 dy2 0"/>
25444 + <gd name="of" fmla="*/ w a2 100000"/>
25445 + <gd name="of2" fmla="*/ w a2 50000"/>
25446 + <gd name="x1" fmla="abs of"/>
25447 + <gd name="dx2" fmla="?: of2 0 of2"/>
25448 + <gd name="x2" fmla="+- l 0 dx2"/>
25449 + <gd name="dx8" fmla="?: of2 of2 0"/>
25450 + <gd name="x8" fmla="+- r 0 dx8"/>
25451 + <gd name="dx3" fmla="+/ dx2 x8 6"/>
25452 + <gd name="x3" fmla="+- x2 dx3 0"/>
25453 + <gd name="dx4" fmla="+/ dx2 x8 3"/>
25454 + <gd name="x4" fmla="+- x2 dx4 0"/>
25455 + <gd name="x5" fmla="+/ x2 x8 2"/>
25456 + <gd name="x6" fmla="+- x5 dx3 0"/>
25457 + <gd name="x7" fmla="+/ x6 x8 2"/>
25458 + <gd name="x9" fmla="+- l dx8 0"/>
25459 + <gd name="x15" fmla="+- r dx2 0"/>
25460 + <gd name="x10" fmla="+- x9 dx3 0"/>
25461 + <gd name="x11" fmla="+- x9 dx4 0"/>
25462 + <gd name="x12" fmla="+/ x9 x15 2"/>
25463 + <gd name="x13" fmla="+- x12 dx3 0"/>
25464 + <gd name="x14" fmla="+/ x13 x15 2"/>
25465 + <gd name="x16" fmla="+- r 0 x1"/>
25466 + <gd name="xAdj" fmla="+- hc of 0"/>
25467 + </gdLst>
25468 + <ahLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
25469 + <ahXY gdRefY="adj1" minY="0" maxY="12500">
25470 + <pos x="l" y="y1"/>
25471 + </ahXY>
25472 + <ahXY gdRefX="adj2" minX="-10000" maxX="10000">
25473 + <pos x="xAdj" y="b"/>
25474 + </ahXY>
25475 + </ahLst>
25476 + <pathLst xmlns="http://schemas.openxmlformats.org/drawingml/2006/main">
25477 + <path>
25478 + <moveTo>
25479 + <pt x="x2" y="y1"/>
25480 + </moveTo>
25481 + <cubicBezTo>
25482 + <pt x="x3" y="y3"/>
25483 + <pt x="x4" y="y2"/>
25484 + <pt x="x5" y="y1"/>
25485 + </cubicBezTo>
25486 + <cubicBezTo>
25487 + <pt x="x6" y="y3"/>
25488 + <pt x="x7" y="y2"/>
25489 + <pt x="x8" y="y1"/>
25490 + </cubicBezTo>
25491 + </path>
25492 + <path>
25493 + <moveTo>
25494 + <pt x="x9" y="y4"/>
25495 + </moveTo>
25496 + <cubicBezTo>
25497 + <pt x="x10" y="y6"/>
25498 + <pt x="x11" y="y5"/>
25499 + <pt x="x12" y="y4"/>
25500 + </cubicBezTo>
25501 + <cubicBezTo>
25502 + <pt x="x13" y="y6"/>
25503 + <pt x="x14" y="y5"/>
25504 + <pt x="x15" y="y4"/>
25505 + </cubicBezTo>
25506 + </path>
25507 + </pathLst>
25508 + </textWave4>
25509 +</presetTextWarpDefinitions>
25510 diff --git oox/source/export/shapes.cxx oox/source/export/shapes.cxx
25511 new file mode 100644
25512 index 0000000..7ce05d8
25513 --- /dev/null
25514 +++ oox/source/export/shapes.cxx
25515 @@ -0,0 +1,998 @@
25516 +/*************************************************************************
25518 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
25520 + * Copyright 2008 by Sun Microsystems, Inc.
25522 + * OpenOffice.org - a multi-platform office productivity suite
25524 + * $RCSfile$
25525 + * $Revision$
25527 + * This file is part of OpenOffice.org.
25529 + * OpenOffice.org is free software: you can redistribute it and/or modify
25530 + * it under the terms of the GNU Lesser General Public License version 3
25531 + * only, as published by the Free Software Foundation.
25533 + * OpenOffice.org is distributed in the hope that it will be useful,
25534 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
25535 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25536 + * GNU Lesser General Public License version 3 for more details
25537 + * (a copy is included in the LICENSE file that accompanied this code).
25539 + * You should have received a copy of the GNU Lesser General Public License
25540 + * version 3 along with OpenOffice.org. If not, see
25541 + * <http://www.openoffice.org/license.html>
25542 + * for a copy of the LGPLv3 License.
25544 + ************************************************************************/
25546 +#include "tokens.hxx"
25547 +#include "oox/core/xmlfilterbase.hxx"
25548 +#include "oox/export/shapes.hxx"
25549 +#include "oox/export/utils.hxx"
25551 +#include <cstdio>
25552 +#include <com/sun/star/awt/CharSet.hpp>
25553 +#include <com/sun/star/awt/FontDescriptor.hpp>
25554 +#include <com/sun/star/awt/FontSlant.hpp>
25555 +#include <com/sun/star/awt/FontWeight.hpp>
25556 +#include <com/sun/star/awt/FontUnderline.hpp>
25557 +#include <com/sun/star/awt/Gradient.hpp>
25558 +#include <com/sun/star/beans/XPropertySet.hpp>
25559 +#include <com/sun/star/beans/XPropertyState.hpp>
25560 +#include <com/sun/star/container/XEnumerationAccess.hpp>
25561 +#include <com/sun/star/drawing/FillStyle.hpp>
25562 +#include <com/sun/star/drawing/BitmapMode.hpp>
25563 +#include <com/sun/star/drawing/ConnectorType.hpp>
25564 +#include <com/sun/star/drawing/LineDash.hpp>
25565 +#include <com/sun/star/drawing/LineJoint.hpp>
25566 +#include <com/sun/star/drawing/LineStyle.hpp>
25567 +#include <com/sun/star/drawing/TextHorizontalAdjust.hpp>
25568 +#include <com/sun/star/drawing/TextVerticalAdjust.hpp>
25569 +#include <com/sun/star/i18n/ScriptType.hpp>
25570 +#include <com/sun/star/io/XOutputStream.hpp>
25571 +#include <com/sun/star/style/ParagraphAdjust.hpp>
25572 +#include <com/sun/star/text/XSimpleText.hpp>
25573 +#include <com/sun/star/text/XText.hpp>
25574 +#include <com/sun/star/text/XTextContent.hpp>
25575 +#include <com/sun/star/text/XTextField.hpp>
25576 +#include <com/sun/star/text/XTextRange.hpp>
25577 +#include <tools/stream.hxx>
25578 +#include <tools/string.hxx>
25579 +#include <vcl/cvtgrf.hxx>
25580 +#include <vcl/fontcvt.hxx>
25581 +#include <vcl/graph.hxx>
25582 +#include <vcl/outdev.hxx>
25583 +#include <goodies/grfmgr.hxx>
25584 +#include <rtl/strbuf.hxx>
25585 +#include <sfx2/app.hxx>
25586 +#include <svtools/languageoptions.hxx>
25587 +#include <svx/escherex.hxx>
25588 +#include <svx/svdoashp.hxx>
25589 +#include <svx/svxenum.hxx>
25590 +#include <svx/unoapi.hxx>
25592 +using namespace ::com::sun::star;
25593 +using namespace ::com::sun::star::uno;
25594 +using namespace ::com::sun::star::drawing;
25595 +using namespace ::com::sun::star::i18n;
25596 +using ::com::sun::star::beans::PropertyState;
25597 +using ::com::sun::star::beans::PropertyValue;
25598 +using ::com::sun::star::beans::XPropertySet;
25599 +using ::com::sun::star::beans::XPropertyState;
25600 +using ::com::sun::star::container::XEnumeration;
25601 +using ::com::sun::star::container::XEnumerationAccess;
25602 +using ::com::sun::star::container::XIndexAccess;
25603 +using ::com::sun::star::drawing::FillStyle;
25604 +using ::com::sun::star::io::XOutputStream;
25605 +using ::com::sun::star::text::XSimpleText;
25606 +using ::com::sun::star::text::XText;
25607 +using ::com::sun::star::text::XTextContent;
25608 +using ::com::sun::star::text::XTextField;
25609 +using ::com::sun::star::text::XTextRange;
25610 +using ::rtl::OString;
25611 +using ::rtl::OStringBuffer;
25612 +using ::rtl::OUString;
25613 +using ::rtl::OUStringBuffer;
25614 +using ::sax_fastparser::FSHelperPtr;
25616 +DBG(extern void dump_pset(Reference< XPropertySet > rXPropSet));
25618 +#define IDS(x) (OString(#x " ") + OString::valueOf( mnShapeIdMax++ )).getStr()
25620 +struct CustomShapeTypeTranslationTable
25622 + const char* sOOo;
25623 + const char* sMSO;
25626 +static const CustomShapeTypeTranslationTable pCustomShapeTypeTranslationTable[] =
25628 + // { "non-primitive", mso_sptMin },
25629 + { "rectangle", "rect" },
25630 + { "round-rectangle", "roundRect" },
25631 + { "ellipse", "ellipse" },
25632 + { "diamond", "diamond" },
25633 + { "isosceles-triangle", "triangle" },
25634 + { "right-triangle", "rtTriangle" },
25635 + { "parallelogram", "parallelogram" },
25636 + { "trapezoid", "trapezoid" },
25637 + { "hexagon", "hexagon" },
25638 + { "octagon", "octagon" },
25639 + { "cross", "plus" },
25640 + { "star5", "star5" },
25641 + { "right-arrow", "rightArrow" },
25642 + // { "mso-spt14", mso_sptThickArrow },
25643 + { "pentagon-right", "homePlate" },
25644 + { "cube", "cube" },
25645 + // { "mso-spt17", mso_sptBalloon },
25646 + // { "mso-spt18", mso_sptSeal },
25647 + { "mso-spt19", "arc" },
25648 + { "mso-spt20", "line" },
25649 + { "mso-spt21", "plaque" },
25650 + { "can", "can" },
25651 + { "ring", "donut" },
25652 + { "mso-spt24", "textSimple" },
25653 + { "mso-spt25", "textOctagon" },
25654 + { "mso-spt26", "textHexagon" },
25655 + { "mso-spt27", "textCurve" },
25656 + { "mso-spt28", "textWave" },
25657 + { "mso-spt29", "textRing" },
25658 + { "mso-spt30", "textOnCurve" },
25659 + { "mso-spt31", "textOnRing" },
25660 + { "mso-spt32", "straightConnector1" },
25661 + { "mso-spt33", "bentConnector2" },
25662 + { "mso-spt34", "bentConnector3" },
25663 + { "mso-spt35", "bentConnector4" },
25664 + { "mso-spt36", "bentConnector5" },
25665 + { "mso-spt37", "curvedConnector2" },
25666 + { "mso-spt38", "curvedConnector3" },
25667 + { "mso-spt39", "curvedConnector4" },
25668 + { "mso-spt40", "curvedConnector5" },
25669 + { "mso-spt41", "callout1" },
25670 + { "mso-spt42", "callout2" },
25671 + { "mso-spt43", "callout3" },
25672 + { "mso-spt44", "accentCallout1" },
25673 + { "mso-spt45", "accentCallout2" },
25674 + { "mso-spt46", "accentCallout3" },
25675 + { "line-callout-1", "borderCallout1" },
25676 + { "line-callout-2", "borderCallout2" },
25677 + { "line-callout-3", "borderCallout3" },
25678 + { "mso-spt49", "accentBorderCallout90" },
25679 + { "mso-spt50", "accentBorderCallout1" },
25680 + { "mso-spt51", "accentBorderCallout2" },
25681 + { "mso-spt52", "accentBorderCallout3" },
25682 + { "mso-spt53", "ribbon" },
25683 + { "mso-spt54", "ribbon2" },
25684 + { "chevron", "chevron" },
25685 + { "pentagon", "pentagon" },
25686 + { "forbidden", "noSmoking" },
25687 + { "star8", "seal8" },
25688 + { "mso-spt59", "seal16" },
25689 + { "mso-spt60", "seal32" },
25690 + { "rectangular-callout", "wedgeRectCallout" },
25691 + { "round-rectangular-callout", "wedgeRoundRectCallout" },
25692 + { "round-callout", "wedgeEllipseCallout" },
25693 + { "mso-spt64", "wave" },
25694 + { "paper", "foldedCorner" },
25695 + { "left-arrow", "leftArrow" },
25696 + { "down-arrow", "downArrow" },
25697 + { "up-arrow", "upArrow" },
25698 + { "left-right-arrow", "leftRightArrow" },
25699 + { "up-down-arrow", "upDownArrow" },
25700 + { "mso-spt71", "irregularSeal1" },
25701 + { "bang", "irregularSeal2" },
25702 + { "lightning", "lightningBolt" },
25703 + { "heart", "heart" },
25704 + { "mso-spt75", "pictureFrame" },
25705 + { "quad-arrow", "quadArrow" },
25706 + { "left-arrow-callout", "leftArrowCallout" },
25707 + { "right-arrow-callout", "rightArrowCallout" },
25708 + { "up-arrow-callout", "upArrowCallout" },
25709 + { "down-arrow-callout", "downArrowCallout" },
25710 + { "left-right-arrow-callout", "leftRightArrowCallout" },
25711 + { "up-down-arrow-callout", "upDownArrowCallout" },
25712 + { "quad-arrow-callout", "quadArrowCallout" },
25713 + { "quad-bevel", "bevel" },
25714 + { "left-bracket", "leftBracket" },
25715 + { "right-bracket", "rightBracket" },
25716 + { "left-brace", "leftBrace" },
25717 + { "right-brace", "rightBrace" },
25718 + { "mso-spt89", "leftUpArrow" },
25719 + { "mso-spt90", "bentUpArrow" },
25720 + { "mso-spt91", "bentArrow" },
25721 + { "star24", "seal24" },
25722 + { "striped-right-arrow", "stripedRightArrow" },
25723 + { "notched-right-arrow", "notchedRightArrow" },
25724 + { "block-arc", "blockArc" },
25725 + { "smiley", "smileyFace" },
25726 + { "vertical-scroll", "verticalScroll" },
25727 + { "horizontal-scroll", "horizontalScroll" },
25728 + { "circular-arrow", "circularArrow" },
25729 + { "mso-spt100", "pie" }, // looks like MSO_SPT is wrong here
25730 + { "mso-spt101", "uturnArrow" },
25731 + { "mso-spt102", "curvedRightArrow" },
25732 + { "mso-spt103", "curvedLeftArrow" },
25733 + { "mso-spt104", "curvedUpArrow" },
25734 + { "mso-spt105", "curvedDownArrow" },
25735 + { "cloud-callout", "cloudCallout" },
25736 + { "mso-spt107", "ellipseRibbon" },
25737 + { "mso-spt108", "ellipseRibbon2" },
25738 + { "flowchart-process", "flowChartProcess" },
25739 + { "flowchart-decision", "flowChartDecision" },
25740 + { "flowchart-data", "flowChartInputOutput" },
25741 + { "flowchart-predefined-process", "flowChartPredefinedProcess" },
25742 + { "flowchart-internal-storage", "flowChartInternalStorage" },
25743 + { "flowchart-document", "flowChartDocument" },
25744 + { "flowchart-multidocument", "flowChartMultidocument" },
25745 + { "flowchart-terminator", "flowChartTerminator" },
25746 + { "flowchart-preparation", "flowChartPreparation" },
25747 + { "flowchart-manual-input", "flowChartManualInput" },
25748 + { "flowchart-manual-operation", "flowChartManualOperation" },
25749 + { "flowchart-connector", "flowChartConnector" },
25750 + { "flowchart-card", "flowChartPunchedCard" },
25751 + { "flowchart-punched-tape", "flowChartPunchedTape" },
25752 + { "flowchart-summing-junction", "flowChartSummingJunction" },
25753 + { "flowchart-or", "flowChartOr" },
25754 + { "flowchart-collate", "flowChartCollate" },
25755 + { "flowchart-sort", "flowChartSort" },
25756 + { "flowchart-extract", "flowChartExtract" },
25757 + { "flowchart-merge", "flowChartMerge" },
25758 + { "mso-spt129", "flowChartOfflineStorage" },
25759 + { "flowchart-stored-data", "flowChartOnlineStorage" },
25760 + { "flowchart-sequential-access", "flowChartMagneticTape" },
25761 + { "flowchart-magnetic-disk", "flowChartMagneticDisk" },
25762 + { "flowchart-direct-access-storage", "flowChartMagneticDrum" },
25763 + { "flowchart-display", "flowChartDisplay" },
25764 + { "flowchart-delay", "flowChartDelay" },
25765 + { "fontwork-plain-text", "textPlainText" },
25766 + { "fontwork-stop", "textStop" },
25767 + { "fontwork-triangle-up", "textTriangle" },
25768 + { "fontwork-triangle-down", "textTriangleInverted" },
25769 + { "fontwork-chevron-up", "textChevron" },
25770 + { "fontwork-chevron-down", "textChevronInverted" },
25771 + { "mso-spt142", "textRingInside" },
25772 + { "mso-spt143", "textRingOutside" },
25773 + { "fontwork-arch-up-curve", "textArchUpCurve" },
25774 + { "fontwork-arch-down-curve", "textArchDownCurve" },
25775 + { "fontwork-circle-curve", "textCircleCurve" },
25776 + { "fontwork-open-circle-curve", "textButtonCurve" },
25777 + { "fontwork-arch-up-pour", "textArchUpPour" },
25778 + { "fontwork-arch-down-pour", "textArchDownPour" },
25779 + { "fontwork-circle-pour", "textCirclePour" },
25780 + { "fontwork-open-circle-pour", "textButtonPour" },
25781 + { "fontwork-curve-up", "textCurveUp" },
25782 + { "fontwork-curve-down", "textCurveDown" },
25783 + { "fontwork-fade-up-and-right", "textCascadeUp" },
25784 + { "fontwork-fade-up-and-left", "textCascadeDown" },
25785 + { "fontwork-wave", "textWave1" },
25786 + { "mso-spt157", "textWave2" },
25787 + { "mso-spt158", "textWave3" },
25788 + { "mso-spt159", "textWave4" },
25789 + { "fontwork-inflate", "textInflate" },
25790 + { "mso-spt161", "textDeflate" },
25791 + { "mso-spt162", "textInflateBottom" },
25792 + { "mso-spt163", "textDeflateBottom" },
25793 + { "mso-spt164", "textInflateTop" },
25794 + { "mso-spt165", "textDeflateTop" },
25795 + { "mso-spt166", "textDeflateInflate" },
25796 + { "mso-spt167", "textDeflateInflateDeflate" },
25797 + { "fontwork-fade-right", "textFadeRight" },
25798 + { "fontwork-fade-left", "textFadeLeft" },
25799 + { "fontwork-fade-up", "textFadeUp" },
25800 + { "fontwork-fade-down", "textFadeDown" },
25801 + { "fontwork-slant-up", "textSlantUp" },
25802 + { "fontwork-slant-down", "textSlantDown" },
25803 + { "mso-spt174", "textCanUp" },
25804 + { "mso-spt175", "textCanDown" },
25805 + { "flowchart-alternate-process", "flowChartAlternateProcess" },
25806 + { "flowchart-off-page-connector", "flowChartOffpageConnector" },
25807 + { "mso-spt178", "callout90" },
25808 + { "mso-spt179", "accentCallout90" },
25809 + { "mso-spt180", "borderCallout90" },
25810 + { "mso-spt182", "leftRightUpArrow" },
25811 + { "sun", "sun" },
25812 + { "moon", "moon" },
25813 + { "bracket-pair", "bracketPair" },
25814 + { "brace-pair", "bracePair" },
25815 + { "star4", "seal4" },
25816 + { "mso-spt188", "doubleWave" },
25817 + { "mso-spt189", "actionButtonBlank" },
25818 + { "mso-spt190", "actionButtonHome" },
25819 + { "mso-spt191", "actionButtonHelp" },
25820 + { "mso-spt192", "actionButtonInformation" },
25821 + { "mso-spt193", "actionButtonForwardNext" },
25822 + { "mso-spt194", "actionButtonBackPrevious" },
25823 + { "mso-spt195", "actionButtonEnd" },
25824 + { "mso-spt196", "actionButtonBeginning" },
25825 + { "mso-spt197", "actionButtonReturn" },
25826 + { "mso-spt198", "actionButtonDocument" },
25827 + { "mso-spt199", "actionButtonSound" },
25828 + { "mso-spt200", "actionButtonMovie" },
25829 + { "mso-spt201", "hostControl" },
25830 + { "mso-spt202", "rect" }
25833 +struct StringCheck
25835 + bool operator()( const char* s1, const char* s2 ) const
25837 + return strcmp( s1, s2 ) == 0;
25841 +typedef std::hash_map< const char*, const char*, std::hash<const char*>, StringCheck> CustomShapeTypeTranslationHashMap;
25842 +static CustomShapeTypeTranslationHashMap* pCustomShapeTypeTranslationHashMap = NULL;
25844 +static const char* lcl_GetPresetGeometry( const char* sShapeType )
25846 + const char* sPresetGeo;
25848 + if( pCustomShapeTypeTranslationHashMap == NULL )
25850 + pCustomShapeTypeTranslationHashMap = new CustomShapeTypeTranslationHashMap ();
25851 + for( unsigned int i = 0; i < sizeof( pCustomShapeTypeTranslationTable )/sizeof( CustomShapeTypeTranslationTable ); i ++ )
25853 + (*pCustomShapeTypeTranslationHashMap)[ pCustomShapeTypeTranslationTable[ i ].sOOo ] = pCustomShapeTypeTranslationTable[ i ].sMSO;
25854 + //DBG(printf("type OOo: %s MSO: %s\n", pCustomShapeTypeTranslationTable[ i ].sOOo, pCustomShapeTypeTranslationTable[ i ].sMSO));
25858 + sPresetGeo = (*pCustomShapeTypeTranslationHashMap)[ sShapeType ];
25860 + if( sPresetGeo == NULL )
25861 + sPresetGeo = "rect";
25863 + return sPresetGeo;
25866 +namespace oox { namespace drawingml {
25868 +#define GETA(propName) \
25869 + GetProperty( rXPropSet, String( RTL_CONSTASCII_USTRINGPARAM( #propName ) ) )
25871 +#define GETAD(propName) \
25872 + ( GetPropertyAndState( rXPropSet, rXPropState, String( RTL_CONSTASCII_USTRINGPARAM( #propName ) ), eState ) && eState == beans::PropertyState_DIRECT_VALUE )
25874 +#define GET(variable, propName) \
25875 + if ( GETA(propName) ) \
25876 + mAny >>= variable;
25878 +ShapeExport::ShapeExport( sal_Int32 nXmlNamespace, FSHelperPtr pFS, ::oox::core::XmlFilterBase* pFB, DocumentType eDocumentType )
25879 + : DrawingML( pFS, pFB, eDocumentType )
25880 + , mnXmlNamespace( nXmlNamespace )
25881 + , mnShapeIdMax( 1 )
25882 + , mnPictureIdMax( 1 )
25883 + , maFraction( 1, 576 )
25884 + , maMapModeSrc( MAP_100TH_MM )
25885 + , maMapModeDest( MAP_INCH, Point(), maFraction, maFraction )
25889 +sal_Int32 ShapeExport::GetXmlNamespace() const
25891 + return mnXmlNamespace;
25894 +ShapeExport& ShapeExport::SetXmlNamespace( sal_Int32 nXmlNamespace )
25896 + mnXmlNamespace = nXmlNamespace;
25897 + return *this;
25900 +awt::Size ShapeExport::MapSize( const awt::Size& rSize ) const
25902 + Size aRetSize( OutputDevice::LogicToLogic( Size( rSize.Width, rSize.Height ), maMapModeSrc, maMapModeDest ) );
25904 + if ( !aRetSize.Width() )
25905 + aRetSize.Width()++;
25906 + if ( !aRetSize.Height() )
25907 + aRetSize.Height()++;
25908 + return awt::Size( aRetSize.Width(), aRetSize.Height() );
25911 +sal_Bool ShapeExport::NonEmptyText( Reference< XShape > xShape )
25913 + Reference< XSimpleText > xText( xShape, UNO_QUERY );
25915 + return ( xText.is() && xText->getString().getLength() );
25918 +ShapeExport& ShapeExport::WriteBezierShape( Reference< XShape > xShape, sal_Bool bClosed )
25920 + DBG(printf("write open bezier shape\n"));
25922 + FSHelperPtr pFS = GetFS();
25923 + pFS->startElementNS( mnXmlNamespace, XML_sp, FSEND );
25925 + PolyPolygon aPolyPolygon = EscherPropertyContainer::GetPolyPolygon( xShape );
25926 + Rectangle aRect( aPolyPolygon.GetBoundRect() );
25927 + awt::Size size = MapSize( awt::Size( aRect.GetWidth(), aRect.GetHeight() ) );
25929 + DBG(printf("poly count %d\nsize: %d x %d", aPolyPolygon.Count(), int( size.Width ), int( size.Height )));
25931 + // non visual shape properties
25932 + pFS->startElementNS( mnXmlNamespace, XML_nvSpPr, FSEND );
25933 + pFS->singleElementNS( mnXmlNamespace, XML_cNvPr,
25934 + XML_id, I32S( GetNewShapeID( xShape ) ),
25935 + XML_name, IDS( Freeform ),
25936 + FSEND );
25937 + pFS->singleElementNS( mnXmlNamespace, XML_cNvSpPr, FSEND );
25938 + WriteNonVisualProperties( xShape );
25939 + pFS->endElementNS( mnXmlNamespace, XML_nvSpPr );
25941 + // visual shape properties
25942 + pFS->startElementNS( mnXmlNamespace, XML_spPr, FSEND );
25943 + WriteTransformation( aRect );
25944 + WritePolyPolygon( aPolyPolygon );
25945 + Reference< XPropertySet > xProps( xShape, UNO_QUERY );
25946 + if( xProps.is() ) {
25947 + if( bClosed )
25948 + WriteFill( xProps );
25949 + WriteOutline( xProps );
25952 + pFS->endElementNS( mnXmlNamespace, XML_spPr );
25954 + // write text
25955 + WriteTextBox( xShape );
25957 + pFS->endElementNS( mnXmlNamespace, XML_sp );
25959 + return *this;
25962 +ShapeExport& ShapeExport::WriteClosedBezierShape( Reference< XShape > xShape )
25964 + return WriteBezierShape( xShape, TRUE );
25967 +ShapeExport& ShapeExport::WriteOpenBezierShape( Reference< XShape > xShape )
25969 + return WriteBezierShape( xShape, FALSE );
25972 +ShapeExport& ShapeExport::WriteCustomShape( Reference< XShape > xShape )
25974 + DBG(printf("write custom shape\n"));
25976 + Reference< XPropertySet > rXPropSet( xShape, UNO_QUERY );
25977 + SdrObjCustomShape* pShape = (SdrObjCustomShape*) GetSdrObjectFromXShape( xShape );
25978 + sal_Bool bIsDefaultObject = EscherPropertyContainer::IsDefaultObject( pShape );
25979 + sal_Bool bPredefinedHandlesUsed = TRUE;
25980 + OUString sShapeType;
25981 + sal_uInt32 nMirrorFlags = 0;
25982 + MSO_SPT eShapeType = EscherPropertyContainer::GetCustomShapeType( xShape, nMirrorFlags, sShapeType );
25983 + const char* sPresetShape = lcl_GetPresetGeometry( USS( sShapeType ) );
25984 + DBG(printf("custom shape type: %s ==> %s\n", USS( sShapeType ), sPresetShape));
25985 + Sequence< PropertyValue > aGeometrySeq;
25986 + sal_Int32 nAdjustmentValuesIndex = -1;
25987 + sal_Int32 nAdjustmentsWhichNeedsToBeConverted = 0;
25989 + if( GETA( CustomShapeGeometry ) ) {
25990 + DBG(printf("got custom shape geometry\n"));
25991 + if( mAny >>= aGeometrySeq ) {
25993 + DBG(printf("got custom shape geometry sequence\n"));
25994 + for( int i = 0; i < aGeometrySeq.getLength(); i++ ) {
25995 + const PropertyValue& rProp = aGeometrySeq[ i ];
25996 + DBG(printf("geometry property: %s\n", USS( rProp.Name )));
25998 + if( rProp.Name.equalsAscii( "AdjustmentValues" ))
25999 + nAdjustmentValuesIndex = i;
26000 + else if( rProp.Name.equalsAscii( "Handles" )) {
26001 + if( !bIsDefaultObject )
26002 + bPredefinedHandlesUsed = FALSE;
26003 + // TODO: update nAdjustmentsWhichNeedsToBeConverted here
26009 + FSHelperPtr pFS = GetFS();
26010 + pFS->startElementNS( mnXmlNamespace, XML_sp, FSEND );
26012 + // non visual shape properties
26013 + pFS->startElementNS( mnXmlNamespace, XML_nvSpPr, FSEND );
26014 + pFS->singleElementNS( mnXmlNamespace, XML_cNvPr,
26015 + XML_id, I32S( GetNewShapeID( xShape ) ),
26016 + XML_name, IDS( CustomShape ),
26017 + FSEND );
26018 + pFS->singleElementNS( mnXmlNamespace, XML_cNvSpPr, FSEND );
26019 + WriteNonVisualProperties( xShape );
26020 + pFS->endElementNS( mnXmlNamespace, XML_nvSpPr );
26022 + // visual shape properties
26023 + pFS->startElementNS( mnXmlNamespace, XML_spPr, FSEND );
26024 + WriteShapeTransformation( xShape );
26025 + if( nAdjustmentValuesIndex != -1 )
26026 + WritePresetShape( sPresetShape, eShapeType, bPredefinedHandlesUsed, nAdjustmentsWhichNeedsToBeConverted, aGeometrySeq[ nAdjustmentValuesIndex ] );
26027 + else
26028 + WritePresetShape( sPresetShape );
26029 + if( rXPropSet.is() )
26031 + WriteFill( rXPropSet );
26032 + WriteOutline( rXPropSet );
26035 + pFS->endElementNS( mnXmlNamespace, XML_spPr );
26037 + // write text
26038 + WriteTextBox( xShape );
26040 + pFS->endElementNS( mnXmlNamespace, XML_sp );
26042 + return *this;
26045 +ShapeExport& ShapeExport::WriteEllipseShape( Reference< XShape > xShape )
26047 + DBG(printf("write ellipse shape\n"));
26049 + FSHelperPtr pFS = GetFS();
26051 + pFS->startElementNS( mnXmlNamespace, XML_sp, FSEND );
26053 + // TODO: arc, section, cut, connector
26055 + // non visual shape properties
26056 + pFS->startElementNS( mnXmlNamespace, XML_nvSpPr, FSEND );
26057 + pFS->singleElementNS( mnXmlNamespace, XML_cNvPr,
26058 + XML_id, I32S( GetNewShapeID( xShape ) ),
26059 + XML_name, IDS( Ellipse ),
26060 + FSEND );
26061 + pFS->singleElementNS( mnXmlNamespace, XML_cNvSpPr, FSEND );
26062 + WriteNonVisualProperties( xShape );
26063 + pFS->endElementNS( mnXmlNamespace, XML_nvSpPr );
26065 + // visual shape properties
26066 + pFS->startElementNS( mnXmlNamespace, XML_spPr, FSEND );
26067 + WriteShapeTransformation( xShape );
26068 + WritePresetShape( "ellipse" );
26069 + Reference< XPropertySet > xProps( xShape, UNO_QUERY );
26070 + if( xProps.is() )
26072 + WriteFill( xProps );
26073 + WriteOutline( xProps );
26075 + pFS->endElementNS( mnXmlNamespace, XML_spPr );
26077 + // write text
26078 + WriteTextBox( xShape );
26080 + pFS->endElementNS( mnXmlNamespace, XML_sp );
26082 + return *this;
26085 +ShapeExport& ShapeExport::WriteFill( Reference< XPropertySet > xPropSet )
26087 + FillStyle aFillStyle( FillStyle_NONE );
26088 + xPropSet->getPropertyValue( S( "FillStyle" ) ) >>= aFillStyle;
26090 + if( aFillStyle == FillStyle_BITMAP )
26092 + //DBG(printf ("FillStyle_BITMAP properties\n"));
26093 + //DBG(dump_pset(rXPropSet));
26096 + if( aFillStyle == FillStyle_NONE ||
26097 + aFillStyle == FillStyle_HATCH )
26098 + return *this;
26100 + switch( aFillStyle )
26102 + case ::com::sun::star::drawing::FillStyle_SOLID :
26103 + WriteSolidFill( xPropSet );
26104 + break;
26105 + case ::com::sun::star::drawing::FillStyle_GRADIENT :
26106 + WriteGradientFill( xPropSet );
26107 + break;
26108 + case ::com::sun::star::drawing::FillStyle_BITMAP :
26109 + WriteBlipFill( xPropSet, S( "FillBitmapURL" ) );
26110 + break;
26111 + default:
26115 + return *this;
26118 +ShapeExport& ShapeExport::WriteGraphicObjectShape( Reference< XShape > xShape )
26120 + DBG(printf("write graphic object shape\n"));
26122 + if( NonEmptyText( xShape ) )
26124 + WriteTextShape( xShape );
26126 + //DBG(dump_pset(mXPropSet));
26128 + return *this;
26131 + DBG(printf("graphicObject without text\n"));
26133 + OUString sGraphicURL;
26134 + Reference< XPropertySet > xShapeProps( xShape, UNO_QUERY );
26135 + if( !xShapeProps.is() || !( xShapeProps->getPropertyValue( S( "GraphicURL" ) ) >>= sGraphicURL ) )
26137 + DBG(printf("no graphic URL found\n"));
26138 + return *this;
26141 + FSHelperPtr pFS = GetFS();
26143 + pFS->startElementNS( mnXmlNamespace, XML_pic, FSEND );
26145 + pFS->startElementNS( mnXmlNamespace, XML_nvPicPr, FSEND );
26147 + OUString sName, sDescr;
26148 + bool bHaveName = xShapeProps->getPropertyValue( S( "Name" ) ) >>= sName;
26149 + bool bHaveDesc = xShapeProps->getPropertyValue( S( "Description" ) ) >>= sDescr;
26151 + pFS->singleElementNS( mnXmlNamespace, XML_cNvPr,
26152 + XML_id, I32S( GetNewShapeID( xShape ) ),
26153 + XML_name, bHaveName ? USS( sName ) : (OString("Picture ") + OString::valueOf( mnPictureIdMax++ )).getStr(),
26154 + XML_descr, bHaveDesc ? USS( sDescr ) : NULL,
26155 + FSEND );
26156 + // OOXTODO: //cNvPr children: XML_extLst, XML_hlinkClick, XML_hlinkHover
26158 + pFS->singleElementNS( mnXmlNamespace, XML_cNvPicPr,
26159 + // OOXTODO: XML_preferRelativeSize
26160 + FSEND );
26162 + WriteNonVisualProperties( xShape );
26164 + pFS->endElementNS( mnXmlNamespace, XML_nvPicPr );
26166 + pFS->startElementNS( mnXmlNamespace, XML_blipFill, FSEND );
26168 + WriteBlip( sGraphicURL );
26170 + bool bStretch = false;
26171 + if( ( xShapeProps->getPropertyValue( S( "FillBitmapStretch" ) ) >>= bStretch ) && bStretch )
26173 + WriteStretch();
26176 + pFS->endElementNS( mnXmlNamespace, XML_blipFill );
26178 + // visual shape properties
26179 + pFS->startElementNS( mnXmlNamespace, XML_spPr, FSEND );
26180 + WriteShapeTransformation( xShape );
26181 + WritePresetShape( "rect" );
26182 + pFS->endElementNS( mnXmlNamespace, XML_spPr );
26184 + pFS->endElementNS( mnXmlNamespace, XML_pic );
26186 + return *this;
26189 +ShapeExport& ShapeExport::WriteConnectorShape( Reference< XShape > xShape )
26191 + sal_Bool bFlipH = false;
26192 + sal_Bool bFlipV = false;
26194 + DBG(printf("write connector shape\n"));
26196 + FSHelperPtr pFS = GetFS();
26198 + const char* sGeometry = "line";
26199 + Reference< XPropertySet > rXPropSet( xShape, UNO_QUERY );
26200 + Reference< XPropertyState > rXPropState( xShape, UNO_QUERY );
26201 + awt::Point aStartPoint, aEndPoint;
26202 + Reference< XShape > rXShapeA;
26203 + Reference< XShape > rXShapeB;
26204 + PropertyState eState;
26205 + ConnectorType eConnectorType;
26206 + if( GETAD( EdgeKind ) ) {
26207 + mAny >>= eConnectorType;
26209 + switch( eConnectorType ) {
26210 + case ConnectorType_CURVE:
26211 + sGeometry = "curvedConnector3";
26212 + break;
26213 + case ConnectorType_STANDARD:
26214 + sGeometry = "bentConnector3";
26215 + break;
26216 + default:
26217 + case ConnectorType_LINE:
26218 + case ConnectorType_LINES:
26219 + sGeometry = "straightConnector1";
26220 + break;
26223 + if( GETAD( EdgeStartPoint ) ) {
26224 + mAny >>= aStartPoint;
26225 + if( GETAD( EdgeEndPoint ) ) {
26226 + mAny >>= aEndPoint;
26229 + GET( rXShapeA, EdgeStartConnection );
26230 + GET( rXShapeB, EdgeEndConnection );
26232 + EscherConnectorListEntry aConnectorEntry( xShape, aStartPoint, rXShapeA, aEndPoint, rXShapeB );
26234 + Rectangle aRect( Point( aStartPoint.X, aStartPoint.Y ), Point( aEndPoint.X, aEndPoint.Y ) );
26235 + if( aRect.getWidth() < 0 ) {
26236 + bFlipH = TRUE;
26237 + aRect.setX( aEndPoint.X );
26238 + aRect.setWidth( aStartPoint.X - aEndPoint.X );
26241 + if( aRect.getHeight() < 0 ) {
26242 + bFlipV = TRUE;
26243 + aRect.setY( aEndPoint.Y );
26244 + aRect.setHeight( aStartPoint.Y - aEndPoint.Y );
26247 + pFS->startElementNS( mnXmlNamespace, XML_cxnSp, FSEND );
26249 + // non visual shape properties
26250 + pFS->startElementNS( mnXmlNamespace, XML_nvCxnSpPr, FSEND );
26251 + pFS->singleElementNS( mnXmlNamespace, XML_cNvPr,
26252 + XML_id, I32S( GetNewShapeID( xShape ) ),
26253 + XML_name, IDS( Line ),
26254 + FSEND );
26255 + // non visual connector shape drawing properties
26256 + pFS->startElementNS( mnXmlNamespace, XML_cNvCxnSpPr, FSEND );
26257 + WriteConnectorConnections( aConnectorEntry, GetShapeID( rXShapeA ), GetShapeID( rXShapeB ) );
26258 + pFS->endElementNS( mnXmlNamespace, XML_cNvCxnSpPr );
26259 + pFS->singleElementNS( mnXmlNamespace, XML_nvPr, FSEND );
26260 + pFS->endElementNS( mnXmlNamespace, XML_nvCxnSpPr );
26262 + // visual shape properties
26263 + pFS->startElementNS( mnXmlNamespace, XML_spPr, FSEND );
26264 + WriteTransformation( aRect, bFlipH, bFlipV );
26265 + // TODO: write adjustments (ppt export doesn't work well there either)
26266 + WritePresetShape( sGeometry );
26267 + Reference< XPropertySet > xShapeProps( xShape, UNO_QUERY );
26268 + if( xShapeProps.is() )
26269 + WriteOutline( xShapeProps );
26270 + pFS->endElementNS( mnXmlNamespace, XML_spPr );
26272 + // write text
26273 + WriteTextBox( xShape );
26275 + pFS->endElementNS( mnXmlNamespace, XML_cxnSp );
26277 + return *this;
26280 +ShapeExport& ShapeExport::WriteLineShape( Reference< XShape > xShape )
26282 + sal_Bool bFlipH = false;
26283 + sal_Bool bFlipV = false;
26285 + DBG(printf("write line shape\n"));
26287 + FSHelperPtr pFS = GetFS();
26289 + pFS->startElementNS( mnXmlNamespace, XML_sp, FSEND );
26291 + PolyPolygon aPolyPolygon = EscherPropertyContainer::GetPolyPolygon( xShape );
26292 + if( aPolyPolygon.Count() == 1 && aPolyPolygon[ 0 ].GetSize() == 2)
26294 + const Polygon& rPoly = aPolyPolygon[ 0 ];
26296 + bFlipH = ( rPoly[ 0 ].X() > rPoly[ 1 ].X() );
26297 + bFlipV = ( rPoly[ 0 ].Y() > rPoly[ 1 ].Y() );
26300 + // non visual shape properties
26301 + pFS->startElementNS( mnXmlNamespace, XML_nvSpPr, FSEND );
26302 + pFS->singleElementNS( mnXmlNamespace, XML_cNvPr,
26303 + XML_id, I32S( GetNewShapeID( xShape ) ),
26304 + XML_name, IDS( Line ),
26305 + FSEND );
26306 + pFS->singleElementNS( mnXmlNamespace, XML_cNvSpPr, FSEND );
26307 + WriteNonVisualProperties( xShape );
26308 + pFS->endElementNS( mnXmlNamespace, XML_nvSpPr );
26310 + // visual shape properties
26311 + pFS->startElementNS( mnXmlNamespace, XML_spPr, FSEND );
26312 + WriteShapeTransformation( xShape, bFlipH, bFlipV );
26313 + WritePresetShape( "line" );
26314 + Reference< XPropertySet > xShapeProps( xShape, UNO_QUERY );
26315 + if( xShapeProps.is() )
26316 + WriteOutline( xShapeProps );
26317 + pFS->endElementNS( mnXmlNamespace, XML_spPr );
26319 + // write text
26320 + WriteTextBox( xShape );
26322 + pFS->endElementNS( mnXmlNamespace, XML_sp );
26324 + return *this;
26327 +ShapeExport& ShapeExport::WriteNonVisualDrawingProperties( Reference< XShape > xShape, const char* pName )
26329 + GetFS()->singleElementNS( mnXmlNamespace, XML_cNvPr,
26330 + XML_id, I32S( GetNewShapeID( xShape ) ),
26331 + XML_name, pName,
26332 + FSEND );
26334 + return *this;
26337 +ShapeExport& ShapeExport::WriteNonVisualProperties( Reference< XShape > )
26339 + // Override to generate //nvPr elements.
26340 + return *this;
26343 +ShapeExport& ShapeExport::WriteRectangleShape( Reference< XShape > xShape )
26345 + DBG(printf("write rectangle shape\n"));
26347 + FSHelperPtr pFS = GetFS();
26349 + pFS->startElementNS( mnXmlNamespace, XML_sp, FSEND );
26351 + sal_Int32 nRadius = 0;
26353 + Reference< XPropertySet > xShapeProps( xShape, UNO_QUERY );
26354 + if( xShapeProps.is() )
26356 + xShapeProps->getPropertyValue( S( "CornerRadius" ) ) >>= nRadius;
26359 + if( nRadius )
26361 + nRadius = MapSize( awt::Size( nRadius, 0 ) ).Width;
26364 + // non visual shape properties
26365 + pFS->startElementNS( mnXmlNamespace, XML_nvSpPr, FSEND );
26366 + pFS->singleElementNS( mnXmlNamespace, XML_cNvPr,
26367 + XML_id, I32S( GetNewShapeID( xShape ) ),
26368 + XML_name, IDS( Rectangle ),
26369 + FSEND );
26370 + pFS->singleElementNS( mnXmlNamespace, XML_cNvSpPr, FSEND );
26371 + WriteNonVisualProperties( xShape );
26372 + pFS->endElementNS( mnXmlNamespace, XML_nvSpPr );
26374 + // visual shape properties
26375 + pFS->startElementNS( mnXmlNamespace, XML_spPr, FSEND );
26376 + WriteShapeTransformation( xShape );
26377 + WritePresetShape( "rect" );
26378 + Reference< XPropertySet > xProps( xShape, UNO_QUERY );
26379 + if( xProps.is() )
26381 + WriteFill( xProps );
26382 + WriteOutline( xProps );
26384 + pFS->endElementNS( mnXmlNamespace, XML_spPr );
26386 + // write text
26387 + WriteTextBox( xShape );
26389 + pFS->endElementNS( mnXmlNamespace, XML_sp );
26391 + return *this;
26394 +typedef ShapeExport& (ShapeExport::*ShapeConverter)( Reference< XShape > );
26395 +typedef std::hash_map< const char*, ShapeConverter, std::hash<const char*>, StringCheck> NameToConvertMapType;
26397 +static const NameToConvertMapType& lcl_GetConverters()
26399 + static bool shape_map_inited = false;
26400 + static NameToConvertMapType shape_converters;
26401 + if( shape_map_inited )
26403 + return shape_converters;
26406 + shape_converters[ "com.sun.star.drawing.ClosedBezierShape" ] = &ShapeExport::WriteClosedBezierShape;
26407 + shape_converters[ "com.sun.star.drawing.ConnectorShape" ] = &ShapeExport::WriteConnectorShape;
26408 + shape_converters[ "com.sun.star.drawing.CustomShape" ] = &ShapeExport::WriteCustomShape;
26409 + shape_converters[ "com.sun.star.drawing.EllipseShape" ] = &ShapeExport::WriteEllipseShape;
26410 + shape_converters[ "com.sun.star.drawing.GraphicObjectShape" ] = &ShapeExport::WriteGraphicObjectShape;
26411 + shape_converters[ "com.sun.star.drawing.LineShape" ] = &ShapeExport::WriteLineShape;
26412 + shape_converters[ "com.sun.star.drawing.OpenBezierShape" ] = &ShapeExport::WriteOpenBezierShape;
26413 + shape_converters[ "com.sun.star.drawing.RectangleShape" ] = &ShapeExport::WriteRectangleShape;
26414 + shape_converters[ "com.sun.star.drawing.TextShape" ] = &ShapeExport::WriteTextShape;
26415 + shape_converters[ "com.sun.star.presentation.DateTimeShape" ] = &ShapeExport::WriteTextShape;
26416 + shape_converters[ "com.sun.star.presentation.FooterShape" ] = &ShapeExport::WriteTextShape;
26417 + shape_converters[ "com.sun.star.presentation.HeaderShape" ] = &ShapeExport::WriteTextShape;
26418 + shape_converters[ "com.sun.star.presentation.NotesShape" ] = &ShapeExport::WriteTextShape;
26419 + shape_converters[ "com.sun.star.presentation.OutlinerShape" ] = &ShapeExport::WriteTextShape;
26420 + shape_converters[ "com.sun.star.presentation.SlideNumberShape" ] = &ShapeExport::WriteTextShape;
26421 + shape_converters[ "com.sun.star.presentation.TitleTextShape" ] = &ShapeExport::WriteTextShape;
26422 + shape_map_inited = true;
26424 + return shape_converters;
26427 +ShapeExport& ShapeExport::WriteShape( Reference< XShape > xShape )
26429 + OUString sShapeType = xShape->getShapeType();
26430 + DBG( printf( "write shape: %s\n", USS( sShapeType ) ) );
26431 + NameToConvertMapType::const_iterator aConverter = lcl_GetConverters().find( USS( sShapeType ) );
26432 + if( aConverter == lcl_GetConverters().end() )
26434 + DBG( printf( "unknown shape\n" ) );
26435 + return WriteUnknownShape( xShape );
26437 + (this->*(aConverter->second))( xShape );
26439 + return *this;
26442 +ShapeExport& ShapeExport::WriteTextBox( Reference< XShape > xShape )
26444 + if( NonEmptyText( xShape ) )
26446 + FSHelperPtr pFS = GetFS();
26448 + pFS->startElementNS( mnXmlNamespace, XML_txBody, FSEND );
26449 + WriteText( xShape );
26450 + pFS->endElementNS( mnXmlNamespace, XML_txBody );
26453 + return *this;
26456 +ShapeExport& ShapeExport::WriteTextShape( Reference< XShape > xShape )
26458 + FSHelperPtr pFS = GetFS();
26460 + pFS->startElementNS( mnXmlNamespace, XML_sp, FSEND );
26462 + // non visual shape properties
26463 + pFS->startElementNS( mnXmlNamespace, XML_nvSpPr, FSEND );
26464 + WriteNonVisualDrawingProperties( xShape, IDS( TextShape ) );
26465 + pFS->singleElementNS( mnXmlNamespace, XML_cNvSpPr, XML_txBox, "1", FSEND );
26466 + WriteNonVisualProperties( xShape );
26467 + pFS->endElementNS( mnXmlNamespace, XML_nvSpPr );
26469 + // visual shape properties
26470 + pFS->startElementNS( mnXmlNamespace, XML_spPr, FSEND );
26471 + WriteShapeTransformation( xShape );
26472 + WritePresetShape( "rect" );
26473 + WriteBlipFill( Reference< XPropertySet >(xShape, UNO_QUERY ), S( "GraphicURL" ) );
26474 + pFS->endElementNS( mnXmlNamespace, XML_spPr );
26476 + WriteTextBox( xShape );
26478 + pFS->endElementNS( mnXmlNamespace, XML_sp );
26480 + return *this;
26483 +ShapeExport& ShapeExport::WriteUnknownShape( Reference< XShape > )
26485 + // Override this method to do something useful.
26486 + return *this;
26489 +size_t ShapeExport::ShapeHash::operator()( const ::com::sun::star::uno::Reference < ::com::sun::star::drawing::XShape > rXShape ) const
26491 + return maHashFunction( USS( rXShape->getShapeType() ) );
26494 +sal_Int32 ShapeExport::GetNewShapeID( const Reference< XShape > rXShape )
26496 + sal_Int32 nID = GetFB()->GetUniqueId();
26498 + maShapeMap[ rXShape ] = nID;
26500 + return nID;
26503 +sal_Int32 ShapeExport::GetShapeID( const Reference< XShape > rXShape )
26505 + ShapeHashMap::const_iterator aIter = maShapeMap.find( rXShape );
26507 + if( aIter == maShapeMap.end() )
26508 + return -1;
26510 + return aIter->second;
26513 +} }
26514 diff --git oox/source/export/vmlexport.cxx oox/source/export/vmlexport.cxx
26515 new file mode 100644
26516 index 0000000..d22e601
26517 --- /dev/null
26518 +++ oox/source/export/vmlexport.cxx
26519 @@ -0,0 +1,840 @@
26520 +/*************************************************************************
26522 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
26524 + * Copyright 2008 by Sun Microsystems, Inc.
26526 + * OpenOffice.org - a multi-platform office productivity suite
26528 + * $RCSfile$
26529 + * $Revision$
26531 + * This file is part of OpenOffice.org.
26533 + * OpenOffice.org is free software: you can redistribute it and/or modify
26534 + * it under the terms of the GNU Lesser General Public License version 3
26535 + * only, as published by the Free Software Foundation.
26537 + * OpenOffice.org is distributed in the hope that it will be useful,
26538 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
26539 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26540 + * GNU Lesser General Public License version 3 for more details
26541 + * (a copy is included in the LICENSE file that accompanied this code).
26543 + * You should have received a copy of the GNU Lesser General Public License
26544 + * version 3 along with OpenOffice.org. If not, see
26545 + * <http://www.openoffice.org/license.html>
26546 + * for a copy of the LGPLv3 License.
26548 + ************************************************************************/
26550 +#include <oox/export/vmlexport.hxx>
26552 +#include <tokens.hxx>
26554 +#include <rtl/strbuf.hxx>
26555 +#include <rtl/ustring.hxx>
26557 +#include <tools/stream.hxx>
26559 +#include <cstdio>
26561 +using rtl::OString;
26562 +using rtl::OStringBuffer;
26563 +using rtl::OUString;
26564 +using rtl::OUStringBuffer;
26566 +using namespace sax_fastparser;
26567 +using namespace oox::vml;
26569 +/// Implementation of an empty stream that silently succeeds, but does nothing.
26570 +///
26571 +/// In fact, this is a hack. The right solution is to abstract EscherEx to be
26572 +/// able to work without SvStream; but at the moment it is better to live with
26573 +/// this I guess.
26574 +class SvNullStream : public SvStream
26576 +protected:
26577 + virtual sal_Size GetData( void* pData, sal_Size nSize ) { memset( pData, 0, nSize ); return nSize; }
26578 + virtual sal_Size PutData( const void*, sal_Size nSize ) { return nSize; }
26579 + virtual sal_Size SeekPos( sal_Size nPos ) { return nPos; }
26580 + virtual void SetSize( sal_Size ) {}
26581 + virtual void FlushData() {}
26583 +public:
26584 + SvNullStream() : SvStream() {}
26585 + virtual ~SvNullStream() {}
26588 +VMLExport::VMLExport( ::sax_fastparser::FSHelperPtr pSerializer )
26589 + : EscherEx( *( new SvNullStream ), 0 ),
26590 + m_pSerializer( pSerializer ),
26591 + m_pShapeAttrList( NULL ),
26592 + m_nShapeType( ESCHER_ShpInst_Nil ),
26593 + m_pShapeStyle( new OStringBuffer( 200 ) ),
26594 + m_pShapeTypeWritten( new bool[ ESCHER_ShpInst_COUNT ] )
26596 + mnGroupLevel = 1;
26597 + memset( m_pShapeTypeWritten, 0, ESCHER_ShpInst_COUNT * sizeof( bool ) );
26600 +VMLExport::~VMLExport()
26602 + delete mpOutStrm, mpOutStrm = NULL;
26603 + delete m_pShapeStyle, m_pShapeStyle = NULL;
26604 + delete[] m_pShapeTypeWritten, m_pShapeTypeWritten = NULL;
26607 +void VMLExport::OpenContainer( UINT16 nEscherContainer, int nRecInstance )
26609 + EscherEx::OpenContainer( nEscherContainer, nRecInstance );
26611 + if ( nEscherContainer == ESCHER_SpContainer )
26613 + // opening a shape container
26614 +#if OSL_DEBUG_LEVEL > 0
26615 + if ( m_nShapeType != ESCHER_ShpInst_Nil )
26616 + fprintf( stderr, "Warning! VMLExport::OpenContainer(): opening shape inside a shape.\n" );
26617 +#endif
26618 + m_nShapeType = ESCHER_ShpInst_Nil;
26619 + m_pShapeAttrList = m_pSerializer->createAttrList();
26621 + if ( m_pShapeStyle->getLength() )
26622 + m_pShapeStyle->makeStringAndClear();
26624 + m_pShapeStyle->ensureCapacity( 200 );
26626 + // postpone the ouput so that we are able to write even the elements
26627 + // that we learn inside Commit()
26628 + m_pSerializer->mark();
26632 +void VMLExport::CloseContainer()
26634 + if ( mRecTypes.back() == ESCHER_SpContainer )
26636 + // write the shape now when we have all the info
26637 + sal_Int32 nShapeElement = StartShape();
26639 + m_pSerializer->mergeTopMarks();
26641 + EndShape( nShapeElement );
26643 + // cleanup
26644 + m_nShapeType = ESCHER_ShpInst_Nil;
26645 + m_pShapeAttrList = NULL;
26648 + EscherEx::CloseContainer();
26651 +UINT32 VMLExport::EnterGroup( const String& rShapeName, const Rectangle* pRect )
26653 + UINT32 nShapeId = GetShapeID();
26655 + OStringBuffer aStyle( 200 );
26656 + FastAttributeList *pAttrList = m_pSerializer->createAttrList();
26658 + pAttrList->add( XML_id, ShapeIdString( nShapeId ) );
26660 + if ( rShapeName.Len() )
26661 + pAttrList->add( XML_alt, OUStringToOString( OUString( rShapeName ), RTL_TEXTENCODING_UTF8 ) );
26663 + // style
26664 + if ( pRect )
26665 + AddRectangleDimensions( aStyle, *pRect );
26667 + if ( aStyle.getLength() )
26668 + pAttrList->add( XML_style, aStyle.makeStringAndClear() );
26670 + // coordorigin/coordsize
26671 + if ( pRect && ( mnGroupLevel == 1 ) )
26673 + pAttrList->add( XML_coordorigin,
26674 + OStringBuffer( 20 ).append( sal_Int32( pRect->Left() ) )
26675 + .append( "," ).append( sal_Int32( pRect->Top() ) )
26676 + .makeStringAndClear() );
26678 + pAttrList->add( XML_coordsize,
26679 + OStringBuffer( 20 ).append( sal_Int32( pRect->Right() ) - sal_Int32( pRect->Left() ) )
26680 + .append( "," ).append( sal_Int32( pRect->Bottom() ) - sal_Int32( pRect->Top() ) )
26681 + .makeStringAndClear() );
26684 + m_pSerializer->startElementNS( XML_v, XML_group, XFastAttributeListRef( pAttrList ) );
26686 + mnGroupLevel++;
26687 + return nShapeId;
26690 +void VMLExport::LeaveGroup()
26692 + --mnGroupLevel;
26693 + m_pSerializer->endElementNS( XML_v, XML_group );
26696 +void VMLExport::AddShape( UINT32 nShapeType, UINT32 nShapeFlags, UINT32 nShapeId )
26698 + m_nShapeType = nShapeType;
26699 + m_nShapeFlags = nShapeFlags;
26701 + m_pShapeAttrList->add( XML_id, ShapeIdString( nShapeId ) );
26704 +static void impl_AddArrowHead( sax_fastparser::FastAttributeList *pAttrList, sal_Int32 nElement, sal_uInt32 nValue )
26706 + if ( !pAttrList )
26707 + return;
26709 + const char *pArrowHead = NULL;
26710 + switch ( nValue )
26712 + case ESCHER_LineNoEnd: pArrowHead = "none"; break;
26713 + case ESCHER_LineArrowEnd: pArrowHead = "block"; break;
26714 + case ESCHER_LineArrowStealthEnd: pArrowHead = "classic"; break;
26715 + case ESCHER_LineArrowDiamondEnd: pArrowHead = "diamond"; break;
26716 + case ESCHER_LineArrowOvalEnd: pArrowHead = "oval"; break;
26717 + case ESCHER_LineArrowOpenEnd: pArrowHead = "open"; break;
26720 + if ( pArrowHead )
26721 + pAttrList->add( nElement, pArrowHead );
26724 +static void impl_AddArrowLength( sax_fastparser::FastAttributeList *pAttrList, sal_Int32 nElement, sal_uInt32 nValue )
26726 + if ( !pAttrList )
26727 + return;
26729 + const char *pArrowLength = NULL;
26730 + switch ( nValue )
26732 + case ESCHER_LineShortArrow: pArrowLength = "short"; break;
26733 + case ESCHER_LineMediumLenArrow: pArrowLength = "medium"; break;
26734 + case ESCHER_LineLongArrow: pArrowLength = "long"; break;
26737 + if ( pArrowLength )
26738 + pAttrList->add( nElement, pArrowLength );
26741 +static void impl_AddArrowWidth( sax_fastparser::FastAttributeList *pAttrList, sal_Int32 nElement, sal_uInt32 nValue )
26743 + if ( !pAttrList )
26744 + return;
26746 + const char *pArrowWidth = NULL;
26747 + switch ( nValue )
26749 + case ESCHER_LineNarrowArrow: pArrowWidth = "narrow"; break;
26750 + case ESCHER_LineMediumWidthArrow: pArrowWidth = "medium"; break;
26751 + case ESCHER_LineWideArrow: pArrowWidth = "wide"; break;
26754 + if ( pArrowWidth )
26755 + pAttrList->add( nElement, pArrowWidth );
26758 +static void impl_AddBool( sax_fastparser::FastAttributeList *pAttrList, sal_Int32 nElement, bool bValue )
26760 + if ( !pAttrList )
26761 + return;
26763 + pAttrList->add( nElement, bValue? "t": "f" );
26766 +static void impl_AddColor( sax_fastparser::FastAttributeList *pAttrList, sal_Int32 nElement, sal_uInt32 nColor )
26768 +#if OSL_DEBUG_LEVEL > 0
26769 + if ( nColor & 0xFF000000 )
26770 + fprintf( stderr, "TODO: this is not a RGB value!\n" );
26771 +#endif
26773 + if ( !pAttrList || ( nColor & 0xFF000000 ) )
26774 + return;
26776 + nColor = ( ( nColor & 0xFF ) << 16 ) + ( nColor & 0xFF00 ) + ( ( nColor & 0xFF0000 ) >> 16 );
26778 + const char *pColor = NULL;
26779 + char pRgbColor[10];
26780 + switch ( nColor )
26782 + case 0x000000: pColor = "black"; break;
26783 + case 0xC0C0C0: pColor = "silver"; break;
26784 + case 0x808080: pColor = "gray"; break;
26785 + case 0xFFFFFF: pColor = "white"; break;
26786 + case 0x800000: pColor = "maroon"; break;
26787 + case 0xFF0000: pColor = "red"; break;
26788 + case 0x800080: pColor = "purple"; break;
26789 + case 0xFF00FF: pColor = "fuchsia"; break;
26790 + case 0x008000: pColor = "green"; break;
26791 + case 0x00FF00: pColor = "lime"; break;
26792 + case 0x808000: pColor = "olive"; break;
26793 + case 0xFFFF00: pColor = "yellow"; break;
26794 + case 0x000080: pColor = "navy"; break;
26795 + case 0x0000FF: pColor = "blue"; break;
26796 + case 0x008080: pColor = "teal"; break;
26797 + case 0x00FFFF: pColor = "aqua"; break;
26798 + default:
26800 + snprintf( pRgbColor, sizeof( pRgbColor ), "#%06x", static_cast< unsigned int >( nColor ) ); // not too handy to use OString::valueOf() here :-(
26801 + pColor = pRgbColor;
26803 + break;
26806 + pAttrList->add( nElement, pColor );
26809 +static void impl_AddInt( sax_fastparser::FastAttributeList *pAttrList, sal_Int32 nElement, sal_uInt32 nValue )
26811 + if ( !pAttrList )
26812 + return;
26814 + pAttrList->add( nElement, OString::valueOf( static_cast< sal_Int32 >( nValue ) ).getStr() );
26817 +inline sal_uInt16 impl_GetUInt16( const sal_uInt8* &pVal )
26819 + sal_uInt16 nRet = *pVal++;
26820 + nRet += ( *pVal++ ) << 8;
26821 + return nRet;
26824 +inline sal_Int32 impl_GetPointComponent( const sal_uInt8* &pVal, sal_uInt16 nPointSize )
26826 + sal_Int32 nRet = 0;
26827 + if ( ( nPointSize == 0xfff0 ) || ( nPointSize == 4 ) )
26829 + sal_uInt16 nUnsigned = *pVal++;
26830 + nUnsigned += ( *pVal++ ) << 8;
26832 + nRet = sal_Int16( nUnsigned );
26834 + else if ( nPointSize == 8 )
26836 + sal_uInt32 nUnsigned = *pVal++;
26837 + nUnsigned += ( *pVal++ ) << 8;
26838 + nUnsigned += ( *pVal++ ) << 16;
26839 + nUnsigned += ( *pVal++ ) << 24;
26841 + nRet = nUnsigned;
26844 + return nRet;
26847 +void VMLExport::Commit( EscherPropertyContainer& rProps, const Rectangle& rRect )
26849 + if ( m_nShapeType == ESCHER_ShpInst_Nil )
26850 + return;
26852 + // postpone the output of the embedded elements so that they are written
26853 + // inside the shapes
26854 + m_pSerializer->mark();
26856 + // dimensions
26857 + if ( m_nShapeType == ESCHER_ShpInst_Line )
26858 + AddLineDimensions( rRect );
26859 + else
26860 + AddRectangleDimensions( *m_pShapeStyle, rRect );
26862 + // properties
26863 + bool bAlreadyWritten[ 0xFFF ];
26864 + memset( bAlreadyWritten, 0, sizeof( bAlreadyWritten ) );
26865 + const EscherProperties &rOpts = rProps.GetOpts();
26866 + for ( EscherProperties::const_iterator it = rOpts.begin(); it != rOpts.end(); ++it )
26868 + sal_uInt16 nId = ( it->nPropId & 0x0FFF );
26870 + if ( bAlreadyWritten[ nId ] )
26871 + continue;
26873 + switch ( nId )
26875 + case ESCHER_Prop_WrapText: // 133
26877 + const char *pWrapType = NULL;
26878 + switch ( it->nPropValue )
26880 + case ESCHER_WrapSquare:
26881 + case ESCHER_WrapByPoints: pWrapType = "square"; break; // these two are equivalent according to the docu
26882 + case ESCHER_WrapNone: pWrapType = "none"; break;
26883 + case ESCHER_WrapTopBottom: pWrapType = "topAndBottom"; break;
26884 + case ESCHER_WrapThrough: pWrapType = "through"; break;
26886 + if ( pWrapType )
26887 + m_pSerializer->singleElementNS( XML_w10, XML_wrap,
26888 + FSNS( XML_w10, XML_type ), pWrapType,
26889 + FSEND );
26891 + bAlreadyWritten[ ESCHER_Prop_WrapText ] = true;
26892 + break;
26894 + // coordorigin
26895 + case ESCHER_Prop_geoLeft: // 320
26896 + case ESCHER_Prop_geoTop: // 321
26898 + sal_uInt32 nLeft = 0, nTop = 0;
26900 + if ( nId == ESCHER_Prop_geoLeft )
26902 + nLeft = it->nPropValue;
26903 + rProps.GetOpt( ESCHER_Prop_geoTop, nTop );
26905 + else
26907 + nTop = it->nPropValue;
26908 + rProps.GetOpt( ESCHER_Prop_geoLeft, nLeft );
26911 + m_pShapeAttrList->add( XML_coordorigin,
26912 + OStringBuffer( 20 ).append( sal_Int32( nLeft ) )
26913 + .append( "," ).append( sal_Int32( nTop ) )
26914 + .makeStringAndClear() );
26916 + bAlreadyWritten[ ESCHER_Prop_geoLeft ] = true;
26917 + bAlreadyWritten[ ESCHER_Prop_geoTop ] = true;
26918 + break;
26920 + // coordsize
26921 + case ESCHER_Prop_geoRight: // 322
26922 + case ESCHER_Prop_geoBottom: // 323
26924 + sal_uInt32 nLeft = 0, nRight = 0, nTop = 0, nBottom = 0;
26925 + rProps.GetOpt( ESCHER_Prop_geoLeft, nLeft );
26926 + rProps.GetOpt( ESCHER_Prop_geoTop, nTop );
26928 + if ( nId == ESCHER_Prop_geoRight )
26930 + nRight = it->nPropValue;
26931 + rProps.GetOpt( ESCHER_Prop_geoBottom, nBottom );
26933 + else
26935 + nBottom = it->nPropValue;
26936 + rProps.GetOpt( ESCHER_Prop_geoRight, nRight );
26939 + m_pShapeAttrList->add( XML_coordsize,
26940 + OStringBuffer( 20 ).append( sal_Int32( nRight ) - sal_Int32( nLeft ) )
26941 + .append( "," ).append( sal_Int32( nBottom ) - sal_Int32( nTop ) )
26942 + .makeStringAndClear() );
26944 + bAlreadyWritten[ ESCHER_Prop_geoRight ] = true;
26945 + bAlreadyWritten[ ESCHER_Prop_geoBottom ] = true;
26946 + break;
26948 + case ESCHER_Prop_pVertices: // 325
26949 + case ESCHER_Prop_pSegmentInfo: // 326
26951 + EscherPropSortStruct aVertices;
26952 + EscherPropSortStruct aSegments;
26954 + if ( rProps.GetOpt( ESCHER_Prop_pVertices, aVertices ) &&
26955 + rProps.GetOpt( ESCHER_Prop_pSegmentInfo, aSegments ) )
26957 + const sal_uInt8 *pVerticesIt = aVertices.pBuf + 6;
26958 + const sal_uInt8 *pSegmentIt = aSegments.pBuf;
26959 + OStringBuffer aPath( 512 );
26961 + sal_uInt16 nPointSize = aVertices.pBuf[4] + ( aVertices.pBuf[5] << 8 );
26963 + // number of segments
26964 + sal_uInt16 nSegments = impl_GetUInt16( pSegmentIt );
26965 + pSegmentIt += 4;
26967 + for ( ; nSegments; --nSegments )
26969 + sal_uInt16 nSeg = impl_GetUInt16( pSegmentIt );
26970 + switch ( nSeg )
26972 + case 0x4000: // moveto
26974 + sal_Int32 nX = impl_GetPointComponent( pVerticesIt, nPointSize );
26975 + sal_Int32 nY = impl_GetPointComponent( pVerticesIt, nPointSize );
26976 + aPath.append( "m" ).append( nX ).append( "," ).append( nY );
26978 + break;
26979 + case 0xb300:
26980 + case 0xac00:
26981 + break;
26982 + case 0x0001: // lineto
26984 + sal_Int32 nX = impl_GetPointComponent( pVerticesIt, nPointSize );
26985 + sal_Int32 nY = impl_GetPointComponent( pVerticesIt, nPointSize );
26986 + aPath.append( "l" ).append( nX ).append( "," ).append( nY );
26988 + break;
26989 + case 0x2001: // curveto
26991 + sal_Int32 nX1 = impl_GetPointComponent( pVerticesIt, nPointSize );
26992 + sal_Int32 nY1 = impl_GetPointComponent( pVerticesIt, nPointSize );
26993 + sal_Int32 nX2 = impl_GetPointComponent( pVerticesIt, nPointSize );
26994 + sal_Int32 nY2 = impl_GetPointComponent( pVerticesIt, nPointSize );
26995 + sal_Int32 nX3 = impl_GetPointComponent( pVerticesIt, nPointSize );
26996 + sal_Int32 nY3 = impl_GetPointComponent( pVerticesIt, nPointSize );
26997 + aPath.append( "c" ).append( nX1 ).append( "," ).append( nY1 ).append( "," )
26998 + .append( nX2 ).append( "," ).append( nY2 ).append( "," )
26999 + .append( nX3 ).append( "," ).append( nY3 );
27001 + break;
27002 + case 0xaa00: // nofill
27003 + aPath.append( "nf" );
27004 + break;
27005 + case 0xab00: // nostroke
27006 + aPath.append( "ns" );
27007 + break;
27008 + case 0x6001: // close
27009 + aPath.append( "x" );
27010 + break;
27011 + case 0x8000: // end
27012 + aPath.append( "e" );
27013 + break;
27014 + default:
27015 +#if OSL_DEBUG_LEVEL > 0
27016 + fprintf( stderr, "TODO: unhandled segment '%x' in the path\n", nSeg );
27017 +#endif
27018 + break;
27022 + if ( aPath.getLength() )
27023 + m_pShapeAttrList->add( XML_path, aPath.getStr() );
27025 +#if OSL_DEBUG_LEVEL > 0
27026 + else
27027 + fprintf( stderr, "TODO: unhandled shape path, missing either pVertices or pSegmentInfo.\n" );
27028 +#endif
27030 + bAlreadyWritten[ ESCHER_Prop_pVertices ] = true;
27031 + bAlreadyWritten[ ESCHER_Prop_pSegmentInfo ] = true;
27032 + break;
27034 + case ESCHER_Prop_fillType: // 384
27035 + case ESCHER_Prop_fillColor: // 385
27036 + case ESCHER_Prop_fillBackColor: // 387
27037 + case ESCHER_Prop_fNoFillHitTest: // 447
27039 + sal_uInt32 nValue;
27040 + sax_fastparser::FastAttributeList *pAttrList = m_pSerializer->createAttrList();
27042 + if ( rProps.GetOpt( ESCHER_Prop_fillType, nValue ) )
27044 + const char *pFillType = NULL;
27045 + switch ( nValue )
27047 + case ESCHER_FillSolid: pFillType = "solid"; break;
27048 + // TODO case ESCHER_FillPattern: pFillType = ""; break;
27049 + // TODO case ESCHER_FillTexture: pFillType = ""; break;
27050 + // TODO case ESCHER_FillPicture: pFillType = ""; break;
27051 + // TODO case ESCHER_FillShade: pFillType = ""; break;
27052 + // TODO case ESCHER_FillShadeCenter: pFillType = ""; break;
27053 + // TODO case ESCHER_FillShadeShape: pFillType = ""; break;
27054 + // TODO case ESCHER_FillShadeScale: pFillType = ""; break;
27055 + // TODO case ESCHER_FillShadeTitle: pFillType = ""; break;
27056 + // TODO case ESCHER_FillBackground: pFillType = ""; break;
27057 + default:
27058 +#if OSL_DEBUG_LEVEL > 0
27059 + fprintf( stderr, "TODO: unhandled fill type\n" );
27060 +#endif
27061 + break;
27063 + if ( pFillType )
27064 + pAttrList->add( XML_type, pFillType );
27067 + if ( rProps.GetOpt( ESCHER_Prop_fillColor, nValue ) )
27068 + impl_AddColor( pAttrList, XML_color, nValue );
27070 + if ( rProps.GetOpt( ESCHER_Prop_fillBackColor, nValue ) )
27071 + impl_AddColor( pAttrList, XML_color2, nValue );
27073 + if ( rProps.GetOpt( ESCHER_Prop_fNoFillHitTest, nValue ) )
27074 + impl_AddBool( pAttrList, XML_detectmouseclick, nValue );
27076 + m_pSerializer->singleElementNS( XML_v, XML_fill, XFastAttributeListRef( pAttrList ) );
27078 + bAlreadyWritten[ ESCHER_Prop_fillType ] = true;
27079 + bAlreadyWritten[ ESCHER_Prop_fillColor ] = true;
27080 + bAlreadyWritten[ ESCHER_Prop_fillBackColor ] = true;
27081 + bAlreadyWritten[ ESCHER_Prop_fNoFillHitTest ] = true;
27082 + break;
27084 + case ESCHER_Prop_lineColor: // 448
27085 + case ESCHER_Prop_lineWidth: // 459
27086 + case ESCHER_Prop_lineDashing: // 462
27087 + case ESCHER_Prop_lineStartArrowhead: // 464
27088 + case ESCHER_Prop_lineEndArrowhead: // 465
27089 + case ESCHER_Prop_lineStartArrowWidth: // 466
27090 + case ESCHER_Prop_lineStartArrowLength: // 467
27091 + case ESCHER_Prop_lineEndArrowWidth: // 468
27092 + case ESCHER_Prop_lineEndArrowLength: // 469
27093 + case ESCHER_Prop_lineJoinStyle: // 470
27094 + case ESCHER_Prop_lineEndCapStyle: // 471
27096 + sal_uInt32 nValue;
27097 + sax_fastparser::FastAttributeList *pAttrList = m_pSerializer->createAttrList();
27099 + if ( rProps.GetOpt( ESCHER_Prop_lineColor, nValue ) )
27100 + impl_AddColor( pAttrList, XML_color, nValue );
27102 + if ( rProps.GetOpt( ESCHER_Prop_lineWidth, nValue ) )
27103 + impl_AddInt( pAttrList, XML_weight, nValue );
27105 + if ( rProps.GetOpt( ESCHER_Prop_lineDashing, nValue ) )
27107 + const char *pDashStyle = NULL;
27108 + switch ( nValue )
27110 + case ESCHER_LineSolid: pDashStyle = "solid"; break;
27111 + case ESCHER_LineDashSys: pDashStyle = "shortdash"; break;
27112 + case ESCHER_LineDotSys: pDashStyle = "shortdot"; break;
27113 + case ESCHER_LineDashDotSys: pDashStyle = "shortdashdot"; break;
27114 + case ESCHER_LineDashDotDotSys: pDashStyle = "shortdashdotdot"; break;
27115 + case ESCHER_LineDotGEL: pDashStyle = "dot"; break;
27116 + case ESCHER_LineDashGEL: pDashStyle = "dash"; break;
27117 + case ESCHER_LineLongDashGEL: pDashStyle = "longdash"; break;
27118 + case ESCHER_LineDashDotGEL: pDashStyle = "dashdot"; break;
27119 + case ESCHER_LineLongDashDotGEL: pDashStyle = "longdashdot"; break;
27120 + case ESCHER_LineLongDashDotDotGEL: pDashStyle = "longdashdotdot"; break;
27122 + if ( pDashStyle )
27123 + pAttrList->add( XML_dashstyle, pDashStyle );
27126 + if ( rProps.GetOpt( ESCHER_Prop_lineStartArrowhead, nValue ) )
27127 + impl_AddArrowHead( pAttrList, XML_startarrow, nValue );
27129 + if ( rProps.GetOpt( ESCHER_Prop_lineEndArrowhead, nValue ) )
27130 + impl_AddArrowHead( pAttrList, XML_endarrow, nValue );
27132 + if ( rProps.GetOpt( ESCHER_Prop_lineStartArrowWidth, nValue ) )
27133 + impl_AddArrowWidth( pAttrList, XML_startarrowwidth, nValue );
27135 + if ( rProps.GetOpt( ESCHER_Prop_lineStartArrowLength, nValue ) )
27136 + impl_AddArrowLength( pAttrList, XML_startarrowlength, nValue );
27138 + if ( rProps.GetOpt( ESCHER_Prop_lineEndArrowWidth, nValue ) )
27139 + impl_AddArrowWidth( pAttrList, XML_endarrowwidth, nValue );
27141 + if ( rProps.GetOpt( ESCHER_Prop_lineEndArrowLength, nValue ) )
27142 + impl_AddArrowLength( pAttrList, XML_endarrowlength, nValue );
27144 + if ( rProps.GetOpt( ESCHER_Prop_lineJoinStyle, nValue ) )
27146 + const char *pJoinStyle = NULL;
27147 + switch ( nValue )
27149 + case ESCHER_LineJoinBevel: pJoinStyle = "bevel"; break;
27150 + case ESCHER_LineJoinMiter: pJoinStyle = "miter"; break;
27151 + case ESCHER_LineJoinRound: pJoinStyle = "round"; break;
27153 + if ( pJoinStyle )
27154 + pAttrList->add( XML_joinstyle, pJoinStyle );
27157 + if ( rProps.GetOpt( ESCHER_Prop_lineEndCapStyle, nValue ) )
27159 + const char *pEndCap = NULL;
27160 + switch ( nValue )
27162 + case ESCHER_LineEndCapRound: pEndCap = "round"; break;
27163 + case ESCHER_LineEndCapSquare: pEndCap = "square"; break;
27164 + case ESCHER_LineEndCapFlat: pEndCap = "flat"; break;
27166 + if ( pEndCap )
27167 + pAttrList->add( XML_endcap, pEndCap );
27170 + m_pSerializer->singleElementNS( XML_v, XML_stroke, XFastAttributeListRef( pAttrList ) );
27172 + bAlreadyWritten[ ESCHER_Prop_lineColor ] = true;
27173 + bAlreadyWritten[ ESCHER_Prop_lineWidth ] = true;
27174 + bAlreadyWritten[ ESCHER_Prop_lineDashing ] = true;
27175 + bAlreadyWritten[ ESCHER_Prop_lineStartArrowhead ] = true;
27176 + bAlreadyWritten[ ESCHER_Prop_lineEndArrowhead ] = true;
27177 + bAlreadyWritten[ ESCHER_Prop_lineStartArrowWidth ] = true;
27178 + bAlreadyWritten[ ESCHER_Prop_lineStartArrowLength ] = true;
27179 + bAlreadyWritten[ ESCHER_Prop_lineEndArrowWidth ] = true;
27180 + bAlreadyWritten[ ESCHER_Prop_lineEndArrowLength ] = true;
27181 + bAlreadyWritten[ ESCHER_Prop_lineJoinStyle ] = true;
27182 + bAlreadyWritten[ ESCHER_Prop_lineEndCapStyle ] = true;
27183 + break;
27185 + case ESCHER_Prop_fHidden:
27186 + m_pShapeStyle->append( ";visibility:hidden" );
27187 + break;
27188 + default:
27189 +#if OSL_DEBUG_LEVEL > 0
27190 + fprintf( stderr, "TODO VMLExport::Commit(), unimplemented id: %d, value: %d, data: [%d, %p]\n",
27191 + it->nPropId, it->nPropValue, it->nPropSize, it->pBuf );
27192 + if ( it->nPropSize )
27194 + const sal_uInt8 *pIt = it->pBuf;
27195 + fprintf( stderr, " ( " );
27196 + for ( int nCount = it->nPropSize; nCount; --nCount )
27198 + fprintf( stderr, "%02x ", *pIt );
27199 + ++pIt;
27201 + fprintf( stderr, ")\n" );
27203 +#endif
27204 + break;
27208 + m_pSerializer->mergeTopMarks( sax_fastparser::MERGE_MARKS_POSTPONE );
27211 +OString VMLExport::ShapeIdString( sal_uInt32 nId )
27213 + return OStringBuffer( 20 ).append( "shape_" ).append( sal_Int64( nId ) ).makeStringAndClear();
27216 +void VMLExport::AddLineDimensions( const Rectangle& rRectangle )
27218 + // style
27219 + if ( m_pShapeStyle->getLength() )
27220 + m_pShapeStyle->append( ";" );
27222 + m_pShapeStyle->append( "position:absolute" );
27224 + switch ( m_nShapeFlags & 0xC0 )
27226 + case 0x40: m_pShapeStyle->append( ";flip:y" ); break;
27227 + case 0x80: m_pShapeStyle->append( ";flip:x" ); break;
27228 + case 0xC0: m_pShapeStyle->append( ";flip:xy" ); break;
27231 + // the actual dimensions
27232 + OString aLeft, aTop, aRight, aBottom;
27234 + if ( mnGroupLevel == 1 )
27236 + const OString aPt( "pt" );
27237 + aLeft = OString::valueOf( double( rRectangle.Left() ) / 20 ) + aPt;
27238 + aTop = OString::valueOf( double( rRectangle.Top() ) / 20 ) + aPt;
27239 + aRight = OString::valueOf( double( rRectangle.Right() ) / 20 ) + aPt;
27240 + aBottom = OString::valueOf( double( rRectangle.Bottom() ) / 20 ) + aPt;
27242 + else
27244 + aLeft = OString::valueOf( rRectangle.Left() );
27245 + aTop = OString::valueOf( rRectangle.Top() );
27246 + aRight = OString::valueOf( rRectangle.Right() );
27247 + aBottom = OString::valueOf( rRectangle.Bottom() );
27250 + m_pShapeAttrList->add( XML_from,
27251 + OStringBuffer( 20 ).append( aLeft )
27252 + .append( "," ).append( aTop )
27253 + .makeStringAndClear() );
27255 + m_pShapeAttrList->add( XML_to,
27256 + OStringBuffer( 20 ).append( aRight )
27257 + .append( "," ).append( aBottom )
27258 + .makeStringAndClear() );
27261 +void VMLExport::AddRectangleDimensions( rtl::OStringBuffer& rBuffer, const Rectangle& rRectangle )
27263 + if ( rBuffer.getLength() )
27264 + rBuffer.append( ";" );
27266 + rBuffer.append( "position:absolute;" );
27268 + if ( mnGroupLevel == 1 )
27270 + rBuffer.append( "margin-left:" ).append( double( rRectangle.Left() ) / 20 )
27271 + .append( "pt;margin-top:" ).append( double( rRectangle.Top() ) / 20 )
27272 + .append( "pt;width:" ).append( double( rRectangle.Right() - rRectangle.Left() ) / 20 )
27273 + .append( "pt;height:" ).append( double( rRectangle.Bottom() - rRectangle.Top() ) / 20 )
27274 + .append( "pt" );
27276 + else
27278 + rBuffer.append( "left:" ).append( rRectangle.Left() )
27279 + .append( ";top:" ).append( rRectangle.Top() )
27280 + .append( ";width:" ).append( rRectangle.Right() - rRectangle.Left() )
27281 + .append( ";height:" ).append( rRectangle.Bottom() - rRectangle.Top() );
27285 +void VMLExport::AddShapeAttribute( sal_Int32 nAttribute, const rtl::OString& rValue )
27287 + m_pShapeAttrList->add( nAttribute, rValue );
27290 +extern const char* pShapeTypes[];
27292 +sal_Int32 VMLExport::StartShape()
27294 + if ( m_nShapeType == ESCHER_ShpInst_Nil )
27295 + return -1;
27297 + // some of the shapes have their own name ;-)
27298 + sal_Int32 nShapeElement = -1;
27299 + bool bReferToShapeType = false;
27300 + switch ( m_nShapeType )
27302 + case ESCHER_ShpInst_NotPrimitive: nShapeElement = XML_shape; break;
27303 + case ESCHER_ShpInst_Rectangle: nShapeElement = XML_rect; break;
27304 + case ESCHER_ShpInst_RoundRectangle: nShapeElement = XML_roundrect; break;
27305 + case ESCHER_ShpInst_Ellipse: nShapeElement = XML_oval; break;
27306 + case ESCHER_ShpInst_Arc: nShapeElement = XML_arc; break;
27307 + case ESCHER_ShpInst_Line: nShapeElement = XML_line; break;
27308 + default:
27309 + if ( m_nShapeType < ESCHER_ShpInst_COUNT )
27311 + nShapeElement = XML_shape;
27313 + // a predefined shape?
27314 + const char* pShapeType = pShapeTypes[ m_nShapeType ];
27315 + if ( pShapeType )
27317 + bReferToShapeType = true;
27318 + if ( !m_pShapeTypeWritten[ m_nShapeType ] )
27320 + m_pSerializer->write( pShapeType );
27321 + m_pShapeTypeWritten[ m_nShapeType ] = true;
27324 + else
27326 + // rectangle is probably the best fallback...
27327 + nShapeElement = XML_rect;
27330 + break;
27333 + // add style
27334 + m_pShapeAttrList->add( XML_style, m_pShapeStyle->makeStringAndClear() );
27336 + if ( nShapeElement >= 0 )
27338 + if ( bReferToShapeType )
27340 + m_pShapeAttrList->add( XML_type, OStringBuffer( 20 )
27341 + .append( "shapetype_" ).append( sal_Int32( m_nShapeType ) )
27342 + .makeStringAndClear() );
27345 + // start of the shape
27346 + m_pSerializer->startElementNS( XML_v, nShapeElement, XFastAttributeListRef( m_pShapeAttrList ) );
27349 + return nShapeElement;
27352 +void VMLExport::EndShape( sal_Int32 nShapeElement )
27354 + if ( nShapeElement >= 0 )
27356 + // end of the shape
27357 + m_pSerializer->endElementNS( XML_v, nShapeElement );
27360 diff --git oox/source/token/tokens.txt oox/source/token/tokens.txt
27361 index 96f14da..4b3d47d 100644
27362 --- oox/source/token/tokens.txt
27363 +++ oox/source/token/tokens.txt
27364 @@ -1457,6 +1457,9 @@ cyan
27365 cycle
27366 cylinder
27369 +dcmitype
27370 +dcterms
27371 dLbl
27372 dLblPos
27373 dLbls
27374 @@ -5415,7 +5418,9 @@ vol
27375 volType
27376 volTypes
27377 vstream
27380 +w10
27381 wAfter
27382 wArH
27383 wBefore
27384 @@ -5493,6 +5498,7 @@ workbookView
27385 workbookViewId
27386 worksheet
27387 worksheetSource
27389 wpJustification
27390 wpSpaceWidth
27391 wrap
27392 @@ -5516,6 +5522,7 @@ xMode
27393 xSplit
27394 xVal
27395 xWindow
27396 +xdr
27398 xfDxf
27399 xfId
27400 @@ -5534,6 +5541,7 @@ xmlns
27401 xpath
27402 xrange
27403 xscale
27404 +xsi
27407 yAlign
27408 diff --git oox/util/makefile.mk oox/util/makefile.mk
27409 index 03f6c21..119e52e 100644
27410 --- oox/util/makefile.mk
27411 +++ oox/util/makefile.mk
27412 @@ -57,7 +57,8 @@ LIB1FILES= \
27413 $(SLB)$/table.lib\
27414 $(SLB)$/shape.lib\
27415 $(SLB)$/dump.lib\
27416 - $(SLB)$/docprop.lib
27417 + $(SLB)$/docprop.lib\
27418 + $(SLB)$/export.lib
27420 # --- Shared-Library -----------------------------------------------
27422 @@ -75,7 +76,13 @@ SHL1STDLIBS= \
27423 $(RTLLIB) \
27424 $(SALLIB) \
27425 $(BASEGFXLIB) \
27426 - $(SAXLIB)
27427 + $(SAXLIB) \
27428 + $(VCLLIB) \
27429 + $(GOODIESLIB) \
27430 + $(SVTOOLLIB) \
27431 + $(SVXCORELIB) \
27432 + $(SVXMSFILTERLIB) \
27433 + $(TOOLSLIB)
27435 SHL1DEF= $(MISC)$/$(SHL1TARGET).def
27436 SHL1LIBS= $(LIB1TARGET)
27437 diff --git reportdesign/util/makefile.mk reportdesign/util/makefile.mk
27438 index b114530..16eca7c 100644
27439 --- reportdesign/util/makefile.mk
27440 +++ reportdesign/util/makefile.mk
27441 @@ -54,6 +54,7 @@ LIB1FILES=\
27442 SHL1TARGET=$(TARGET)$(DLLPOSTFIX)
27444 SHL1STDLIBS= \
27445 + $(SVXCORELIB) \
27446 $(SVXLIB) \
27447 $(FWELIB) \
27448 $(SFXLIB) \
27449 @@ -107,6 +107,7 @@ LIB2FILES=\
27450 SHL2TARGET=$(TARGET2)$(DLLPOSTFIX)
27452 SHL2STDLIBS= \
27453 + $(SVXCORELIB) \
27454 $(SVXLIB) \
27455 $(SFXLIB) \
27456 $(SVTOOLLIB) \
27457 @@ -174,7 +174,7 @@ LIB3FILES=\
27458 SHL3TARGET=$(TARGET3)$(DLLPOSTFIX)
27460 SHL3STDLIBS=\
27461 - $(SVXLIB) \
27462 + $(SVXCORELIB) \
27463 $(XMLOFFLIB) \
27464 $(VCLLIB) \
27465 $(UNOTOOLSLIB) \
27466 diff --git sax/inc/sax/fshelper.hxx sax/inc/sax/fshelper.hxx
27467 index 70b22b5..1c95afc 100644
27468 --- sax/inc/sax/fshelper.hxx
27469 +++ sax/inc/sax/fshelper.hxx
27470 @@ -39,11 +39,13 @@
27471 #include <sax/fastattribs.hxx>
27472 #include "sax/dllapi.h"
27474 -#define FSNS(namespace, element) ((namespace << 16) | element)
27475 -#define FSEND -1 // same as XML_TOKEN_INVALID
27476 +#define FSNS(namespc, element) ((namespc << 16) | element)
27477 +const sal_Int32 FSEND = -1; // same as XML_TOKEN_INVALID
27479 namespace sax_fastparser {
27481 +enum MergeMarksEnum { MERGE_MARKS_APPEND = 0, MERGE_MARKS_PREPEND = 1, MERGE_MARKS_POSTPONE = 2 };
27483 typedef ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastAttributeList > XFastAttributeListRef;
27485 class FastSaxSerializer;
27486 @@ -82,6 +84,10 @@ public:
27487 inline void singleElementNS(sal_Int32 namespaceTokenId, sal_Int32 elementTokenId, XFastAttributeListRef xAttrList)
27488 { singleElementV(FSNS( namespaceTokenId, elementTokenId), xAttrList); }
27490 + void startElementV(sal_Int32 elementTokenId, XFastAttributeListRef xAttrList);
27491 + inline void startElementNS(sal_Int32 namespaceTokenId, sal_Int32 elementTokenId, XFastAttributeListRef xAttrList)
27492 + { startElementV( FSNS( namespaceTokenId, elementTokenId ), xAttrList ); }
27494 FastSerializerHelper* write(const char* value);
27495 FastSerializerHelper* write(const rtl::OUString& value);
27496 FastSerializerHelper* write(sal_Int32 value);
27497 @@ -99,7 +105,7 @@ public:
27498 FastAttributeList *createAttrList();
27500 void mark();
27501 - void mergeTopMarks( bool bPrepend = false );
27502 + void mergeTopMarks( MergeMarksEnum eMergeType = MERGE_MARKS_APPEND );
27504 private:
27506 diff --git sax/source/tools/fastserializer.cxx sax/source/tools/fastserializer.cxx
27507 index 0920886..6f159b8 100644
27508 --- sax/source/tools/fastserializer.cxx
27509 +++ sax/source/tools/fastserializer.cxx
27510 @@ -326,43 +326,29 @@ namespace sax_fastparser {
27512 void FastSaxSerializer::mark()
27514 - maMarkStack.push( Int8Sequence() );
27515 + maMarkStack.push( ForMerge() );
27518 - void FastSaxSerializer::mergeTopMarks( bool bPrepend )
27519 + void FastSaxSerializer::mergeTopMarks( sax_fastparser::MergeMarksEnum eMergeType )
27521 if ( maMarkStack.empty() )
27522 return;
27524 if ( maMarkStack.size() == 1 )
27526 - mxOutputStream->writeBytes( maMarkStack.top() );
27527 + mxOutputStream->writeBytes( maMarkStack.top().getData() );
27528 maMarkStack.pop();
27529 + return;
27531 - else
27533 + const Int8Sequence aMerge( maMarkStack.top().getData() );
27534 + maMarkStack.pop();
27536 + switch ( eMergeType )
27538 - const Int8Sequence aMerge( maMarkStack.top() );
27539 - maMarkStack.pop();
27541 - sal_Int32 nMergeLen = aMerge.getLength();
27542 - if ( nMergeLen > 0 )
27544 - Int8Sequence &rTop = maMarkStack.top();
27545 - sal_Int32 nTopLen = rTop.getLength();
27547 - rTop.realloc( nTopLen + nMergeLen );
27548 - if ( bPrepend )
27550 - // prepend the aMerge to the rTop
27551 - memmove( rTop.getArray() + nMergeLen, rTop.getConstArray(), nTopLen );
27552 - memcpy( rTop.getArray(), aMerge.getConstArray(), nMergeLen );
27554 - else
27556 - // append the aMerge to the rTop
27557 - memcpy( rTop.getArray() + nTopLen, aMerge.getConstArray(), nMergeLen );
27560 + case MERGE_MARKS_APPEND: maMarkStack.top().append( aMerge ); break;
27561 + case MERGE_MARKS_PREPEND: maMarkStack.top().prepend( aMerge ); break;
27562 + case MERGE_MARKS_POSTPONE: maMarkStack.top().postpone( aMerge ); break;
27566 @@ -371,15 +357,50 @@ namespace sax_fastparser {
27567 if ( maMarkStack.empty() )
27568 mxOutputStream->writeBytes( aData );
27569 else
27570 + maMarkStack.top().append( aData );
27573 + FastSaxSerializer::Int8Sequence& FastSaxSerializer::ForMerge::getData()
27575 + merge( maData, maPostponed, true );
27576 + maPostponed.realloc( 0 );
27578 + return maData;
27581 + void FastSaxSerializer::ForMerge::prepend( const Int8Sequence &rWhat )
27583 + merge( maData, rWhat, false );
27586 + void FastSaxSerializer::ForMerge::append( const Int8Sequence &rWhat )
27588 + merge( maData, rWhat, true );
27591 + void FastSaxSerializer::ForMerge::postpone( const Int8Sequence &rWhat )
27593 + merge( maPostponed, rWhat, true );
27596 + void FastSaxSerializer::ForMerge::merge( Int8Sequence &rTop, const Int8Sequence &rMerge, bool bAppend )
27598 + sal_Int32 nMergeLen = rMerge.getLength();
27599 + if ( nMergeLen > 0 )
27601 - sal_Int32 nDataLen = aData.getLength();
27602 - if ( nDataLen > 0 )
27604 - Int8Sequence &rTop = maMarkStack.top();
27605 - sal_Int32 nTopLen = rTop.getLength();
27606 + sal_Int32 nTopLen = rTop.getLength();
27608 - rTop.realloc( nTopLen + nDataLen );
27609 - memcpy( rTop.getArray() + nTopLen, aData.getConstArray(), nDataLen );
27610 + rTop.realloc( nTopLen + nMergeLen );
27611 + if ( bAppend )
27613 + // append the rMerge to the rTop
27614 + memcpy( rTop.getArray() + nTopLen, rMerge.getConstArray(), nMergeLen );
27616 + else
27618 + // prepend the rMerge to the rTop
27619 + memmove( rTop.getArray() + nMergeLen, rTop.getConstArray(), nTopLen );
27620 + memcpy( rTop.getArray(), rMerge.getConstArray(), nMergeLen );
27624 diff --git sax/source/tools/fastserializer.hxx sax/source/tools/fastserializer.hxx
27625 index 826c45f..429e7db 100644
27626 --- sax/source/tools/fastserializer.hxx
27627 +++ sax/source/tools/fastserializer.hxx
27628 @@ -45,6 +45,7 @@
27629 #include <stack>
27631 #include "sax/dllapi.h"
27632 +#include "sax/fshelper.hxx"
27634 #define SERIALIZER_IMPLEMENTATION_NAME "com.sun.star.comp.extensions.xml.sax.FastSerializer"
27635 #define SERIALIZER_SERVICE_NAME "com.sun.star.xml.sax.FastSerializer"
27636 @@ -112,27 +113,49 @@ public:
27638 /** Merge 2 topmost marks.
27640 - There are 2 possibilities - prepend the top before the second top-most
27641 - mark, or append it; prepending brings the possibility to switch parts
27642 - of the output.
27643 + There are 3 possibilities - prepend the top before the second top-most
27644 + mark, append it, or append it later; prepending brings the possibility
27645 + to switch parts of the output, appending later allows to write some
27646 + output in advance.
27648 Writes the result to the output stream if the mark stack becomes empty
27649 by the operation.
27651 + When the MERGE_MARKS_POSTPONE is specified, the merge happens just
27652 + before the next merge.
27654 @see mark()
27656 - void mergeTopMarks( bool bPrepend = false );
27657 + void mergeTopMarks( sax_fastparser::MergeMarksEnum eMergeType = sax_fastparser::MERGE_MARKS_APPEND );
27659 private:
27660 ::com::sun::star::uno::Reference< ::com::sun::star::io::XOutputStream > mxOutputStream;
27661 ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastTokenHandler > mxFastTokenHandler;
27663 typedef ::com::sun::star::uno::Sequence< ::sal_Int8 > Int8Sequence;
27664 - ::std::stack< Int8Sequence > maMarkStack;
27665 + class ForMerge
27667 + Int8Sequence maData;
27668 + Int8Sequence maPostponed;
27670 + public:
27671 + ForMerge() : maData(), maPostponed() {}
27673 + Int8Sequence& getData();
27675 + void prepend( const Int8Sequence &rWhat );
27676 + void append( const Int8Sequence &rWhat );
27677 + void postpone( const Int8Sequence &rWhat );
27679 + private:
27680 + static void merge( Int8Sequence &rTop, const Int8Sequence &rMerge, bool bAppend );
27681 + };
27683 + ::std::stack< ForMerge > maMarkStack;
27685 void writeFastAttributeList( const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastAttributeList >& Attribs );
27686 void write( const ::rtl::OUString& s );
27689 protected:
27690 /** Forward the call to the output stream, or write to the stack.
27692 @@ -144,4 +167,3 @@ protected:
27693 } // namespace sax_fastparser
27695 #endif
27697 diff --git sax/source/tools/fshelper.cxx sax/source/tools/fshelper.cxx
27698 index 2e3d42d..61d4661 100644
27699 --- sax/source/tools/fshelper.cxx
27700 +++ sax/source/tools/fshelper.cxx
27701 @@ -114,6 +114,12 @@ void FastSerializerHelper::endElement(sal_Int32 elementTokenId)
27702 mpSerializer->endFastElement(elementTokenId);
27705 +void FastSerializerHelper::startElementV(sal_Int32 elementTokenId, XFastAttributeListRef xAttrList)
27707 + mpSerializer->startFastElement(elementTokenId, xAttrList);
27711 void FastSerializerHelper::singleElement(const char* elementName, XFastAttributeListRef xAttrList)
27713 mpSerializer->singleUnknownElement(::rtl::OUString(), ::rtl::OUString::createFromAscii(elementName), xAttrList);
27714 @@ -181,9 +187,9 @@ void FastSerializerHelper::mark()
27715 mpSerializer->mark();
27718 -void FastSerializerHelper::mergeTopMarks( bool bPrepend )
27719 +void FastSerializerHelper::mergeTopMarks( MergeMarksEnum eMergeType )
27721 - mpSerializer->mergeTopMarks( bPrepend );
27722 + mpSerializer->mergeTopMarks( eMergeType );
27725 FastAttributeList * FastSerializerHelper::createAttrList()
27726 diff --git sc/util/makefile.mk sc/util/makefile.mk
27727 index c1e152f..88e0594 100644
27728 --- sc/util/makefile.mk
27729 +++ sc/util/makefile.mk
27730 @@ -83,6 +83,7 @@ SHL1STDLIBS= \
27731 $(SFXLIB) \
27732 $(SVTOOLLIB) \
27733 $(SVLLIB) \
27734 + $(SVXCORELIB) \
27735 $(SVXLIB) \
27736 $(GOODIESLIB) \
27737 $(BASEGFXLIB) \
27738 @@ -189,6 +190,8 @@ SHL6STDLIBS= \
27739 $(SFXLIB) \
27740 $(SVTOOLLIB) \
27741 $(SVLLIB) \
27742 + $(SVXCORELIB) \
27743 + $(SVXMSFILTERLIB) \
27744 $(SVXLIB) \
27745 $(GOODIESLIB) \
27746 $(BASEGFXLIB) \
27747 @@ -221,6 +224,7 @@ DEF8NAME=$(SHL8TARGET)
27749 SHL8STDLIBS= \
27750 $(ISCLIB) \
27751 + $(SVXCORELIB) \
27752 $(SVXLIB) \
27753 $(SFX2LIB) \
27754 $(SVTOOLLIB) \
27755 @@ -316,7 +320,7 @@ SHL9STDLIBS= \
27756 $(SALLIB)\
27757 $(BASICLIB) \
27758 $(SFXLIB) \
27759 - $(SVXLIB) \
27760 + $(SVXCORELIB) \
27761 $(SVTOOLLIB) \
27762 $(SVLLIB) \
27763 $(ISCLIB) \
27764 diff --git scp2/source/ooo/file_library_ooo.scp scp2/source/ooo/file_library_ooo.scp
27765 index 5e4f05d..7d8d4f4 100644
27766 --- scp2/source/ooo/file_library_ooo.scp
27767 +++ scp2/source/ooo/file_library_ooo.scp
27768 @@ -1449,7 +1449,11 @@ STD_LIB_FILE_PATCH( gid_File_Lib_Svl, svl )
27769 STD_UNO_LIB_FILE( gid_File_Lib_Svtools, svt )
27770 SPECIAL_UNO_COMPONENT_LIB_FILE( gid_File_Lib_Svtmisc, svtmisc.uno )
27772 +STD_LIB_FILE( gid_File_Lib_Svx_Core, svxcore)
27773 STD_UNO_LIB_FILE( gid_File_Lib_Svx, svx)
27775 +STD_LIB_FILE( gid_File_Lib_Svx_Msfilter, svxmsfilter)
27777 STD_UNO_LIB_FILE( gid_File_Lib_TextConversionDlgs, textconversiondlgs)
27779 STD_UNO_LIB_FILE( gid_File_Lib_Sw , sw)
27780 diff --git scp2/source/ooo/file_ooo.scp scp2/source/ooo/file_ooo.scp
27781 index b2643a4..f731f78 100644
27782 --- scp2/source/ooo/file_ooo.scp
27783 +++ scp2/source/ooo/file_ooo.scp
27784 @@ -359,7 +359,7 @@ End
27786 STD_FILTER_FILE( gid_File_Filter_Eme, eme)
27788 -STD_FILTER_FILE( gid_File_Filter_Emp, emp)
27789 +STD_FILTER_FILE( gid_File_Filter_Sdfilt, sdfilt)
27791 STD_FILTER_FILE( gid_File_Filter_Icg, icg)
27793 --- scp2/source/ooo/module_hidden_ooo.scp
27794 +++ scp2/source/ooo/module_hidden_ooo.scp
27795 @@ -140,7 +140,7 @@ Module gid_Module_Root_Files_4
27796 Styles = (HIDDEN_ROOT);
27797 Files = (gid_File_Dat_Root4,
27798 gid_File_Filter_Eme,
27799 - gid_File_Filter_Emp,
27800 + gid_File_Filter_Sdfilt,
27801 gid_File_Filter_Icg,
27802 gid_File_Filter_Egi,
27803 gid_File_Filter_Epb,
27804 diff --git sd/inc/CustomAnimationEffect.hxx sd/inc/CustomAnimationEffect.hxx
27805 index d96d6fa..ce3cd59 100644
27806 --- sd/inc/CustomAnimationEffect.hxx
27807 +++ sd/inc/CustomAnimationEffect.hxx
27808 @@ -38,15 +38,13 @@
27809 #include <com/sun/star/util/XChangesListener.hpp>
27810 #include <tools/string.hxx>
27812 -#ifndef BOOST_SHARED_PTR_HPP_INCLUDED
27813 #include <boost/shared_ptr.hpp>
27814 -#endif
27816 -#ifndef _UTL_STLTYPES_HXX_
27817 #include <comphelper/stl_types.hxx>
27818 -#endif
27819 #include <vcl/timer.hxx>
27821 +#include <sddllapi.h>
27823 #include <list>
27824 #include <map>
27826 @@ -76,7 +74,7 @@ class CustomAnimationEffect
27827 friend class EffectSequenceHelper;
27829 public:
27830 - CustomAnimationEffect( const ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode >& xNode );
27831 + SD_DLLPUBLIC CustomAnimationEffect( const ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode >& xNode );
27832 virtual ~CustomAnimationEffect();
27834 const ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode >& getNode() const { return mxNode; }
27835 @@ -94,7 +92,7 @@ public:
27836 void setPresetClass( sal_Int16 nPresetClass );
27838 sal_Int16 getNodeType() const { return mnNodeType; }
27839 - void setNodeType( sal_Int16 nNodeType );
27840 + SD_DLLPUBLIC void setNodeType( sal_Int16 nNodeType );
27842 ::com::sun::star::uno::Any getRepeatCount() const;
27843 void setRepeatCount( const ::com::sun::star::uno::Any& rRepeatCount );
27844 @@ -106,10 +104,10 @@ public:
27845 void setFill( sal_Int16 nFill );
27847 double getBegin() const { return mfBegin; }
27848 - void setBegin( double fBegin );
27849 + SD_DLLPUBLIC void setBegin( double fBegin );
27851 double getDuration() const { return mfDuration; }
27852 - void setDuration( double fDuration );
27853 + SD_DLLPUBLIC void setDuration( double fDuration );
27855 double getAbsoluteDuration() const { return mfAbsoluteDuration; }
27857 @@ -117,13 +115,13 @@ public:
27858 void setName( const String& rName ) { maName = rName; }
27860 sal_Int16 getIterateType() const { return mnIterateType; }
27861 - void setIterateType( sal_Int16 nIterateType );
27862 + SD_DLLPUBLIC void setIterateType( sal_Int16 nIterateType );
27864 double getIterateInterval() const { return mfIterateInterval; }
27865 - void setIterateInterval( double fIterateInterval );
27866 + SD_DLLPUBLIC void setIterateInterval( double fIterateInterval );
27868 ::com::sun::star::uno::Any getTarget() const { return maTarget; }
27869 - void setTarget( const ::com::sun::star::uno::Any& rTarget );
27870 + SD_DLLPUBLIC void setTarget( const ::com::sun::star::uno::Any& rTarget );
27872 sal_Bool hasAfterEffect() const { return mbHasAfterEffect; }
27873 void setHasAfterEffect( sal_Bool bHasAfterEffect ) { mbHasAfterEffect = bHasAfterEffect; }
27874 @@ -165,7 +163,7 @@ public:
27875 void setGroupId( sal_Int32 nGroupId );
27877 sal_Int16 getTargetSubItem() const { return mnTargetSubItem; }
27878 - void setTargetSubItem( sal_Int16 nSubItem );
27879 + SD_DLLPUBLIC void setTargetSubItem( sal_Int16 nSubItem );
27881 ::rtl::OUString getPath() const;
27882 void setPath( const ::rtl::OUString& rPath );
27883 @@ -175,8 +173,8 @@ public:
27885 void setAudio( const ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAudio >& xAudio );
27886 bool getStopAudio() const;
27887 - void setStopAudio();
27888 - void createAudio( const ::com::sun::star::uno::Any& rSource, double fVolume = 1.0 );
27889 + SD_DLLPUBLIC void setStopAudio();
27890 + SD_DLLPUBLIC void createAudio( const ::com::sun::star::uno::Any& rSource, double fVolume = 1.0 );
27891 void removeAudio();
27892 const ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAudio >& getAudio() const { return mxAudio; }
27894 @@ -297,7 +295,7 @@ public:
27896 CustomAnimationEffectPtr append( const CustomAnimationPresetPtr& pDescriptor, const ::com::sun::star::uno::Any& rTarget, double fDuration = -1.0 );
27897 CustomAnimationEffectPtr append( const SdrPathObj& rPathObj, const ::com::sun::star::uno::Any& rTarget, double fDuration = -1.0 );
27898 - void append( const CustomAnimationEffectPtr& pEffect );
27899 + SD_DLLPUBLIC void append( const CustomAnimationEffectPtr& pEffect );
27900 void insert( EffectSequence::iterator& rPos, const CustomAnimationEffectPtr& pEffect );
27901 void replace( const CustomAnimationEffectPtr& pEffect, const CustomAnimationPresetPtr& pDescriptor, double fDuration = -1.0 );
27902 void replace( const CustomAnimationEffectPtr& pEffect, const CustomAnimationPresetPtr& pDescriptor, const rtl::OUString& rPresetSubType, double fDuration = -1.0 );
27903 @@ -337,7 +335,7 @@ public:
27904 // text group methods
27906 CustomAnimationTextGroupPtr findGroup( sal_Int32 nGroupId );
27907 - CustomAnimationTextGroupPtr createTextGroup( CustomAnimationEffectPtr pEffect, sal_Int32 nTextGrouping, double fTextGroupingAuto, sal_Bool bAnimateForm, sal_Bool bTextReverse );
27908 + SD_DLLPUBLIC CustomAnimationTextGroupPtr createTextGroup( CustomAnimationEffectPtr pEffect, sal_Int32 nTextGrouping, double fTextGroupingAuto, sal_Bool bAnimateForm, sal_Bool bTextReverse );
27909 void setTextGrouping( CustomAnimationTextGroupPtr pTextGroup, sal_Int32 nTextGrouping );
27910 void setAnimateForm( CustomAnimationTextGroupPtr pTextGroup, sal_Bool bAnimateForm );
27911 void setTextGroupingAuto( CustomAnimationTextGroupPtr pTextGroup, double fTextGroupingAuto );
27912 diff --git sd/inc/CustomAnimationPreset.hxx sd/inc/CustomAnimationPreset.hxx
27913 index c600fa6..699ca81 100644
27914 --- sd/inc/CustomAnimationPreset.hxx
27915 +++ sd/inc/CustomAnimationPreset.hxx
27916 @@ -59,7 +59,7 @@ public:
27918 void add( CustomAnimationEffectPtr pEffect );
27920 - ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode > create( const rtl::OUString& rstrSubType );
27921 + SD_DLLPUBLIC ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode > create( const rtl::OUString& rstrSubType );
27923 const rtl::OUString& getPresetId() const { return maPresetId; }
27924 const rtl::OUString& getProperty() const { return maProperty; }
27925 @@ -108,11 +108,11 @@ public:
27927 void init();
27929 - static const CustomAnimationPresets& getCustomAnimationPresets();
27930 + SD_DLLPUBLIC static const CustomAnimationPresets& getCustomAnimationPresets();
27932 ::com::sun::star::uno::Reference< ::com::sun::star::animations::XAnimationNode > getRandomPreset( sal_Int16 nPresetClass ) const;
27934 - CustomAnimationPresetPtr getEffectDescriptor( const rtl::OUString& rPresetId ) const;
27935 + SD_DLLPUBLIC CustomAnimationPresetPtr getEffectDescriptor( const rtl::OUString& rPresetId ) const;
27936 // const AnimationEffect* getEffect( const rtl::OUString& rPresetId ) const;
27937 // const AnimationEffect* getEffect( const rtl::OUString& rPresetId, const rtl::OUString& rPresetSubType ) const;
27939 diff --git sd/inc/animations.hxx sd/inc/animations.hxx
27940 index 1aa3cc7..3958056 100644
27941 --- sd/inc/animations.hxx
27942 +++ sd/inc/animations.hxx
27943 @@ -1,6 +1,8 @@
27944 #ifndef _SD_ANIMATIONS_HXX_
27945 #define _SD_ANIMATIONS_HXX_
27947 +#include <sddllapi.h>
27949 namespace sd
27952 @@ -21,7 +23,7 @@ typedef std::list< AfterEffectNode > AfterEffectNodeList;
27954 /** inserts the animation node in the given AfterEffectNode at the correct position
27955 in the timing hierarchie of its master */
27956 -void stl_process_after_effect_node_func(AfterEffectNode& rNode);
27957 +SD_DLLPUBLIC void stl_process_after_effect_node_func(AfterEffectNode& rNode);
27959 } // namespace sd;
27961 diff --git sd/inc/drawdoc.hxx sd/inc/drawdoc.hxx
27962 index 71145d8..2ab3559 100644
27963 --- sd/inc/drawdoc.hxx
27964 +++ sd/inc/drawdoc.hxx
27965 @@ -249,7 +249,7 @@ public:
27967 SvxNumType GetPageNumType() const;
27968 void SetPageNumType(SvxNumType eType) { mePageNumType = eType; }
27969 - String CreatePageNumValue(USHORT nNum) const;
27970 + SD_DLLPUBLIC String CreatePageNumValue(USHORT nNum) const;
27972 DocumentType GetDocumentType() const { return meDocType; }
27974 @@ -263,7 +263,7 @@ public:
27975 for newly created slides.
27977 SD_DLLPUBLIC void CreateFirstPages( SdDrawDocument* pRefDocument = 0 );
27978 - BOOL CreateMissingNotesAndHandoutPages();
27979 + SD_DLLPUBLIC BOOL CreateMissingNotesAndHandoutPages();
27981 void MovePage(USHORT nPgNum, USHORT nNewPos);
27982 void InsertPage(SdrPage* pPage, USHORT nPos=0xFFFF);
27983 @@ -439,7 +439,7 @@ public:
27984 /** deprecated*/
27985 SdAnimationInfo* GetAnimationInfo(SdrObject* pObject) const;
27987 - static SdAnimationInfo* GetShapeUserData(SdrObject& rObject, bool bCreate = false );
27988 + SD_DLLPUBLIC static SdAnimationInfo* GetShapeUserData(SdrObject& rObject, bool bCreate = false );
27990 SdIMapInfo* GetIMapInfo( SdrObject* pObject ) const;
27991 IMapObject* GetHitIMapObject( SdrObject* pObject, const Point& rWinPoint, const ::Window& rCmpWnd );
27992 @@ -592,6 +592,10 @@ public:
27993 /* converts the given western font height to a corresponding ctl font height, deppending on the system language */
27994 static sal_uInt32 convertFontHeightToCTL( sal_uInt32 nWesternFontHeight );
27996 + /** Get the style sheet pool if it was a SdStyleSheetPool.
27997 + */
27998 + SD_DLLPUBLIC SdStyleSheetPool* GetSdStyleSheetPool() const;
28000 private:
28001 /** This member stores the printer independent layout mode. Please
28002 refer to <member>SetPrinterIndependentLayout()</member> for its
28003 diff --git sd/inc/helper/simplereferencecomponent.hxx sd/inc/helper/simplereferencecomponent.hxx
28004 index 3a19ee9..f8b8554 100644
28005 --- sd/inc/helper/simplereferencecomponent.hxx
28006 +++ sd/inc/helper/simplereferencecomponent.hxx
28007 @@ -34,14 +34,10 @@
28008 #include "osl/interlck.h"
28009 #include "sal/types.h"
28011 -#ifndef INCLUDED_CSTDDEF
28012 #include <cstddef>
28013 -#define INCLUDED_CSTDDEF
28014 -#endif
28015 -#ifndef INCLUDED_NEW
28016 #include <new>
28017 -#define INCLUDED_NEW
28018 -#endif
28020 +#include <sddllapi.h>
28022 namespace sd {
28024 @@ -60,8 +56,8 @@ public:
28025 the total number of calls to release() by a plattform dependent amount
28026 (which, hopefully, is quite large).
28028 - void acquire();
28029 - void release();
28030 + SD_DLLPUBLIC void acquire();
28031 + SD_DLLPUBLIC void release();
28033 void Dispose();
28035 diff --git sd/inc/stlpool.hxx sd/inc/stlpool.hxx
28036 index 9c7f039..d4b7d9d 100644
28037 --- sd/inc/stlpool.hxx
28038 +++ sd/inc/stlpool.hxx
28039 @@ -47,6 +47,8 @@
28040 #include <stlfamily.hxx>
28041 #include <stlsheet.hxx>
28043 +#include <sddllapi.h>
28045 class SdStyleSheet;
28046 class SdDrawDocument;
28047 class SdPage;
28048 @@ -82,7 +84,7 @@ public:
28049 had to be created. This is used to assert errors in documents
28050 when styles are missing.
28052 - void CreateLayoutStyleSheets(const String& rLayoutName, sal_Bool bCheck = sal_False );
28053 + SD_DLLPUBLIC void CreateLayoutStyleSheets(const String& rLayoutName, sal_Bool bCheck = sal_False );
28054 void EraseLayoutStyleSheets(const String& rLayoutName);
28055 List* CreateLayoutSheetNames(const String& rLayoutName) const;
28056 void CreateLayoutSheetList(const String& rLayoutName, SdStyleSheetVector& rLayoutSheets);
28057 @@ -150,6 +152,3 @@ private:
28060 #endif // _SD_STLPOOL_HXX
28064 diff --git sd/source/core/drawdoc4.cxx sd/source/core/drawdoc4.cxx
28065 index abd6968..4454125 100644
28066 --- sd/source/core/drawdoc4.cxx
28067 +++ sd/source/core/drawdoc4.cxx
28068 @@ -1543,6 +1543,11 @@ sal_uInt32 SdDrawDocument::convertFontHeightToCTL( sal_uInt32 nWesternFontHeight
28069 return nWesternFontHeight;
28072 +SdStyleSheetPool* SdDrawDocument::GetSdStyleSheetPool() const
28074 + return dynamic_cast< SdStyleSheetPool* >( GetStyleSheetPool() );
28077 ModifyGuard::ModifyGuard( DrawDocShell* pDocShell )
28078 : mpDocShell( pDocShell ), mpDoc( 0 )
28080 diff --git sd/source/filter/eppt/exports.map sd/source/filter/eppt/exports.map
28081 index 4a57b50..e69de29 100644
28082 --- sd/source/filter/eppt/exports.map
28083 +++ sd/source/filter/eppt/exports.map
28084 @@ -1,7 +0,0 @@
28085 -PPTEXPORTER_1_0 {
28086 - global:
28087 - ExportPPT;
28089 - local:
28090 - *;
28092 diff --git sd/source/filter/eppt/makefile.mk sd/source/filter/eppt/makefile.mk
28093 index 91ee77f..808984a 100644
28094 --- sd/source/filter/eppt/makefile.mk
28095 +++ sd/source/filter/eppt/makefile.mk
28096 @@ -51,29 +51,6 @@ SLOFILES = $(SLO)$/eppt.obj \
28097 $(SLO)$/pptexanimations.obj \
28098 $(SLO)$/pptexsoundcollection.obj
28100 -SHL1TARGET = emp$(DLLPOSTFIX)
28101 -SHL1IMPLIB = eppt
28102 -SHL1VERSIONMAP=exports.map
28103 -SHL1DEF = $(MISC)$/$(SHL1TARGET).def
28104 -SHL1LIBS = $(SLB)$/eppt.lib
28106 -DEF1NAME=$(SHL1TARGET)
28108 -SHL1STDLIBS = $(SVXLIB) \
28109 - $(SFX2LIB) \
28110 - $(SVTOOLLIB) \
28111 - $(SOTLIB) \
28112 - $(GOODIESLIB) \
28113 - $(VCLLIB) \
28114 - $(SOTLIB) \
28115 - $(UNOTOOLSLIB) \
28116 - $(TOOLSLIB) \
28117 - $(UCBHELPERLIB) \
28118 - $(CPPULIB) \
28119 - $(SALLIB) \
28120 - $(COMPHELPERLIB) \
28121 - $(I18NISOLANGLIB)
28123 # --- Targets --------------------------------------------------------------
28125 .INCLUDE : target.mk
28126 diff --git sd/source/filter/makefile.mk sd/source/filter/makefile.mk
28127 index 6e095f0..6590afa 100644
28128 --- sd/source/filter/makefile.mk
28129 +++ sd/source/filter/makefile.mk
28130 @@ -48,8 +48,6 @@ CDEFS+= -DDBG_ANIM_LOG
28132 SLOFILES =\
28133 $(SLO)$/sdfilter.obj \
28134 - $(SLO)$/pptin.obj \
28135 - $(SLO)$/propread.obj \
28136 $(SLO)$/sdpptwrp.obj
28138 EXCEPTIONSFILES= \
28139 diff --git sd/source/filter/ppt/makefile.mk sd/source/filter/ppt/makefile.mk
28140 index 580b3fe..219fbe0 100644
28141 --- sd/source/filter/ppt/makefile.mk
28142 +++ sd/source/filter/ppt/makefile.mk
28143 @@ -33,6 +33,7 @@ PRJ=..$/..$/..
28144 PRJNAME=sd
28145 TARGET=ppt
28146 ENABLE_EXCEPTIONS=TRUE
28147 +VISIBILITY_HIDDEN=TRUE
28149 # --- Settings -----------------------------------------------------
28151 @@ -48,8 +49,10 @@ CDEFS+= -DDBG_ANIM_LOG
28152 # --- Files --------------------------------------------------------
28154 SLOFILES = \
28155 - $(SLO)$/pptinanimations.obj\
28156 - $(SLO)$/pptatom.obj\
28157 + $(SLO)$/propread.obj \
28158 + $(SLO)$/pptin.obj \
28159 + $(SLO)$/pptinanimations.obj \
28160 + $(SLO)$/pptatom.obj \
28161 $(SLO)$/ppt97animations.obj
28163 # --- Targets --------------------------------------------------------------
28164 diff --git sd/source/filter/ppt/pptin.cxx sd/source/filter/ppt/pptin.cxx
28165 new file mode 100644
28166 index 0000000..4e92f7c
28167 --- /dev/null 2007-04-20 17:59:41.000000000 +0200
28168 +++ sd/source/filter/ppt/pptin.cxx 2009-04-24 18:14:38.000000000 +0200
28169 @@ -0,0 +1,2754 @@
28170 +/*************************************************************************
28172 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
28173 + *
28174 + * Copyright 2008 by Sun Microsystems, Inc.
28176 + * OpenOffice.org - a multi-platform office productivity suite
28178 + * $RCSfile: pptin.cxx,v $
28179 + * $Revision: 1.92.78.3 $
28181 + * This file is part of OpenOffice.org.
28183 + * OpenOffice.org is free software: you can redistribute it and/or modify
28184 + * it under the terms of the GNU Lesser General Public License version 3
28185 + * only, as published by the Free Software Foundation.
28187 + * OpenOffice.org is distributed in the hope that it will be useful,
28188 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
28189 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
28190 + * GNU Lesser General Public License version 3 for more details
28191 + * (a copy is included in the LICENSE file that accompanied this code).
28193 + * You should have received a copy of the GNU Lesser General Public License
28194 + * version 3 along with OpenOffice.org. If not, see
28195 + * <http://www.openoffice.org/license.html>
28196 + * for a copy of the LGPLv3 License.
28198 + ************************************************************************/
28200 +// MARKER(update_precomp.py): autogen include statement, do not remove
28201 +#include "precompiled_sd.hxx"
28203 +#include <svx/numitem.hxx>
28205 +#include <unotools/ucbstreamhelper.hxx>
28206 +#include <vcl/wrkwin.hxx>
28207 +#include <svx/svxids.hrc>
28208 +#include <svx/svdfppt.hxx>
28209 +#include <svx/svditer.hxx>
28210 +#include <sfx2/docfile.hxx>
28211 +#include <sfx2/app.hxx>
28212 +#include <svx/svdograf.hxx>
28213 +#include <svx/svdlayer.hxx>
28214 +#include <vcl/msgbox.hxx>
28215 +#include <svtools/style.hxx>
28216 +#include <svx/xflclit.hxx>
28217 +#include <svx/eeitem.hxx>
28218 +#include <svx/colritem.hxx>
28219 +#include <svtools/whiter.hxx>
28220 +#include <svx/xgrad.hxx>
28221 +#include <svx/xflgrit.hxx>
28222 +#include <svx/xbtmpit.hxx>
28223 +#include <svx/xlnclit.hxx>
28224 +#include <svx/adjitem.hxx>
28225 +#include <svx/editeng.hxx>
28226 +#include <svx/bulitem.hxx>
28227 +#include <svx/lrspitem.hxx>
28228 +#include <svx/lspcitem.hxx>
28229 +#include <svx/tstpitem.hxx>
28231 +#include <sfx2/docinf.hxx>
28233 +#include "glob.hrc"
28234 +#include "pptin.hxx"
28235 +#include "Outliner.hxx"
28236 +#include "drawdoc.hxx"
28237 +#include "sdpage.hxx"
28238 +#include "sdresid.hxx"
28239 +#include "pres.hxx"
28240 +#include "sdresid.hxx"
28241 +#include "stlpool.hxx"
28242 +#include "anminfo.hxx"
28243 +#include <svx/gallery.hxx>
28244 +#include <tools/urlobj.hxx>
28245 +#include <svx/numitem.hxx>
28246 +#include <svtools/itempool.hxx>
28247 +#include <svx/fhgtitem.hxx>
28248 +#include <svx/svdopage.hxx>
28249 +#include <svx/svdomedia.hxx>
28250 +#include <svx/svdogrp.hxx>
28251 +#include "propread.hxx"
28252 +#include <cusshow.hxx>
28253 +#include <vcl/bmpacc.hxx>
28255 +#include "../../ui/inc/DrawDocShell.hxx"
28256 +#include "../../ui/inc/FrameView.hxx"
28257 +#include "../../ui/inc/optsitem.hxx"
28259 +#include <svtools/fltrcfg.hxx>
28260 +#include <sfx2/progress.hxx>
28261 +#include <unotools/localfilehelper.hxx>
28262 +#include <svx/editstat.hxx>
28263 +#include <svtools/pathoptions.hxx>
28264 +#include <sfx2/docfac.hxx>
28265 +#define MAX_USER_MOVE 2
28267 +#include "pptinanimations.hxx"
28268 +#include "ppt97animations.hxx"
28270 +#include <com/sun/star/document/XDocumentProperties.hpp>
28271 +#include <com/sun/star/document/XDocumentPropertiesSupplier.hpp>
28274 +using namespace ::com::sun::star;
28277 +SdPPTImport::SdPPTImport( SdDrawDocument* pDocument, SvStream& rDocStream, SvStorage& rStorage, SfxMedium& rMedium, MSFilterTracer* pTracer )
28280 + sal_uInt32 nImportFlags = 0;
28282 +#ifdef DBG_UTIL
28283 + PropRead* pSummaryInformation = new PropRead( rStorage, String( RTL_CONSTASCII_USTRINGPARAM( "\005SummaryInformation" ) ) );
28284 + if ( pSummaryInformation->IsValid() )
28286 + pSummaryInformation->Read();
28287 + sal_uInt8 aPropSetGUID[ 16 ] =
28289 + 0xe0, 0x85, 0x9f, 0xf2, 0xf9, 0x4f, 0x68, 0x10, 0xab, 0x91, 0x08, 0x00, 0x2b, 0x27, 0xb3, 0xd9
28290 + };
28291 + Section* pSection = (Section*)pSummaryInformation->GetSection( aPropSetGUID );
28292 + if ( pSection )
28294 + PropItem aPropItem;
28295 + if ( pSection->GetProperty( PID_COMMENTS, aPropItem ) )
28297 + String aComment;
28298 + aPropItem.Read( aComment );
28299 + if ( aComment.Search( String( RTL_CONSTASCII_USTRINGPARAM( "Applixware" ) ), 0 ) != STRING_NOTFOUND )
28301 + nImportFlags |= PPT_IMPORTFLAGS_NO_TEXT_ASSERT;
28306 + delete pSummaryInformation;
28307 +#endif
28309 + PowerPointImportParam aParam( rDocStream, nImportFlags, pTracer );
28310 + SvStream* pCurrentUserStream = rStorage.OpenSotStream( String( RTL_CONSTASCII_USTRINGPARAM( "Current User" ) ), STREAM_STD_READ );
28311 + if( pCurrentUserStream )
28313 + *pCurrentUserStream >> aParam.aCurrentUserAtom;
28314 + delete pCurrentUserStream;
28317 + if( pDocument )
28319 + // iterate over all styles
28320 + SdStyleSheetPool* pStyleSheetPool = pDocument->GetSdStyleSheetPool();
28322 + sal_uInt32 nStyles = pStyleSheetPool ? pStyleSheetPool->GetStyles().size() : 0;
28323 + for (sal_uInt32 nStyle = 0; nStyle < nStyles; nStyle++)
28325 + SfxStyleSheet* pSheet = static_cast<SfxStyleSheet*>( pStyleSheetPool->GetStyles()[nStyle].get() );
28326 + SfxItemSet& rSet = pSheet->GetItemSet();
28328 + // if autokerning is set in style, override it, ppt has no autokerning
28329 + if( rSet.GetItemState( EE_CHAR_PAIRKERNING, FALSE ) == SFX_ITEM_SET )
28330 + rSet.ClearItem( EE_CHAR_PAIRKERNING );
28334 + pFilter = new ImplSdPPTImport( pDocument, rStorage, rMedium, aParam );
28337 +sal_Bool SdPPTImport::Import()
28339 + return pFilter->Import();
28342 +SdPPTImport::~SdPPTImport()
28344 + delete pFilter;
28347 +ImplSdPPTImport::ImplSdPPTImport( SdDrawDocument* pDocument, SvStorage& rStorage_, SfxMedium& rMedium, PowerPointImportParam& rParam )
28348 +: SdrPowerPointImport ( rParam, rMedium.GetBaseURL() )
28349 +, mrMed ( rMedium )
28350 +, mrStorage ( rStorage_ )
28351 +, mbDocumentFound ( FALSE )
28352 +, mnFilterOptions ( 0 )
28354 + mpDoc = pDocument;
28355 + if ( bOk )
28357 + mbDocumentFound = SeekToDocument( &maDocHd ); // maDocHd = the latest DocumentHeader
28358 + while ( SeekToRec( rStCtrl, PPT_PST_Document, nStreamLen, &maDocHd ) )
28359 + mbDocumentFound = TRUE;
28361 + UINT32 nDggContainerOfs = 0;
28363 + if ( mbDocumentFound )
28365 + ULONG nPosMerk = rStCtrl.Tell();
28367 + pStData = rStorage_.OpenSotStream( String( RTL_CONSTASCII_USTRINGPARAM( "Pictures" ) ), STREAM_STD_READ );
28369 + rStCtrl.Seek( maDocHd.GetRecBegFilePos() + 8 );
28370 + ULONG nDocLen = maDocHd.GetRecEndFilePos();
28371 + DffRecordHeader aPPDGHd;
28372 + if ( SeekToRec( rStCtrl, PPT_PST_PPDrawingGroup, nDocLen, &aPPDGHd ) )
28374 + ULONG nPPDGLen = aPPDGHd.GetRecEndFilePos();
28375 + if ( SeekToRec( rStCtrl, DFF_msofbtDggContainer, nPPDGLen, NULL ) )
28376 + nDggContainerOfs = rStCtrl.Tell();
28378 + rStCtrl.Seek( nPosMerk );
28380 + sal_uInt32 nSvxMSDffOLEConvFlags2 = 0;
28382 + SvtFilterOptions* pBasOpt = SvtFilterOptions::Get();
28383 + if ( pBasOpt )
28385 + if ( pBasOpt->IsLoadPPointBasicCode() )
28386 + mnFilterOptions |= 1;
28387 + if ( pBasOpt->IsMathType2Math() )
28388 + nSvxMSDffOLEConvFlags2 |= OLE_MATHTYPE_2_STARMATH;
28389 + if ( pBasOpt->IsWinWord2Writer() )
28390 + nSvxMSDffOLEConvFlags2 |= OLE_WINWORD_2_STARWRITER;
28391 + if ( pBasOpt->IsExcel2Calc() )
28392 + nSvxMSDffOLEConvFlags2 |= OLE_EXCEL_2_STARCALC;
28393 + if ( pBasOpt->IsPowerPoint2Impress() )
28394 + nSvxMSDffOLEConvFlags2 |= OLE_POWERPOINT_2_STARIMPRESS;
28397 + InitSvxMSDffManager( nDggContainerOfs, pStData, nSvxMSDffOLEConvFlags2 );
28398 + SetSvxMSDffSettings( SVXMSDFF_SETTINGS_CROP_BITMAPS
28399 + | SVXMSDFF_SETTINGS_IMPORT_IAS | SVXMSDFF_SETTINGS_IMPORT_PPT );
28400 + SetModel( mpDoc, 576 );
28404 +//////////////////////////////////////////////////////////////////////////
28406 +// Dtor
28408 +//////////////////////////////////////////////////////////////////////////
28410 +ImplSdPPTImport::~ImplSdPPTImport()
28412 + for ( void* pPtr = maSlideNameList.First(); pPtr; pPtr = maSlideNameList.Next() )
28413 + delete (String*)pPtr;
28414 + delete pStData;
28417 +//////////////////////////////////////////////////////////////////////////
28419 +// Import
28421 +//////////////////////////////////////////////////////////////////////////
28423 +sal_Bool ImplSdPPTImport::Import()
28425 + if ( !bOk )
28426 + return FALSE;
28428 + pSdrModel->setLock( sal_True );
28429 + SdrOutliner& rOutl = mpDoc->GetDrawOutliner();
28430 + sal_uInt32 nControlWord = rOutl.GetEditEngine().GetControlWord();
28431 + nControlWord |= EE_CNTRL_ULSPACESUMMATION;
28432 + nControlWord &=~ EE_CNTRL_ULSPACEFIRSTPARA;
28433 + ((EditEngine&)rOutl.GetEditEngine()).SetControlWord( nControlWord );
28435 + SdrLayerAdmin& rAdmin = mpDoc->GetLayerAdmin();
28436 + mnBackgroundLayerID = rAdmin.GetLayerID( String( SdResId( STR_LAYER_BCKGRND )), FALSE );
28437 + mnBackgroundObjectsLayerID = rAdmin.GetLayerID( String( SdResId( STR_LAYER_BCKGRNDOBJ )), FALSE );
28439 + ::sd::DrawDocShell* pDocShell = mpDoc->GetDocSh();
28440 + if ( pDocShell )
28441 + SeekOle( pDocShell, mnFilterOptions );
28443 + // hyperlinks
28444 + PropRead* pDInfoSec2 = new PropRead( mrStorage, String( RTL_CONSTASCII_USTRINGPARAM( "\005DocumentSummaryInformation" ) ) );
28445 + if ( pDInfoSec2->IsValid() )
28447 + PropItem aPropItem;
28449 + UINT32 nType, nPropSize, nPropCount;
28451 + pDInfoSec2->Read();
28453 + BYTE aPropSetGUID[ 16 ] =
28455 + 0x02, 0xd5, 0xcd, 0xd5, 0x9c, 0x2e, 0x1b, 0x10, 0x93, 0x97, 0x08, 0x00, 0x2b, 0x2c, 0xf9, 0xae
28456 + };
28457 + Section* pSection = (Section*)pDInfoSec2->GetSection( aPropSetGUID );
28458 + if ( pSection )
28460 + if ( pSection->GetProperty( PID_SLIDECOUNT, aPropItem ) )
28462 + aPropItem >> nType;
28463 + if ( ( nType == VT_I4 ) || ( nType == VT_UI4 ) )
28465 + // examine PID_HEADINGPAIR to get the correct entry for PID_DOCPARTS
28466 + UINT32 nSlideCount, nVecCount;
28467 + aPropItem >> nSlideCount;
28468 + if ( nSlideCount && pSection->GetProperty( PID_HEADINGPAIR, aPropItem ) )
28470 + UINT32 nSlideTitleIndex = 0, nSlideTitleCount = 0;
28471 + UINT32 nFontIndex, nFontCount = 0;
28472 + UINT32 nDesignTemplateIndex, nDesignTemplateCount = 0;
28473 + UINT32 i, nTemp, nEntryCount = 0;
28475 + String aUString;
28477 + aPropItem >> nType
28478 + >> nVecCount;
28480 + if ( ( nType == ( VT_VARIANT | VT_VECTOR ) ) && ( nVecCount ^ 1 ) )
28482 + nVecCount >>= 1;
28484 + for ( i = 0; i < nVecCount; i++ )
28486 + if ( !aPropItem.Read( aUString, VT_EMPTY, FALSE ) )
28487 + break;
28488 + aPropItem >> nType;
28489 + if ( ( nType != VT_I4 ) && ( nType != VT_UI4 ) )
28490 + break;
28491 + aPropItem >> nTemp;
28492 + if ( aUString.EqualsAscii("Slide Titles") || aUString.EqualsAscii("Folientitel") )
28494 + nSlideTitleCount = nTemp;
28495 + nSlideTitleIndex = nEntryCount;
28497 + else if ( aUString.EqualsAscii("Fonts Used") )
28499 + nFontCount = nTemp;
28500 + nFontIndex = nEntryCount;
28502 + else if ( aUString.EqualsAscii("Design Template") )
28504 + nDesignTemplateCount = nTemp;
28505 + nDesignTemplateIndex = nEntryCount;
28507 + nEntryCount += nTemp;
28510 + if ( ( nSlideCount == nSlideTitleCount ) && pSection->GetProperty( PID_DOCPARTS, aPropItem ) )
28512 + aPropItem >> nType
28513 + >> nVecCount;
28515 + if ( ( nVecCount >= ( nSlideTitleIndex + nSlideTitleCount ) )
28516 + && ( nType == ( VT_LPSTR | VT_VECTOR ) ) )
28518 + for ( i = 0; i != nSlideTitleIndex; i++ )
28520 + aPropItem >> nTemp;
28521 + aPropItem.SeekRel( nTemp );
28523 + for ( i = 0; i < nSlideTitleCount; i++ )
28525 + if ( !aPropItem.Read( aUString, nType, FALSE ) )
28526 + break;
28527 + String* pString = new String( aUString );
28528 + if ( pString->EqualsAscii( "No Slide Title" ))
28529 + *pString = String();
28530 + else
28532 + void* pPtr;
28533 + for ( pPtr = maSlideNameList.First(); pPtr; pPtr = maSlideNameList.Next() )
28535 + if ( *((String*)pPtr ) == *pString )
28537 + *pString = String();
28538 + break;
28542 + maSlideNameList.Insert( pString, LIST_APPEND );
28550 + BYTE aUserPropSetGUID[ 16 ] =
28552 + 0x05, 0xd5, 0xcd, 0xd5, 0x9c, 0x2e, 0x1b, 0x10, 0x93, 0x97, 0x08, 0x00, 0x2b, 0x2c, 0xf9, 0xae
28553 + };
28554 + pSection = (Section*)pDInfoSec2->GetSection( aUserPropSetGUID );
28555 + if ( pSection )
28557 + Dictionary aDict;
28558 + if ( pSection->GetDictionary( aDict ) )
28560 + UINT32 nPropId = aDict.GetProperty( rtl::OUString::createFromAscii("_PID_HLINKS" ));
28561 + if ( nPropId )
28563 + if ( pSection->GetProperty( nPropId, aPropItem ) )
28565 + aPropItem.Seek( STREAM_SEEK_TO_BEGIN );
28566 + aPropItem >> nType;
28567 + if ( nType == VT_BLOB )
28569 + aPropItem >> nPropSize
28570 + >> nPropCount;
28572 + if ( ! ( nPropCount % 6 ) )
28574 + UINT32 i;
28576 + nPropCount /= 6; // 6 propertys a hyperlink
28578 + SdHyperlinkEntry* pHyperlink = 0;
28579 + for ( i = 0; i < nPropCount; i++ )
28581 + pHyperlink = new SdHyperlinkEntry;
28582 + pHyperlink->nIndex = 0;
28583 + aPropItem >> nType;
28584 + if ( nType != VT_I4 )
28585 + break;
28586 + aPropItem >> pHyperlink->nPrivate1
28587 + >> nType;
28588 + if ( nType != VT_I4 )
28589 + break;
28590 + aPropItem >> pHyperlink->nPrivate2
28591 + >> nType;
28592 + if ( nType != VT_I4 )
28593 + break;
28594 + aPropItem >> pHyperlink->nPrivate3
28595 + >> nType;
28596 + if ( nType != VT_I4 )
28597 + break;
28598 + aPropItem >> pHyperlink->nInfo;
28599 + if ( !aPropItem.Read( pHyperlink->aTarget, VT_EMPTY ) )
28600 + break;
28602 + // #n382718# (and #n261623#) Convert '\\' notation to 'smb://'
28603 + INetURLObject aUrl( pHyperlink->aTarget, INET_PROT_FILE );
28604 + pHyperlink->aTarget = aUrl.GetMainURL( INetURLObject::NO_DECODE );
28606 + if ( !aPropItem.Read( pHyperlink->aSubAdress, VT_EMPTY ) )
28607 + break;
28608 + pHyperlink->nStartPos = pHyperlink->nEndPos = -1;
28610 + if ( pHyperlink->aSubAdress.Len() ) // get the converted subadress
28612 + sal_uInt32 nPageNumber = 0;
28613 + String aString( pHyperlink->aSubAdress );
28614 + ByteString aStringAry[ 3 ];
28615 + sal_uInt16 nTokenCount = aString.GetTokenCount( ',' );
28616 + if ( nTokenCount > 3 )
28617 + nTokenCount = 3;
28618 + sal_uInt16 nToken;
28619 + for( nToken = 0; nToken < nTokenCount; nToken++ )
28620 + aStringAry[ nToken ] = ByteString( aString.GetToken( nToken, (sal_Unicode)',' ), RTL_TEXTENCODING_UTF8 );
28622 + sal_Bool bSucceeded = sal_False;
28624 + // first pass, searching for a SlideId
28625 + for( nToken = 0; nToken < nTokenCount; nToken++ )
28627 + if ( aStringAry[ nToken ].IsNumericAscii() )
28629 + sal_Int32 nNumber = aStringAry[ nToken ].ToInt32();
28630 + if ( nNumber & ~0xff )
28632 + PptSlidePersistList* pPageList = GetPageList( PPT_SLIDEPAGE );
28633 + if ( pPageList )
28635 + sal_uInt16 nPage = pPageList->FindPage( nNumber );
28636 + if ( nPage != PPTSLIDEPERSIST_ENTRY_NOTFOUND )
28638 + nPageNumber = nPage;
28639 + bSucceeded = sal_True;
28640 + break;
28646 + if ( !bSucceeded )
28647 + { // second pass, searching for a SlideName
28648 + for ( nToken = 0; nToken < nTokenCount; nToken++ )
28650 + String aToken( aString.GetToken( nToken, (sal_Unicode)',' ) );
28651 + for ( void* pPtr = maSlideNameList.First(); pPtr; pPtr = maSlideNameList.Next() )
28653 + if ( *(String*)pPtr == aToken )
28655 + nPageNumber = maSlideNameList.GetCurPos();
28656 + bSucceeded = sal_True;
28657 + break;
28662 + if ( !bSucceeded )
28663 + { // third pass, searching for a slide number
28664 + for ( nToken = 0; nToken < nTokenCount; nToken++ )
28666 + if ( aStringAry[ nToken ].IsNumericAscii() )
28668 + sal_Int32 nNumber = aStringAry[ nToken ].ToInt32();
28669 + if ( ( nNumber & ~0xff ) == 0 )
28671 + nPageNumber = (sal_uInt32)nNumber - 1;
28672 + bSucceeded = sal_True;
28673 + break;
28678 + if ( bSucceeded )
28680 + if ( nPageNumber < maSlideNameList.Count() )
28681 + pHyperlink->aConvSubString = *(String*)maSlideNameList.GetObject( nPageNumber );
28682 + if ( !pHyperlink->aConvSubString.Len() )
28684 + pHyperlink->aConvSubString = String( SdResId( STR_PAGE ) );
28685 + pHyperlink->aConvSubString.Append( sal_Unicode( ' ' ) );
28686 + pHyperlink->aConvSubString.Append( mpDoc->CreatePageNumValue( (USHORT)nPageNumber + 1 ) );
28690 + aHyperList.Insert( pHyperlink, LIST_APPEND );
28692 + if ( i != nPropCount )
28693 + delete pHyperlink;
28702 + delete pDInfoSec2;
28704 + if ( mbDocumentFound )
28706 + rStCtrl.Seek( maDocHd.GetRecBegFilePos() + 8 );
28707 + // HyperList lesen / Indexe der einzelnen Eintraege setzen
28708 + DffRecordHeader aHyperHd;
28709 + if ( SeekToRec( rStCtrl, PPT_PST_ExObjList, maDocHd.GetRecEndFilePos(), &aHyperHd ) )
28711 + UINT32 nExObjHyperListLen = aHyperHd.GetRecEndFilePos();
28712 + for ( void* pPtr = aHyperList.First(); pPtr; pPtr = aHyperList.Next() )
28714 + DffRecordHeader aHyperE;
28715 + if ( !SeekToRec( rStCtrl, PPT_PST_ExHyperlink, nExObjHyperListLen, &aHyperE ) )
28716 + break;
28717 + if ( !SeekToRec( rStCtrl, PPT_PST_ExHyperlinkAtom, nExObjHyperListLen, NULL, 0 ) )
28718 + break;
28719 + rStCtrl.SeekRel( 8 );
28720 + rStCtrl >> ((SdHyperlinkEntry*)pPtr)->nIndex;
28721 + aHyperE.SeekToEndOfRecord( rStCtrl );
28726 + Size aVisAreaSize;
28727 + switch ( aUserEditAtom.eLastViewType )
28729 + case 5 : // notes master
28730 + case 3 : // notes
28731 + aVisAreaSize = aDocAtom.GetNotesPageSize();
28732 + break;
28733 + default :
28734 + aVisAreaSize = aDocAtom.GetSlidesPageSize();
28736 + Scale( aVisAreaSize );
28737 + pDocShell->SetVisArea( Rectangle( Point(), aVisAreaSize ) );
28739 + ///////////////////////////////////////////////////////////
28740 + // create master pages:
28741 + ///////////////////////////////////////////////////////////
28742 + SfxProgress* pStbMgr = new SfxProgress( pDocShell, String( SdResId( STR_POWERPOINT_IMPORT ) ),
28743 + pMasterPages->Count() + pSlidePages->Count() + pNotePages->Count() );
28745 + UINT32 nImportedPages = 0;
28747 + UINT16 nMasterAnz = GetPageCount( PPT_MASTERPAGE );
28749 + for ( USHORT nMasterNum = 0; nMasterNum < nMasterAnz; nMasterNum++ )
28751 + SetPageNum( nMasterNum, PPT_MASTERPAGE );
28752 + SdPage* pPage = (SdPage*)MakeBlancPage( TRUE );
28753 + if ( pPage )
28755 + BOOL bNotesMaster = (*GetPageList( eAktPageKind ) )[ nAktPageNum ]->bNotesMaster;
28756 + BOOL bStarDrawFiller = (*GetPageList( eAktPageKind ) )[ nAktPageNum ]->bStarDrawFiller;
28758 + PageKind ePgKind = ( bNotesMaster ) ? PK_NOTES : PK_STANDARD;
28759 + pPage->SetPageKind( ePgKind );
28760 + pSdrModel->InsertMasterPage( (SdrPage*)pPage );
28761 + if ( bNotesMaster && bStarDrawFiller )
28762 + ((SdPage*)pPage)->SetAutoLayout( AUTOLAYOUT_NOTES, TRUE );
28763 + if ( nMasterNum )
28765 + boost::optional< sal_Int16 > oStartNumbering;
28766 + SfxStyleSheet* pSheet;
28767 + if ( nMasterNum == 1 )
28769 + ///////////////////
28770 + // standardsheet //
28771 + ///////////////////
28772 + pSheet = (SfxStyleSheet*)mpDoc->GetStyleSheetPool()->Find( String(SdResId( STR_STANDARD_STYLESHEET_NAME )), SD_STYLE_FAMILY_GRAPHICS );
28773 + if ( pSheet )
28775 + SfxItemSet& rItemSet = pSheet->GetItemSet();
28776 + PPTParagraphObj aParagraph( *pPPTStyleSheet, TSS_TYPE_TEXT_IN_SHAPE, 0 );
28777 + PPTPortionObj aPortion( *pPPTStyleSheet, TSS_TYPE_TEXT_IN_SHAPE, 0 );
28778 + aParagraph.AppendPortion( aPortion );
28779 + aParagraph.ApplyTo( rItemSet, oStartNumbering, (SdrPowerPointImport&)*this, 0xffffffff, NULL );
28780 + aPortion.ApplyTo( rItemSet, (SdrPowerPointImport&)*this, 0xffffffff );
28784 + // PSEUDO
28785 + pSheet = (SfxStyleSheet*)mpDoc->GetStyleSheetPool()->Find( String(SdResId( STR_PSEUDOSHEET_BACKGROUNDOBJECTS )), SD_STYLE_FAMILY_PSEUDO );
28786 + if ( pSheet )
28788 + SfxItemSet& rItemSet = pSheet->GetItemSet();
28789 + PPTParagraphObj aParagraph( *pPPTStyleSheet, TSS_TYPE_TEXT_IN_SHAPE, 0 );
28790 + PPTPortionObj aPortion( *pPPTStyleSheet, TSS_TYPE_TEXT_IN_SHAPE, 0 );
28791 + aParagraph.AppendPortion( aPortion );
28792 + aParagraph.ApplyTo( rItemSet, oStartNumbering, (SdrPowerPointImport&)*this, 0xffffffff, NULL );
28793 + aPortion.ApplyTo( rItemSet, (SdrPowerPointImport&)*this, 0xffffffff );
28796 + ///////////////////////////////////////////////////////////
28797 + // create layoutstylesheets, set layoutname and stylesheet
28798 + // (nur auf Standard- und Notizseiten)
28799 + ///////////////////////////////////////////////////////////
28800 + String aLayoutName( SdResId( STR_LAYOUT_DEFAULT_NAME ) );
28801 + if ( nMasterNum > 2 )
28803 + if ( ePgKind == PK_STANDARD )
28804 + { // Standardseite: Neues Praesentationslayout erzeugen
28805 + aLayoutName = String( SdResId( STR_LAYOUT_DEFAULT_TITLE_NAME ) );
28806 + aLayoutName += String::CreateFromInt32( (sal_Int32)( ( nMasterNum + 1 ) / 2 - 1 ) );
28807 + ( (SdStyleSheetPool*)mpDoc->GetStyleSheetPool() )->CreateLayoutStyleSheets( aLayoutName );
28809 + else // Notizseite: Praesentationslayout von der Standardseite verwenden
28810 + aLayoutName = ( (SdPage*)mpDoc->GetMasterPage( nMasterNum - 1 ) )->GetName();
28812 + pPage->SetName( aLayoutName );
28813 + aLayoutName.AppendAscii( RTL_CONSTASCII_STRINGPARAM( SD_LT_SEPARATOR ));
28814 + aLayoutName += String( SdResId( STR_LAYOUT_OUTLINE ) );
28815 + pPage->SetLayoutName( aLayoutName );
28817 + /////////////////////
28818 + // set stylesheets //
28819 + /////////////////////
28820 + if ( pPage->GetPageKind() == PK_STANDARD )
28822 + UINT32 nTitleInstance = TSS_TYPE_PAGETITLE;
28823 + UINT32 nOutlinerInstance = TSS_TYPE_BODY;
28824 +// BOOL bSwapStyleSheet = pSlideLayout->eLayout == PPT_LAYOUT_TITLEMASTERSLIDE;
28825 +// if ( bSwapStyleSheet )
28826 +// {
28827 +// nTitleInstance = TSS_TYPE_TITLE;
28828 +// nOutlinerInstance = TSS_TYPE_SUBTITLE;
28829 +// }
28830 + /////////////////////
28831 + // titelstylesheet //
28832 + /////////////////////
28833 + pSheet = pPage->GetStyleSheetForPresObj( PRESOBJ_TITLE );
28834 + if ( pSheet )
28836 + SfxItemSet& rItemSet = pSheet->GetItemSet();
28837 + PPTParagraphObj aParagraph( *pPPTStyleSheet, nTitleInstance, 0 );
28838 + PPTPortionObj aPortion( *pPPTStyleSheet, nTitleInstance, 0 );
28839 + aParagraph.AppendPortion( aPortion );
28840 + aParagraph.ApplyTo( rItemSet, oStartNumbering, (SdrPowerPointImport&)*this, 0xffffffff, NULL );
28841 + aPortion.ApplyTo( rItemSet, (SdrPowerPointImport&)*this, 0xffffffff );
28843 + ////////////////////////
28844 + // outlinerstylesheet //
28845 + ////////////////////////
28846 + UINT16 nLevel;
28847 + PPTParagraphObj* pParagraphs[ 9 ];
28848 + PPTParagraphObj* pPreviousPara = NULL;
28850 + for ( nLevel = 0; nLevel < 9; nLevel++ )
28852 + String aName( pPage->GetLayoutName() );
28853 + aName.Append( (sal_Unicode)( ' ' ) );
28854 + aName.Append( String::CreateFromInt32( nLevel + 1 ) );
28855 + SfxStyleSheet* pOutlineSheet = (SfxStyleSheet*)mpDoc->GetStyleSheetPool()->Find( aName, SD_STYLE_FAMILY_MASTERPAGE );
28856 + DBG_ASSERT( pOutlineSheet, "Vorlage fuer Gliederungsobjekt nicht gefunden" );
28857 + if ( pOutlineSheet )
28859 + pParagraphs[ nLevel ] = new PPTParagraphObj( *pPPTStyleSheet, nOutlinerInstance, nLevel );
28860 + SfxItemSet& rItemSet = pOutlineSheet->GetItemSet();
28861 + PPTPortionObj aPortion( *pPPTStyleSheet, nOutlinerInstance, nLevel );
28862 + pParagraphs[ nLevel ]->AppendPortion( aPortion );
28863 + pParagraphs[ nLevel ]->ApplyTo( rItemSet, oStartNumbering, (SdrPowerPointImport&)*this, 0xffffffff, pPreviousPara );
28864 + aPortion.ApplyTo( rItemSet, (SdrPowerPointImport&)*this, 0xffffffff );
28865 + pPreviousPara = pParagraphs[ nLevel ];
28867 + else
28868 + pParagraphs[ nLevel ] = NULL;
28870 + for ( nLevel = 0; nLevel < 9; delete pParagraphs[ nLevel++ ] ) ;
28871 + /////////////////////////
28872 + // subtitle stylesheet //
28873 + /////////////////////////
28874 + pSheet = pPage->GetStyleSheetForPresObj( PRESOBJ_TEXT );
28875 + if ( pSheet )
28877 + SfxItemSet& rItemSet = pSheet->GetItemSet();
28878 + PPTParagraphObj aParagraph( *pPPTStyleSheet, TSS_TYPE_SUBTITLE, 0 );
28879 + PPTPortionObj aPortion( *pPPTStyleSheet, TSS_TYPE_SUBTITLE, 0 );
28880 + aParagraph.AppendPortion( aPortion );
28881 + aParagraph.ApplyTo( rItemSet, oStartNumbering, (SdrPowerPointImport&)*this, 0xffffffff, NULL );
28882 + aPortion.ApplyTo( rItemSet, (SdrPowerPointImport&)*this, 0xffffffff );
28885 + else if ( ePgKind == PK_NOTES )
28887 + pSheet = pPage->GetStyleSheetForPresObj( PRESOBJ_NOTES );
28888 + if ( pSheet )
28890 + SfxItemSet& rItemSet = pSheet->GetItemSet();
28891 + PPTParagraphObj aParagraph( *pPPTStyleSheet, TSS_TYPE_NOTES, 0 );
28892 + PPTPortionObj aPortion( *pPPTStyleSheet, TSS_TYPE_NOTES, 0 );
28893 + aParagraph.AppendPortion( aPortion );
28894 + aParagraph.ApplyTo( rItemSet, oStartNumbering, (SdrPowerPointImport&)*this, 0xffffffff, NULL );
28895 + aPortion.ApplyTo( rItemSet, (SdrPowerPointImport&)*this, 0xffffffff );
28902 + SdPage* pMPage;
28903 + sal_uInt16 i;
28904 + for ( i = 1; i < mpDoc->GetMasterPageCount() && ( (pMPage = (SdPage*)mpDoc->GetMasterPage( i )) != 0 ); i++ )
28906 + SetPageNum( i, PPT_MASTERPAGE );
28907 + /////////////////////////////////////////////
28908 + // importing master page objects //
28909 + /////////////////////////////////////////////
28910 + PptSlidePersistList* pList = GetPageList( eAktPageKind );
28911 + PptSlidePersistEntry* pPersist = ( pList && ( nAktPageNum < pList->Count() ) )
28912 + ? (*pList)[ nAktPageNum ] : NULL;
28913 + if ( pPersist )
28915 + if ( pPersist->bStarDrawFiller && pPersist->bNotesMaster && ( nAktPageNum > 2 ) && ( ( nAktPageNum & 1 ) == 0 ) )
28917 + pSdrModel->DeleteMasterPage( nAktPageNum );
28918 + SdrPage* pNotesClone = ((SdPage*)pSdrModel->GetMasterPage( 2 ))->Clone();
28919 + pSdrModel->InsertMasterPage( pNotesClone, nAktPageNum );
28920 + if ( pNotesClone )
28922 + String aLayoutName( ((SdPage*)pSdrModel->GetMasterPage( nAktPageNum - 1 ))->GetLayoutName() );
28923 + ((SdPage*)pNotesClone)->SetPresentationLayout( aLayoutName, sal_False, sal_False, sal_False );
28924 + ((SdPage*)pNotesClone)->SetLayoutName( aLayoutName );
28927 + else if ( ( pPersist->bStarDrawFiller == FALSE ) )
28929 + PptSlidePersistEntry* pE = pPersist;
28930 + while( ( pE->aSlideAtom.nFlags & 4 ) && pE->aSlideAtom.nMasterId )
28932 + sal_uInt16 nNextMaster = pMasterPages->FindPage( pE->aSlideAtom.nMasterId );
28933 + if ( nNextMaster == PPTSLIDEPERSIST_ENTRY_NOTFOUND )
28934 + break;
28935 + else
28936 + pE = (*pList)[ nNextMaster ];
28938 + SdrObject* pObj = ImportPageBackgroundObject( *pMPage, pE->nBackgroundOffset, TRUE ); // import background
28939 + if ( pObj )
28940 + pMPage->NbcInsertObject( pObj );
28942 + sal_Bool bNewAnimationsUsed = sal_False;
28943 + ProcessData aProcessData( *(*pList)[ nAktPageNum ], (SdPage*)pMPage );
28944 + sal_uInt32 nFPosMerk = rStCtrl.Tell();
28945 + DffRecordHeader aPageHd;
28946 + if ( SeekToAktPage( &aPageHd ) )
28948 + if ( mbTracing )
28949 + mpTracer->AddAttribute( rtl::OUString::createFromAscii( "MasterPage" ), rtl::OUString::valueOf( (sal_Int32) (nAktPageNum + 1) ) );
28951 + while( ( rStCtrl.GetError() == 0 ) && ( rStCtrl.Tell() < aPageHd.GetRecEndFilePos() ) )
28953 + DffRecordHeader aHd;
28954 + rStCtrl >> aHd;
28955 + switch( aHd.nRecType )
28957 + case PPT_PST_PPDrawing :
28959 + aHd.SeekToBegOfRecord( rStCtrl );
28960 + DffRecordHeader aPPDrawHd;
28961 + if ( SeekToRec( rStCtrl, PPT_PST_PPDrawing, aHd.GetRecEndFilePos(), &aPPDrawHd ) )
28963 + sal_uInt32 nPPDrawEnd = aPPDrawHd.GetRecEndFilePos();
28964 + DffRecordHeader aEscherF002Hd;
28965 + if ( SeekToRec( rStCtrl, DFF_msofbtDgContainer, nPPDrawEnd, &aEscherF002Hd ) )
28967 + sal_uInt32 nEscherF002End = aEscherF002Hd.GetRecEndFilePos();
28968 + DffRecordHeader aEscherObjListHd;
28969 + if ( SeekToRec( rStCtrl, DFF_msofbtSpgrContainer, nEscherF002End, &aEscherObjListHd ) )
28971 + sal_uInt32 nObjCount = 0;
28972 + while( ( rStCtrl.GetError() == 0 ) && ( rStCtrl.Tell() < aEscherObjListHd.GetRecEndFilePos() ) )
28974 + DffRecordHeader aHd2;
28975 + rStCtrl >> aHd2;
28976 + if ( ( aHd2.nRecType == DFF_msofbtSpContainer ) || ( aHd2.nRecType == DFF_msofbtSpgrContainer ) )
28978 + if ( nObjCount++ ) // skipping the first object
28980 + Rectangle aEmpty;
28981 + aHd2.SeekToBegOfRecord( rStCtrl );
28982 + SdrObject* pImpObj = ImportObj( rStCtrl, (void*)&aProcessData, aEmpty, aEmpty );
28983 + if ( pImpObj )
28985 + pImpObj->SetLayer( mnBackgroundObjectsLayerID );
28986 + pMPage->NbcInsertObject( pImpObj );
28990 + aHd2.SeekToEndOfRecord( rStCtrl );
28996 + break;
28998 + case PPT_PST_ProgTags :
29000 + DffRecordHeader aProgTagHd;
29001 + if ( SeekToContentOfProgTag( 10, rStCtrl, aPageHd, aProgTagHd ) )
29003 + while ( ( rStCtrl.GetError() == 0 ) && ( rStCtrl.Tell() < aProgTagHd.GetRecEndFilePos() ) )
29005 + DffRecordHeader aProgTagContentHd;
29006 + rStCtrl >> aProgTagContentHd;
29007 + switch( aProgTagContentHd.nRecType )
29009 + case DFF_msofbtAnimGroup :
29011 + ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage > xPage( pMPage->getUnoPage(), ::com::sun::star::uno::UNO_QUERY );
29012 + ppt::AnimationImporter aImporter( this, rStCtrl );
29013 + aImporter.import( xPage, aProgTagContentHd );
29014 + bNewAnimationsUsed = sal_True;
29016 + break;
29018 + aProgTagContentHd.SeekToEndOfRecord( rStCtrl );
29022 + break;
29024 + aHd.SeekToEndOfRecord( rStCtrl );
29026 + if ( mbTracing )
29027 + mpTracer->RemoveAttribute( rtl::OUString::createFromAscii( "MasterPage" ) );
29029 + rStCtrl.Seek( nFPosMerk );
29030 + ImportPageEffect( (SdPage*)pMPage, bNewAnimationsUsed );
29032 + ///////////////////////
29033 + // background object //
29034 + ///////////////////////
29035 + pObj = pMPage->GetObj( 0 );
29036 + if ( pObj && pObj->GetObjIdentifier() == OBJ_RECT )
29038 + if ( pMPage->GetPageKind() == PK_STANDARD )
29040 + // Hintergrundobjekt gefunden (erstes Objekt der MasterPage)
29041 + pObj->SetEmptyPresObj( TRUE );
29042 + pObj->SetUserCall( pMPage );
29043 + pObj->SetLayer( mnBackgroundLayerID );
29045 + // Schatten am ersten Objekt (Hintergrundobjekt) entfernen (#57918#)
29046 + SfxItemSet aTempAttr( mpDoc->GetPool() );
29047 + aTempAttr.Put( pObj->GetMergedItemSet() );
29049 + BOOL bShadowIsOn = ( (SdrShadowItem&)( aTempAttr.Get( SDRATTR_SHADOW ) ) ).GetValue();
29050 + if( bShadowIsOn )
29052 + aTempAttr.Put( SdrShadowItem( FALSE ) );
29053 + pObj->SetMergedItemSet( aTempAttr );
29055 + SfxStyleSheet* pSheet = pMPage->GetStyleSheetForPresObj( PRESOBJ_BACKGROUND );
29056 + if ( pSheet )
29057 + { // StyleSheet fuellen und dem Objekt zuweisen
29058 + pSheet->GetItemSet().ClearItem();
29059 + pSheet->GetItemSet().Put( pObj->GetMergedItemSet() );
29060 + aTempAttr.ClearItem();
29061 + pObj->SetMergedItemSet( aTempAttr );
29062 + pObj->SetStyleSheet( pSheet, FALSE );
29064 + pMPage->InsertPresObj( pObj, PRESOBJ_BACKGROUND );
29066 + // #110094#-15
29067 + // tell the page that it's visualization has changed
29068 + pMPage->ActionChanged();
29073 + if( pStbMgr )
29074 + pStbMgr->SetState( nImportedPages++ );
29076 + ////////////////////////////////////
29077 + // importing slide pages //
29078 + ////////////////////////////////////
29080 + UINT32 nFPosMerk = rStCtrl.Tell();
29081 + PptPageKind ePageKind = eAktPageKind;
29082 + UINT16 nPageNum = nAktPageNum;
29084 + SdPage* pHandoutPage = (SdPage*)MakeBlancPage( FALSE );
29085 + pHandoutPage->SetPageKind( PK_HANDOUT );
29086 + pSdrModel->InsertPage( pHandoutPage );
29088 + USHORT nPageAnz = GetPageCount( PPT_SLIDEPAGE );
29089 + if ( nPageAnz )
29091 + for ( USHORT nPage = 0; nPage < nPageAnz; nPage++ )
29093 + sal_Bool bNewAnimationsUsed = sal_False;
29095 + mePresChange = PRESCHANGE_SEMIAUTO;
29096 + SetPageNum( nPage, PPT_SLIDEPAGE );
29097 + SdPage* pPage = (SdPage*)MakeBlancPage( FALSE );
29098 + PptSlidePersistEntry* pMasterPersist = NULL;
29099 + if ( HasMasterPage( nPage, PPT_SLIDEPAGE ) ) // try to get the LayoutName from the masterpage
29101 + sal_uInt16 nMasterNum = GetMasterPageIndex( nAktPageNum, eAktPageKind );
29102 + pPage->TRG_SetMasterPage(*pSdrModel->GetMasterPage(nMasterNum));
29103 + PptSlidePersistList* pPageList = GetPageList( PPT_MASTERPAGE );
29104 + if ( pPageList && nMasterNum < pPageList->Count() )
29105 + pMasterPersist = (*pPageList)[ nMasterNum ];
29106 + pPage->SetLayoutName(((SdPage&)pPage->TRG_GetMasterPage()).GetLayoutName());
29108 + pPage->SetPageKind( PK_STANDARD );
29109 + pSdrModel->InsertPage( pPage ); // SJ: #i29625# because of form controls, the
29110 + ImportPage( pPage, pMasterPersist ); // page must be inserted before importing
29111 + SetHeaderFooterPageSettings( pPage, pMasterPersist );
29112 + // CWS preseng01: pPage->SetPageKind( PK_STANDARD );
29114 + DffRecordHeader aPageHd;
29115 + if ( SeekToAktPage( &aPageHd ) )
29117 + aPageHd.SeekToContent( rStCtrl );
29118 + while ( ( rStCtrl.GetError() == 0 ) && ( rStCtrl.Tell() < aPageHd.GetRecEndFilePos() ) )
29120 + DffRecordHeader aHd;
29121 + rStCtrl >> aHd;
29122 + switch ( aHd.nRecType )
29124 + case PPT_PST_ProgTags :
29126 + DffRecordHeader aProgTagHd;
29127 + if ( SeekToContentOfProgTag( 10, rStCtrl, aPageHd, aProgTagHd ) )
29129 + while ( ( rStCtrl.GetError() == 0 ) && ( rStCtrl.Tell() < aProgTagHd.GetRecEndFilePos() ) )
29131 + DffRecordHeader aProgTagContentHd;
29132 + rStCtrl >> aProgTagContentHd;
29133 + switch( aProgTagContentHd.nRecType )
29136 + case PPT_PST_CommentContainer :
29140 + break;
29142 + case DFF_msofbtAnimGroup :
29144 + ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage > xPage( pPage->getUnoPage(), ::com::sun::star::uno::UNO_QUERY );
29145 + ppt::AnimationImporter aImporter( this, rStCtrl );
29146 + aImporter.import( xPage, aProgTagContentHd );
29147 + bNewAnimationsUsed = sal_True;
29149 + break;
29151 + case PPT_PST_NewlyAddedAtomByXP11008 : // ???
29152 + break;
29154 + case PPT_PST_NewlyAddedAtomByXP12011 : // ??? don't know, this atom is always 8 bytes big
29155 + break; // and is appearing in nearly every l10 progtag
29157 + aProgTagContentHd.SeekToEndOfRecord( rStCtrl );
29161 + break;
29163 + case PPT_PST_HeadersFooters :
29164 + case PPT_PST_PPDrawing :
29165 + default:
29166 + break;
29169 + aHd.SeekToEndOfRecord( rStCtrl );
29171 + ImportPageEffect( (SdPage*)pPage, bNewAnimationsUsed );
29174 + // creating the corresponding note page
29175 + eAktPageKind = PPT_NOTEPAGE;
29176 + SdPage* pNotesPage = (SdPage*)MakeBlancPage( FALSE );
29177 + sal_uInt16 nNotesMasterNum = GetMasterPageIndex( nPage, PPT_SLIDEPAGE ) + 1;
29178 + sal_uInt32 nNotesPageId = GetNotesPageId( nPage );
29179 + if ( nNotesPageId )
29181 + nImportedPages++;
29182 + sal_uInt16 nNotesPageIndex = pNotePages->FindPage( nNotesPageId );
29183 + if ( nNotesPageIndex == PPTSLIDEPERSIST_ENTRY_NOTFOUND )
29184 + nNotesPageIndex = 0;
29185 + SetPageNum( nNotesPageIndex, PPT_NOTEPAGE );
29186 + PptSlidePersistEntry* pMasterPersist2 = NULL;
29187 + if ( HasMasterPage( nNotesPageIndex, PPT_NOTEPAGE ) ) // try to get the LayoutName from the masterpage
29189 + pNotesPage->TRG_SetMasterPage(*pSdrModel->GetMasterPage(nNotesMasterNum));
29190 + PptSlidePersistList* pPageList = GetPageList( PPT_MASTERPAGE );
29191 + if ( pPageList && nNotesMasterNum < pPageList->Count() )
29192 + pMasterPersist2 = (*pPageList)[ nNotesMasterNum ];
29193 + pNotesPage->SetLayoutName( ((SdPage&)pNotesPage->TRG_GetMasterPage()).GetLayoutName() );
29195 + pNotesPage->SetPageKind( PK_NOTES );
29196 + pNotesPage->TRG_SetMasterPage(*pSdrModel->GetMasterPage(nNotesMasterNum));
29197 + pSdrModel->InsertPage( pNotesPage ); // SJ: #i29625# because of form controls, the
29198 + ImportPage( pNotesPage, pMasterPersist2 ); // page must be inserted before importing
29199 + SetHeaderFooterPageSettings( pNotesPage, pMasterPersist2 );
29200 + pNotesPage->SetAutoLayout( AUTOLAYOUT_NOTES, FALSE );
29202 + else
29204 + pNotesPage->SetPageKind( PK_NOTES );
29205 + pNotesPage->TRG_SetMasterPage(*pSdrModel->GetMasterPage(nNotesMasterNum));
29206 + pNotesPage->SetAutoLayout( AUTOLAYOUT_NOTES, TRUE );
29207 + pSdrModel->InsertPage( pNotesPage );
29208 + SdrObject* pPageObj = pNotesPage->GetPresObj( PRESOBJ_PAGE, 1 );
29209 + if ( pPageObj )
29210 + ((SdrPageObj*)pPageObj)->SetReferencedPage(pSdrModel->GetPage(( nPage << 1 ) + 1));
29213 + if( pStbMgr )
29214 + pStbMgr->SetState( nImportedPages++ );
29216 + //////////////
29218 + else
29220 + // Das kann bei Dokumentvorlagen vorkommen
29221 + eAktPageKind = PPT_SLIDEPAGE;
29222 + SdrPage* pPage = MakeBlancPage( FALSE );
29223 + pSdrModel->InsertPage( pPage );
29225 + // #i37397#, trying to set the title master for the first page
29226 + sal_uInt16 nMaster, nMasterCount = pSdrModel->GetMasterPageCount();
29227 + SdPage* pFoundMaster = NULL;
29228 + for ( nMaster = 1; nMaster < nMasterCount; nMaster++ )
29230 + SdPage* pMaster = static_cast<SdPage*>( pSdrModel->GetMasterPage( nMaster ) );
29231 + if ( pMaster->GetPageKind() == PK_STANDARD )
29233 + SetPageNum( nMaster, PPT_MASTERPAGE );
29234 + if ( !pFoundMaster )
29235 + pFoundMaster = pMaster;
29236 + else if ( GetSlideLayoutAtom()->eLayout == PPT_LAYOUT_TITLEMASTERSLIDE )
29237 + pFoundMaster = pMaster;
29238 + if ( GetSlideLayoutAtom()->eLayout == PPT_LAYOUT_TITLEMASTERSLIDE )
29239 + break;
29242 + if ( pFoundMaster )
29244 + ((SdPage*)pPage)->TRG_SetMasterPage( *((SdPage*)pFoundMaster) );
29245 + ((SdPage*)pPage)->SetLayoutName( ((SdPage*)pFoundMaster)->GetLayoutName() );
29247 + ((SdPage*)pPage)->SetAutoLayout( AUTOLAYOUT_TITLE, TRUE, TRUE );
29249 + eAktPageKind = PPT_NOTEPAGE;
29250 + SdrPage* pNPage = MakeBlancPage( FALSE );
29251 + pSdrModel->InsertPage( pNPage );
29253 + SetPageNum( nPageNum, ePageKind );
29254 + rStCtrl.Seek( nFPosMerk );
29256 + ///////////////////////////////////////////////////////////////////
29257 + // Handzettel und Notiz-Seiten erzeugen //
29258 + ///////////////////////////////////////////////////////////////////
29259 + bOk = mpDoc->CreateMissingNotesAndHandoutPages();
29260 + if ( bOk )
29262 + for ( i = 0; i < mpDoc->GetSdPageCount( PK_STANDARD ); i++ )
29264 + ////////////////////
29265 + // set AutoLayout //
29266 + ////////////////////
29267 + SetPageNum( i, PPT_SLIDEPAGE );
29268 + SdPage* pPage = mpDoc->GetSdPage( i, PK_STANDARD );
29269 + AutoLayout eAutoLayout = AUTOLAYOUT_NONE;
29270 + const PptSlideLayoutAtom* pSlideLayout = GetSlideLayoutAtom();
29271 + if ( pSlideLayout )
29273 + switch ( pSlideLayout->eLayout ) // Praesentationslayouts fuer Standard-Seiten
29275 + case PPT_LAYOUT_TITLEANDBODYSLIDE :
29277 + eAutoLayout = AUTOLAYOUT_ENUM;
29278 + USHORT nID1 = pSlideLayout->aPlaceholderId[ 1 ];
29279 + switch ( nID1 )
29281 + case PPT_PLACEHOLDER_BODY :
29282 + eAutoLayout = AUTOLAYOUT_ENUM;
29283 + break;
29284 + case PPT_PLACEHOLDER_TABLE :
29285 + eAutoLayout = AUTOLAYOUT_TAB;
29286 + break;
29287 + case PPT_PLACEHOLDER_ORGANISZATIONCHART :
29288 + eAutoLayout = AUTOLAYOUT_ORG;
29289 + break;
29290 + case PPT_PLACEHOLDER_GRAPH :
29291 + eAutoLayout = AUTOLAYOUT_CHART;
29292 + break;
29293 + case PPT_PLACEHOLDER_OBJECT :
29294 + eAutoLayout = AUTOLAYOUT_OBJ;
29295 + break;
29296 + case PPT_PLACEHOLDER_VERTICALTEXTBODY :
29297 + eAutoLayout = AUTOLAYOUT_TITLE_VERTICAL_OUTLINE;
29298 + break;
29301 + break;
29303 + case PPT_LAYOUT_2COLUMNSANDTITLE :
29305 + eAutoLayout = AUTOLAYOUT_2TEXT;
29306 + USHORT nID1 = pSlideLayout->aPlaceholderId[ 1 ];
29307 + USHORT nID2 = pSlideLayout->aPlaceholderId[ 2 ];
29308 + if ( nID1 == PPT_PLACEHOLDER_BODY && nID2 == PPT_PLACEHOLDER_GRAPH )
29309 + eAutoLayout = AUTOLAYOUT_TEXTCHART;
29310 + else if ( nID1 == PPT_PLACEHOLDER_GRAPH && nID2 == PPT_PLACEHOLDER_BODY )
29311 + eAutoLayout = AUTOLAYOUT_CHARTTEXT;
29312 + else if ( nID1 == PPT_PLACEHOLDER_BODY && nID2 == PPT_PLACEHOLDER_CLIPART )
29313 + eAutoLayout = AUTOLAYOUT_TEXTCLIP;
29314 + else if ( nID1 == PPT_PLACEHOLDER_CLIPART && nID2 == PPT_PLACEHOLDER_BODY )
29315 + eAutoLayout = AUTOLAYOUT_CLIPTEXT;
29316 + else if ( nID1 == PPT_PLACEHOLDER_CLIPART && nID2 == PPT_PLACEHOLDER_VERTICALTEXTBODY )
29317 + eAutoLayout = AUTOLAYOUT_TITLE_VERTICAL_OUTLINE_CLIPART;
29318 + else if ( ( nID1 == PPT_PLACEHOLDER_BODY )
29319 + && ( ( nID2 == PPT_PLACEHOLDER_OBJECT ) || ( nID2 == PPT_PLACEHOLDER_MEDIACLIP ) ) )
29320 + eAutoLayout = AUTOLAYOUT_TEXTOBJ;
29321 + else if ( ( nID2 == PPT_PLACEHOLDER_BODY )
29322 + && ( ( nID1 == PPT_PLACEHOLDER_OBJECT ) || ( nID1 == PPT_PLACEHOLDER_MEDIACLIP ) ) )
29323 + eAutoLayout = AUTOLAYOUT_OBJTEXT;
29324 + else if ( ( nID1 == PPT_PLACEHOLDER_OBJECT ) && ( nID2 == PPT_PLACEHOLDER_OBJECT ) )
29325 + eAutoLayout = AUTOLAYOUT_OBJ;
29327 + break;
29329 + case PPT_LAYOUT_2ROWSANDTITLE :
29331 + eAutoLayout = AUTOLAYOUT_2TEXT;
29332 + USHORT nID1 = pSlideLayout->aPlaceholderId[ 1 ];
29333 + USHORT nID2 = pSlideLayout->aPlaceholderId[ 2 ];
29334 + if ( nID1 == PPT_PLACEHOLDER_BODY && nID2 == PPT_PLACEHOLDER_OBJECT )
29335 + eAutoLayout = AUTOLAYOUT_TEXTOVEROBJ;
29336 + else if ( nID1 == PPT_PLACEHOLDER_OBJECT && nID2 == PPT_PLACEHOLDER_BODY )
29337 + eAutoLayout = AUTOLAYOUT_OBJOVERTEXT;
29339 + break;
29341 + case PPT_LAYOUT_TITLESLIDE :
29342 + eAutoLayout = AUTOLAYOUT_TITLE;
29343 + break;
29344 + case PPT_LAYOUT_ONLYTITLE :
29345 + eAutoLayout = AUTOLAYOUT_ONLY_TITLE;
29346 + break;
29347 + case PPT_LAYOUT_RIGHTCOLUMN2ROWS :
29348 + eAutoLayout = AUTOLAYOUT_TEXT2OBJ;
29349 + break;
29350 + case PPT_LAYOUT_LEFTCOLUMN2ROWS :
29351 + eAutoLayout = AUTOLAYOUT_2OBJTEXT;
29352 + break;
29353 + case PPT_LAYOUT_TOPROW2COLUMN :
29354 + eAutoLayout = AUTOLAYOUT_2OBJOVERTEXT;
29355 + break;
29356 + case PPT_LAYOUT_4OBJECTS :
29357 + eAutoLayout = AUTOLAYOUT_4OBJ;
29358 + break;
29359 + case PPT_LAYOUT_BIGOBJECT :
29360 + eAutoLayout = AUTOLAYOUT_OBJ;
29361 + break;
29362 + case PPT_LAYOUT_TITLERIGHTBODYLEFT :
29363 + eAutoLayout = AUTOLAYOUT_VERTICAL_TITLE_VERTICAL_OUTLINE; // AUTOLAYOUT_ENUM;
29364 + break;
29365 + case PPT_LAYOUT_TITLERIGHT2BODIESLEFT :
29366 + eAutoLayout = AUTOLAYOUT_VERTICAL_TITLE_TEXT_CHART; // AUTOLAYOUT_TEXT2OBJ;
29367 + break;
29369 + case PPT_LAYOUT_BOTTOMROW2COLUMNS :
29370 + case PPT_LAYOUT_BLANCSLIDE :
29371 + case PPT_LAYOUT_MASTERSLIDE : // Layout der Standard- und Titel-MasterPage
29372 + case PPT_LAYOUT_TITLEMASTERSLIDE :
29373 + case PPT_LAYOUT_MASTERNOTES : // Layout der Notizen-MasterPage
29374 + case PPT_LAYOUT_NOTESTITLEBODY : // Praesentationslayout fuer Notiz-Seiten
29375 + case PPT_LAYOUT_HANDOUTLAYOUT : // Praesentationslayout fuer Handzettelseiten
29376 + eAutoLayout = AUTOLAYOUT_NONE;
29377 + break;
29379 + if ( eAutoLayout != AUTOLAYOUT_NONE )
29380 + pPage->SetAutoLayout( eAutoLayout, FALSE );
29383 + //////////////////////////////////////////////////////////////
29384 + // Handzettel-MasterPage: Autolayout setzen //
29385 + //////////////////////////////////////////////////////////////
29386 + SdPage* pHandoutMPage = mpDoc->GetMasterSdPage( 0, PK_HANDOUT );
29387 + pHandoutMPage->SetAutoLayout( AUTOLAYOUT_HANDOUT6, TRUE, TRUE );
29390 + UINT32 nSlideCount = GetPageCount();
29391 + for ( i = 0; ( i < nSlideCount) && ( i < maSlideNameList.Count() ); i++ )
29393 + SdPage* pPage = mpDoc->GetSdPage( i, PK_STANDARD );
29394 + String* pName = (String*)maSlideNameList.GetObject( i );
29395 + if ( pPage && pName )
29397 + if ( pName->Len() )
29398 + pPage->SetName( *pName );
29399 + else
29400 + *pName = pPage->GetName();
29403 + if ( mbDocumentFound )
29405 + mpDoc->SetSummationOfParagraphs( sal_True );
29406 + if ( pDocShell )
29408 + ::sd::FrameView* pFrameView = mpDoc->GetFrameView( 0 );
29409 + if ( !pFrameView )
29411 + List* pFrameViewList = mpDoc->GetFrameViewList();
29412 + if ( pFrameViewList )
29414 + pFrameView = new ::sd::FrameView( mpDoc );
29415 + if ( pFrameView )
29416 + pFrameViewList->Insert( pFrameView );
29419 + if ( pFrameView )
29421 + sal_uInt16 nSelectedPage = 0;
29422 + PageKind ePageKind = PK_STANDARD;
29423 + EditMode eEditMode = EM_PAGE;
29425 + switch ( aUserEditAtom.eLastViewType )
29427 + case 7 : // outliner view
29429 + SfxItemSet* pSet = mrMed.GetItemSet();
29430 + if ( pSet )
29431 + pSet->Put( SfxUInt16Item( SID_VIEW_ID, 3 ) );
29433 + break;
29434 + case 8 : // slide sorter
29436 + SfxItemSet* pSet = mrMed.GetItemSet();
29437 + if ( pSet )
29438 + pSet->Put( SfxUInt16Item( SID_VIEW_ID, 2 ) );
29440 + break;
29441 + case 10 : // titlemaster
29442 + nSelectedPage = 1;
29443 + case 2 : // master
29445 + ePageKind = PK_STANDARD;
29446 + eEditMode = EM_MASTERPAGE;
29448 + break;
29449 + case 5 : // notes master
29450 + eEditMode = EM_MASTERPAGE;
29451 + case 3 : // notes
29452 + ePageKind = PK_NOTES;
29453 + break;
29454 + case 4 : // handout
29455 + ePageKind = PK_HANDOUT;
29456 + break;
29457 + default :
29458 + case 1 : // normal
29459 + break;
29461 + pFrameView->SetPageKind( ePageKind );
29462 + pFrameView->SetSelectedPage( nSelectedPage );
29463 + pFrameView->SetViewShEditMode( eEditMode, ePageKind );
29466 + DffRecordHeader aCustomShowHeader;
29467 + // custom show einlesen und setzen
29468 + rStCtrl.Seek( maDocHd.GetRecBegFilePos() + 8 );
29469 + if ( SeekToRec( rStCtrl, PPT_PST_NamedShows, maDocHd.GetRecEndFilePos(), &aCustomShowHeader ) )
29471 + DffRecordHeader aCuHeader;
29472 + while( SeekToRec( rStCtrl, PPT_PST_NamedShow, aCustomShowHeader.GetRecEndFilePos(), &aCuHeader ) )
29474 + DffRecordHeader aContent;
29475 + if ( SeekToRec( rStCtrl, PPT_PST_CString, aCuHeader.GetRecEndFilePos(), &aContent ) )
29477 + String aCuShow;
29478 + aContent.SeekToBegOfRecord( rStCtrl );
29479 + if ( ReadString( aCuShow ) )
29481 + if ( SeekToRec( rStCtrl, PPT_PST_NamedShowSlides, aCuHeader.GetRecEndFilePos(), &aContent ) )
29483 + PptSlidePersistList* pPageList = GetPageList( PPT_SLIDEPAGE );
29484 + UINT32 nSCount = aContent.nRecLen >> 2;
29485 + if ( pPageList && nSCount )
29487 + List* pList = mpDoc->GetCustomShowList( TRUE );
29488 + if ( pList )
29490 + SdCustomShow* pSdCustomShow = new SdCustomShow( mpDoc );
29491 + if ( pSdCustomShow )
29493 + pSdCustomShow->SetName( aCuShow );
29494 + UINT32 nFound = 0;
29495 + for ( UINT32 nS = 0; nS < nSCount; nS++ )
29497 + UINT32 nPageNumber;
29498 + rStCtrl >> nPageNumber;
29499 + USHORT nPage = pPageList->FindPage( nPageNumber );
29500 + if ( nPage != PPTSLIDEPERSIST_ENTRY_NOTFOUND )
29502 + SdPage* pPage = mpDoc->GetSdPage( nPage, PK_STANDARD );
29503 + if ( pPage )
29505 + pSdCustomShow->Insert( pPage, LIST_APPEND );
29506 + nFound++;
29510 + if ( nFound )
29511 + pList->Insert( pSdCustomShow, LIST_APPEND );
29512 + else
29513 + delete pSdCustomShow;
29522 + // this is defaulted, maybe there is no SSDocInfoAtom
29523 + String aCustomShow;
29524 + sal_uInt32 nFlags = 1; // Bit 0: Auto advance
29525 + sal_uInt32 nPenColor = 0x1000000;
29526 + sal_Int32 nRestartTime = 0x7fffffff;
29527 + sal_uInt16 nStartSlide = 0;
29528 + sal_Int16 nEndSlide = 0;
29530 + // read the pres. configuration
29531 + rStCtrl.Seek( maDocHd.GetRecBegFilePos() + 8 );
29532 + if ( SeekToRec( rStCtrl, PPT_PST_SSDocInfoAtom, maDocHd.GetRecEndFilePos(), &aCustomShowHeader ) )
29534 + rStCtrl >> nPenColor
29535 + >> nRestartTime
29536 + >> nStartSlide
29537 + >> nEndSlide;
29539 + sal_Unicode nChar;
29540 + for ( UINT32 i2 = 0; i2 < 32; i2++ )
29542 + rStCtrl >> nChar;
29543 + if ( nChar )
29544 + aCustomShow.Append( nChar );
29545 + else
29547 + rStCtrl.SeekRel( ( 31 - i2 ) << 1 );
29548 + break;
29551 + rStCtrl >> nFlags;
29553 + // set the current custom show
29554 + if ( aCustomShow.Len() )
29556 + void* pPtr;
29557 + List* pList = mpDoc->GetCustomShowList( FALSE );
29558 + if ( pList )
29560 + for ( pPtr = pList->First(); pPtr; pPtr = pList->Next() )
29562 + if ( ((SdCustomShow*)pPtr)->GetName() == aCustomShow )
29563 + break;
29565 + if ( !pPtr )
29566 + pList->First();
29569 + sd::PresentationSettings& rPresSettings = mpDoc->getPresentationSettings();
29571 + rPresSettings.mbManual = ( nFlags & 1 ) == 0;
29572 + rPresSettings.mbAnimationAllowed = ( nFlags & 2 ) == 0;
29573 + rPresSettings.mbAll = ( nFlags & 4 ) == 0;
29574 + rPresSettings.mbCustomShow = ( nFlags & 8 ) != 0;
29575 + rPresSettings.mbEndless = ( nFlags & 0x80 ) != 0;
29576 + rPresSettings.mbFullScreen = ( nFlags & 0x10 ) == 0;
29577 +// rPresSettings.mnPauseTimeout;
29578 +// rPresSettings.mbShowLogo;
29579 + if ( nStartSlide && ( nStartSlide <= GetPageCount() ) )
29581 + SdPage* pPage = mpDoc->GetSdPage( nStartSlide - 1, PK_STANDARD );
29582 + if ( pPage )
29583 + rPresSettings.maPresPage = pPage->GetName();
29587 + delete pStbMgr;
29589 + // read DocumentInfo
29590 + uno::Reference<document::XDocumentPropertiesSupplier> xDPS(
29591 + mpDoc->GetObjectShell()->GetModel(), uno::UNO_QUERY_THROW);
29592 + uno::Reference<document::XDocumentProperties> xDocProps
29593 + = xDPS->getDocumentProperties();
29594 + sfx2::LoadOlePropertySet(xDocProps, &mrStorage);
29595 + xDocProps->setTemplateName(::rtl::OUString());
29597 + pSdrModel->setLock( sal_False );
29598 + return bOk;
29601 +void ImplSdPPTImport::SetHeaderFooterPageSettings( SdPage* pPage, const PptSlidePersistEntry* pMasterPersist )
29603 + sal_uInt32 i;
29604 + PptSlidePersistList* pList = GetPageList( eAktPageKind );
29605 + if ( ( !pList ) || ( pList->Count() <= nAktPageNum ) )
29606 + return;
29607 + PptSlidePersistEntry& rSlidePersist = *(*pList)[ nAktPageNum ];
29608 + HeaderFooterEntry* pHFE = rSlidePersist.pHeaderFooterEntry;
29609 + if ( pHFE )
29611 + for ( i = 0; i < 4; i++ )
29613 + bool bVisible = pHFE->IsToDisplay( i );
29614 + if ( ( eAktPageKind == PPT_SLIDEPAGE )
29615 + && ( rSlidePersist.aSlideAtom.aLayout.eLayout == PPT_LAYOUT_TITLESLIDE )
29616 + && ( aDocAtom.bTitlePlaceholdersOmitted == TRUE ) )
29618 + bVisible = sal_False;
29620 + if ( bVisible && pMasterPersist )
29622 + sal_uInt32 nPosition = pHFE->NeedToImportInstance( i, rSlidePersist );
29623 + if ( nPosition )
29625 + Rectangle aEmpty;
29626 + bVisible = sal_False;
29627 + rStCtrl.Seek( nPosition );
29628 + ProcessData aProcessData( rSlidePersist, (SdPage*)pPage );
29629 + SdrObject* pObj = ImportObj( rStCtrl, (void*)&aProcessData, aEmpty, aEmpty );
29630 + if ( pObj )
29631 + pPage->NbcInsertObject( pObj, 0 );
29634 + String aPlaceHolderString;
29635 + if ( pHFE->pPlaceholder )
29636 + aPlaceHolderString = pHFE->pPlaceholder[ i ];
29638 + sd::HeaderFooterSettings rHeaderFooterSettings( pPage->getHeaderFooterSettings() );
29639 + switch( i )
29641 + case 0 :
29643 + rHeaderFooterSettings.mbDateTimeVisible = bVisible;
29644 + rHeaderFooterSettings.mbDateTimeIsFixed = ( pHFE->nAtom & 0x20000 ) == 0;
29645 + rHeaderFooterSettings.maDateTimeText = aPlaceHolderString;
29646 + SvxDateFormat eDateFormat;
29647 + SvxTimeFormat eTimeFormat;
29648 + PPTFieldEntry::GetDateTime( pHFE->nAtom & 0xff, eDateFormat, eTimeFormat );
29649 + rHeaderFooterSettings.meDateTimeFormat = eDateFormat | ( eTimeFormat << 4 );
29651 + break;
29652 + case 1 :
29654 + rHeaderFooterSettings.mbHeaderVisible = bVisible;
29655 + rHeaderFooterSettings.maHeaderText = aPlaceHolderString;
29657 + break;
29658 + case 2 :
29660 + rHeaderFooterSettings.mbFooterVisible = bVisible;
29661 + rHeaderFooterSettings.maFooterText = aPlaceHolderString;
29663 + break;
29664 + case 3 :
29666 + rHeaderFooterSettings.mbSlideNumberVisible = bVisible;
29668 + break;
29670 + pPage->setHeaderFooterSettings( rHeaderFooterSettings );
29675 +//////////////////////////////////////////////////////////////////////////
29677 +// Import von Seiten
29679 +//////////////////////////////////////////////////////////////////////////
29681 +struct Ppt97AnimationStlSortHelper
29683 + bool operator()( const std::pair< SdrObject*, Ppt97AnimationPtr >& p1, const std::pair< SdrObject*, Ppt97AnimationPtr >& p2 );
29686 +bool Ppt97AnimationStlSortHelper::operator()( const std::pair< SdrObject*, Ppt97AnimationPtr >& p1, const std::pair< SdrObject*, Ppt97AnimationPtr >& p2 )
29688 + if( !p1.second.get() || !p2.second.get() )
29689 + return true;
29690 + if( *p1.second < *p2.second )
29691 + return true;
29692 + if( *p1.second > *p2.second )
29693 + return false;
29694 + if( p1.first->GetOrdNum() < p2.first->GetOrdNum() )
29695 + return true;
29696 + return false;
29699 +void ImplSdPPTImport::ImportPageEffect( SdPage* pPage, const sal_Bool bNewAnimationsUsed )
29701 + ULONG nFilePosMerk = rStCtrl.Tell();
29703 + // PageKind an der Seite setzen (bisher nur PK_STANDARD oder PK_NOTES)
29704 + if ( pPage->GetPageKind() == PK_STANDARD )
29706 + PptSlidePersistList* pPersistList = GetPageList( eAktPageKind );
29707 + PptSlidePersistEntry* pActualSlidePersist = ( pPersistList && ( nAktPageNum < pPersistList->Count() ) )
29708 + ? (*pPersistList)[ nAktPageNum ] : NULL;
29710 + if ( pActualSlidePersist && ( eAktPageKind == PPT_SLIDEPAGE ) )
29712 + if ( ! ( pActualSlidePersist->aSlideAtom.nFlags & 1 ) ) // do not follow master objects ?
29714 + if(pPage->TRG_HasMasterPage())
29716 + SetOfByte aVisibleLayers = pPage->TRG_GetMasterPageVisibleLayers();
29717 + aVisibleLayers.Set(mnBackgroundObjectsLayerID, FALSE);
29718 + pPage->TRG_SetMasterPageVisibleLayers(aVisibleLayers);
29722 + DffRecordHeader aPageRecHd;
29723 + if ( pPage && SeekToAktPage( &aPageRecHd ) )
29725 + ULONG nPageRecEnd = aPageRecHd.GetRecEndFilePos();
29727 + BOOL bTryTwice = ( eAktPageKind == PPT_SLIDEPAGE );
29728 + BOOL bSSSlideInfoAtom = FALSE;
29729 + while ( TRUE )
29731 + while ( ( rStCtrl.GetError() == 0 ) && ( rStCtrl.Tell() < nPageRecEnd ) )
29733 + DffRecordHeader aHd;
29734 + rStCtrl >> aHd;
29735 + switch ( aHd.nRecType )
29737 + case PPT_PST_SSSlideInfoAtom:
29739 + bSSSlideInfoAtom = TRUE;
29740 + if ( eAktPageKind == PPT_MASTERPAGE )
29742 + if ( pActualSlidePersist )
29743 + pActualSlidePersist->aPersistAtom.nReserved = aHd.GetRecBegFilePos();
29745 + else
29747 + sal_Int8 nDirection, nTransitionType, nByteDummy, nSpeed;
29748 + sal_Int16 nBuildFlags;
29749 + sal_Int32 nSlideTime, nSoundRef;
29750 + rStCtrl >> nSlideTime // Standzeit (in Ticks)
29751 + >> nSoundRef // Index in SoundCollection
29752 + >> nDirection // Richtung des Ueberblendeffekts
29753 + >> nTransitionType // Ueberblendeffekt
29754 + >> nBuildFlags // Buildflags (s.u.)
29755 + >> nSpeed // Geschwindigkeit (langsam, mittel, schnell)
29756 + >> nByteDummy >> nByteDummy >> nByteDummy;
29758 + switch ( nTransitionType )
29760 + case PPT_TRANSITION_TYPE_BLINDS :
29762 + if ( nDirection == 0 )
29763 + pPage->SetFadeEffect( ::com::sun::star::presentation::FadeEffect_VERTICAL_STRIPES );// Vertikal blenden
29764 + else if ( nDirection == 1 )
29765 + pPage->SetFadeEffect( ::com::sun::star::presentation::FadeEffect_HORIZONTAL_STRIPES );// Horizontal blenden
29767 + break;
29768 + case PPT_TRANSITION_TYPE_CHECKER :
29770 + if ( nDirection == 0 )
29771 + pPage->SetFadeEffect( ::com::sun::star::presentation::FadeEffect_HORIZONTAL_CHECKERBOARD );// Vertikal versetzt einblenden ??
29772 + else if ( nDirection == 1 )
29773 + pPage->SetFadeEffect( ::com::sun::star::presentation::FadeEffect_VERTICAL_CHECKERBOARD );// Horizontal versetzt einblenden ??
29775 + break;
29776 + case PPT_TRANSITION_TYPE_COVER :
29778 + if ( nDirection == 0 )
29779 + pPage->SetFadeEffect( ::com::sun::star::presentation::FadeEffect_MOVE_FROM_RIGHT ); // Von rechts ueberdecken
29780 + else if ( nDirection == 1 )
29781 + pPage->SetFadeEffect( ::com::sun::star::presentation::FadeEffect_MOVE_FROM_BOTTOM ); // Von unten ueberdecken
29782 + else if ( nDirection == 2 )
29783 + pPage->SetFadeEffect( ::com::sun::star::presentation::FadeEffect_MOVE_FROM_LEFT ); // Von links ueberdecken
29784 + else if ( nDirection == 3 )
29785 + pPage->SetFadeEffect( ::com::sun::star::presentation::FadeEffect_MOVE_FROM_TOP ); // Von oben ueberdecken
29786 + else if ( nDirection == 4 )
29787 + pPage->SetFadeEffect( ::com::sun::star::presentation::FadeEffect_MOVE_FROM_LOWERRIGHT );// Von rechts unten ueberdecken ??
29788 + else if ( nDirection == 5 )
29789 + pPage->SetFadeEffect( ::com::sun::star::presentation::FadeEffect_MOVE_FROM_LOWERLEFT ); // Von links unten ueberdecken ??
29790 + else if ( nDirection == 6 )
29791 + pPage->SetFadeEffect( ::com::sun::star::presentation::FadeEffect_MOVE_FROM_UPPERRIGHT );// Von rechts oben ueberdecken
29792 + else if ( nDirection == 7 )
29793 + pPage->SetFadeEffect( ::com::sun::star::presentation::FadeEffect_MOVE_FROM_UPPERLEFT ); // Von links oben ueberdecken ??
29795 + break;
29796 + case PPT_TRANSITION_TYPE_NONE :
29798 + if ( nBuildFlags )
29800 + if ( nDirection == 0 )
29801 + pPage->SetFadeEffect( ::com::sun::star::presentation::FadeEffect_NONE ); // Direkt
29802 + else if ( nDirection == 1 )
29804 + pPage->setTransitionType( animations::TransitionType::BARWIPE );
29805 + pPage->setTransitionSubtype( animations::TransitionSubType::FADEOVERCOLOR );
29806 + pPage->setTransitionFadeColor( 0 );
29809 + else
29810 + pPage->setTransitionType( 0 );
29812 + break;
29813 + case PPT_TRANSITION_TYPE_DISSOLVE :
29814 + pPage->SetFadeEffect(::com::sun::star::presentation::FadeEffect_DISSOLVE); // Aufloesen
29815 + break;
29816 + case PPT_TRANSITION_TYPE_RANDOM_BARS :
29818 + if ( nDirection == 0 )
29819 + pPage->SetFadeEffect( ::com::sun::star::presentation::FadeEffect_HORIZONTAL_LINES ); // Horizontale Linien
29820 + else if ( nDirection == 1 )
29821 + pPage->SetFadeEffect( ::com::sun::star::presentation::FadeEffect_VERTICAL_LINES ); // Vertikale Linien
29823 + break;
29824 + case PPT_TRANSITION_TYPE_SPLIT :
29826 + if ( nDirection == 0 )
29827 + pPage->SetFadeEffect( ::com::sun::star::presentation::FadeEffect_OPEN_VERTICAL ); // Horizontal oeffnen
29828 + else if ( nDirection == 1 )
29829 + pPage->SetFadeEffect( ::com::sun::star::presentation::FadeEffect_CLOSE_VERTICAL ); // Horizontal schliessen
29830 + else if ( nDirection == 2 )
29831 + pPage->SetFadeEffect( ::com::sun::star::presentation::FadeEffect_OPEN_HORIZONTAL ); // Vertikal oeffnen
29832 + else if ( nDirection == 3 )
29833 + pPage->SetFadeEffect( ::com::sun::star::presentation::FadeEffect_CLOSE_HORIZONTAL );// Vertikal schliessen
29835 + break;
29836 + case PPT_TRANSITION_TYPE_STRIPS :
29838 + if ( nDirection == 4 )
29839 + pPage->SetFadeEffect( ::com::sun::star::presentation::FadeEffect_FADE_FROM_LOWERRIGHT );// Diagonal nach links oben
29840 + else if ( nDirection == 5 )
29841 + pPage->SetFadeEffect( ::com::sun::star::presentation::FadeEffect_FADE_FROM_LOWERLEFT ); // Diagonal nach rechts oben
29842 + else if ( nDirection == 6 )
29843 + pPage->SetFadeEffect( ::com::sun::star::presentation::FadeEffect_FADE_FROM_UPPERRIGHT );// Diagonal nach links unten
29844 + else if ( nDirection == 7 )
29845 + pPage->SetFadeEffect( ::com::sun::star::presentation::FadeEffect_FADE_FROM_UPPERLEFT ); // Diagonal nach rechts unten
29847 + break;
29848 + case PPT_TRANSITION_TYPE_PULL :
29850 + if ( nDirection == 0 )
29851 + pPage->SetFadeEffect( ::com::sun::star::presentation::FadeEffect_UNCOVER_TO_LEFT ); // Nach links aufdecken
29852 + else if ( nDirection == 1 )
29853 + pPage->SetFadeEffect( ::com::sun::star::presentation::FadeEffect_UNCOVER_TO_TOP ); // Nach oben aufdecken
29854 + else if ( nDirection == 2 )
29855 + pPage->SetFadeEffect( ::com::sun::star::presentation::FadeEffect_UNCOVER_TO_RIGHT ); // Nach rechts aufdecken
29856 + else if ( nDirection == 3 )
29857 + pPage->SetFadeEffect( ::com::sun::star::presentation::FadeEffect_UNCOVER_TO_BOTTOM ); // Nach unten aufdecken
29858 + else if ( nDirection == 4 )
29859 + pPage->SetFadeEffect( ::com::sun::star::presentation::FadeEffect_UNCOVER_TO_UPPERLEFT );// Nach links oben aufdecken
29860 + else if ( nDirection == 5 )
29861 + pPage->SetFadeEffect( ::com::sun::star::presentation::FadeEffect_UNCOVER_TO_UPPERRIGHT );// Nach rechts oben aufdecken
29862 + else if ( nDirection == 6 )
29863 + pPage->SetFadeEffect( ::com::sun::star::presentation::FadeEffect_UNCOVER_TO_LOWERLEFT );// Nach links unten aufdecken
29864 + else if ( nDirection == 7 )
29865 + pPage->SetFadeEffect( ::com::sun::star::presentation::FadeEffect_UNCOVER_TO_LOWERRIGHT );// Nach rechts unten aufdecken
29867 + break;
29868 + case PPT_TRANSITION_TYPE_WIPE :
29870 + if ( nDirection == 0 )
29871 + pPage->SetFadeEffect( ::com::sun::star::presentation::FadeEffect_FADE_FROM_RIGHT ); // Von rechts rollen
29872 + else if ( nDirection == 1 )
29873 + pPage->SetFadeEffect( ::com::sun::star::presentation::FadeEffect_FADE_FROM_BOTTOM );// Von unten rollen
29874 + else if ( nDirection == 2 )
29875 + pPage->SetFadeEffect( ::com::sun::star::presentation::FadeEffect_FADE_FROM_LEFT ); // Von links rollen
29876 + else if ( nDirection == 3 )
29877 + pPage->SetFadeEffect( ::com::sun::star::presentation::FadeEffect_FADE_FROM_TOP ); // Von oben rollen
29879 + break;
29880 + case PPT_TRANSITION_TYPE_RANDOM :
29881 + pPage->SetFadeEffect( ::com::sun::star::presentation::FadeEffect_RANDOM ); // Automatisch
29882 + break;
29883 + case PPT_TRANSITION_TYPE_FADE :
29885 + pPage->setTransitionType( animations::TransitionType::FADE );
29886 + pPage->setTransitionSubtype( animations::TransitionSubType::FADEOVERCOLOR );
29887 + pPage->setTransitionFadeColor( 0 );
29889 + break;
29890 + case PPT_TRANSITION_TYPE_ZOOM :
29892 + if ( nDirection == 0 )
29893 + pPage->SetFadeEffect( ::com::sun::star::presentation::FadeEffect_FADE_FROM_CENTER );// Von innen einblenden
29894 + else if ( nDirection == 1 )
29895 + pPage->SetFadeEffect( ::com::sun::star::presentation::FadeEffect_FADE_TO_CENTER ); // Von aussen einblenden
29897 + break;
29898 + case PPT_TRANSITION_TYPE_DIAMOND :
29900 + pPage->setTransitionType( animations::TransitionType::IRISWIPE );
29901 + pPage->setTransitionSubtype( animations::TransitionSubType::DIAMOND );
29903 + break;
29904 + case PPT_TRANSITION_TYPE_PLUS :
29906 + pPage->setTransitionType( animations::TransitionType::FOURBOXWIPE );
29907 + pPage->setTransitionSubtype( animations::TransitionSubType::CORNERSOUT );
29909 + break;
29910 + case PPT_TRANSITION_TYPE_CIRCLE :
29912 + pPage->setTransitionType( animations::TransitionType::ELLIPSEWIPE );
29913 + pPage->setTransitionSubtype( animations::TransitionSubType::CIRCLE );
29915 + break;
29916 + case PPT_TRANSITION_TYPE_WEDGE :
29918 + pPage->setTransitionType( animations::TransitionType::FANWIPE );
29919 + pPage->setTransitionSubtype( animations::TransitionSubType::CENTERTOP );
29921 + break;
29922 + case PPT_TRANSITION_TYPE_WHEEL :
29924 + pPage->setTransitionType( animations::TransitionType::PINWHEELWIPE );
29925 + sal_Int16 nSubType;
29926 + switch( nDirection )
29928 + default:
29929 + case 1 : nSubType = animations::TransitionSubType::ONEBLADE; break;
29930 + case 2 : nSubType = animations::TransitionSubType::TWOBLADEVERTICAL; break;
29931 + case 3 : nSubType = animations::TransitionSubType::THREEBLADE; break;
29932 + case 4 : nSubType = animations::TransitionSubType::FOURBLADE; break;
29933 + case 8 : nSubType = animations::TransitionSubType::EIGHTBLADE; break;
29935 + pPage->setTransitionSubtype( nSubType );
29937 + break;
29938 + case PPT_TRANSITION_TYPE_PUSH :
29940 + pPage->setTransitionType( animations::TransitionType::PUSHWIPE );
29941 + sal_Int16 nSubType;
29942 + switch( nDirection )
29944 + default:
29945 + case 0 : nSubType = animations::TransitionSubType::FROMRIGHT; break;
29946 + case 1 : nSubType = animations::TransitionSubType::FROMBOTTOM; break;
29947 + case 2 : nSubType = animations::TransitionSubType::FROMLEFT; break;
29948 + case 3 : nSubType = animations::TransitionSubType::FROMTOP; break;
29950 + pPage->setTransitionSubtype( nSubType );
29952 + break;
29953 + case PPT_TRANSITION_TYPE_COMB :
29955 + pPage->setTransitionType( animations::TransitionType::PUSHWIPE );
29956 + pPage->setTransitionSubtype( nDirection ? animations::TransitionSubType::COMBVERTICAL : animations::TransitionSubType::COMBHORIZONTAL );
29958 + break;
29959 + case PPT_TRANSITION_TYPE_NEWSFLASH :
29961 + pPage->setTransitionType( animations::TransitionType::ZOOM );
29962 + pPage->setTransitionSubtype( animations::TransitionSubType::ROTATEIN );
29964 + break;
29965 + case PPT_TRANSITION_TYPE_SMOOTHFADE :
29967 + pPage->setTransitionType( animations::TransitionType::FADE );
29968 + pPage->setTransitionSubtype( animations::TransitionSubType::CROSSFADE );
29970 + break;
29973 + if ( nSpeed == 0 )
29974 + pPage->setTransitionDuration( 3.0 ); // langsam
29975 + else if ( nSpeed == 1 )
29976 + pPage->setTransitionDuration( 2.0 ); // mittel
29977 + else if ( nSpeed == 2 )
29978 + pPage->setTransitionDuration( 1.0 ); // schnell
29980 + if ( nBuildFlags & 0x400 ) // slidechange by time
29981 + { // Standzeit (in Ticks)
29982 + pPage->SetPresChange( PRESCHANGE_AUTO );
29983 + pPage->SetTime( nSlideTime / 1000 );
29985 + else
29986 + pPage->SetPresChange( mePresChange );
29988 +// if ( nBuildFlags & 1 ) // slidechange by mouseclick
29989 +// pPage->SetPresChange( mePresChange );
29991 + if ( nBuildFlags & 4 )
29992 + pPage->SetExcluded( TRUE ); // Dia nicht anzeigen
29993 + if ( nBuildFlags & 16 )
29994 + { // Dia mit Soundeffekt
29995 + pPage->SetSound( TRUE );
29996 + String aSoundFile( ReadSound( nSoundRef ) );
29997 + pPage->SetSoundFile( aSoundFile );
29999 + if ( nBuildFlags & ( 1 << 6 ) ) // Loop until next sound
30000 + pPage->SetLoopSound( sal_True );
30001 + if ( nBuildFlags & ( 1 << 8 ) ) // Stop the previous sound
30002 + pPage->SetStopSound( sal_True );
30003 + break;
30007 + aHd.SeekToEndOfRecord( rStCtrl );
30009 + if ( bTryTwice && ( bSSSlideInfoAtom == FALSE ) )
30011 + bTryTwice = FALSE;
30012 + if ( HasMasterPage( nAktPageNum, eAktPageKind ) )
30014 + USHORT nMasterNum = GetMasterPageIndex( nAktPageNum, eAktPageKind );
30015 + PptSlidePersistList* pPageList = GetPageList( PPT_MASTERPAGE );
30016 + if ( pPageList && ( nMasterNum < pPageList->Count() ) )
30018 + PptSlidePersistEntry* pE = (*pPageList)[ nMasterNum ];
30019 + if ( pE )
30021 + UINT32 nOfs = pE->aPersistAtom.nReserved;
30022 + if ( nOfs )
30024 + rStCtrl.Seek( nOfs );
30025 + nPageRecEnd = nOfs + 16;
30026 + continue;
30033 + break;
30038 + if ( !bNewAnimationsUsed )
30040 + tAnimationVector aAnimationsOnThisPage;
30042 + // add effects from page in correct order
30043 + SdrObjListIter aSdrIter( *pPage, IM_FLAT );
30044 + while ( aSdrIter.IsMore() )
30046 + SdrObject* pObj = aSdrIter.Next();
30047 + tAnimationMap::iterator aFound = maAnimations.find( pObj );
30048 + if( aFound != maAnimations.end() )
30050 + std::pair< SdrObject*, Ppt97AnimationPtr > aPair( (*aFound).first, (*aFound).second );
30051 + aAnimationsOnThisPage.push_back( aPair );
30055 + Ppt97AnimationStlSortHelper aSortHelper;
30056 + std::sort( aAnimationsOnThisPage.begin(), aAnimationsOnThisPage.end(), aSortHelper );
30058 + tAnimationVector::iterator aIter( aAnimationsOnThisPage.begin() );
30059 + const tAnimationVector::iterator aEnd( aAnimationsOnThisPage.end() );
30061 + for( ;aIter != aEnd; aIter++ )
30063 + Ppt97AnimationPtr pPpt97Animation = (*aIter).second;;
30064 + if( pPpt97Animation.get() )
30065 + pPpt97Animation->createAndSetCustomAnimationEffect( (*aIter).first );
30068 + rStCtrl.Seek( nFilePosMerk );
30071 +//////////////////////////////////////////////////////////////////////////
30073 +// Import von Sounds
30075 +// Die Sounds werden nicht nur als String importiert sondern auch
30076 +// in die Gallery einefuegt, falls dort noch nicht vorhanden.
30078 +///////////////////////////////////////////////////////////////////////////
30080 +String ImplSdPPTImport::ReadSound(UINT32 nSoundRef) const
30082 + String aRetval;
30083 + UINT32 nPosMerk = rStCtrl.Tell();
30084 + DffRecordHeader aDocHd;
30085 + if ( SeekToDocument( &aDocHd ) )
30087 + UINT32 nSoundLen = aDocHd.GetRecEndFilePos();
30088 + DffRecordHeader aSoundBlockRecHd;
30089 + if( SeekToRec( rStCtrl, PPT_PST_SoundCollection, nSoundLen, &aSoundBlockRecHd ) )
30091 + UINT32 nDataLen = aSoundBlockRecHd.GetRecEndFilePos();
30092 + DffRecordHeader aSoundRecHd;
30093 + BOOL bRefStrValid = FALSE;
30094 + BOOL bDone = FALSE;
30096 + while( !bDone && SeekToRec( rStCtrl, PPT_PST_Sound, nDataLen, &aSoundRecHd ) )
30098 + UINT32 nStrLen = aSoundRecHd.GetRecEndFilePos();
30099 + String aRefStr;
30100 + UINT32 nPosMerk2 = rStCtrl.Tell();
30101 + if ( SeekToRec( rStCtrl, PPT_PST_CString, nStrLen, NULL, 2 ) )
30103 + if ( ReadString( aRefStr ) )
30104 + bRefStrValid = TRUE;
30106 + if ( bRefStrValid )
30108 + if ( UniString::CreateFromInt32( nSoundRef ) == aRefStr )
30110 + rStCtrl.Seek( nPosMerk2 );
30111 + if ( SeekToRec( rStCtrl, PPT_PST_CString, nStrLen, NULL, 0 ) )
30113 + ReadString( aRetval );
30114 + bDone = TRUE;
30118 + if ( bDone )
30120 + // ueberpruefen, ob diese Sound-Datei schon
30121 + // existiert. Wenn nicht, exportiere diese
30122 + // in unser lokales Sound-Verzeichnis.
30123 + BOOL bSoundExists = FALSE;
30124 + List* pSoundList = new List();
30126 + GalleryExplorer::FillObjList( GALLERY_THEME_SOUNDS, *pSoundList );
30127 + GalleryExplorer::FillObjList( GALLERY_THEME_USERSOUNDS, *pSoundList );
30129 + for( ULONG n = 0; ( n < pSoundList->Count() ) && !bSoundExists; n++ )
30131 + INetURLObject aURL( *(String*)pSoundList->GetObject( n ) );
30132 + String aSoundName( aURL.GetName() );
30134 + if( aSoundName == aRetval )
30136 + aRetval = *(String*)pSoundList->GetObject( n );
30137 + bSoundExists = TRUE;
30141 + for ( void* pPtr = pSoundList->First(); pPtr; pPtr = pSoundList->Next() )
30142 + delete (String*)pPtr;
30144 + delete pSoundList;
30146 + if ( !bSoundExists )
30148 + rStCtrl.Seek( nPosMerk2 );
30149 + DffRecordHeader aSoundDataRecHd;
30150 + if ( SeekToRec( rStCtrl, PPT_PST_SoundData, nStrLen, &aSoundDataRecHd, 0 ) )
30152 + String aGalleryDir( SvtPathOptions().GetGalleryPath() );
30153 + INetURLObject aGalleryUserSound( aGalleryDir.GetToken( aGalleryDir.GetTokenCount( ';' ) - 1 ) );
30155 + aGalleryUserSound.Append( aRetval );
30156 + UINT32 nSoundDataLen = aSoundDataRecHd.nRecLen;
30157 + UINT8* pBuf = new UINT8[ nSoundDataLen ];
30159 + rStCtrl.Read( pBuf, nSoundDataLen );
30160 + SvStream* pOStm = ::utl::UcbStreamHelper::CreateStream( aGalleryUserSound.GetMainURL( INetURLObject::NO_DECODE ), STREAM_WRITE | STREAM_TRUNC );
30162 + if( pOStm )
30164 + pOStm->Write( pBuf, nSoundDataLen );
30166 + if( pOStm->GetError() == ERRCODE_NONE )
30168 + GalleryExplorer::InsertURL( GALLERY_THEME_USERSOUNDS, aGalleryUserSound.GetMainURL( INetURLObject::NO_DECODE ) );
30169 + aRetval = aGalleryUserSound.GetMainURL( INetURLObject::NO_DECODE );
30172 + delete pOStm;
30175 + delete[] pBuf;
30179 + if ( !bDone )
30180 + aSoundRecHd.SeekToEndOfRecord( rStCtrl );
30184 + rStCtrl.Seek( nPosMerk );
30185 + return aRetval;
30188 +//////////////////////////////////////////////////////////////////////////
30190 +// media object import, the return value is the url to the media object
30192 +//////////////////////////////////////////////////////////////////////////
30194 +String ImplSdPPTImport::ReadMedia( sal_uInt32 nMediaRef ) const
30196 + String aRetVal;
30197 + DffRecordHeader* pHd( const_cast<ImplSdPPTImport*>(this)->aDocRecManager.GetRecordHeader( PPT_PST_ExObjList, SEEK_FROM_BEGINNING ) );
30198 + if ( pHd )
30200 + pHd->SeekToContent( rStCtrl );
30201 + while ( ( rStCtrl.Tell() < pHd->GetRecEndFilePos() ) && !aRetVal.Len() )
30203 + DffRecordHeader aHdMovie;
30204 + rStCtrl >> aHdMovie;
30205 + switch( aHdMovie.nRecType )
30207 + case PPT_PST_ExAviMovie :
30208 + case PPT_PST_ExMCIMovie :
30210 + DffRecordHeader aExVideoHd;
30211 + if ( SeekToRec( rStCtrl, PPT_PST_ExVideo, aHdMovie.GetRecEndFilePos(), &aExVideoHd ) )
30213 + DffRecordHeader aExMediaAtomHd;
30214 + if ( SeekToRec( rStCtrl, PPT_PST_ExMediaAtom, aExVideoHd.GetRecEndFilePos(), &aExMediaAtomHd ) )
30216 + sal_uInt32 nRef;
30217 + rStCtrl >> nRef;
30218 + if ( nRef == nMediaRef )
30220 + aExVideoHd.SeekToContent( rStCtrl );
30221 + while( rStCtrl.Tell() < aExVideoHd.GetRecEndFilePos() )
30223 + DffRecordHeader aHd;
30224 + rStCtrl >> aHd;
30225 + switch( aHd.nRecType )
30227 + case PPT_PST_CString :
30229 + aHd.SeekToBegOfRecord( rStCtrl );
30230 + String aStr;
30231 + if ( ReadString( aStr ) )
30233 + if( ::utl::LocalFileHelper::ConvertPhysicalNameToURL( aStr, aRetVal ) )
30235 + aRetVal = INetURLObject( aRetVal ).GetMainURL( INetURLObject::DECODE_UNAMBIGUOUS );
30239 + break;
30241 + aHd.SeekToEndOfRecord( rStCtrl );
30243 + break;
30248 + break;
30250 + aHdMovie.SeekToEndOfRecord( rStCtrl );
30253 + return aRetVal;
30256 +//////////////////////////////////////////////////////////////////////////
30258 +// Import von Objekten
30260 +//////////////////////////////////////////////////////////////////////////
30262 +void ImplSdPPTImport::FillSdAnimationInfo( SdAnimationInfo* pInfo, PptInteractiveInfoAtom* pIAtom, String aMacroName )
30264 + // Lokale Informationen in pInfo eintragen
30265 + if( pIAtom->nSoundRef )
30267 + pInfo->maBookmark = ReadSound( pIAtom->nSoundRef ); // Pfad zum Soundfile in MSDOS-Notation
30268 + pInfo->meClickAction = ::com::sun::star::presentation::ClickAction_SOUND; // RunProgramAction
30270 +// if ( nFlags & 0x01 ) // koennen wir nicht ( beim Anklicken markieren )
30271 + switch ( pIAtom->nAction )
30273 +// case 0x01 : // MacroAction
30274 +// {
30275 +// pInfo->meClickAction = ::com::sun::star::presentation::::com::sun::star::presentation::ClickAction_MACRO;
30276 +// // aMacro liegt in folgender Form vor:
30277 +// // "Macroname.Modulname.Libname.Dokumentname" oder
30278 +// // "Macroname.Modulname.Libname.Applikationsname"
30279 +// pInfo->maBookmark = aMacroName;
30280 +// }
30281 +// break;
30282 + case 0x02 : // RunProgramAction
30284 + pInfo->meClickAction = ::com::sun::star::presentation::ClickAction_PROGRAM;
30285 + pInfo->maBookmark = aMacroName; // Programmname in aBookmark
30287 + break;
30288 + case 0x03 : // JumpAction
30290 + switch( pIAtom->nJump )
30292 + case 0x01 :
30293 + pInfo->meClickAction = ::com::sun::star::presentation::ClickAction_NEXTPAGE; // Next slide
30294 + break;
30295 + case 0x02 :
30296 + pInfo->meClickAction = ::com::sun::star::presentation::ClickAction_PREVPAGE; // Previous slide
30297 + break;
30298 + case 0x03 :
30299 + pInfo->meClickAction = ::com::sun::star::presentation::ClickAction_FIRSTPAGE; // First slide
30300 + break;
30301 + case 0x04 :
30302 + pInfo->meClickAction = ::com::sun::star::presentation::ClickAction_LASTPAGE; // last Slide
30303 + break;
30304 + case 0x05 :
30305 + pInfo->meClickAction = ::com::sun::star::presentation::ClickAction_PREVPAGE; // Last slide viewed
30306 + break;
30307 + case 0x06 :
30308 + pInfo->meClickAction = ::com::sun::star::presentation::ClickAction_STOPPRESENTATION; // End show
30309 + break;
30310 + default :
30311 + pInfo->meClickAction = ::com::sun::star::presentation::ClickAction_NONE; // 0x00: no action, else unknown
30312 + break;
30315 + break;
30316 + case 0x04 :
30318 + SdHyperlinkEntry* pPtr;
30319 + for ( pPtr = (SdHyperlinkEntry*)aHyperList.First(); pPtr; pPtr = (SdHyperlinkEntry*)aHyperList.Next() )
30321 + if ( pPtr->nIndex == pIAtom->nExHyperlinkId )
30322 + break;
30324 + if ( pPtr )
30326 + switch( pIAtom->nHyperlinkType )
30328 + case 9:
30329 + case 10:
30330 + break;
30331 + case 8: // hyperlink : URL
30333 + if ( pPtr->aTarget.Len() )
30335 + pInfo->maBookmark = String( pPtr->aTarget );
30336 + pInfo->meClickAction = ::com::sun::star::presentation::ClickAction_DOCUMENT;
30339 + break;
30340 + case 7: // hyperlink auf eine Seite
30342 + if ( pPtr->aConvSubString.Len() )
30344 + pInfo->maBookmark = pPtr->aConvSubString;
30345 + pInfo->meClickAction = ::com::sun::star::presentation::ClickAction_BOOKMARK;
30348 + break;
30352 + break;
30353 + case 0x05 : // OLEAction ( OLEVerb to use, 0==first, 1==secnd, .. )
30354 + case 0x06 : // MediaAction
30355 + case 0x07 : // CustomShowAction
30356 + default : // 0x00: no action, else unknown action
30357 + break;
30361 +SdrObject* ImplSdPPTImport::ApplyTextObj( PPTTextObj* pTextObj, SdrTextObj* pObj, SdPage* pPage,
30362 + SfxStyleSheet* pSheet, SfxStyleSheet** ppStyleSheetAry ) const
30364 + SfxStyleSheet* pStyleSheetAry[ 9 ];
30365 + SdrTextObj* pText = pObj;
30366 + SdrObject* pRet = pText;
30368 + ppStyleSheetAry = NULL;
30370 + PresObjKind ePresKind = PRESOBJ_NONE;
30371 + PptOEPlaceholderAtom* pPlaceHolder = pTextObj->GetOEPlaceHolderAtom();
30372 + String aPresentationText;
30373 + if ( pPlaceHolder )
30375 + switch( pPlaceHolder->nPlaceholderId )
30377 + case PPT_PLACEHOLDER_MASTERNOTESSLIDEIMAGE :
30378 + case PPT_PLACEHOLDER_MASTERCENTEREDTITLE :
30379 + case PPT_PLACEHOLDER_MASTERTITLE :
30381 + ePresKind = PRESOBJ_TITLE;
30382 + aPresentationText = pPage->GetPresObjText( ePresKind );
30384 + break;
30385 + case PPT_PLACEHOLDER_MASTERBODY :
30387 + ePresKind = PRESOBJ_OUTLINE;
30388 + aPresentationText = pPage->GetPresObjText( ePresKind );
30390 + break;
30391 + case PPT_PLACEHOLDER_MASTERSUBTITLE :
30393 + ePresKind = PRESOBJ_TEXT;
30394 + aPresentationText = pPage->GetPresObjText( ePresKind );
30396 + break;
30397 + case PPT_PLACEHOLDER_MASTERNOTESBODYIMAGE :
30399 + ePresKind = PRESOBJ_NOTES;
30400 + aPresentationText = pPage->GetPresObjText( ePresKind );
30402 + break;
30403 + case PPT_PLACEHOLDER_MASTERDATE : ePresKind = PRESOBJ_DATETIME; break;
30404 + case PPT_PLACEHOLDER_MASTERSLIDENUMBER : ePresKind = PRESOBJ_SLIDENUMBER;break;
30405 + case PPT_PLACEHOLDER_MASTERFOOTER : ePresKind = PRESOBJ_FOOTER; break;
30406 + case PPT_PLACEHOLDER_MASTERHEADER : ePresKind = PRESOBJ_HEADER; break;
30409 + switch ( pTextObj->GetDestinationInstance() )
30411 + case TSS_TYPE_PAGETITLE :
30412 + case TSS_TYPE_TITLE :
30414 + pSheet = pPage->GetStyleSheetForPresObj( PRESOBJ_TITLE );
30415 + if ( pSheet )
30416 + ((SdrAttrObj*)pText)->SdrAttrObj::NbcSetStyleSheet( pSheet, TRUE );
30417 + DBG_ASSERT( pSheet, "ImplSdPPTImport::ApplyTextObj -> could not get stylesheet for titleobject (SJ)" );
30419 + break;
30420 + case TSS_TYPE_SUBTITLE :
30422 + pSheet = pPage->GetStyleSheetForPresObj( PRESOBJ_TEXT );
30423 + if ( pSheet )
30424 + ((SdrAttrObj*)pText)->SdrAttrObj::NbcSetStyleSheet( pSheet, TRUE );
30425 + DBG_ASSERT( pSheet, "ImplSdPPTImport::ApplyTextObj -> could not get stylesheet for subtitleobject (SJ)" );
30427 + break;
30428 + case TSS_TYPE_BODY :
30429 + case TSS_TYPE_HALFBODY :
30430 + case TSS_TYPE_QUARTERBODY :
30432 + for ( UINT16 nLevel = 9; nLevel; nLevel-- )
30434 + String aName( pPage->GetLayoutName() );
30435 + aName.Append( (sal_Unicode)( ' ' ) );
30436 + aName.Append( String::CreateFromInt32( nLevel ) );
30437 + pSheet = (SfxStyleSheet*)mpDoc->GetStyleSheetPool()->Find( aName, SD_STYLE_FAMILY_MASTERPAGE );
30438 + if ( pSheet )
30439 + pText->StartListening( *pSheet );
30440 + pStyleSheetAry[ nLevel - 1 ] = pSheet;
30442 + DBG_ASSERT( pSheet, "ImplSdPPTImport::ApplyTextObj -> could not get stylesheet for outlinerobject (SJ)" );
30443 + if ( pSheet )
30444 + ((SdrAttrObj*)pText)->SdrAttrObj::NbcSetStyleSheet( pSheet, TRUE );
30445 + ppStyleSheetAry = &pStyleSheetAry[ 0 ];
30447 + break;
30448 + case TSS_TYPE_NOTES :
30450 + if ( pPlaceHolder && ( ( pPlaceHolder->nPlaceholderId == PPT_PLACEHOLDER_NOTESSLIDEIMAGE )
30451 + || ( pPlaceHolder->nPlaceholderId == PPT_PLACEHOLDER_MASTERNOTESSLIDEIMAGE ) ) )
30453 + pSheet = pPage->GetStyleSheetForPresObj( PRESOBJ_TITLE );
30454 + if ( pSheet )
30455 + ((SdrAttrObj*)pText)->SdrAttrObj::NbcSetStyleSheet( pSheet, TRUE );
30456 + DBG_ASSERT( pSheet, "ImplSdPPTImport::ApplyTextObj -> could not get stylesheet for titleobject (SJ)" );
30458 + else
30460 + pSheet = pPage->GetStyleSheetForPresObj( PRESOBJ_NOTES );
30461 + DBG_ASSERT( pSheet, "ImplSdPPTImport::ApplyTextObj -> could not get stylesheet for notesobj (SJ)" );
30462 + if ( pSheet )
30463 + ((SdrAttrObj*)pText)->SdrAttrObj::NbcSetStyleSheet( pSheet, TRUE );
30466 + break;
30467 + case TSS_TYPE_UNUSED :
30468 + case TSS_TYPE_TEXT_IN_SHAPE :
30470 + switch( ePresKind )
30472 + case PRESOBJ_DATETIME :
30473 + case PRESOBJ_SLIDENUMBER :
30474 + case PRESOBJ_FOOTER :
30475 + case PRESOBJ_HEADER :
30476 + pSheet = (SfxStyleSheet*)mpDoc->GetStyleSheetPool()->Find( String(SdResId( STR_PSEUDOSHEET_BACKGROUNDOBJECTS )), SD_STYLE_FAMILY_PSEUDO );
30477 + break;
30478 + default :
30479 + pSheet = (SfxStyleSheet*)mpDoc->GetStyleSheetPool()->Find( String(SdResId( STR_STANDARD_STYLESHEET_NAME )), SD_STYLE_FAMILY_GRAPHICS );
30482 + break;
30484 + pText = (SdrTextObj*)SdrPowerPointImport::ApplyTextObj( pTextObj, pText, pPage, pSheet, ppStyleSheetAry );
30485 + if ( pPlaceHolder && pPlaceHolder->nPlaceholderId )
30487 + if ( eAktPageKind == PPT_MASTERPAGE )
30489 + sal_Bool bCreatePlaceHolder = ( pTextObj->GetInstance() != TSS_TYPE_SUBTITLE ) && ( pTextObj->GetInstance() != TSS_TYPE_UNUSED );
30490 + sal_Bool bIsHeaderFooter = ( ePresKind == PRESOBJ_HEADER) || (ePresKind == PRESOBJ_FOOTER)
30491 + || (ePresKind == PRESOBJ_DATETIME) || (ePresKind == PRESOBJ_SLIDENUMBER);
30492 + if ( bCreatePlaceHolder && ( pTextObj->GetInstance() == TSS_TYPE_TEXT_IN_SHAPE ) )
30493 + bCreatePlaceHolder = bIsHeaderFooter;
30494 + if ( bCreatePlaceHolder )
30496 + if ( !bIsHeaderFooter )
30498 + pText->SetNotVisibleAsMaster( TRUE );
30499 + pText->SetEmptyPresObj( TRUE );
30501 + pText->SetUserCall( pPage );
30502 + pPage->InsertPresObj( pText, ePresKind );
30503 + SdrOutliner* pOutl = NULL;
30504 + if ( pTextObj->GetInstance() == TSS_TYPE_NOTES )
30505 + pOutl = GetDrawOutliner( pText );
30506 + if ( aPresentationText.Len() )
30507 + pPage->SetObjText( (SdrTextObj*)pText, pOutl, ePresKind, aPresentationText );
30509 + SfxStyleSheet* pSheet2( pPage->GetStyleSheetForPresObj( ePresKind ) );
30510 + if ( pSheet2 )
30512 + SfxItemSet& rItemSet = pSheet2->GetItemSet();
30513 + rItemSet.Put( (SdrTextLeftDistItem&)pText->GetMergedItem( SDRATTR_TEXT_LEFTDIST ) );
30514 + rItemSet.Put( (SdrTextRightDistItem&)pText->GetMergedItem( SDRATTR_TEXT_RIGHTDIST ) );
30515 + rItemSet.Put( (SdrTextUpperDistItem&)pText->GetMergedItem( SDRATTR_TEXT_UPPERDIST ) );
30516 + rItemSet.Put( (SdrTextLowerDistItem&)pText->GetMergedItem( SDRATTR_TEXT_LOWERDIST ) );
30518 + pText->NbcSetStyleSheet( pSheet2, TRUE );
30520 + SfxItemSet aTempAttr( mpDoc->GetPool() );
30521 + SdrTextMinFrameHeightItem aMinHeight( pText->GetLogicRect().GetSize().Height() );
30522 + aTempAttr.Put( aMinHeight );
30523 + SdrTextAutoGrowHeightItem aAutoGrowHeight( FALSE );
30524 + aTempAttr.Put( aAutoGrowHeight );
30525 + pText->SetMergedItemSet(aTempAttr);
30527 + else
30529 + pRet = NULL;
30532 + else
30534 + const PptSlideLayoutAtom* pSlideLayout = GetSlideLayoutAtom();
30535 + if ( pSlideLayout || ( eAktPageKind == PPT_NOTEPAGE ) )
30537 + INT16 nPlaceholderId = pPlaceHolder->nPlaceholderId;
30538 + UINT16 i = 0;
30539 + if ( eAktPageKind == PPT_SLIDEPAGE )
30541 + for ( ; i < 8; i++ )
30543 + if ( pSlideLayout->aPlaceholderId[ i ] == nPlaceholderId )
30544 + break;
30547 + if ( i < 8 )
30549 + PresObjKind ePresObjKind = PRESOBJ_NONE;
30550 + sal_Bool bEmptyPresObj = sal_True;
30551 + sal_Bool bVertical = sal_False;
30552 + if ( ( pTextObj->GetShapeType() == mso_sptRectangle ) || ( pTextObj->GetShapeType() == mso_sptTextBox ) )
30554 + if ( pTextObj->Count() )
30555 + bEmptyPresObj = sal_False;
30556 + switch ( nPlaceholderId )
30558 + case PPT_PLACEHOLDER_NOTESBODY : ePresObjKind = PRESOBJ_NOTES; break;
30559 + case PPT_PLACEHOLDER_VERTICALTEXTTITLE :
30560 + bVertical = sal_True; // PASSTHROUGH !!!
30561 + case PPT_PLACEHOLDER_TITLE : ePresObjKind = PRESOBJ_TITLE; break;
30562 + case PPT_PLACEHOLDER_VERTICALTEXTBODY :
30563 + bVertical = sal_True; // PASSTHROUGH !!!
30564 + case PPT_PLACEHOLDER_BODY : ePresObjKind = PRESOBJ_OUTLINE; break;
30565 + case PPT_PLACEHOLDER_CENTEREDTITLE : ePresObjKind = PRESOBJ_TITLE; break;
30566 + case PPT_PLACEHOLDER_SUBTITLE : ePresObjKind = PRESOBJ_TEXT; break; // PRESOBJ_OUTLINE
30568 + default :
30570 + if ( !pTextObj->Count() )
30572 + switch ( nPlaceholderId )
30574 + case PPT_PLACEHOLDER_MEDIACLIP :
30575 + case PPT_PLACEHOLDER_OBJECT : ePresObjKind = PRESOBJ_OBJECT; break;
30576 + case PPT_PLACEHOLDER_GRAPH : ePresObjKind = PRESOBJ_CHART; break;
30577 + case PPT_PLACEHOLDER_TABLE : ePresObjKind = PRESOBJ_TABLE; break;
30578 + case PPT_PLACEHOLDER_CLIPART : ePresObjKind = PRESOBJ_GRAPHIC; break;
30579 + case PPT_PLACEHOLDER_ORGANISZATIONCHART : ePresObjKind = PRESOBJ_ORGCHART; break;
30582 + };
30585 + else if ( pTextObj->GetShapeType() == mso_sptPictureFrame )
30587 + if ( !pTextObj->Count() && pObj->ISA( SdrGrafObj ) )
30589 + bEmptyPresObj = sal_False;
30590 + switch ( nPlaceholderId )
30592 + case PPT_PLACEHOLDER_MEDIACLIP :
30593 + case PPT_PLACEHOLDER_OBJECT : ePresObjKind = PRESOBJ_OBJECT; break;
30594 + case PPT_PLACEHOLDER_GRAPH : ePresObjKind = PRESOBJ_CHART; break;
30595 + case PPT_PLACEHOLDER_TABLE : ePresObjKind = PRESOBJ_TABLE; break;
30596 + case PPT_PLACEHOLDER_CLIPART : ePresObjKind = PRESOBJ_GRAPHIC; break;
30597 + case PPT_PLACEHOLDER_ORGANISZATIONCHART : ePresObjKind = PRESOBJ_ORGCHART; break;
30601 + if ( ePresObjKind != PRESOBJ_NONE )
30603 + if ( !bEmptyPresObj )
30605 + pPage->InsertPresObj( pRet, ePresObjKind );
30607 + else
30609 + SdrObject* pPresObj = pPage->CreatePresObj( ePresObjKind, bVertical, pText->GetLogicRect(), TRUE );
30610 + pPresObj->SetUserCall( pPage );
30612 + SfxItemSet aSet( pSdrModel->GetItemPool() );
30613 + ApplyAttributes( rStCtrl, aSet );
30614 + pPresObj->SetMergedItemSet(aSet);
30616 + if ( ( eAktPageKind != PPT_NOTEPAGE ) && ( pSlideLayout->aPlacementId[ i ] != (ULONG)-1 ) )
30618 + SdrObject* pTitleObj = ((SdPage&)pPage->TRG_GetMasterPage()).GetPresObj( PRESOBJ_TITLE );
30619 + SdrObject* pOutlineObj = ((SdPage&)pPage->TRG_GetMasterPage()).GetPresObj( PRESOBJ_OUTLINE );
30621 + Rectangle aTitleRect;
30622 + Rectangle aOutlineRect;
30623 + Size aOutlineSize;
30625 + if ( pTitleObj )
30626 + aTitleRect = pTitleObj->GetLogicRect();
30627 + if ( pOutlineObj )
30629 + aOutlineRect = pOutlineObj->GetLogicRect();
30630 + aOutlineSize = aOutlineRect.GetSize();
30632 + Rectangle aLogicRect( pPresObj->GetLogicRect() );
30633 + Size aLogicSize( aLogicRect.GetSize() );
30635 + switch ( pSlideLayout->aPlacementId[ i ] )
30637 + case 0 : // Lage im Titelbereich
30639 + if ( aLogicRect != aTitleRect )
30640 + pPresObj->SetUserCall( NULL );
30642 + break;
30644 + case 1:
30646 + if ( pSlideLayout->eLayout == PPT_LAYOUT_TITLEANDBODYSLIDE )
30647 + { // Lage im Outlinebereich
30648 + if ( aLogicRect != aOutlineRect )
30649 + pPresObj->SetUserCall( NULL );
30651 + else if ( pSlideLayout->eLayout == PPT_LAYOUT_2COLUMNSANDTITLE )
30652 + { // Lage im Outlinebereich links
30653 + if (Abs(aLogicRect.Left() - aOutlineRect.Left()) > MAX_USER_MOVE ||
30654 + Abs(aLogicRect.Top() - aOutlineRect.Top()) > MAX_USER_MOVE ||
30655 + Abs(aLogicRect.Bottom() - aOutlineRect.Bottom()) > MAX_USER_MOVE ||
30656 + aLogicSize.Width() / aOutlineSize.Width() < 0.48 ||
30657 + aLogicSize.Width() / aOutlineSize.Width() > 0.5)
30659 + pPresObj->SetUserCall(NULL);
30662 + else if ( pSlideLayout->eLayout == PPT_LAYOUT_2ROWSANDTITLE )
30663 + { // Lage im Outlinebereich oben
30664 + if (Abs(aLogicRect.Left() - aOutlineRect.Left()) > MAX_USER_MOVE ||
30665 + Abs(aLogicRect.Top() - aOutlineRect.Top()) > MAX_USER_MOVE ||
30666 + Abs(aLogicRect.Right() - aOutlineRect.Right()) > MAX_USER_MOVE)
30668 + pPresObj->SetUserCall( NULL );
30671 + else if (Abs(aLogicRect.Left() - aOutlineRect.Left()) > MAX_USER_MOVE ||
30672 + Abs(aLogicRect.Top() - aOutlineRect.Top()) > MAX_USER_MOVE)
30673 + { // Lage im Outlinebereich links oben
30674 + pPresObj->SetUserCall( NULL );
30677 + break;
30679 + case 2:
30681 + if ( pSlideLayout->eLayout == PPT_LAYOUT_2COLUMNSANDTITLE )
30682 + { // Lage im Outlinebereich rechts
30683 + if (Abs(aLogicRect.Right() - aOutlineRect.Right()) > MAX_USER_MOVE ||
30684 + Abs(aLogicRect.Top() - aOutlineRect.Top()) > MAX_USER_MOVE ||
30685 + Abs(aLogicRect.Bottom() - aOutlineRect.Bottom()) > MAX_USER_MOVE ||
30686 + aLogicSize.Width() / aOutlineSize.Width() < 0.48 ||
30687 + aLogicSize.Width() / aOutlineSize.Width() > 0.5)
30689 + pPresObj->SetUserCall( NULL );
30692 + else if ( pSlideLayout->eLayout == PPT_LAYOUT_2ROWSANDTITLE )
30693 + { // Lage im Outlinebereich unten
30694 + if (Abs(aLogicRect.Left() - aOutlineRect.Left()) > MAX_USER_MOVE ||
30695 + Abs(aLogicRect.Bottom() - aOutlineRect.Bottom()) > MAX_USER_MOVE ||
30696 + Abs(aLogicRect.Right() - aOutlineRect.Right()) > MAX_USER_MOVE)
30698 + pPresObj->SetUserCall( NULL );
30701 + else if (Abs(aLogicRect.Right() - aOutlineRect.Right()) > MAX_USER_MOVE ||
30702 + Abs(aLogicRect.Top() - aOutlineRect.Top()) > MAX_USER_MOVE)
30703 + { // Lage im Outlinebereich rechts oben
30704 + pPresObj->SetUserCall(NULL);
30707 + break;
30709 + case 3:
30710 + { // Lage im Outlinebereich links unten
30711 + if (Abs(aLogicRect.Left() - aOutlineRect.Left()) > MAX_USER_MOVE ||
30712 + Abs(aLogicRect.Bottom() - aOutlineRect.Bottom()) > MAX_USER_MOVE)
30714 + pPresObj->SetUserCall( NULL );
30717 + break;
30719 + case 4:
30720 + { // Lage im Outlinebereich rechts unten
30721 + if (Abs(aLogicRect.Right() - aOutlineRect.Right()) > MAX_USER_MOVE ||
30722 + Abs(aLogicRect.Bottom() - aOutlineRect.Bottom()) > MAX_USER_MOVE)
30724 + pObj->SetUserCall( NULL );
30727 + break;
30730 + pRet = NULL; // return zero cause this obj was already inserted by CreatePresObj
30733 + else if ( !pTextObj->Count() )
30734 + pRet = NULL;
30739 + if ( pRet != pText )
30741 + SdrObject* pFree( pText );
30742 + SdrObject::Free( pFree );
30744 + return pRet;
30747 +SdrObject* ImplSdPPTImport::ProcessObj( SvStream& rSt, DffObjData& rObjData, void* pData, Rectangle& rTextRect, SdrObject* pRet )
30749 + SdrObject* pObj = SdrPowerPointImport::ProcessObj( rSt, rObjData, pData, rTextRect, pRet );
30751 + if ( pObj )
30753 + // further setup placeholder objects
30754 + if( pObj->ISA(SdrPageObj) && pData )
30756 + const ProcessData* pProcessData=(const ProcessData*)pData;
30757 + if( pProcessData->pPage )
30758 + pProcessData->pPage->InsertPresObj( pObj, PRESOBJ_PAGE );
30761 + // Animationseffekte des Objektes lesen
30762 + BOOL bInhabitanceChecked = FALSE;
30763 + BOOL bAnimationInfoFound = FALSE;
30764 + DffRecordHeader aMasterShapeHd;
30766 + if ( maShapeRecords.SeekToContent( rSt, DFF_msofbtClientData, SEEK_FROM_CURRENT_AND_RESTART ) )
30768 + DffRecordHeader& rHdClientData = *maShapeRecords.Current();
30769 + while( TRUE )
30771 + UINT32 nClientDataLen = rHdClientData.GetRecEndFilePos();
30772 + DffRecordHeader aHd;
30773 + do
30775 + rSt >> aHd;
30776 + UINT32 nHdRecEnd = aHd.GetRecEndFilePos();
30777 + switch ( aHd.nRecType )
30779 + case PPT_PST_AnimationInfo :
30781 + DffRecordHeader aHdAnimInfoAtom;
30782 + if ( SeekToRec( rSt, PPT_PST_AnimationInfoAtom, nHdRecEnd, &aHdAnimInfoAtom ) )
30784 + // read data from stream
30785 + Ppt97AnimationPtr pAnimation( new Ppt97Animation( rSt ) );
30786 + // store animation informations
30787 + if( pAnimation->HasEffect() )
30789 + // translate color to RGB
30790 + pAnimation->SetDimColor( MSO_CLR_ToColor(pAnimation->GetDimColor()).GetColor() );
30791 + // translate sound bits to file url
30792 + if( pAnimation->HasSoundEffect() )
30793 + pAnimation->SetSoundFileUrl( ReadSound( pAnimation->GetSoundRef() ) );
30795 + bool bDontAnimateInvisibleShape = false;
30797 + SdrTextObj* pTextObj = dynamic_cast<SdrTextObj*>(pObj);
30799 + if( pTextObj && pTextObj->HasText() &&
30800 + !pObj->ISA( SdrObjGroup ) &&
30801 + pAnimation->HasAnimateAssociatedShape() )
30803 + const SfxItemSet& rObjItemSet = pObj->GetMergedItemSet();
30805 + XFillStyle eFillStyle = ((XFillStyleItem&)(rObjItemSet.Get(XATTR_FILLSTYLE))).GetValue();
30806 + XLineStyle eLineStyle = ((XLineStyleItem&)(rObjItemSet.Get(XATTR_LINESTYLE))).GetValue();
30808 + if ( ( eFillStyle == XFILL_NONE ) && ( eLineStyle == XLINE_NONE ) )
30809 + bDontAnimateInvisibleShape = true;
30812 + if( bDontAnimateInvisibleShape )
30813 + pAnimation->SetAnimateAssociatedShape(false);
30815 + //maybe some actions necessary to ensure that animations on master pages are played before animations on normal pages
30816 + ///mabe todo in future: bool bIsEffectOnMasterPage = !bInhabitanceChecked;?
30818 + maAnimations[pObj] = pAnimation;
30820 + bAnimationInfoFound = TRUE;
30824 + break;
30825 + case PPT_PST_InteractiveInfo:
30827 + UINT32 nFilePosMerk2 = rSt.Tell();
30828 + String aMacroName;
30830 + if(SeekToRec( rSt, PPT_PST_CString, nHdRecEnd, NULL, 0 ) )
30831 + ReadString(aMacroName);
30833 + rSt.Seek( nFilePosMerk2 );
30834 + DffRecordHeader aHdInteractiveInfoAtom;
30835 + if ( SeekToRec( rSt, PPT_PST_InteractiveInfoAtom, nHdRecEnd, &aHdInteractiveInfoAtom ) )
30837 + PptInteractiveInfoAtom aInteractiveInfoAtom;
30838 + rSt >> aInteractiveInfoAtom;
30840 + // interactive object
30841 + SdAnimationInfo* pInfo = SdDrawDocument::GetShapeUserData(*pObj, true);
30843 + ( (ImplSdPPTImport*) this )->FillSdAnimationInfo( pInfo, &aInteractiveInfoAtom, aMacroName );
30844 + if ( aInteractiveInfoAtom.nAction == 6 ) // Sj -> media action
30846 + rHdClientData.SeekToContent( rStCtrl );
30847 + DffRecordHeader aObjRefAtomHd;
30848 + if ( SeekToRec( rSt, PPT_PST_ExObjRefAtom, nHdRecEnd, &aObjRefAtomHd ) )
30850 + sal_uInt32 nRef;
30851 + rSt >> nRef;
30852 + String aMediaURL( ReadMedia( nRef ) );
30853 + if ( !aMediaURL.Len() )
30854 + aMediaURL = ReadSound( nRef );
30855 + if ( aMediaURL.Len() )
30857 + SdrMediaObj* pMediaObj = new SdrMediaObj( pObj->GetSnapRect() );
30858 + pMediaObj->SetModel( pObj->GetModel() );
30859 + pMediaObj->SetMergedItemSet( pObj->GetMergedItemSet() );
30861 + //--remove object from maAnimations list and add the new object instead
30862 + Ppt97AnimationPtr pAnimation;
30864 + tAnimationMap::iterator aFound = maAnimations.find( pObj );
30865 + if( aFound != maAnimations.end() )
30867 + pAnimation = (*aFound).second;
30868 + maAnimations.erase(aFound);
30870 + maAnimations[pMediaObj] = pAnimation;
30872 + //--
30874 + SdrObject::Free( pObj ), pObj = pMediaObj; // SJ: hoping that pObj is not inserted in any list
30875 + pMediaObj->setURL( aMediaURL );
30881 + break;
30883 + aHd.SeekToEndOfRecord( rSt );
30885 + while( ( rSt.GetError() == 0 ) && ( rSt.Tell() < nClientDataLen ) );
30887 + if ( bInhabitanceChecked || bAnimationInfoFound )
30888 + break;
30889 + bInhabitanceChecked = TRUE;
30890 + if ( ! ( IsProperty( DFF_Prop_hspMaster ) && SeekToShape( rSt, pData, GetPropertyValue( DFF_Prop_hspMaster ) ) ) )
30891 + break;
30892 + rSt >> aMasterShapeHd;
30893 + if ( !SeekToRec( rSt, DFF_msofbtClientData, aMasterShapeHd.GetRecEndFilePos(), &aMasterShapeHd ) )
30894 + break;
30895 + aMasterShapeHd.SeekToContent( rSt );
30896 + rHdClientData = aMasterShapeHd;
30900 + return pObj;
30903 +// ---------------------
30904 +// - exported function -
30905 +// ---------------------
30907 +extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL ImportPPT( const ::rtl::OUString& rConfigPath,
30908 + uno::Sequence< beans::PropertyValue >* pConfigData,
30909 + SdDrawDocument* pDocument, SvStream& rDocStream, SvStorage& rStorage, SfxMedium& rMedium )
30911 + sal_Bool bRet = sal_False;
30913 + MSFilterTracer aTracer( rConfigPath, pConfigData );
30914 + aTracer.StartTracing();
30916 + SdPPTImport* pImport = new SdPPTImport( pDocument, rDocStream, rStorage, rMedium, &aTracer );
30917 + bRet = pImport->Import();
30919 + aTracer.EndTracing();
30920 + delete pImport;
30922 + return bRet;
30924 diff --git sd/source/filter/ppt/pptin.hxx sd/source/filter/ppt/pptin.hxx
30925 new file mode 100644
30926 index 0000000..d4b5c04
30927 --- /dev/null
30928 +++ sd/source/filter/ppt/pptin.hxx
30929 @@ -0,0 +1,108 @@
30930 +/*************************************************************************
30932 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
30933 + *
30934 + * Copyright 2008 by Sun Microsystems, Inc.
30936 + * OpenOffice.org - a multi-platform office productivity suite
30938 + * $RCSfile: pptin.hxx,v $
30939 + * $Revision: 1.9 $
30941 + * This file is part of OpenOffice.org.
30943 + * OpenOffice.org is free software: you can redistribute it and/or modify
30944 + * it under the terms of the GNU Lesser General Public License version 3
30945 + * only, as published by the Free Software Foundation.
30947 + * OpenOffice.org is distributed in the hope that it will be useful,
30948 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
30949 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
30950 + * GNU Lesser General Public License version 3 for more details
30951 + * (a copy is included in the LICENSE file that accompanied this code).
30953 + * You should have received a copy of the GNU Lesser General Public License
30954 + * version 3 along with OpenOffice.org. If not, see
30955 + * <http://www.openoffice.org/license.html>
30956 + * for a copy of the LGPLv3 License.
30958 + ************************************************************************/
30960 +#ifndef _SD_PPTIN_HXX
30961 +#define _SD_PPTIN_HXX
30963 +#include <svx/svdfppt.hxx>
30964 +#include <svx/msdffdef.hxx>
30965 +#include <diadef.h>
30966 +#include <svx/svdtypes.hxx>
30967 +#include <svx/msfiltertracer.hxx>
30968 +#include <com/sun/star/uno/Any.h>
30969 +#include <boost/shared_ptr.hpp>
30971 +class SdDrawDocument;
30972 +class SfxMedium;
30974 +/*************************************************************************
30976 +|* lokaler Import
30978 +\************************************************************************/
30980 +class SdPage;
30981 +class SdAnimationInfo;
30982 +struct PptInteractiveInfoAtom;
30983 +class Ppt97Animation;
30985 +typedef boost::shared_ptr< Ppt97Animation > Ppt97AnimationPtr;
30986 +typedef ::std::map < SdrObject*, Ppt97AnimationPtr > tAnimationMap;
30987 +typedef std::vector< std::pair< SdrObject*, Ppt97AnimationPtr > > tAnimationVector;
30989 +class ImplSdPPTImport : public SdrPowerPointImport
30991 + SfxMedium& mrMed;
30992 + SvStorage& mrStorage;
30993 +// SvStream* mpPicStream;
30994 + DffRecordHeader maDocHd;
30995 + List maSlideNameList;
30996 + BOOL mbDocumentFound;
30997 + sal_uInt32 mnFilterOptions;
30998 + SdDrawDocument* mpDoc;
30999 + PresChange mePresChange;
31000 + SdrLayerID mnBackgroundLayerID;
31001 + SdrLayerID mnBackgroundObjectsLayerID;
31003 + tAnimationMap maAnimations;
31005 + void SetHeaderFooterPageSettings( SdPage* pPage, const PptSlidePersistEntry* pMasterPersist );
31006 + void ImportPageEffect( SdPage* pPage, const sal_Bool bNewAnimationsUsed );
31008 + void FillSdAnimationInfo( SdAnimationInfo* pInfo, PptInteractiveInfoAtom* pIAtom, String aMacroName );
31010 + virtual SdrObject* ProcessObj( SvStream& rSt, DffObjData& rData, void* pData, Rectangle& rTextRect, SdrObject* pObj );
31011 + virtual SdrObject* ApplyTextObj( PPTTextObj* pTextObj, SdrTextObj* pText, SdPage* pPage,
31012 + SfxStyleSheet*, SfxStyleSheet** ) const;
31014 +public:
31016 + String ReadSound( sal_uInt32 nSoundRef ) const;
31017 + String ReadMedia( sal_uInt32 nMediaRef ) const;
31019 + ImplSdPPTImport( SdDrawDocument* pDoc, SvStorage& rStorage, SfxMedium& rMed, PowerPointImportParam& );
31020 + ~ImplSdPPTImport();
31022 + sal_Bool Import();
31025 +class SdPPTImport
31027 + ImplSdPPTImport* pFilter;
31029 + public:
31031 + SdPPTImport( SdDrawDocument* pDoc, SvStream& rDocStream, SvStorage& rStorage, SfxMedium& rMed, MSFilterTracer* pTracer = NULL );
31032 + ~SdPPTImport();
31034 + sal_Bool Import();
31037 +#endif // _SD_PPTIN_HXX
31038 diff --git sd/source/filter/ppt/pptinanimations.cxx sd/source/filter/ppt/pptinanimations.cxx
31039 index 819459d..07ca44e 100644
31040 --- sd/source/filter/ppt/pptinanimations.cxx
31041 +++ sd/source/filter/ppt/pptinanimations.cxx
31042 @@ -75,7 +75,7 @@
31043 #include <svx/editobj.hxx>
31044 #include <pptinanimations.hxx>
31045 #include <pptatom.hxx>
31046 -#include "../pptin.hxx"
31047 +#include "pptin.hxx"
31048 #include <algorithm>
31050 using ::std::map;
31051 diff --git sd/source/filter/ppt/propread.cxx sd/source/filter/ppt/propread.cxx
31052 new file mode 100644
31053 index 0000000..41de988
31054 --- /dev/null
31055 +++ sd/source/filter/ppt/propread.cxx
31056 @@ -0,0 +1,698 @@
31057 +/*************************************************************************
31059 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
31060 + *
31061 + * Copyright 2008 by Sun Microsystems, Inc.
31063 + * OpenOffice.org - a multi-platform office productivity suite
31065 + * $RCSfile: propread.cxx,v $
31066 + * $Revision: 1.13 $
31068 + * This file is part of OpenOffice.org.
31070 + * OpenOffice.org is free software: you can redistribute it and/or modify
31071 + * it under the terms of the GNU Lesser General Public License version 3
31072 + * only, as published by the Free Software Foundation.
31074 + * OpenOffice.org is distributed in the hope that it will be useful,
31075 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
31076 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
31077 + * GNU Lesser General Public License version 3 for more details
31078 + * (a copy is included in the LICENSE file that accompanied this code).
31080 + * You should have received a copy of the GNU Lesser General Public License
31081 + * version 3 along with OpenOffice.org. If not, see
31082 + * <http://www.openoffice.org/license.html>
31083 + * for a copy of the LGPLv3 License.
31085 + ************************************************************************/
31087 +// MARKER(update_precomp.py): autogen include statement, do not remove
31088 +#include "precompiled_sd.hxx"
31089 +#include <propread.hxx>
31090 +#include <tools/bigint.hxx>
31091 +#include "rtl/tencinfo.h"
31092 +#include "rtl/textenc.h"
31094 +// ------------------------------------------------------------------------
31096 +struct PropEntry
31098 + sal_uInt32 mnId;
31099 + sal_uInt32 mnSize;
31100 + sal_uInt16 mnTextEnc;
31101 + sal_uInt8* mpBuf;
31103 + PropEntry( sal_uInt32 nId, const sal_uInt8* pBuf, sal_uInt32 nBufSize, sal_uInt16 nTextEnc );
31104 + PropEntry( const PropEntry& rProp );
31105 + ~PropEntry() { delete[] mpBuf; } ;
31107 + const PropEntry& operator=(const PropEntry& rPropEntry);
31110 +PropEntry::PropEntry( sal_uInt32 nId, const sal_uInt8* pBuf, sal_uInt32 nBufSize, sal_uInt16 nTextEnc ) :
31111 + mnId ( nId ),
31112 + mnSize ( nBufSize ),
31113 + mnTextEnc ( nTextEnc ),
31114 + mpBuf ( new sal_uInt8[ nBufSize ] )
31116 + memcpy( (void*)mpBuf, (void*)pBuf, nBufSize );
31119 +PropEntry::PropEntry( const PropEntry& rProp ) :
31120 + mnId ( rProp.mnId ),
31121 + mnSize ( rProp.mnSize ),
31122 + mnTextEnc ( rProp.mnTextEnc ),
31123 + mpBuf ( new sal_uInt8[ mnSize ] )
31125 + memcpy( (void*)mpBuf, (void*)rProp.mpBuf, mnSize );
31128 +const PropEntry& PropEntry::operator=(const PropEntry& rPropEntry)
31130 + if ( this != &rPropEntry )
31132 + delete[] mpBuf;
31133 + mnId = rPropEntry.mnId;
31134 + mnSize = rPropEntry.mnSize;
31135 + mnTextEnc = rPropEntry.mnTextEnc;
31136 + mpBuf = new sal_uInt8[ mnSize ];
31137 + memcpy( (void*)mpBuf, (void*)rPropEntry.mpBuf, mnSize );
31139 + return *this;
31142 +// -----------------------------------------------------------------------
31144 +void PropItem::Clear()
31146 + Seek( STREAM_SEEK_TO_BEGIN );
31147 + delete[] (sal_uInt8*)SwitchBuffer();
31150 +// -----------------------------------------------------------------------
31152 +BOOL PropItem::Read( String& rString, sal_uInt32 nStringType, sal_Bool bAlign )
31154 + sal_uInt32 i, nItemSize, nType, nItemPos;
31155 + sal_Bool bRetValue = sal_False;
31157 + nItemPos = Tell();
31159 + if ( nStringType == VT_EMPTY )
31160 + *this >> nType;
31161 + else
31162 + nType = nStringType & VT_TYPEMASK;
31164 + *this >> nItemSize;
31166 + switch( nType )
31168 + case VT_LPSTR :
31170 + if ( (sal_uInt16)nItemSize )
31172 + sal_Char* pString = new sal_Char[ (sal_uInt16)nItemSize ];
31173 + if ( mnTextEnc == RTL_TEXTENCODING_UCS2 )
31175 + nItemSize >>= 1;
31176 + if ( (sal_uInt16)nItemSize > 1 )
31178 + sal_Unicode* pWString = (sal_Unicode*)pString;
31179 + for ( i = 0; i < (sal_uInt16)nItemSize; i++ )
31180 + *this >> pWString[ i ];
31181 + rString = String( pWString, (sal_uInt16)nItemSize - 1 );
31183 + else
31184 + rString = String();
31185 + bRetValue = sal_True;
31187 + else
31189 + SvMemoryStream::Read( pString, (sal_uInt16)nItemSize );
31190 + if ( pString[ (sal_uInt16)nItemSize - 1 ] == 0 )
31192 + if ( (sal_uInt16)nItemSize > 1 )
31193 + rString = String( ByteString( pString ), mnTextEnc );
31194 + else
31195 + rString = String();
31196 + bRetValue = sal_True;
31199 + delete[] pString;
31201 + if ( bAlign )
31202 + SeekRel( ( 4 - ( nItemSize & 3 ) ) & 3 ); // dword align
31204 + break;
31206 + case VT_LPWSTR :
31208 + if ( nItemSize )
31210 + sal_Unicode* pString = new sal_Unicode[ (sal_uInt16)nItemSize ];
31211 + for ( i = 0; i < (sal_uInt16)nItemSize; i++ )
31212 + *this >> pString[ i ];
31213 + if ( pString[ i - 1 ] == 0 )
31215 + if ( (sal_uInt16)nItemSize > 1 )
31216 + rString = String( pString, (sal_uInt16)nItemSize - 1 );
31217 + else
31218 + rString = String();
31219 + bRetValue = sal_True;
31221 + delete[] pString;
31223 + if ( bAlign && ( nItemSize & 1 ) )
31224 + SeekRel( 2 ); // dword align
31226 + break;
31228 + if ( !bRetValue )
31229 + Seek( nItemPos );
31230 + return bRetValue;
31233 +// -----------------------------------------------------------------------
31235 +PropItem& PropItem::operator=( PropItem& rPropItem )
31237 + if ( this != &rPropItem )
31239 + Seek( STREAM_SEEK_TO_BEGIN );
31240 + delete[] (sal_uInt8*)SwitchBuffer();
31242 + mnTextEnc = rPropItem.mnTextEnc;
31243 + sal_uInt32 nItemPos = rPropItem.Tell();
31244 + rPropItem.Seek( STREAM_SEEK_TO_END );
31245 + SvMemoryStream::Write( rPropItem.GetData(), rPropItem.Tell() );
31246 + rPropItem.Seek( nItemPos );
31248 + return *this;
31251 +// -----------------------------------------------------------------------
31253 +struct Dict
31255 + sal_uInt32 mnId;
31256 + String aString;
31258 + Dict( sal_uInt32 nId, String rString ) { mnId = nId; aString = rString; };
31261 +// -----------------------------------------------------------------------
31263 +Dictionary::~Dictionary()
31265 + for ( void* pPtr = First(); pPtr; pPtr = Next() )
31266 + delete (Dict*)pPtr;
31269 +// -----------------------------------------------------------------------
31271 +void Dictionary::AddProperty( sal_uInt32 nId, const String& rString )
31273 + if ( rString.Len() ) // eindeutige namen bei properties
31275 + // pruefen, ob es die Propertybeschreibung in der Dictionary schon gibt
31276 + for ( Dict* pDict = (Dict*)First(); pDict; pDict = (Dict*)Next() )
31278 + if ( pDict->mnId == nId )
31280 + pDict->aString = rString;
31281 + return;
31284 + Insert( new Dict( nId, rString ), LIST_APPEND );
31288 +// -----------------------------------------------------------------------
31290 +UINT32 Dictionary::GetProperty( const String& rString )
31292 + for ( Dict* pDict = (Dict*)First(); pDict; pDict = (Dict*)Next() )
31294 + if ( pDict->aString == rString )
31295 + return pDict->mnId;
31297 + return 0;
31300 +// -----------------------------------------------------------------------
31302 +Dictionary& Dictionary::operator=( Dictionary& rDictionary )
31304 + void* pPtr;
31306 + if ( this != &rDictionary )
31308 + for ( pPtr = First(); pPtr; pPtr = Next() )
31309 + delete (Dict*)pPtr;
31311 + for ( pPtr = rDictionary.First(); pPtr; pPtr = rDictionary.Next() )
31312 + Insert( new Dict( ((Dict*)pPtr)->mnId, ((Dict*)pPtr)->aString ), LIST_APPEND );
31314 + return *this;
31317 +// -----------------------------------------------------------------------
31319 +Section::Section( Section& rSection )
31320 +: List()
31322 + mnTextEnc = rSection.mnTextEnc;
31323 + for ( int i = 0; i < 16; i++ )
31324 + aFMTID[ i ] = rSection.aFMTID[ i ];
31325 + for ( PropEntry* pProp = (PropEntry*)rSection.First(); pProp; pProp = (PropEntry*)rSection.Next() )
31326 + Insert( new PropEntry( *pProp ), LIST_APPEND );
31329 +// -----------------------------------------------------------------------
31331 +Section::Section( const sal_uInt8* pFMTID )
31333 + mnTextEnc = RTL_TEXTENCODING_MS_1252;
31334 + for ( int i = 0; i < 16; i++ )
31335 + aFMTID[ i ] = pFMTID[ i ];
31338 +// -----------------------------------------------------------------------
31340 +sal_Bool Section::GetProperty( sal_uInt32 nId, PropItem& rPropItem )
31342 + PropEntry* pProp;
31343 + if ( nId )
31345 + for ( pProp = (PropEntry*)First(); pProp; pProp = (PropEntry*)Next() )
31347 + if ( pProp->mnId == nId )
31348 + break;
31350 + if ( pProp )
31352 + rPropItem.Clear();
31353 + rPropItem.SetTextEncoding( mnTextEnc );
31354 + rPropItem.Write( pProp->mpBuf, pProp->mnSize );
31355 + rPropItem.Seek( STREAM_SEEK_TO_BEGIN );
31356 + return sal_True;
31359 + return sal_False;
31362 +// -----------------------------------------------------------------------
31364 +void Section::AddProperty( sal_uInt32 nId, const sal_uInt8* pBuf, sal_uInt32 nBufSize )
31366 + // kleiner id check
31368 + if ( !nId )
31369 + return;
31370 + if ( nId == 0xffffffff )
31371 + nId = 0;
31373 + // keine doppelten PropId's zulassen, sortieren
31374 + for ( sal_uInt32 i = 0; i < Count(); i++ )
31376 + PropEntry* pPropEntry = (PropEntry*)GetObject( i );
31377 + if ( pPropEntry->mnId == nId )
31378 + delete (PropEntry*)Replace( new PropEntry( nId, pBuf, nBufSize, mnTextEnc ), i );
31379 + else if ( pPropEntry->mnId > nId )
31380 + Insert( new PropEntry( nId, pBuf, nBufSize, mnTextEnc ), i );
31381 + else
31382 + continue;
31383 + return;
31385 + Insert( new PropEntry( nId, pBuf, nBufSize, mnTextEnc ), LIST_APPEND );
31388 +// -----------------------------------------------------------------------
31390 +sal_Bool Section::GetDictionary( Dictionary& rDict )
31392 + sal_Bool bRetValue = sal_False;
31394 + Dictionary aDict;
31395 + PropEntry* pProp;
31397 + for ( pProp = (PropEntry*)First(); pProp; pProp = (PropEntry*)Next() )
31399 + if ( pProp->mnId == 0 )
31400 + break;
31402 + if ( pProp )
31404 + sal_uInt32 nDictCount, nId, nSize, nPos;
31405 + SvMemoryStream aStream( (sal_Int8*)pProp->mpBuf, pProp->mnSize, STREAM_READ );
31406 + aStream.Seek( STREAM_SEEK_TO_BEGIN );
31407 + aStream >> nDictCount;
31408 + for ( sal_uInt32 i = 0; i < nDictCount; i++ )
31410 + aStream >> nId >> nSize;
31411 + if ( (sal_uInt16)nSize )
31413 + String aString;
31414 + nPos = aStream.Tell();
31415 + sal_Char* pString = new sal_Char[ (sal_uInt16)nSize ];
31416 + aStream.Read( pString, (sal_uInt16)nSize );
31417 + if ( mnTextEnc == RTL_TEXTENCODING_UCS2 )
31419 + nSize >>= 1;
31420 + aStream.Seek( nPos );
31421 + sal_Unicode* pWString = (sal_Unicode*)pString;
31422 + for ( i = 0; i < (sal_uInt16)nSize; i++ )
31423 + aStream >> pWString[ i ];
31424 + aString = String( pWString, (sal_uInt16)nSize - 1 );
31426 + else
31427 + aString = String( ByteString( pString, (sal_uInt16)nSize - 1 ), mnTextEnc );
31428 + delete[] pString;
31429 + if ( !aString.Len() )
31430 + break;
31431 + aDict.AddProperty( nId, aString );
31433 + bRetValue = sal_True;
31436 + rDict = aDict;
31437 + return bRetValue;
31440 +// -----------------------------------------------------------------------
31442 +Section::~Section()
31444 + for ( PropEntry* pProp = (PropEntry*)First(); pProp; pProp = (PropEntry*)Next() )
31445 + delete pProp;
31448 +// -----------------------------------------------------------------------
31450 +void Section::Read( SvStorageStream *pStrm )
31452 + sal_uInt32 i, nSecOfs, nSecSize, nPropCount, nPropId, nPropOfs, nPropType, nPropSize, nCurrent, nVectorCount, nTemp, nStrmSize;
31453 + nSecOfs = pStrm->Tell();
31455 + pStrm->Seek( STREAM_SEEK_TO_END );
31456 + nStrmSize = pStrm->Tell();
31457 + pStrm->Seek( nSecOfs );
31459 + mnTextEnc = RTL_TEXTENCODING_MS_1252;
31460 + *pStrm >> nSecSize >> nPropCount;
31461 + while( nPropCount-- && ( pStrm->GetError() == ERRCODE_NONE ) )
31463 + *pStrm >> nPropId >> nPropOfs;
31464 + nCurrent = pStrm->Tell();
31465 + pStrm->Seek( nPropOfs + nSecOfs );
31466 + if ( nPropId ) // dictionary wird nicht eingelesen
31469 + *pStrm >> nPropType;
31471 + nPropSize = 4;
31473 + if ( nPropType & VT_VECTOR )
31475 + *pStrm >> nVectorCount;
31476 + nPropType &=~VT_VECTOR;
31477 + nPropSize += 4;
31479 + else
31480 + nVectorCount = 1;
31483 + sal_Bool bVariant = ( nPropType == VT_VARIANT );
31485 + for ( i = 0; nPropSize && ( i < nVectorCount ); i++ )
31487 + if ( bVariant )
31489 + *pStrm >> nPropType;
31490 + nPropSize += 4;
31492 + switch( nPropType )
31494 + case VT_UI1 :
31495 + nPropSize++;
31496 + break;
31498 + case VT_I2 :
31499 + case VT_UI2 :
31500 + case VT_BOOL :
31501 + nPropSize += 2;
31502 + break;
31504 + case VT_I4 :
31505 + case VT_R4 :
31506 + case VT_UI4 :
31507 + case VT_ERROR :
31508 + nPropSize += 4;
31509 + break;
31511 + case VT_I8 :
31512 + case VT_R8 :
31513 + case VT_CY :
31514 + case VT_UI8 :
31515 + case VT_DATE :
31516 + case VT_FILETIME :
31517 + nPropSize += 8;
31518 + break;
31520 + case VT_BSTR :
31521 + *pStrm >> nTemp;
31522 + nPropSize += ( nTemp + 4 );
31523 + break;
31525 + case VT_LPSTR :
31526 + *pStrm >> nTemp;
31527 + nPropSize += ( nTemp + 4 );
31528 + break;
31530 + case VT_LPWSTR :
31531 + *pStrm >> nTemp;
31532 + nPropSize += ( nTemp << 1 ) + 4;
31533 + break;
31535 + case VT_BLOB_OBJECT :
31536 + case VT_BLOB :
31537 + case VT_CF :
31538 + *pStrm >> nTemp;
31539 + nPropSize += ( nTemp + 4 );
31540 + break;
31542 + case VT_CLSID :
31543 + case VT_STREAM :
31544 + case VT_STORAGE :
31545 + case VT_STREAMED_OBJECT :
31546 + case VT_STORED_OBJECT :
31547 + case VT_VARIANT :
31548 + case VT_VECTOR :
31549 + default :
31550 + nPropSize = 0;
31552 + if ( nPropSize )
31554 + if ( ( nVectorCount - i ) > 1 )
31555 + pStrm->Seek( nPropOfs + nSecOfs + nPropSize );
31557 + else
31558 + break;
31560 + if ( nPropSize )
31562 + pStrm->Seek( nPropOfs + nSecOfs );
31563 + sal_uInt8* pBuf = new sal_uInt8[ nPropSize ];
31564 + pStrm->Read( pBuf, nPropSize );
31565 + AddProperty( nPropId, pBuf, nPropSize );
31566 + delete[] pBuf;
31568 + if ( nPropId == 1 )
31570 + PropItem aPropItem;
31571 + if ( GetProperty( 1, aPropItem ) )
31573 + sal_uInt16 nCodePage;
31574 + aPropItem >> nPropType;
31575 + if ( nPropType == VT_I2 )
31577 + aPropItem >> nCodePage;
31579 + if ( nCodePage == 1200 )
31581 + mnTextEnc = RTL_TEXTENCODING_UCS2;
31583 + else
31585 + mnTextEnc = rtl_getTextEncodingFromWindowsCodePage( nCodePage );
31586 + if ( mnTextEnc == RTL_TEXTENCODING_DONTKNOW )
31587 + mnTextEnc = RTL_TEXTENCODING_MS_1252;
31590 + else
31592 + mnTextEnc = RTL_TEXTENCODING_MS_1252;
31597 + else
31599 + sal_uInt32 nDictCount, nSize;
31600 + *pStrm >> nDictCount;
31601 + for ( i = 0; i < nDictCount; i++ )
31603 + *pStrm >> nSize >> nSize;
31604 + pStrm->SeekRel( nSize );
31606 + nSize = pStrm->Tell();
31607 + pStrm->Seek( nPropOfs + nSecOfs );
31608 + nSize -= pStrm->Tell();
31609 + if ( nSize > nStrmSize )
31611 + nPropCount = 0;
31612 + break;
31614 + sal_uInt8* pBuf = new sal_uInt8[ nSize ];
31615 + pStrm->Read( pBuf, nSize );
31616 + AddProperty( 0xffffffff, pBuf, nSize );
31617 + delete[] pBuf;
31619 + pStrm->Seek( nCurrent );
31621 + pStrm->Seek( nSecOfs + nSecSize );
31624 +// -----------------------------------------------------------------------
31626 +Section& Section::operator=( Section& rSection )
31628 + PropEntry* pProp;
31630 + if ( this != &rSection )
31632 + memcpy( (void*)aFMTID, (void*)rSection.aFMTID, 16 );
31633 + for ( pProp = (PropEntry*)First(); pProp; pProp = (PropEntry*)Next() )
31634 + delete pProp;
31635 + Clear();
31636 + for ( pProp = (PropEntry*)rSection.First(); pProp; pProp = (PropEntry*)rSection.Next() )
31637 + Insert( new PropEntry( *pProp ), LIST_APPEND );
31639 + return *this;
31642 +// -----------------------------------------------------------------------
31644 +PropRead::PropRead( SvStorage& rStorage, const String& rName ) :
31645 + mbStatus ( sal_False ),
31646 + mnByteOrder ( 0xfffe ),
31647 + mnFormat ( 0 ),
31648 + mnVersionLo ( 4 ),
31649 + mnVersionHi ( 2 )
31651 + if ( rStorage.IsStream( rName ) )
31653 + mpSvStream = rStorage.OpenSotStream( rName, STREAM_STD_READ );
31654 + if ( mpSvStream )
31656 + mpSvStream->SetNumberFormatInt( NUMBERFORMAT_INT_LITTLEENDIAN );
31657 + memset( mApplicationCLSID, 0, 16 );
31658 + mbStatus = sal_True;
31663 +// -----------------------------------------------------------------------
31665 +void PropRead::AddSection( Section& rSection )
31667 + Insert( new Section( rSection ), LIST_APPEND );
31670 +// -----------------------------------------------------------------------
31672 +const Section* PropRead::GetSection( const sal_uInt8* pFMTID )
31674 + Section* pSection;
31676 + for ( pSection = (Section*)First(); pSection; pSection = (Section*)Next() )
31678 + if ( memcmp( pSection->GetFMTID(), pFMTID, 16 ) == 0 )
31679 + break;
31681 + return pSection;
31684 +// -----------------------------------------------------------------------
31686 +PropRead::~PropRead()
31688 + for ( Section* pSection = (Section*)First(); pSection; pSection = (Section*)Next() )
31689 + delete pSection;
31692 +// -----------------------------------------------------------------------
31694 +void PropRead::Read()
31696 + for ( Section* pSection = (Section*)First(); pSection; pSection = (Section*)Next() )
31697 + delete pSection;
31698 + Clear();
31699 + if ( mbStatus )
31701 + sal_uInt32 nSections;
31702 + sal_uInt32 nSectionOfs;
31703 + sal_uInt32 nCurrent;
31704 + *mpSvStream >> mnByteOrder >> mnFormat >> mnVersionLo >> mnVersionHi;
31705 + if ( mnByteOrder == 0xfffe )
31707 + sal_uInt8* pSectCLSID = new sal_uInt8[ 16 ];
31708 + mpSvStream->Read( mApplicationCLSID, 16 );
31709 + *mpSvStream >> nSections;
31710 + if ( nSections > 2 ) // sj: PowerPoint documents are containing max 2 sections
31712 + mbStatus = sal_False;
31714 + else for ( sal_uInt32 i = 0; i < nSections; i++ )
31716 + mpSvStream->Read( pSectCLSID, 16 );
31717 + *mpSvStream >> nSectionOfs;
31718 + nCurrent = mpSvStream->Tell();
31719 + mpSvStream->Seek( nSectionOfs );
31720 + Section aSection( pSectCLSID );
31721 + aSection.Read( mpSvStream );
31722 + AddSection( aSection );
31723 + mpSvStream->Seek( nCurrent );
31725 + delete[] pSectCLSID;
31730 +// -----------------------------------------------------------------------
31732 +PropRead& PropRead::operator=( PropRead& rPropRead )
31734 + Section* pSection;
31736 + if ( this != &rPropRead )
31738 + mbStatus = rPropRead.mbStatus;
31739 + mpSvStream = rPropRead.mpSvStream;
31741 + mnByteOrder = rPropRead.mnByteOrder;
31742 + mnFormat = rPropRead.mnFormat;
31743 + mnVersionLo = rPropRead.mnVersionLo;
31744 + mnVersionHi = rPropRead.mnVersionHi;
31745 + memcpy( mApplicationCLSID, rPropRead.mApplicationCLSID, 16 );
31747 + for ( pSection = (Section*)First(); pSection; pSection = (Section*)Next() )
31748 + delete pSection;
31749 + Clear();
31750 + for ( pSection = (Section*)rPropRead.First(); pSection; pSection = (Section*)rPropRead.Next() )
31751 + Insert( new Section( *pSection ), LIST_APPEND );
31753 + return *this;
31755 diff --git sd/source/filter/ppt/propread.hxx sd/source/filter/ppt/propread.hxx
31756 new file mode 100644
31757 index 0000000..6a2e7ab
31758 --- /dev/null
31759 +++ sd/source/filter/ppt/propread.hxx
31760 @@ -0,0 +1,194 @@
31761 +/*************************************************************************
31763 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
31764 + *
31765 + * Copyright 2008 by Sun Microsystems, Inc.
31767 + * OpenOffice.org - a multi-platform office productivity suite
31769 + * $RCSfile: propread.hxx,v $
31770 + * $Revision: 1.7 $
31772 + * This file is part of OpenOffice.org.
31774 + * OpenOffice.org is free software: you can redistribute it and/or modify
31775 + * it under the terms of the GNU Lesser General Public License version 3
31776 + * only, as published by the Free Software Foundation.
31778 + * OpenOffice.org is distributed in the hope that it will be useful,
31779 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
31780 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
31781 + * GNU Lesser General Public License version 3 for more details
31782 + * (a copy is included in the LICENSE file that accompanied this code).
31784 + * You should have received a copy of the GNU Lesser General Public License
31785 + * version 3 along with OpenOffice.org. If not, see
31786 + * <http://www.openoffice.org/license.html>
31787 + * for a copy of the LGPLv3 License.
31789 + ************************************************************************/
31791 +#ifndef _PROPREAD_HXX_
31792 +#define _PROPREAD_HXX_
31794 +#include <tools/solar.h>
31795 +#include <sot/storage.hxx>
31796 +#include <tools/gen.hxx>
31797 +#include <tools/list.hxx>
31798 +#include <tools/stream.hxx>
31799 +#include <tools/datetime.hxx>
31801 +#include <tools/string.hxx>
31803 +// SummaryInformation
31804 +#define PID_TITLE 0x02
31805 +#define PID_SUBJECT 0x03
31806 +#define PID_AUTHOR 0x04
31807 +#define PID_KEYWORDS 0x05
31808 +#define PID_COMMENTS 0x06
31809 +#define PID_TEMPLATE 0x07
31810 +#define PID_LASTAUTHOR 0x08
31811 +#define PID_REVNUMBER 0x09
31812 +#define PID_EDITTIME 0x0a
31813 +#define PID_LASTPRINTED_DTM 0x0b
31814 +#define PID_CREATE_DTM 0x0c
31815 +#define PID_LASTSAVED_DTM 0x0d
31817 +// DocumentSummaryInformation
31818 +#define PID_CATEGORY 0x02
31819 +#define PID_PRESFORMAT 0x03
31820 +#define PID_BYTECOUNT 0x04
31821 +#define PID_LINECOUNT 0x05
31822 +#define PID_PARACOUNT 0x06
31823 +#define PID_SLIDECOUNT 0x07
31824 +#define PID_NOTECOUNT 0x08
31825 +#define PID_HIDDENCOUNT 0x09
31826 +#define PID_MMCLIPCOUNT 0x0a
31827 +#define PID_SCALE 0x0b
31828 +#define PID_HEADINGPAIR 0x0c
31829 +#define PID_DOCPARTS 0x0d
31830 +#define PID_MANAGER 0x0e
31831 +#define PID_COMPANY 0x0f
31832 +#define PID_LINKSDIRTY 0x10
31834 +#define VT_EMPTY 0
31835 +#define VT_NULL 1
31836 +#define VT_I2 2
31837 +#define VT_I4 3
31838 +#define VT_R4 4
31839 +#define VT_R8 5
31840 +#define VT_CY 6
31841 +#define VT_DATE 7
31842 +#define VT_BSTR 8
31843 +#define VT_UI4 9
31844 +#define VT_ERROR 10
31845 +#define VT_BOOL 11
31846 +#define VT_VARIANT 12
31847 +#define VT_DECIMAL 14
31848 +#define VT_I1 16
31849 +#define VT_UI1 17
31850 +#define VT_UI2 18
31851 +#define VT_I8 20
31852 +#define VT_UI8 21
31853 +#define VT_INT 22
31854 +#define VT_UINT 23
31855 +#define VT_LPSTR 30
31856 +#define VT_LPWSTR 31
31857 +#define VT_FILETIME 64
31858 +#define VT_BLOB 65
31859 +#define VT_STREAM 66
31860 +#define VT_STORAGE 67
31861 +#define VT_STREAMED_OBJECT 68
31862 +#define VT_STORED_OBJECT 69
31863 +#define VT_BLOB_OBJECT 70
31864 +#define VT_CF 71
31865 +#define VT_CLSID 72
31866 +#define VT_VECTOR 0x1000
31867 +#define VT_ARRAY 0x2000
31868 +#define VT_BYREF 0x4000
31869 +#define VT_TYPEMASK 0xFFF
31871 +// ------------------------------------------------------------------------
31873 +class PropItem : public SvMemoryStream
31875 + sal_uInt16 mnTextEnc;
31877 + public :
31878 + PropItem(){};
31879 + void Clear();
31881 + void SetTextEncoding( sal_uInt16 nTextEnc ){ mnTextEnc = nTextEnc; };
31882 + sal_Bool Read( String& rString, sal_uInt32 nType = VT_EMPTY, sal_Bool bDwordAlign = sal_True );
31883 + PropItem& operator=( PropItem& rPropItem );
31885 + using SvStream::Read;
31888 +// ------------------------------------------------------------------------
31890 +class Dictionary : protected List
31892 + friend class Section;
31894 + void AddProperty( UINT32 nId, const String& rString );
31896 + public :
31897 + Dictionary(){};
31898 + ~Dictionary();
31899 + Dictionary& operator=( Dictionary& rDictionary );
31900 + UINT32 GetProperty( const String& rPropName );
31903 +// ------------------------------------------------------------------------
31905 +class Section : private List
31907 + sal_uInt16 mnTextEnc;
31909 + protected:
31911 + BYTE aFMTID[ 16 ];
31913 + void AddProperty( sal_uInt32 nId, const sal_uInt8* pBuf, sal_uInt32 nBufSize );
31915 + public:
31916 + Section( const sal_uInt8* pFMTID );
31917 + Section( Section& rSection );
31918 + ~Section();
31920 + Section& operator=( Section& rSection );
31921 + sal_Bool GetProperty( sal_uInt32 nId, PropItem& rPropItem );
31922 + sal_Bool GetDictionary( Dictionary& rDict );
31923 + const sal_uInt8* GetFMTID() const { return aFMTID; };
31924 + void Read( SvStorageStream* pStrm );
31927 +// ------------------------------------------------------------------------
31929 +class PropRead : private List
31931 + sal_Bool mbStatus;
31932 + SvStorageStream* mpSvStream;
31934 + sal_uInt16 mnByteOrder;
31935 + sal_uInt16 mnFormat;
31936 + sal_uInt16 mnVersionLo;
31937 + sal_uInt16 mnVersionHi;
31938 + sal_uInt8 mApplicationCLSID[ 16 ];
31940 + void AddSection( Section& rSection );
31942 + public:
31943 + PropRead( SvStorage& rSvStorage, const String& rName );
31944 + ~PropRead();
31946 + PropRead& operator=( PropRead& rPropRead );
31947 + const Section* GetSection( const BYTE* pFMTID );
31948 + sal_Bool IsValid() const { return mbStatus; };
31949 + void Read();
31953 +#endif
31955 diff --git sd/source/filter/pptin.hxx sd/source/filter/pptin.hxx
31956 index d4b5c04..e69de29 100644
31957 --- sd/source/filter/pptin.hxx
31958 +++ sd/source/filter/pptin.hxx
31959 @@ -1,108 +0,0 @@
31960 -/*************************************************************************
31962 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
31963 - *
31964 - * Copyright 2008 by Sun Microsystems, Inc.
31966 - * OpenOffice.org - a multi-platform office productivity suite
31968 - * $RCSfile: pptin.hxx,v $
31969 - * $Revision: 1.9 $
31971 - * This file is part of OpenOffice.org.
31973 - * OpenOffice.org is free software: you can redistribute it and/or modify
31974 - * it under the terms of the GNU Lesser General Public License version 3
31975 - * only, as published by the Free Software Foundation.
31977 - * OpenOffice.org is distributed in the hope that it will be useful,
31978 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
31979 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
31980 - * GNU Lesser General Public License version 3 for more details
31981 - * (a copy is included in the LICENSE file that accompanied this code).
31983 - * You should have received a copy of the GNU Lesser General Public License
31984 - * version 3 along with OpenOffice.org. If not, see
31985 - * <http://www.openoffice.org/license.html>
31986 - * for a copy of the LGPLv3 License.
31988 - ************************************************************************/
31990 -#ifndef _SD_PPTIN_HXX
31991 -#define _SD_PPTIN_HXX
31993 -#include <svx/svdfppt.hxx>
31994 -#include <svx/msdffdef.hxx>
31995 -#include <diadef.h>
31996 -#include <svx/svdtypes.hxx>
31997 -#include <svx/msfiltertracer.hxx>
31998 -#include <com/sun/star/uno/Any.h>
31999 -#include <boost/shared_ptr.hpp>
32001 -class SdDrawDocument;
32002 -class SfxMedium;
32004 -/*************************************************************************
32006 -|* lokaler Import
32008 -\************************************************************************/
32010 -class SdPage;
32011 -class SdAnimationInfo;
32012 -struct PptInteractiveInfoAtom;
32013 -class Ppt97Animation;
32015 -typedef boost::shared_ptr< Ppt97Animation > Ppt97AnimationPtr;
32016 -typedef ::std::map < SdrObject*, Ppt97AnimationPtr > tAnimationMap;
32017 -typedef std::vector< std::pair< SdrObject*, Ppt97AnimationPtr > > tAnimationVector;
32019 -class ImplSdPPTImport : public SdrPowerPointImport
32021 - SfxMedium& mrMed;
32022 - SvStorage& mrStorage;
32023 -// SvStream* mpPicStream;
32024 - DffRecordHeader maDocHd;
32025 - List maSlideNameList;
32026 - BOOL mbDocumentFound;
32027 - sal_uInt32 mnFilterOptions;
32028 - SdDrawDocument* mpDoc;
32029 - PresChange mePresChange;
32030 - SdrLayerID mnBackgroundLayerID;
32031 - SdrLayerID mnBackgroundObjectsLayerID;
32033 - tAnimationMap maAnimations;
32035 - void SetHeaderFooterPageSettings( SdPage* pPage, const PptSlidePersistEntry* pMasterPersist );
32036 - void ImportPageEffect( SdPage* pPage, const sal_Bool bNewAnimationsUsed );
32038 - void FillSdAnimationInfo( SdAnimationInfo* pInfo, PptInteractiveInfoAtom* pIAtom, String aMacroName );
32040 - virtual SdrObject* ProcessObj( SvStream& rSt, DffObjData& rData, void* pData, Rectangle& rTextRect, SdrObject* pObj );
32041 - virtual SdrObject* ApplyTextObj( PPTTextObj* pTextObj, SdrTextObj* pText, SdPage* pPage,
32042 - SfxStyleSheet*, SfxStyleSheet** ) const;
32044 -public:
32046 - String ReadSound( sal_uInt32 nSoundRef ) const;
32047 - String ReadMedia( sal_uInt32 nMediaRef ) const;
32049 - ImplSdPPTImport( SdDrawDocument* pDoc, SvStorage& rStorage, SfxMedium& rMed, PowerPointImportParam& );
32050 - ~ImplSdPPTImport();
32052 - sal_Bool Import();
32055 -class SdPPTImport
32057 - ImplSdPPTImport* pFilter;
32059 - public:
32061 - SdPPTImport( SdDrawDocument* pDoc, SvStream& rDocStream, SvStorage& rStorage, SfxMedium& rMed, MSFilterTracer* pTracer = NULL );
32062 - ~SdPPTImport();
32064 - sal_Bool Import();
32067 -#endif // _SD_PPTIN_HXX
32068 diff --git sd/source/filter/propread.cxx sd/source/filter/propread.cxx
32069 index 41de988..e69de29 100644
32070 --- sd/source/filter/propread.cxx
32071 +++ sd/source/filter/propread.cxx
32072 @@ -1,698 +0,0 @@
32073 -/*************************************************************************
32075 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
32076 - *
32077 - * Copyright 2008 by Sun Microsystems, Inc.
32079 - * OpenOffice.org - a multi-platform office productivity suite
32081 - * $RCSfile: propread.cxx,v $
32082 - * $Revision: 1.13 $
32084 - * This file is part of OpenOffice.org.
32086 - * OpenOffice.org is free software: you can redistribute it and/or modify
32087 - * it under the terms of the GNU Lesser General Public License version 3
32088 - * only, as published by the Free Software Foundation.
32090 - * OpenOffice.org is distributed in the hope that it will be useful,
32091 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
32092 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
32093 - * GNU Lesser General Public License version 3 for more details
32094 - * (a copy is included in the LICENSE file that accompanied this code).
32096 - * You should have received a copy of the GNU Lesser General Public License
32097 - * version 3 along with OpenOffice.org. If not, see
32098 - * <http://www.openoffice.org/license.html>
32099 - * for a copy of the LGPLv3 License.
32101 - ************************************************************************/
32103 -// MARKER(update_precomp.py): autogen include statement, do not remove
32104 -#include "precompiled_sd.hxx"
32105 -#include <propread.hxx>
32106 -#include <tools/bigint.hxx>
32107 -#include "rtl/tencinfo.h"
32108 -#include "rtl/textenc.h"
32110 -// ------------------------------------------------------------------------
32112 -struct PropEntry
32114 - sal_uInt32 mnId;
32115 - sal_uInt32 mnSize;
32116 - sal_uInt16 mnTextEnc;
32117 - sal_uInt8* mpBuf;
32119 - PropEntry( sal_uInt32 nId, const sal_uInt8* pBuf, sal_uInt32 nBufSize, sal_uInt16 nTextEnc );
32120 - PropEntry( const PropEntry& rProp );
32121 - ~PropEntry() { delete[] mpBuf; } ;
32123 - const PropEntry& operator=(const PropEntry& rPropEntry);
32126 -PropEntry::PropEntry( sal_uInt32 nId, const sal_uInt8* pBuf, sal_uInt32 nBufSize, sal_uInt16 nTextEnc ) :
32127 - mnId ( nId ),
32128 - mnSize ( nBufSize ),
32129 - mnTextEnc ( nTextEnc ),
32130 - mpBuf ( new sal_uInt8[ nBufSize ] )
32132 - memcpy( (void*)mpBuf, (void*)pBuf, nBufSize );
32135 -PropEntry::PropEntry( const PropEntry& rProp ) :
32136 - mnId ( rProp.mnId ),
32137 - mnSize ( rProp.mnSize ),
32138 - mnTextEnc ( rProp.mnTextEnc ),
32139 - mpBuf ( new sal_uInt8[ mnSize ] )
32141 - memcpy( (void*)mpBuf, (void*)rProp.mpBuf, mnSize );
32144 -const PropEntry& PropEntry::operator=(const PropEntry& rPropEntry)
32146 - if ( this != &rPropEntry )
32148 - delete[] mpBuf;
32149 - mnId = rPropEntry.mnId;
32150 - mnSize = rPropEntry.mnSize;
32151 - mnTextEnc = rPropEntry.mnTextEnc;
32152 - mpBuf = new sal_uInt8[ mnSize ];
32153 - memcpy( (void*)mpBuf, (void*)rPropEntry.mpBuf, mnSize );
32155 - return *this;
32158 -// -----------------------------------------------------------------------
32160 -void PropItem::Clear()
32162 - Seek( STREAM_SEEK_TO_BEGIN );
32163 - delete[] (sal_uInt8*)SwitchBuffer();
32166 -// -----------------------------------------------------------------------
32168 -BOOL PropItem::Read( String& rString, sal_uInt32 nStringType, sal_Bool bAlign )
32170 - sal_uInt32 i, nItemSize, nType, nItemPos;
32171 - sal_Bool bRetValue = sal_False;
32173 - nItemPos = Tell();
32175 - if ( nStringType == VT_EMPTY )
32176 - *this >> nType;
32177 - else
32178 - nType = nStringType & VT_TYPEMASK;
32180 - *this >> nItemSize;
32182 - switch( nType )
32184 - case VT_LPSTR :
32186 - if ( (sal_uInt16)nItemSize )
32188 - sal_Char* pString = new sal_Char[ (sal_uInt16)nItemSize ];
32189 - if ( mnTextEnc == RTL_TEXTENCODING_UCS2 )
32191 - nItemSize >>= 1;
32192 - if ( (sal_uInt16)nItemSize > 1 )
32194 - sal_Unicode* pWString = (sal_Unicode*)pString;
32195 - for ( i = 0; i < (sal_uInt16)nItemSize; i++ )
32196 - *this >> pWString[ i ];
32197 - rString = String( pWString, (sal_uInt16)nItemSize - 1 );
32199 - else
32200 - rString = String();
32201 - bRetValue = sal_True;
32203 - else
32205 - SvMemoryStream::Read( pString, (sal_uInt16)nItemSize );
32206 - if ( pString[ (sal_uInt16)nItemSize - 1 ] == 0 )
32208 - if ( (sal_uInt16)nItemSize > 1 )
32209 - rString = String( ByteString( pString ), mnTextEnc );
32210 - else
32211 - rString = String();
32212 - bRetValue = sal_True;
32215 - delete[] pString;
32217 - if ( bAlign )
32218 - SeekRel( ( 4 - ( nItemSize & 3 ) ) & 3 ); // dword align
32220 - break;
32222 - case VT_LPWSTR :
32224 - if ( nItemSize )
32226 - sal_Unicode* pString = new sal_Unicode[ (sal_uInt16)nItemSize ];
32227 - for ( i = 0; i < (sal_uInt16)nItemSize; i++ )
32228 - *this >> pString[ i ];
32229 - if ( pString[ i - 1 ] == 0 )
32231 - if ( (sal_uInt16)nItemSize > 1 )
32232 - rString = String( pString, (sal_uInt16)nItemSize - 1 );
32233 - else
32234 - rString = String();
32235 - bRetValue = sal_True;
32237 - delete[] pString;
32239 - if ( bAlign && ( nItemSize & 1 ) )
32240 - SeekRel( 2 ); // dword align
32242 - break;
32244 - if ( !bRetValue )
32245 - Seek( nItemPos );
32246 - return bRetValue;
32249 -// -----------------------------------------------------------------------
32251 -PropItem& PropItem::operator=( PropItem& rPropItem )
32253 - if ( this != &rPropItem )
32255 - Seek( STREAM_SEEK_TO_BEGIN );
32256 - delete[] (sal_uInt8*)SwitchBuffer();
32258 - mnTextEnc = rPropItem.mnTextEnc;
32259 - sal_uInt32 nItemPos = rPropItem.Tell();
32260 - rPropItem.Seek( STREAM_SEEK_TO_END );
32261 - SvMemoryStream::Write( rPropItem.GetData(), rPropItem.Tell() );
32262 - rPropItem.Seek( nItemPos );
32264 - return *this;
32267 -// -----------------------------------------------------------------------
32269 -struct Dict
32271 - sal_uInt32 mnId;
32272 - String aString;
32274 - Dict( sal_uInt32 nId, String rString ) { mnId = nId; aString = rString; };
32277 -// -----------------------------------------------------------------------
32279 -Dictionary::~Dictionary()
32281 - for ( void* pPtr = First(); pPtr; pPtr = Next() )
32282 - delete (Dict*)pPtr;
32285 -// -----------------------------------------------------------------------
32287 -void Dictionary::AddProperty( sal_uInt32 nId, const String& rString )
32289 - if ( rString.Len() ) // eindeutige namen bei properties
32291 - // pruefen, ob es die Propertybeschreibung in der Dictionary schon gibt
32292 - for ( Dict* pDict = (Dict*)First(); pDict; pDict = (Dict*)Next() )
32294 - if ( pDict->mnId == nId )
32296 - pDict->aString = rString;
32297 - return;
32300 - Insert( new Dict( nId, rString ), LIST_APPEND );
32304 -// -----------------------------------------------------------------------
32306 -UINT32 Dictionary::GetProperty( const String& rString )
32308 - for ( Dict* pDict = (Dict*)First(); pDict; pDict = (Dict*)Next() )
32310 - if ( pDict->aString == rString )
32311 - return pDict->mnId;
32313 - return 0;
32316 -// -----------------------------------------------------------------------
32318 -Dictionary& Dictionary::operator=( Dictionary& rDictionary )
32320 - void* pPtr;
32322 - if ( this != &rDictionary )
32324 - for ( pPtr = First(); pPtr; pPtr = Next() )
32325 - delete (Dict*)pPtr;
32327 - for ( pPtr = rDictionary.First(); pPtr; pPtr = rDictionary.Next() )
32328 - Insert( new Dict( ((Dict*)pPtr)->mnId, ((Dict*)pPtr)->aString ), LIST_APPEND );
32330 - return *this;
32333 -// -----------------------------------------------------------------------
32335 -Section::Section( Section& rSection )
32336 -: List()
32338 - mnTextEnc = rSection.mnTextEnc;
32339 - for ( int i = 0; i < 16; i++ )
32340 - aFMTID[ i ] = rSection.aFMTID[ i ];
32341 - for ( PropEntry* pProp = (PropEntry*)rSection.First(); pProp; pProp = (PropEntry*)rSection.Next() )
32342 - Insert( new PropEntry( *pProp ), LIST_APPEND );
32345 -// -----------------------------------------------------------------------
32347 -Section::Section( const sal_uInt8* pFMTID )
32349 - mnTextEnc = RTL_TEXTENCODING_MS_1252;
32350 - for ( int i = 0; i < 16; i++ )
32351 - aFMTID[ i ] = pFMTID[ i ];
32354 -// -----------------------------------------------------------------------
32356 -sal_Bool Section::GetProperty( sal_uInt32 nId, PropItem& rPropItem )
32358 - PropEntry* pProp;
32359 - if ( nId )
32361 - for ( pProp = (PropEntry*)First(); pProp; pProp = (PropEntry*)Next() )
32363 - if ( pProp->mnId == nId )
32364 - break;
32366 - if ( pProp )
32368 - rPropItem.Clear();
32369 - rPropItem.SetTextEncoding( mnTextEnc );
32370 - rPropItem.Write( pProp->mpBuf, pProp->mnSize );
32371 - rPropItem.Seek( STREAM_SEEK_TO_BEGIN );
32372 - return sal_True;
32375 - return sal_False;
32378 -// -----------------------------------------------------------------------
32380 -void Section::AddProperty( sal_uInt32 nId, const sal_uInt8* pBuf, sal_uInt32 nBufSize )
32382 - // kleiner id check
32384 - if ( !nId )
32385 - return;
32386 - if ( nId == 0xffffffff )
32387 - nId = 0;
32389 - // keine doppelten PropId's zulassen, sortieren
32390 - for ( sal_uInt32 i = 0; i < Count(); i++ )
32392 - PropEntry* pPropEntry = (PropEntry*)GetObject( i );
32393 - if ( pPropEntry->mnId == nId )
32394 - delete (PropEntry*)Replace( new PropEntry( nId, pBuf, nBufSize, mnTextEnc ), i );
32395 - else if ( pPropEntry->mnId > nId )
32396 - Insert( new PropEntry( nId, pBuf, nBufSize, mnTextEnc ), i );
32397 - else
32398 - continue;
32399 - return;
32401 - Insert( new PropEntry( nId, pBuf, nBufSize, mnTextEnc ), LIST_APPEND );
32404 -// -----------------------------------------------------------------------
32406 -sal_Bool Section::GetDictionary( Dictionary& rDict )
32408 - sal_Bool bRetValue = sal_False;
32410 - Dictionary aDict;
32411 - PropEntry* pProp;
32413 - for ( pProp = (PropEntry*)First(); pProp; pProp = (PropEntry*)Next() )
32415 - if ( pProp->mnId == 0 )
32416 - break;
32418 - if ( pProp )
32420 - sal_uInt32 nDictCount, nId, nSize, nPos;
32421 - SvMemoryStream aStream( (sal_Int8*)pProp->mpBuf, pProp->mnSize, STREAM_READ );
32422 - aStream.Seek( STREAM_SEEK_TO_BEGIN );
32423 - aStream >> nDictCount;
32424 - for ( sal_uInt32 i = 0; i < nDictCount; i++ )
32426 - aStream >> nId >> nSize;
32427 - if ( (sal_uInt16)nSize )
32429 - String aString;
32430 - nPos = aStream.Tell();
32431 - sal_Char* pString = new sal_Char[ (sal_uInt16)nSize ];
32432 - aStream.Read( pString, (sal_uInt16)nSize );
32433 - if ( mnTextEnc == RTL_TEXTENCODING_UCS2 )
32435 - nSize >>= 1;
32436 - aStream.Seek( nPos );
32437 - sal_Unicode* pWString = (sal_Unicode*)pString;
32438 - for ( i = 0; i < (sal_uInt16)nSize; i++ )
32439 - aStream >> pWString[ i ];
32440 - aString = String( pWString, (sal_uInt16)nSize - 1 );
32442 - else
32443 - aString = String( ByteString( pString, (sal_uInt16)nSize - 1 ), mnTextEnc );
32444 - delete[] pString;
32445 - if ( !aString.Len() )
32446 - break;
32447 - aDict.AddProperty( nId, aString );
32449 - bRetValue = sal_True;
32452 - rDict = aDict;
32453 - return bRetValue;
32456 -// -----------------------------------------------------------------------
32458 -Section::~Section()
32460 - for ( PropEntry* pProp = (PropEntry*)First(); pProp; pProp = (PropEntry*)Next() )
32461 - delete pProp;
32464 -// -----------------------------------------------------------------------
32466 -void Section::Read( SvStorageStream *pStrm )
32468 - sal_uInt32 i, nSecOfs, nSecSize, nPropCount, nPropId, nPropOfs, nPropType, nPropSize, nCurrent, nVectorCount, nTemp, nStrmSize;
32469 - nSecOfs = pStrm->Tell();
32471 - pStrm->Seek( STREAM_SEEK_TO_END );
32472 - nStrmSize = pStrm->Tell();
32473 - pStrm->Seek( nSecOfs );
32475 - mnTextEnc = RTL_TEXTENCODING_MS_1252;
32476 - *pStrm >> nSecSize >> nPropCount;
32477 - while( nPropCount-- && ( pStrm->GetError() == ERRCODE_NONE ) )
32479 - *pStrm >> nPropId >> nPropOfs;
32480 - nCurrent = pStrm->Tell();
32481 - pStrm->Seek( nPropOfs + nSecOfs );
32482 - if ( nPropId ) // dictionary wird nicht eingelesen
32485 - *pStrm >> nPropType;
32487 - nPropSize = 4;
32489 - if ( nPropType & VT_VECTOR )
32491 - *pStrm >> nVectorCount;
32492 - nPropType &=~VT_VECTOR;
32493 - nPropSize += 4;
32495 - else
32496 - nVectorCount = 1;
32499 - sal_Bool bVariant = ( nPropType == VT_VARIANT );
32501 - for ( i = 0; nPropSize && ( i < nVectorCount ); i++ )
32503 - if ( bVariant )
32505 - *pStrm >> nPropType;
32506 - nPropSize += 4;
32508 - switch( nPropType )
32510 - case VT_UI1 :
32511 - nPropSize++;
32512 - break;
32514 - case VT_I2 :
32515 - case VT_UI2 :
32516 - case VT_BOOL :
32517 - nPropSize += 2;
32518 - break;
32520 - case VT_I4 :
32521 - case VT_R4 :
32522 - case VT_UI4 :
32523 - case VT_ERROR :
32524 - nPropSize += 4;
32525 - break;
32527 - case VT_I8 :
32528 - case VT_R8 :
32529 - case VT_CY :
32530 - case VT_UI8 :
32531 - case VT_DATE :
32532 - case VT_FILETIME :
32533 - nPropSize += 8;
32534 - break;
32536 - case VT_BSTR :
32537 - *pStrm >> nTemp;
32538 - nPropSize += ( nTemp + 4 );
32539 - break;
32541 - case VT_LPSTR :
32542 - *pStrm >> nTemp;
32543 - nPropSize += ( nTemp + 4 );
32544 - break;
32546 - case VT_LPWSTR :
32547 - *pStrm >> nTemp;
32548 - nPropSize += ( nTemp << 1 ) + 4;
32549 - break;
32551 - case VT_BLOB_OBJECT :
32552 - case VT_BLOB :
32553 - case VT_CF :
32554 - *pStrm >> nTemp;
32555 - nPropSize += ( nTemp + 4 );
32556 - break;
32558 - case VT_CLSID :
32559 - case VT_STREAM :
32560 - case VT_STORAGE :
32561 - case VT_STREAMED_OBJECT :
32562 - case VT_STORED_OBJECT :
32563 - case VT_VARIANT :
32564 - case VT_VECTOR :
32565 - default :
32566 - nPropSize = 0;
32568 - if ( nPropSize )
32570 - if ( ( nVectorCount - i ) > 1 )
32571 - pStrm->Seek( nPropOfs + nSecOfs + nPropSize );
32573 - else
32574 - break;
32576 - if ( nPropSize )
32578 - pStrm->Seek( nPropOfs + nSecOfs );
32579 - sal_uInt8* pBuf = new sal_uInt8[ nPropSize ];
32580 - pStrm->Read( pBuf, nPropSize );
32581 - AddProperty( nPropId, pBuf, nPropSize );
32582 - delete[] pBuf;
32584 - if ( nPropId == 1 )
32586 - PropItem aPropItem;
32587 - if ( GetProperty( 1, aPropItem ) )
32589 - sal_uInt16 nCodePage;
32590 - aPropItem >> nPropType;
32591 - if ( nPropType == VT_I2 )
32593 - aPropItem >> nCodePage;
32595 - if ( nCodePage == 1200 )
32597 - mnTextEnc = RTL_TEXTENCODING_UCS2;
32599 - else
32601 - mnTextEnc = rtl_getTextEncodingFromWindowsCodePage( nCodePage );
32602 - if ( mnTextEnc == RTL_TEXTENCODING_DONTKNOW )
32603 - mnTextEnc = RTL_TEXTENCODING_MS_1252;
32606 - else
32608 - mnTextEnc = RTL_TEXTENCODING_MS_1252;
32613 - else
32615 - sal_uInt32 nDictCount, nSize;
32616 - *pStrm >> nDictCount;
32617 - for ( i = 0; i < nDictCount; i++ )
32619 - *pStrm >> nSize >> nSize;
32620 - pStrm->SeekRel( nSize );
32622 - nSize = pStrm->Tell();
32623 - pStrm->Seek( nPropOfs + nSecOfs );
32624 - nSize -= pStrm->Tell();
32625 - if ( nSize > nStrmSize )
32627 - nPropCount = 0;
32628 - break;
32630 - sal_uInt8* pBuf = new sal_uInt8[ nSize ];
32631 - pStrm->Read( pBuf, nSize );
32632 - AddProperty( 0xffffffff, pBuf, nSize );
32633 - delete[] pBuf;
32635 - pStrm->Seek( nCurrent );
32637 - pStrm->Seek( nSecOfs + nSecSize );
32640 -// -----------------------------------------------------------------------
32642 -Section& Section::operator=( Section& rSection )
32644 - PropEntry* pProp;
32646 - if ( this != &rSection )
32648 - memcpy( (void*)aFMTID, (void*)rSection.aFMTID, 16 );
32649 - for ( pProp = (PropEntry*)First(); pProp; pProp = (PropEntry*)Next() )
32650 - delete pProp;
32651 - Clear();
32652 - for ( pProp = (PropEntry*)rSection.First(); pProp; pProp = (PropEntry*)rSection.Next() )
32653 - Insert( new PropEntry( *pProp ), LIST_APPEND );
32655 - return *this;
32658 -// -----------------------------------------------------------------------
32660 -PropRead::PropRead( SvStorage& rStorage, const String& rName ) :
32661 - mbStatus ( sal_False ),
32662 - mnByteOrder ( 0xfffe ),
32663 - mnFormat ( 0 ),
32664 - mnVersionLo ( 4 ),
32665 - mnVersionHi ( 2 )
32667 - if ( rStorage.IsStream( rName ) )
32669 - mpSvStream = rStorage.OpenSotStream( rName, STREAM_STD_READ );
32670 - if ( mpSvStream )
32672 - mpSvStream->SetNumberFormatInt( NUMBERFORMAT_INT_LITTLEENDIAN );
32673 - memset( mApplicationCLSID, 0, 16 );
32674 - mbStatus = sal_True;
32679 -// -----------------------------------------------------------------------
32681 -void PropRead::AddSection( Section& rSection )
32683 - Insert( new Section( rSection ), LIST_APPEND );
32686 -// -----------------------------------------------------------------------
32688 -const Section* PropRead::GetSection( const sal_uInt8* pFMTID )
32690 - Section* pSection;
32692 - for ( pSection = (Section*)First(); pSection; pSection = (Section*)Next() )
32694 - if ( memcmp( pSection->GetFMTID(), pFMTID, 16 ) == 0 )
32695 - break;
32697 - return pSection;
32700 -// -----------------------------------------------------------------------
32702 -PropRead::~PropRead()
32704 - for ( Section* pSection = (Section*)First(); pSection; pSection = (Section*)Next() )
32705 - delete pSection;
32708 -// -----------------------------------------------------------------------
32710 -void PropRead::Read()
32712 - for ( Section* pSection = (Section*)First(); pSection; pSection = (Section*)Next() )
32713 - delete pSection;
32714 - Clear();
32715 - if ( mbStatus )
32717 - sal_uInt32 nSections;
32718 - sal_uInt32 nSectionOfs;
32719 - sal_uInt32 nCurrent;
32720 - *mpSvStream >> mnByteOrder >> mnFormat >> mnVersionLo >> mnVersionHi;
32721 - if ( mnByteOrder == 0xfffe )
32723 - sal_uInt8* pSectCLSID = new sal_uInt8[ 16 ];
32724 - mpSvStream->Read( mApplicationCLSID, 16 );
32725 - *mpSvStream >> nSections;
32726 - if ( nSections > 2 ) // sj: PowerPoint documents are containing max 2 sections
32728 - mbStatus = sal_False;
32730 - else for ( sal_uInt32 i = 0; i < nSections; i++ )
32732 - mpSvStream->Read( pSectCLSID, 16 );
32733 - *mpSvStream >> nSectionOfs;
32734 - nCurrent = mpSvStream->Tell();
32735 - mpSvStream->Seek( nSectionOfs );
32736 - Section aSection( pSectCLSID );
32737 - aSection.Read( mpSvStream );
32738 - AddSection( aSection );
32739 - mpSvStream->Seek( nCurrent );
32741 - delete[] pSectCLSID;
32746 -// -----------------------------------------------------------------------
32748 -PropRead& PropRead::operator=( PropRead& rPropRead )
32750 - Section* pSection;
32752 - if ( this != &rPropRead )
32754 - mbStatus = rPropRead.mbStatus;
32755 - mpSvStream = rPropRead.mpSvStream;
32757 - mnByteOrder = rPropRead.mnByteOrder;
32758 - mnFormat = rPropRead.mnFormat;
32759 - mnVersionLo = rPropRead.mnVersionLo;
32760 - mnVersionHi = rPropRead.mnVersionHi;
32761 - memcpy( mApplicationCLSID, rPropRead.mApplicationCLSID, 16 );
32763 - for ( pSection = (Section*)First(); pSection; pSection = (Section*)Next() )
32764 - delete pSection;
32765 - Clear();
32766 - for ( pSection = (Section*)rPropRead.First(); pSection; pSection = (Section*)rPropRead.Next() )
32767 - Insert( new Section( *pSection ), LIST_APPEND );
32769 - return *this;
32771 diff --git sd/source/filter/propread.hxx sd/source/filter/propread.hxx
32772 index 6a2e7ab..e69de29 100644
32773 --- sd/source/filter/propread.hxx
32774 +++ sd/source/filter/propread.hxx
32775 @@ -1,194 +0,0 @@
32776 -/*************************************************************************
32778 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
32779 - *
32780 - * Copyright 2008 by Sun Microsystems, Inc.
32782 - * OpenOffice.org - a multi-platform office productivity suite
32784 - * $RCSfile: propread.hxx,v $
32785 - * $Revision: 1.7 $
32787 - * This file is part of OpenOffice.org.
32789 - * OpenOffice.org is free software: you can redistribute it and/or modify
32790 - * it under the terms of the GNU Lesser General Public License version 3
32791 - * only, as published by the Free Software Foundation.
32793 - * OpenOffice.org is distributed in the hope that it will be useful,
32794 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
32795 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
32796 - * GNU Lesser General Public License version 3 for more details
32797 - * (a copy is included in the LICENSE file that accompanied this code).
32799 - * You should have received a copy of the GNU Lesser General Public License
32800 - * version 3 along with OpenOffice.org. If not, see
32801 - * <http://www.openoffice.org/license.html>
32802 - * for a copy of the LGPLv3 License.
32804 - ************************************************************************/
32806 -#ifndef _PROPREAD_HXX_
32807 -#define _PROPREAD_HXX_
32809 -#include <tools/solar.h>
32810 -#include <sot/storage.hxx>
32811 -#include <tools/gen.hxx>
32812 -#include <tools/list.hxx>
32813 -#include <tools/stream.hxx>
32814 -#include <tools/datetime.hxx>
32816 -#include <tools/string.hxx>
32818 -// SummaryInformation
32819 -#define PID_TITLE 0x02
32820 -#define PID_SUBJECT 0x03
32821 -#define PID_AUTHOR 0x04
32822 -#define PID_KEYWORDS 0x05
32823 -#define PID_COMMENTS 0x06
32824 -#define PID_TEMPLATE 0x07
32825 -#define PID_LASTAUTHOR 0x08
32826 -#define PID_REVNUMBER 0x09
32827 -#define PID_EDITTIME 0x0a
32828 -#define PID_LASTPRINTED_DTM 0x0b
32829 -#define PID_CREATE_DTM 0x0c
32830 -#define PID_LASTSAVED_DTM 0x0d
32832 -// DocumentSummaryInformation
32833 -#define PID_CATEGORY 0x02
32834 -#define PID_PRESFORMAT 0x03
32835 -#define PID_BYTECOUNT 0x04
32836 -#define PID_LINECOUNT 0x05
32837 -#define PID_PARACOUNT 0x06
32838 -#define PID_SLIDECOUNT 0x07
32839 -#define PID_NOTECOUNT 0x08
32840 -#define PID_HIDDENCOUNT 0x09
32841 -#define PID_MMCLIPCOUNT 0x0a
32842 -#define PID_SCALE 0x0b
32843 -#define PID_HEADINGPAIR 0x0c
32844 -#define PID_DOCPARTS 0x0d
32845 -#define PID_MANAGER 0x0e
32846 -#define PID_COMPANY 0x0f
32847 -#define PID_LINKSDIRTY 0x10
32849 -#define VT_EMPTY 0
32850 -#define VT_NULL 1
32851 -#define VT_I2 2
32852 -#define VT_I4 3
32853 -#define VT_R4 4
32854 -#define VT_R8 5
32855 -#define VT_CY 6
32856 -#define VT_DATE 7
32857 -#define VT_BSTR 8
32858 -#define VT_UI4 9
32859 -#define VT_ERROR 10
32860 -#define VT_BOOL 11
32861 -#define VT_VARIANT 12
32862 -#define VT_DECIMAL 14
32863 -#define VT_I1 16
32864 -#define VT_UI1 17
32865 -#define VT_UI2 18
32866 -#define VT_I8 20
32867 -#define VT_UI8 21
32868 -#define VT_INT 22
32869 -#define VT_UINT 23
32870 -#define VT_LPSTR 30
32871 -#define VT_LPWSTR 31
32872 -#define VT_FILETIME 64
32873 -#define VT_BLOB 65
32874 -#define VT_STREAM 66
32875 -#define VT_STORAGE 67
32876 -#define VT_STREAMED_OBJECT 68
32877 -#define VT_STORED_OBJECT 69
32878 -#define VT_BLOB_OBJECT 70
32879 -#define VT_CF 71
32880 -#define VT_CLSID 72
32881 -#define VT_VECTOR 0x1000
32882 -#define VT_ARRAY 0x2000
32883 -#define VT_BYREF 0x4000
32884 -#define VT_TYPEMASK 0xFFF
32886 -// ------------------------------------------------------------------------
32888 -class PropItem : public SvMemoryStream
32890 - sal_uInt16 mnTextEnc;
32892 - public :
32893 - PropItem(){};
32894 - void Clear();
32896 - void SetTextEncoding( sal_uInt16 nTextEnc ){ mnTextEnc = nTextEnc; };
32897 - sal_Bool Read( String& rString, sal_uInt32 nType = VT_EMPTY, sal_Bool bDwordAlign = sal_True );
32898 - PropItem& operator=( PropItem& rPropItem );
32900 - using SvStream::Read;
32903 -// ------------------------------------------------------------------------
32905 -class Dictionary : protected List
32907 - friend class Section;
32909 - void AddProperty( UINT32 nId, const String& rString );
32911 - public :
32912 - Dictionary(){};
32913 - ~Dictionary();
32914 - Dictionary& operator=( Dictionary& rDictionary );
32915 - UINT32 GetProperty( const String& rPropName );
32918 -// ------------------------------------------------------------------------
32920 -class Section : private List
32922 - sal_uInt16 mnTextEnc;
32924 - protected:
32926 - BYTE aFMTID[ 16 ];
32928 - void AddProperty( sal_uInt32 nId, const sal_uInt8* pBuf, sal_uInt32 nBufSize );
32930 - public:
32931 - Section( const sal_uInt8* pFMTID );
32932 - Section( Section& rSection );
32933 - ~Section();
32935 - Section& operator=( Section& rSection );
32936 - sal_Bool GetProperty( sal_uInt32 nId, PropItem& rPropItem );
32937 - sal_Bool GetDictionary( Dictionary& rDict );
32938 - const sal_uInt8* GetFMTID() const { return aFMTID; };
32939 - void Read( SvStorageStream* pStrm );
32942 -// ------------------------------------------------------------------------
32944 -class PropRead : private List
32946 - sal_Bool mbStatus;
32947 - SvStorageStream* mpSvStream;
32949 - sal_uInt16 mnByteOrder;
32950 - sal_uInt16 mnFormat;
32951 - sal_uInt16 mnVersionLo;
32952 - sal_uInt16 mnVersionHi;
32953 - sal_uInt8 mApplicationCLSID[ 16 ];
32955 - void AddSection( Section& rSection );
32957 - public:
32958 - PropRead( SvStorage& rSvStorage, const String& rName );
32959 - ~PropRead();
32961 - PropRead& operator=( PropRead& rPropRead );
32962 - const Section* GetSection( const BYTE* pFMTID );
32963 - sal_Bool IsValid() const { return mbStatus; };
32964 - void Read();
32968 -#endif
32970 diff --git sd/source/filter/sdpptwrp.cxx sd/source/filter/sdpptwrp.cxx
32971 index c920a48..a9dd979 100644
32972 --- sd/source/filter/sdpptwrp.cxx
32973 +++ sd/source/filter/sdpptwrp.cxx
32974 @@ -40,7 +40,7 @@
32975 #include <svtools/fltrcfg.hxx>
32977 #include "sdpptwrp.hxx"
32978 -#include "pptin.hxx"
32979 +#include "ppt/pptin.hxx"
32980 #include "drawdoc.hxx"
32981 #include <tools/urlobj.hxx>
32982 #include <svx/msfiltertracer.hxx>
32983 @@ -60,6 +60,9 @@ typedef BOOL ( __LOADONCALLAPI *ExportPPT )( SvStorageRef&,
32984 Reference< XStatusIndicator > &,
32985 SvMemoryStream*, sal_uInt32 nCnvrtFlags );
32987 +typedef sal_Bool ( SAL_CALL *ImportPPT )( const ::rtl::OUString&, Sequence< PropertyValue >*,
32988 + SdDrawDocument*, SvStream&, SvStorage&, SfxMedium& );
32990 // ---------------
32991 // - SdPPTFilter -
32992 // ---------------
32993 @@ -81,9 +84,13 @@ SdPPTFilter::~SdPPTFilter()
32995 sal_Bool SdPPTFilter::Import()
32997 + ::osl::Module* pLibrary = OpenLibrary( mrMedium.GetFilter()->GetUserData() );
32998 + if( !pLibrary )
32999 + return sal_False;
33001 sal_Bool bRet = sal_False;
33002 - SotStorageRef pStorage = new SotStorage( mrMedium.GetInStream(), FALSE );
33003 - if( !pStorage->GetError() )
33004 + SotStorageRef pStorage = new SotStorage( mrMedium.GetInStream(), FALSE );
33005 + if( !pStorage->GetError() )
33007 /* check if there is a dualstorage, then the
33008 document is propably a PPT95 containing PPT97 */
33009 @@ -107,18 +114,18 @@ sal_Bool SdPPTFilter::Import()
33010 aPropValue.Name = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "DocumentURL" ) );
33011 aConfigData[ 0 ] = aPropValue;
33013 - MSFilterTracer aTracer( aTraceConfigPath, &aConfigData );
33014 - aTracer.StartTracing();
33015 - SdPPTImport* pImport = new SdPPTImport( &mrDocument, *pDocStream, *pStorage, mrMedium, &aTracer );
33016 - if ( ( bRet = pImport->Import() ) == sal_False )
33017 + ImportPPT PPTImport = reinterpret_cast<ImportPPT>(pLibrary->getFunctionSymbol( ::rtl::OUString::createFromAscii("ImportPPT") ));
33018 + if ( PPTImport )
33019 + bRet = PPTImport( aTraceConfigPath, &aConfigData, &mrDocument, *pDocStream, *pStorage, mrMedium );
33021 + if ( !bRet )
33023 if ( pStorage->IsStream( String( RTL_CONSTASCII_USTRINGPARAM("EncryptedSummary") ) ) )
33024 mrMedium.SetError( ERRCODE_SVX_READ_FILTER_PPOINT );
33025 else
33026 mrMedium.SetError( SVSTREAM_WRONGVERSION );
33028 - aTracer.EndTracing();
33029 - delete pImport;
33031 delete pDocStream;
33034 diff --git sd/source/ui/dlg/ins_paste.cxx sd/source/ui/dlg/ins_paste.cxx
33035 index 848ed87..aeab2a4 100644
33036 --- sd/source/ui/dlg/ins_paste.cxx
33037 +++ sd/source/ui/dlg/ins_paste.cxx
33038 @@ -31,10 +31,6 @@
33039 // MARKER(update_precomp.py): autogen include statement, do not remove
33040 #include "precompiled_sd.hxx"
33042 -#ifdef SD_DLLIMPLEMENTATION
33043 -#undef SD_DLLIMPLEMENTATION
33044 -#endif
33046 #include "ins_paste.hrc"
33047 #include "ins_paste.hxx"
33049 diff --git sd/source/ui/docshell/docshell.cxx sd/source/ui/docshell/docshell.cxx
33050 index 27a27f1..32a243a 100644
33051 --- sd/source/ui/docshell/docshell.cxx
33052 +++ sd/source/ui/docshell/docshell.cxx
33053 @@ -118,9 +118,6 @@ namespace sd {
33055 GraphicFilter* GetGrfFilter();
33057 -SfxProgress* DrawDocShell::mpSpecialProgress = NULL;
33058 -Link* DrawDocShell::mpSpecialProgressHdl = NULL;
33060 /*************************************************************************
33062 |* SFX-Slotmaps und -Definitionen
33063 @@ -526,7 +523,6 @@ void DrawDocShell::ApplySlotFilter() const
33068 void DrawDocShell::SetModified( BOOL bSet /* = TRUE */ )
33070 SfxObjectShell::SetModified( bSet );
33071 diff --git sd/source/ui/inc/DrawDocShell.hxx sd/source/ui/inc/DrawDocShell.hxx
33072 index 5cf83ee..af8cd2a 100644
33073 --- sd/source/ui/inc/DrawDocShell.hxx
33074 +++ sd/source/ui/inc/DrawDocShell.hxx
33075 @@ -164,11 +164,6 @@ public:
33076 UINT16 GetStyleFamily() const { return mnStyleFamily; }
33077 void SetStyleFamily( UINT16 nSF ) { mnStyleFamily = nSF; }
33079 - BOOL HasSpecialProgress() const { return ( mpSpecialProgress != NULL && mpSpecialProgressHdl != NULL ); }
33080 - void ReleaseSpecialProgress() { mpSpecialProgress = NULL; mpSpecialProgressHdl = NULL; }
33081 - void SetSpecialProgress( SfxProgress* _pProgress, Link* pLink ) { mpSpecialProgress = _pProgress; mpSpecialProgressHdl = pLink; }
33082 - SfxProgress* GetSpecialProgress() { return( HasSpecialProgress() ? mpSpecialProgress : NULL ); }
33084 sal_Bool IsNewDocument() const;
33086 /** executes the SID_OPENDOC slot to let the framework open a document
33087 @@ -235,9 +230,6 @@ protected:
33088 BOOL mbOwnPrinter;
33089 BOOL mbNewDocument;
33091 - static SfxProgress* mpSpecialProgress;
33092 - static Link* mpSpecialProgressHdl;
33094 bool mbOwnDocument; // if true, we own mpDoc and will delete it in our d'tor
33095 void Construct(bool bClipboard);
33096 virtual void InPlaceActivate( BOOL bActive );
33097 diff --git sd/source/ui/inc/FrameView.hxx sd/source/ui/inc/FrameView.hxx
33098 index f56ef36..1d7ab2d 100644
33099 --- sd/source/ui/inc/FrameView.hxx
33100 +++ sd/source/ui/inc/FrameView.hxx
33101 @@ -49,7 +49,7 @@ class FrameView
33102 : public SdrView
33104 public:
33105 - FrameView(SdDrawDocument* pDrawDoc, FrameView* pFrameView = NULL );
33106 + SD_DLLPUBLIC FrameView(SdDrawDocument* pDrawDoc, FrameView* pFrameView = NULL );
33107 FrameView(const FrameView& rFrameView);
33108 virtual ~FrameView();
33110 @@ -106,7 +106,7 @@ public:
33111 /** can be used to get the page kind that was selected on last save of this document */
33112 PageKind GetPageKindOnLoad() const { return mePageKindOnLoad; }
33114 - void SetSelectedPage (USHORT nPage);
33115 + SD_DLLPUBLIC void SetSelectedPage (USHORT nPage);
33116 USHORT GetSelectedPage () const;
33118 /** is used in FrameView::ReadUserDataSequence() only to store the
33119 @@ -116,7 +116,7 @@ public:
33120 /** can be used to get the page that was selected on last save of this document */
33121 USHORT GetSelectedPageOnLoad () const { return mnSelectedPageOnLoad; }
33123 - void SetViewShEditMode(EditMode eMode, PageKind eKind);
33124 + SD_DLLPUBLIC void SetViewShEditMode(EditMode eMode, PageKind eKind);
33125 EditMode GetViewShEditMode (PageKind eKind);
33127 /** Remember the edit mode of the main view shell at the time when the
33128 diff --git sd/source/ui/inc/ins_paste.hxx sd/source/ui/inc/ins_paste.hxx
33129 index d74154e..bbb9dec 100644
33130 --- sd/source/ui/inc/ins_paste.hxx
33131 +++ sd/source/ui/inc/ins_paste.hxx
33132 @@ -31,18 +31,10 @@
33133 #ifndef _SD_INS_PASTE_HXX_
33134 #define _SD_INS_PASTE_HXX_
33136 -#ifndef _BUTTON_HXX //autogen
33137 #include <vcl/button.hxx>
33138 -#endif
33139 -#ifndef _FIXED_HXX //autogen
33140 #include <vcl/fixed.hxx>
33141 -#endif
33142 -#ifndef _DIALOG_HXX //autogen
33143 #include <vcl/dialog.hxx>
33144 -#endif
33145 -#ifndef _SD_SDRESID_HXX
33146 #include "sdresid.hxx"
33147 -#endif
33149 // --------------------
33150 // - SdInsertPasteDlg -
33151 diff --git sd/source/ui/unoidl/randomnode.cxx sd/source/ui/unoidl/randomnode.cxx
33152 index 3a006ab..830491e 100644
33153 --- sd/source/ui/unoidl/randomnode.cxx
33154 +++ sd/source/ui/unoidl/randomnode.cxx
33155 @@ -171,7 +171,7 @@ static const sal_Char* pSN2 = "com.sun.star.comp.sd.RandomAnimationNode";
33157 // --------------------------------------------------------------------
33159 -Reference< XInterface > RandomAnimationNode_createInstance( sal_Int16 nPresetClass )
33160 +SD_DLLPUBLIC Reference< XInterface > RandomAnimationNode_createInstance( sal_Int16 nPresetClass )
33162 Reference< XInterface > xInt( static_cast<XWeak*>( new RandomAnimationNode( nPresetClass ) ) );
33163 return xInt;
33164 diff --git sd/util/makefile.mk sd/util/makefile.mk
33165 index a08f0e8..fb5e7af 100644
33166 --- sd/util/makefile.mk
33167 +++ sd/util/makefile.mk
33168 @@ -65,6 +65,7 @@ SHL1IMPLIB= sdi
33170 # dynamic libraries
33171 SHL1STDLIBS+= \
33172 + $(SVXCORELIB) \
33173 $(SVXLIB) \
33174 $(SFXLIB) \
33175 $(BASICLIB) \
33176 @@ -130,7 +131,6 @@ LIB5FILES= \
33177 $(SLB)$/html.lib \
33178 $(SLB)$/filter.lib \
33179 $(SLB)$/unoidl.lib \
33180 - $(SLB)$/ppt.lib \
33181 $(SLB)$/animui.lib \
33182 $(SLB)$/accessibility.lib \
33183 $(SLB)$/toolpanel.lib \
33184 @@ -162,7 +162,7 @@ DEF2NAME= $(SHL2TARGET)
33186 SHL2STDLIBS= \
33187 $(SFX2LIB) \
33188 - $(SVXLIB) \
33189 + $(SVXCORELIB) \
33190 $(SVTOOLLIB) \
33191 $(SVLLIB) \
33192 $(VCLLIB) \
33193 @@ -195,6 +195,7 @@ LIB4FILES= \
33195 SHL4STDLIBS= \
33196 $(ISDLIB) \
33197 + $(SVXCORELIB) \
33198 $(SVXLIB) \
33199 $(SFXLIB) \
33200 $(BASICLIB) \
33201 @@ -235,10 +236,40 @@ SHL4OBJS += $(SLO)$/pchname.obj \
33202 # $(ISDLIB) is build in SHL1TARGET
33203 .IF "$(GUI)" == "UNX"
33204 SHL4DEPN=$(SHL1TARGETN)
33205 +SHL5DEPN=$(SHL1TARGETN)
33206 .ELSE
33207 SHL4DEPN=$(SHL1IMPLIBN)
33208 +SHL5DEPN=$(SHL1IMPLIBN)
33209 .ENDIF
33211 +# ppt import/export library
33212 +SHL5TARGET = sdfilt$(DLLPOSTFIX)
33213 +SHL5IMPLIB = sdfilti
33214 +SHL5VERSIONMAP= sdfilt.map
33215 +SHL5DEF = $(MISC)$/$(SHL5TARGET).def
33216 +SHL5LIBS = $(SLB)$/ppt.lib $(SLB)$/eppt.lib
33218 +DEF5NAME=$(SHL5TARGET)
33220 +SHL5STDLIBS = $(ISDLIB) \
33221 + $(SVXCORELIB) \
33222 + $(SVXMSFILTERLIB) \
33223 + $(SFX2LIB) \
33224 + $(SVTOOLLIB) \
33225 + $(SOTLIB) \
33226 + $(GOODIESLIB) \
33227 + $(VCLLIB) \
33228 + $(SVLLIB) \
33229 + $(SOTLIB) \
33230 + $(UNOTOOLSLIB) \
33231 + $(TOOLSLIB) \
33232 + $(UCBHELPERLIB) \
33233 + $(CPPUHELPERLIB) \
33234 + $(CPPULIB) \
33235 + $(SALLIB) \
33236 + $(COMPHELPERLIB) \
33237 + $(I18NISOLANGLIB)
33239 # --- Targets -------------------------------------------------------------
33241 .INCLUDE : target.mk
33242 diff --git sd/util/sdfilt.map sd/util/sdfilt.map
33243 new file mode 100644
33244 index 0000000..ac6b782
33245 --- /dev/null
33246 +++ sd/util/sdfilt.map
33247 @@ -0,0 +1,8 @@
33248 +PPTEXPORTER_1_0 {
33249 + global:
33250 + ExportPPT;
33251 + ImportPPT;
33253 + local:
33254 + *;
33256 diff --git solenv/inc/libs.mk solenv/inc/libs.mk
33257 index f6b9815..2a75646 100644
33258 --- solenv/inc/libs.mk
33259 +++ solenv/inc/libs.mk
33260 @@ -256,6 +256,8 @@ EGGTRAYLIB=-leggtray$(DLLPOSTFIX)
33261 SFXDEBUGLIB=
33262 FWELIB=-lfwe$(DLLPOSTFIX)
33263 FWILIB=-lfwi$(DLLPOSTFIX)
33264 +SVXCORELIB=-lsvxcore$(DLLPOSTFIX)
33265 +SVXMSFILTERLIB=-lsvxmsfilter$(DLLPOSTFIX)
33266 SVXLIB=-lsvx$(DLLPOSTFIX)
33267 BASCTLLIB=-lbasctl$(DLLPOSTFIX)
33268 BASICIDELIB=-lybctl
33269 @@ -441,6 +443,8 @@ BASICLIB=basic.lib
33270 VBAHELPERLIB=vbahelper.lib
33271 TKTLIB=tkt.lib
33272 SJLIB=sj.lib
33273 +SVXCORELIB=isvxcore.lib
33274 +SVXMSFILTERLIB=isvxmsfilter.lib
33275 SVXLIB=isvx.lib
33276 BASCTLLIB=basctl.lib
33277 BASICIDELIB=ybctl.lib
33278 diff --git starmath/util/makefile.mk starmath/util/makefile.mk
33279 index 2ef0f02..e4e21cb 100644
33280 --- starmath/util/makefile.mk
33281 +++ starmath/util/makefile.mk
33282 @@ -57,6 +57,7 @@ SHL1DEF=$(MISC)$/$(SHL1TARGET).def
33283 DEF1NAME= $(SHL1TARGET)
33285 SHL1STDLIBS= \
33286 + $(SVXCORELIB) \
33287 $(SVXLIB) \
33288 $(SFX2LIB) \
33289 $(XMLOFFLIB) \
33290 diff --git svx/inc/EnhancedCustomShapeFunctionParser.hxx svx/inc/EnhancedCustomShapeFunctionParser.hxx
33291 index 6311b47..018da4c 100755
33292 --- svx/inc/EnhancedCustomShapeFunctionParser.hxx
33293 +++ svx/inc/EnhancedCustomShapeFunctionParser.hxx
33294 @@ -32,14 +32,14 @@
33295 #define _ENHANCEDCUSTOMSHAPEFUNCTIONPARSER_HXX
33297 #include <sal/config.h>
33298 -#ifndef BOOST_SHARED_PTR_HPP_INCLUDED
33299 #include <boost/shared_ptr.hpp>
33300 -#endif
33301 #include "EnhancedCustomShapeFunctionParser.hxx"
33302 #include <com/sun/star/drawing/EnhancedCustomShapeParameter.hpp>
33303 #include <com/sun/star/drawing/EnhancedCustomShapeParameterType.hpp>
33304 #include <vector>
33306 +#include <svx/svxdllapi.h>
33308 struct EnhancedCustomShapeEquation
33310 sal_Int32 nOperation;
33311 @@ -97,7 +97,7 @@ enum ExpressionFunct
33313 #define EXPRESSION_FLAG_SUMANGLE_MODE 1
33315 -void FillEquationParameter( const com::sun::star::drawing::EnhancedCustomShapeParameter&, const sal_Int32, EnhancedCustomShapeEquation& );
33316 +SVX_DLLPUBLIC void FillEquationParameter( const com::sun::star::drawing::EnhancedCustomShapeParameter&, const sal_Int32, EnhancedCustomShapeEquation& );
33318 class ExpressionNode
33320 @@ -200,7 +200,7 @@ public:
33321 @return the generated function object.
33324 - static ExpressionNodeSharedPtr parseFunction( const ::rtl::OUString& rFunction, const EnhancedCustomShape2d& rCustoShape );
33325 + SVX_DLLPUBLIC static ExpressionNodeSharedPtr parseFunction( const ::rtl::OUString& rFunction, const EnhancedCustomShape2d& rCustoShape );
33327 private:
33328 // disabled constructor/destructor, since this is
33329 diff --git svx/inc/fontitem.hxx svx/inc/fontitem.hxx
33330 index 9607f8c..3ab3ffe 100644
33331 --- svx/inc/fontitem.hxx
33332 +++ svx/inc/fontitem.hxx
33333 @@ -111,7 +111,7 @@ public:
33334 return *this;
33337 - static void EnableStoreUnicodeNames( BOOL bEnable ) { bEnableStoreUnicodeNames = bEnable; }
33338 + static void EnableStoreUnicodeNames( BOOL bEnable );
33342 diff --git svx/inc/gallery1.hxx svx/inc/gallery1.hxx
33343 index 51e4520..75f2946 100644
33344 --- svx/inc/gallery1.hxx
33345 +++ svx/inc/gallery1.hxx
33346 @@ -144,7 +144,7 @@ private:
33347 void ImplLoadImports();
33348 void ImplWriteImportList();
33350 - GalleryThemeEntry* ImplGetThemeEntry( const String& rThemeName );
33351 + SVX_DLLPUBLIC GalleryThemeEntry* ImplGetThemeEntry( const String& rThemeName );
33352 GalleryThemeEntry* ImplGetThemeEntry( ULONG nThemeId );
33353 GalleryImportThemeEntry* ImplGetImportThemeEntry( const String& rImportName );
33355 @@ -168,7 +168,7 @@ public:
33356 SVX_DLLPUBLIC BOOL CreateTheme( const String& rThemeName, UINT32 nNumFrom = 0 );
33357 BOOL CreateImportTheme( const INetURLObject& rURL, const String& rFileName );
33358 BOOL RenameTheme( const String& rOldName, const String& rNewName );
33359 - BOOL RemoveTheme( const String& rThemeName );
33360 + SVX_DLLPUBLIC BOOL RemoveTheme( const String& rThemeName );
33362 SVX_DLLPUBLIC GalleryTheme* AcquireTheme( const String& rThemeName, SfxListener& rListener );
33363 SVX_DLLPUBLIC void ReleaseTheme( GalleryTheme* pTheme, SfxListener& rListener );
33364 diff --git svx/inc/galobj.hxx svx/inc/galobj.hxx
33365 index 9b67257..f675a41 100644
33366 --- svx/inc/galobj.hxx
33367 +++ svx/inc/galobj.hxx
33368 @@ -122,8 +122,8 @@ public:
33369 BOOL IsValid() const { return bIsValid; }
33370 BOOL IsThumbBitmap() const { return bIsThumbBmp; }
33372 - const String GetTitle() const;
33373 - void SetTitle( const String& rTitle );
33374 + SVX_DLLPUBLIC const String GetTitle() const;
33375 + SVX_DLLPUBLIC void SetTitle( const String& rTitle );
33377 friend SvStream& operator<<( SvStream& rOut, const SgaObject& rObj );
33378 friend SvStream& operator>>( SvStream& rIn, SgaObject& rObj );
33379 diff --git svx/inc/galtheme.hxx svx/inc/galtheme.hxx
33380 index 5561d33..72fd5e0 100644
33381 --- svx/inc/galtheme.hxx
33382 +++ svx/inc/galtheme.hxx
33383 @@ -107,12 +107,12 @@ private:
33384 BOOL bAbortActualize;
33386 void ImplCreateSvDrawStorage();
33387 - SgaObject* ImplReadSgaObject( GalleryObject* pEntry );
33388 + SVX_DLLPUBLIC SgaObject* ImplReadSgaObject( GalleryObject* pEntry );
33389 BOOL ImplWriteSgaObject( const SgaObject& rObj, ULONG nPos, GalleryObject* pExistentEntry );
33390 void ImplRead();
33391 void ImplWrite();
33392 const GalleryObject* ImplGetGalleryObject( ULONG nPos ) const { return aObjectList.GetObject( nPos ); }
33393 - const GalleryObject* ImplGetGalleryObject( const INetURLObject& rURL );
33394 + SVX_DLLPUBLIC const GalleryObject* ImplGetGalleryObject( const INetURLObject& rURL );
33395 ULONG ImplGetGalleryObjectPos( const GalleryObject* pObj ) const { return aObjectList.GetPos( pObj ); }
33396 INetURLObject ImplGetURL( const GalleryObject* pObject ) const;
33397 INetURLObject ImplCreateUniqueURL( SgaObjKind eObjKind, ULONG nFormat = CVT_UNKNOWN );
33398 @@ -129,11 +129,11 @@ public:
33400 ULONG GetObjectCount() const { return aObjectList.Count(); }
33402 - SgaObject* AcquireObject( ULONG nPos );
33403 - void ReleaseObject( SgaObject* pObj );
33404 + SVX_DLLPUBLIC SgaObject* AcquireObject( ULONG nPos );
33405 + SVX_DLLPUBLIC void ReleaseObject( SgaObject* pObj );
33407 - BOOL InsertObject( const SgaObject& rObj, ULONG nPos = LIST_APPEND );
33408 - BOOL RemoveObject( ULONG nPos );
33409 + SVX_DLLPUBLIC BOOL InsertObject( const SgaObject& rObj, ULONG nPos = LIST_APPEND );
33410 + SVX_DLLPUBLIC BOOL RemoveObject( ULONG nPos );
33411 BOOL ChangeObjectPos( ULONG nOldPos, ULONG nNewPos );
33413 const String& GetName() const { return IsImported() ? aImportName : pThm->GetThemeName(); }
33414 @@ -194,11 +194,11 @@ public:
33416 BOOL GetThumb( ULONG nPos, Bitmap& rBmp, BOOL bProgress = FALSE );
33418 - BOOL GetGraphic( ULONG nPos, Graphic& rGraphic, BOOL bProgress = FALSE );
33419 - BOOL InsertGraphic( const Graphic& rGraphic, ULONG nInsertPos = LIST_APPEND );
33420 + SVX_DLLPUBLIC BOOL GetGraphic( ULONG nPos, Graphic& rGraphic, BOOL bProgress = FALSE );
33421 + SVX_DLLPUBLIC BOOL InsertGraphic( const Graphic& rGraphic, ULONG nInsertPos = LIST_APPEND );
33423 - BOOL GetModel( ULONG nPos, SdrModel& rModel, BOOL bProgress = FALSE );
33424 - BOOL InsertModel( const FmFormModel& rModel, ULONG nInsertPos = LIST_APPEND );
33425 + SVX_DLLPUBLIC BOOL GetModel( ULONG nPos, SdrModel& rModel, BOOL bProgress = FALSE );
33426 + SVX_DLLPUBLIC BOOL InsertModel( const FmFormModel& rModel, ULONG nInsertPos = LIST_APPEND );
33428 BOOL GetModelStream( ULONG nPos, SotStorageStreamRef& rModelStreamRef, BOOL bProgress = FALSE );
33429 BOOL InsertModelStream( const SotStorageStreamRef& rModelStream, ULONG nInsertPos = LIST_APPEND );
33430 diff --git svx/inc/svdglob.hxx svx/inc/svdglob.hxx
33431 index 87eb126..dbf584a 100644
33432 --- svx/inc/svdglob.hxx
33433 +++ svx/inc/svdglob.hxx
33434 @@ -33,11 +33,11 @@
33436 #include <tools/contnr.hxx>
33438 -#ifndef _RESID_HXX //autogen
33439 #include <tools/resid.hxx>
33440 -#endif
33441 #include <tools/string.hxx>
33443 +#include <svx/svxdllapi.h>
33445 //************************************************************
33446 // Vorausdeklarationen
33447 //************************************************************
33448 @@ -64,7 +64,7 @@ public:
33449 // IDs von SDR_StringCacheBegin (256) bis
33450 // SDR_StringCacheEnd (weiss ich grad' nicht).
33451 // Hierzu siehe auch SvdStr.Hrc
33452 -String ImpGetResStr(sal_uInt16 nResID);
33453 +SVX_DLLPUBLIC String ImpGetResStr(sal_uInt16 nResID);
33455 ////////////////////////////////////////////////////////////////////////////////////////////////////
33457 diff --git svx/inc/svx/AccessibleContextBase.hxx svx/inc/svx/AccessibleContextBase.hxx
33458 index 480392a..c1f98a5 100644
33459 --- svx/inc/svx/AccessibleContextBase.hxx
33460 +++ svx/inc/svx/AccessibleContextBase.hxx
33461 @@ -1,37 +1,5 @@
33462 /*************************************************************************
33464 -<<<<<<< AccessibleContextBase.hxx
33465 - * OpenOffice.org - a multi-platform office productivity suite
33467 - * $RCSfile: AccessibleContextBase.hxx,v $
33469 - * $Revision: 1.4 $
33471 - * last change: $Author: rt $ $Date: 2008-07-07 14:27:26 $
33473 - * The Contents of this file are made available subject to
33474 - * the terms of GNU Lesser General Public License Version 2.1.
33477 - * GNU Lesser General Public License Version 2.1
33478 - * =============================================
33479 - * Copyright 2005 by Sun Microsystems, Inc.
33480 - * 901 San Antonio Road, Palo Alto, CA 94303, USA
33482 - * This library is free software; you can redistribute it and/or
33483 - * modify it under the terms of the GNU Lesser General Public
33484 - * License version 2.1, as published by the Free Software Foundation.
33486 - * This library is distributed in the hope that it will be useful,
33487 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
33488 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
33489 - * Lesser General Public License for more details.
33491 - * You should have received a copy of the GNU Lesser General Public
33492 - * License along with this library; if not, write to the Free Software
33493 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
33494 - * MA 02111-1307 USA
33495 -=======
33496 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
33498 * Copyright 2008 by Sun Microsystems, Inc.
33499 @@ -57,7 +25,6 @@
33500 * version 3 along with OpenOffice.org. If not, see
33501 * <http://www.openoffice.org/license.html>
33502 * for a copy of the LGPLv3 License.
33503 ->>>>>>> 1.3
33505 ************************************************************************/
33507 diff --git svx/inc/svx/AccessibleControlShape.hxx svx/inc/svx/AccessibleControlShape.hxx
33508 index 326d57e..276746f 100644
33509 --- svx/inc/svx/AccessibleControlShape.hxx
33510 +++ svx/inc/svx/AccessibleControlShape.hxx
33511 @@ -31,13 +31,9 @@
33512 #ifndef _SVX_ACCESSIBILITY_ACCESSIBLE_CONTROL_SHAPE_HXX
33513 #define _SVX_ACCESSIBILITY_ACCESSIBLE_CONTROL_SHAPE_HXX
33515 -#ifndef _SVX_ACCESSIBILITY_ACCESSIBLE_SHAPE_MANAGER_HXX
33516 #include <svx/AccessibleShape.hxx>
33517 -#endif
33519 -#ifndef _COM_SUN_STAR_ACCESSIBILITY_XACCESSIBLE_ACTION_HPP_
33520 #include <com/sun/star/accessibility/XAccessibleAction.hpp>
33521 -#endif
33522 #include <com/sun/star/accessibility/XAccessibleEventListener.hpp>
33523 #include <com/sun/star/util/XModeChangeBroadcaster.hpp>
33524 #include <com/sun/star/container/XContainerListener.hpp>
33525 diff --git svx/inc/svx/escherex.hxx svx/inc/svx/escherex.hxx
33526 index d7b7184..6c437cb 100644
33527 --- svx/inc/svx/escherex.hxx
33528 +++ svx/inc/svx/escherex.hxx
33529 @@ -305,6 +305,8 @@
33530 #define ESCHER_ShpInst_ActionButtonMovie 200
33531 #define ESCHER_ShpInst_HostControl 201
33532 #define ESCHER_ShpInst_TextBox 202
33534 +#define ESCHER_ShpInst_COUNT 203
33535 #define ESCHER_ShpInst_Max 0x0FFF
33536 #define ESCHER_ShpInst_Nil ESCHER_ShpInst_Max
33538 @@ -961,10 +963,35 @@ namespace com { namespace sun { namespace star {
33539 struct Gradient;
33541 namespace drawing {
33542 + struct EnhancedCustomShapeAdjustmentValue;
33543 class XShape;
33547 +struct SVX_DLLPUBLIC EscherConnectorListEntry
33549 + ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > mXConnector;
33550 + ::com::sun::star::awt::Point maPointA;
33551 + ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > mXConnectToA;
33552 + ::com::sun::star::awt::Point maPointB;
33553 + ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > mXConnectToB;
33555 + sal_uInt32 GetConnectorRule( sal_Bool bFirst );
33557 + EscherConnectorListEntry( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > & rC,
33558 + const ::com::sun::star::awt::Point& rPA,
33559 + ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > & rSA ,
33560 + const ::com::sun::star::awt::Point& rPB,
33561 + ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > & rSB ) :
33562 + mXConnector ( rC ),
33563 + maPointA ( rPA ),
33564 + mXConnectToA( rSA ),
33565 + maPointB ( rPB ),
33566 + mXConnectToB( rSB ) {}
33568 + sal_uInt32 GetClosestPoint( const Polygon& rPoly, const ::com::sun::star::awt::Point& rP );
33571 struct SVX_DLLPUBLIC EscherExContainer
33573 sal_uInt32 nContPos;
33574 @@ -1109,8 +1136,19 @@ public:
33575 #define ESCHER_CREATEPOLYGON_POLYLINE 2
33576 #define ESCHER_CREATEPOLYGON_POLYPOLYGON 4
33578 -struct EscherPropSortStruct;
33579 class GraphicAttr;
33580 +class SdrObjCustomShape;
33582 +struct EscherPropSortStruct
33584 + sal_uInt8* pBuf;
33585 + sal_uInt32 nPropSize;
33586 + sal_uInt32 nPropValue;
33587 + sal_uInt16 nPropId;
33590 +typedef std::vector< EscherPropSortStruct > EscherProperties;
33592 class SVX_DLLPUBLIC EscherPropertyContainer
33594 EscherGraphicProvider* pGraphicProvider;
33595 @@ -1155,6 +1193,10 @@ class SVX_DLLPUBLIC EscherPropertyContainer
33596 sal_uInt8* pProp, sal_uInt32 nPropSize );
33598 sal_Bool GetOpt( sal_uInt16 nPropertyID, sal_uInt32& rPropValue ) const;
33600 + sal_Bool GetOpt( sal_uInt16 nPropertyID, EscherPropSortStruct& rPropValue ) const;
33602 + EscherProperties GetOpts() const;
33604 void Commit( SvStream& rSt, sal_uInt16 nVersion = 3, sal_uInt16 nRecType = ESCHER_OPT );
33606 @@ -1203,6 +1245,14 @@ class SVX_DLLPUBLIC EscherPropertyContainer
33607 static PolyPolygon GetPolyPolygon( const ::com::sun::star::uno::Any& rSource );
33608 static MSO_SPT GetCustomShapeType( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > & rXShape, sal_uInt32& nMirrorFlags );
33609 static MSO_SPT GetCustomShapeType( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > & rXShape, sal_uInt32& nMirrorFlags, rtl::OUString& rShapeType );
33611 + // helper functions which are also used in ooxml export
33612 + static sal_Bool GetLineArrow( const sal_Bool bLineStart,
33613 + const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > & rXPropSet,
33614 + ESCHER_LineEnd& reLineEnd, sal_Int32& rnArrowLength, sal_Int32& rnArrowWidth );
33615 + static sal_Bool IsDefaultObject( SdrObjCustomShape* pCustoShape );
33616 + static void LookForPolarHandles( const MSO_SPT eShapeType, sal_Int32& nAdjustmentsWhichNeedsToBeConverted );
33617 + static sal_Bool GetAdjustmentValue( const com::sun::star::drawing::EnhancedCustomShapeAdjustmentValue & rkProp, sal_Int32 nIndex, sal_Int32 nAdjustmentsWhichNeedsToBeConverted, sal_Int32& nValue );
33620 // ---------------------------------------------------------------------------------------------
33621 @@ -1357,7 +1407,7 @@ class SVX_DLLPUBLIC EscherEx : public EscherPersistTable, public EscherGraphicPr
33622 BOOL mbOleEmf; // OLE is EMF instead of WMF
33625 - BOOL DoSeek( UINT32 nKey );
33626 + virtual BOOL DoSeek( UINT32 nKey );
33628 public:
33630 @@ -1368,7 +1418,7 @@ class SVX_DLLPUBLIC EscherEx : public EscherPersistTable, public EscherGraphicPr
33631 /// Wenn pPicStreamMergeBSE angegeben ist, werden die BLIPs
33632 /// aus diesem Stream in die MsofbtBSE Records des EscherStream
33633 /// gemerged, wie es fuer Excel (und Word?) benoetigt wird.
33634 - void Flush( SvStream* pPicStreamMergeBSE = NULL );
33635 + virtual void Flush( SvStream* pPicStreamMergeBSE = NULL );
33637 virtual ~EscherEx();
33639 @@ -1379,13 +1429,13 @@ class SVX_DLLPUBLIC EscherEx : public EscherPersistTable, public EscherGraphicPr
33641 void InsertPersistOffset( UINT32 nKey, UINT32 nOffset ); // Es wird nicht geprueft, ob sich jener schluessel schon in der PersistantTable befindet
33642 BOOL SeekToPersistOffset( UINT32 nKey );
33643 - BOOL InsertAtPersistOffset( UINT32 nKey, UINT32 nValue );// nValue wird im Stream an entrsprechender Stelle eingefuegt(overwrite modus), ohne dass sich die
33644 + virtual BOOL InsertAtPersistOffset( UINT32 nKey, UINT32 nValue );// nValue wird im Stream an entrsprechender Stelle eingefuegt(overwrite modus), ohne dass sich die
33645 // aktuelle StreamPosition aendert
33647 SvStream& GetStream() const { return *mpOutStrm; }
33648 ULONG GetStreamPos() const { return mpOutStrm->Tell(); }
33650 - BOOL SeekBehindRecHeader( UINT16 nRecType ); // der stream muss vor einem gueltigen Record Header oder Atom stehen
33651 + virtual BOOL SeekBehindRecHeader( UINT16 nRecType ); // der stream muss vor einem gueltigen Record Header oder Atom stehen
33653 // features beim erzeugen folgender Container:
33655 @@ -1397,23 +1447,26 @@ class SVX_DLLPUBLIC EscherEx : public EscherPersistTable, public EscherGraphicPr
33656 virtual void OpenContainer( UINT16 nEscherContainer, int nRecInstance = 0 );
33657 virtual void CloseContainer();
33659 - void BeginAtom();
33660 - void EndAtom( UINT16 nRecType, int nRecVersion = 0, int nRecInstance = 0 );
33661 - void AddAtom( UINT32 nAtomSitze, UINT16 nRecType, int nRecVersion = 0, int nRecInstance = 0 );
33662 - void AddClientAnchor( const Rectangle& rRectangle );
33663 + virtual void BeginAtom();
33664 + virtual void EndAtom( UINT16 nRecType, int nRecVersion = 0, int nRecInstance = 0 );
33665 + virtual void AddAtom( UINT32 nAtomSitze, UINT16 nRecType, int nRecVersion = 0, int nRecInstance = 0 );
33666 + virtual void AddChildAnchor( const Rectangle& rRectangle );
33667 + virtual void AddClientAnchor( const Rectangle& rRectangle );
33669 - UINT32 EnterGroup( const String& rShapeName, const Rectangle* pBoundRect = 0 );
33670 + virtual UINT32 EnterGroup( const String& rShapeName, const Rectangle* pBoundRect = 0 );
33671 UINT32 EnterGroup( const Rectangle* pBoundRect = NULL );
33672 UINT32 GetGroupLevel() const { return mnGroupLevel; };
33673 - BOOL SetGroupSnapRect( UINT32 nGroupLevel, const Rectangle& rRect );
33674 - BOOL SetGroupLogicRect( UINT32 nGroupLevel, const Rectangle& rRect );
33675 - void LeaveGroup();
33676 + virtual BOOL SetGroupSnapRect( UINT32 nGroupLevel, const Rectangle& rRect );
33677 + virtual BOOL SetGroupLogicRect( UINT32 nGroupLevel, const Rectangle& rRect );
33678 + virtual void LeaveGroup();
33680 // ein ESCHER_Sp wird geschrieben ( Ein ESCHER_DgContainer muss dazu geoeffnet sein !!)
33681 - void AddShape( UINT32 nShpInstance, UINT32 nFlagIds, UINT32 nShapeID = 0 );
33682 + virtual void AddShape( UINT32 nShpInstance, UINT32 nFlagIds, UINT32 nShapeID = 0 );
33683 // reserviert eine ShapeId
33684 UINT32 GetShapeID();
33686 + virtual void Commit( EscherPropertyContainer& rProps, const Rectangle& rRect );
33688 UINT32 GetColor( const UINT32 nColor, BOOL bSwap = TRUE );
33689 UINT32 GetColor( const Color& rColor, BOOL bSwap = TRUE );
33691 diff --git svx/inc/svx/framelink.hxx svx/inc/svx/framelink.hxx
33692 index e626360..2bf5138 100644
33693 --- svx/inc/svx/framelink.hxx
33694 +++ svx/inc/svx/framelink.hxx
33695 @@ -325,7 +325,7 @@ inline double GetVerDiagAngle( const Rectangle& rRect )
33696 @param fAngle
33697 Inner (right) angle between diagonal and horizontal frame border.
33699 -long GetTLDiagOffset( long nVerOffs, long nDiagOffs, double fAngle );
33700 +SVX_DLLPUBLIC long GetTLDiagOffset( long nVerOffs, long nDiagOffs, double fAngle );
33702 /** Returns an X coordinate for a diagonal frame border in the specified height.
33704 @@ -434,7 +434,7 @@ long GetTRDiagOffset( long nVerOffs, long nDiagOffs, double fAngle );
33705 True, if rLBorder and rRBorder can be drawn in one step without
33706 interruption at their connection point.
33708 -bool CheckFrameBorderConnectable(
33709 +SVX_DLLPUBLIC bool CheckFrameBorderConnectable(
33710 const Style& rLBorder, /// Style of the left frame border to connect.
33711 const Style& rRBorder, /// Style of the right frame border to connect.
33713 @@ -486,7 +486,7 @@ bool CheckFrameBorderConnectable(
33714 | \ / |
33715 rLFromB \ / rRFromB
33717 -void DrawHorFrameBorder(
33718 +SVX_DLLPUBLIC void DrawHorFrameBorder(
33719 OutputDevice& rDev, /// The output device used to draw the frame border.
33721 const Point& rLPos, /// Reference point for left end of the processed frame border.
33722 @@ -603,7 +603,7 @@ void SVX_DLLPUBLIC DrawHorFrameBorder(
33723 rBFromB
33726 -void DrawVerFrameBorder(
33727 +SVX_DLLPUBLIC void DrawVerFrameBorder(
33728 OutputDevice& rDev, /// The output device used to draw the frame border.
33730 const Point& rTPos, /// Reference point for top end of the processed frame border.
33731 @@ -698,7 +698,7 @@ void SVX_DLLPUBLIC DrawVerFrameBorderSlanted(
33733 The function preserves all settings of the passed output device.
33735 -void DrawDiagFrameBorders(
33736 +SVX_DLLPUBLIC void DrawDiagFrameBorders(
33737 OutputDevice& rDev, /// The output device used to draw the frame border.
33739 const Rectangle& rRect, /// Rectangle for both diagonal frame borders.
33740 diff --git svx/inc/svx/msdffimp.hxx svx/inc/svx/msdffimp.hxx
33741 index 2b42844..781202a 100644
33742 --- svx/inc/svx/msdffimp.hxx
33743 +++ svx/inc/svx/msdffimp.hxx
33744 @@ -36,9 +36,7 @@
33745 #include <tools/solar.h> // UINTXX
33746 #include <svtools/svarray.hxx>
33748 -#ifndef _SV_COLOR_HXX //autogen
33749 #include <tools/color.hxx>
33750 -#endif
33751 #include <tools/gen.hxx>
33752 #include <tools/table.hxx>
33753 #include <svx/msdffdef.hxx>
33754 @@ -48,7 +46,7 @@
33756 #include <map>
33757 #include <com/sun/star/beans/XPropertySet.hpp>
33758 -#include "svx/svxdllapi.h"
33759 +#include <svx/svxdllapi.h>
33761 #include <sot/storage.hxx>
33763 diff --git svx/inc/svx/obj3d.hxx svx/inc/svx/obj3d.hxx
33764 index 3b218ef..27dfc81 100644
33765 --- svx/inc/svx/obj3d.hxx
33766 +++ svx/inc/svx/obj3d.hxx
33767 @@ -92,8 +92,8 @@ class E3dObjList : public SdrObjList
33768 public:
33769 TYPEINFO();
33770 E3dObjList(SdrModel* pNewModel = 0, SdrPage* pNewPage = 0, E3dObjList* pNewUpList = 0);
33771 - E3dObjList(const E3dObjList& rSrcList);
33772 - virtual ~E3dObjList();
33773 + SVX_DLLPUBLIC E3dObjList(const E3dObjList& rSrcList);
33774 + SVX_DLLPUBLIC virtual ~E3dObjList();
33776 virtual void NbcInsertObject(SdrObject* pObj, ULONG nPos=CONTAINER_APPEND, const SdrInsertReason* pReason=NULL);
33777 virtual void InsertObject(SdrObject* pObj, ULONG nPos=CONTAINER_APPEND, const SdrInsertReason* pReason=NULL);
33778 diff --git svx/inc/svx/sdasaitm.hxx svx/inc/svx/sdasaitm.hxx
33779 index e3950a9..fa0c69b 100644
33780 --- svx/inc/svx/sdasaitm.hxx
33781 +++ svx/inc/svx/sdasaitm.hxx
33782 @@ -54,9 +54,9 @@ class SdrCustomShapeAdjustmentItem : public SfxPoolItem
33783 public :
33785 TYPEINFO();
33786 - SdrCustomShapeAdjustmentItem();
33787 + SVX_DLLPUBLIC SdrCustomShapeAdjustmentItem();
33788 SdrCustomShapeAdjustmentItem( SvStream& rIn, sal_uInt16 nVersion );
33789 - ~SdrCustomShapeAdjustmentItem();
33790 + SVX_DLLPUBLIC ~SdrCustomShapeAdjustmentItem();
33792 virtual int operator==( const SfxPoolItem& ) const;
33793 virtual SfxItemPresentation GetPresentation(SfxItemPresentation ePresentation,
33794 @@ -76,8 +76,8 @@ class SdrCustomShapeAdjustmentItem : public SfxPoolItem
33795 #endif
33797 sal_uInt32 GetCount() const { return aAdjustmentValueList.Count(); };
33798 - const SdrCustomShapeAdjustmentValue& GetValue( sal_uInt32 nIndex ) const;
33799 - void SetValue( sal_uInt32 nIndex,
33800 + SVX_DLLPUBLIC const SdrCustomShapeAdjustmentValue& GetValue( sal_uInt32 nIndex ) const;
33801 + SVX_DLLPUBLIC void SetValue( sal_uInt32 nIndex,
33802 const SdrCustomShapeAdjustmentValue& rVal );
33805 diff --git svx/inc/svx/sdgcpitm.hxx svx/inc/svx/sdgcpitm.hxx
33806 index 041cfbd..7b8043c 100644
33807 --- svx/inc/svx/sdgcpitm.hxx
33808 +++ svx/inc/svx/sdgcpitm.hxx
33809 @@ -38,7 +38,7 @@
33810 // SdrGrafCropItem -
33811 //------------------
33813 -class SdrGrafCropItem : public SvxGrfCrop
33814 +class SVX_DLLPUBLIC SdrGrafCropItem : public SvxGrfCrop
33816 public:
33818 diff --git svx/inc/svx/sdr/animation/objectanimator.hxx svx/inc/svx/sdr/animation/objectanimator.hxx
33819 index ad08f72..d222271 100644
33820 --- svx/inc/svx/sdr/animation/objectanimator.hxx
33821 +++ svx/inc/svx/sdr/animation/objectanimator.hxx
33822 @@ -48,7 +48,7 @@ namespace sdr
33823 public:
33824 // basic constructor and destructor
33825 primitiveAnimator();
33826 - virtual ~primitiveAnimator();
33827 + SVX_DLLPUBLIC virtual ~primitiveAnimator();
33829 } // end of namespace animation
33830 } // end of namespace sdr
33831 diff --git svx/inc/svx/sdr/animation/scheduler.hxx svx/inc/svx/sdr/animation/scheduler.hxx
33832 index f51379e..79104cb 100644
33833 --- svx/inc/svx/sdr/animation/scheduler.hxx
33834 +++ svx/inc/svx/sdr/animation/scheduler.hxx
33835 @@ -33,6 +33,7 @@
33837 #include <sal/types.h>
33838 #include <vcl/timer.hxx>
33839 +#include <svx/svxdllapi.h>
33841 //////////////////////////////////////////////////////////////////////////////
33842 // event class
33843 @@ -52,7 +53,7 @@ namespace sdr
33844 public:
33845 // constructor/destructor
33846 Event(sal_uInt32 nTime);
33847 - virtual ~Event();
33848 + SVX_DLLPUBLIC virtual ~Event();
33850 // access to mpNext
33851 Event* GetNext() const;
33852 @@ -83,7 +84,7 @@ namespace sdr
33853 public:
33854 // constructor/destructor
33855 EventList();
33856 - virtual ~EventList();
33857 + SVX_DLLPUBLIC virtual ~EventList();
33859 // insert/remove time dependent
33860 void Insert(Event* pNew);
33861 @@ -123,10 +124,10 @@ namespace sdr
33862 public:
33863 // constructor/destructor
33864 Scheduler();
33865 - virtual ~Scheduler();
33866 + SVX_DLLPUBLIC virtual ~Scheduler();
33868 // From baseclass Timer, the timeout call
33869 - virtual void Timeout();
33870 + SVX_DLLPUBLIC virtual void Timeout();
33872 // get time
33873 sal_uInt32 GetTime();
33874 diff --git svx/inc/svx/sdr/primitive2d/primitiveFactory2d.hxx svx/inc/svx/sdr/primitive2d/primitiveFactory2d.hxx
33875 index 757b5f1..cdd3d62 100644
33876 --- svx/inc/svx/sdr/primitive2d/primitiveFactory2d.hxx
33877 +++ svx/inc/svx/sdr/primitive2d/primitiveFactory2d.hxx
33878 @@ -36,6 +36,8 @@
33879 #include <cppuhelper/compbase1.hxx>
33880 #include <comphelper/broadcasthelper.hxx>
33882 +#include <svx/svxdllapi.h>
33884 //////////////////////////////////////////////////////////////////////////////
33885 // UNO API helper methods
33887 @@ -43,7 +45,7 @@ namespace drawinglayer
33889 namespace primitive2d
33891 - ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL XPrimitiveFactory2DProvider_createInstance(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > & rSMgr) throw( ::com::sun::star::uno::Exception );
33892 + SVX_DLLPUBLIC ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL XPrimitiveFactory2DProvider_createInstance(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > & rSMgr) throw( ::com::sun::star::uno::Exception );
33893 } // end of namespace primitive2d
33894 } // end of namespace drawinglayer
33896 @@ -73,8 +75,8 @@ namespace drawinglayer
33897 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::graphic::XPrimitive2D > > SAL_CALL createPrimitivesFromXDrawPage( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage >& xDrawPage, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aParms ) throw (::com::sun::star::uno::RuntimeException);
33899 // UNO API helpers
33900 - static rtl::OUString getImplementationName_Static();
33901 - static com::sun::star::uno::Sequence< rtl::OUString > getSupportedServiceNames_Static();
33902 + SVX_DLLPUBLIC static rtl::OUString getImplementationName_Static();
33903 + SVX_DLLPUBLIC static com::sun::star::uno::Sequence< rtl::OUString > getSupportedServiceNames_Static();
33905 } // end of namespace primitive2d
33906 } // end of namespace drawinglayer
33907 diff --git svx/inc/svx/sdtfchim.hxx svx/inc/svx/sdtfchim.hxx
33908 index bda0890..a1c912b 100644
33909 --- svx/inc/svx/sdtfchim.hxx
33910 +++ svx/inc/svx/sdtfchim.hxx
33911 @@ -37,7 +37,7 @@ class SdrTextFixedCellHeightItem : public SfxBoolItem
33912 public:
33914 TYPEINFO();
33915 - SdrTextFixedCellHeightItem( BOOL bUseFixedCellHeight = FALSE );
33916 + SVX_DLLPUBLIC SdrTextFixedCellHeightItem( BOOL bUseFixedCellHeight = FALSE );
33917 SdrTextFixedCellHeightItem( SvStream & rStream, sal_uInt16 nVersion );
33919 virtual SfxItemPresentation GetPresentation(SfxItemPresentation ePresentation,
33920 diff --git svx/inc/svx/svdetc.hxx svx/inc/svx/svdetc.hxx
33921 index ef2b48b..1f2c461 100644
33922 --- svx/inc/svx/svdetc.hxx
33923 +++ svx/inc/svx/svdetc.hxx
33924 @@ -81,7 +81,7 @@ friend class SdrAttrObj;
33925 Fraction aMapFraction;
33927 private:
33928 - SVX_DLLPRIVATE static SdrEngineDefaults& GetDefaults();
33929 + static SdrEngineDefaults& GetDefaults();
33931 public:
33932 SdrEngineDefaults();
33933 @@ -272,7 +272,7 @@ protected:
33934 public:
33935 SdrLinkList(): aList(1024,4,4) {}
33936 ~SdrLinkList() { Clear(); }
33937 - void Clear();
33938 + SVX_DLLPUBLIC void Clear();
33939 unsigned GetLinkCount() const { return (unsigned)aList.Count(); }
33940 Link& GetLink(unsigned nNum) { return *((Link*)(aList.GetObject(nNum))); }
33941 const Link& GetLink(unsigned nNum) const { return *((Link*)(aList.GetObject(nNum))); }
33942 @@ -299,7 +299,7 @@ class OLEObjCache : public Container
33944 public:
33945 OLEObjCache();
33946 - ~OLEObjCache();
33947 + SVX_DLLPUBLIC ~OLEObjCache();
33949 void SetSize(ULONG nNewSize);
33950 void InsertObj(SdrOle2Obj* pObj);
33951 diff --git svx/inc/svx/svdmodel.hxx svx/inc/svx/svdmodel.hxx
33952 index 959ccdc..c1741d3 100644
33953 --- svx/inc/svx/svdmodel.hxx
33954 +++ svx/inc/svx/svdmodel.hxx
33955 @@ -688,7 +688,7 @@ public:
33956 void SetModelStorage( SotStorage* pStor ) { pModelStorage = pStor; }
33958 ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > getUnoModel();
33959 - void setUnoModel( ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > xModel ) { mxUnoModel = xModel; }
33960 + void setUnoModel( ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > xModel );
33962 // these functions are used by the api to disable repaints during a
33963 // set of api calls.
33964 diff --git svx/inc/svx/svdoashp.hxx svx/inc/svx/svdoashp.hxx
33965 index 9a24cf4..10b5103 100644
33966 --- svx/inc/svx/svdoashp.hxx
33967 +++ svx/inc/svx/svdoashp.hxx
33968 @@ -105,7 +105,7 @@ private:
33969 // #i37011# render geometry shadow
33970 SdrObject* mpLastShadowGeometry;
33972 - static SVX_DLLPRIVATE com::sun::star::uno::Reference< com::sun::star::drawing::XCustomShapeEngine > GetCustomShapeEngine( const SdrObjCustomShape* pCustomShape );
33973 + static com::sun::star::uno::Reference< com::sun::star::drawing::XCustomShapeEngine > GetCustomShapeEngine( const SdrObjCustomShape* pCustomShape );
33975 // SVX_DLLPRIVATE com::sun::star::uno::Sequence< com::sun::star::uno::Reference< com::sun::star::drawing::XCustomShapeHandle > >
33976 // SdrObjCustomShape::GetInteraction( const SdrObjCustomShape* pCustomShape ) const;
33977 @@ -134,7 +134,7 @@ public:
33978 const SdrObject* GetSdrObjectShadowFromCustomShape() const;
33979 sal_Bool GetTextBounds( Rectangle& rTextBound ) const;
33980 sal_Bool IsTextPath() const;
33981 - static SVX_DLLPRIVATE basegfx::B2DPolyPolygon GetLineGeometry( const SdrObjCustomShape* pCustomShape, const sal_Bool bBezierAllowed );
33982 + static basegfx::B2DPolyPolygon GetLineGeometry( const SdrObjCustomShape* pCustomShape, const sal_Bool bBezierAllowed );
33984 protected:
33986 diff --git svx/inc/svx/svdoedge.hxx svx/inc/svx/svdoedge.hxx
33987 index 352befd..4947307 100644
33988 --- svx/inc/svx/svdoedge.hxx
33989 +++ svx/inc/svx/svdoedge.hxx
33990 @@ -73,7 +73,7 @@ protected:
33992 public:
33993 SdrObjConnection() { ResetVars(); }
33994 - ~SdrObjConnection();
33995 + SVX_DLLPUBLIC ~SdrObjConnection();
33997 void ResetVars();
33998 FASTBOOL TakeGluePoint(SdrGluePoint& rGP, FASTBOOL bSetAbsolutePos) const;
33999 diff --git svx/inc/svx/svdotext.hxx svx/inc/svx/svdotext.hxx
34000 index 18c4a42..ea2588a 100644
34001 --- svx/inc/svx/svdotext.hxx
34002 +++ svx/inc/svx/svdotext.hxx
34003 @@ -263,7 +263,7 @@ protected:
34004 // flag for preventing recursive onEditOutlinerStatusEvent calls
34005 BOOL mbInDownScale : 1;
34007 - SVX_DLLPRIVATE SdrOutliner& ImpGetDrawOutliner() const;
34008 + SdrOutliner& ImpGetDrawOutliner() const;
34010 private:
34011 SVX_DLLPRIVATE void ImpCheckMasterCachable();
34012 diff --git svx/inc/svx/svdpntv.hxx svx/inc/svx/svdpntv.hxx
34013 index c295be3..ba64d65 100644
34014 --- svx/inc/svx/svdpntv.hxx
34015 +++ svx/inc/svx/svdpntv.hxx
34016 @@ -109,7 +109,7 @@ namespace sdr
34017 ////////////////////////////////////////////////////////////////////////////////////////////////////
34020 -class SvxViewHint : public SfxHint
34021 +class SVX_DLLPUBLIC SvxViewHint : public SfxHint
34023 public:
34024 enum HintType { SVX_HINT_VIEWCHANGED };
34025 diff --git svx/inc/svx/svdundo.hxx svx/inc/svx/svdundo.hxx
34026 index 0ec1e0c..2ec497b 100644
34027 --- svx/inc/svx/svdundo.hxx
34028 +++ svx/inc/svx/svdundo.hxx
34029 @@ -754,7 +754,7 @@ protected:
34030 SdrUndoPageMasterPage(SdrPage& rChangedPage);
34032 public:
34033 - virtual ~SdrUndoPageMasterPage();
34034 + SVX_DLLPUBLIC virtual ~SdrUndoPageMasterPage();
34037 //************************************************************
34038 diff --git svx/inc/svx/svx3ditems.hxx svx/inc/svx/svx3ditems.hxx
34039 index e003557..743ea3a 100644
34040 --- svx/inc/svx/svx3ditems.hxx
34041 +++ svx/inc/svx/svx3ditems.hxx
34042 @@ -48,12 +48,12 @@ public:
34044 class Svx3DBackscaleItem : public SfxUInt16Item {
34045 public:
34046 - Svx3DBackscaleItem(sal_uInt16 nVal = 100);
34047 + SVX_DLLPUBLIC Svx3DBackscaleItem(sal_uInt16 nVal = 100);
34050 class Svx3DDepthItem : public SfxUInt32Item {
34051 public:
34052 - Svx3DDepthItem(sal_uInt32 nVal = 1000);
34053 + SVX_DLLPUBLIC Svx3DDepthItem(sal_uInt32 nVal = 1000);
34056 class SVX_DLLPUBLIC Svx3DHorizontalSegmentsItem : public SfxUInt32Item {
34057 @@ -63,12 +63,12 @@ public:
34059 class Svx3DVerticalSegmentsItem : public SfxUInt32Item {
34060 public:
34061 - Svx3DVerticalSegmentsItem(sal_uInt32 nVal = 24);
34062 + SVX_DLLPUBLIC Svx3DVerticalSegmentsItem(sal_uInt32 nVal = 24);
34065 class Svx3DEndAngleItem : public SfxUInt32Item {
34066 public:
34067 - Svx3DEndAngleItem(sal_uInt32 nVal = 3600);
34068 + SVX_DLLPUBLIC Svx3DEndAngleItem(sal_uInt32 nVal = 3600);
34071 class SVX_DLLPUBLIC Svx3DDoubleSidedItem : public SfxBoolItem {
34072 @@ -85,29 +85,29 @@ public:
34073 virtual sal_uInt16 GetVersion(sal_uInt16 nFileFormatVersion) const;
34076 -class Svx3DNormalsKindItem : public SfxUInt16Item {
34077 +class SVX_DLLPUBLIC Svx3DNormalsKindItem : public SfxUInt16Item {
34078 public:
34079 Svx3DNormalsKindItem(sal_uInt16 nVal = 0);
34081 // use drawing::NormalsKind
34082 - virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
34083 - virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
34084 - virtual SfxPoolItem* Clone(SfxItemPool* pPool = NULL) const;
34085 + SVX_DLLPRIVATE virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
34086 + SVX_DLLPRIVATE virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
34087 + SVX_DLLPRIVATE virtual SfxPoolItem* Clone(SfxItemPool* pPool = NULL) const;
34090 class Svx3DNormalsInvertItem : public SfxBoolItem {
34091 public:
34092 - Svx3DNormalsInvertItem(BOOL bVal = 0);
34093 + SVX_DLLPUBLIC Svx3DNormalsInvertItem(BOOL bVal = 0);
34096 -class Svx3DTextureProjectionXItem : public SfxUInt16Item {
34097 +class SVX_DLLPUBLIC Svx3DTextureProjectionXItem : public SfxUInt16Item {
34098 public:
34099 Svx3DTextureProjectionXItem(sal_uInt16 nVal = 0);
34101 // use drawing::TextureProjectionMode
34102 - virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
34103 - virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
34104 - virtual SfxPoolItem* Clone(SfxItemPool* pPool = NULL) const;
34105 + SVX_DLLPRIVATE virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
34106 + SVX_DLLPRIVATE virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
34107 + SVX_DLLPRIVATE virtual SfxPoolItem* Clone(SfxItemPool* pPool = NULL) const;
34110 class SVX_DLLPUBLIC Svx3DTextureProjectionYItem : public SfxUInt16Item {
34111 @@ -122,7 +122,7 @@ public:
34113 class Svx3DShadow3DItem : public SfxBoolItem {
34114 public:
34115 - Svx3DShadow3DItem(BOOL bVal = 0);
34116 + SVX_DLLPUBLIC Svx3DShadow3DItem(BOOL bVal = 0);
34119 class Svx3DMaterialColorItem : public SvxColorItem {
34120 @@ -132,68 +132,68 @@ public:
34122 class Svx3DMaterialEmissionItem : public SvxColorItem {
34123 public:
34124 - Svx3DMaterialEmissionItem(const Color& rCol = Color(0x00000000));
34125 + SVX_DLLPUBLIC Svx3DMaterialEmissionItem(const Color& rCol = Color(0x00000000));
34128 class Svx3DMaterialSpecularItem : public SvxColorItem {
34129 public:
34130 - Svx3DMaterialSpecularItem(const Color& rCol = Color(0x00ffffff));
34131 + SVX_DLLPUBLIC Svx3DMaterialSpecularItem(const Color& rCol = Color(0x00ffffff));
34134 class Svx3DMaterialSpecularIntensityItem : public SfxUInt16Item {
34135 public:
34136 - Svx3DMaterialSpecularIntensityItem(sal_uInt16 nVal = 15);
34137 + SVX_DLLPUBLIC Svx3DMaterialSpecularIntensityItem(sal_uInt16 nVal = 15);
34140 -class Svx3DTextureKindItem : public SfxUInt16Item {
34141 +class SVX_DLLPUBLIC Svx3DTextureKindItem : public SfxUInt16Item {
34142 public:
34143 Svx3DTextureKindItem(sal_uInt16 nVal = 3);
34145 // use drawing::TextureKind
34146 - virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
34147 - virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
34148 - virtual SfxPoolItem* Clone(SfxItemPool* pPool = NULL) const;
34149 + SVX_DLLPRIVATE virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
34150 + SVX_DLLPRIVATE virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
34151 + SVX_DLLPRIVATE virtual SfxPoolItem* Clone(SfxItemPool* pPool = NULL) const;
34154 -class Svx3DTextureModeItem : public SfxUInt16Item {
34155 +class SVX_DLLPUBLIC Svx3DTextureModeItem : public SfxUInt16Item {
34156 public:
34157 Svx3DTextureModeItem(sal_uInt16 nVal = 2);
34159 // use drawing:TextureMode
34160 - virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
34161 - virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
34162 - virtual SfxPoolItem* Clone(SfxItemPool* pPool = NULL) const;
34163 + SVX_DLLPRIVATE virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
34164 + SVX_DLLPRIVATE virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
34165 + SVX_DLLPRIVATE virtual SfxPoolItem* Clone(SfxItemPool* pPool = NULL) const;
34168 class Svx3DTextureFilterItem : public SfxBoolItem {
34169 public:
34170 - Svx3DTextureFilterItem(BOOL bVal = 0);
34171 + SVX_DLLPUBLIC Svx3DTextureFilterItem(BOOL bVal = 0);
34174 // Svx3D _3DSCENE_ Items
34175 -class Svx3DPerspectiveItem : public SfxUInt16Item {
34176 +class SVX_DLLPUBLIC Svx3DPerspectiveItem : public SfxUInt16Item {
34177 public:
34178 Svx3DPerspectiveItem(sal_uInt16 nVal = (sal_uInt16)PR_PERSPECTIVE);
34180 // use drawing::ProjectionMode
34181 - virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
34182 - virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
34183 - virtual SfxPoolItem* Clone(SfxItemPool* pPool = NULL) const;
34184 + SVX_DLLPRIVATE virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
34185 + SVX_DLLPRIVATE virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
34186 + SVX_DLLPRIVATE virtual SfxPoolItem* Clone(SfxItemPool* pPool = NULL) const;
34189 class Svx3DDistanceItem : public SfxUInt32Item {
34190 public:
34191 - Svx3DDistanceItem(sal_uInt32 nVal = 100);
34192 + SVX_DLLPUBLIC Svx3DDistanceItem(sal_uInt32 nVal = 100);
34195 class Svx3DFocalLengthItem : public SfxUInt32Item {
34196 public:
34197 - Svx3DFocalLengthItem(sal_uInt32 nVal = 100);
34198 + SVX_DLLPUBLIC Svx3DFocalLengthItem(sal_uInt32 nVal = 100);
34201 class Svx3DTwoSidedLightingItem : public SfxBoolItem {
34202 public:
34203 - Svx3DTwoSidedLightingItem(BOOL bVal = 0);
34204 + SVX_DLLPUBLIC Svx3DTwoSidedLightingItem(BOOL bVal = 0);
34207 class SVX_DLLPUBLIC Svx3DLightcolor1Item : public SvxColorItem {
34208 @@ -323,17 +323,17 @@ public:
34210 class Svx3DShadowSlantItem : public SfxUInt16Item {
34211 public:
34212 - Svx3DShadowSlantItem(sal_uInt16 nVal = 0);
34213 + SVX_DLLPUBLIC Svx3DShadowSlantItem(sal_uInt16 nVal = 0);
34216 -class Svx3DShadeModeItem : public SfxUInt16Item {
34217 +class SVX_DLLPUBLIC Svx3DShadeModeItem : public SfxUInt16Item {
34218 public:
34219 Svx3DShadeModeItem(sal_uInt16 nVal = 2);
34221 // use drawing::ShadeMode
34222 - virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
34223 - virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
34224 - virtual SfxPoolItem* Clone(SfxItemPool* pPool = NULL) const;
34225 + SVX_DLLPRIVATE virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 ) const;
34226 + SVX_DLLPRIVATE virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, BYTE nMemberId = 0 );
34227 + SVX_DLLPRIVATE virtual SfxPoolItem* Clone(SfxItemPool* pPool = NULL) const;
34230 //////////////////////////////////////////////////////////////////////////////
34231 @@ -362,19 +362,19 @@ public:
34234 // #107245# Item to replace bExtrudeCloseFront and bLatheCloseFront
34235 -class Svx3DCloseFrontItem : public SfxBoolItem {
34236 +class SVX_DLLPUBLIC Svx3DCloseFrontItem : public SfxBoolItem {
34237 public:
34238 Svx3DCloseFrontItem(BOOL bVal = 1);
34239 - virtual SfxPoolItem* Create(SvStream& rIn, sal_uInt16 nItemVersion) const;
34240 - virtual sal_uInt16 GetVersion(sal_uInt16 nFileFormatVersion) const;
34241 + SVX_DLLPRIVATE virtual SfxPoolItem* Create(SvStream& rIn, sal_uInt16 nItemVersion) const;
34242 + SVX_DLLPRIVATE virtual sal_uInt16 GetVersion(sal_uInt16 nFileFormatVersion) const;
34245 // #107245# Item to replace bExtrudeCloseBack and bLatheCloseBack
34246 -class Svx3DCloseBackItem : public SfxBoolItem {
34247 +class SVX_DLLPUBLIC Svx3DCloseBackItem : public SfxBoolItem {
34248 public:
34249 Svx3DCloseBackItem(BOOL bVal = 1);
34250 - virtual SfxPoolItem* Create(SvStream& rIn, sal_uInt16 nItemVersion) const;
34251 - virtual sal_uInt16 GetVersion(sal_uInt16 nFileFormatVersion) const;
34252 + SVX_DLLPRIVATE virtual SfxPoolItem* Create(SvStream& rIn, sal_uInt16 nItemVersion) const;
34253 + SVX_DLLPRIVATE virtual sal_uInt16 GetVersion(sal_uInt16 nFileFormatVersion) const;
34256 #endif // _SVX3DITEMS_HXX
34257 diff --git svx/inc/svx/sxfiitm.hxx svx/inc/svx/sxfiitm.hxx
34258 index 703c24f..45d4f68 100644
34259 --- svx/inc/svx/sxfiitm.hxx
34260 +++ svx/inc/svx/sxfiitm.hxx
34261 @@ -40,7 +40,7 @@
34262 class SdrFractionItem: public SfxPoolItem {
34263 Fraction nValue;
34264 public:
34265 - TYPEINFO();
34266 + TYPEINFO_VISIBILITY( SVX_DLLPUBLIC );
34267 SdrFractionItem(USHORT nId=0): SfxPoolItem(nId) {}
34268 SdrFractionItem(USHORT nId, const Fraction& rVal): SfxPoolItem(nId), nValue(rVal) {}
34269 SdrFractionItem(USHORT nId, SvStream& rIn);
34270 diff --git svx/inc/svx/unoprov.hxx svx/inc/svx/unoprov.hxx
34271 index bafc403..0dd07ba 100644
34272 --- svx/inc/svx/unoprov.hxx
34273 +++ svx/inc/svx/unoprov.hxx
34274 @@ -161,7 +161,7 @@ namespace comphelper { class PropertySetInfo; }
34275 class SvxPropertySetInfoPool
34277 public:
34278 - static comphelper::PropertySetInfo* getOrCreate( sal_Int32 nServiceId ) throw();
34279 + SVX_DLLPUBLIC static comphelper::PropertySetInfo* getOrCreate( sal_Int32 nServiceId ) throw();
34281 private:
34282 static comphelper::PropertySetInfo* mpInfos[SVXUNO_SERVICEID_LASTID+1];
34283 diff --git svx/inc/svx/unotext.hxx svx/inc/svx/unotext.hxx
34284 index b1ed690..8f4d716 100644
34285 --- svx/inc/svx/unotext.hxx
34286 +++ svx/inc/svx/unotext.hxx
34287 @@ -664,7 +664,7 @@ public:
34291 -const SfxItemPropertyMap* ImplGetSvxUnoOutlinerTextCursorPropertyMap();
34292 -const SfxItemPropertyMap* ImplGetSvxTextPortionPropertyMap();
34293 +SVX_DLLPUBLIC const SfxItemPropertyMap* ImplGetSvxUnoOutlinerTextCursorPropertyMap();
34294 +SVX_DLLPUBLIC const SfxItemPropertyMap* ImplGetSvxTextPortionPropertyMap();
34296 #endif
34297 diff --git svx/inc/svx/xflbckit.hxx svx/inc/svx/xflbckit.hxx
34298 index d541450..3b644e4 100644
34299 --- svx/inc/svx/xflbckit.hxx
34300 +++ svx/inc/svx/xflbckit.hxx
34301 @@ -46,7 +46,7 @@ class XFillBackgroundItem : public SfxBoolItem
34302 public:
34303 TYPEINFO();
34305 - XFillBackgroundItem( BOOL bFill = FALSE );
34306 + SVX_DLLPUBLIC XFillBackgroundItem( BOOL bFill = FALSE );
34307 XFillBackgroundItem( SvStream& rIn );
34310 diff --git svx/inc/svx/xflbmpit.hxx svx/inc/svx/xflbmpit.hxx
34311 index 495cde4..950c629 100644
34312 --- svx/inc/svx/xflbmpit.hxx
34313 +++ svx/inc/svx/xflbmpit.hxx
34314 @@ -43,7 +43,7 @@ class XFillBmpPosItem : public SfxEnumItem
34316 public:
34317 TYPEINFO();
34318 - XFillBmpPosItem( RECT_POINT eRP = RP_MM );
34319 + SVX_DLLPUBLIC XFillBmpPosItem( RECT_POINT eRP = RP_MM );
34320 XFillBmpPosItem( SvStream& rIn );
34322 virtual SfxPoolItem* Clone( SfxItemPool* pPool = 0 ) const;
34323 diff --git svx/inc/svx/xflbmsli.hxx svx/inc/svx/xflbmsli.hxx
34324 index 0575203..fdf941d 100644
34325 --- svx/inc/svx/xflbmsli.hxx
34326 +++ svx/inc/svx/xflbmsli.hxx
34327 @@ -43,7 +43,7 @@ class XFillBmpSizeLogItem : public SfxBoolItem
34329 public:
34330 TYPEINFO();
34331 - XFillBmpSizeLogItem( BOOL bLog = TRUE );
34332 + SVX_DLLPUBLIC XFillBmpSizeLogItem( BOOL bLog = TRUE );
34333 XFillBmpSizeLogItem( SvStream& rIn );
34335 virtual SfxPoolItem* Clone( SfxItemPool* pPool = 0 ) const;
34336 diff --git svx/inc/svx/xflbmsxy.hxx svx/inc/svx/xflbmsxy.hxx
34337 index b4404f8..39f1f67 100644
34338 --- svx/inc/svx/xflbmsxy.hxx
34339 +++ svx/inc/svx/xflbmsxy.hxx
34340 @@ -43,7 +43,7 @@ class XFillBmpSizeXItem : public SfxMetricItem
34342 public:
34343 TYPEINFO();
34344 - XFillBmpSizeXItem( long nSizeX = 0 );
34345 + SVX_DLLPUBLIC XFillBmpSizeXItem( long nSizeX = 0 );
34346 XFillBmpSizeXItem( SvStream& rIn );
34348 virtual SfxPoolItem* Clone( SfxItemPool* pPool = 0 ) const;
34349 @@ -70,7 +70,7 @@ class XFillBmpSizeYItem : public SfxMetricItem
34351 public:
34352 TYPEINFO();
34353 - XFillBmpSizeYItem( long nSizeY = 0 );
34354 + SVX_DLLPUBLIC XFillBmpSizeYItem( long nSizeY = 0 );
34355 XFillBmpSizeYItem( SvStream& rIn );
34357 virtual SfxPoolItem* Clone( SfxItemPool* pPool = 0 ) const;
34358 diff --git svx/inc/svx/xflboxy.hxx svx/inc/svx/xflboxy.hxx
34359 index a2116f3..d6c8f7d 100644
34360 --- svx/inc/svx/xflboxy.hxx
34361 +++ svx/inc/svx/xflboxy.hxx
34362 @@ -43,7 +43,7 @@ class XFillBmpPosOffsetXItem : public SfxUInt16Item
34364 public:
34365 TYPEINFO();
34366 - XFillBmpPosOffsetXItem( USHORT nOffPosX = 0 );
34367 + SVX_DLLPUBLIC XFillBmpPosOffsetXItem( USHORT nOffPosX = 0 );
34368 XFillBmpPosOffsetXItem( SvStream& rIn );
34370 virtual SfxPoolItem* Clone( SfxItemPool* pPool = 0 ) const;
34371 @@ -66,7 +66,7 @@ class XFillBmpPosOffsetYItem : public SfxUInt16Item
34373 public:
34374 TYPEINFO();
34375 - XFillBmpPosOffsetYItem( USHORT nOffPosY = 0 );
34376 + SVX_DLLPUBLIC XFillBmpPosOffsetYItem( USHORT nOffPosY = 0 );
34377 XFillBmpPosOffsetYItem( SvStream& rIn );
34379 virtual SfxPoolItem* Clone( SfxItemPool* pPool = 0 ) const;
34380 diff --git svx/inc/svx/xflbtoxy.hxx svx/inc/svx/xflbtoxy.hxx
34381 index 336bb87..0830015 100644
34382 --- svx/inc/svx/xflbtoxy.hxx
34383 +++ svx/inc/svx/xflbtoxy.hxx
34384 @@ -43,7 +43,7 @@ class XFillBmpTileOffsetXItem : public SfxUInt16Item
34386 public:
34387 TYPEINFO();
34388 - XFillBmpTileOffsetXItem( USHORT nOffX = 0 );
34389 + SVX_DLLPUBLIC XFillBmpTileOffsetXItem( USHORT nOffX = 0 );
34390 XFillBmpTileOffsetXItem( SvStream& rIn );
34392 virtual SfxPoolItem* Clone( SfxItemPool* pPool = 0 ) const;
34393 @@ -66,7 +66,7 @@ class XFillBmpTileOffsetYItem : public SfxUInt16Item
34395 public:
34396 TYPEINFO();
34397 - XFillBmpTileOffsetYItem( USHORT nOffX = 0 );
34398 + SVX_DLLPUBLIC XFillBmpTileOffsetYItem( USHORT nOffX = 0 );
34399 XFillBmpTileOffsetYItem( SvStream& rIn );
34401 virtual SfxPoolItem* Clone( SfxItemPool* pPool = 0 ) const;
34402 diff --git svx/inc/svx/xsflclit.hxx svx/inc/svx/xsflclit.hxx
34403 index 788950c..ff9aba2 100644
34404 --- svx/inc/svx/xsflclit.hxx
34405 +++ svx/inc/svx/xsflclit.hxx
34406 @@ -42,7 +42,7 @@ public:
34407 TYPEINFO();
34408 XSecondaryFillColorItem() {}
34409 XSecondaryFillColorItem(long nIndex, const Color& rTheColor);
34410 - XSecondaryFillColorItem(const String& rName, const Color& rTheColor);
34411 + SVX_DLLPUBLIC XSecondaryFillColorItem(const String& rName, const Color& rTheColor);
34412 XSecondaryFillColorItem(SvStream& rIn);
34414 virtual SfxPoolItem* Clone(SfxItemPool* pPool = 0) const;
34415 diff --git svx/inc/unoapi.hxx svx/inc/unoapi.hxx
34416 index 527bae4..09df9ff 100644
34417 --- svx/inc/unoapi.hxx
34418 +++ svx/inc/unoapi.hxx
34419 @@ -97,12 +97,12 @@ SVX_DLLPUBLIC sal_Bool SvxFieldUnitToMeasureUnit( const short nVcl, short& eApi
34420 /** if the given name is a predefined name for the current language it is replaced by
34421 the corresponding api name.
34423 -void SvxUnogetApiNameForItem( const sal_Int16 nWhich, const String& rInternalName, rtl::OUString& rApiName ) throw();
34424 +SVX_DLLPUBLIC void SvxUnogetApiNameForItem( const sal_Int16 nWhich, const String& rInternalName, rtl::OUString& rApiName ) throw();
34426 /** if the given name is a predefined api name it is replaced by the predefined name
34427 for the current language.
34429 -void SvxUnogetInternalNameForItem( const sal_Int16 nWhich, const rtl::OUString& rApiName, String& rInternalName ) throw();
34430 +SVX_DLLPUBLIC void SvxUnogetInternalNameForItem( const sal_Int16 nWhich, const rtl::OUString& rApiName, String& rInternalName ) throw();
34432 /** returns the which id for the given property name. This only works for
34433 properties of shapes (map SVXMAP_SHAPE is used for searching)
34434 @@ -114,10 +114,10 @@ void SvxUnogetInternalNameForItem( const sal_Int16 nWhich, const rtl::OUString&
34435 SVX_DLLPUBLIC sal_Int16 SvxUnoGetWhichIdForNamedProperty( const ::rtl::OUString & rPropName );
34437 /** converts the given any with a metric to 100th/mm if needed */
34438 -void SvxUnoConvertToMM( const SfxMapUnit eSourceMapUnit, com::sun::star::uno::Any & rMetric ) throw();
34439 +SVX_DLLPUBLIC void SvxUnoConvertToMM( const SfxMapUnit eSourceMapUnit, com::sun::star::uno::Any & rMetric ) throw();
34441 /** converts the given any with a metric from 100th/mm to the given metric if needed */
34442 -void SvxUnoConvertFromMM( const SfxMapUnit eDestinationMapUnit, com::sun::star::uno::Any & rMetric ) throw();
34443 +SVX_DLLPUBLIC void SvxUnoConvertFromMM( const SfxMapUnit eDestinationMapUnit, com::sun::star::uno::Any & rMetric ) throw();
34445 #endif // _SVX_UNOAPI_HXX_
34447 diff --git svx/inc/unoedhlp.hxx svx/inc/unoedhlp.hxx
34448 index 9cac7c7..74991a3 100644
34449 --- svx/inc/unoedhlp.hxx
34450 +++ svx/inc/unoedhlp.hxx
34451 @@ -49,7 +49,7 @@ class EditEngine;
34452 case denotes the destination position, the two parameters the
34453 start and the end of the moved paragraph range.
34455 -class SvxEditSourceHint : public TextHint
34456 +class SVX_DLLPUBLIC SvxEditSourceHint : public TextHint
34458 private:
34459 ULONG mnStart;
34460 diff --git svx/inc/unolingu.hxx svx/inc/unolingu.hxx
34461 index c81a389..b10353e 100644
34462 --- svx/inc/unolingu.hxx
34463 +++ svx/inc/unolingu.hxx
34464 @@ -67,7 +67,7 @@ class SvxLinguConfigUpdate
34466 public:
34468 - static void UpdateAll( sal_Bool bForceCheck = sal_False );
34469 + SVX_DLLPUBLIC static void UpdateAll( sal_Bool bForceCheck = sal_False );
34470 static BOOL IsNeedUpdateAll( sal_Bool bForceCheck = sal_False );
34473 diff --git svx/inc/xexch.hxx svx/inc/xexch.hxx
34474 index 46a0d55..7568186 100644
34475 --- svx/inc/xexch.hxx
34476 +++ svx/inc/xexch.hxx
34477 @@ -60,7 +60,7 @@ public:
34478 // Zuweisungsoperator
34479 XFillExchangeData& operator=( const XFillExchangeData& rXFillExchangeData );
34481 - friend SvStream& operator<<( SvStream& rOStm, const XFillExchangeData& rXFillExchangeData );
34482 + SVX_DLLPUBLIC friend SvStream& operator<<( SvStream& rOStm, const XFillExchangeData& rXFillExchangeData );
34483 SVX_DLLPUBLIC friend SvStream& operator>>( SvStream& rIStm, XFillExchangeData& rXFillExchangeData );
34485 static ULONG RegisterClipboardFormatName();
34486 diff --git svx/inc/xmlgrhlp.hxx svx/inc/xmlgrhlp.hxx
34487 index 01ba9b5..d15853f 100644
34488 --- svx/inc/xmlgrhlp.hxx
34489 +++ svx/inc/xmlgrhlp.hxx
34490 @@ -142,9 +142,9 @@ namespace svx
34491 uses eCreateMode == GRAPHICHELPER_MODE_READ, bDirect == TRUE in
34492 SvXMLGraphicHelper
34494 -::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL SvXMLGraphicImportHelper_createInstance(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > & rSMgr) throw( ::com::sun::star::uno::Exception );
34495 -::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL SvXMLGraphicImportHelper_getSupportedServiceNames() throw();
34496 -::rtl::OUString SAL_CALL SvXMLGraphicImportHelper_getImplementationName() throw();
34497 +SVX_DLLPUBLIC ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL SvXMLGraphicImportHelper_createInstance(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > & rSMgr) throw( ::com::sun::star::uno::Exception );
34498 +SVX_DLLPUBLIC ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL SvXMLGraphicImportHelper_getSupportedServiceNames() throw();
34499 +SVX_DLLPUBLIC ::rtl::OUString SAL_CALL SvXMLGraphicImportHelper_getImplementationName() throw();
34501 /** Create this with createInstanceWithArguments. service name
34502 "com.sun.star.comp.Svx.GraphicExportHelper", one argument which is the
34503 @@ -158,9 +158,9 @@ namespace svx
34504 uses eCreateMode == GRAPHICHELPER_MODE_WRITE, bDirect == TRUE in
34505 SvXMLGraphicHelper
34507 -::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL SvXMLGraphicExportHelper_createInstance(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > & rSMgr) throw( ::com::sun::star::uno::Exception );
34508 -::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL SvXMLGraphicExportHelper_getSupportedServiceNames() throw();
34509 -::rtl::OUString SAL_CALL SvXMLGraphicExportHelper_getImplementationName() throw();
34510 +SVX_DLLPUBLIC ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL SvXMLGraphicExportHelper_createInstance(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > & rSMgr) throw( ::com::sun::star::uno::Exception );
34511 +SVX_DLLPUBLIC ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL SvXMLGraphicExportHelper_getSupportedServiceNames() throw();
34512 +SVX_DLLPUBLIC ::rtl::OUString SAL_CALL SvXMLGraphicExportHelper_getImplementationName() throw();
34515 #endif
34516 diff --git svx/inc/xoutbmp.hxx svx/inc/xoutbmp.hxx
34517 index 498c0bd..d1f7afe 100644
34518 --- svx/inc/xoutbmp.hxx
34519 +++ svx/inc/xoutbmp.hxx
34520 @@ -95,6 +95,6 @@ public:
34521 // - DitherBitmap -
34522 // ----------------
34524 -BOOL DitherBitmap( Bitmap& rBitmap );
34525 +SVX_DLLPUBLIC BOOL DitherBitmap( Bitmap& rBitmap );
34527 #endif // _XOUTBMP_HXX
34528 diff --git svx/prj/d.lst svx/prj/d.lst
34529 index fcd4d8b..119a6ea 100644
34530 --- svx/prj/d.lst
34531 +++ svx/prj/d.lst
34532 @@ -10,7 +10,7 @@ mkdir: %_DEST%\xml%_EXT%\uiconfig\global\accelerator\es
34533 ..\%__SRC%\inc\svxslots.ilb %_DEST%\inc%_EXT%\svxslots.ilb
34534 ..\%__SRC%\inc\*.ilb* %_DEST%\inc%_EXT%\*.ilb*
34535 ..\%__SRC%\lib\lib*.* %_DEST%\lib%_EXT%\lib*.*
34536 -..\%__SRC%\lib\isvx.lib %_DEST%\lib%_EXT%\isvx.lib
34537 +..\%__SRC%\lib\isvx*.lib %_DEST%\lib%_EXT%\isvx*.lib
34538 ..\%__SRC%\bin\gengal* %_DEST%\bin%_EXT%\gengal*
34539 ..\%__SRC%\bin\gengalrc %_DEST%\bin%_EXT%\gengal.ini
34540 ..\%__SRC%\bin\cui*.dll %_DEST%\bin%_EXT%\cui*.dll
34541 diff --git svx/source/accessibility/makefile.mk svx/source/accessibility/makefile.mk
34542 index c3a93ea..c69fe7d 100755
34543 --- svx/source/accessibility/makefile.mk
34544 +++ svx/source/accessibility/makefile.mk
34545 @@ -33,6 +33,7 @@ PRJ=..$/..
34547 PRJNAME=svx
34548 TARGET=accessibility
34549 +LIBTARGET=NO
34550 ENABLE_EXCEPTIONS=TRUE
34552 # --- Settings -----------------------------------------------------
34553 @@ -42,7 +43,12 @@ ENABLE_EXCEPTIONS=TRUE
34555 # --- Files --------------------------------------------------------
34557 -SLOFILES = \
34558 +LIB1TARGET= $(SLB)$/$(TARGET)-core.lib
34559 +LIB1OBJFILES= \
34560 + $(SLO)$/AccessibleStringWrap.obj
34562 +LIB2TARGET= $(SLB)$/$(TARGET).lib
34563 +LIB2OBJFILES= \
34564 $(SLO)$/charmapacc.obj \
34565 $(SLO)$/svxrectctaccessiblecontext.obj \
34566 $(SLO)$/GraphCtlAccessibleContext.obj \
34567 @@ -63,13 +69,14 @@ SLOFILES = \
34568 $(SLO)$/AccessibleStaticTextBase.obj \
34569 $(SLO)$/AccessibleParaManager.obj \
34570 $(SLO)$/AccessibleEditableTextPara.obj \
34571 - $(SLO)$/AccessibleStringWrap.obj \
34572 $(SLO)$/AccessibleImageBullet.obj \
34573 $(SLO)$/ShapeTypeHandler.obj \
34574 $(SLO)$/SvxShapeTypes.obj \
34575 $(SLO)$/AccessibleControlShape.obj \
34576 $(SLO)$/DGColorNameLookUp.obj \
34577 $(SLO)$/AccessibleFrameSelector.obj
34579 +SLOFILES = $(LIB1OBJFILES) $(LIB2OBJFILES)
34581 SRS2NAME = accessibility
34582 SRC2FILES = accessibility.src
34583 diff --git svx/source/customshapes/EnhancedCustomShape2d.hxx svx/source/customshapes/EnhancedCustomShape2d.hxx
34584 index 349c5f1..9d0f04b 100644
34585 --- svx/source/customshapes/EnhancedCustomShape2d.hxx
34586 +++ svx/source/customshapes/EnhancedCustomShape2d.hxx
34587 @@ -32,28 +32,19 @@
34588 #define _ENHANCEDCUSTOMSHAPE2D_HXX
34590 #include <svx/msdffdef.hxx>
34591 -#include <svx/msdffimp.hxx>
34592 #include <svx/sdasitm.hxx>
34593 #include <com/sun/star/uno/Sequence.h>
34594 -#ifndef _com_sun_star_beans_PropertyValues_hpp__
34595 #include <com/sun/star/beans/PropertyValues.hpp>
34596 -#endif
34597 #include <com/sun/star/awt/Point.hpp>
34598 #include <svtools/itemset.hxx>
34599 -#ifndef __com_sun_star_drawing_EnhancedCustomShapeParameterPair_hpp__
34600 #include <com/sun/star/drawing/EnhancedCustomShapeParameterPair.hpp>
34601 -#endif
34602 #include <com/sun/star/drawing/EnhancedCustomShapeSegment.hpp>
34603 #include <com/sun/star/drawing/EnhancedCustomShapeParameter.hpp>
34604 -#ifndef __COM_SUN_STAR_DRAWING_ENHANCEDCUSTOMSHAPETEXTFRAME_HPP__
34605 #include <com/sun/star/drawing/EnhancedCustomShapeTextFrame.hpp>
34606 -#endif
34607 #include <com/sun/star/drawing/EnhancedCustomShapeAdjustmentValue.hpp>
34608 #include <EnhancedCustomShapeFunctionParser.hxx>
34610 -#ifndef BOOST_SHARED_PTR_HPP_INCLUDED
34611 #include <boost/shared_ptr.hpp>
34612 -#endif
34613 #include <vector>
34615 #define DFF_CUSTOMSHAPE_FLIP_V 1
34616 @@ -84,6 +75,7 @@ class SvxMSDffAdjustmentHandle;
34617 // between X_RANGE and Y_RANGE
34619 class SdrPathObj;
34621 class EnhancedCustomShape2d : public SfxItemSet
34623 SdrObject* pCustomShapeObj;
34624 @@ -164,17 +156,17 @@ class EnhancedCustomShape2d : public SfxItemSet
34625 sal_Bool IsFlipHorz() { return bFlipH; };
34626 sal_Int32 GetRotateAngle() { return nRotateAngle; };
34628 - SdrObject* CreateLineGeometry();
34629 - SdrObject* CreateObject( sal_Bool bLineGeometryNeededOnly );
34630 - void ApplyGluePoints( SdrObject* pObj );
34631 - Rectangle GetTextRect() const;
34632 + SVX_DLLPUBLIC SdrObject* CreateLineGeometry();
34633 + SVX_DLLPUBLIC SdrObject* CreateObject( sal_Bool bLineGeometryNeededOnly );
34634 + SVX_DLLPUBLIC void ApplyGluePoints( SdrObject* pObj );
34635 + SVX_DLLPUBLIC Rectangle GetTextRect() const;
34637 - sal_uInt32 GetHdlCount() const;
34638 - sal_Bool GetHandlePosition( const sal_uInt32 nIndex, Point& rReturnPosition ) const;
34639 - sal_Bool SetHandleControllerPosition( const sal_uInt32 nIndex, const com::sun::star::awt::Point& rPosition );
34640 + SVX_DLLPUBLIC sal_uInt32 GetHdlCount() const;
34641 + SVX_DLLPUBLIC sal_Bool GetHandlePosition( const sal_uInt32 nIndex, Point& rReturnPosition ) const;
34642 + SVX_DLLPUBLIC sal_Bool SetHandleControllerPosition( const sal_uInt32 nIndex, const com::sun::star::awt::Point& rPosition );
34644 - EnhancedCustomShape2d( SdrObject* pSdrObjCustomShape );
34645 - ~EnhancedCustomShape2d();
34646 + SVX_DLLPUBLIC EnhancedCustomShape2d( SdrObject* pSdrObjCustomShape );
34647 + SVX_DLLPUBLIC ~EnhancedCustomShape2d();
34649 enum EnumFunc
34651 @@ -198,15 +190,15 @@ class EnhancedCustomShape2d : public SfxItemSet
34652 double GetEquationValueAsDouble( const sal_Int32 nIndex ) const;
34653 sal_Int32 GetAdjustValueAsInteger( const sal_Int32 nIndex, const sal_Int32 nDefault = 0 ) const;
34655 - static rtl::OUString GetEquation( const sal_uInt16 nFlags, sal_Int16 nPara1, sal_Int16 nPara2, sal_Int16 nPara3 );
34656 + SVX_DLLPUBLIC static rtl::OUString GetEquation( const sal_uInt16 nFlags, sal_Int16 nPara1, sal_Int16 nPara2, sal_Int16 nPara3 );
34658 static void AppendEnhancedCustomShapeEquationParameter( rtl::OUString& rParameter, const sal_Int16 nPara, const sal_Bool bIsSpecialValue );
34660 static void SetEnhancedCustomShapeEquationParameter( com::sun::star::drawing::EnhancedCustomShapeParameter&
34661 rParameter, const sal_Int16 nPara, const sal_Bool bIsSpecialValue );
34662 - static void SetEnhancedCustomShapeParameter( com::sun::star::drawing::EnhancedCustomShapeParameter&
34663 + SVX_DLLPUBLIC static void SetEnhancedCustomShapeParameter( com::sun::star::drawing::EnhancedCustomShapeParameter&
34664 rParameter, const sal_Int32 nValue );
34665 - static void SetEnhancedCustomShapeHandleParameter( com::sun::star::drawing::EnhancedCustomShapeParameter&
34666 + SVX_DLLPUBLIC static void SetEnhancedCustomShapeHandleParameter( com::sun::star::drawing::EnhancedCustomShapeParameter&
34667 rParameter, const sal_Int32 nPara, const sal_Bool bIsSpecialValue, sal_Bool bHorz );
34668 static sal_Bool ConvertSequenceToEnhancedCustomShape2dHandle( const com::sun::star::beans::PropertyValues& rHandleProperties,
34669 EnhancedCustomShape2d::Handle& rDestinationHandle );
34670 diff --git svx/source/customshapes/EnhancedCustomShape3d.hxx svx/source/customshapes/EnhancedCustomShape3d.hxx
34671 index dcac36e..430cf7b 100644
34672 --- svx/source/customshapes/EnhancedCustomShape3d.hxx
34673 +++ svx/source/customshapes/EnhancedCustomShape3d.hxx
34674 @@ -31,14 +31,15 @@
34675 #ifndef _ENHANCEDCUSTOMSHAPE3D_HXX
34676 #define _ENHANCEDCUSTOMSHAPE3D_HXX
34678 -#include <svx/msdffimp.hxx>
34679 #include <vector>
34680 -//#include <poly3d.hxx>
34681 -//#include <goodies/point3d.hxx>
34682 #include <com/sun/star/drawing/ProjectionMode.hpp>
34683 #include <basegfx/point/b3dpoint.hxx>
34684 #include <basegfx/polygon/b3dpolygon.hxx>
34686 +#include <tools/gen.hxx>
34688 +class SdrObject;
34690 class EnhancedCustomShape3d
34692 class Transformation2D
34693 diff --git svx/source/customshapes/EnhancedCustomShapeGeometry.hxx svx/source/customshapes/EnhancedCustomShapeGeometry.hxx
34694 index 3c25d02..0dacce8 100644
34695 --- svx/source/customshapes/EnhancedCustomShapeGeometry.hxx
34696 +++ svx/source/customshapes/EnhancedCustomShapeGeometry.hxx
34697 @@ -93,12 +93,12 @@ struct mso_CustomShape
34698 #define MSO_I | (sal_Int32)0x80000000
34700 sal_Bool SortFilledObjectsToBackByDefault( MSO_SPT eSpType );
34701 -sal_Bool IsCustomShapeFilledByDefault( MSO_SPT eSpType );
34702 -sal_Int16 GetCustomShapeConnectionTypeDefault( MSO_SPT eSpType );
34703 +SVX_DLLPUBLIC sal_Bool IsCustomShapeFilledByDefault( MSO_SPT eSpType );
34704 +SVX_DLLPUBLIC sal_Int16 GetCustomShapeConnectionTypeDefault( MSO_SPT eSpType );
34706 // #i28269#
34707 -sal_Bool IsCustomShapeStrokedByDefault( MSO_SPT eSpType );
34708 +SVX_DLLPUBLIC sal_Bool IsCustomShapeStrokedByDefault( MSO_SPT eSpType );
34710 -const mso_CustomShape* GetCustomShapeContent( MSO_SPT eSpType );
34711 +SVX_DLLPUBLIC const mso_CustomShape* GetCustomShapeContent( MSO_SPT eSpType );
34713 #endif
34714 diff --git svx/source/customshapes/EnhancedCustomShapeTypeNames.hxx svx/source/customshapes/EnhancedCustomShapeTypeNames.hxx
34715 index f6ede3d..c9f65e2 100644
34716 --- svx/source/customshapes/EnhancedCustomShapeTypeNames.hxx
34717 +++ svx/source/customshapes/EnhancedCustomShapeTypeNames.hxx
34718 @@ -33,12 +33,10 @@
34719 #include <svx/msdffdef.hxx>
34720 #include <rtl/ustring.hxx>
34722 -class EnhancedCustomShapeTypeNames
34723 +namespace EnhancedCustomShapeTypeNames
34725 - public :
34727 - static MSO_SPT Get( const rtl::OUString& );
34728 - static rtl::OUString Get( const MSO_SPT );
34730 + SVX_DLLPUBLIC MSO_SPT Get( const rtl::OUString& );
34731 + SVX_DLLPUBLIC rtl::OUString Get( const MSO_SPT );
34734 #endif
34735 diff --git svx/source/customshapes/makefile.mk svx/source/customshapes/makefile.mk
34736 index a954eb4..2a2d2d6 100644
34737 --- svx/source/customshapes/makefile.mk
34738 +++ svx/source/customshapes/makefile.mk
34739 @@ -32,6 +32,7 @@
34740 PRJ=..$/..
34741 PRJNAME=svx
34742 TARGET=customshapes
34743 +LIBTARGET=NO
34744 ENABLE_EXCEPTIONS=TRUE
34746 # --- Settings ----------------------------------
34747 @@ -54,16 +55,23 @@ NOOPTFILES= $(SLO)$/EnhancedCustomShapeFunctionParser.obj
34749 # --- Files -------------------------------------
34751 -SLOFILES= $(SLO)$/EnhancedCustomShapeEngine.obj \
34752 +LIB1TARGET= $(SLB)$/$(TARGET)-core.lib
34753 +LIB1OBJFILES= \
34754 $(SLO)$/EnhancedCustomShapeTypeNames.obj \
34755 $(SLO)$/EnhancedCustomShapeGeometry.obj \
34756 $(SLO)$/EnhancedCustomShape2d.obj \
34757 + $(SLO)$/EnhancedCustomShapeFunctionParser.obj
34759 +LIB2TARGET= $(SLB)$/$(TARGET).lib
34760 +LIB2OBJFILES= \
34761 + $(SLO)$/EnhancedCustomShapeEngine.obj \
34762 $(SLO)$/EnhancedCustomShape3d.obj \
34763 $(SLO)$/EnhancedCustomShapeFontWork.obj \
34764 $(SLO)$/EnhancedCustomShapeHandle.obj \
34765 - $(SLO)$/EnhancedCustomShapeFunctionParser.obj \
34766 $(SLO)$/tbxcustomshapes.obj
34768 +SLOFILES = $(LIB1OBJFILES) $(LIB2OBJFILES)
34770 # --- Targets ----------------------------------
34772 .INCLUDE : target.mk
34773 diff --git svx/source/dialog/makefile.mk svx/source/dialog/makefile.mk
34774 index 2979329..c3ece19 100644
34775 --- svx/source/dialog/makefile.mk
34776 +++ svx/source/dialog/makefile.mk
34777 @@ -297,20 +297,31 @@ SLOFILES+=\
34778 $(SLO)$/optimprove.obj \
34779 $(SLO)$/optimprove2.obj
34781 -LIB1TARGET= $(SLB)$/$(TARGET).lib
34782 +LIB1TARGET= $(SLB)$/$(TARGET)-core.lib
34784 LIB1OBJFILES= \
34785 - $(SLO)$/fontsubs.obj \
34786 $(SLO)$/svxdlg.obj \
34787 - $(SLO)$/charmap.obj \
34788 - $(SLO)$/_bmpmask.obj \
34789 - $(SLO)$/frmsel.obj \
34790 $(SLO)$/opengrf.obj \
34791 $(SLO)$/hyphen.obj \
34792 - $(SLO)$/rubydialog.obj \
34793 $(SLO)$/thesdlg.obj \
34794 $(SLO)$/splwrap.obj \
34795 $(SLO)$/hangulhanja.obj \
34796 + $(SLO)$/dlgutil.obj \
34797 + $(SLO)$/impgrf.obj \
34798 + $(SLO)$/langbox.obj \
34799 + $(SLO)$/simptabl.obj \
34800 + $(SLO)$/stddlg.obj \
34801 + $(SLO)$/dialmgr.obj \
34802 + $(SLO)$/framelink.obj
34804 +LIB2TARGET= $(SLB)$/$(TARGET).lib
34806 +LIB2OBJFILES= \
34807 + $(SLO)$/fontsubs.obj \
34808 + $(SLO)$/charmap.obj \
34809 + $(SLO)$/_bmpmask.obj \
34810 + $(SLO)$/frmsel.obj \
34811 + $(SLO)$/rubydialog.obj \
34812 $(SLO)$/_contdlg.obj \
34813 $(SLO)$/connctrl.obj \
34814 $(SLO)$/contwnd.obj \
34815 @@ -329,13 +340,10 @@ LIB1OBJFILES= \
34816 $(SLO)$/ctredlin.obj \
34817 $(SLO)$/dlgctrl.obj \
34818 $(SLO)$/dlgctl3d.obj \
34819 - $(SLO)$/dlgutil.obj \
34820 $(SLO)$/docrecovery.obj \
34821 $(SLO)$/fntctrl.obj \
34822 $(SLO)$/fontwork.obj \
34823 $(SLO)$/hdft.obj \
34824 - $(SLO)$/impgrf.obj \
34825 - $(SLO)$/langbox.obj \
34826 $(SLO)$/linkwarn.obj \
34827 $(SLO)$/wrapfield.obj \
34828 $(SLO)$/pagectrl.obj \
34829 @@ -347,10 +355,8 @@ LIB1OBJFILES= \
34830 $(SLO)$/rulritem.obj \
34831 $(SLO)$/scriptdlg.obj \
34832 $(SLO)$/selector.obj \
34833 - $(SLO)$/simptabl.obj \
34834 $(SLO)$/srchctrl.obj \
34835 $(SLO)$/srchdlg.obj \
34836 - $(SLO)$/stddlg.obj \
34837 $(SLO)$/svxbox.obj \
34838 $(SLO)$/svxruler.obj \
34839 $(SLO)$/tparea.obj \
34840 @@ -362,31 +368,29 @@ LIB1OBJFILES= \
34841 $(SLO)$/commonlingui.obj \
34842 $(SLO)$/SpellDialogChildWindow.obj \
34843 $(SLO)$/svxbmpnumvalueset.obj\
34844 - $(SLO)$/dialmgr.obj\
34845 $(SLO)$/svxgrahicitem.obj \
34846 $(SLO)$/swframeexample.obj \
34847 $(SLO)$/swframeposstrings.obj \
34848 $(SLO)$/eventdlg.obj \
34849 $(SLO)$/macropg.obj \
34850 $(SLO)$/cfg.obj\
34851 - $(SLO)$/framelink.obj\
34852 $(SLO)$/framelinkarray.obj \
34853 $(SLO)$/databaseregistrationui.obj \
34854 $(SLO)$/radiobtnbox.obj
34856 .IF "$(GUI)"=="UNX"
34857 -LIB1OBJFILES += $(SLO)$/sendreportunx.obj
34858 +LIB2OBJFILES += $(SLO)$/sendreportunx.obj
34859 .ELSE
34860 .IF "$(GUI)"=="WNT"
34861 -LIB1OBJFILES += $(SLO)$/sendreportw32.obj
34862 +LIB2OBJFILES += $(SLO)$/sendreportw32.obj
34863 .ELSE
34864 -LIB1OBJFILES += $(SLO)$/sendreportgen.obj
34865 +LIB2OBJFILES += $(SLO)$/sendreportgen.obj
34866 .ENDIF
34867 .ENDIF
34869 -LIB2TARGET= $(SLB)$/cui.lib
34870 +LIB3TARGET= $(SLB)$/cui.lib
34872 -LIB2OBJFILES= \
34873 +LIB3OBJFILES= \
34874 $(SLO)$/linkdlg.obj \
34875 $(SLO)$/pastedlg.obj \
34876 $(SLO)$/plfilter.obj \
34877 @@ -487,7 +491,7 @@ LIB2OBJFILES= \
34879 .IF "$(GUI)"=="WNT"
34880 SLOFILES+=$(SLO)$/winpluginlib.obj
34881 -LIB2OBJFILES+=$(SLO)$/winpluginlib.obj
34882 +LIB3OBJFILES+=$(SLO)$/winpluginlib.obj
34883 .ENDIF
34886 diff --git svx/source/dialog/showcols.cxx svx/source/dialog/showcols.cxx
34887 index 4b5e1f8..ead9243 100644
34888 --- svx/source/dialog/showcols.cxx
34889 +++ svx/source/dialog/showcols.cxx
34890 @@ -36,19 +36,17 @@
34891 #endif
34892 #include "showcols.hxx"
34894 -#ifndef _SVX_FMRESIDS_HRC
34895 #include "fmresids.hrc"
34896 -#endif
34897 #include <tools/shl.hxx>
34898 #include <svx/dialmgr.hxx>
34899 #include <vcl/msgbox.hxx>
34900 #include <com/sun/star/beans/XPropertySet.hpp>
34901 #include <comphelper/extract.hxx>
34902 #include <comphelper/types.hxx>
34903 -#include "fmstatic.hxx" //CHINA001
34905 -IMPLEMENT_CONSTASCII_USTRING(CUIFM_PROP_HIDDEN, "Hidden");
34906 -IMPLEMENT_CONSTASCII_USTRING(CUIFM_PROP_LABEL,"Label");
34907 +#define CUIFM_PROP_HIDDEN rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Hidden" ) )
34908 +#define CUIFM_PROP_LABEL rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Label" ) )
34910 //==========================================================================
34911 // FmShowColsDialog
34912 //==========================================================================
34913 diff --git svx/source/editeng/editeng.cxx svx/source/editeng/editeng.cxx
34914 index fbfb942..e6cd888 100644
34915 --- svx/source/editeng/editeng.cxx
34916 +++ svx/source/editeng/editeng.cxx
34917 @@ -86,11 +86,9 @@
34918 #include <vcl/help.hxx>
34919 #include <svx/xpoly.hxx>
34920 #include <com/sun/star/datatransfer/clipboard/XClipboard.hpp>
34921 -#ifndef _COM_SUN_STAR_I18N_XINPUTSEQUENCECHECKER_HPP_
34922 #include <com/sun/star/i18n/InputSequenceCheckMode.hpp>
34923 -#endif
34925 -#include <srchdlg.hxx>
34926 +#include <sfx2/srchdefs.hxx>
34928 #if OSL_DEBUG_LEVEL > 1
34929 #include <svx/frmdiritem.hxx>
34930 @@ -99,18 +97,11 @@
34932 // Spaeter -> TOOLS\STRING.H (fuer Grep: WS_TARGET)
34934 -//using namespace ::rtl;
34935 -//using namespace ::utl;
34936 using namespace ::com::sun::star;
34937 -//using namespace ::com::sun::star::util;
34938 using namespace ::com::sun::star::uno;
34939 -//using namespace ::com::sun::star::lang;
34940 -//using namespace ::com::sun::star::beans;
34941 -//using namespace ::com::sun::star::frame;
34942 using namespace ::com::sun::star::linguistic2;
34946 DBG_NAME( EditEngine )
34947 DBG_NAMEEX( EditView )
34949 diff --git svx/source/editeng/eertfpar.cxx svx/source/editeng/eertfpar.cxx
34950 index 7aeda4f..22ec196 100644
34951 --- svx/source/editeng/eertfpar.cxx
34952 +++ svx/source/editeng/eertfpar.cxx
34953 @@ -43,6 +43,19 @@
34955 #include <svtools/rtftoken.h>
34957 +// alle Werte auf default; wird nach einlesen der Bitmap aufgerufen !
34958 +void SvxRTFPictureType::ResetValues()
34959 +{ // setze alle Werte RTF-Defaults
34960 + eStyle = RTF_BITMAP;
34961 + nMode = HEX_MODE;
34962 + nType = nGoalWidth = nGoalHeight = 0;
34963 + nWidth = nHeight = nWidthBytes = 0;
34964 + uPicLen = 0;
34965 + nBitsPerPixel = nPlanes = 1;
34966 + nScalX = nScalY = 100; // Skalierung in Prozent
34967 + nCropT = nCropB = nCropL = nCropR = 0;
34970 ImportInfo::ImportInfo( ImportState eSt, SvParser* pPrsrs, const ESelection& rSel )
34971 : aSelection( rSel )
34973 diff --git svx/source/engine3d/makefile.mk svx/source/engine3d/makefile.mk
34974 index 1b1112b..7dbb3e7 100644
34975 --- svx/source/engine3d/makefile.mk
34976 +++ svx/source/engine3d/makefile.mk
34977 @@ -33,6 +33,7 @@ PRJ=..$/..
34979 PRJNAME=svx
34980 TARGET=engine3d
34981 +LIBTARGET=NO
34982 ENABLE_EXCEPTIONS=TRUE
34984 # --- Settings -----------------------------------------------------
34985 @@ -42,7 +43,8 @@ ENABLE_EXCEPTIONS=TRUE
34987 # --- Files --------------------------------------------------------
34989 -SLOFILES= \
34990 +LIB1TARGET= $(SLB)$/$(TARGET)-core.lib
34991 +LIB1OBJFILES= \
34992 $(SLO)$/e3dsceneupdater.obj \
34993 $(SLO)$/helperminimaldepth3d.obj \
34994 $(SLO)$/helperhittest3d.obj \
34995 @@ -57,16 +59,21 @@ SLOFILES= \
34996 $(SLO)$/svx3ditems.obj \
34997 $(SLO)$/deflt3d.obj \
34998 $(SLO)$/e3dundo.obj \
34999 - $(SLO)$/volume3d.obj \
35000 - $(SLO)$/viewpt3d.obj \
35001 $(SLO)$/viewpt3d2.obj \
35002 $(SLO)$/camera3d.obj \
35003 $(SLO)$/objfac3d.obj \
35004 $(SLO)$/dragmt3d.obj \
35005 $(SLO)$/view3d.obj \
35006 - $(SLO)$/view3d1.obj \
35007 + $(SLO)$/view3d1.obj
35009 +LIB2TARGET= $(SLB)$/$(TARGET).lib
35010 +LIB2OBJFILES= \
35011 + $(SLO)$/volume3d.obj \
35012 + $(SLO)$/viewpt3d.obj \
35013 $(SLO)$/float3d.obj
35015 +SLOFILES = $(LIB1OBJFILES) $(LIB2OBJFILES)
35017 #disable optimizer for MSCompiler and ICC
35018 .IF "$(COM)"=="ICC" || "$(COM)"=="MSC"
35019 NOOPTFILES=\
35020 diff --git svx/source/fmcomp/dbaexchange.cxx svx/source/fmcomp/dbaexchange.cxx
35021 index ea65dbf..eaf5474 100644
35022 --- svx/source/fmcomp/dbaexchange.cxx
35023 +++ svx/source/fmcomp/dbaexchange.cxx
35024 @@ -61,7 +61,6 @@ namespace svx
35025 using namespace ::com::sun::star::sdbcx;
35026 using namespace ::com::sun::star::container;
35027 using namespace ::com::sun::star::datatransfer;
35028 - using namespace ::svxform;
35029 using namespace ::comphelper;
35031 //====================================================================
35032 diff --git svx/source/fmcomp/dbaobjectex.cxx svx/source/fmcomp/dbaobjectex.cxx
35033 index fe76d7a..084a3b3 100644
35034 --- svx/source/fmcomp/dbaobjectex.cxx
35035 +++ svx/source/fmcomp/dbaobjectex.cxx
35036 @@ -60,7 +60,6 @@ namespace svx
35037 using namespace ::com::sun::star::sdbcx;
35038 using namespace ::com::sun::star::container;
35039 using namespace ::com::sun::star::datatransfer;
35040 - using namespace ::svxform;
35041 using namespace ::comphelper;
35043 //====================================================================
35044 diff --git svx/source/fmcomp/fmgridif.cxx svx/source/fmcomp/fmgridif.cxx
35045 index 34713e8..495e8fc 100644
35046 --- svx/source/fmcomp/fmgridif.cxx
35047 +++ svx/source/fmcomp/fmgridif.cxx
35048 @@ -1919,7 +1919,7 @@ void FmXGridPeer::setProperty( const ::rtl::OUString& PropertyName, const Any& V
35050 sal_Bool bVoid = !Value.hasValue();
35052 - if ( 0 == PropertyName.compareToAscii( FM_PROP_TEXTLINECOLOR ) )
35053 + if ( 0 == PropertyName.compareTo( FM_PROP_TEXTLINECOLOR ) )
35055 ::Color aTextLineColor(::comphelper::getINT32(Value));
35056 if (bVoid)
35057 @@ -1951,21 +1951,21 @@ void FmXGridPeer::setProperty( const ::rtl::OUString& PropertyName, const Any& V
35058 if (isDesignMode())
35059 pGrid->Invalidate();
35061 - else if ( 0 == PropertyName.compareToAscii( FM_PROP_FONTEMPHASISMARK ) )
35062 + else if ( 0 == PropertyName.compareTo( FM_PROP_FONTEMPHASISMARK ) )
35064 Font aGridFont = pGrid->GetControlFont();
35065 sal_Int16 nValue = ::comphelper::getINT16(Value);
35066 aGridFont.SetEmphasisMark( nValue );
35067 pGrid->SetControlFont( aGridFont );
35069 - else if ( 0 == PropertyName.compareToAscii( FM_PROP_FONTRELIEF ) )
35070 + else if ( 0 == PropertyName.compareTo( FM_PROP_FONTRELIEF ) )
35072 Font aGridFont = pGrid->GetControlFont();
35073 sal_Int16 nValue = ::comphelper::getINT16(Value);
35074 aGridFont.SetRelief( (FontRelief)nValue );
35075 pGrid->SetControlFont( aGridFont );
35077 - else if ( 0 == PropertyName.compareToAscii( FM_PROP_HELPURL ) )
35078 + else if ( 0 == PropertyName.compareTo( FM_PROP_HELPURL ) )
35080 String sHelpURL(::comphelper::getString(Value));
35081 String sPattern;
35082 @@ -1976,11 +1976,11 @@ void FmXGridPeer::setProperty( const ::rtl::OUString& PropertyName, const Any& V
35083 pGrid->SetHelpId(sID.ToInt32());
35086 - else if ( 0 == PropertyName.compareToAscii( FM_PROP_DISPLAYSYNCHRON ) )
35087 + else if ( 0 == PropertyName.compareTo( FM_PROP_DISPLAYSYNCHRON ) )
35089 pGrid->setDisplaySynchron(::comphelper::getBOOL(Value));
35091 - else if ( 0 == PropertyName.compareToAscii( FM_PROP_CURSORCOLOR ) )
35092 + else if ( 0 == PropertyName.compareTo( FM_PROP_CURSORCOLOR ) )
35094 if (bVoid)
35095 pGrid->SetCursorColor(COL_TRANSPARENT);
35096 @@ -1989,13 +1989,13 @@ void FmXGridPeer::setProperty( const ::rtl::OUString& PropertyName, const Any& V
35097 if (isDesignMode())
35098 pGrid->Invalidate();
35100 - else if ( 0 == PropertyName.compareToAscii( FM_PROP_ALWAYSSHOWCURSOR ) )
35101 + else if ( 0 == PropertyName.compareTo( FM_PROP_ALWAYSSHOWCURSOR ) )
35103 pGrid->EnablePermanentCursor(::comphelper::getBOOL(Value));
35104 if (isDesignMode())
35105 pGrid->Invalidate();
35107 - else if ( 0 == PropertyName.compareToAscii( FM_PROP_FONT ) )
35108 + else if ( 0 == PropertyName.compareTo( FM_PROP_FONT ) )
35110 if ( bVoid )
35111 pGrid->SetControlFont( Font() );
35112 @@ -2029,7 +2029,7 @@ void FmXGridPeer::setProperty( const ::rtl::OUString& PropertyName, const Any& V
35116 - else if ( 0 == PropertyName.compareToAscii( FM_PROP_BACKGROUNDCOLOR ) )
35117 + else if ( 0 == PropertyName.compareTo( FM_PROP_BACKGROUNDCOLOR ) )
35119 if ( bVoid )
35121 @@ -2042,7 +2042,7 @@ void FmXGridPeer::setProperty( const ::rtl::OUString& PropertyName, const Any& V
35122 pGrid->SetControlBackground( aColor );
35125 - else if ( 0 == PropertyName.compareToAscii( FM_PROP_TEXTCOLOR ) )
35126 + else if ( 0 == PropertyName.compareTo( FM_PROP_TEXTCOLOR ) )
35128 if ( bVoid )
35130 @@ -2055,7 +2055,7 @@ void FmXGridPeer::setProperty( const ::rtl::OUString& PropertyName, const Any& V
35131 pGrid->SetControlForeground( aColor );
35134 - else if ( 0 == PropertyName.compareToAscii( FM_PROP_ROWHEIGHT ) )
35135 + else if ( 0 == PropertyName.compareTo( FM_PROP_ROWHEIGHT ) )
35137 sal_Int32 nLogHeight(0);
35138 if (Value >>= nLogHeight)
35139 @@ -2068,17 +2068,17 @@ void FmXGridPeer::setProperty( const ::rtl::OUString& PropertyName, const Any& V
35140 else if (bVoid)
35141 pGrid->SetDataRowHeight(0);
35143 - else if ( 0 == PropertyName.compareToAscii( FM_PROP_HASNAVIGATION ) )
35144 + else if ( 0 == PropertyName.compareTo( FM_PROP_HASNAVIGATION ) )
35146 if (Value.getValueType() == ::getBooleanCppuType())
35147 pGrid->EnableNavigationBar(*(sal_Bool*)Value.getValue());
35149 - else if ( 0 == PropertyName.compareToAscii( FM_PROP_RECORDMARKER ) )
35150 + else if ( 0 == PropertyName.compareTo( FM_PROP_RECORDMARKER ) )
35152 if (Value.getValueType() == ::getBooleanCppuType())
35153 pGrid->EnableHandle(*(sal_Bool*)Value.getValue());
35155 - else if ( 0 == PropertyName.compareToAscii( FM_PROP_ENABLED ) )
35156 + else if ( 0 == PropertyName.compareTo( FM_PROP_ENABLED ) )
35158 if (Value.getValueType() == ::getBooleanCppuType())
35160 @@ -2132,37 +2132,37 @@ Any FmXGridPeer::getProperty( const ::rtl::OUString& _rPropertyName ) throw( Run
35161 FmGridControl* pGrid = (FmGridControl*) GetWindow();
35162 Window* pDataWindow = &pGrid->GetDataWindow();
35164 - if ( 0 == _rPropertyName.compareToAscii( FM_PROP_NAME ) )
35165 + if ( 0 == _rPropertyName.compareTo( FM_PROP_NAME ) )
35167 Font aFont = pDataWindow->GetControlFont();
35168 aProp <<= ImplCreateFontDescriptor( aFont );
35170 - else if ( 0 == _rPropertyName.compareToAscii( FM_PROP_TEXTCOLOR ) )
35171 + else if ( 0 == _rPropertyName.compareTo( FM_PROP_TEXTCOLOR ) )
35173 aProp <<= (sal_Int32)pDataWindow->GetControlForeground().GetColor();
35175 - else if ( 0 == _rPropertyName.compareToAscii( FM_PROP_BACKGROUNDCOLOR ) )
35176 + else if ( 0 == _rPropertyName.compareTo( FM_PROP_BACKGROUNDCOLOR ) )
35178 aProp <<= (sal_Int32)pDataWindow->GetControlBackground().GetColor();
35180 - else if ( 0 == _rPropertyName.compareToAscii( FM_PROP_ROWHEIGHT ) )
35181 + else if ( 0 == _rPropertyName.compareTo( FM_PROP_ROWHEIGHT ) )
35183 sal_Int32 nPixelHeight = pGrid->GetDataRowHeight();
35184 // take the zoom factor into account
35185 nPixelHeight = pGrid->CalcReverseZoom(nPixelHeight);
35186 aProp <<= (sal_Int32)pGrid->PixelToLogic(Point(0,nPixelHeight),MAP_10TH_MM).Y();
35188 - else if ( 0 == _rPropertyName.compareToAscii( FM_PROP_HASNAVIGATION ) )
35189 + else if ( 0 == _rPropertyName.compareTo( FM_PROP_HASNAVIGATION ) )
35191 sal_Bool bHasNavBar = pGrid->HasNavigationBar();
35192 aProp <<= (sal_Bool)bHasNavBar;
35194 - else if ( 0 == _rPropertyName.compareToAscii( FM_PROP_RECORDMARKER ) )
35195 + else if ( 0 == _rPropertyName.compareTo( FM_PROP_RECORDMARKER ) )
35197 sal_Bool bHasHandle = pGrid->HasHandle();
35198 aProp <<= (sal_Bool)bHasHandle;
35200 - else if ( 0 == _rPropertyName.compareToAscii( FM_PROP_ENABLED ) )
35201 + else if ( 0 == _rPropertyName.compareTo( FM_PROP_ENABLED ) )
35203 aProp <<= (sal_Bool)pDataWindow->IsEnabled();
35205 @@ -2942,7 +2942,7 @@ IMPL_LINK(FmXGridPeer, OnExecuteGridSlot, void*, pSlot)
35206 if (m_pDispatchers[i].is())
35208 // commit any changes done so far, if it's not the undoRecord URL
35209 - if ( 0 == pUrls->Complete.compareToAscii( FMURL_RECORD_UNDO ) || commit() )
35210 + if ( 0 == pUrls->Complete.compareTo( FMURL_RECORD_UNDO ) || commit() )
35211 m_pDispatchers[i]->dispatch(*pUrls, Sequence< PropertyValue>());
35213 return 1; // handled
35214 diff --git svx/source/fmcomp/gridcell.cxx svx/source/fmcomp/gridcell.cxx
35215 index 57abadd..7e078d9 100644
35216 --- svx/source/fmcomp/gridcell.cxx
35217 +++ svx/source/fmcomp/gridcell.cxx
35218 @@ -648,10 +648,10 @@ void DbCellControl::_propertyChanged(const PropertyChangeEvent& _rEvent) throw(R
35220 Reference< XPropertySet > xSourceProps( _rEvent.Source, UNO_QUERY );
35222 - if ( _rEvent.PropertyName.equalsAscii( FM_PROP_VALUE )
35223 - || _rEvent.PropertyName.equalsAscii( FM_PROP_STATE )
35224 - || _rEvent.PropertyName.equalsAscii( FM_PROP_TEXT )
35225 - || _rEvent.PropertyName.equalsAscii( FM_PROP_EFFECTIVE_VALUE )
35226 + if ( _rEvent.PropertyName.equals( FM_PROP_VALUE )
35227 + || _rEvent.PropertyName.equals( FM_PROP_STATE )
35228 + || _rEvent.PropertyName.equals( FM_PROP_TEXT )
35229 + || _rEvent.PropertyName.equals( FM_PROP_EFFECTIVE_VALUE )
35231 { // it was one of the known "value" properties
35232 if ( !isValuePropertyLocked() )
35233 @@ -659,11 +659,11 @@ void DbCellControl::_propertyChanged(const PropertyChangeEvent& _rEvent) throw(R
35234 implValuePropertyChanged( );
35237 - else if ( _rEvent.PropertyName.equalsAscii( FM_PROP_READONLY ) )
35238 + else if ( _rEvent.PropertyName.equals( FM_PROP_READONLY ) )
35240 implAdjustReadOnly( xSourceProps );
35242 - else if ( _rEvent.PropertyName.equalsAscii( FM_PROP_ENABLED ) )
35243 + else if ( _rEvent.PropertyName.equals( FM_PROP_ENABLED ) )
35245 implAdjustEnabled( xSourceProps );
35247 @@ -2408,7 +2408,7 @@ DbComboBox::DbComboBox(DbGridColumn& _rColumn)
35248 //------------------------------------------------------------------------------
35249 void DbComboBox::_propertyChanged( const PropertyChangeEvent& _rEvent ) throw( RuntimeException )
35251 - if ( _rEvent.PropertyName.equalsAscii( FM_PROP_STRINGITEMLIST ) )
35252 + if ( _rEvent.PropertyName.equals( FM_PROP_STRINGITEMLIST ) )
35254 SetList(_rEvent.NewValue);
35256 @@ -2537,7 +2537,7 @@ DbListBox::DbListBox(DbGridColumn& _rColumn)
35257 //------------------------------------------------------------------------------
35258 void DbListBox::_propertyChanged( const ::com::sun::star::beans::PropertyChangeEvent& _rEvent ) throw( RuntimeException )
35260 - if ( _rEvent.PropertyName.equalsAscii( FM_PROP_STRINGITEMLIST ) )
35261 + if ( _rEvent.PropertyName.equals( FM_PROP_STRINGITEMLIST ) )
35263 SetList(_rEvent.NewValue);
35265 diff --git svx/source/fmcomp/gridcols.cxx svx/source/fmcomp/gridcols.cxx
35266 index 2fc232f..561be8a 100644
35267 --- svx/source/fmcomp/gridcols.cxx
35268 +++ svx/source/fmcomp/gridcols.cxx
35269 @@ -36,23 +36,6 @@
35270 #include "fmservs.hxx"
35271 #include "fmtools.hxx"
35273 -namespace svxform
35276 - IMPLEMENT_CONSTASCII_USTRING(FM_COL_TEXTFIELD, "TextField");
35277 - IMPLEMENT_CONSTASCII_USTRING(FM_COL_COMBOBOX, "ComboBox");
35278 - IMPLEMENT_CONSTASCII_USTRING(FM_COL_CHECKBOX, "CheckBox");
35279 - IMPLEMENT_CONSTASCII_USTRING(FM_COL_TIMEFIELD, "TimeField");
35280 - IMPLEMENT_CONSTASCII_USTRING(FM_COL_DATEFIELD, "DateField");
35281 - IMPLEMENT_CONSTASCII_USTRING(FM_COL_NUMERICFIELD, "NumericField");
35282 - IMPLEMENT_CONSTASCII_USTRING(FM_COL_CURRENCYFIELD, "CurrencyField");
35283 - IMPLEMENT_CONSTASCII_USTRING(FM_COL_PATTERNFIELD, "PatternField");
35284 - IMPLEMENT_CONSTASCII_USTRING(FM_COL_LISTBOX, "ListBox");
35285 - IMPLEMENT_CONSTASCII_USTRING(FM_COL_FORMATTEDFIELD, "FormattedField");
35287 -} // namespace svxform
35288 -using namespace ::svxform;
35290 //------------------------------------------------------------------------------
35291 const ::comphelper::StringSequence& getColumnTypes()
35293 @@ -81,7 +64,7 @@ sal_Int32 getColumnTypeByModelName(const ::rtl::OUString& aModelName)
35294 const ::rtl::OUString aCompatibleModelPrefix = ::rtl::OUString::createFromAscii("stardiv.one.form.component.");
35296 sal_Int32 nTypeId = -1;
35297 - if (aModelName == ::svxform::FM_COMPONENT_EDIT)
35298 + if (aModelName == FM_COMPONENT_EDIT)
35299 nTypeId = TYPE_TEXTFIELD;
35300 else
35302 diff --git svx/source/fmcomp/makefile.mk svx/source/fmcomp/makefile.mk
35303 index bacee5b..d18f522 100644
35304 --- svx/source/fmcomp/makefile.mk
35305 +++ svx/source/fmcomp/makefile.mk
35306 @@ -33,6 +33,7 @@ PRJ=..$/..
35308 PRJNAME=svx
35309 TARGET=fmcomp
35310 +LIBTARGET=NO
35312 ENABLE_EXCEPTIONS=TRUE
35314 @@ -48,25 +49,20 @@ SRC1FILES= \
35315 gridctrl.src \
35316 showcols.src
35318 -#SLOFILES= \
35319 -# $(SLO)$/dbaexchange.obj \
35320 -# $(SLO)$/gridcols.obj \
35321 -# $(SLO)$/gridctrl.obj \
35322 -# $(SLO)$/gridcell.obj \
35323 -# $(SLO)$/fmgridcl.obj \
35324 -# $(SLO)$/fmgridif.obj \
35325 -# $(SLO)$/trace.obj
35327 -SLOFILES= \
35328 +LIB1TARGET= $(SLB)$/$(TARGET)-core.lib
35329 +LIB1OBJFILES= \
35330 $(SLO)$/dbaexchange.obj \
35331 - $(SLO)$/dbaobjectex.obj \
35332 $(SLO)$/gridcols.obj \
35333 $(SLO)$/gridctrl.obj \
35334 $(SLO)$/gridcell.obj \
35335 $(SLO)$/fmgridcl.obj \
35336 $(SLO)$/fmgridif.obj \
35337 - $(SLO)$/trace.obj \
35338 $(SLO)$/xmlexchg.obj
35340 +LIB2TARGET= $(SLB)$/$(TARGET).lib
35341 +LIB2OBJFILES= \
35342 + $(SLO)$/dbaobjectex.obj \
35343 + $(SLO)$/trace.obj
35345 .INCLUDE : target.mk
35347 diff --git svx/source/form/fmprop.cxx svx/source/form/fmprop.cxx
35348 index 0247e75..e69de29 100644
35349 --- svx/source/form/fmprop.cxx
35350 +++ svx/source/form/fmprop.cxx
35351 @@ -1,194 +0,0 @@
35352 -/*************************************************************************
35354 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
35355 - *
35356 - * Copyright 2008 by Sun Microsystems, Inc.
35358 - * OpenOffice.org - a multi-platform office productivity suite
35360 - * $RCSfile: fmprop.cxx,v $
35361 - * $Revision: 1.22 $
35363 - * This file is part of OpenOffice.org.
35365 - * OpenOffice.org is free software: you can redistribute it and/or modify
35366 - * it under the terms of the GNU Lesser General Public License version 3
35367 - * only, as published by the Free Software Foundation.
35369 - * OpenOffice.org is distributed in the hope that it will be useful,
35370 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
35371 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
35372 - * GNU Lesser General Public License version 3 for more details
35373 - * (a copy is included in the LICENSE file that accompanied this code).
35375 - * You should have received a copy of the GNU Lesser General Public License
35376 - * version 3 along with OpenOffice.org. If not, see
35377 - * <http://www.openoffice.org/license.html>
35378 - * for a copy of the LGPLv3 License.
35380 - ************************************************************************/
35382 -// MARKER(update_precomp.py): autogen include statement, do not remove
35383 -#include "precompiled_svx.hxx"
35385 -#ifndef _SVX_FMPROP_HRC
35386 -#include "fmprop.hrc"
35387 -#endif
35388 -#include "fmstatic.hxx"
35390 -#include <set>
35392 -namespace svxform
35394 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_NAME,"Name");
35395 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_CLASSID,"ClassId");
35396 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_ROWCOUNT,"RowCount");
35397 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_ROWCOUNTFINAL,"IsRowCountFinal");
35398 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_FETCHSIZE,"FetchSize");
35399 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_VALUE,"Value");
35400 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_TEXT,"Text");
35401 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_LABEL,"Label");
35402 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_CANINSERT,"CanInsert");
35403 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_CANUPDATE,"CanUpdate");
35404 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_CANDELETE,"CanDelete");
35405 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_NAVIGATION,"NavigationBarMode");
35406 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_HASNAVIGATION,"HasNavigationBar");
35407 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_CYCLE,"Cycle");
35408 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_CONTROLSOURCE,"DataField");
35409 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_ENABLED,"Enabled");
35410 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_READONLY,"ReadOnly");
35411 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_ISREADONLY,"IsReadOnly");
35412 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_FILTER,"Filter");
35413 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_AUTOINCREMENT,"IsAutoIncrement");
35414 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_DATAENTRY,"DataEntry");
35415 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_WIDTH,"Width");
35416 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_SEARCHABLE,"IsSearchable");
35417 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_MULTILINE,"MultiLine");
35418 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_TARGET_URL,"TargetURL");
35419 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_DEFAULTCONTROL,"DefaultControl");
35420 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_MAXTEXTLEN,"MaxTextLen");
35421 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_EDITMASK,"EditMask");
35422 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_SPIN,"Spin");
35423 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_DATE,"Date");
35424 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_TIME,"Time");
35425 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_STATE,"State");
35426 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_TRISTATE,"TriState");
35427 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_STRINGITEMLIST,"StringItemList");
35428 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_DEFAULT_TEXT,"DefaultText");
35429 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_DEFAULTCHECKED,"DefaultState");
35430 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_FORMATKEY,"FormatKey");
35431 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_FORMATSSUPPLIER,"FormatsSupplier");
35432 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_LISTSOURCETYPE,"ListSourceType");
35433 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_LISTSOURCE,"ListSource");
35434 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_SELECT_SEQ,"SelectedItems");
35435 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_VALUE_SEQ,"ValueItemList");
35436 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_DEFAULT_SELECT_SEQ,"DefaultSelection");
35437 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_ALIGN,"Align");
35438 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_DEFAULT_DATE,"DefaultDate");
35439 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_DEFAULT_TIME,"DefaultTime");
35440 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_DEFAULT_VALUE,"DefaultValue");
35441 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_DECIMAL_ACCURACY,"DecimalAccuracy");
35442 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_CURSORSOURCE,"DataSelection");
35443 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_CURSORSOURCETYPE,"DataSelectionType");
35444 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_FIELDTYPE,"Type");
35445 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_REFVALUE,"RefValue");
35446 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_VALUEMIN,"ValueMin");
35447 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_VALUEMAX,"ValueMax");
35448 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_STRICTFORMAT,"StrictFormat");
35449 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_LITERALMASK,"LiteralMask");
35450 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_VALUESTEP,"ValueStep");
35451 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_SHOWTHOUSANDSEP,"ShowThousandsSeparator");
35452 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_CURRENCYSYMBOL,"CurrencySymbol");
35453 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_DATEFORMAT,"DateFormat");
35454 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_DATEMIN,"DateMin");
35455 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_DATEMAX,"DateMax");
35456 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_DATE_SHOW_CENTURY,"DateShowCentury");
35457 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_TIMEFORMAT, "TimeFormat");
35458 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_TIMEMIN, "TimeMin");
35459 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_TIMEMAX,"TimeMax");
35460 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_LINECOUNT,"LineCount");
35461 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_BOUNDCOLUMN, "BoundColumn");
35462 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_FONT,"FontDescriptor");
35463 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_BACKGROUNDCOLOR,"BackgroundColor");
35464 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_TEXTCOLOR,"TextColor");
35465 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_BORDER,"Border");
35466 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_DROPDOWN,"Dropdown");
35467 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_ROWHEIGHT,"RowHeight");
35468 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_HELPTEXT, "HelpText");
35469 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_HELPURL, "HelpURL");
35470 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_RECORDMARKER, "HasRecordMarker");
35471 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_BOUNDFIELD, "BoundField");
35472 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_EFFECTIVE_VALUE, "EffectiveValue");
35473 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_EFFECTIVE_DEFAULT, "EffectiveDefault");
35474 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_EFFECTIVE_MIN, "EffectiveMin");
35475 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_EFFECTIVE_MAX, "EffectiveMax");
35476 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_HIDDEN, "Hidden");
35477 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_FILTERPROPOSAL, "UseFilterValueProposal");
35478 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_FIELDSOURCE, "FieldSource");
35479 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_TABLENAME, "TableName");
35480 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_FILTERSUPPLIER, "FilterSupplier");
35481 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_CURRENTFILTER, "CurrentFilter");
35482 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_SELECTED_FIELDS, "SelectedFields");
35483 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_SELECTED_TABLES, "SelectedTables");
35484 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_THREADSAFE, "ThreadSafe");
35485 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_ISFILTERAPPLIED, "IsFilterApplied");
35486 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_CONTROLLABEL, "LabelControl");
35487 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_CURSORCOLOR, "CursorColor");
35488 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_ALWAYSSHOWCURSOR, "AlwaysShowCursor");
35489 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_DISPLAYSYNCHRON, "DisplayIsSynchron");
35490 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_ISMODIFIED, "IsModified");
35491 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_ISNEW, "IsNew");
35492 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_PRIVILEGES, "Privileges");
35493 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_COMMAND,"Command");
35494 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_COMMANDTYPE,"CommandType");
35495 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_RESULTSET_CONCURRENCY, "ResultSetConcurrency");
35496 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_INSERTONLY, "IgnoreResult");
35497 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_RESULTSET_TYPE, "ResultSetType");
35498 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_ESCAPE_PROCESSING, "EscapeProcessing");
35499 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_APPLYFILTER, "ApplyFilter");
35500 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_ISNULLABLE, "IsNullable");
35501 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_ACTIVECOMMAND, "ActiveCommand");
35502 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_ISCURRENCY, "IsCurrency");
35503 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_URL, "URL");
35504 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_ACTIVE_CONNECTION, "ActiveConnection");
35505 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_SORT, "Order");
35506 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_DATASOURCE, "DataSourceName");
35507 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_REALNAME,"RealName");
35508 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_CONTROLSOURCEPROPERTY,"DataFieldProperty");
35509 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_TEXTLINECOLOR, "TextLineColor");
35510 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_FONTEMPHASISMARK, "FontEmphasisMark");
35511 - IMPLEMENT_CONSTASCII_USTRING(FM_PROP_FONTRELIEF, "FontRelief");
35513 - IMPLEMENT_CONSTASCII_USTRING( FM_PROP_SCROLLVALUE_MIN, "ScrollValueMin" );
35514 - IMPLEMENT_CONSTASCII_USTRING( FM_PROP_SCROLLVALUE_MAX, "ScrollValueMax" );
35515 - IMPLEMENT_CONSTASCII_USTRING( FM_PROP_DEFAULT_SCROLLVALUE, "DefaultScrollValue" );
35516 - IMPLEMENT_CONSTASCII_USTRING( FM_PROP_LINEINCREMENT, "LineIncrement" );
35517 - IMPLEMENT_CONSTASCII_USTRING( FM_PROP_BLOCKINCREMENT, "BlockIncrement" );
35518 - IMPLEMENT_CONSTASCII_USTRING( FM_PROP_ORIENTATION, "Orientation" );
35519 - IMPLEMENT_CONSTASCII_USTRING( FM_PROP_REPEAT, "Repeat" );
35520 - IMPLEMENT_CONSTASCII_USTRING( FM_PROP_REPEATDELAY, "RepeatDelay" );
35521 - IMPLEMENT_CONSTASCII_USTRING( FM_PROP_SYMBOLCOLOR, "SymbolColor" );
35522 - IMPLEMENT_CONSTASCII_USTRING( FM_PROP_VISIBILESIZE, "VisibleSize" );
35523 - IMPLEMENT_CONSTASCII_USTRING( FM_PROP_SPINVALUE_MIN, "SpinValueMin" );
35524 - IMPLEMENT_CONSTASCII_USTRING( FM_PROP_SPINVALUE_MAX, "SpinValueMax" );
35525 - IMPLEMENT_CONSTASCII_USTRING( FM_PROP_DEFAULT_SPINVALUE, "DefaultSpinValue" );
35526 - IMPLEMENT_CONSTASCII_USTRING( FM_PROP_SPININCREMENT, "SpinIncrement" );
35527 - IMPLEMENT_CONSTASCII_USTRING( FM_PROP_LINEENDFORMAT, "LineEndFormat" );
35528 - IMPLEMENT_CONSTASCII_USTRING( FM_PROP_TOGGLE, "Toggle" );
35529 - IMPLEMENT_CONSTASCII_USTRING( FM_PROP_FOCUSONCLICK, "FocusOnClick" );
35530 - IMPLEMENT_CONSTASCII_USTRING( FM_PROP_HIDEINACTIVESELECTION, "HideInactiveSelection" );
35531 - IMPLEMENT_CONSTASCII_USTRING( FM_PROP_VISUALEFFECT, "VisualEffect" );
35532 - IMPLEMENT_CONSTASCII_USTRING( FM_PROP_BORDERCOLOR, "BorderColor" );
35533 - IMPLEMENT_CONSTASCII_USTRING( FM_PROP_DYNAMIC_CONTROL_BORDER, "DynamicControlBorder" );
35534 - IMPLEMENT_CONSTASCII_USTRING( FM_PROP_CONTROL_BORDER_COLOR_FOCUS, "ControlBorderColorOnFocus" );
35535 - IMPLEMENT_CONSTASCII_USTRING( FM_PROP_CONTROL_BORDER_COLOR_MOUSE, "ControlBorderColorOnHover" );
35536 - IMPLEMENT_CONSTASCII_USTRING( FM_PROP_CONTROL_BORDER_COLOR_INVALID,"ControlBorderColorOnInvalid" );
35538 - IMPLEMENT_CONSTASCII_USTRING( FM_PROP_BUTTON_TYPE, "ButtonType" );
35539 - IMPLEMENT_CONSTASCII_USTRING( FM_PROP_FORM_OPERATIONS, "FormOperations" );
35540 - IMPLEMENT_CONSTASCII_USTRING( FM_PROP_INPUT_REQUIRED, "InputRequired" );
35542 - IMPLEMENT_CONSTASCII_USTRING( FM_PROP_WRITING_MODE, "WritingMode" );
35544 -} // namespace svxform
35546 diff --git svx/source/form/fmservs.cxx svx/source/form/fmservs.cxx
35547 index 9d94074..02612f8 100644
35548 --- svx/source/form/fmservs.cxx
35549 +++ svx/source/form/fmservs.cxx
35550 @@ -31,76 +31,9 @@
35551 // MARKER(update_precomp.py): autogen include statement, do not remove
35552 #include "precompiled_svx.hxx"
35553 #include <com/sun/star/container/XSet.hpp>
35554 -#include "fmstatic.hxx"
35555 #include <cppuhelper/factory.hxx>
35556 #include <comphelper/processfactory.hxx>
35558 -namespace svxform
35561 - // -----------------------
35562 - // service names for compatibility
35563 - // -----------------------
35564 - IMPLEMENT_CONSTASCII_USTRING(FM_COMPONENT_EDIT,"stardiv.one.form.component.Edit"); // compatibility
35565 - IMPLEMENT_CONSTASCII_USTRING(FM_COMPONENT_TEXTFIELD,"stardiv.one.form.component.TextField");
35566 - IMPLEMENT_CONSTASCII_USTRING(FM_COMPONENT_LISTBOX,"stardiv.one.form.component.ListBox");
35567 - IMPLEMENT_CONSTASCII_USTRING(FM_COMPONENT_COMBOBOX,"stardiv.one.form.component.ComboBox");
35568 - IMPLEMENT_CONSTASCII_USTRING(FM_COMPONENT_RADIOBUTTON,"stardiv.one.form.component.RadioButton");
35569 - IMPLEMENT_CONSTASCII_USTRING(FM_COMPONENT_GROUPBOX,"stardiv.one.form.component.GroupBox"); // compatibility
35570 - IMPLEMENT_CONSTASCII_USTRING(FM_COMPONENT_FIXEDTEXT,"stardiv.one.form.component.FixedText"); // compatibility
35571 - IMPLEMENT_CONSTASCII_USTRING(FM_COMPONENT_COMMANDBUTTON,"stardiv.one.form.component.CommandButton");
35572 - IMPLEMENT_CONSTASCII_USTRING(FM_COMPONENT_CHECKBOX,"stardiv.one.form.component.CheckBox");
35573 - IMPLEMENT_CONSTASCII_USTRING(FM_COMPONENT_GRID,"stardiv.one.form.component.Grid"); // compatibility
35574 - IMPLEMENT_CONSTASCII_USTRING(FM_COMPONENT_GRIDCONTROL,"stardiv.one.form.component.GridControl");
35575 - IMPLEMENT_CONSTASCII_USTRING(FM_COMPONENT_IMAGEBUTTON,"stardiv.one.form.component.ImageButton");
35576 - IMPLEMENT_CONSTASCII_USTRING(FM_COMPONENT_FILECONTROL,"stardiv.one.form.component.FileControl");
35577 - IMPLEMENT_CONSTASCII_USTRING(FM_COMPONENT_TIMEFIELD,"stardiv.one.form.component.TimeField");
35578 - IMPLEMENT_CONSTASCII_USTRING(FM_COMPONENT_DATEFIELD,"stardiv.one.form.component.DateField");
35579 - IMPLEMENT_CONSTASCII_USTRING(FM_COMPONENT_NUMERICFIELD,"stardiv.one.form.component.NumericField");
35580 - IMPLEMENT_CONSTASCII_USTRING(FM_COMPONENT_CURRENCYFIELD,"stardiv.one.form.component.CurrencyField");
35581 - IMPLEMENT_CONSTASCII_USTRING(FM_COMPONENT_PATTERNFIELD,"stardiv.one.form.component.PatternField");
35582 - IMPLEMENT_CONSTASCII_USTRING(FM_COMPONENT_HIDDEN,"stardiv.one.form.component.Hidden");
35583 - IMPLEMENT_CONSTASCII_USTRING(FM_COMPONENT_HIDDENCONTROL,"stardiv.one.form.component.HiddenControl");
35584 - IMPLEMENT_CONSTASCII_USTRING(FM_COMPONENT_IMAGECONTROL,"stardiv.one.form.component.ImageControl");
35585 - IMPLEMENT_CONSTASCII_USTRING(FM_COMPONENT_FORMATTEDFIELD,"stardiv.one.form.component.FormattedField");
35587 - IMPLEMENT_CONSTASCII_USTRING(FM_CONTROL_GRID,"stardiv.one.form.control.Grid"); // compatibility
35588 - IMPLEMENT_CONSTASCII_USTRING(FM_CONTROL_GRIDCONTROL,"stardiv.one.form.control.GridControl");
35590 - // -----------------------
35591 - // new (sun) service names
35592 - // -----------------------
35593 - IMPLEMENT_CONSTASCII_USTRING(FM_SUN_COMPONENT_FORM,"com.sun.star.form.component.Form");
35594 - IMPLEMENT_CONSTASCII_USTRING(FM_SUN_COMPONENT_TEXTFIELD,"com.sun.star.form.component.TextField");
35595 - IMPLEMENT_CONSTASCII_USTRING(FM_SUN_COMPONENT_LISTBOX,"com.sun.star.form.component.ListBox");
35596 - IMPLEMENT_CONSTASCII_USTRING(FM_SUN_COMPONENT_COMBOBOX,"com.sun.star.form.component.ComboBox");
35597 - IMPLEMENT_CONSTASCII_USTRING(FM_SUN_COMPONENT_RADIOBUTTON,"com.sun.star.form.component.RadioButton");
35598 - IMPLEMENT_CONSTASCII_USTRING(FM_SUN_COMPONENT_GROUPBOX,"com.sun.star.form.component.GroupBox");
35599 - IMPLEMENT_CONSTASCII_USTRING(FM_SUN_COMPONENT_FIXEDTEXT,"com.sun.star.form.component.FixedText");
35600 - IMPLEMENT_CONSTASCII_USTRING(FM_SUN_COMPONENT_COMMANDBUTTON,"com.sun.star.form.component.CommandButton");
35601 - IMPLEMENT_CONSTASCII_USTRING(FM_SUN_COMPONENT_CHECKBOX,"com.sun.star.form.component.CheckBox");
35602 - IMPLEMENT_CONSTASCII_USTRING(FM_SUN_COMPONENT_GRIDCONTROL,"com.sun.star.form.component.GridControl");
35603 - IMPLEMENT_CONSTASCII_USTRING(FM_SUN_COMPONENT_IMAGEBUTTON,"com.sun.star.form.component.ImageButton");
35604 - IMPLEMENT_CONSTASCII_USTRING(FM_SUN_COMPONENT_FILECONTROL,"com.sun.star.form.component.FileControl");
35605 - IMPLEMENT_CONSTASCII_USTRING(FM_SUN_COMPONENT_TIMEFIELD,"com.sun.star.form.component.TimeField");
35606 - IMPLEMENT_CONSTASCII_USTRING(FM_SUN_COMPONENT_DATEFIELD,"com.sun.star.form.component.DateField");
35607 - IMPLEMENT_CONSTASCII_USTRING(FM_SUN_COMPONENT_NUMERICFIELD,"com.sun.star.form.component.NumericField");
35608 - IMPLEMENT_CONSTASCII_USTRING(FM_SUN_COMPONENT_CURRENCYFIELD,"com.sun.star.form.component.CurrencyField");
35609 - IMPLEMENT_CONSTASCII_USTRING(FM_SUN_COMPONENT_PATTERNFIELD,"com.sun.star.form.component.PatternField");
35610 - IMPLEMENT_CONSTASCII_USTRING(FM_SUN_COMPONENT_HIDDENCONTROL,"com.sun.star.form.component.HiddenControl");
35611 - IMPLEMENT_CONSTASCII_USTRING(FM_SUN_COMPONENT_IMAGECONTROL,"com.sun.star.form.component.DatabaseImageControl");
35612 - IMPLEMENT_CONSTASCII_USTRING(FM_SUN_COMPONENT_FORMATTEDFIELD,"com.sun.star.form.component.FormattedField");
35613 - IMPLEMENT_CONSTASCII_USTRING( FM_SUN_COMPONENT_SCROLLBAR, "com.sun.star.form.component.ScrollBar" );
35614 - IMPLEMENT_CONSTASCII_USTRING( FM_SUN_COMPONENT_SPINBUTTON, "com.sun.star.form.component.SpinButton" );
35615 - IMPLEMENT_CONSTASCII_USTRING( FM_SUN_COMPONENT_NAVIGATIONBAR,"com.sun.star.form.component.NavigationToolBar" );
35617 - IMPLEMENT_CONSTASCII_USTRING(FM_SUN_CONTROL_GRIDCONTROL,"com.sun.star.form.control.GridControl");
35619 - IMPLEMENT_CONSTASCII_USTRING(FM_NUMBER_FORMATTER,"com.sun.star.util.NumberFormatter");
35620 - IMPLEMENT_CONSTASCII_USTRING(FM_FORM_CONTROLLER,"com.sun.star.form.FormController");
35621 - IMPLEMENT_CONSTASCII_USTRING(SRV_SDB_CONNECTION,"com.sun.star.sdb.Connection");
35622 - IMPLEMENT_CONSTASCII_USTRING(SRV_SDB_INTERACTION_HANDLER,"com.sun.star.sdb.InteractionHandler");
35623 -} // namespace svxform
35624 +#include "fmservs.hxx"
35626 // ------------------------------------------------------------------------
35627 #define DECL_SERVICE(ImplName) \
35628 diff --git svx/source/form/fmtextcontrolshell.cxx svx/source/form/fmtextcontrolshell.cxx
35629 index 2f51b66..ee80601 100644
35630 --- svx/source/form/fmtextcontrolshell.cxx
35631 +++ svx/source/form/fmtextcontrolshell.cxx
35632 @@ -94,7 +94,6 @@ namespace svx
35633 using namespace ::com::sun::star::util;
35634 using namespace ::com::sun::star::beans;
35635 using namespace ::com::sun::star::container;
35636 - using namespace ::svxform;
35638 //====================================================================
35639 typedef USHORT WhichId;
35640 diff --git svx/source/form/fmtools.cxx svx/source/form/fmtools.cxx
35641 index db407ef..1dcc7dd 100644
35642 --- svx/source/form/fmtools.cxx
35643 +++ svx/source/form/fmtools.cxx
35644 @@ -100,7 +100,6 @@
35645 #include <connectivity/dbtools.hxx>
35646 #include <comphelper/processfactory.hxx>
35647 #include <comphelper/sequence.hxx>
35648 -#include "fmstatic.hxx"
35649 #include <comphelper/extract.hxx>
35650 #include <comphelper/uno3.hxx>
35651 #include <connectivity/dbexception.hxx>
35652 @@ -109,14 +108,6 @@
35653 #include <cppuhelper/typeprovider.hxx>
35654 #include <algorithm>
35656 -namespace svxform
35659 - IMPLEMENT_CONSTASCII_USTRING(DATA_MODE,"DataMode");
35660 - IMPLEMENT_CONSTASCII_USTRING(FILTER_MODE,"FilterMode");
35662 -} // namespace svxform
35664 using namespace ::com::sun::star::uno;
35665 using namespace ::com::sun::star::util;
35666 using namespace ::com::sun::star::lang;
35667 diff --git svx/source/form/fmundo.cxx svx/source/form/fmundo.cxx
35668 index f3b5c3d..dacea0b 100644
35669 --- svx/source/form/fmundo.cxx
35670 +++ svx/source/form/fmundo.cxx
35671 @@ -540,7 +540,7 @@ void SAL_CALL FmXUndoEnvironment::propertyChange(const PropertyChangeEvent& evt)
35672 return;
35674 // if it's a "default value" property of a control model, set the according "value" property
35675 - static const sal_Char* pDefaultValueProperties[] = {
35676 + static ::rtl::OUString pDefaultValueProperties[] = {
35677 FM_PROP_DEFAULT_TEXT, FM_PROP_DEFAULTCHECKED, FM_PROP_DEFAULT_DATE, FM_PROP_DEFAULT_TIME,
35678 FM_PROP_DEFAULT_VALUE, FM_PROP_DEFAULT_SELECT_SEQ, FM_PROP_EFFECTIVE_DEFAULT
35680 @@ -553,7 +553,7 @@ void SAL_CALL FmXUndoEnvironment::propertyChange(const PropertyChangeEvent& evt)
35681 "FmXUndoEnvironment::propertyChange: inconsistence!");
35682 for (sal_Int32 i=0; i<nDefaultValueProps; ++i)
35684 - if (0 == evt.PropertyName.compareToAscii(pDefaultValueProperties[i]))
35685 + if (0 == evt.PropertyName.compareTo(pDefaultValueProperties[i]))
35689 diff --git svx/source/form/fmurl.cxx svx/source/form/fmurl.cxx
35690 index 7f8cbc4..e69de29 100644
35691 --- svx/source/form/fmurl.cxx
35692 +++ svx/source/form/fmurl.cxx
35693 @@ -1,74 +0,0 @@
35694 -/*************************************************************************
35696 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
35697 - *
35698 - * Copyright 2008 by Sun Microsystems, Inc.
35700 - * OpenOffice.org - a multi-platform office productivity suite
35702 - * $RCSfile: fmurl.cxx,v $
35703 - * $Revision: 1.7 $
35705 - * This file is part of OpenOffice.org.
35707 - * OpenOffice.org is free software: you can redistribute it and/or modify
35708 - * it under the terms of the GNU Lesser General Public License version 3
35709 - * only, as published by the Free Software Foundation.
35711 - * OpenOffice.org is distributed in the hope that it will be useful,
35712 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
35713 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
35714 - * GNU Lesser General Public License version 3 for more details
35715 - * (a copy is included in the LICENSE file that accompanied this code).
35717 - * You should have received a copy of the GNU Lesser General Public License
35718 - * version 3 along with OpenOffice.org. If not, see
35719 - * <http://www.openoffice.org/license.html>
35720 - * for a copy of the LGPLv3 License.
35722 - ************************************************************************/
35724 -// MARKER(update_precomp.py): autogen include statement, do not remove
35725 -#include "precompiled_svx.hxx"
35726 -#include "fmurl.hxx"
35729 -namespace svxform
35732 - IMPLEMENT_CONSTASCII_USTRING(FMURL_FORMSLOTS_PREFIX, ".uno:FormController/");
35734 - IMPLEMENT_CONSTASCII_USTRING(FMURL_FORM_POSITION, ".uno:FormController/positionForm" );
35735 - IMPLEMENT_CONSTASCII_USTRING(FMURL_FORM_RECORDCOUNT, ".uno:FormController/RecordCount" );
35736 - IMPLEMENT_CONSTASCII_USTRING(FMURL_RECORD_MOVEFIRST, ".uno:FormController/moveToFirst" );
35737 - IMPLEMENT_CONSTASCII_USTRING(FMURL_RECORD_MOVEPREV, ".uno:FormController/moveToPrev" );
35738 - IMPLEMENT_CONSTASCII_USTRING(FMURL_RECORD_MOVENEXT, ".uno:FormController/moveToNext" );
35739 - IMPLEMENT_CONSTASCII_USTRING(FMURL_RECORD_MOVELAST, ".uno:FormController/moveToLast" );
35740 - IMPLEMENT_CONSTASCII_USTRING(FMURL_RECORD_MOVETONEW, ".uno:FormController/moveToNew" );
35741 - IMPLEMENT_CONSTASCII_USTRING(FMURL_RECORD_UNDO, ".uno:FormController/undoRecord" );
35742 - IMPLEMENT_CONSTASCII_USTRING(FMURL_RECORD_SAVE, ".uno:FormController/saveRecord" );
35743 - IMPLEMENT_CONSTASCII_USTRING(FMURL_RECORD_DELETE, ".uno:FormController/deleteRecord" );
35744 - IMPLEMENT_CONSTASCII_USTRING(FMURL_FORM_REFRESH, ".uno:FormController/refreshForm" );
35745 - IMPLEMENT_CONSTASCII_USTRING(FMURL_FORM_REFRESH_CURRENT_CONTROL,
35746 - ".uno:FormController/refreshCurrentControl" );
35748 - IMPLEMENT_CONSTASCII_USTRING( FMURL_FORM_SORT_UP, ".uno:FormController/sortUp" );
35749 - IMPLEMENT_CONSTASCII_USTRING( FMURL_FORM_SORT_DOWN, ".uno:FormController/sortDown" );
35750 - IMPLEMENT_CONSTASCII_USTRING( FMURL_FORM_SORT, ".uno:FormController/sort" );
35751 - IMPLEMENT_CONSTASCII_USTRING( FMURL_FORM_AUTO_FILTER, ".uno:FormController/autoFilter" );
35752 - IMPLEMENT_CONSTASCII_USTRING( FMURL_FORM_FILTER, ".uno:FormController/filter" );
35753 - IMPLEMENT_CONSTASCII_USTRING( FMURL_FORM_APPLY_FILTER, ".uno:FormController/applyFilter" );
35754 - IMPLEMENT_CONSTASCII_USTRING( FMURL_FORM_REMOVE_FILTER,".uno:FormController/removeFilterOrder" );
35756 - IMPLEMENT_CONSTASCII_USTRING(FMURL_CONFIRM_DELETION,".uno:FormSlots/ConfirmDeletion");
35758 - IMPLEMENT_CONSTASCII_USTRING(FMURL_COMPONENT_FORMGRIDVIEW,".component:DB/FormGridView");
35759 - IMPLEMENT_CONSTASCII_USTRING(FMURL_GRIDVIEW_CLEARVIEW,".uno:FormSlots/ClearView");
35760 - IMPLEMENT_CONSTASCII_USTRING(FMURL_GRIDVIEW_ADDCOLUMN,".uno:FormSlots/AddGridColumn");
35761 - IMPLEMENT_CONSTASCII_USTRING(FMURL_GRIDVIEW_ATTACHTOFORM,".uno:FormSlots/AttachToForm");
35763 - IMPLEMENT_CONSTASCII_USTRING(FMARG_ATTACHTO_MASTERFORM,"MasterForm");
35764 - IMPLEMENT_CONSTASCII_USTRING(FMARG_ADDCOL_COLUMNTYPE,"ColumnType");
35765 - IMPLEMENT_CONSTASCII_USTRING(FMARG_ADDCOL_COLUMNPOS,"ColumnPosition");
35767 -} // namespace svxform
35768 diff --git svx/source/form/formcontrolling.cxx svx/source/form/formcontrolling.cxx
35769 index 8f63ca1..6bf0afb 100644
35770 --- svx/source/form/formcontrolling.cxx
35771 +++ svx/source/form/formcontrolling.cxx
35772 @@ -55,7 +55,6 @@ namespace svx
35774 //........................................................................
35776 - using namespace ::svxform;
35777 /** === begin UNO using === **/
35778 using ::com::sun::star::uno::Reference;
35779 using ::com::sun::star::lang::XMultiServiceFactory;
35780 diff --git svx/source/form/makefile.mk svx/source/form/makefile.mk
35781 index 0b5a7cd..403e6d4 100644
35782 --- svx/source/form/makefile.mk
35783 +++ svx/source/form/makefile.mk
35784 @@ -33,6 +33,7 @@ PRJ=..$/..
35786 PRJNAME=svx
35787 TARGET=form
35788 +LIBTARGET=NO
35790 ENABLE_EXCEPTIONS=TRUE
35792 @@ -57,7 +58,8 @@ SRC1FILES= \
35793 formshell.src \
35794 datanavi.src
35796 -SLOFILES = \
35797 +LIB1TARGET= $(SLB)$/$(TARGET)-core.lib
35798 +LIB1OBJFILES= \
35799 $(SLO)$/formtoolbars.obj \
35800 $(SLO)$/fmdocumentclassification.obj \
35801 $(SLO)$/fmcontrolbordermanager.obj \
35802 @@ -65,7 +67,6 @@ SLOFILES = \
35803 $(SLO)$/fmtextcontroldialogs.obj \
35804 $(SLO)$/fmtextcontrolfeature.obj \
35805 $(SLO)$/fmtextcontrolshell.obj \
35806 - $(SLO)$/dbcharsethelper.obj \
35807 $(SLO)$/ParseContext.obj \
35808 $(SLO)$/typeconversionclient.obj \
35809 $(SLO)$/confirmdelete.obj \
35810 @@ -73,9 +74,7 @@ SLOFILES = \
35811 $(SLO)$/sqlparserclient.obj \
35812 $(SLO)$/dataaccessdescriptor.obj \
35813 $(SLO)$/fmpage.obj \
35814 - $(SLO)$/fmPropBrw.obj \
35815 $(SLO)$/fmundo.obj \
35816 - $(SLO)$/fmprop.obj \
35817 $(SLO)$/fmmodel.obj \
35818 $(SLO)$/navigatortree.obj \
35819 $(SLO)$/navigatortreemodel.obj \
35820 @@ -85,21 +84,14 @@ SLOFILES = \
35821 $(SLO)$/fmvwimp.obj \
35822 $(SLO)$/fmdpage.obj \
35823 $(SLO)$/fmitems.obj \
35824 - $(SLO)$/tbxform.obj \
35825 $(SLO)$/fmobj.obj \
35826 $(SLO)$/fmdmod.obj \
35827 - $(SLO)$/fmobjfac.obj \
35828 - $(SLO)$/fmsrccfg.obj \
35829 $(SLO)$/fmservs.obj \
35830 $(SLO)$/typemap.obj \
35831 $(SLO)$/fmexch.obj \
35832 - $(SLO)$/tabwin.obj \
35833 - $(SLO)$/fmurl.obj \
35834 - $(SLO)$/filtnav.obj \
35835 $(SLO)$/fmtools.obj \
35836 $(SLO)$/fmshimp.obj \
35837 $(SLO)$/fmshell.obj \
35838 - $(SLO)$/fmsrcimp.obj \
35839 $(SLO)$/fmview.obj \
35840 $(SLO)$/sdbdatacolumn.obj \
35841 $(SLO)$/formcontrolling.obj \
35842 @@ -109,13 +101,22 @@ SLOFILES = \
35843 $(SLO)$/datalistener.obj \
35844 $(SLO)$/fmscriptingenv.obj \
35845 $(SLO)$/stringlistresource.obj \
35846 - $(SLO)$/databaselocationinput.obj \
35847 $(SLO)$/delayedevent.obj \
35848 $(SLO)$/formcontrolfactory.obj
35850 -.IF "$(OS)$(CPU)"=="SOLARISI"
35851 -NOOPTFILES=$(SLO)$/fmprop.obj
35852 -.ENDIF
35853 +LIB2TARGET= $(SLB)$/$(TARGET).lib
35854 +LIB2OBJFILES= \
35855 + $(SLO)$/dbcharsethelper.obj \
35856 + $(SLO)$/fmPropBrw.obj \
35857 + $(SLO)$/tbxform.obj \
35858 + $(SLO)$/fmobjfac.obj \
35859 + $(SLO)$/fmsrccfg.obj \
35860 + $(SLO)$/tabwin.obj \
35861 + $(SLO)$/filtnav.obj \
35862 + $(SLO)$/fmsrcimp.obj \
35863 + $(SLO)$/databaselocationinput.obj
35865 +SLOFILES = $(LIB1OBJFILES) $(LIB2OBJFILES)
35867 # --- Targets ----------------------------------
35869 diff --git svx/source/gengal/makefile.mk svx/source/gengal/makefile.mk
35870 index 92b38a7..9bb7bc1 100644
35871 --- svx/source/gengal/makefile.mk
35872 +++ svx/source/gengal/makefile.mk
35873 @@ -71,7 +71,7 @@ APP1STDLIBS=$(TOOLSLIB) \
35874 $(SOTLIB) \
35875 $(VCLLIB) \
35876 $(UCBHELPERLIB) \
35877 - $(SVXLIB)
35878 + $(SVXCORELIB)
35880 #.IF "$(COM)"=="GCC"
35881 #ADDOPTFILES=$(OBJ)$/gengal.obj
35882 diff --git svx/source/inc/AccessibleStringWrap.hxx svx/source/inc/AccessibleStringWrap.hxx
35883 index dba73db..0d4e5c4 100644
35884 --- svx/source/inc/AccessibleStringWrap.hxx
35885 +++ svx/source/inc/AccessibleStringWrap.hxx
35886 @@ -34,6 +34,8 @@
35887 #include <sal/types.h>
35888 #include <tools/string.hxx>
35890 +#include <svx/svxdllapi.h>
35892 class OutputDevice;
35893 class SvxFont;
35894 class Rectangle;
35895 @@ -49,10 +51,10 @@ class AccessibleStringWrap
35897 public:
35899 - AccessibleStringWrap( OutputDevice& rDev, SvxFont& rFont, const String& rText );
35900 + SVX_DLLPUBLIC AccessibleStringWrap( OutputDevice& rDev, SvxFont& rFont, const String& rText );
35902 - sal_Bool GetCharacterBounds( sal_Int32 nIndex, Rectangle& rRect );
35903 - sal_Int32 GetIndexAtPoint( const Point& rPoint );
35904 + SVX_DLLPUBLIC sal_Bool GetCharacterBounds( sal_Int32 nIndex, Rectangle& rRect );
35905 + SVX_DLLPUBLIC sal_Int32 GetIndexAtPoint( const Point& rPoint );
35907 private:
35909 diff --git svx/source/inc/datanavi.hxx svx/source/inc/datanavi.hxx
35910 index 5f0e48c..b63dcb9 100644
35911 --- svx/source/inc/datanavi.hxx
35912 +++ svx/source/inc/datanavi.hxx
35913 @@ -307,10 +307,10 @@ namespace svxform
35916 //========================================================================
35917 - class DataNavigatorManager : public SfxChildWindow
35918 + class SVX_DLLPUBLIC DataNavigatorManager : public SfxChildWindow
35920 public:
35921 - DataNavigatorManager( Window* pParent, sal_uInt16 nId,
35922 + SVX_DLLPRIVATE DataNavigatorManager( Window* pParent, sal_uInt16 nId,
35923 SfxBindings* pBindings, SfxChildWinInfo* pInfo );
35924 SFX_DECL_CHILDWINDOW( DataNavigatorManager );
35926 diff --git svx/source/inc/dbtoolsclient.hxx svx/source/inc/dbtoolsclient.hxx
35927 index b1d41e0..56bd0cc 100644
35928 --- svx/source/inc/dbtoolsclient.hxx
35929 +++ svx/source/inc/dbtoolsclient.hxx
35930 @@ -36,6 +36,7 @@
35931 #include <osl/module.h>
35932 #include <tools/solar.h>
35933 #include <unotools/sharedunocomponent.hxx>
35934 +#include <svx/svxdllapi.h>
35936 //........................................................................
35937 namespace svxform
35938 @@ -50,7 +51,7 @@ namespace svxform
35939 /** base class for classes which want to use dbtools features with load-on-call
35940 of the dbtools lib.
35942 - class ODbtoolsClient
35943 + class SVX_DLLPUBLIC ODbtoolsClient
35945 private:
35946 static ::osl::Mutex s_aMutex;
35947 @@ -82,7 +83,7 @@ namespace svxform
35948 //====================================================================
35949 //= OStaticDataAccessTools
35950 //====================================================================
35951 - class OStaticDataAccessTools : public ODbtoolsClient
35952 + class SVX_DLLPUBLIC OStaticDataAccessTools : public ODbtoolsClient
35954 protected:
35955 mutable ::rtl::Reference< ::connectivity::simple::IDataAccessTools > m_xDataAccessTools;
35956 @@ -93,7 +94,7 @@ namespace svxform
35957 public:
35958 OStaticDataAccessTools();
35960 - const ::rtl::Reference< ::connectivity::simple::IDataAccessTools >& getDataAccessTools() const { return m_xDataAccessTools; }
35961 + SVX_DLLPRIVATE const ::rtl::Reference< ::connectivity::simple::IDataAccessTools >& getDataAccessTools() const { return m_xDataAccessTools; }
35963 // ------------------------------------------------
35964 ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatsSupplier> getNumberFormats(
35965 @@ -102,13 +103,13 @@ namespace svxform
35966 ) const;
35968 // ------------------------------------------------
35969 - sal_Int32 getDefaultNumberFormat(
35970 + SVX_DLLPRIVATE sal_Int32 getDefaultNumberFormat(
35971 const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _xColumn,
35972 const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatTypes >& _xTypes,
35973 const ::com::sun::star::lang::Locale& _rLocale );
35975 // ------------------------------------------------
35976 - ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection> getConnection_withFeedback(
35977 + SVX_DLLPRIVATE ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection> getConnection_withFeedback(
35978 const ::rtl::OUString& _rDataSourceName,
35979 const ::rtl::OUString& _rUser,
35980 const ::rtl::OUString& _rPwd,
35981 @@ -130,26 +131,26 @@ namespace svxform
35982 const SAL_THROW ( (::com::sun::star::uno::RuntimeException) );
35984 // ------------------------------------------------
35985 - void TransferFormComponentProperties(
35986 + SVX_DLLPRIVATE void TransferFormComponentProperties(
35987 const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet>& _rxOld,
35988 const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet>& _rxNew,
35989 const ::com::sun::star::lang::Locale& _rLocale
35990 ) const;
35992 // ------------------------------------------------
35993 - ::rtl::OUString quoteName(
35994 + SVX_DLLPRIVATE ::rtl::OUString quoteName(
35995 const ::rtl::OUString& _rQuote,
35996 const ::rtl::OUString& _rName
35997 ) const;
35999 // ------------------------------------------------
36000 - ::rtl::OUString composeTableNameForSelect(
36001 + SVX_DLLPRIVATE ::rtl::OUString composeTableNameForSelect(
36002 const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection >& _rxConnection,
36003 const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet>& _xTable
36004 ) const;
36006 // ------------------------------------------------
36007 - ::com::sun::star::sdb::SQLContext prependContextInfo(
36008 + SVX_DLLPRIVATE ::com::sun::star::sdb::SQLContext prependContextInfo(
36009 ::com::sun::star::sdbc::SQLException& _rException,
36010 const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& _rxContext,
36011 const ::rtl::OUString& _rContextDescription,
36012 @@ -157,7 +158,7 @@ namespace svxform
36013 ) const;
36015 // ------------------------------------------------
36016 - ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XDataSource > getDataSource(
36017 + SVX_DLLPRIVATE ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XDataSource > getDataSource(
36018 const ::rtl::OUString& _rsRegisteredName,
36019 const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory>& _rxFactory
36020 ) const;
36021 @@ -166,22 +167,22 @@ namespace svxform
36022 /** check if the property "Privileges" supports ::com::sun::star::sdbcx::Privilege::INSERT
36023 @param _rxCursorSet the property set
36025 - sal_Bool canInsert(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet>& _rxCursorSet) const;
36026 + SVX_DLLPRIVATE sal_Bool canInsert(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet>& _rxCursorSet) const;
36028 // ------------------------------------------------
36029 /** check if the property "Privileges" supports ::com::sun::star::sdbcx::Privilege::UPDATE
36030 @param _rxCursorSet the property set
36032 - sal_Bool canUpdate(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet>& _rxCursorSet) const;
36033 + SVX_DLLPRIVATE sal_Bool canUpdate(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet>& _rxCursorSet) const;
36035 // ------------------------------------------------
36036 /** check if the property "Privileges" supports ::com::sun::star::sdbcx::Privilege::DELETE
36037 @param _rxCursorSet the property set
36039 - sal_Bool canDelete(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet>& _rxCursorSet) const;
36040 + SVX_DLLPRIVATE sal_Bool canDelete(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet>& _rxCursorSet) const;
36042 // ------------------------------------------------
36043 - ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess >
36044 + SVX_DLLPRIVATE ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess >
36045 getFieldsByCommandDescriptor(
36046 const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection >& _rxConnection,
36047 const sal_Int32 _nCommandType,
36048 @@ -200,13 +201,13 @@ namespace svxform
36049 ) SAL_THROW( ( ) );
36051 // ------------------------------------------------
36052 - bool isEmbeddedInDatabase(
36053 + SVX_DLLPRIVATE bool isEmbeddedInDatabase(
36054 const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& _rxComponent,
36055 ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection >& _rxActualConnection
36058 // ------------------------------------------------
36059 - bool isEmbeddedInDatabase(
36060 + SVX_DLLPRIVATE bool isEmbeddedInDatabase(
36061 const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& _rxComponent
36064 diff --git svx/source/inc/filtnav.hxx svx/source/inc/filtnav.hxx
36065 index fbce080..30f9ec1 100644
36066 --- svx/source/inc/filtnav.hxx
36067 +++ svx/source/inc/filtnav.hxx
36068 @@ -43,13 +43,8 @@
36069 #include <vcl/image.hxx>
36070 #include <svtools/svtreebx.hxx>
36072 -#ifndef _DIALOG_HXX //autogen
36073 #include <vcl/dialog.hxx>
36074 -#endif
36076 -#ifndef _GROUP_HXX //autogen
36077 #include <vcl/group.hxx>
36078 -#endif
36079 #include <vcl/dockwin.hxx>
36080 #include "fmtools.hxx"
36081 #include "fmexch.hxx"
36082 diff --git svx/source/inc/fmctrler.hxx svx/source/inc/fmctrler.hxx
36083 index 2c56c5f..0430e04 100644
36084 --- svx/source/inc/fmctrler.hxx
36085 +++ svx/source/inc/fmctrler.hxx
36086 @@ -273,7 +273,7 @@ public:
36087 // XUnoTunnel
36088 virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& aIdentifier ) throw(::com::sun::star::uno::RuntimeException);
36089 static ::com::sun::star::uno::Sequence< sal_Int8 > getUnoTunnelImplementationId();
36090 - static FmXFormController* getImplementation( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& _rxComponent );
36091 + SVX_DLLPUBLIC static FmXFormController* getImplementation( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& _rxComponent );
36093 // XDispatch
36094 virtual void SAL_CALL dispatch( const ::com::sun::star::util::URL& _rURL, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& _rArgs ) throw (::com::sun::star::uno::RuntimeException);
36095 @@ -462,7 +462,7 @@ public:
36096 --m_nCurrentFilterPosition;
36099 - void setCurrentFilterPosition(sal_Int32 nPos);
36100 + SVX_DLLPUBLIC void setCurrentFilterPosition(sal_Int32 nPos);
36101 sal_Int32 getCurrentFilterPosition() const {return m_nCurrentFilterPosition;}
36103 protected:
36104 diff --git svx/source/inc/fmexch.hxx svx/source/inc/fmexch.hxx
36105 index d6c44bc..2547f6d 100644
36106 --- svx/source/inc/fmexch.hxx
36107 +++ svx/source/inc/fmexch.hxx
36108 @@ -36,6 +36,8 @@
36109 #include <com/sun/star/container/XNameContainer.hpp>
36110 #include <tools/link.hxx>
36112 +#include <svx/svxdllapi.h>
36114 class FmFormShell;
36115 class FmFormPage;
36116 class SvLBoxEntry;
36117 @@ -63,7 +65,7 @@ namespace svxform
36118 //====================================================================
36119 //= OLocalExchange
36120 //====================================================================
36121 - class OLocalExchange : public TransferableHelper
36122 + class SVX_DLLPUBLIC OLocalExchange : public TransferableHelper
36124 private:
36125 Link m_aClipboardListener;
36126 @@ -110,7 +112,7 @@ namespace svxform
36127 //= OLocalExchangeHelper
36128 //====================================================================
36129 /// a helper for navigator windows (SvTreeListBox'es) which allow DnD within themself
36130 - class OLocalExchangeHelper
36131 + class SVX_DLLPUBLIC OLocalExchangeHelper
36133 protected:
36134 Window* m_pDragSource;
36135 @@ -130,13 +132,13 @@ namespace svxform
36136 inline sal_Bool isDataExchangeActive( ) const { return isDragSource() || isClipboardOwner(); }
36137 inline void clear() { if ( isDataExchangeActive() ) m_pTransferable->clear(); }
36139 - void setClipboardListener( const Link& _rListener ) { if ( m_pTransferable ) m_pTransferable->setClipboardListener( _rListener ); }
36140 + SVX_DLLPRIVATE void setClipboardListener( const Link& _rListener ) { if ( m_pTransferable ) m_pTransferable->setClipboardListener( _rListener ); }
36142 protected:
36143 - virtual OLocalExchange* createExchange() const = 0;
36144 + SVX_DLLPRIVATE virtual OLocalExchange* createExchange() const = 0;
36146 protected:
36147 - void implReset();
36148 + SVX_DLLPRIVATE void implReset();
36151 //====================================================================
36152 diff --git svx/source/inc/fmexpl.hxx svx/source/inc/fmexpl.hxx
36153 index 40f6522..28920e4 100644
36154 --- svx/source/inc/fmexpl.hxx
36155 +++ svx/source/inc/fmexpl.hxx
36156 @@ -593,10 +593,10 @@ namespace svxform
36159 //========================================================================
36160 - class NavigatorFrameManager : public SfxChildWindow
36161 + class SVX_DLLPUBLIC NavigatorFrameManager : public SfxChildWindow
36163 public:
36164 - NavigatorFrameManager( Window *pParent, sal_uInt16 nId, SfxBindings *pBindings,
36165 + SVX_DLLPRIVATE NavigatorFrameManager( Window *pParent, sal_uInt16 nId, SfxBindings *pBindings,
36166 SfxChildWinInfo *pInfo );
36167 SFX_DECL_CHILDWINDOW( NavigatorFrameManager );
36169 diff --git svx/source/inc/fmobj.hxx svx/source/inc/fmobj.hxx
36170 index defd657..0934fd6 100644
36171 --- svx/source/inc/fmobj.hxx
36172 +++ svx/source/inc/fmobj.hxx
36173 @@ -62,8 +62,8 @@ class FmFormObj: public SdrUnoObj
36174 // only to be used for comparison with the current ref device!
36176 public:
36177 - FmFormObj(const ::rtl::OUString& rModelName,sal_Int32 _nType);
36178 - FmFormObj(sal_Int32 _nType);
36179 + SVX_DLLPUBLIC FmFormObj(const ::rtl::OUString& rModelName,sal_Int32 _nType);
36180 + SVX_DLLPUBLIC FmFormObj(sal_Int32 _nType);
36182 TYPEINFO();
36184 diff --git svx/source/inc/fmprop.hrc svx/source/inc/fmprop.hrc
36185 index 1c2204c..5f227c4 100644
36186 --- svx/source/inc/fmprop.hrc
36187 +++ svx/source/inc/fmprop.hrc
36188 @@ -30,9 +30,6 @@
36189 #ifndef _SVX_FMPROP_HRC
36190 #define _SVX_FMPROP_HRC
36192 -#ifndef _FM_STATIC_HXX_
36193 -#include "fmstatic.hxx"
36194 -#endif
36195 // PropertyId's, welche eine Zuordnung zu einen PropertyName haben, das koennten
36196 // auch in Zukunft WhichIds sein -> Itemset
36197 #define FM_ATTR_START 0
36198 @@ -40,150 +37,144 @@
36199 #define FM_ATTR_FILTER ( FM_ATTR_START + 1 )
36200 #define FM_ATTR_FORM_OPERATIONS ( FM_ATTR_START + 2 )
36203 -namespace svxform
36205 - DECLARE_CONSTASCII_USTRING(FM_PROP_NAME);
36206 - DECLARE_CONSTASCII_USTRING(FM_PROP_CLASSID);
36207 - DECLARE_CONSTASCII_USTRING(FM_PROP_ALIGN);
36208 - DECLARE_CONSTASCII_USTRING(FM_PROP_ROWCOUNT);
36209 - DECLARE_CONSTASCII_USTRING(FM_PROP_ROWCOUNTFINAL);
36210 - DECLARE_CONSTASCII_USTRING(FM_PROP_FETCHSIZE);
36211 - DECLARE_CONSTASCII_USTRING(FM_PROP_VALUE);
36212 - DECLARE_CONSTASCII_USTRING(FM_PROP_VALUEMIN);
36213 - DECLARE_CONSTASCII_USTRING(FM_PROP_VALUEMAX);
36214 - DECLARE_CONSTASCII_USTRING(FM_PROP_VALUESTEP);
36215 - DECLARE_CONSTASCII_USTRING(FM_PROP_TEXT);
36216 - DECLARE_CONSTASCII_USTRING(FM_PROP_LABEL);
36217 - DECLARE_CONSTASCII_USTRING(FM_PROP_NAVIGATION);
36218 - DECLARE_CONSTASCII_USTRING(FM_PROP_CYCLE);
36219 - DECLARE_CONSTASCII_USTRING(FM_PROP_CONTROLSOURCE);
36220 - DECLARE_CONSTASCII_USTRING(FM_PROP_ENABLED);
36221 - DECLARE_CONSTASCII_USTRING(FM_PROP_SPIN);
36222 - DECLARE_CONSTASCII_USTRING(FM_PROP_READONLY);
36223 - DECLARE_CONSTASCII_USTRING(FM_PROP_FILTER);
36224 - DECLARE_CONSTASCII_USTRING(FM_PROP_AUTOINCREMENT);
36225 - DECLARE_CONSTASCII_USTRING(FM_PROP_WIDTH);
36226 - DECLARE_CONSTASCII_USTRING(FM_PROP_SEARCHABLE);
36227 - DECLARE_CONSTASCII_USTRING(FM_PROP_MULTILINE);
36228 - DECLARE_CONSTASCII_USTRING(FM_PROP_TARGET_URL);
36229 - DECLARE_CONSTASCII_USTRING(FM_PROP_DEFAULTCONTROL);
36230 - DECLARE_CONSTASCII_USTRING(FM_PROP_MAXTEXTLEN);
36231 - DECLARE_CONSTASCII_USTRING(FM_PROP_DATE);
36232 - DECLARE_CONSTASCII_USTRING(FM_PROP_TIME);
36233 - DECLARE_CONSTASCII_USTRING(FM_PROP_STATE);
36234 - DECLARE_CONSTASCII_USTRING(FM_PROP_TRISTATE);
36235 - DECLARE_CONSTASCII_USTRING(FM_PROP_STRINGITEMLIST);
36236 - DECLARE_CONSTASCII_USTRING(FM_PROP_DEFAULT_TEXT);
36237 - DECLARE_CONSTASCII_USTRING(FM_PROP_DEFAULTCHECKED);
36238 - DECLARE_CONSTASCII_USTRING(FM_PROP_DEFAULT_DATE);
36239 - DECLARE_CONSTASCII_USTRING(FM_PROP_DEFAULT_TIME);
36240 - DECLARE_CONSTASCII_USTRING(FM_PROP_DEFAULT_VALUE);
36241 - DECLARE_CONSTASCII_USTRING(FM_PROP_FORMATKEY);
36242 - DECLARE_CONSTASCII_USTRING(FM_PROP_FORMATSSUPPLIER);
36243 - DECLARE_CONSTASCII_USTRING(FM_PROP_LISTSOURCETYPE);
36244 - DECLARE_CONSTASCII_USTRING(FM_PROP_LISTSOURCE);
36245 - DECLARE_CONSTASCII_USTRING(FM_PROP_SELECT_SEQ);
36246 - DECLARE_CONSTASCII_USTRING(FM_PROP_VALUE_SEQ);
36247 - DECLARE_CONSTASCII_USTRING(FM_PROP_DEFAULT_SELECT_SEQ);
36248 - DECLARE_CONSTASCII_USTRING(FM_PROP_DECIMAL_ACCURACY);
36249 - DECLARE_CONSTASCII_USTRING(FM_PROP_EDITMASK);
36250 - DECLARE_CONSTASCII_USTRING(FM_PROP_ISREADONLY);
36251 - DECLARE_CONSTASCII_USTRING(FM_PROP_FIELDTYPE);
36252 - DECLARE_CONSTASCII_USTRING(FM_PROP_REFVALUE);
36253 - DECLARE_CONSTASCII_USTRING(FM_PROP_STRICTFORMAT);
36254 - DECLARE_CONSTASCII_USTRING(FM_PROP_DATASOURCE);
36255 - DECLARE_CONSTASCII_USTRING(FM_PROP_LITERALMASK);
36256 - DECLARE_CONSTASCII_USTRING(FM_PROP_SHOWTHOUSANDSEP);
36257 - DECLARE_CONSTASCII_USTRING(FM_PROP_CURRENCYSYMBOL);
36258 - DECLARE_CONSTASCII_USTRING(FM_PROP_DATEFORMAT);
36259 - DECLARE_CONSTASCII_USTRING(FM_PROP_DATEMIN);
36260 - DECLARE_CONSTASCII_USTRING(FM_PROP_DATEMAX);
36261 - DECLARE_CONSTASCII_USTRING(FM_PROP_DATE_SHOW_CENTURY);
36262 - DECLARE_CONSTASCII_USTRING(FM_PROP_TIMEFORMAT);
36263 - DECLARE_CONSTASCII_USTRING(FM_PROP_TIMEMIN);
36264 - DECLARE_CONSTASCII_USTRING(FM_PROP_TIMEMAX);
36265 - DECLARE_CONSTASCII_USTRING(FM_PROP_LINECOUNT);
36266 - DECLARE_CONSTASCII_USTRING(FM_PROP_BOUNDCOLUMN);
36267 - DECLARE_CONSTASCII_USTRING(FM_PROP_HASNAVIGATION);
36268 - DECLARE_CONSTASCII_USTRING(FM_PROP_FONT);
36269 - DECLARE_CONSTASCII_USTRING(FM_PROP_BACKGROUNDCOLOR);
36270 - DECLARE_CONSTASCII_USTRING(FM_PROP_TEXTCOLOR);
36271 - DECLARE_CONSTASCII_USTRING(FM_PROP_BORDER);
36272 - DECLARE_CONSTASCII_USTRING(FM_PROP_DROPDOWN);
36273 - DECLARE_CONSTASCII_USTRING(FM_PROP_ROWHEIGHT);
36274 - DECLARE_CONSTASCII_USTRING(FM_PROP_HELPTEXT);
36275 - DECLARE_CONSTASCII_USTRING(FM_PROP_HELPURL);
36276 - DECLARE_CONSTASCII_USTRING(FM_PROP_RECORDMARKER);
36277 - DECLARE_CONSTASCII_USTRING(FM_PROP_BOUNDFIELD);
36278 - DECLARE_CONSTASCII_USTRING(FM_PROP_EFFECTIVE_VALUE);
36279 - DECLARE_CONSTASCII_USTRING(FM_PROP_EFFECTIVE_DEFAULT);
36280 - DECLARE_CONSTASCII_USTRING(FM_PROP_EFFECTIVE_MIN);
36281 - DECLARE_CONSTASCII_USTRING(FM_PROP_EFFECTIVE_MAX);
36282 - DECLARE_CONSTASCII_USTRING(FM_PROP_HIDDEN);
36283 - DECLARE_CONSTASCII_USTRING(FM_PROP_FILTERPROPOSAL);
36284 - DECLARE_CONSTASCII_USTRING(FM_PROP_FIELDSOURCE);
36285 - DECLARE_CONSTASCII_USTRING(FM_PROP_TABLENAME);
36286 - DECLARE_CONSTASCII_USTRING(FM_PROP_FILTERSUPPLIER);
36287 - DECLARE_CONSTASCII_USTRING(FM_PROP_CURRENTFILTER);
36288 - DECLARE_CONSTASCII_USTRING(FM_PROP_SELECTED_FIELDS);
36289 - DECLARE_CONSTASCII_USTRING(FM_PROP_SELECTED_TABLES);
36290 - DECLARE_CONSTASCII_USTRING(FM_PROP_THREADSAFE);
36291 - DECLARE_CONSTASCII_USTRING(FM_PROP_CONTROLLABEL);
36292 - DECLARE_CONSTASCII_USTRING(FM_PROP_CURSORCOLOR);
36293 - DECLARE_CONSTASCII_USTRING(FM_PROP_ALWAYSSHOWCURSOR);
36294 - DECLARE_CONSTASCII_USTRING(FM_PROP_DISPLAYSYNCHRON);
36295 - DECLARE_CONSTASCII_USTRING(FM_PROP_ISMODIFIED);
36296 - DECLARE_CONSTASCII_USTRING(FM_PROP_ISNEW);
36297 - DECLARE_CONSTASCII_USTRING(FM_PROP_PRIVILEGES);
36298 - DECLARE_CONSTASCII_USTRING(FM_PROP_COMMAND);
36299 - DECLARE_CONSTASCII_USTRING(FM_PROP_COMMANDTYPE);
36300 - DECLARE_CONSTASCII_USTRING(FM_PROP_RESULTSET_CONCURRENCY);
36301 - DECLARE_CONSTASCII_USTRING(FM_PROP_INSERTONLY);
36302 - DECLARE_CONSTASCII_USTRING(FM_PROP_RESULTSET_TYPE);
36303 - DECLARE_CONSTASCII_USTRING(FM_PROP_ESCAPE_PROCESSING);
36304 - DECLARE_CONSTASCII_USTRING(FM_PROP_APPLYFILTER);
36305 - DECLARE_CONSTASCII_USTRING(FM_PROP_ISNULLABLE);
36306 - DECLARE_CONSTASCII_USTRING(FM_PROP_ACTIVECOMMAND);
36307 - DECLARE_CONSTASCII_USTRING(FM_PROP_ISCURRENCY);
36308 - DECLARE_CONSTASCII_USTRING(FM_PROP_URL);
36309 - DECLARE_CONSTASCII_USTRING(FM_PROP_ACTIVE_CONNECTION);
36310 - DECLARE_CONSTASCII_USTRING(FM_PROP_SORT);
36311 - DECLARE_CONSTASCII_USTRING(FM_PROP_CONTROLSOURCEPROPERTY);
36312 - DECLARE_CONSTASCII_USTRING(FM_PROP_REALNAME);
36313 - DECLARE_CONSTASCII_USTRING(FM_PROP_TEXTLINECOLOR);
36314 - DECLARE_CONSTASCII_USTRING(FM_PROP_FONTEMPHASISMARK);
36315 - DECLARE_CONSTASCII_USTRING(FM_PROP_FONTRELIEF);
36316 - DECLARE_CONSTASCII_USTRING( FM_PROP_SCROLLVALUE_MIN );
36317 - DECLARE_CONSTASCII_USTRING( FM_PROP_SCROLLVALUE_MAX );
36318 - DECLARE_CONSTASCII_USTRING( FM_PROP_DEFAULT_SCROLLVALUE );
36319 - DECLARE_CONSTASCII_USTRING( FM_PROP_LINEINCREMENT );
36320 - DECLARE_CONSTASCII_USTRING( FM_PROP_BLOCKINCREMENT );
36321 - DECLARE_CONSTASCII_USTRING( FM_PROP_ORIENTATION );
36322 - DECLARE_CONSTASCII_USTRING( FM_PROP_REPEAT );
36323 - DECLARE_CONSTASCII_USTRING( FM_PROP_REPEATDELAY );
36324 - DECLARE_CONSTASCII_USTRING( FM_PROP_SYMBOLCOLOR );
36325 - DECLARE_CONSTASCII_USTRING( FM_PROP_VISIBILESIZE );
36326 - DECLARE_CONSTASCII_USTRING( FM_PROP_SPINVALUE_MIN );
36327 - DECLARE_CONSTASCII_USTRING( FM_PROP_SPINVALUE_MAX );
36328 - DECLARE_CONSTASCII_USTRING( FM_PROP_DEFAULT_SPINVALUE );
36329 - DECLARE_CONSTASCII_USTRING( FM_PROP_SPININCREMENT );
36330 - DECLARE_CONSTASCII_USTRING( FM_PROP_LINEENDFORMAT );
36331 - DECLARE_CONSTASCII_USTRING( FM_PROP_TOGGLE );
36332 - DECLARE_CONSTASCII_USTRING( FM_PROP_FOCUSONCLICK );
36333 - DECLARE_CONSTASCII_USTRING( FM_PROP_HIDEINACTIVESELECTION );
36334 - DECLARE_CONSTASCII_USTRING( FM_PROP_VISUALEFFECT );
36335 - DECLARE_CONSTASCII_USTRING( FM_PROP_BORDERCOLOR );
36336 - DECLARE_CONSTASCII_USTRING( FM_PROP_DYNAMIC_CONTROL_BORDER );
36337 - DECLARE_CONSTASCII_USTRING( FM_PROP_CONTROL_BORDER_COLOR_FOCUS );
36338 - DECLARE_CONSTASCII_USTRING( FM_PROP_CONTROL_BORDER_COLOR_MOUSE );
36339 - DECLARE_CONSTASCII_USTRING( FM_PROP_CONTROL_BORDER_COLOR_INVALID );
36340 - DECLARE_CONSTASCII_USTRING( FM_PROP_BUTTON_TYPE );
36341 - DECLARE_CONSTASCII_USTRING( FM_PROP_FORM_OPERATIONS );
36342 - DECLARE_CONSTASCII_USTRING( FM_PROP_INPUT_REQUIRED );
36343 - DECLARE_CONSTASCII_USTRING( FM_PROP_WRITING_MODE );
36345 -} // namespace svxform
36346 +#define FM_PROP_NAME rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Name" ) )
36347 +#define FM_PROP_CLASSID rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ClassId" ) )
36348 +#define FM_PROP_ALIGN rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Align" ) )
36349 +#define FM_PROP_ROWCOUNT rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "RowCount" ) )
36350 +#define FM_PROP_ROWCOUNTFINAL rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "IsRowCountFinal" ) )
36351 +#define FM_PROP_FETCHSIZE rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "FetchSize" ) )
36352 +#define FM_PROP_VALUE rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Value" ) )
36353 +#define FM_PROP_VALUEMIN rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ValueMin" ) )
36354 +#define FM_PROP_VALUEMAX rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ValueMax" ) )
36355 +#define FM_PROP_VALUESTEP rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ValueStep" ) )
36356 +#define FM_PROP_TEXT rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Text" ) )
36357 +#define FM_PROP_LABEL rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Label" ) )
36358 +#define FM_PROP_NAVIGATION rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "NavigationBarMode" ) )
36359 +#define FM_PROP_CYCLE rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Cycle" ) )
36360 +#define FM_PROP_CONTROLSOURCE rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "DataField" ) )
36361 +#define FM_PROP_ENABLED rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Enabled" ) )
36362 +#define FM_PROP_SPIN rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Spin" ) )
36363 +#define FM_PROP_READONLY rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ReadOnly" ) )
36364 +#define FM_PROP_FILTER rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Filter" ) )
36365 +#define FM_PROP_AUTOINCREMENT rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "IsAutoIncrement" ) )
36366 +#define FM_PROP_WIDTH rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Width" ) )
36367 +#define FM_PROP_SEARCHABLE rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "IsSearchable" ) )
36368 +#define FM_PROP_MULTILINE rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "MultiLine" ) )
36369 +#define FM_PROP_TARGET_URL rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "TargetURL" ) )
36370 +#define FM_PROP_DEFAULTCONTROL rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "DefaultControl" ) )
36371 +#define FM_PROP_MAXTEXTLEN rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "MaxTextLen" ) )
36372 +#define FM_PROP_DATE rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Date" ) )
36373 +#define FM_PROP_TIME rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Time" ) )
36374 +#define FM_PROP_STATE rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "State" ) )
36375 +#define FM_PROP_TRISTATE rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "TriState" ) )
36376 +#define FM_PROP_STRINGITEMLIST rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "StringItemList" ) )
36377 +#define FM_PROP_DEFAULT_TEXT rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "DefaultText" ) )
36378 +#define FM_PROP_DEFAULTCHECKED rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "DefaultState" ) )
36379 +#define FM_PROP_DEFAULT_DATE rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "DefaultDate" ) )
36380 +#define FM_PROP_DEFAULT_TIME rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "DefaultTime" ) )
36381 +#define FM_PROP_DEFAULT_VALUE rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "DefaultValue" ) )
36382 +#define FM_PROP_FORMATKEY rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "FormatKey" ) )
36383 +#define FM_PROP_FORMATSSUPPLIER rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "FormatsSupplier" ) )
36384 +#define FM_PROP_LISTSOURCETYPE rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ListSourceType" ) )
36385 +#define FM_PROP_LISTSOURCE rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ListSource" ) )
36386 +#define FM_PROP_SELECT_SEQ rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "SelectedItems" ) )
36387 +#define FM_PROP_VALUE_SEQ rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ValueItemList" ) )
36388 +#define FM_PROP_DEFAULT_SELECT_SEQ rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "DefaultSelection" ) )
36389 +#define FM_PROP_DECIMAL_ACCURACY rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "DecimalAccuracy" ) )
36390 +#define FM_PROP_EDITMASK rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "EditMask" ) )
36391 +#define FM_PROP_ISREADONLY rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "IsReadOnly" ) )
36392 +#define FM_PROP_FIELDTYPE rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Type" ) )
36393 +#define FM_PROP_REFVALUE rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "RefValue" ) )
36394 +#define FM_PROP_STRICTFORMAT rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "StrictFormat" ) )
36395 +#define FM_PROP_DATASOURCE rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "DataSourceName" ) )
36396 +#define FM_PROP_LITERALMASK rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "LiteralMask" ) )
36397 +#define FM_PROP_SHOWTHOUSANDSEP rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ShowThousandsSeparator" ) )
36398 +#define FM_PROP_CURRENCYSYMBOL rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "CurrencySymbol" ) )
36399 +#define FM_PROP_DATEFORMAT rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "DateFormat" ) )
36400 +#define FM_PROP_DATEMIN rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "DateMin" ) )
36401 +#define FM_PROP_DATEMAX rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "DateMax" ) )
36402 +#define FM_PROP_DATE_SHOW_CENTURY rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "DateShowCentury" ) )
36403 +#define FM_PROP_TIMEFORMAT rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "TimeFormat" ) )
36404 +#define FM_PROP_TIMEMIN rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "TimeMin" ) )
36405 +#define FM_PROP_TIMEMAX rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "TimeMax" ) )
36406 +#define FM_PROP_LINECOUNT rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "LineCount" ) )
36407 +#define FM_PROP_BOUNDCOLUMN rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "BoundColumn" ) )
36408 +#define FM_PROP_HASNAVIGATION rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "HasNavigationBar" ) )
36409 +#define FM_PROP_FONT rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "FontDescriptor" ) )
36410 +#define FM_PROP_BACKGROUNDCOLOR rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "BackgroundColor" ) )
36411 +#define FM_PROP_TEXTCOLOR rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "TextColor" ) )
36412 +#define FM_PROP_BORDER rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Border" ) )
36413 +#define FM_PROP_DROPDOWN rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Dropdown" ) )
36414 +#define FM_PROP_ROWHEIGHT rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "RowHeight" ) )
36415 +#define FM_PROP_HELPTEXT rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "HelpText" ) )
36416 +#define FM_PROP_HELPURL rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "HelpURL" ) )
36417 +#define FM_PROP_RECORDMARKER rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "HasRecordMarker" ) )
36418 +#define FM_PROP_BOUNDFIELD rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "BoundField" ) )
36419 +#define FM_PROP_EFFECTIVE_VALUE rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "EffectiveValue" ) )
36420 +#define FM_PROP_EFFECTIVE_DEFAULT rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "EffectiveDefault" ) )
36421 +#define FM_PROP_EFFECTIVE_MIN rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "EffectiveMin" ) )
36422 +#define FM_PROP_EFFECTIVE_MAX rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "EffectiveMax" ) )
36423 +#define FM_PROP_HIDDEN rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Hidden" ) )
36424 +#define FM_PROP_FILTERPROPOSAL rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "UseFilterValueProposal" ) )
36425 +#define FM_PROP_FIELDSOURCE rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "FieldSource" ) )
36426 +#define FM_PROP_TABLENAME rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "TableName" ) )
36427 +#define FM_PROP_FILTERSUPPLIER rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "FilterSupplier" ) )
36428 +#define FM_PROP_CURRENTFILTER rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "CurrentFilter" ) )
36429 +#define FM_PROP_SELECTED_FIELDS rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "SelectedFields" ) )
36430 +#define FM_PROP_SELECTED_TABLES rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "SelectedTables" ) )
36431 +#define FM_PROP_THREADSAFE rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ThreadSafe" ) )
36432 +#define FM_PROP_CONTROLLABEL rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "LabelControl" ) )
36433 +#define FM_PROP_CURSORCOLOR rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "CursorColor" ) )
36434 +#define FM_PROP_ALWAYSSHOWCURSOR rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "AlwaysShowCursor" ) )
36435 +#define FM_PROP_DISPLAYSYNCHRON rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "DisplayIsSynchron" ) )
36436 +#define FM_PROP_ISMODIFIED rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "IsModified" ) )
36437 +#define FM_PROP_ISNEW rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "IsNew" ) )
36438 +#define FM_PROP_PRIVILEGES rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Privileges" ) )
36439 +#define FM_PROP_COMMAND rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Command" ) )
36440 +#define FM_PROP_COMMANDTYPE rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "CommandType" ) )
36441 +#define FM_PROP_RESULTSET_CONCURRENCY rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ResultSetConcurrency" ) )
36442 +#define FM_PROP_INSERTONLY rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "IgnoreResult" ) )
36443 +#define FM_PROP_RESULTSET_TYPE rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ResultSetType" ) )
36444 +#define FM_PROP_ESCAPE_PROCESSING rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "EscapeProcessing" ) )
36445 +#define FM_PROP_APPLYFILTER rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ApplyFilter" ) )
36446 +#define FM_PROP_ISNULLABLE rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "IsNullable" ) )
36447 +#define FM_PROP_ACTIVECOMMAND rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ActiveCommand" ) )
36448 +#define FM_PROP_ISCURRENCY rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "IsCurrency" ) )
36449 +#define FM_PROP_URL rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "URL" ) )
36450 +#define FM_PROP_ACTIVE_CONNECTION rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ActiveConnection" ) )
36451 +#define FM_PROP_SORT rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Order" ) )
36452 +#define FM_PROP_CONTROLSOURCEPROPERTY rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "DataFieldProperty" ) )
36453 +#define FM_PROP_REALNAME rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "RealName" ) )
36454 +#define FM_PROP_TEXTLINECOLOR rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "TextLineColor" ) )
36455 +#define FM_PROP_FONTEMPHASISMARK rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "FontEmphasisMark" ) )
36456 +#define FM_PROP_FONTRELIEF rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "FontRelief" ) )
36457 +#define FM_PROP_SCROLLVALUE_MIN rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ScrollValueMin" ) )
36458 +#define FM_PROP_SCROLLVALUE_MAX rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ScrollValueMax" ) )
36459 +#define FM_PROP_DEFAULT_SCROLLVALUE rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "DefaultScrollValue" ) )
36460 +#define FM_PROP_LINEINCREMENT rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "LineIncrement" ) )
36461 +#define FM_PROP_BLOCKINCREMENT rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "BlockIncrement" ) )
36462 +#define FM_PROP_ORIENTATION rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Orientation" ) )
36463 +#define FM_PROP_REPEAT rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Repeat" ) )
36464 +#define FM_PROP_REPEATDELAY rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "RepeatDelay" ) )
36465 +#define FM_PROP_SYMBOLCOLOR rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "SymbolColor" ) )
36466 +#define FM_PROP_VISIBILESIZE rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "VisibleSize" ) )
36467 +#define FM_PROP_SPINVALUE_MIN rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "SpinValueMin" ) )
36468 +#define FM_PROP_SPINVALUE_MAX rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "SpinValueMax" ) )
36469 +#define FM_PROP_DEFAULT_SPINVALUE rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "DefaultSpinValue" ) )
36470 +#define FM_PROP_SPININCREMENT rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "SpinIncrement" ) )
36471 +#define FM_PROP_LINEENDFORMAT rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "LineEndFormat" ) )
36472 +#define FM_PROP_TOGGLE rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Toggle" ) )
36473 +#define FM_PROP_FOCUSONCLICK rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "FocusOnClick" ) )
36474 +#define FM_PROP_HIDEINACTIVESELECTION rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "HideInactiveSelection" ) )
36475 +#define FM_PROP_VISUALEFFECT rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "VisualEffect" ) )
36476 +#define FM_PROP_BORDERCOLOR rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "BorderColor" ) )
36477 +#define FM_PROP_DYNAMIC_CONTROL_BORDER rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "DynamicControlBorder" ) )
36478 +#define FM_PROP_CONTROL_BORDER_COLOR_FOCUS rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ControlBorderColorOnFocus" ) )
36479 +#define FM_PROP_CONTROL_BORDER_COLOR_MOUSE rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ControlBorderColorOnHover" ) )
36480 +#define FM_PROP_CONTROL_BORDER_COLOR_INVALID rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ControlBorderColorOnInvalid" ) )
36481 +#define FM_PROP_BUTTON_TYPE rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ButtonType" ) )
36482 +#define FM_PROP_FORM_OPERATIONS rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "FormOperations" ) )
36483 +#define FM_PROP_INPUT_REQUIRED rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "InputRequired" ) )
36484 +#define FM_PROP_WRITING_MODE rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "WritingMode" ) )
36486 #endif // _SVX_FMPROP_HRC
36488 diff --git svx/source/inc/fmservs.hxx svx/source/inc/fmservs.hxx
36489 index e70374f..13c0c73 100644
36490 --- svx/source/inc/fmservs.hxx
36491 +++ svx/source/inc/fmservs.hxx
36492 @@ -30,76 +30,64 @@
36493 #ifndef _SVX_FMSERVS_HXX
36494 #define _SVX_FMSERVS_HXX
36496 -#include "fmstatic.hxx"
36497 +#include <svx/svxdllapi.h>
36499 +#define FM_NUMBER_FORMATTER rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.util.NumberFormatter" ) )
36500 +#define FM_COMPONENT_EDIT rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "stardiv.one.form.component.Edit" ) )
36501 +#define FM_COMPONENT_TEXTFIELD rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "stardiv.one.form.component.TextField" ) )
36502 +#define FM_COMPONENT_LISTBOX rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "stardiv.one.form.component.ListBox" ) )
36503 +#define FM_COMPONENT_COMBOBOX rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "stardiv.one.form.component.ComboBox" ) )
36504 +#define FM_COMPONENT_RADIOBUTTON rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "stardiv.one.form.component.RadioButton" ) )
36505 +#define FM_COMPONENT_GROUPBOX rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "stardiv.one.form.component.GroupBox" ) )
36506 +#define FM_COMPONENT_FIXEDTEXT rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "stardiv.one.form.component.FixedText" ) )
36507 +#define FM_COMPONENT_COMMANDBUTTON rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "stardiv.one.form.component.CommandButton" ) )
36508 +#define FM_COMPONENT_CHECKBOX rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "stardiv.one.form.component.CheckBox" ) )
36509 +#define FM_COMPONENT_GRID rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "stardiv.one.form.component.Grid" ) )
36510 +#define FM_COMPONENT_GRIDCONTROL rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "stardiv.one.form.component.GridControl" ) )
36511 +#define FM_COMPONENT_IMAGEBUTTON rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "stardiv.one.form.component.ImageButton" ) )
36512 +#define FM_COMPONENT_FILECONTROL rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "stardiv.one.form.component.FileControl" ) )
36513 +#define FM_COMPONENT_TIMEFIELD rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "stardiv.one.form.component.TimeField" ) )
36514 +#define FM_COMPONENT_DATEFIELD rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "stardiv.one.form.component.DateField" ) )
36515 +#define FM_COMPONENT_NUMERICFIELD rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "stardiv.one.form.component.NumericField" ) )
36516 +#define FM_COMPONENT_CURRENCYFIELD rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "stardiv.one.form.component.CurrencyField" ) )
36517 +#define FM_COMPONENT_PATTERNFIELD rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "stardiv.one.form.component.PatternField" ) )
36518 +#define FM_COMPONENT_FORMATTEDFIELD rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "stardiv.one.form.component.FormattedField" ) )
36519 +#define FM_COMPONENT_HIDDEN rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "stardiv.one.form.component.Hidden" ) )
36520 +#define FM_COMPONENT_HIDDENCONTROL rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "stardiv.one.form.component.HiddenControl" ) )
36521 +#define FM_COMPONENT_IMAGECONTROL rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "stardiv.one.form.component.ImageControl" ) )
36522 +#define FM_CONTROL_GRID rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "stardiv.one.form.control.Grid" ) )
36523 +#define FM_CONTROL_GRIDCONTROL rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "stardiv.one.form.control.GridControl" ) )
36524 +#define FM_FORM_CONTROLLER rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.form.FormController" ) )
36525 +#define SRV_SDB_CONNECTION rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.sdb.Connection" ) )
36526 +#define SRV_SDB_INTERACTION_HANDLER rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.sdb.InteractionHandler" ) )
36527 +#define FM_SUN_COMPONENT_FORM rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.form.component.Form" ) )
36528 +#define FM_SUN_COMPONENT_TEXTFIELD rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.form.component.TextField" ) )
36529 +#define FM_SUN_COMPONENT_LISTBOX rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.form.component.ListBox" ) )
36530 +#define FM_SUN_COMPONENT_COMBOBOX rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.form.component.ComboBox" ) )
36531 +#define FM_SUN_COMPONENT_RADIOBUTTON rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.form.component.RadioButton" ) )
36532 +#define FM_SUN_COMPONENT_GROUPBOX rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.form.component.GroupBox" ) )
36533 +#define FM_SUN_COMPONENT_FIXEDTEXT rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.form.component.FixedText" ) )
36534 +#define FM_SUN_COMPONENT_COMMANDBUTTON rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.form.component.CommandButton" ) )
36535 +#define FM_SUN_COMPONENT_CHECKBOX rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.form.component.CheckBox" ) )
36536 +#define FM_SUN_COMPONENT_GRIDCONTROL rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.form.component.GridControl" ) )
36537 +#define FM_SUN_COMPONENT_IMAGEBUTTON rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.form.component.ImageButton" ) )
36538 +#define FM_SUN_COMPONENT_FILECONTROL rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.form.component.FileControl" ) )
36539 +#define FM_SUN_COMPONENT_TIMEFIELD rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.form.component.TimeField" ) )
36540 +#define FM_SUN_COMPONENT_DATEFIELD rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.form.component.DateField" ) )
36541 +#define FM_SUN_COMPONENT_NUMERICFIELD rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.form.component.NumericField" ) )
36542 +#define FM_SUN_COMPONENT_CURRENCYFIELD rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.form.component.CurrencyField" ) )
36543 +#define FM_SUN_COMPONENT_PATTERNFIELD rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.form.component.PatternField" ) )
36544 +#define FM_SUN_COMPONENT_HIDDENCONTROL rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.form.component.HiddenControl" ) )
36545 +#define FM_SUN_COMPONENT_IMAGECONTROL rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.form.component.DatabaseImageControl" ) )
36546 +#define FM_SUN_COMPONENT_FORMATTEDFIELD rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.form.component.FormattedField" ) )
36547 +#define FM_SUN_COMPONENT_SCROLLBAR rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.form.component.ScrollBar" ) )
36548 +#define FM_SUN_COMPONENT_SPINBUTTON rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.form.component.SpinButton" ) )
36549 +#define FM_SUN_COMPONENT_NAVIGATIONBAR rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.form.component.NavigationToolBar" ) )
36550 +#define FM_SUN_CONTROL_GRIDCONTROL rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.form.control.GridControl" ) )
36552 namespace svxform
36555 - DECLARE_CONSTASCII_USTRING(FM_NUMBER_FORMATTER);
36557 - DECLARE_CONSTASCII_USTRING(FM_COMPONENT_EDIT); // alter service name (5.0)
36558 - DECLARE_CONSTASCII_USTRING(FM_COMPONENT_TEXTFIELD);
36560 - DECLARE_CONSTASCII_USTRING(FM_COMPONENT_LISTBOX);
36561 - DECLARE_CONSTASCII_USTRING(FM_COMPONENT_COMBOBOX);
36562 - DECLARE_CONSTASCII_USTRING(FM_COMPONENT_RADIOBUTTON);
36563 - DECLARE_CONSTASCII_USTRING(FM_COMPONENT_GROUPBOX);
36564 - DECLARE_CONSTASCII_USTRING(FM_COMPONENT_FIXEDTEXT);
36565 - DECLARE_CONSTASCII_USTRING(FM_COMPONENT_COMMANDBUTTON);
36566 - DECLARE_CONSTASCII_USTRING(FM_COMPONENT_CHECKBOX);
36568 - DECLARE_CONSTASCII_USTRING(FM_COMPONENT_GRID); // alter service name (5.0)
36569 - DECLARE_CONSTASCII_USTRING(FM_COMPONENT_GRIDCONTROL);
36571 - DECLARE_CONSTASCII_USTRING(FM_COMPONENT_IMAGEBUTTON);
36572 - DECLARE_CONSTASCII_USTRING(FM_COMPONENT_FILECONTROL);
36573 - DECLARE_CONSTASCII_USTRING(FM_COMPONENT_TIMEFIELD);
36574 - DECLARE_CONSTASCII_USTRING(FM_COMPONENT_DATEFIELD);
36575 - DECLARE_CONSTASCII_USTRING(FM_COMPONENT_NUMERICFIELD);
36576 - DECLARE_CONSTASCII_USTRING(FM_COMPONENT_CURRENCYFIELD);
36577 - DECLARE_CONSTASCII_USTRING(FM_COMPONENT_PATTERNFIELD);
36578 - DECLARE_CONSTASCII_USTRING(FM_COMPONENT_FORMATTEDFIELD);
36580 - DECLARE_CONSTASCII_USTRING(FM_COMPONENT_HIDDEN); // alter service name (5.0)
36581 - DECLARE_CONSTASCII_USTRING(FM_COMPONENT_HIDDENCONTROL);
36583 - DECLARE_CONSTASCII_USTRING(FM_COMPONENT_IMAGECONTROL);
36585 - DECLARE_CONSTASCII_USTRING(FM_CONTROL_GRID);
36586 - DECLARE_CONSTASCII_USTRING(FM_CONTROL_GRIDCONTROL);
36588 - DECLARE_CONSTASCII_USTRING(FM_FORM_CONTROLLER);
36589 - DECLARE_CONSTASCII_USTRING(SRV_SDB_CONNECTION);
36590 - DECLARE_CONSTASCII_USTRING(SRV_SDB_INTERACTION_HANDLER);
36592 - DECLARE_CONSTASCII_USTRING(FM_SUN_COMPONENT_FORM);
36593 - DECLARE_CONSTASCII_USTRING(FM_SUN_COMPONENT_TEXTFIELD);
36594 - DECLARE_CONSTASCII_USTRING(FM_SUN_COMPONENT_LISTBOX);
36595 - DECLARE_CONSTASCII_USTRING(FM_SUN_COMPONENT_COMBOBOX);
36596 - DECLARE_CONSTASCII_USTRING(FM_SUN_COMPONENT_RADIOBUTTON);
36597 - DECLARE_CONSTASCII_USTRING(FM_SUN_COMPONENT_GROUPBOX);
36598 - DECLARE_CONSTASCII_USTRING(FM_SUN_COMPONENT_FIXEDTEXT);
36599 - DECLARE_CONSTASCII_USTRING(FM_SUN_COMPONENT_COMMANDBUTTON);
36600 - DECLARE_CONSTASCII_USTRING(FM_SUN_COMPONENT_CHECKBOX);
36601 - DECLARE_CONSTASCII_USTRING(FM_SUN_COMPONENT_GRIDCONTROL);
36602 - DECLARE_CONSTASCII_USTRING(FM_SUN_COMPONENT_IMAGEBUTTON);
36603 - DECLARE_CONSTASCII_USTRING(FM_SUN_COMPONENT_FILECONTROL);
36604 - DECLARE_CONSTASCII_USTRING(FM_SUN_COMPONENT_TIMEFIELD);
36605 - DECLARE_CONSTASCII_USTRING(FM_SUN_COMPONENT_DATEFIELD);
36606 - DECLARE_CONSTASCII_USTRING(FM_SUN_COMPONENT_NUMERICFIELD);
36607 - DECLARE_CONSTASCII_USTRING(FM_SUN_COMPONENT_CURRENCYFIELD);
36608 - DECLARE_CONSTASCII_USTRING(FM_SUN_COMPONENT_PATTERNFIELD);
36609 - DECLARE_CONSTASCII_USTRING(FM_SUN_COMPONENT_HIDDENCONTROL);
36610 - DECLARE_CONSTASCII_USTRING(FM_SUN_COMPONENT_IMAGECONTROL);
36611 - DECLARE_CONSTASCII_USTRING(FM_SUN_COMPONENT_FORMATTEDFIELD);
36612 - DECLARE_CONSTASCII_USTRING(FM_SUN_COMPONENT_SCROLLBAR);
36613 - DECLARE_CONSTASCII_USTRING(FM_SUN_COMPONENT_SPINBUTTON);
36614 - DECLARE_CONSTASCII_USTRING(FM_SUN_COMPONENT_NAVIGATIONBAR);
36616 - DECLARE_CONSTASCII_USTRING(FM_SUN_CONTROL_GRIDCONTROL);
36618 - void ImplSmartRegisterUnoServices();
36620 + SVX_DLLPUBLIC void ImplSmartRegisterUnoServices();
36621 } // namespace svxform
36623 #endif // _SVX_FMSERVS_HXX
36624 diff --git svx/source/inc/fmshimp.hxx svx/source/inc/fmshimp.hxx
36625 index 8d20b1d..f5c28d2 100644
36626 --- svx/source/inc/fmshimp.hxx
36627 +++ svx/source/inc/fmshimp.hxx
36628 @@ -421,7 +421,7 @@ public:
36630 /** retrieves the current selection
36632 - void getCurrentSelection( InterfaceBag& /* [out] */ _rSelection ) const;
36633 + SVX_DLLPUBLIC void getCurrentSelection( InterfaceBag& /* [out] */ _rSelection ) const;
36635 /** sets a new current selection as indicated by a mark list
36636 @return
36637 @@ -622,7 +622,7 @@ public:
36639 // ========================================================================
36640 SV_DECL_PTRARR_DEL(StatusForwarderArray, SfxStatusForwarder*, 16, 0)
36641 -class SAL_DLLPRIVATE ControlConversionMenuController : public SfxMenuControl
36642 +class SVX_DLLPUBLIC ControlConversionMenuController : public SfxMenuControl
36644 protected:
36645 StatusForwarderArray m_aStatusForwarders;
36646 @@ -630,11 +630,11 @@ protected:
36647 PopupMenu* m_pConversionMenu;
36649 public:
36650 - ControlConversionMenuController(sal_uInt16 nId, Menu& rMenu, SfxBindings& rBindings);
36651 - virtual ~ControlConversionMenuController();
36652 + SVX_DLLPRIVATE ControlConversionMenuController(sal_uInt16 nId, Menu& rMenu, SfxBindings& rBindings);
36653 + SVX_DLLPRIVATE virtual ~ControlConversionMenuController();
36654 SFX_DECL_MENU_CONTROL();
36656 - virtual void StateChanged(sal_uInt16 nSID, SfxItemState eState, const SfxPoolItem* pState);
36657 + SVX_DLLPRIVATE virtual void StateChanged(sal_uInt16 nSID, SfxItemState eState, const SfxPoolItem* pState);
36660 //==================================================================
36661 diff --git svx/source/inc/fmstatic.hxx svx/source/inc/fmstatic.hxx
36662 index 2da97ed..e69de29 100644
36663 --- svx/source/inc/fmstatic.hxx
36664 +++ svx/source/inc/fmstatic.hxx
36665 @@ -1,81 +0,0 @@
36666 -/*************************************************************************
36668 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
36669 - *
36670 - * Copyright 2008 by Sun Microsystems, Inc.
36672 - * OpenOffice.org - a multi-platform office productivity suite
36674 - * $RCSfile: fmstatic.hxx,v $
36675 - * $Revision: 1.6 $
36677 - * This file is part of OpenOffice.org.
36679 - * OpenOffice.org is free software: you can redistribute it and/or modify
36680 - * it under the terms of the GNU Lesser General Public License version 3
36681 - * only, as published by the Free Software Foundation.
36683 - * OpenOffice.org is distributed in the hope that it will be useful,
36684 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
36685 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
36686 - * GNU Lesser General Public License version 3 for more details
36687 - * (a copy is included in the LICENSE file that accompanied this code).
36689 - * You should have received a copy of the GNU Lesser General Public License
36690 - * version 3 along with OpenOffice.org. If not, see
36691 - * <http://www.openoffice.org/license.html>
36692 - * for a copy of the LGPLv3 License.
36694 - ************************************************************************/
36696 -#ifndef _FM_STATIC_HXX_
36697 -#define _FM_STATIC_HXX_
36698 -#include <tools/string.hxx>
36700 -struct ConstAsciiString
36702 - const sal_Char* ascii;
36703 - sal_Int32 length;
36705 - inline operator const ::rtl::OUString () const;
36706 - inline operator const sal_Char* () const { return ascii; }
36708 - inline ConstAsciiString(const sal_Char* _pAsciiZeroTerminated, const sal_Int32 _nLength);
36709 - inline ~ConstAsciiString();
36711 -private:
36712 - mutable ::rtl::OUString* ustring;
36715 -//------------------------------------------------------------
36716 -inline ConstAsciiString::ConstAsciiString(const sal_Char* _pAsciiZeroTerminated, const sal_Int32 _nLength)
36717 - :ascii(_pAsciiZeroTerminated)
36718 - ,length(_nLength)
36719 - ,ustring(NULL)
36723 -//------------------------------------------------------------
36724 -inline ConstAsciiString::~ConstAsciiString()
36726 - delete ustring;
36727 - ustring = NULL;
36730 -//------------------------------------------------------------
36731 -inline ConstAsciiString::operator const ::rtl::OUString () const
36733 - if (!ustring)
36734 - ustring = new ::rtl::OUString(ascii, length, RTL_TEXTENCODING_ASCII_US);
36735 - return *ustring;
36738 -#define DECLARE_CONSTASCII_USTRING(name) \
36739 - extern ConstAsciiString name
36741 -#define IMPLEMENT_CONSTASCII_USTRING(name, asciivalue) \
36742 - ConstAsciiString name(asciivalue, sizeof(asciivalue) - 1)
36745 -#endif // _FM_STATIC_HXX_
36747 diff --git svx/source/inc/fmtools.hxx svx/source/inc/fmtools.hxx
36748 index 5ea0d0e..adfbc05 100644
36749 --- svx/source/inc/fmtools.hxx
36750 +++ svx/source/inc/fmtools.hxx
36751 @@ -39,9 +39,7 @@
36752 #include <com/sun/star/sdbc/XDatabaseMetaData.hpp>
36753 #include <com/sun/star/sdb/XColumn.hpp>
36754 #include <com/sun/star/sdb/XColumnUpdate.hpp>
36755 -#ifndef _COM_SUN_STAR_SDBC_SQLERROREVENT_HPP_
36756 #include <com/sun/star/sdb/SQLErrorEvent.hpp>
36757 -#endif
36758 #include <com/sun/star/sdbc/XConnection.hpp>
36759 #include <com/sun/star/sdbc/XResultSet.hpp>
36760 #include <com/sun/star/sdbc/XResultSetUpdate.hpp>
36761 @@ -81,9 +79,7 @@
36762 #include <tools/time.hxx>
36763 #include <tools/datetime.hxx>
36765 -#ifndef _SVX_FMPROP_HRC
36766 #include "fmprop.hrc"
36767 -#endif
36768 #include <com/sun/star/sdbc/XConnection.hpp>
36769 #include <com/sun/star/io/XObjectInputStream.hpp>
36770 #include <com/sun/star/io/XObjectOutputStream.hpp>
36771 @@ -100,7 +96,8 @@
36772 #include <cppuhelper/implbase2.hxx>
36773 #include <cppuhelper/implbase3.hxx>
36774 #include <cppuhelper/component.hxx>
36775 -#include "fmstatic.hxx"
36777 +#include <svx/svxdllapi.h>
36779 #include <set>
36781 @@ -113,19 +110,12 @@ class Window;
36782 // display info about a simple ::com::sun::star::sdbc::SQLException
36783 void displayException(const ::com::sun::star::sdbc::SQLException&, Window* _pParent = NULL);
36784 void displayException(const ::com::sun::star::sdbc::SQLWarning&, Window* _pParent = NULL);
36785 -void displayException(const ::com::sun::star::sdb::SQLContext&, Window* _pParent = NULL);
36786 +SVX_DLLPUBLIC void displayException(const ::com::sun::star::sdb::SQLContext&, Window* _pParent = NULL);
36787 void displayException(const ::com::sun::star::sdb::SQLErrorEvent&, Window* _pParent = NULL);
36788 void displayException(const ::com::sun::star::uno::Any&, Window* _pParent = NULL);
36790 -// StringConversion
36791 -namespace svxform
36793 - // modes for the XModeSelector
36794 - DECLARE_CONSTASCII_USTRING(DATA_MODE);
36795 - DECLARE_CONSTASCII_USTRING(FILTER_MODE);
36797 -} // namespace svxform
36799 +#define DATA_MODE rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "DataMode" ) )
36800 +#define FILTER_MODE rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "FilterMode" ) )
36802 // Kopieren von Persistenten Objecten
36803 ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface> cloneUsingProperties(const ::com::sun::star::uno::Reference< ::com::sun::star::io::XPersistObject>& _xObj);
36804 @@ -143,7 +133,7 @@ String getFormComponentAccessPath(const ::com::sun::star::uno::Reference< ::com:
36806 ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel> getXModel(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface>& xIface);
36808 -::rtl::OUString getLabelName(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet>& xControlModel);
36809 +SVX_DLLPUBLIC ::rtl::OUString getLabelName(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet>& xControlModel);
36811 // ===================================================================================================
36812 // = class CursorWrapper - eine Hilfsklasse, die parallel mit je einem ::com::sun::star::uno::Reference<XDatabaseUpdateCursor>,
36813 @@ -163,7 +153,7 @@ public:
36814 // Construction/Destruction
36815 CursorWrapper() { }
36816 CursorWrapper(const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSet>& _rxCursor, sal_Bool bUseCloned = sal_False);
36817 - CursorWrapper(const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet>& _rxCursor, sal_Bool bUseCloned = sal_False);
36818 + SVX_DLLPUBLIC CursorWrapper(const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet>& _rxCursor, sal_Bool bUseCloned = sal_False);
36819 // bei bUseCloned == sal_True wird der Cursor ueber das XCloneable-Interface (dass er besitzen muss) gedoubled und
36820 // erst dann benutzt
36822 diff --git svx/source/inc/fmurl.hxx svx/source/inc/fmurl.hxx
36823 index 93f3840..9513fa1 100644
36824 --- svx/source/inc/fmurl.hxx
36825 +++ svx/source/inc/fmurl.hxx
36826 @@ -31,46 +31,33 @@
36827 #ifndef _SVX_FMURL_HXX
36828 #define _SVX_FMURL_HXX
36830 -#include "fmstatic.hxx"
36832 -namespace svxform
36835 - DECLARE_CONSTASCII_USTRING(FMURL_FORMSLOTS_PREFIX);
36837 - DECLARE_CONSTASCII_USTRING(FMURL_FORM_POSITION);
36838 - DECLARE_CONSTASCII_USTRING(FMURL_FORM_RECORDCOUNT);
36839 - DECLARE_CONSTASCII_USTRING(FMURL_RECORD_MOVEFIRST);
36840 - DECLARE_CONSTASCII_USTRING(FMURL_RECORD_MOVEPREV);
36841 - DECLARE_CONSTASCII_USTRING(FMURL_RECORD_MOVENEXT);
36842 - DECLARE_CONSTASCII_USTRING(FMURL_RECORD_MOVELAST);
36843 - DECLARE_CONSTASCII_USTRING(FMURL_RECORD_MOVETONEW);
36844 - DECLARE_CONSTASCII_USTRING(FMURL_RECORD_UNDO);
36845 - DECLARE_CONSTASCII_USTRING(FMURL_RECORD_SAVE);
36846 - DECLARE_CONSTASCII_USTRING(FMURL_RECORD_DELETE);
36847 - DECLARE_CONSTASCII_USTRING(FMURL_FORM_REFRESH);
36848 - DECLARE_CONSTASCII_USTRING(FMURL_FORM_REFRESH_CURRENT_CONTROL);
36850 - DECLARE_CONSTASCII_USTRING(FMURL_FORM_SORT_UP);
36851 - DECLARE_CONSTASCII_USTRING(FMURL_FORM_SORT_DOWN);
36852 - DECLARE_CONSTASCII_USTRING(FMURL_FORM_SORT);
36853 - DECLARE_CONSTASCII_USTRING(FMURL_FORM_AUTO_FILTER);
36854 - DECLARE_CONSTASCII_USTRING(FMURL_FORM_FILTER);
36855 - DECLARE_CONSTASCII_USTRING(FMURL_FORM_APPLY_FILTER);
36856 - DECLARE_CONSTASCII_USTRING(FMURL_FORM_REMOVE_FILTER);
36858 - DECLARE_CONSTASCII_USTRING(FMURL_CONFIRM_DELETION);
36860 - DECLARE_CONSTASCII_USTRING(FMURL_COMPONENT_FORMGRIDVIEW);
36861 - DECLARE_CONSTASCII_USTRING(FMURL_GRIDVIEW_CLEARVIEW);
36862 - DECLARE_CONSTASCII_USTRING(FMURL_GRIDVIEW_ADDCOLUMN);
36863 - DECLARE_CONSTASCII_USTRING(FMURL_GRIDVIEW_ATTACHTOFORM);
36865 - DECLARE_CONSTASCII_USTRING(FMARG_ATTACHTO_MASTERFORM);
36866 - DECLARE_CONSTASCII_USTRING(FMARG_ADDCOL_COLUMNTYPE);
36867 - DECLARE_CONSTASCII_USTRING(FMARG_ADDCOL_COLUMNPOS);
36869 -} // namespace svxform
36870 +#define FMURL_FORMSLOTS_PREFIX rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".uno:FormController/" ) )
36871 +#define FMURL_FORM_POSITION rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".uno:FormController/positionForm" ) )
36872 +#define FMURL_FORM_RECORDCOUNT rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".uno:FormController/RecordCount" ) )
36873 +#define FMURL_RECORD_MOVEFIRST rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".uno:FormController/moveToFirst" ) )
36874 +#define FMURL_RECORD_MOVEPREV rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".uno:FormController/moveToPrev" ) )
36875 +#define FMURL_RECORD_MOVENEXT rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".uno:FormController/moveToNext" ) )
36876 +#define FMURL_RECORD_MOVELAST rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".uno:FormController/moveToLast" ) )
36877 +#define FMURL_RECORD_MOVETONEW rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".uno:FormController/moveToNew" ) )
36878 +#define FMURL_RECORD_UNDO rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".uno:FormController/undoRecord" ) )
36879 +#define FMURL_RECORD_SAVE rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".uno:FormController/saveRecord" ) )
36880 +#define FMURL_RECORD_DELETE rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".uno:FormController/deleteRecord" ) )
36881 +#define FMURL_FORM_REFRESH rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".uno:FormController/refreshForm" ) )
36882 +#define FMURL_FORM_REFRESH_CURRENT_CONTROL rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".uno:FormController/refreshCurrentControl" ) )
36883 +#define FMURL_FORM_SORT_UP rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".uno:FormController/sortUp" ) )
36884 +#define FMURL_FORM_SORT_DOWN rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".uno:FormController/sortDown" ) )
36885 +#define FMURL_FORM_SORT rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".uno:FormController/sort" ) )
36886 +#define FMURL_FORM_AUTO_FILTER rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".uno:FormController/autoFilter" ) )
36887 +#define FMURL_FORM_FILTER rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".uno:FormController/filter" ) )
36888 +#define FMURL_FORM_APPLY_FILTER rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".uno:FormController/applyFilter" ) )
36889 +#define FMURL_FORM_REMOVE_FILTER rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".uno:FormController/removeFilterOrder" ) )
36890 +#define FMURL_CONFIRM_DELETION rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".uno:FormSlots/ConfirmDeletion" ) )
36891 +#define FMURL_COMPONENT_FORMGRIDVIEW rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".component:DB/FormGridView" ) )
36892 +#define FMURL_GRIDVIEW_CLEARVIEW rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".uno:FormSlots/ClearView" ) )
36893 +#define FMURL_GRIDVIEW_ADDCOLUMN rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".uno:FormSlots/AddGridColumn" ) )
36894 +#define FMURL_GRIDVIEW_ATTACHTOFORM rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".uno:FormSlots/AttachToForm" ) )
36895 +#define FMARG_ATTACHTO_MASTERFORM rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "MasterForm" ) )
36896 +#define FMARG_ADDCOL_COLUMNTYPE rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ColumnType" ) )
36897 +#define FMARG_ADDCOL_COLUMNPOS rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ColumnPosition" ) )
36899 #endif // _SVX_FMURL_HXX
36901 diff --git svx/source/inc/formtoolbars.hxx svx/source/inc/formtoolbars.hxx
36902 index 9ce42ca..5268ef1 100644
36903 --- svx/source/inc/formtoolbars.hxx
36904 +++ svx/source/inc/formtoolbars.hxx
36905 @@ -31,14 +31,13 @@
36906 #ifndef SVX_SOURCE_INC_FORMTOOLBARS_HXX
36907 #define SVX_SOURCE_INC_FORMTOOLBARS_HXX
36909 -/** === begin UNO includes === **/
36910 -/** === end UNO includes === **/
36912 #include "fmdocumentclassification.hxx"
36913 #include <com/sun/star/frame/XLayoutManager.hpp>
36915 #include <tools/solar.h>
36917 +#include <svx/svxdllapi.h>
36919 //........................................................................
36920 namespace svxform
36922 @@ -58,7 +57,7 @@ namespace svxform
36923 @param _rxFrame
36924 the frame to analyze
36926 - FormToolboxes(
36927 + SVX_DLLPUBLIC FormToolboxes(
36928 const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& _rxFrame
36931 @@ -66,16 +65,16 @@ namespace svxform
36932 /** retrieves the URI for the toolbox associated with the given slot, depending
36933 on the type of our document
36935 - ::rtl::OUString
36936 + SVX_DLLPUBLIC ::rtl::OUString
36937 getToolboxResourceName( USHORT _nSlotId ) const;
36939 /** toggles the toolbox associated with the given slot
36941 - void toggleToolbox( USHORT _nSlotId ) const;
36942 + SVX_DLLPUBLIC void toggleToolbox( USHORT _nSlotId ) const;
36944 /** determines whether the toolbox associated with the given slot is currently visible
36946 - bool isToolboxVisible( USHORT _nSlotId ) const;
36947 + SVX_DLLPUBLIC bool isToolboxVisible( USHORT _nSlotId ) const;
36949 /** ensures that a given toolbox is visible
36951 diff --git svx/source/inc/gridcols.hxx svx/source/inc/gridcols.hxx
36952 index 5f50578..9b79308 100644
36953 --- svx/source/inc/gridcols.hxx
36954 +++ svx/source/inc/gridcols.hxx
36955 @@ -30,25 +30,20 @@
36956 #ifndef _SVX_GRIDCOLS_HXX
36957 #define _SVX_GRIDCOLS_HXX
36959 -#include "fmstatic.hxx"
36960 +#include <sal/types.h>
36962 -namespace svxform
36965 - // list of possible controls
36966 - DECLARE_CONSTASCII_USTRING(FM_COL_TEXTFIELD);
36967 - DECLARE_CONSTASCII_USTRING(FM_COL_CHECKBOX);
36968 - DECLARE_CONSTASCII_USTRING(FM_COL_COMBOBOX);
36969 - DECLARE_CONSTASCII_USTRING(FM_COL_LISTBOX);
36970 - DECLARE_CONSTASCII_USTRING(FM_COL_NUMERICFIELD);
36971 - DECLARE_CONSTASCII_USTRING(FM_COL_DATEFIELD);
36972 - DECLARE_CONSTASCII_USTRING(FM_COL_TIMEFIELD);
36973 - DECLARE_CONSTASCII_USTRING(FM_COL_CURRENCYFIELD);
36974 - DECLARE_CONSTASCII_USTRING(FM_COL_PATTERNFIELD);
36975 - DECLARE_CONSTASCII_USTRING(FM_COL_FORMATTEDFIELD);
36977 -} // namespace svxform
36978 +namespace rtl { class OUString; }
36980 +#define FM_COL_TEXTFIELD rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "TextField" ) )
36981 +#define FM_COL_COMBOBOX rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ComboBox" ) )
36982 +#define FM_COL_CHECKBOX rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "CheckBox" ) )
36983 +#define FM_COL_TIMEFIELD rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "TimeField" ) )
36984 +#define FM_COL_DATEFIELD rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "DateField" ) )
36985 +#define FM_COL_NUMERICFIELD rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "NumericField" ) )
36986 +#define FM_COL_CURRENCYFIELD rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "CurrencyField" ) )
36987 +#define FM_COL_PATTERNFIELD rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "PatternField" ) )
36988 +#define FM_COL_LISTBOX rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ListBox" ) )
36989 +#define FM_COL_FORMATTEDFIELD rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "FormattedField" ) )
36991 // column type ids
36992 #define TYPE_CHECKBOX 0
36993 diff --git svx/source/inc/sqlparserclient.hxx svx/source/inc/sqlparserclient.hxx
36994 index 4b5c67b..1386ff8 100644
36995 --- svx/source/inc/sqlparserclient.hxx
36996 +++ svx/source/inc/sqlparserclient.hxx
36997 @@ -43,7 +43,7 @@ namespace svxform
36998 //====================================================================
36999 //= OSQLParserClient
37000 //====================================================================
37001 - class OSQLParserClient : public ODbtoolsClient
37002 + class SVX_DLLPUBLIC OSQLParserClient : public ODbtoolsClient
37003 ,public ::svxform::OParseContextClient
37005 private:
37006 diff --git svx/source/inc/stringlistresource.hxx svx/source/inc/stringlistresource.hxx
37007 index 3db48e1..8fb8ff9 100644
37008 --- svx/source/inc/stringlistresource.hxx
37009 +++ svx/source/inc/stringlistresource.hxx
37010 @@ -31,11 +31,10 @@
37011 #ifndef SVX_STRINGLISTRESOURCE_HXX
37012 #define SVX_STRINGLISTRESOURCE_HXX
37014 -/** === begin UNO includes === **/
37015 -/** === end UNO includes === **/
37017 #include <tools/rc.hxx>
37019 +#include <svx/svxdllapi.h>
37021 #include <memory>
37023 //........................................................................
37024 @@ -52,8 +51,8 @@ namespace svx
37025 class StringListResource : public Resource
37027 public:
37028 - StringListResource( const ResId& _rResId );
37029 - ~StringListResource();
37030 + SVX_DLLPUBLIC StringListResource( const ResId& _rResId );
37031 + SVX_DLLPUBLIC ~StringListResource();
37033 inline void get( ::std::vector< String >& _rStrings )
37035 diff --git svx/source/inc/unogalthemeprovider.hxx svx/source/inc/unogalthemeprovider.hxx
37036 index dd59bb4..8306a00 100644
37037 --- svx/source/inc/unogalthemeprovider.hxx
37038 +++ svx/source/inc/unogalthemeprovider.hxx
37039 @@ -36,6 +36,8 @@
37040 #include <com/sun/star/lang/XInitialization.hpp>
37041 #include <com/sun/star/gallery/XGalleryThemeProvider.hpp>
37043 +#include <svx/svxdllapi.h>
37045 class Gallery;
37047 namespace unogallery {
37048 @@ -60,8 +62,8 @@ public:
37049 GalleryThemeProvider();
37050 ~GalleryThemeProvider();
37052 - static ::rtl::OUString getImplementationName_Static() throw();
37053 - static ::com::sun::star::uno::Sequence< ::rtl::OUString > getSupportedServiceNames_Static() throw();
37054 + SVX_DLLPUBLIC static ::rtl::OUString getImplementationName_Static() throw();
37055 + SVX_DLLPUBLIC static ::com::sun::star::uno::Sequence< ::rtl::OUString > getSupportedServiceNames_Static() throw();
37057 protected:
37059 diff --git svx/source/inc/unopolyhelper.hxx svx/source/inc/unopolyhelper.hxx
37060 index aeae623..35d56bc 100644
37061 --- svx/source/inc/unopolyhelper.hxx
37062 +++ svx/source/inc/unopolyhelper.hxx
37063 @@ -33,6 +33,8 @@
37065 #include <com/sun/star/lang/IllegalArgumentException.hpp>
37067 +#include <svx/svxdllapi.h>
37069 namespace com { namespace sun { namespace star { namespace drawing {
37070 struct PolyPolygonBezierCoords;
37071 } } } }
37072 @@ -48,7 +50,7 @@ basegfx::B2DPolyPolygon SvxConvertPolyPolygonBezierToB2DPolyPolygon( const com::
37074 /** convert a B2DPolyPolygon to a drawing::PolyPolygonBezierCoords
37076 -void SvxConvertB2DPolyPolygonToPolyPolygonBezier( const basegfx::B2DPolyPolygon& rPolyPoly, com::sun::star::drawing::PolyPolygonBezierCoords& rRetval );
37077 +SVX_DLLPUBLIC void SvxConvertB2DPolyPolygonToPolyPolygonBezier( const basegfx::B2DPolyPolygon& rPolyPoly, com::sun::star::drawing::PolyPolygonBezierCoords& rRetval );
37080 #endif
37081 diff --git svx/source/items/makefile.mk svx/source/items/makefile.mk
37082 index 1557abb..4894cff 100644
37083 --- svx/source/items/makefile.mk
37084 +++ svx/source/items/makefile.mk
37085 @@ -38,6 +38,7 @@ PROJECTPCHSOURCE=$(PRJ)$/util$/svxpch
37087 PRJNAME=svx
37088 TARGET=items
37089 +LIBTARGET=NO
37091 # --- Settings -----------------------------------------------------
37093 @@ -51,41 +52,45 @@ SRC1FILES = \
37094 svxerr.src \
37095 svxitems.src
37097 -SLOFILES= \
37098 - $(SLO)$/ofaitem.obj \
37099 +LIB1TARGET= $(SLB)$/$(TARGET)-core.lib
37100 +LIB1OBJFILES= \
37101 $(SLO)$/writingmodeitem.obj \
37102 $(SLO)$/frmitems.obj \
37103 $(SLO)$/paraitem.obj \
37104 $(SLO)$/textitem.obj \
37105 - $(SLO)$/postattr.obj \
37106 $(SLO)$/flditem.obj \
37107 - $(SLO)$/hlnkitem.obj \
37108 $(SLO)$/svxfont.obj \
37109 - $(SLO)$/pageitem.obj \
37110 - $(SLO)$/viewlayoutitem.obj \
37111 - $(SLO)$/paperinf.obj \
37112 $(SLO)$/drawitem.obj \
37113 - $(SLO)$/algitem.obj \
37114 $(SLO)$/itemtype.obj \
37115 - $(SLO)$/rotmodit.obj \
37116 - $(SLO)$/numinf.obj \
37117 - $(SLO)$/svxerr.obj \
37118 - $(SLO)$/numfmtsh.obj \
37119 - $(SLO)$/zoomitem.obj \
37120 $(SLO)$/chrtitem.obj \
37121 $(SLO)$/bulitem.obj \
37122 $(SLO)$/e3ditem.obj \
37123 $(SLO)$/numitem.obj \
37124 $(SLO)$/grfitem.obj \
37125 $(SLO)$/clipfmtitem.obj \
37126 - $(SLO)$/svxempty.obj \
37127 $(SLO)$/xmlcnitm.obj \
37128 $(SLO)$/customshapeitem.obj \
37129 - $(SLO)$/charhiddenitem.obj \
37130 + $(SLO)$/charhiddenitem.obj
37132 +LIB2TARGET= $(SLB)$/$(TARGET).lib
37133 +LIB2OBJFILES= \
37134 + $(SLO)$/ofaitem.obj \
37135 + $(SLO)$/postattr.obj \
37136 + $(SLO)$/hlnkitem.obj \
37137 + $(SLO)$/pageitem.obj \
37138 + $(SLO)$/viewlayoutitem.obj \
37139 + $(SLO)$/paperinf.obj \
37140 + $(SLO)$/algitem.obj \
37141 + $(SLO)$/rotmodit.obj \
37142 + $(SLO)$/numinf.obj \
37143 + $(SLO)$/svxerr.obj \
37144 + $(SLO)$/numfmtsh.obj \
37145 + $(SLO)$/zoomitem.obj \
37146 + $(SLO)$/svxempty.obj \
37147 $(SLO)$/SmartTagItem.obj \
37148 $(SLO)$/zoomslideritem.obj \
37151 +SLOFILES = $(LIB1OBJFILES) $(LIB2OBJFILES)
37153 EXCEPTIONSFILES= \
37154 $(SLO)$/paraitem.obj \
37155 diff --git svx/source/items/textitem.cxx svx/source/items/textitem.cxx
37156 index 3fad7c3..604e38c 100644
37157 --- svx/source/items/textitem.cxx
37158 +++ svx/source/items/textitem.cxx
37159 @@ -485,6 +485,13 @@ SfxItemPresentation SvxFontItem::GetPresentation
37160 return SFX_ITEM_PRESENTATION_NONE;
37163 +//------------------------------------------------------------------------
37165 +void SvxFontItem::EnableStoreUnicodeNames( BOOL bEnable )
37167 + bEnableStoreUnicodeNames = bEnable;
37170 // class SvxPostureItem --------------------------------------------------
37172 SvxPostureItem::SvxPostureItem( const FontItalic ePosture, const USHORT nId ) :
37173 diff --git svx/source/msfilter/escherex.cxx svx/source/msfilter/escherex.cxx
37174 index e27de7c..493df58 100644
37175 --- svx/source/msfilter/escherex.cxx
37176 +++ svx/source/msfilter/escherex.cxx
37177 @@ -156,14 +156,6 @@ EscherExClientAnchor_Base::~EscherExClientAnchor_Base()
37179 // ---------------------------------------------------------------------------------------------
37181 -struct EscherPropSortStruct
37183 - sal_uInt8* pBuf;
37184 - sal_uInt32 nPropSize;
37185 - sal_uInt32 nPropValue;
37186 - sal_uInt16 nPropId;
37189 void EscherPropertyContainer::ImplInit()
37191 nSortCount = 0;
37192 @@ -275,21 +267,40 @@ void EscherPropertyContainer::AddOpt( sal_uInt16 nPropID, sal_Bool bBlib, sal_uI
37196 -sal_Bool EscherPropertyContainer::GetOpt( sal_uInt16 nPropId, sal_uInt32& nPropValue ) const
37197 +sal_Bool EscherPropertyContainer::GetOpt( sal_uInt16 nPropId, sal_uInt32& rPropValue ) const
37199 + EscherPropSortStruct aPropStruct;
37201 + if ( GetOpt( nPropId, aPropStruct ) )
37203 + rPropValue = aPropStruct.nPropValue;
37204 + return sal_True;
37206 + return sal_False;
37209 +sal_Bool EscherPropertyContainer::GetOpt( sal_uInt16 nPropId, EscherPropSortStruct& rPropValue ) const
37211 - sal_Bool bRetValue = sal_False;
37212 for( sal_uInt32 i = 0; i < nSortCount; i++ )
37214 if ( ( pSortStruct[ i ].nPropId &~0xc000 ) == ( nPropId &~0xc000 ) )
37216 - nPropValue = pSortStruct[ i ].nPropValue;
37217 - bRetValue = sal_True;
37218 - break;
37219 + rPropValue = pSortStruct[ i ];
37220 + return sal_True;
37223 - return bRetValue;
37224 + return sal_False;
37227 +EscherProperties EscherPropertyContainer::GetOpts() const
37229 + EscherProperties aVector;
37231 + for ( sal_uInt32 i = 0; i < nSortCount; ++i )
37232 + aVector.push_back( pSortStruct[ i ] );
37234 + return aVector;
37237 extern "C" int __LOADONCALLAPI EscherPropSortFunc( const void* p1, const void* p2 )
37239 @@ -738,7 +749,7 @@ void EscherPropertyContainer::CreateTextProperties(
37243 -static sal_Bool GetLineArrow( const sal_Bool bLineStart,
37244 +sal_Bool EscherPropertyContainer::GetLineArrow( const sal_Bool bLineStart,
37245 const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > & rXPropSet,
37246 ESCHER_LineEnd& reLineEnd, sal_Int32& rnArrowLength, sal_Int32& rnArrowWidth )
37248 @@ -2107,6 +2118,68 @@ void ConvertEnhancedCustomShapeEquation( SdrObjCustomShape* pCustoShape,
37252 +sal_Bool EscherPropertyContainer::IsDefaultObject( SdrObjCustomShape* pCustoShape )
37254 + sal_Bool bIsDefaultObject = sal_False;
37255 + if ( pCustoShape )
37257 + if ( pCustoShape->IsDefaultGeometry( SdrObjCustomShape::DEFAULT_EQUATIONS )
37258 + && pCustoShape->IsDefaultGeometry( SdrObjCustomShape::DEFAULT_VIEWBOX )
37259 + && pCustoShape->IsDefaultGeometry( SdrObjCustomShape::DEFAULT_PATH )
37260 + && pCustoShape->IsDefaultGeometry( SdrObjCustomShape::DEFAULT_GLUEPOINTS )
37261 + && pCustoShape->IsDefaultGeometry( SdrObjCustomShape::DEFAULT_SEGMENTS )
37262 + && pCustoShape->IsDefaultGeometry( SdrObjCustomShape::DEFAULT_STRETCHX )
37263 + && pCustoShape->IsDefaultGeometry( SdrObjCustomShape::DEFAULT_STRETCHY )
37264 +// && pCustoShape->IsDefaultGeometry( SdrObjCustomShape::DEFAULT_HANDLES )
37265 + && pCustoShape->IsDefaultGeometry( SdrObjCustomShape::DEFAULT_TEXTFRAMES ) )
37266 + bIsDefaultObject = sal_True;
37269 + return bIsDefaultObject;
37272 +void EscherPropertyContainer::LookForPolarHandles( const MSO_SPT eShapeType, sal_Int32& nAdjustmentsWhichNeedsToBeConverted )
37274 + const mso_CustomShape* pDefCustomShape = GetCustomShapeContent( eShapeType );
37275 + if ( pDefCustomShape && pDefCustomShape->nHandles && pDefCustomShape->pHandles )
37277 + sal_Int32 k, nkCount = pDefCustomShape->nHandles;
37278 + const SvxMSDffHandle* pData = pDefCustomShape->pHandles;
37279 + for ( k = 0; k < nkCount; k++, pData++ )
37281 + if ( pData->nFlags & MSDFF_HANDLE_FLAGS_POLAR )
37283 + if ( ( pData->nPositionY >= 0x256 ) || ( pData->nPositionY <= 0x107 ) )
37284 + nAdjustmentsWhichNeedsToBeConverted |= ( 1 << k );
37290 +sal_Bool EscherPropertyContainer::GetAdjustmentValue( const com::sun::star::drawing::EnhancedCustomShapeAdjustmentValue & rkProp, sal_Int32 nIndex, sal_Int32 nAdjustmentsWhichNeedsToBeConverted, sal_Int32& nValue )
37292 + if ( rkProp.State != beans::PropertyState_DIRECT_VALUE )
37293 + return FALSE;
37295 + sal_Bool bUseFixedFloat = ( nAdjustmentsWhichNeedsToBeConverted & ( 1 << nIndex ) ) != 0;
37296 + if ( rkProp.Value.getValueTypeClass() == uno::TypeClass_DOUBLE )
37298 + double fValue;
37299 + rkProp.Value >>= fValue;
37300 + if ( bUseFixedFloat )
37301 + fValue *= 65536.0;
37302 + nValue = (sal_Int32)fValue;
37304 + else
37306 + rkProp.Value >>= nValue;
37307 + if ( bUseFixedFloat )
37308 + nValue <<= 16;
37311 + return TRUE;
37314 void EscherPropertyContainer::CreateCustomShapeProperties( const MSO_SPT eShapeType, const uno::Reference< drawing::XShape > & rXShape )
37316 uno::Reference< beans::XPropertySet > aXPropSet( rXShape, uno::UNO_QUERY );
37317 @@ -2131,22 +2204,7 @@ void EscherPropertyContainer::CreateCustomShapeProperties( const MSO_SPT eShapeT
37318 sal_Int32 nAdjustmentsWhichNeedsToBeConverted = 0;
37319 uno::Sequence< beans::PropertyValues > aHandlesPropSeq;
37320 sal_Bool bPredefinedHandlesUsed = sal_True;
37323 - sal_Bool bIsDefaultObject = sal_False;
37324 - if ( pCustoShape )
37326 - if ( pCustoShape->IsDefaultGeometry( SdrObjCustomShape::DEFAULT_EQUATIONS )
37327 - && pCustoShape->IsDefaultGeometry( SdrObjCustomShape::DEFAULT_VIEWBOX )
37328 - && pCustoShape->IsDefaultGeometry( SdrObjCustomShape::DEFAULT_PATH )
37329 - && pCustoShape->IsDefaultGeometry( SdrObjCustomShape::DEFAULT_GLUEPOINTS )
37330 - && pCustoShape->IsDefaultGeometry( SdrObjCustomShape::DEFAULT_SEGMENTS )
37331 - && pCustoShape->IsDefaultGeometry( SdrObjCustomShape::DEFAULT_STRETCHX )
37332 - && pCustoShape->IsDefaultGeometry( SdrObjCustomShape::DEFAULT_STRETCHY )
37333 -// && pCustoShape->IsDefaultGeometry( SdrObjCustomShape::DEFAULT_HANDLES )
37334 - && pCustoShape->IsDefaultGeometry( SdrObjCustomShape::DEFAULT_TEXTFRAMES ) )
37335 - bIsDefaultObject = sal_True;
37337 + sal_Bool bIsDefaultObject = IsDefaultObject( pCustoShape );
37339 // convert property "Equations" into std::vector< EnhancedCustomShapeEquationEquation >
37340 std::vector< EnhancedCustomShapeEquation > aEquations;
37341 @@ -3208,46 +3266,12 @@ void EscherPropertyContainer::CreateCustomShapeProperties( const MSO_SPT eShapeT
37342 if ( pAdjustmentValuesProp->Value >>= aAdjustmentSeq )
37344 if ( bPredefinedHandlesUsed )
37346 - const mso_CustomShape* pDefCustomShape = GetCustomShapeContent( eShapeType );
37347 - if ( pDefCustomShape && pDefCustomShape->nHandles && pDefCustomShape->pHandles )
37349 - sal_Int32 k, nkCount = pDefCustomShape->nHandles;
37350 - const SvxMSDffHandle* pData = pDefCustomShape->pHandles;
37351 - for ( k = 0; k < nkCount; k++, pData++ )
37353 - if ( pData->nFlags & MSDFF_HANDLE_FLAGS_POLAR )
37355 - if ( ( pData->nPositionY >= 0x256 ) || ( pData->nPositionY <= 0x107 ) )
37356 - nAdjustmentsWhichNeedsToBeConverted |= ( 1 << k );
37361 + LookForPolarHandles( eShapeType, nAdjustmentsWhichNeedsToBeConverted );
37363 sal_Int32 k, nValue = 0, nAdjustmentValues = aAdjustmentSeq.getLength();
37364 for ( k = 0; k < nAdjustmentValues; k++ )
37366 - const com::sun::star::drawing::EnhancedCustomShapeAdjustmentValue & rkProp = aAdjustmentSeq[ k ];
37367 - if ( rkProp.State == beans::PropertyState_DIRECT_VALUE )
37369 - sal_Bool bUseFixedFloat = ( nAdjustmentsWhichNeedsToBeConverted & ( 1 << k ) ) != 0;
37370 - if ( rkProp.Value.getValueTypeClass() == uno::TypeClass_DOUBLE )
37372 - double fValue;
37373 - rkProp.Value >>= fValue;
37374 - if ( bUseFixedFloat )
37375 - fValue *= 65536.0;
37376 - nValue = (sal_Int32)fValue;
37378 - else
37380 - rkProp.Value >>= nValue;
37381 - if ( bUseFixedFloat )
37382 - nValue <<= 16;
37384 + if( GetAdjustmentValue( aAdjustmentSeq[ k ], k, nAdjustmentsWhichNeedsToBeConverted, nValue ) )
37385 AddOpt( (sal_uInt16)( DFF_Prop_adjustValue + k ), (sal_uInt32)nValue );
37391 @@ -3946,30 +3970,6 @@ struct EscherConnectorRule
37392 sal_uInt32 ncptiB; // Connection site Index of shape B
37395 -struct EscherConnectorListEntry
37397 - ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > mXConnector;
37398 - ::com::sun::star::awt::Point maPointA;
37399 - ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > mXConnectToA;
37400 - ::com::sun::star::awt::Point maPointB;
37401 - ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > mXConnectToB;
37403 - sal_uInt32 GetConnectorRule( sal_Bool bFirst );
37405 - EscherConnectorListEntry( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > & rC,
37406 - const ::com::sun::star::awt::Point& rPA,
37407 - ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > & rSA ,
37408 - const ::com::sun::star::awt::Point& rPB,
37409 - ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > & rSB ) :
37410 - mXConnector ( rC ),
37411 - maPointA ( rPA ),
37412 - mXConnectToA( rSA ),
37413 - maPointB ( rPB ),
37414 - mXConnectToB( rSB ) {}
37416 - sal_uInt32 GetClosestPoint( const Polygon& rPoly, const ::com::sun::star::awt::Point& rP );
37419 struct EscherShapeListEntry
37421 ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > aXShape;
37422 @@ -4673,6 +4673,17 @@ void EscherEx::AddAtom( UINT32 nAtomSize, UINT16 nRecType, int nRecVersion, int
37424 // ---------------------------------------------------------------------------------------------
37426 +void EscherEx::AddChildAnchor( const Rectangle& rRect )
37428 + AddAtom( 16, ESCHER_ChildAnchor );
37429 + GetStream() << (INT32)rRect.Left()
37430 + << (INT32)rRect.Top()
37431 + << (INT32)rRect.Right()
37432 + << (INT32)rRect.Bottom();
37435 +// ---------------------------------------------------------------------------------------------
37437 void EscherEx::AddClientAnchor( const Rectangle& rRect )
37439 AddAtom( 8, ESCHER_ClientAnchor );
37440 @@ -4722,15 +4733,10 @@ UINT32 EscherEx::EnterGroup( const String& rShapeName, const Rectangle* pBoundRe
37441 if( rShapeName.Len() > 0 )
37442 aPropOpt.AddOpt( ESCHER_Prop_wzName, rShapeName );
37444 - aPropOpt.Commit( *mpOutStrm );
37445 + Commit( aPropOpt, aRect );
37446 if ( mnGroupLevel > 1 )
37448 - AddAtom( 16, ESCHER_ChildAnchor );
37449 - *mpOutStrm << (INT32)aRect.Left()
37450 - << (INT32)aRect.Top()
37451 - << (INT32)aRect.Right()
37452 - << (INT32)aRect.Bottom();
37454 + AddChildAnchor( aRect );
37456 EscherExHostAppData* pAppData = mpImplEscherExSdr->ImplGetHostData();
37457 if( pAppData )
37459 @@ -4828,6 +4834,13 @@ UINT32 EscherEx::GetShapeID()
37461 // ---------------------------------------------------------------------------------------------
37463 +void EscherEx::Commit( EscherPropertyContainer& rProps, const Rectangle& )
37465 + rProps.Commit( GetStream() );
37468 +// ---------------------------------------------------------------------------------------------
37470 UINT32 EscherEx::GetColor( const UINT32 nSOColor, BOOL bSwap )
37472 if ( bSwap )
37473 diff --git svx/source/msfilter/eschesdo.cxx svx/source/msfilter/eschesdo.cxx
37474 index 243c236..03b4e2a 100644
37475 --- svx/source/msfilter/eschesdo.cxx
37476 +++ svx/source/msfilter/eschesdo.cxx
37477 @@ -749,16 +749,10 @@ UINT32 ImplEESdrWriter::ImplWriteShape( ImplEESdrObject& rObj,
37478 if( rObj.GetAngle() )
37479 ImplFlipBoundingBox( rObj, aPropOpt );
37481 - aPropOpt.Commit( mpEscherEx->GetStream() );
37482 + mpEscherEx->Commit( aPropOpt, rObj.GetRect() );
37483 if( mpEscherEx->GetGroupLevel() > 1 )
37485 - mpEscherEx->AddAtom( 16, ESCHER_ChildAnchor );
37486 - const Rectangle& rRect = rObj.GetRect();
37487 - mpEscherEx->GetStream() << (INT32)rRect.Left()
37488 - << (INT32)rRect.Top()
37489 - << (INT32)rRect.Right()
37490 - << (INT32)rRect.Bottom();
37492 + mpEscherEx->AddChildAnchor( rObj.GetRect() );
37494 if ( mpHostAppData )
37495 { //! with AdditionalText the App has to control whether these are written or not
37496 mpHostAppData->WriteClientAnchor( *mpEscherEx, rObj.GetRect() );
37497 @@ -852,15 +846,10 @@ void ImplEESdrWriter::ImplWriteAdditionalText( ImplEESdrObject& rObj,
37498 rObj.GetRect() );
37500 rObj.SetAngle( nAngle );
37501 - aPropOpt.Commit( mpEscherEx->GetStream() );
37502 + mpEscherEx->Commit( aPropOpt, rObj.GetRect() );
37504 // write the childanchor
37505 - mpEscherEx->AddAtom( 16, ESCHER_ChildAnchor );
37506 - const Rectangle& rRect = rObj.GetRect();
37507 - mpEscherEx->GetStream() << (INT32)rRect.Left()
37508 - << (INT32)rRect.Top()
37509 - << (INT32)rRect.Right()
37510 - << (INT32)rRect.Bottom();
37511 + mpEscherEx->AddChildAnchor( rObj.GetRect() );
37513 #if defined EES_WRITE_EPP
37514 // ClientAnchor
37515 diff --git svx/source/msfilter/makefile.mk svx/source/msfilter/makefile.mk
37516 index 768bc0e..05188c1 100644
37517 --- svx/source/msfilter/makefile.mk
37518 +++ svx/source/msfilter/makefile.mk
37519 @@ -33,6 +33,7 @@ PRJ=..$/..
37521 PRJNAME=svx
37522 TARGET=msfilter
37523 +LIBTARGET=NO
37524 AUTOSEG=true
37526 # --- Settings -----------------------------------------------------
37527 @@ -42,7 +43,8 @@ AUTOSEG=true
37529 # --- Files --------------------------------------------------------
37531 -SLOFILES=\
37532 +LIB1TARGET= $(SLB)$/$(TARGET)-msfilter.lib
37533 +LIB1OBJFILES= \
37534 $(SLO)$/countryid.obj \
37535 $(SLO)$/escherex.obj \
37536 $(SLO)$/eschesdo.obj \
37537 @@ -57,6 +59,12 @@ SLOFILES=\
37538 $(SLO)$/msfiltertracer.obj\
37539 $(SLO)$/mstoolbar.obj\
37541 +LIB2TARGET= $(SLB)$/$(TARGET)-core.lib
37542 +LIB2OBJFILES= \
37543 + $(SLO)$/svxmsbas2.obj
37545 +SLOFILES = $(LIB1OBJFILES) $(LIB2OBJFILES)
37547 EXCEPTIONSFILES= \
37548 $(SLO)$/eschesdo.obj \
37549 $(SLO)$/escherex.obj \
37550 diff --git svx/source/msfilter/svxmsbas.cxx svx/source/msfilter/svxmsbas.cxx
37551 index 5efc08f..d4d6838 100644
37552 --- svx/source/msfilter/svxmsbas.cxx
37553 +++ svx/source/msfilter/svxmsbas.cxx
37554 @@ -564,53 +564,4 @@ BOOL SvxImportMSVBasic::ImportCode_Impl( VBA_Impl& aVBA, BOOL bAsComment, BOOL b
37555 return bRet;
37558 -ULONG SvxImportMSVBasic::SaveOrDelMSVBAStorage( BOOL bSaveInto,
37559 - const String& rStorageName )
37561 - ULONG nRet = ERRCODE_NONE;
37562 - uno::Reference < embed::XStorage > xSrcRoot( rDocSh.GetStorage() );
37563 - String aDstStgName( GetMSBasicStorageName() );
37564 - SotStorageRef xVBAStg( SotStorage::OpenOLEStorage( xSrcRoot, aDstStgName,
37565 - STREAM_READWRITE | STREAM_NOCREATE | STREAM_SHARE_DENYALL ) );
37566 - if( xVBAStg.Is() && !xVBAStg->GetError() )
37568 - xVBAStg = 0;
37569 - if( bSaveInto )
37571 - BasicManager *pBasicMan = rDocSh.GetBasicManager();
37572 - if( pBasicMan && pBasicMan->IsBasicModified() )
37573 - nRet = ERRCODE_SVX_MODIFIED_VBASIC_STORAGE;
37575 - SotStorageRef xSrc = SotStorage::OpenOLEStorage( xSrcRoot, aDstStgName, STREAM_STD_READ );
37576 - SotStorageRef xDst = xRoot->OpenSotStorage( rStorageName, STREAM_READWRITE | STREAM_TRUNC );
37577 - xSrc->CopyTo( xDst );
37578 - xDst->Commit();
37579 - ErrCode nError = xDst->GetError();
37580 - if ( nError == ERRCODE_NONE )
37581 - nError = xSrc->GetError();
37582 - if ( nError != ERRCODE_NONE )
37583 - xRoot->SetError( nError );
37587 - return nRet;
37590 -// check if the MS-VBA-Storage exists in the RootStorage of the DocShell.
37591 -// If it exists, then return the WarningId for losing the information.
37592 -ULONG SvxImportMSVBasic::GetSaveWarningOfMSVBAStorage( SfxObjectShell &rDocSh)
37594 - uno::Reference < embed::XStorage > xSrcRoot( rDocSh.GetStorage() );
37595 - SvStorageRef xVBAStg( SotStorage::OpenOLEStorage( xSrcRoot, GetMSBasicStorageName(),
37596 - STREAM_READ | STREAM_NOCREATE | STREAM_SHARE_DENYALL ));
37597 - return ( xVBAStg.Is() && !xVBAStg->GetError() )
37598 - ? ERRCODE_SVX_VBASIC_STORAGE_EXIST
37599 - : ERRCODE_NONE;
37602 -String SvxImportMSVBasic::GetMSBasicStorageName()
37604 - return String( RTL_CONSTASCII_USTRINGPARAM( "_MS_VBA_Macros" ) );
37607 /* vi:set tabstop=4 shiftwidth=4 expandtab: */
37608 diff --git svx/source/msfilter/svxmsbas2.cxx svx/source/msfilter/svxmsbas2.cxx
37609 new file mode 100644
37610 index 0000000..afd772b
37611 --- /dev/null
37612 +++ svx/source/msfilter/svxmsbas2.cxx
37613 @@ -0,0 +1,88 @@
37614 +/*************************************************************************
37616 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
37618 + * Copyright 2008 by Sun Microsystems, Inc.
37620 + * OpenOffice.org - a multi-platform office productivity suite
37622 + * $RCSfile: svxmsbas.cxx,v $
37623 + * $Revision: 1.24 $
37625 + * This file is part of OpenOffice.org.
37627 + * OpenOffice.org is free software: you can redistribute it and/or modify
37628 + * it under the terms of the GNU Lesser General Public License version 3
37629 + * only, as published by the Free Software Foundation.
37631 + * OpenOffice.org is distributed in the hope that it will be useful,
37632 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
37633 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
37634 + * GNU Lesser General Public License version 3 for more details
37635 + * (a copy is included in the LICENSE file that accompanied this code).
37637 + * You should have received a copy of the GNU Lesser General Public License
37638 + * version 3 along with OpenOffice.org. If not, see
37639 + * <http://www.openoffice.org/license.html>
37640 + * for a copy of the LGPLv3 License.
37642 + ************************************************************************/
37644 +// MARKER(update_precomp.py): autogen include statement, do not remove
37645 +#include "precompiled_svx.hxx"
37647 +#include <basic/basmgr.hxx>
37648 +#include <sfx2/objsh.hxx>
37649 +#include <svxerr.hxx>
37650 +#include <svxmsbas.hxx>
37652 +using namespace com::sun::star;
37654 +ULONG SvxImportMSVBasic::SaveOrDelMSVBAStorage( BOOL bSaveInto,
37655 + const String& rStorageName )
37657 + ULONG nRet = ERRCODE_NONE;
37658 + uno::Reference < embed::XStorage > xSrcRoot( rDocSh.GetStorage() );
37659 + String aDstStgName( GetMSBasicStorageName() );
37660 + SotStorageRef xVBAStg( SotStorage::OpenOLEStorage( xSrcRoot, aDstStgName,
37661 + STREAM_READWRITE | STREAM_NOCREATE | STREAM_SHARE_DENYALL ) );
37662 + if( xVBAStg.Is() && !xVBAStg->GetError() )
37664 + xVBAStg = 0;
37665 + if( bSaveInto )
37667 + BasicManager *pBasicMan = rDocSh.GetBasicManager();
37668 + if( pBasicMan && pBasicMan->IsBasicModified() )
37669 + nRet = ERRCODE_SVX_MODIFIED_VBASIC_STORAGE;
37671 + SotStorageRef xSrc = SotStorage::OpenOLEStorage( xSrcRoot, aDstStgName, STREAM_STD_READ );
37672 + SotStorageRef xDst = xRoot->OpenSotStorage( rStorageName, STREAM_READWRITE | STREAM_TRUNC );
37673 + xSrc->CopyTo( xDst );
37674 + xDst->Commit();
37675 + ErrCode nError = xDst->GetError();
37676 + if ( nError == ERRCODE_NONE )
37677 + nError = xSrc->GetError();
37678 + if ( nError != ERRCODE_NONE )
37679 + xRoot->SetError( nError );
37683 + return nRet;
37686 +// check if the MS-VBA-Storage exists in the RootStorage of the DocShell.
37687 +// If it exists, then return the WarningId for losing the information.
37688 +ULONG SvxImportMSVBasic::GetSaveWarningOfMSVBAStorage( SfxObjectShell &rDocSh)
37690 + uno::Reference < embed::XStorage > xSrcRoot( rDocSh.GetStorage() );
37691 + SvStorageRef xVBAStg( SotStorage::OpenOLEStorage( xSrcRoot, GetMSBasicStorageName(),
37692 + STREAM_READ | STREAM_NOCREATE | STREAM_SHARE_DENYALL ));
37693 + return ( xVBAStg.Is() && !xVBAStg->GetError() )
37694 + ? ERRCODE_SVX_VBASIC_STORAGE_EXIST
37695 + : ERRCODE_NONE;
37698 +String SvxImportMSVBasic::GetMSBasicStorageName()
37700 + return String( RTL_CONSTASCII_USTRINGPARAM( "_MS_VBA_Macros" ) );
37702 diff --git svx/source/options/makefile.mk svx/source/options/makefile.mk
37703 index 2a8573f..9f03f06 100644
37704 --- svx/source/options/makefile.mk
37705 +++ svx/source/options/makefile.mk
37706 @@ -36,6 +36,7 @@ PROJECTPCHSOURCE=$(PRJ)$/util\svxpch
37708 PRJNAME=svx
37709 TARGET=options
37710 +LIBTARGET=NO
37712 # --- Settings -----------------------------------------------------
37714 @@ -62,39 +63,23 @@ SRC1FILES=\
37715 optchart.src \
37716 optimprove.src
37718 -#EXCEPTIONSFILES=\
37719 -# $(SLO)$/optasian.obj \
37720 -# $(SLO)$/optlingu.obj \
37721 -# $(SLO)$/optaccessibility.obj \
37722 -# $(SLO)$/optsave.obj \
37723 -# $(SLO)$/optpath.obj
37725 -#SLOFILES=\
37726 -# $(EXCEPTIONSFILES) \
37727 -# $(SLO)$/asiancfg.obj \
37728 -# $(SLO)$/htmlcfg.obj \
37729 -# $(SLO)$/optcolor.obj \
37730 -# $(SLO)$/optjsearch.obj \
37731 -# $(SLO)$/optitems.obj \
37732 -# $(SLO)$/optgenrl.obj \
37733 -# $(SLO)$/adritem.obj \
37734 -# $(SLO)$/optgrid.obj \
37735 -# $(SLO)$/optinet2.obj \
37736 -# $(SLO)$/optextbr.obj \
37737 -# $(SLO)$/srchcfg.obj \
37738 -# $(SLO)$/optctl.obj
37740 EXCEPTIONSFILES=\
37741 $(SLO)$/optlingu.obj
37743 -SLOFILES=\
37744 - $(EXCEPTIONSFILES) \
37745 - $(SLO)$/asiancfg.obj \
37746 +LIB1TARGET= $(SLB)$/$(TARGET)-core.lib
37747 +LIB1OBJFILES= \
37748 + $(SLO)$/asiancfg.obj
37750 +LIB2TARGET= $(SLB)$/$(TARGET).lib
37751 +LIB2OBJFILES= \
37752 + $(SLO)$/optlingu.obj \
37753 $(SLO)$/htmlcfg.obj \
37754 $(SLO)$/optitems.obj \
37755 $(SLO)$/optgrid.obj \
37756 $(SLO)$/srchcfg.obj
37758 +SLOFILES = $(LIB1OBJFILES) $(LIB2OBJFILES)
37760 # --- Targets -------------------------------------------------------
37762 .INCLUDE : target.mk
37763 diff --git svx/source/svdraw/makefile.mk svx/source/svdraw/makefile.mk
37764 index ab306be..94adffe 100644
37765 --- svx/source/svdraw/makefile.mk
37766 +++ svx/source/svdraw/makefile.mk
37767 @@ -33,6 +33,7 @@ PRJ=..$/..
37769 PRJNAME=svx
37770 TARGET=svdraw
37771 +LIBTARGET=NO
37772 ENABLE_EXCEPTIONS=TRUE
37774 # --- Settings -----------------------------------------------------
37775 @@ -42,11 +43,11 @@ ENABLE_EXCEPTIONS=TRUE
37777 # --- Files --------------------------------------------------------
37779 -SLOFILES=\
37780 +LIB1TARGET= $(SLB)$/$(TARGET)-core.lib
37781 +LIB1OBJFILES= \
37782 $(SLO)$/svdxcgv.obj \
37783 $(SLO)$/svdmodel.obj \
37784 $(SLO)$/svdpage.obj \
37785 - $(SLO)$/svdoimp.obj \
37786 $(SLO)$/svdobj.obj \
37787 $(SLO)$/svdedtv1.obj \
37788 $(SLO)$/svdcrtv.obj \
37789 @@ -59,7 +60,6 @@ SLOFILES=\
37790 $(SLO)$/svdotextdecomposition.obj \
37791 $(SLO)$/svdotextpathdecomposition.obj \
37792 $(SLO)$/svdouno.obj \
37793 - $(SLO)$/svdfppt.obj \
37794 $(SLO)$/svdpagv.obj \
37795 $(SLO)$/svddrgmt.obj \
37796 $(SLO)$/svdpntv.obj \
37797 @@ -95,7 +95,6 @@ SLOFILES=\
37798 $(SLO)$/svdglev.obj \
37799 $(SLO)$/svdglue.obj \
37800 $(SLO)$/svdhlpln.obj \
37801 - $(SLO)$/svdibrow.obj \
37802 $(SLO)$/svditer.obj \
37803 $(SLO)$/svdlayer.obj \
37804 $(SLO)$/svdmark.obj \
37805 @@ -105,20 +104,31 @@ SLOFILES=\
37806 $(SLO)$/sdrpagewindow.obj \
37807 $(SLO)$/sdrpaintwindow.obj \
37808 $(SLO)$/svdpoev.obj \
37809 - $(SLO)$/svdscrol.obj \
37810 $(SLO)$/svdtouch.obj \
37811 $(SLO)$/svdtrans.obj \
37812 $(SLO)$/svdtxhdl.obj \
37813 $(SLO)$/svdundo.obj \
37814 $(SLO)$/svdviter.obj \
37815 $(SLO)$/clonelist.obj \
37816 - $(SLO)$/ActionDescriptionProvider.obj \
37817 $(SLO)$/svdedtv.obj \
37818 $(SLO)$/selectioncontroller.obj \
37819 $(SLO)$/polypolygoneditor.obj \
37820 - $(SLO)$/svdomedia.obj \
37821 + $(SLO)$/svdomedia.obj
37823 +LIB2TARGET= $(SLB)$/$(TARGET).lib
37824 +LIB2OBJFILES= \
37825 + $(SLO)$/svdoimp.obj \
37826 + $(SLO)$/svdibrow.obj \
37827 + $(SLO)$/svdscrol.obj \
37828 + $(SLO)$/ActionDescriptionProvider.obj \
37829 $(SLO)$/impgrfll.obj
37831 +LIB3TARGET= $(SLB)$/$(TARGET)-msfilter.lib
37832 +LIB3OBJFILES= \
37833 + $(SLO)$/svdfppt.obj \
37835 +SLOFILES = $(LIB1OBJFILES) $(LIB2OBJFILES) $(LIB3OBJFILES)
37837 SRS1NAME=svdstr
37838 SRC1FILES= svdstr.src
37840 diff --git svx/source/svdraw/svdmodel.cxx svx/source/svdraw/svdmodel.cxx
37841 index d328dcf..587ff0a 100644
37842 --- svx/source/svdraw/svdmodel.cxx
37843 +++ svx/source/svdraw/svdmodel.cxx
37844 @@ -1801,6 +1801,11 @@ uno::Reference< uno::XInterface > SdrModel::getUnoModel()
37845 return mxUnoModel;
37848 +void SdrModel::setUnoModel( ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > xModel )
37850 + mxUnoModel = xModel;
37853 uno::Reference< uno::XInterface > SdrModel::createUnoModel()
37855 DBG_ERROR( "SdrModel::createUnoModel() - base implementation should not be called!" );
37856 diff --git svx/source/svrtf/makefile.mk svx/source/svrtf/makefile.mk
37857 index 6ae14ad..8a78c77 100644
37858 --- svx/source/svrtf/makefile.mk
37859 +++ svx/source/svrtf/makefile.mk
37860 @@ -36,6 +36,7 @@ PROJECTPCHSOURCE=$(PRJ)$/util$/svxpch
37862 PRJNAME=svx
37863 TARGET=svxrtf
37864 +LIBTARGET=NO
37865 AUTOSEG=true
37867 # --- Settings -----------------------------------------------------
37868 @@ -48,11 +49,17 @@ AUTOSEG=true
37869 EXCEPTIONSFILES= \
37870 $(SLO)$/svxrtf.obj
37872 -SLOFILES = \
37873 - $(SLO)$/rtfgrf.obj \
37874 +LIB1TARGET= $(SLB)$/$(TARGET)-core.lib
37875 +LIB1OBJFILES= \
37876 $(SLO)$/rtfitem.obj \
37877 $(SLO)$/svxrtf.obj
37879 +LIB2TARGET= $(SLB)$/$(TARGET).lib
37880 +LIB2OBJFILES= \
37881 + $(SLO)$/rtfgrf.obj
37883 +SLOFILES = $(LIB1OBJFILES) $(LIB2OBJFILES)
37885 # ==========================================================================
37887 .INCLUDE : target.mk
37888 diff --git svx/source/svrtf/rtfgrf.cxx svx/source/svrtf/rtfgrf.cxx
37889 index 9fd6ec1..ddddab8 100644
37890 --- svx/source/svrtf/rtfgrf.cxx
37891 +++ svx/source/svrtf/rtfgrf.cxx
37892 @@ -559,17 +559,4 @@ BOOL SvxRTFParser::ReadBmpData( Graphic& rGrf, SvxRTFPictureType& rPicType )
37893 return bValidBmp;
37896 - // alle Werte auf default; wird nach einlesen der Bitmap aufgerufen !
37897 -void SvxRTFPictureType::ResetValues()
37898 -{ // setze alle Werte RTF-Defaults
37899 - eStyle = RTF_BITMAP;
37900 - nMode = HEX_MODE;
37901 - nType = nGoalWidth = nGoalHeight = 0;
37902 - nWidth = nHeight = nWidthBytes = 0;
37903 - uPicLen = 0;
37904 - nBitsPerPixel = nPlanes = 1;
37905 - nScalX = nScalY = 100; // Skalierung in Prozent
37906 - nCropT = nCropB = nCropL = nCropR = 0;
37909 /* vi:set tabstop=4 shiftwidth=4 expandtab: */
37910 diff --git svx/source/table/cell.hxx svx/source/table/cell.hxx
37911 index 6b4843a..aa4464c 100644
37912 --- svx/source/table/cell.hxx
37913 +++ svx/source/table/cell.hxx
37914 @@ -57,160 +57,160 @@ namespace sdr { namespace table {
37916 // -----------------------------------------------------------------------------
37918 -class Cell : public SdrText,
37919 +class SVX_DLLPUBLIC Cell : public SdrText,
37920 public SvxUnoTextBase,
37921 public ::com::sun::star::table::XMergeableCell,
37922 public ::com::sun::star::awt::XLayoutConstrains,
37923 public ::com::sun::star::beans::XMultiPropertyStates,
37924 public ::cppu::OWeakObject
37926 - friend class CellUndo;
37927 + friend class CellUndo;
37929 public:
37930 - Cell( SdrTableObj& rTableObj, OutlinerParaObject* pOutlinerParaObject ) throw();
37931 - virtual ~Cell() throw();
37932 + Cell( SdrTableObj& rTableObj, OutlinerParaObject* pOutlinerParaObject ) throw();
37933 + virtual ~Cell() throw();
37935 - // private
37936 - void dispose();
37937 + // private
37938 + SVX_DLLPRIVATE void dispose();
37940 - // SdrTextShape proxy
37941 - bool IsTextEditActive();
37942 - bool hasText() const;
37943 + // SdrTextShape proxy
37944 + bool IsTextEditActive();
37945 + SVX_DLLPRIVATE bool hasText() const;
37947 - void cloneFrom( const CellRef& rCell );
37948 + SVX_DLLPRIVATE void cloneFrom( const CellRef& rCell );
37950 - void setCellRect( ::Rectangle& rCellRect ) { maCellRect = rCellRect; }
37951 - const ::Rectangle& getCellRect() const { return maCellRect; }
37952 - ::Rectangle& getCellRect() { return maCellRect; }
37953 + SVX_DLLPRIVATE void setCellRect( ::Rectangle& rCellRect ) { maCellRect = rCellRect; }
37954 + SVX_DLLPRIVATE const ::Rectangle& getCellRect() const { return maCellRect; }
37955 + SVX_DLLPRIVATE ::Rectangle& getCellRect() { return maCellRect; }
37957 - OutlinerParaObject* GetEditOutlinerParaObject() const;
37958 - void SetStyleSheet( SfxStyleSheet* pStyleSheet, sal_Bool bDontRemoveHardAttr );
37959 - virtual SfxStyleSheet* GetStyleSheet() const;
37960 - SfxStyleSheetPool* GetStyleSheetPool() const;
37961 - virtual const Rectangle& GetCurrentBoundRect() const;
37962 - virtual void TakeTextAnchorRect(Rectangle& rAnchorRect) const;
37963 + OutlinerParaObject* GetEditOutlinerParaObject() const;
37964 + SVX_DLLPRIVATE void SetStyleSheet( SfxStyleSheet* pStyleSheet, sal_Bool bDontRemoveHardAttr );
37965 + SVX_DLLPRIVATE virtual SfxStyleSheet* GetStyleSheet() const;
37966 + SfxStyleSheetPool* GetStyleSheetPool() const;
37967 + SVX_DLLPRIVATE virtual const Rectangle& GetCurrentBoundRect() const;
37968 + SVX_DLLPRIVATE virtual void TakeTextAnchorRect(Rectangle& rAnchorRect) const;
37970 - virtual const SfxItemSet& GetItemSet() const;
37971 - void SetMergedItemSetAndBroadcast(const SfxItemSet& rSet, sal_Bool bClearAllItems);
37972 - void SetMergedItem(const SfxPoolItem& rItem);
37973 + SVX_DLLPRIVATE virtual const SfxItemSet& GetItemSet() const;
37974 + SVX_DLLPRIVATE void SetMergedItemSetAndBroadcast(const SfxItemSet& rSet, sal_Bool bClearAllItems);
37975 + void SetMergedItem(const SfxPoolItem& rItem);
37977 - sal_Int32 getMinimumWidth();
37978 - sal_Int32 getMinimumHeight();
37979 + SVX_DLLPRIVATE sal_Int32 getMinimumWidth();
37980 + SVX_DLLPRIVATE sal_Int32 getMinimumHeight();
37982 - long GetTextLeftDistance() const;
37983 - long GetTextRightDistance() const;
37984 - long GetTextUpperDistance() const;
37985 - long GetTextLowerDistance() const;
37986 + SVX_DLLPRIVATE long GetTextLeftDistance() const;
37987 + SVX_DLLPRIVATE long GetTextRightDistance() const;
37988 + SVX_DLLPRIVATE long GetTextUpperDistance() const;
37989 + SVX_DLLPRIVATE long GetTextLowerDistance() const;
37991 - SdrTextVertAdjust GetTextVerticalAdjust() const;
37992 - SdrTextHorzAdjust GetTextHorizontalAdjust() const;
37993 + SVX_DLLPRIVATE SdrTextVertAdjust GetTextVerticalAdjust() const;
37994 + SdrTextHorzAdjust GetTextHorizontalAdjust() const;
37996 - virtual void SetModel(SdrModel* pNewModel);
37997 + SVX_DLLPRIVATE virtual void SetModel(SdrModel* pNewModel);
37999 - void merge( sal_Int32 nColumnSpan, sal_Int32 nRowSpan );
38000 - void mergeContent( const CellRef& xSourceCell );
38001 - void replaceContentAndFormating( const CellRef& xSourceCell );
38002 + SVX_DLLPRIVATE void merge( sal_Int32 nColumnSpan, sal_Int32 nRowSpan );
38003 + SVX_DLLPRIVATE void mergeContent( const CellRef& xSourceCell );
38004 + SVX_DLLPRIVATE void replaceContentAndFormating( const CellRef& xSourceCell );
38006 - void setMerged();
38007 + SVX_DLLPRIVATE void setMerged();
38009 // XInterface
38010 - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& Type ) throw (::com::sun::star::uno::RuntimeException);
38011 - virtual void SAL_CALL acquire() throw ();
38012 - virtual void SAL_CALL release() throw ();
38013 + SVX_DLLPRIVATE virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& Type ) throw (::com::sun::star::uno::RuntimeException);
38014 + SVX_DLLPRIVATE virtual void SAL_CALL acquire() throw ();
38015 + SVX_DLLPRIVATE virtual void SAL_CALL release() throw ();
38017 // XTypeProvider
38018 - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes( ) throw (::com::sun::star::uno::RuntimeException);
38019 - virtual ::com::sun::star::uno::Sequence< ::sal_Int8 > SAL_CALL getImplementationId( ) throw (::com::sun::star::uno::RuntimeException);
38020 + SVX_DLLPRIVATE virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes( ) throw (::com::sun::star::uno::RuntimeException);
38021 + SVX_DLLPRIVATE virtual ::com::sun::star::uno::Sequence< ::sal_Int8 > SAL_CALL getImplementationId( ) throw (::com::sun::star::uno::RuntimeException);
38023 // XServiceInfo
38024 - virtual ::rtl::OUString SAL_CALL getImplementationName( ) throw (::com::sun::star::uno::RuntimeException);
38025 - virtual ::sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw (::com::sun::star::uno::RuntimeException);
38026 - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) throw (::com::sun::star::uno::RuntimeException);
38027 + SVX_DLLPRIVATE virtual ::rtl::OUString SAL_CALL getImplementationName( ) throw (::com::sun::star::uno::RuntimeException);
38028 + SVX_DLLPRIVATE virtual ::sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw (::com::sun::star::uno::RuntimeException);
38029 + SVX_DLLPRIVATE virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) throw (::com::sun::star::uno::RuntimeException);
38031 // XLayoutConstrains
38032 - virtual ::com::sun::star::awt::Size SAL_CALL getMinimumSize( ) throw (::com::sun::star::uno::RuntimeException);
38033 - virtual ::com::sun::star::awt::Size SAL_CALL getPreferredSize( ) throw (::com::sun::star::uno::RuntimeException);
38034 - virtual ::com::sun::star::awt::Size SAL_CALL calcAdjustedSize( const ::com::sun::star::awt::Size& aNewSize ) throw (::com::sun::star::uno::RuntimeException);
38035 + SVX_DLLPRIVATE virtual ::com::sun::star::awt::Size SAL_CALL getMinimumSize( ) throw (::com::sun::star::uno::RuntimeException);
38036 + SVX_DLLPRIVATE virtual ::com::sun::star::awt::Size SAL_CALL getPreferredSize( ) throw (::com::sun::star::uno::RuntimeException);
38037 + SVX_DLLPRIVATE virtual ::com::sun::star::awt::Size SAL_CALL calcAdjustedSize( const ::com::sun::star::awt::Size& aNewSize ) throw (::com::sun::star::uno::RuntimeException);
38039 // XMergeableCell
38040 - virtual ::sal_Int32 SAL_CALL getRowSpan() throw (::com::sun::star::uno::RuntimeException);
38041 - virtual ::sal_Int32 SAL_CALL getColumnSpan() throw (::com::sun::star::uno::RuntimeException);
38042 - virtual ::sal_Bool SAL_CALL isMerged() throw (::com::sun::star::uno::RuntimeException);
38043 + SVX_DLLPRIVATE virtual ::sal_Int32 SAL_CALL getRowSpan() throw (::com::sun::star::uno::RuntimeException);
38044 + SVX_DLLPRIVATE virtual ::sal_Int32 SAL_CALL getColumnSpan() throw (::com::sun::star::uno::RuntimeException);
38045 + SVX_DLLPRIVATE virtual ::sal_Bool SAL_CALL isMerged() throw (::com::sun::star::uno::RuntimeException);
38047 // XCell
38048 - virtual ::rtl::OUString SAL_CALL getFormula() throw (::com::sun::star::uno::RuntimeException);
38049 - virtual void SAL_CALL setFormula( const ::rtl::OUString& aFormula ) throw (::com::sun::star::uno::RuntimeException);
38050 - virtual double SAL_CALL getValue() throw (::com::sun::star::uno::RuntimeException);
38051 - virtual void SAL_CALL setValue( double nValue ) throw (::com::sun::star::uno::RuntimeException);
38052 - virtual ::com::sun::star::table::CellContentType SAL_CALL getType() throw (::com::sun::star::uno::RuntimeException);
38053 - virtual sal_Int32 SAL_CALL getError() throw (::com::sun::star::uno::RuntimeException);
38054 + SVX_DLLPRIVATE virtual ::rtl::OUString SAL_CALL getFormula() throw (::com::sun::star::uno::RuntimeException);
38055 + SVX_DLLPRIVATE virtual void SAL_CALL setFormula( const ::rtl::OUString& aFormula ) throw (::com::sun::star::uno::RuntimeException);
38056 + SVX_DLLPRIVATE virtual double SAL_CALL getValue() throw (::com::sun::star::uno::RuntimeException);
38057 + SVX_DLLPRIVATE virtual void SAL_CALL setValue( double nValue ) throw (::com::sun::star::uno::RuntimeException);
38058 + SVX_DLLPRIVATE virtual ::com::sun::star::table::CellContentType SAL_CALL getType() throw (::com::sun::star::uno::RuntimeException);
38059 + SVX_DLLPRIVATE virtual sal_Int32 SAL_CALL getError() throw (::com::sun::star::uno::RuntimeException);
38061 // ::com::sun::star::beans::XPropertySet
38062 - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() throw(::com::sun::star::uno::RuntimeException);
38063 - virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Any& aValue ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
38064 - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
38065 - virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& xListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
38066 - virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& aListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
38067 - virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
38068 - virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
38069 + SVX_DLLPRIVATE virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() throw(::com::sun::star::uno::RuntimeException);
38070 + SVX_DLLPRIVATE virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Any& aValue ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
38071 + SVX_DLLPRIVATE virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
38072 + SVX_DLLPRIVATE virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& xListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
38073 + SVX_DLLPRIVATE virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& aListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
38074 + SVX_DLLPRIVATE virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
38075 + SVX_DLLPRIVATE virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
38077 // XMultiPropertySet
38078 - virtual void SAL_CALL setPropertyValues( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames, const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& aValues ) throw (::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
38079 - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > SAL_CALL getPropertyValues( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames ) throw (::com::sun::star::uno::RuntimeException);
38080 - virtual void SAL_CALL addPropertiesChangeListener( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertiesChangeListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
38081 - virtual void SAL_CALL removePropertiesChangeListener( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertiesChangeListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
38082 - virtual void SAL_CALL firePropertiesChangeEvent( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertiesChangeListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
38083 + SVX_DLLPRIVATE virtual void SAL_CALL setPropertyValues( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames, const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& aValues ) throw (::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
38084 + SVX_DLLPRIVATE virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > SAL_CALL getPropertyValues( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames ) throw (::com::sun::star::uno::RuntimeException);
38085 + SVX_DLLPRIVATE virtual void SAL_CALL addPropertiesChangeListener( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertiesChangeListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
38086 + SVX_DLLPRIVATE virtual void SAL_CALL removePropertiesChangeListener( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertiesChangeListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
38087 + SVX_DLLPRIVATE virtual void SAL_CALL firePropertiesChangeEvent( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertiesChangeListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
38089 // ::com::sun::star::beans::XPropertyState
38090 - virtual ::com::sun::star::beans::PropertyState SAL_CALL getPropertyState( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
38091 - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyState > SAL_CALL getPropertyStates( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
38092 - virtual void SAL_CALL setPropertyToDefault( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
38093 - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyDefault( const ::rtl::OUString& aPropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
38094 + SVX_DLLPRIVATE virtual ::com::sun::star::beans::PropertyState SAL_CALL getPropertyState( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
38095 + SVX_DLLPRIVATE virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyState > SAL_CALL getPropertyStates( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
38096 + SVX_DLLPRIVATE virtual void SAL_CALL setPropertyToDefault( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
38097 + SVX_DLLPRIVATE virtual ::com::sun::star::uno::Any SAL_CALL getPropertyDefault( const ::rtl::OUString& aPropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
38099 // XMultiPropertyStates
38100 - virtual void SAL_CALL setAllPropertiesToDefault( ) throw (::com::sun::star::uno::RuntimeException);
38101 - virtual void SAL_CALL setPropertiesToDefault( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
38102 - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > SAL_CALL getPropertyDefaults( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
38103 + SVX_DLLPRIVATE virtual void SAL_CALL setAllPropertiesToDefault( ) throw (::com::sun::star::uno::RuntimeException);
38104 + SVX_DLLPRIVATE virtual void SAL_CALL setPropertiesToDefault( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
38105 + SVX_DLLPRIVATE virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > SAL_CALL getPropertyDefaults( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
38107 // XFastPropertySet
38108 - virtual void SAL_CALL setFastPropertyValue( ::sal_Int32 nHandle, const ::com::sun::star::uno::Any& aValue ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
38109 - virtual ::com::sun::star::uno::Any SAL_CALL getFastPropertyValue( ::sal_Int32 nHandle ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
38110 + SVX_DLLPRIVATE virtual void SAL_CALL setFastPropertyValue( ::sal_Int32 nHandle, const ::com::sun::star::uno::Any& aValue ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
38111 + SVX_DLLPRIVATE virtual ::com::sun::star::uno::Any SAL_CALL getFastPropertyValue( ::sal_Int32 nHandle ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
38113 // XText
38114 - virtual void SAL_CALL insertTextContent( const ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange >& xRange, const ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextContent >& xContent, ::sal_Bool bAbsorb ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
38115 - virtual void SAL_CALL removeTextContent( const ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextContent >& xContent ) throw (::com::sun::star::container::NoSuchElementException, ::com::sun::star::uno::RuntimeException);
38116 + SVX_DLLPRIVATE virtual void SAL_CALL insertTextContent( const ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange >& xRange, const ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextContent >& xContent, ::sal_Bool bAbsorb ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
38117 + SVX_DLLPRIVATE virtual void SAL_CALL removeTextContent( const ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextContent >& xContent ) throw (::com::sun::star::container::NoSuchElementException, ::com::sun::star::uno::RuntimeException);
38119 // XSimpleText
38120 - virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextCursor > SAL_CALL createTextCursor( ) throw (::com::sun::star::uno::RuntimeException);
38121 - virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextCursor > SAL_CALL createTextCursorByRange( const ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange >& aTextPosition ) throw (::com::sun::star::uno::RuntimeException);
38122 - virtual void SAL_CALL insertString( const ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange >& xRange, const ::rtl::OUString& aString, ::sal_Bool bAbsorb ) throw (::com::sun::star::uno::RuntimeException);
38123 - virtual void SAL_CALL insertControlCharacter( const ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange >& xRange, ::sal_Int16 nControlCharacter, ::sal_Bool bAbsorb ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
38124 + SVX_DLLPRIVATE virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextCursor > SAL_CALL createTextCursor( ) throw (::com::sun::star::uno::RuntimeException);
38125 + SVX_DLLPRIVATE virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextCursor > SAL_CALL createTextCursorByRange( const ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange >& aTextPosition ) throw (::com::sun::star::uno::RuntimeException);
38126 + SVX_DLLPRIVATE virtual void SAL_CALL insertString( const ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange >& xRange, const ::rtl::OUString& aString, ::sal_Bool bAbsorb ) throw (::com::sun::star::uno::RuntimeException);
38127 + SVX_DLLPRIVATE virtual void SAL_CALL insertControlCharacter( const ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange >& xRange, ::sal_Int16 nControlCharacter, ::sal_Bool bAbsorb ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
38129 // XTextRange
38130 - virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XText > SAL_CALL getText( ) throw (::com::sun::star::uno::RuntimeException);
38131 - virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > SAL_CALL getStart( ) throw (::com::sun::star::uno::RuntimeException);
38132 - virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > SAL_CALL getEnd( ) throw (::com::sun::star::uno::RuntimeException);
38133 - virtual ::rtl::OUString SAL_CALL getString( ) throw (::com::sun::star::uno::RuntimeException);
38134 - virtual void SAL_CALL setString( const ::rtl::OUString& aString ) throw (::com::sun::star::uno::RuntimeException);
38135 + SVX_DLLPRIVATE virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XText > SAL_CALL getText( ) throw (::com::sun::star::uno::RuntimeException);
38136 + SVX_DLLPRIVATE virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > SAL_CALL getStart( ) throw (::com::sun::star::uno::RuntimeException);
38137 + SVX_DLLPRIVATE virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > SAL_CALL getEnd( ) throw (::com::sun::star::uno::RuntimeException);
38138 + SVX_DLLPRIVATE virtual ::rtl::OUString SAL_CALL getString( ) throw (::com::sun::star::uno::RuntimeException);
38139 + SVX_DLLPRIVATE virtual void SAL_CALL setString( const ::rtl::OUString& aString ) throw (::com::sun::star::uno::RuntimeException);
38141 - virtual void SetOutlinerParaObject( OutlinerParaObject* pTextObject );
38142 + SVX_DLLPRIVATE virtual void SetOutlinerParaObject( OutlinerParaObject* pTextObject );
38144 - void AddUndo();
38145 + SVX_DLLPRIVATE void AddUndo();
38147 - using SvxUnoTextRangeBase::setPropertyValue;
38148 - using SvxUnoTextRangeBase::getPropertyValue;
38149 + using SvxUnoTextRangeBase::setPropertyValue;
38150 + using SvxUnoTextRangeBase::getPropertyValue;
38152 - sdr::properties::TextProperties* CloneProperties( SdrObject& rNewObj, Cell& rNewCell );
38153 + SVX_DLLPRIVATE sdr::properties::TextProperties* CloneProperties( SdrObject& rNewObj, Cell& rNewCell );
38155 - static sdr::properties::TextProperties* CloneProperties( sdr::properties::TextProperties* pProperties, SdrObject& rNewObj, Cell& rNewCell );
38156 + SVX_DLLPRIVATE static sdr::properties::TextProperties* CloneProperties( sdr::properties::TextProperties* pProperties, SdrObject& rNewObj, Cell& rNewCell );
38158 - void notifyModified();
38159 + SVX_DLLPRIVATE void notifyModified();
38161 protected:
38162 - virtual const SfxItemSet& GetObjectItemSet();
38163 - virtual void SetObjectItem(const SfxPoolItem& rItem);
38164 + SVX_DLLPRIVATE virtual const SfxItemSet& GetObjectItemSet();
38165 + SVX_DLLPRIVATE virtual void SetObjectItem(const SfxPoolItem& rItem);
38167 - ::com::sun::star::uno::Any GetAnyForItem( SfxItemSet& aSet, const SfxItemPropertyMap* pMap );
38168 + SVX_DLLPRIVATE ::com::sun::star::uno::Any GetAnyForItem( SfxItemSet& aSet, const SfxItemPropertyMap* pMap );
38170 private:
38171 SvxItemPropertySet maPropSet;
38172 diff --git svx/source/table/makefile.mk svx/source/table/makefile.mk
38173 index fe34fd5..bccf1b2 100644
38174 --- svx/source/table/makefile.mk
38175 +++ svx/source/table/makefile.mk
38176 @@ -36,6 +36,7 @@ PROJECTPCHSOURCE=$(PRJ)$/util$/svxpch
38178 PRJNAME=svx
38179 TARGET=table
38180 +LIBTARGET=NO
38181 ENABLE_EXCEPTIONS=TRUE;
38183 # --- Settings -----------------------------------------------------
38184 @@ -45,9 +46,9 @@ ENABLE_EXCEPTIONS=TRUE;
38186 # --- Files --------------------------------------------------------
38188 -SLOFILES= \
38189 +LIB1TARGET= $(SLB)$/$(TARGET)-core.lib
38190 +LIB1OBJFILES= \
38191 $(SLO)$/propertyset.obj\
38192 - $(SLO)$/celleditsource.obj\
38193 $(SLO)$/cell.obj\
38194 $(SLO)$/cellrange.obj\
38195 $(SLO)$/cellcursor.obj\
38196 @@ -61,13 +62,19 @@ SLOFILES= \
38197 $(SLO)$/tablelayouter.obj\
38198 $(SLO)$/tablehandles.obj\
38199 $(SLO)$/tablecontroller.obj\
38200 - $(SLO)$/tabledesign.obj\
38201 - $(SLO)$/tableundo.obj\
38202 - $(SLO)$/accessibletableshape.obj\
38203 + $(SLO)$/tableundo.obj
38205 +LIB2TARGET= $(SLB)$/$(TARGET).lib
38206 +LIB2OBJFILES= \
38207 + $(SLO)$/celleditsource.obj \
38208 + $(SLO)$/tabledesign.obj \
38209 + $(SLO)$/accessibletableshape.obj \
38210 $(SLO)$/accessiblecell.obj \
38211 $(SLO)$/tablertfexporter.obj \
38212 $(SLO)$/tablertfimporter.obj
38214 +SLOFILES = $(LIB1OBJFILES) $(LIB2OBJFILES)
38216 SRS1NAME=table
38217 SRC1FILES= table.src
38219 diff --git svx/source/table/tablecontroller.hxx svx/source/table/tablecontroller.hxx
38220 index bd1569c..6270aa9 100644
38221 --- svx/source/table/tablecontroller.hxx
38222 +++ svx/source/table/tablecontroller.hxx
38223 @@ -50,97 +50,97 @@ const sal_Int16 SELTYPE_NONE = 0;
38224 const sal_Int16 SELTYPE_MOUSE = 1;
38225 const sal_Int16 SELTYPE_KEYS = 2;
38227 -class SvxTableController: public sdr::SelectionController
38228 +class SVX_DLLPUBLIC SvxTableController: public sdr::SelectionController
38230 public:
38231 - SvxTableController( SdrObjEditView* pView, const SdrObject* pObj );
38232 - virtual ~SvxTableController();
38233 + SVX_DLLPRIVATE SvxTableController( SdrObjEditView* pView, const SdrObject* pObj );
38234 + SVX_DLLPRIVATE virtual ~SvxTableController();
38236 - virtual bool onKeyInput(const KeyEvent& rKEvt, Window* pWin);
38237 - virtual bool onMouseButtonDown(const MouseEvent& rMEvt, Window* pWin);
38238 - virtual bool onMouseButtonUp(const MouseEvent& rMEvt, Window* pWin);
38239 - virtual bool onMouseMove(const MouseEvent& rMEvt, Window* pWin);
38240 + SVX_DLLPRIVATE virtual bool onKeyInput(const KeyEvent& rKEvt, Window* pWin);
38241 + SVX_DLLPRIVATE virtual bool onMouseButtonDown(const MouseEvent& rMEvt, Window* pWin);
38242 + SVX_DLLPRIVATE virtual bool onMouseButtonUp(const MouseEvent& rMEvt, Window* pWin);
38243 + SVX_DLLPRIVATE virtual bool onMouseMove(const MouseEvent& rMEvt, Window* pWin);
38245 - virtual bool DeleteMarked();
38246 + SVX_DLLPRIVATE virtual bool DeleteMarked();
38248 - virtual void onSelectionHasChanged();
38249 + SVX_DLLPRIVATE virtual void onSelectionHasChanged();
38251 - virtual void GetState( SfxItemSet& rSet );
38252 - virtual void Execute( SfxRequest& rReq );
38253 + SVX_DLLPRIVATE virtual void GetState( SfxItemSet& rSet );
38254 + SVX_DLLPRIVATE virtual void Execute( SfxRequest& rReq );
38256 - virtual bool GetStyleSheet( SfxStyleSheet* &rpStyleSheet ) const;
38257 - virtual bool SetStyleSheet( SfxStyleSheet* pStyleSheet, bool bDontRemoveHardAttr );
38258 + SVX_DLLPRIVATE virtual bool GetStyleSheet( SfxStyleSheet* &rpStyleSheet ) const;
38259 + SVX_DLLPRIVATE virtual bool SetStyleSheet( SfxStyleSheet* pStyleSheet, bool bDontRemoveHardAttr );
38261 // slots
38262 - void onInsert( sal_uInt16 nSId );
38263 - void onDelete( sal_uInt16 nSId );
38264 - void onSelect( sal_uInt16 nSId );
38265 - void onFormatTable( SfxRequest& rReq );
38266 - void MergeMarkedCells();
38267 - void SplitMarkedCells();
38268 - void DistributeColumns();
38269 - void DistributeRows();
38270 - void SetVertical( sal_uInt16 nSId );
38271 + SVX_DLLPRIVATE void onInsert( sal_uInt16 nSId );
38272 + SVX_DLLPRIVATE void onDelete( sal_uInt16 nSId );
38273 + SVX_DLLPRIVATE void onSelect( sal_uInt16 nSId );
38274 + SVX_DLLPRIVATE void onFormatTable( SfxRequest& rReq );
38275 + SVX_DLLPRIVATE void MergeMarkedCells();
38276 + SVX_DLLPRIVATE void SplitMarkedCells();
38277 + SVX_DLLPRIVATE void DistributeColumns();
38278 + SVX_DLLPRIVATE void DistributeRows();
38279 + SVX_DLLPRIVATE void SetVertical( sal_uInt16 nSId );
38281 - static rtl::Reference< sdr::SelectionController > create( SdrObjEditView* pView, const SdrObject* pObj, const rtl::Reference< sdr::SelectionController >& xRefController );
38282 + SVX_DLLPRIVATE static rtl::Reference< sdr::SelectionController > create( SdrObjEditView* pView, const SdrObject* pObj, const rtl::Reference< sdr::SelectionController >& xRefController );
38284 - void MergeAttrFromSelectedCells(SfxItemSet& rAttr, bool bOnlyHardAttr) const;
38285 - void SetAttrToSelectedCells(const SfxItemSet& rAttr, bool bReplaceAll);
38286 + SVX_DLLPRIVATE void MergeAttrFromSelectedCells(SfxItemSet& rAttr, bool bOnlyHardAttr) const;
38287 + SVX_DLLPRIVATE void SetAttrToSelectedCells(const SfxItemSet& rAttr, bool bReplaceAll);
38289 - virtual bool GetAttributes(SfxItemSet& rTargetSet, bool bOnlyHardAttr) const;
38290 - virtual bool SetAttributes(const SfxItemSet& rSet, bool bReplaceAll);
38291 + SVX_DLLPRIVATE virtual bool GetAttributes(SfxItemSet& rTargetSet, bool bOnlyHardAttr) const;
38292 + SVX_DLLPRIVATE virtual bool SetAttributes(const SfxItemSet& rSet, bool bReplaceAll);
38294 - virtual bool GetMarkedObjModel( SdrPage* pNewPage );
38295 - virtual bool PasteObjModel( const SdrModel& rModel );
38296 + SVX_DLLPRIVATE virtual bool GetMarkedObjModel( SdrPage* pNewPage );
38297 + SVX_DLLPRIVATE virtual bool PasteObjModel( const SdrModel& rModel );
38299 - bool hasSelectedCells() const { return mbCellSelectionMode || mpView->IsTextEdit(); }
38300 + SVX_DLLPRIVATE bool hasSelectedCells() const { return mbCellSelectionMode || mpView->IsTextEdit(); }
38302 void getSelectedCells( CellPos& rFirstPos, CellPos& rLastPos );
38303 void setSelectedCells( const CellPos& rFirstPos, const CellPos& rLastPos );
38304 void clearSelection();
38305 void selectAll();
38307 - void onTableModified();
38308 + SVX_DLLPRIVATE void onTableModified();
38310 private:
38311 SvxTableController(SvxTableController &); // not defined
38312 void operator =(SvxTableController &); // not defined
38314 // internals
38315 - void ApplyBorderAttr( const SfxItemSet& rAttr );
38316 - void UpdateTableShape();
38317 + SVX_DLLPRIVATE void ApplyBorderAttr( const SfxItemSet& rAttr );
38318 + SVX_DLLPRIVATE void UpdateTableShape();
38320 - void SetTableStyle( const SfxItemSet* pArgs );
38321 - void SetTableStyleSettings( const SfxItemSet* pArgs );
38322 + SVX_DLLPRIVATE void SetTableStyle( const SfxItemSet* pArgs );
38323 + SVX_DLLPRIVATE void SetTableStyleSettings( const SfxItemSet* pArgs );
38325 - bool PasteObject( SdrTableObj* pPasteTableObj );
38326 + SVX_DLLPRIVATE bool PasteObject( SdrTableObj* pPasteTableObj );
38328 - bool checkTableObject();
38329 - bool updateTableObject();
38330 - const CellPos& getSelectionStart();
38331 - void setSelectionStart( const CellPos& rPos );
38332 - const CellPos& getSelectionEnd();
38333 - ::com::sun::star::uno::Reference< ::com::sun::star::table::XCellCursor > getSelectionCursor();
38334 - void checkCell( CellPos& rPos );
38335 + SVX_DLLPRIVATE bool checkTableObject();
38336 + SVX_DLLPRIVATE bool updateTableObject();
38337 + SVX_DLLPRIVATE const CellPos& getSelectionStart();
38338 + SVX_DLLPRIVATE void setSelectionStart( const CellPos& rPos );
38339 + SVX_DLLPRIVATE const CellPos& getSelectionEnd();
38340 + SVX_DLLPRIVATE ::com::sun::star::uno::Reference< ::com::sun::star::table::XCellCursor > getSelectionCursor();
38341 + SVX_DLLPRIVATE void checkCell( CellPos& rPos );
38343 - void MergeRange( sal_Int32 nFirstCol, sal_Int32 nFirstRow, sal_Int32 nLastCol, sal_Int32 nLastRow );
38344 + SVX_DLLPRIVATE void MergeRange( sal_Int32 nFirstCol, sal_Int32 nFirstRow, sal_Int32 nLastCol, sal_Int32 nLastRow );
38346 - void EditCell( const CellPos& rPos, ::Window* pWindow, const ::com::sun::star::awt::MouseEvent* pMouseEvent = 0, sal_uInt16 nAction = 0 );
38347 - bool StopTextEdit();
38348 + SVX_DLLPRIVATE void EditCell( const CellPos& rPos, ::Window* pWindow, const ::com::sun::star::awt::MouseEvent* pMouseEvent = 0, sal_uInt16 nAction = 0 );
38349 + SVX_DLLPRIVATE bool StopTextEdit();
38351 - void DeleteTable();
38352 + SVX_DLLPRIVATE void DeleteTable();
38354 - sal_uInt16 getKeyboardAction( const KeyEvent& rKEvt, Window* pWindow );
38355 - bool executeAction( sal_uInt16 nAction, bool bSelect, Window* pWindow );
38356 - void gotoCell( const CellPos& rCell, bool bSelect, Window* pWindow, sal_uInt16 nAction = 0 );
38357 + SVX_DLLPRIVATE sal_uInt16 getKeyboardAction( const KeyEvent& rKEvt, Window* pWindow );
38358 + SVX_DLLPRIVATE bool executeAction( sal_uInt16 nAction, bool bSelect, Window* pWindow );
38359 + SVX_DLLPRIVATE void gotoCell( const CellPos& rCell, bool bSelect, Window* pWindow, sal_uInt16 nAction = 0 );
38361 - void StartSelection( const CellPos& rPos );
38362 - void UpdateSelection( const CellPos& rPos );
38363 - void RemoveSelection();
38364 - void updateSelectionOverlay();
38365 - void destroySelectionOverlay();
38366 + SVX_DLLPRIVATE void StartSelection( const CellPos& rPos );
38367 + SVX_DLLPRIVATE void UpdateSelection( const CellPos& rPos );
38368 + SVX_DLLPRIVATE void RemoveSelection();
38369 + SVX_DLLPRIVATE void updateSelectionOverlay();
38370 + SVX_DLLPRIVATE void destroySelectionOverlay();
38372 - void findMergeOrigin( CellPos& rPos );
38373 + SVX_DLLPRIVATE void findMergeOrigin( CellPos& rPos );
38375 DECL_LINK( UpdateHdl, void * );
38377 diff --git svx/source/tbxctrls/makefile.mk svx/source/tbxctrls/makefile.mk
38378 index 9de74b6..e7cd3d5 100644
38379 --- svx/source/tbxctrls/makefile.mk
38380 +++ svx/source/tbxctrls/makefile.mk
38381 @@ -33,6 +33,7 @@ PRJ=..$/..
38383 PRJNAME=svx
38384 TARGET=tbxctrls
38385 +LIBTARGET=NO
38386 ENABLE_EXCEPTIONS=TRUE
38388 # --- Settings -----------------------------------------------------
38389 @@ -42,10 +43,17 @@ ENABLE_EXCEPTIONS=TRUE
38391 # --- Files --------------------------------------------------------
38393 -SLOFILES= \
38394 - $(SLO)$/formatpaintbrushctrl.obj\
38395 +LIB1TARGET= $(SLB)$/$(TARGET)-core.lib
38396 +LIB1OBJFILES= \
38397 $(SLO)$/fontworkgallery.obj\
38398 $(SLO)$/extrusioncontrols.obj \
38399 + $(SLO)$/tbcontrl.obj \
38400 + $(SLO)$/toolbarmenu.obj \
38401 + $(SLO)$/tbxcolorupdate.obj
38403 +LIB2TARGET= $(SLB)$/$(TARGET).lib
38404 +LIB2OBJFILES= \
38405 + $(SLO)$/formatpaintbrushctrl.obj\
38406 $(SLO)$/colrctrl.obj \
38407 $(SLO)$/fillctrl.obj \
38408 $(SLO)$/grafctrl.obj \
38409 @@ -53,17 +61,16 @@ SLOFILES= \
38410 $(SLO)$/layctrl.obj \
38411 $(SLO)$/lboxctrl.obj \
38412 $(SLO)$/linectrl.obj \
38413 - $(SLO)$/tbcontrl.obj \
38414 $(SLO)$/tbxalign.obj \
38415 $(SLO)$/tbxdrctl.obj \
38416 $(SLO)$/verttexttbxctrl.obj \
38417 - $(SLO)$/toolbarmenu.obj \
38418 $(SLO)$/subtoolboxcontrol.obj \
38419 $(SLO)$/tbxcolor.obj \
38420 - $(SLO)$/tbxcolorupdate.obj \
38421 $(SLO)$/tbunocontroller.obj \
38422 $(SLO)$/zoomtbxctrl.obj
38424 +SLOFILES = $(LIB1OBJFILES) $(LIB2OBJFILES)
38426 SRS1NAME=$(TARGET)
38427 SRC1FILES = \
38428 fontworkgallery.src \
38429 diff --git svx/source/unodraw/UnoGraphicExporter.cxx svx/source/unodraw/UnoGraphicExporter.cxx
38430 index 08ea68b..9070b2e 100644
38431 --- svx/source/unodraw/UnoGraphicExporter.cxx
38432 +++ svx/source/unodraw/UnoGraphicExporter.cxx
38433 @@ -198,13 +198,13 @@ namespace svx
38434 SdrModel* mpDoc;
38437 - Reference< XInterface > SAL_CALL GraphicExporter_createInstance(const Reference< XMultiServiceFactory > & )
38438 + SVX_DLLPUBLIC Reference< XInterface > SAL_CALL GraphicExporter_createInstance(const Reference< XMultiServiceFactory > & )
38439 throw( Exception )
38441 return (XWeak*)new GraphicExporter();
38444 - Sequence< OUString > SAL_CALL GraphicExporter_getSupportedServiceNames()
38445 + SVX_DLLPUBLIC Sequence< OUString > SAL_CALL GraphicExporter_getSupportedServiceNames()
38446 throw()
38448 Sequence< OUString > aSupportedServiceNames( 1 );
38449 @@ -212,7 +212,7 @@ namespace svx
38450 return aSupportedServiceNames;
38453 - OUString SAL_CALL GraphicExporter_getImplementationName()
38454 + SVX_DLLPUBLIC OUString SAL_CALL GraphicExporter_getImplementationName()
38455 throw()
38457 return OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.comp.Draw.GraphicExporter" ) );
38458 diff --git svx/source/unodraw/UnoGraphicExporter.hxx svx/source/unodraw/UnoGraphicExporter.hxx
38459 index e015b1b..733c9ed 100644
38460 --- svx/source/unodraw/UnoGraphicExporter.hxx
38461 +++ svx/source/unodraw/UnoGraphicExporter.hxx
38462 @@ -35,9 +35,9 @@
38464 namespace svx
38466 - ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL GraphicExporter_createInstance(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > & rSMgr) throw( ::com::sun::star::uno::Exception );
38467 - ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL GraphicExporter_getSupportedServiceNames() throw();
38468 - ::rtl::OUString SAL_CALL GraphicExporter_getImplementationName() throw();
38469 + SVX_DLLPUBLIC ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL GraphicExporter_createInstance(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > & rSMgr) throw( ::com::sun::star::uno::Exception );
38470 + SVX_DLLPUBLIC ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL GraphicExporter_getSupportedServiceNames() throw();
38471 + SVX_DLLPUBLIC ::rtl::OUString SAL_CALL GraphicExporter_getImplementationName() throw();
38474 #endif
38475 diff --git svx/source/unodraw/makefile.mk svx/source/unodraw/makefile.mk
38476 index ede2c0b..082eb17 100644
38477 --- svx/source/unodraw/makefile.mk
38478 +++ svx/source/unodraw/makefile.mk
38479 @@ -33,6 +33,7 @@ PRJ=..$/..
38481 PRJNAME=svx
38482 TARGET=unodraw
38483 +LIBTARGET=NO
38484 ENABLE_EXCEPTIONS=TRUE
38486 # --- Settings -----------------------------------------------------
38487 @@ -42,21 +43,18 @@ ENABLE_EXCEPTIONS=TRUE
38489 # --- Files --------------------------------------------------------
38491 -SLOFILES = \
38492 - $(SLO)$/UnoNamespaceMap.obj \
38493 +LIB1TARGET= $(SLB)$/$(TARGET)-core.lib
38494 +LIB1OBJFILES= \
38495 $(SLO)$/UnoGraphicExporter.obj \
38496 - $(SLO)$/unopool.obj \
38497 $(SLO)$/XPropertyTable.obj \
38498 $(SLO)$/UnoNameItemTable.obj \
38499 $(SLO)$/unoshape.obj \
38500 $(SLO)$/unoipset.obj \
38501 - $(SLO)$/unoctabl.obj \
38502 $(SLO)$/unoshap2.obj \
38503 $(SLO)$/unoshap3.obj \
38504 $(SLO)$/unoshap4.obj \
38505 $(SLO)$/unopage.obj \
38506 $(SLO)$/unoshtxt.obj \
38507 - $(SLO)$/unoshcol.obj \
38508 $(SLO)$/unoprov.obj \
38509 $(SLO)$/unomod.obj \
38510 $(SLO)$/unonrule.obj \
38511 @@ -69,9 +67,18 @@ SLOFILES = \
38512 $(SLO)$/unomtabl.obj \
38513 $(SLO)$/unodtabl.obj \
38514 $(SLO)$/gluepts.obj \
38515 - $(SLO)$/recoveryui.obj \
38516 $(SLO)$/tableshape.obj
38518 +LIB2TARGET= $(SLB)$/$(TARGET).lib
38519 +LIB2OBJFILES= \
38520 + $(SLO)$/UnoNamespaceMap.obj \
38521 + $(SLO)$/unopool.obj \
38522 + $(SLO)$/unoctabl.obj \
38523 + $(SLO)$/unoshcol.obj \
38524 + $(SLO)$/recoveryui.obj
38526 +SLOFILES = $(LIB1OBJFILES) $(LIB2OBJFILES)
38528 SRS1NAME=unodraw
38529 SRC1FILES = \
38530 unodraw.src
38531 diff --git svx/source/unodraw/unoshap2.cxx svx/source/unodraw/unoshap2.cxx
38532 index 213525a..e53d0f3 100644
38533 --- svx/source/unodraw/unoshap2.cxx
38534 +++ svx/source/unodraw/unoshap2.cxx
38535 @@ -65,6 +65,7 @@
38536 #include "shapeimpl.hxx"
38537 #include "svx/unoshprp.hxx"
38538 #include <svx/svdoashp.hxx>
38539 +#include "unopolyhelper.hxx"
38541 // #i29181#
38542 #include "svdviter.hxx"
38543 diff --git svx/source/unoedit/makefile.mk svx/source/unoedit/makefile.mk
38544 index 6852db4..fd9dd17 100644
38545 --- svx/source/unoedit/makefile.mk
38546 +++ svx/source/unoedit/makefile.mk
38547 @@ -33,6 +33,7 @@ PRJ=..$/..
38549 PRJNAME=svx
38550 TARGET=unoedit
38551 +LIBTARGET=NO
38552 ENABLE_EXCEPTIONS=TRUE
38554 # --- Settings -----------------------------------------------------
38555 @@ -42,13 +43,10 @@ ENABLE_EXCEPTIONS=TRUE
38557 # --- Files --------------------------------------------------------
38559 -SLOFILES = \
38560 - $(SLO)$/UnoForbiddenCharsTable.obj \
38561 +LIB1TARGET= $(SLB)$/$(TARGET)-core.lib
38562 +LIB1OBJFILES= \
38563 $(SLO)$/unoedsrc.obj \
38564 $(SLO)$/unoedhlp.obj \
38565 - $(SLO)$/unopracc.obj \
38566 - $(SLO)$/unoedprx.obj \
38567 - $(SLO)$/unoviwed.obj \
38568 $(SLO)$/unoviwou.obj \
38569 $(SLO)$/unofored.obj \
38570 $(SLO)$/unoforou.obj \
38571 @@ -56,6 +54,15 @@ SLOFILES = \
38572 $(SLO)$/unotext2.obj \
38573 $(SLO)$/unofield.obj
38575 +LIB2TARGET= $(SLB)$/$(TARGET).lib
38576 +LIB2OBJFILES= \
38577 + $(SLO)$/UnoForbiddenCharsTable.obj \
38578 + $(SLO)$/unopracc.obj \
38579 + $(SLO)$/unoedprx.obj \
38580 + $(SLO)$/unoviwed.obj
38582 +SLOFILES = $(LIB1OBJFILES) $(LIB2OBJFILES)
38584 # --- Tagets -------------------------------------------------------
38586 .INCLUDE : target.mk
38587 diff --git svx/util/makefile.mk svx/util/makefile.mk
38588 index 2b49d35..bd79564 100644
38589 --- svx/util/makefile.mk
38590 +++ svx/util/makefile.mk
38591 @@ -52,11 +52,6 @@ RSCLOCINC+=-I$(PRJ)$/source$/svdraw
38593 LIB1TARGET= $(SLB)$/$(TARGET).lib
38594 LIB1FILES=\
38595 - $(SLB)$/animation.lib \
38596 - $(SLB)$/overlay.lib \
38597 - $(SLB)$/attribute.lib \
38598 - $(SLB)$/primitive2d.lib \
38599 - $(SLB)$/primitive3d.lib \
38600 $(SLB)$/svdraw.lib \
38601 $(SLB)$/form.lib
38603 @@ -68,10 +63,6 @@ LIB2TARGET= $(SLB)$/$(TARGET)_2.lib
38604 LIB2FILES=\
38605 $(SLB)$/init.lib \
38606 $(SLB)$/items.lib \
38607 - $(SLB)$/svxlink.lib \
38608 - $(SLB)$/svxrtf.lib \
38609 - $(SLB)$/editeng.lib \
38610 - $(SLB)$/outliner.lib \
38611 $(SLB)$/dialogs.lib \
38612 $(SLB)$/mnuctrls.lib \
38613 $(SLB)$/options.lib \
38614 @@ -84,40 +75,108 @@ LIB3TARGET= $(SLB)$/$(TARGET)_3.lib
38615 LIB3FILES=\
38616 $(SLB)$/unodraw.lib \
38617 $(SLB)$/unogallery.lib\
38618 - $(SLB)$/gal.lib \
38619 $(SLB)$/accessibility.lib \
38620 - $(SLB)$/customshapes.lib\
38621 - $(SLB)$/toolbars.lib \
38622 - $(SLB)$/properties.lib \
38623 - $(SLB)$/contact.lib \
38624 - $(SLB)$/event.lib
38625 + $(SLB)$/customshapes.lib
38627 LIB4TARGET= $(SLB)$/$(TARGET)_4.lib
38628 LIB4FILES=\
38629 $(SLB)$/fmcomp.lib \
38630 $(SLB)$/engine3d.lib \
38631 - $(SLB)$/msfilter.lib \
38632 - $(SLB)$/xout.lib \
38633 - $(SLB)$/xml.lib \
38634 $(SLB)$/table.lib
38636 +# Objects needed for the svxcore library.
38637 +LIB5TARGET= $(SLB)$/$(TARGET)_5.lib
38638 +LIB5FILES=\
38639 + $(SLB)$/accessibility-core.lib \
38640 + $(SLB)$/animation.lib \
38641 + $(SLB)$/attribute.lib \
38642 + $(SLB)$/contact.lib \
38643 + $(SLB)$/customshapes-core.lib \
38644 + $(SLB)$/dialogs-core.lib \
38645 + $(SLB)$/editeng.lib \
38646 + $(SLB)$/engine3d-core.lib \
38647 + $(SLB)$/event.lib \
38648 + $(SLB)$/fmcomp-core.lib \
38649 + $(SLB)$/form-core.lib \
38650 + $(SLB)$/gal.lib \
38651 + $(SLB)$/items-core.lib \
38652 + $(SLB)$/msfilter-core.lib \
38653 + $(SLB)$/options-core.lib \
38654 + $(SLB)$/outliner.lib \
38655 + $(SLB)$/overlay.lib \
38656 + $(SLB)$/primitive2d.lib \
38657 + $(SLB)$/primitive3d.lib \
38658 + $(SLB)$/properties.lib \
38659 + $(SLB)$/svdraw-core.lib \
38660 + $(SLB)$/svxlink.lib \
38661 + $(SLB)$/svxrtf-core.lib \
38662 + $(SLB)$/table-core.lib \
38663 + $(SLB)$/tbxctrls-core.lib \
38664 + $(SLB)$/toolbars.lib \
38665 + $(SLB)$/unodraw-core.lib \
38666 + $(SLB)$/unoedit-core.lib \
38667 + $(SLB)$/xml.lib \
38668 + $(SLB)$/xout.lib
38670 +# Objects needed for the svxmsfilter library.
38671 +LIB6TARGET= $(SLB)$/$(TARGET)_6.lib
38672 +LIB6FILES=\
38673 + $(SLB)$/msfilter-msfilter.lib \
38674 + $(SLB)$/svdraw-msfilter.lib \
38675 + $(SLB)$/svxrtf.lib
38677 HELPIDFILES= ..$/inc$/helpid.hrc
38679 -# svx
38680 -SHL1TARGET= svx$(DLLPOSTFIX)
38681 -SHL1IMPLIB= i$(TARGET)
38682 +# svxcore
38683 +SHL1TARGET= svxcore$(DLLPOSTFIX)
38684 +SHL1IMPLIB= isvxcore
38685 SHL1USE_EXPORTS=name
38686 +SHL1LIBS= $(LIB5TARGET)
38688 -SHL1LIBS= $(LIB1TARGET) $(LIB2TARGET) $(LIB3TARGET) $(LIB4TARGET)
38689 SHL1STDLIBS= \
38690 - $(AVMEDIALIB) \
38691 + $(AVMEDIALIB) \
38692 + $(SFX2LIB) \
38693 + $(XMLOFFLIB) \
38694 + $(GOODIESLIB) \
38695 + $(BASEGFXLIB) \
38696 + $(DRAWINGLAYERLIB) \
38697 + $(LNGLIB) \
38698 + $(BASICLIB) \
38699 + $(SVTOOLLIB) \
38700 + $(TKLIB) \
38701 + $(VCLLIB) \
38702 + $(SVLLIB) \
38703 + $(SOTLIB) \
38704 + $(UNOTOOLSLIB) \
38705 + $(TOOLSLIB) \
38706 + $(I18NISOLANGLIB) \
38707 + $(COMPHELPERLIB) \
38708 + $(UCBHELPERLIB) \
38709 + $(CPPUHELPERLIB) \
38710 + $(CPPULIB) \
38711 + $(VOSLIB) \
38712 + $(SALLIB) \
38713 + $(ICUUCLIB)
38715 +SHL1DEF= $(MISC)$/$(SHL1TARGET).def
38716 +DEF1NAME= $(SHL1TARGET)
38717 +DEFLIB1NAME=$(TARGET)_5
38719 +# svx
38720 +SHL2TARGET= svx$(DLLPOSTFIX)
38721 +SHL2IMPLIB= i$(TARGET)
38722 +SHL2USE_EXPORTS=name
38723 +SHL2DEPN=$(SHL1TARGETN)
38725 +SHL2LIBS= $(LIB1TARGET) $(LIB2TARGET) $(LIB3TARGET) $(LIB4TARGET)
38726 +SHL2STDLIBS= \
38727 + $(SVXCORELIB) \
38728 $(SFX2LIB) \
38729 $(XMLOFFLIB) \
38730 $(GOODIESLIB) \
38731 $(BASEGFXLIB) \
38732 $(DRAWINGLAYERLIB) \
38733 $(BASICLIB) \
38734 - $(LNGLIB) \
38735 $(SVTOOLLIB) \
38736 $(TKLIB) \
38737 $(VCLLIB) \
38738 @@ -132,33 +191,33 @@ SHL1STDLIBS= \
38739 $(CPPUHELPERLIB) \
38740 $(CPPULIB) \
38741 $(VOSLIB) \
38742 - $(SALLIB) \
38743 - $(ICUUCLIB)
38744 + $(SALLIB)
38746 .IF "$(GUI)"=="WNT"
38747 -SHL1STDLIBS+=$(SHELLLIB)
38748 +SHL2STDLIBS+=$(SHELLLIB)
38749 .ENDIF # WNT
38751 -SHL1DEF= $(MISC)$/$(SHL1TARGET).def
38752 -DEF1NAME= $(SHL1TARGET)
38753 -DEFLIB1NAME=$(TARGET) $(TARGET)_2 $(TARGET)_3 $(TARGET)_4
38754 +SHL2DEF= $(MISC)$/$(SHL2TARGET).def
38755 +DEF2NAME= $(SHL2TARGET)
38756 +DEFLIB2NAME=$(TARGET) $(TARGET)_2 $(TARGET)_3 $(TARGET)_4
38759 # cui
38760 -SHL2TARGET= cui$(DLLPOSTFIX)
38761 -SHL2VERSIONMAP= cui.map
38762 -SHL2IMPLIB=icui
38763 -SHL2DEPN=$(SHL1TARGETN)
38764 +SHL3TARGET= cui$(DLLPOSTFIX)
38765 +SHL3VERSIONMAP= cui.map
38766 +SHL3IMPLIB=icui
38767 +SHL3DEPN=$(SHL2TARGETN)
38769 -SHL2DEF= $(MISC)$/$(SHL2TARGET).def
38770 -DEF2NAME= $(SHL2TARGET)
38771 +SHL3DEF= $(MISC)$/$(SHL3TARGET).def
38772 +DEF3NAME= $(SHL3TARGET)
38774 -SHL2LIBS= $(SLB)$/cui.lib
38775 -SHL2OBJS= \
38776 +SHL3LIBS= $(SLB)$/cui.lib
38777 +SHL3OBJS= \
38778 $(SLO)$/cuiexp.obj \
38779 $(SLO)$/dlgfact.obj
38781 -SHL2STDLIBS= \
38782 +SHL3STDLIBS= \
38783 + $(SVXCORELIB) \
38784 $(SVXLIB) \
38785 $(AVMEDIALIB) \
38786 $(SFX2LIB) \
38787 @@ -178,16 +237,46 @@ SHL2STDLIBS= \
38788 $(CPPULIB) \
38789 $(VOSLIB) \
38790 $(SALLIB) \
38791 - $(JVMFWKLIB) \
38792 - $(ICUUCLIB)
38793 + $(JVMFWKLIB)
38795 .IF "$(GUI)"=="WNT"
38796 -SHL2STDLIBS+= \
38797 +SHL3STDLIBS+= \
38798 $(SHLWAPILIB) \
38799 $(CPPUHELPERLIB) \
38800 $(ADVAPI32LIB)
38801 .ENDIF # WNT
38803 +# svxmsfilter library
38804 +SHL4TARGET= svxmsfilter$(DLLPOSTFIX)
38805 +SHL4IMPLIB= isvxmsfilter
38806 +SHL4USE_EXPORTS=name
38807 +SHL4DEPN=$(SHL1TARGETN)
38808 +SHL4LIBS= $(LIB6TARGET)
38810 +SHL4STDLIBS= \
38811 + $(SVXCORELIB) \
38812 + $(SFX2LIB) \
38813 + $(XMLOFFLIB) \
38814 + $(GOODIESLIB) \
38815 + $(BASEGFXLIB) \
38816 + $(BASICLIB) \
38817 + $(SVTOOLLIB) \
38818 + $(TKLIB) \
38819 + $(VCLLIB) \
38820 + $(SVLLIB) \
38821 + $(SOTLIB) \
38822 + $(UNOTOOLSLIB) \
38823 + $(TOOLSLIB) \
38824 + $(XMLSCRIPTLIB) \
38825 + $(COMPHELPERLIB) \
38826 + $(CPPUHELPERLIB) \
38827 + $(CPPULIB) \
38828 + $(SALLIB)
38830 +SHL4DEF= $(MISC)$/$(SHL4TARGET).def
38831 +DEF4NAME= $(SHL4TARGET)
38832 +DEFLIB4NAME=$(TARGET)_6
38834 # ------------------------------------------------------------------------------
38836 # Resource files
38837 --- sw/util/makefile.mk (.../tags/DEV300_m42) (revision 270095)
38838 +++ sw/util/makefile.mk (.../cws/ooxml03) (revision 270095)
38839 @@ -102,6 +102,7 @@
38840 # dynamic libraries
38841 SHL1STDLIBS+= \
38842 $(LNGLIB) \
38843 + $(SVXCORELIB) \
38844 $(SVXLIB) \
38845 $(SFXLIB) \
38846 $(XMLOFFLIB) \
38847 @@ -180,6 +181,7 @@
38849 SHL3STDLIBS= \
38850 $(ISWLIB) \
38851 + $(SVXCORELIB) \
38852 $(SVXLIB) \
38853 $(SFX2LIB) \
38854 $(BASICLIB) \
38855 @@ -320,7 +322,10 @@
38857 SHL4STDLIBS= \
38858 $(ISWLIB) \
38859 - $(SVXLIB) \
38860 + $(OOXLIB) \
38861 + $(SAXLIB) \
38862 + $(SVXCORELIB) \
38863 + $(SVXMSFILTERLIB) \
38864 $(SFXLIB) \
38865 $(GOODIESLIB) \
38866 $(BASEGFXLIB) \
38867 diff --git vcl/inc/vcl/graph.hxx vcl/inc/vcl/graph.hxx
38868 index b7b7870..dd1df6f 100644
38869 --- vcl/inc/vcl/graph.hxx
38870 +++ vcl/inc/vcl/graph.hxx
38871 @@ -174,7 +174,7 @@ public:
38872 BOOL IsSwapOut() const;
38874 void SetLink( const GfxLink& );
38875 - GfxLink GetLink();
38876 + GfxLink GetLink() const;
38877 BOOL IsLink() const;
38879 BOOL ExportNative( SvStream& rOStream ) const;
38880 diff --git vcl/source/gdi/graph.cxx vcl/source/gdi/graph.cxx
38881 index 1854a6a..12a8294 100644
38882 --- vcl/source/gdi/graph.cxx
38883 +++ vcl/source/gdi/graph.cxx
38884 @@ -803,7 +803,7 @@ void Graphic::SetLink( const GfxLink& rGfxLink )
38886 // ------------------------------------------------------------------------
38888 -GfxLink Graphic::GetLink()
38889 +GfxLink Graphic::GetLink() const
38891 return mpImpGraphic->ImplGetLink();
38893 diff --git writerfilter/prj/d.lst writerfilter/prj/d.lst
38894 index 0ad5cdd..f941f42 100644
38895 --- writerfilter/prj/d.lst
38896 +++ writerfilter/prj/d.lst
38897 @@ -3,3 +3,5 @@
38898 ..\%__SRC%\lib\*.so %_DEST%\lib%_EXT%\*.so
38899 ..\%__SRC%\lib\*.dylib %_DEST%\lib%_EXT%\*.dylib
38901 +mkdir: %_DEST%\inc%_EXT%\writerfilter\doctok
38902 +..\%__SRC%\inc\doctok\sprmids.hxx %_DEST%\inc%_EXT%\writerfilter\doctok\sprmids.hxx
38903 diff --git writerfilter/source/filter/ImportFilter.cxx writerfilter/source/filter/ImportFilter.cxx
38904 index 32fe782..c36a844 100644
38905 --- writerfilter/source/filter/ImportFilter.cxx
38906 +++ writerfilter/source/filter/ImportFilter.cxx
38907 @@ -30,9 +30,7 @@
38909 #include <osl/diagnose.h>
38910 #include <com/sun/star/uno/XComponentContext.hpp>
38911 -#ifndef _COM_SU_STAR_DRAWING_XDRAWPAGESUPPLIER_HPP_
38912 #include <com/sun/star/drawing/XDrawPageSupplier.hpp>
38913 -#endif
38914 #include <com/sun/star/io/XInputStream.hpp>
38915 #include <dmapper/DomainMapper.hxx>
38916 #include <WriterFilter.hxx>
38917 @@ -42,6 +40,7 @@
38918 #include <iostream>
38919 #include <osl/process.h>
38920 #endif
38922 #include <resourcemodel/TagLogger.hxx>
38923 using namespace ::rtl;
38924 using namespace ::com::sun::star;
38925 @@ -52,6 +51,24 @@ using namespace ::com::sun::star;
38926 sal_Bool WriterFilter::filter( const uno::Sequence< beans::PropertyValue >& aDescriptor )
38927 throw (uno::RuntimeException)
38929 + if( m_xSrcDoc.is() )
38931 + uno::Reference< lang::XMultiServiceFactory > xMSF(m_xContext->getServiceManager(), uno::UNO_QUERY_THROW);
38932 + uno::Reference< uno::XInterface > xIfc( xMSF->createInstance( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "com.sun.star.comp.Writer.DocxExport" ))), uno::UNO_QUERY_THROW);
38933 + if (!xIfc.is())
38934 + return sal_False;
38935 + uno::Reference< document::XExporter > xExprtr(xIfc, uno::UNO_QUERY_THROW);
38936 + uno::Reference< document::XFilter > xFltr(xIfc, uno::UNO_QUERY_THROW);
38937 + if (!xExprtr.is() || !xFltr.is())
38938 + return sal_False;
38939 + xExprtr->setSourceDocument(m_xSrcDoc);
38940 + if (xFltr->filter(aDescriptor))
38941 + return sal_True;
38942 + return sal_False;
38944 + else if (m_xDstDoc.is())
38947 sal_Int32 nLength = aDescriptor.getLength();
38948 const beans::PropertyValue * pValue = aDescriptor.getConstArray();
38949 uno::Reference < io::XInputStream > xInputStream;
38950 @@ -82,18 +99,18 @@ sal_Bool WriterFilter::filter( const uno::Sequence< beans::PropertyValue >& aDes
38951 (m_sFilterName.equalsAsciiL ( RTL_CONSTASCII_STRINGPARAM ( "writer_MS_Word_2007" ) ) ||
38952 m_sFilterName.equalsAsciiL ( RTL_CONSTASCII_STRINGPARAM ( "writer_MS_Word_2007_Template" ) )) ?
38953 writerfilter::dmapper::DOCUMENT_OOXML : writerfilter::dmapper::DOCUMENT_DOC;
38954 - writerfilter::Stream::Pointer_t pStream(new writerfilter::dmapper::DomainMapper(m_xContext, xInputStream, m_xDoc, eType));
38955 + writerfilter::Stream::Pointer_t pStream(new writerfilter::dmapper::DomainMapper(m_xContext, xInputStream, m_xDstDoc, eType));
38956 //create the tokenizer and domain mapper
38957 if( eType == writerfilter::dmapper::DOCUMENT_OOXML )
38959 writerfilter::ooxml::OOXMLStream::Pointer_t pDocStream = writerfilter::ooxml::OOXMLDocumentFactory::createStream(m_xContext, xInputStream);
38960 writerfilter::ooxml::OOXMLDocument::Pointer_t pDocument(writerfilter::ooxml::OOXMLDocumentFactory::createDocument(pDocStream));
38962 - uno::Reference<frame::XModel> xModel(m_xDoc, uno::UNO_QUERY_THROW);
38963 + uno::Reference<frame::XModel> xModel(m_xDstDoc, uno::UNO_QUERY_THROW);
38964 pDocument->setModel(xModel);
38966 uno::Reference<drawing::XDrawPageSupplier> xDrawings
38967 - (m_xDoc, uno::UNO_QUERY_THROW);
38968 + (m_xDstDoc, uno::UNO_QUERY_THROW);
38969 uno::Reference<drawing::XShapes> xShapes
38970 (xDrawings->getDrawPage(), uno::UNO_QUERY_THROW);
38971 pDocument->setShapes(xShapes);
38972 @@ -116,6 +133,8 @@ sal_Bool WriterFilter::filter( const uno::Sequence< beans::PropertyValue >& aDes
38973 #endif
38975 return sal_True;
38977 + return sal_False;
38979 /*-- 09.06.2006 10:15:20---------------------------------------------------
38981 @@ -130,7 +149,13 @@ void WriterFilter::cancel( ) throw (uno::RuntimeException)
38982 void WriterFilter::setTargetDocument( const uno::Reference< lang::XComponent >& xDoc )
38983 throw (lang::IllegalArgumentException, uno::RuntimeException)
38985 - m_xDoc = xDoc;
38986 + m_xDstDoc = xDoc;
38989 +void WriterFilter::setSourceDocument( const uno::Reference< lang::XComponent >& xDoc )
38990 + throw (lang::IllegalArgumentException, uno::RuntimeException)
38992 + m_xSrcDoc = xDoc;
38995 /*-- 09.06.2006 10:15:20---------------------------------------------------
38996 @@ -163,24 +188,28 @@ OUString WriterFilter_getImplementationName () throw (uno::RuntimeException)
38999 #define SERVICE_NAME1 "com.sun.star.document.ImportFilter"
39000 +#define SERVICE_NAME2 "com.sun.star.document.ExportFilter"
39001 /*-- 09.06.2006 10:15:20---------------------------------------------------
39003 -----------------------------------------------------------------------*/
39004 sal_Bool WriterFilter_supportsService( const OUString& ServiceName ) throw (uno::RuntimeException)
39006 - return (ServiceName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM ( SERVICE_NAME1 ) ));
39007 + return (ServiceName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM ( SERVICE_NAME1 ) ) ||
39008 + ServiceName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM ( SERVICE_NAME1 ) ));
39010 /*-- 09.06.2006 10:15:20---------------------------------------------------
39012 -----------------------------------------------------------------------*/
39013 uno::Sequence< OUString > WriterFilter_getSupportedServiceNames( ) throw (uno::RuntimeException)
39015 - uno::Sequence < OUString > aRet(1);
39016 + uno::Sequence < OUString > aRet(2);
39017 OUString* pArray = aRet.getArray();
39018 pArray[0] = OUString ( RTL_CONSTASCII_USTRINGPARAM ( SERVICE_NAME1 ) );
39019 + pArray[1] = OUString ( RTL_CONSTASCII_USTRINGPARAM ( SERVICE_NAME2 ) );
39020 return aRet;
39022 #undef SERVICE_NAME1
39023 +#undef SERVICE_NAME2
39025 /*-- 09.06.2006 10:15:20---------------------------------------------------
39027 diff --git writerfilter/source/filter/WriterFilter.hxx writerfilter/source/filter/WriterFilter.hxx
39028 index 6ad4797..0be0428 100644
39029 --- writerfilter/source/filter/WriterFilter.hxx
39030 +++ writerfilter/source/filter/WriterFilter.hxx
39031 @@ -33,16 +33,18 @@
39033 #include <com/sun/star/document/XFilter.hpp>
39034 #include <com/sun/star/document/XImporter.hpp>
39035 +#include <com/sun/star/document/XExporter.hpp>
39036 #include <com/sun/star/lang/XInitialization.hpp>
39037 #include <com/sun/star/lang/XServiceInfo.hpp>
39038 #include <com/sun/star/xml/sax/XDocumentHandler.hpp>
39039 -#include <cppuhelper/implbase4.hxx>
39040 +#include <cppuhelper/implbase5.hxx>
39041 #include <WriterFilterDllApi.hxx>
39043 -class WRITERFILTER_DLLPUBLIC WriterFilter : public cppu::WeakImplHelper4
39044 +class WRITERFILTER_DLLPUBLIC WriterFilter : public cppu::WeakImplHelper5
39046 com::sun::star::document::XFilter,
39047 com::sun::star::document::XImporter,
39048 + com::sun::star::document::XExporter,
39049 com::sun::star::lang::XInitialization,
39050 com::sun::star::lang::XServiceInfo
39052 @@ -50,7 +52,7 @@ class WRITERFILTER_DLLPUBLIC WriterFilter : public cppu::WeakImplHelper4
39054 protected:
39055 ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > m_xContext;
39056 - ::com::sun::star::uno::Reference< ::com::sun::star::lang::XComponent > m_xDoc;
39057 + ::com::sun::star::uno::Reference< ::com::sun::star::lang::XComponent > m_xSrcDoc, m_xDstDoc;
39058 ::rtl::OUString m_sFilterName;
39059 ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XDocumentHandler > m_xHandler;
39061 @@ -69,6 +71,10 @@ public:
39062 virtual void SAL_CALL setTargetDocument( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XComponent >& xDoc )
39063 throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
39065 + // XExporter
39066 + virtual void SAL_CALL setSourceDocument( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XComponent >& xDoc )
39067 + throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
39069 // XInitialization
39070 virtual void SAL_CALL initialize( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& aArguments )
39071 throw (::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException);
39072 diff --git xmlsecurity/util/makefile.mk xmlsecurity/util/makefile.mk
39073 index d572e69..64ed60b 100644
39074 --- xmlsecurity/util/makefile.mk
39075 +++ xmlsecurity/util/makefile.mk
39076 @@ -156,7 +156,7 @@ SHL4STDLIBS=\
39077 $(SVLLIB) \
39078 $(SFXLIB) \
39079 $(XMLOFFLIB) \
39080 - $(SVXLIB)
39081 + $(SVXCORELIB)
39083 SHL4VERSIONMAP = xmlsecurity.map
39084 SHL4DEPN=