diff --git a/plugins/org.eclipse.osee.client.integration.tests/META-INF/MANIFEST.MF b/plugins/org.eclipse.osee.client.integration.tests/META-INF/MANIFEST.MF
index a65de82..742cbc5 100644
--- a/plugins/org.eclipse.osee.client.integration.tests/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.osee.client.integration.tests/META-INF/MANIFEST.MF
@@ -13,6 +13,7 @@
  org.eclipse.jface.resource,
  org.eclipse.osee.client.demo,
  org.eclipse.osee.client.test.framework,
+ org.eclipse.osee.define.api,
  org.eclipse.osee.framework.access,
  org.eclipse.osee.framework.core,
  org.eclipse.osee.framework.core.access,
diff --git a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/OseeClientIntegrationTestSuite.java b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/OseeClientIntegrationTestSuite.java
index 158831e..916214e 100644
--- a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/OseeClientIntegrationTestSuite.java
+++ b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/OseeClientIntegrationTestSuite.java
@@ -17,6 +17,7 @@
 import org.eclipse.osee.client.integration.tests.integration.LongRunningTestSuite;
 import org.eclipse.osee.client.integration.tests.integration.define.XDefineIntegrationTestSuite;
 import org.eclipse.osee.client.integration.tests.integration.dsl.ui.integration.XDslUiIntegrationTestSuite;
+import org.eclipse.osee.client.integration.tests.integration.endpoint.EndpointIntegrationTestSuite;
 import org.eclipse.osee.client.integration.tests.integration.orcs.rest.OrcsRestTestSuite;
 import org.eclipse.osee.client.integration.tests.integration.skynet.core.XSkynetCoreIntegrationTestSuite;
 import org.eclipse.osee.client.integration.tests.integration.ui.skynet.XUiSkynetCoreIntegrationTestSuite;
@@ -30,6 +31,7 @@
 @RunWith(Suite.class)
 @Suite.SuiteClasses({
    OrcsRestTestSuite.class,
+   EndpointIntegrationTestSuite.class,
    XDslUiIntegrationTestSuite.class,
    XDefineIntegrationTestSuite.class,
    XSkynetCoreIntegrationTestSuite.class,
diff --git a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/endpoint/EndpointIntegrationTestSuite.java b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/endpoint/EndpointIntegrationTestSuite.java
new file mode 100644
index 0000000..15e7fa2
--- /dev/null
+++ b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/endpoint/EndpointIntegrationTestSuite.java
@@ -0,0 +1,26 @@
+/*********************************************************************
+ * Copyright (c) 2020 Boeing
+ *
+ * This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License 2.0
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *     Boeing - initial API and implementation
+ **********************************************************************/
+
+package org.eclipse.osee.client.integration.tests.integration.endpoint;
+
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+
+@RunWith(Suite.class)
+@Suite.SuiteClasses({ImportEndpointTest.class, RendererEndpointTest.class})
+/**
+ * @author David W. Miller
+ */
+public class EndpointIntegrationTestSuite {
+   // Test Suite
+}
diff --git a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/endpoint/ImportEndpointTest.java b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/endpoint/ImportEndpointTest.java
new file mode 100644
index 0000000..1cd1517
--- /dev/null
+++ b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/endpoint/ImportEndpointTest.java
@@ -0,0 +1,84 @@
+/*********************************************************************
+ * Copyright (c) 2020 Boeing
+ *
+ * This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License 2.0
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *     Boeing - initial API and implementation
+ **********************************************************************/
+
+package org.eclipse.osee.client.integration.tests.integration.endpoint;
+
+import static org.eclipse.osee.client.demo.DemoChoice.OSEE_CLIENT_DEMO;
+import java.io.BufferedOutputStream;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import org.eclipse.osee.client.demo.DemoChoice;
+import org.eclipse.osee.client.integration.tests.integration.skynet.core.DoorsArtifactExtractorTest;
+import org.eclipse.osee.client.test.framework.OseeClientIntegrationRule;
+import org.eclipse.osee.define.api.ImportEndpoint;
+import org.eclipse.osee.framework.core.data.BranchId;
+import org.eclipse.osee.framework.core.enums.CoreArtifactTokens;
+import org.eclipse.osee.framework.core.enums.DemoBranches;
+import org.eclipse.osee.framework.core.util.OsgiUtil;
+import org.eclipse.osee.framework.jdk.core.result.XResultData;
+import org.eclipse.osee.framework.jdk.core.util.Lib;
+import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
+import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery;
+import org.eclipse.osee.orcs.rest.client.OseeClient;
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.ClassRule;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
+
+/**
+ * @author David W. Miller
+ */
+public class ImportEndpointTest {
+
+   @Rule
+   public OseeClientIntegrationRule integration = new OseeClientIntegrationRule(OSEE_CLIENT_DEMO);
+
+   private static ImportEndpoint importEndpoint;
+   private static File wordFile;
+   private static final BranchId branch = DemoBranches.SAW_PL;
+   private static final Artifact parent =
+      ArtifactQuery.getArtifactFromId(CoreArtifactTokens.SoftwareRequirementsFolder, branch);
+   @ClassRule
+   public static TemporaryFolder folder = new TemporaryFolder();
+
+   @BeforeClass
+   public static void testSetup() throws IOException {
+      OseeClient oseeclient = OsgiUtil.getService(DemoChoice.class, OseeClient.class);
+      importEndpoint = oseeclient.getImportEndpoint();
+      wordFile = folder.newFile("testWord.xml");
+      copyResource("testWord.xml", wordFile);
+   }
+
+   @Test
+   public void testImport() {
+      XResultData results = importEndpoint.importWord(branch, wordFile.getAbsolutePath(), parent, 0);
+      Assert.assertNotNull(results);
+      Assert.assertTrue(results.getInfoCount() > 6);
+   }
+
+   private static void copyResource(String resource, File output) throws IOException {
+      OutputStream outputStream = null;
+      try (InputStream inputStream =
+         OsgiUtil.getResourceAsStream(DoorsArtifactExtractorTest.class, "support/word/" + resource)) {
+         outputStream = new BufferedOutputStream(new FileOutputStream(output));
+         Lib.inputStreamToOutputStream(inputStream, outputStream);
+      } finally {
+         Lib.close(outputStream);
+      }
+   }
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/endpoint/RendererEndpointTest.java b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/endpoint/RendererEndpointTest.java
new file mode 100644
index 0000000..c17bf2c
--- /dev/null
+++ b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/endpoint/RendererEndpointTest.java
@@ -0,0 +1,128 @@
+/*********************************************************************
+ * Copyright (c) 2020 Boeing
+ *
+ * This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License 2.0
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *     Boeing - initial API and implementation
+ **********************************************************************/
+
+package org.eclipse.osee.client.integration.tests.integration.endpoint;
+
+import static org.eclipse.osee.client.demo.DemoChoice.OSEE_CLIENT_DEMO;
+import static org.eclipse.osee.framework.core.enums.RelationSorter.USER_DEFINED;
+import java.io.BufferedOutputStream;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.util.zip.GZIPInputStream;
+import javax.ws.rs.core.Response;
+import org.eclipse.osee.client.demo.DemoChoice;
+import org.eclipse.osee.client.test.framework.OseeClientIntegrationRule;
+import org.eclipse.osee.define.api.RenderEndpoint;
+import org.eclipse.osee.framework.core.data.ArtifactId;
+import org.eclipse.osee.framework.core.data.BranchToken;
+import org.eclipse.osee.framework.core.enums.CoreArtifactTokens;
+import org.eclipse.osee.framework.core.enums.CoreArtifactTypes;
+import org.eclipse.osee.framework.core.enums.CoreAttributeTypes;
+import org.eclipse.osee.framework.core.enums.CoreBranches;
+import org.eclipse.osee.framework.core.enums.DemoBranches;
+import org.eclipse.osee.framework.core.util.OsgiUtil;
+import org.eclipse.osee.framework.jdk.core.util.Lib;
+import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
+import org.eclipse.osee.framework.skynet.core.artifact.ArtifactTypeManager;
+import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery;
+import org.eclipse.osee.orcs.rest.client.OseeClient;
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.ClassRule;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
+
+/**
+ * @author David W. Miller
+ */
+public class RendererEndpointTest {
+   private static final String beginWordString = "<w:p><w:r><w:t>";
+   private static final String endWordString = "</w:t></w:r></w:p>";
+
+   @Rule
+   public OseeClientIntegrationRule integration = new OseeClientIntegrationRule(OSEE_CLIENT_DEMO);
+
+   private static RenderEndpoint renderEndpoint;
+   private static final BranchToken branch = DemoBranches.SAW_PL;
+   private static final Artifact parent =
+      ArtifactQuery.getArtifactFromId(CoreArtifactTokens.SoftwareRequirementsFolder, branch);
+   private static final Artifact template = ArtifactQuery.getArtifactFromTypeAndName(
+      CoreArtifactTypes.RendererTemplateWholeWord, "PREVIEW_ALL_RECURSE_NO_ATTRIBUTES", CoreBranches.COMMON);
+   @ClassRule
+   public static TemporaryFolder folder = new TemporaryFolder();
+
+   @BeforeClass
+   public static void testSetup() {
+      OseeClient oseeclient = OsgiUtil.getService(DemoChoice.class, OseeClient.class);
+      renderEndpoint = oseeclient.getRenderEndpoint();
+      setUpSWReq(parent, branch);
+      parent.persist("Setup for importing software requirements");
+   }
+
+   @Test
+   public void testImport() throws IOException {
+      Response response = renderEndpoint.msWordTemplatePublish(branch, template, parent, ArtifactId.SENTINEL);
+      Object attachment = response.getEntity();
+      File wordPublish = folder.newFile("wordPublish.xml");
+      if (attachment instanceof GZIPInputStream) {
+         GZIPInputStream gzi = (GZIPInputStream) attachment;
+         saveAttachement(gzi, wordPublish);
+      }
+      String fileContents = Lib.fileToString(wordPublish);
+      Assert.assertTrue(fileContents.contains("Communication Subsystem Crew Interface"));
+   }
+
+   private static void setUpSWReq(Artifact swReqFolder, BranchToken branch) {
+      Artifact crewReq =
+         ArtifactTypeManager.addArtifact(CoreArtifactTypes.HeadingMsWord, branch, "Crew Station Requirements");
+      Artifact commReq = ArtifactTypeManager.addArtifact(CoreArtifactTypes.SoftwareRequirementMsWord, branch,
+         "Communication Subsystem Crew Interface");
+      Artifact navReq = ArtifactTypeManager.addArtifact(CoreArtifactTypes.SoftwareRequirementMsWord, branch,
+         "Navigation Subsystem Crew Interface");
+      Artifact airReq = ArtifactTypeManager.addArtifact(CoreArtifactTypes.HeadingMsWord, branch,
+         "Aircraft Systems Management Subsystem Crew Interface");
+      Artifact airDrawReq =
+         ArtifactTypeManager.addArtifact(CoreArtifactTypes.HeadingMsWord, branch, "Aircraft Drawing");
+      Artifact ventReq =
+         ArtifactTypeManager.addArtifact(CoreArtifactTypes.SoftwareRequirementMsWord, branch, "Ventilation");
+
+      swReqFolder.addChild(crewReq);
+      crewReq.addChild(USER_DEFINED, commReq);
+      crewReq.addChild(USER_DEFINED, navReq);
+      crewReq.addChild(USER_DEFINED, airReq);
+      airReq.addChild(USER_DEFINED, airDrawReq);
+      airReq.addChild(USER_DEFINED, ventReq);
+
+      commReq.setSoleAttributeValue(CoreAttributeTypes.WordTemplateContent,
+         beginWordString + "This is the list of Communication crew station requirements." + endWordString);
+      navReq.setSoleAttributeValue(CoreAttributeTypes.WordTemplateContent,
+         beginWordString + "This is the list of Navigation crew station requirements." + endWordString);
+      airReq.setSoleAttributeValue(CoreAttributeTypes.WordTemplateContent,
+         beginWordString + "This is the list of Aircraft Management crew station requirements." + endWordString);
+      ventReq.setSoleAttributeValue(CoreAttributeTypes.WordTemplateContent,
+         beginWordString + "This is the Ventilation crew station requirements." + endWordString);
+   }
+
+   private static void saveAttachement(GZIPInputStream given, File output) throws IOException {
+      OutputStream outputStream = null;
+      try {
+         outputStream = new BufferedOutputStream(new FileOutputStream(output));
+         Lib.inputStreamToOutputStream(given, outputStream);
+      } finally {
+         Lib.close(outputStream);
+      }
+   }
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.osee.client.integration.tests/support/word/testWord.xml b/plugins/org.eclipse.osee.client.integration.tests/support/word/testWord.xml
new file mode 100644
index 0000000..8a0e149
--- /dev/null
+++ b/plugins/org.eclipse.osee.client.integration.tests/support/word/testWord.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<?mso-application progid="Word.Document"?>
+<w:wordDocument xmlns:aml="http://schemas.microsoft.com/aml/2001/core" xmlns:wpc="http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:w="http://schemas.microsoft.com/office/word/2003/wordml" xmlns:wx="http://schemas.microsoft.com/office/word/2003/auxHint" xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml" xmlns:wsp="http://schemas.microsoft.com/office/word/2003/wordml/sp2" xmlns:sl="http://schemas.microsoft.com/schemaLibrary/2003/core" w:macrosPresent="no" w:embeddedObjPresent="no" w:ocxPresent="no" xml:space="preserve"><w:ignoreSubtree w:val="http://schemas.microsoft.com/office/word/2003/wordml/sp2"/><o:DocumentProperties><o:Author>Miller, David W</o:Author><o:LastAuthor>Miller, David W</o:LastAuthor><o:Revision>3</o:Revision><o:TotalTime>12</o:TotalTime><o:Created>2020-12-02T20:50:00Z</o:Created><o:LastSaved>2020-12-03T06:15:00Z</o:LastSaved><o:Pages>1</o:Pages><o:Words>40</o:Words><o:Characters>234</o:Characters><o:Company>The Boeing Company</o:Company><o:Lines>1</o:Lines><o:Paragraphs>1</o:Paragraphs><o:CharactersWithSpaces>273</o:CharactersWithSpaces><o:Version>15</o:Version></o:DocumentProperties><w:fonts><w:defaultFonts w:ascii="Calibri" w:fareast="Calibri" w:h-ansi="Calibri" w:cs="Times New Roman"/><w:font w:name="Times New Roman"><w:panose-1 w:val="02020603050405020304"/><w:charset w:val="00"/><w:family w:val="Roman"/><w:pitch w:val="variable"/><w:sig w:usb-0="E0002EFF" w:usb-1="C000785B" w:usb-2="00000009" w:usb-3="00000000" w:csb-0="000001FF" w:csb-1="00000000"/></w:font><w:font w:name="Cambria Math"><w:panose-1 w:val="02040503050406030204"/><w:charset w:val="00"/><w:family w:val="Roman"/><w:pitch w:val="variable"/><w:sig w:usb-0="E00006FF" w:usb-1="420024FF" w:usb-2="02000000" w:usb-3="00000000" w:csb-0="0000019F" w:csb-1="00000000"/></w:font><w:font w:name="Calibri Light"><w:panose-1 w:val="020F0302020204030204"/><w:charset w:val="00"/><w:family w:val="Swiss"/><w:pitch w:val="variable"/><w:sig w:usb-0="E0002AFF" w:usb-1="C000247B" w:usb-2="00000009" w:usb-3="00000000" w:csb-0="000001FF" w:csb-1="00000000"/></w:font><w:font w:name="Calibri"><w:panose-1 w:val="020F0502020204030204"/><w:charset w:val="00"/><w:family w:val="Swiss"/><w:pitch w:val="variable"/><w:sig w:usb-0="E0002EFF" w:usb-1="C000247B" w:usb-2="00000009" w:usb-3="00000000" w:csb-0="000001FF" w:csb-1="00000000"/></w:font></w:fonts><w:lists><w:listDef w:listDefId="0"><w:lsid w:val="3C69454E"/><w:plt w:val="Multilevel"/><w:tmpl w:val="04090025"/><w:lvl w:ilvl="0"><w:start w:val="1"/><w:pStyle w:val="Heading1"/><w:lvlText w:val="%1"/><w:lvlJc w:val="left"/><w:pPr><w:ind w:left="432" w:hanging="432"/></w:pPr></w:lvl><w:lvl w:ilvl="1"><w:start w:val="1"/><w:pStyle w:val="Heading2"/><w:lvlText w:val="%1.%2"/><w:lvlJc w:val="left"/><w:pPr><w:ind w:left="576" w:hanging="576"/></w:pPr></w:lvl><w:lvl w:ilvl="2"><w:start w:val="1"/><w:pStyle w:val="Heading3"/><w:lvlText w:val="%1.%2.%3"/><w:lvlJc w:val="left"/><w:pPr><w:ind w:left="720" w:hanging="720"/></w:pPr></w:lvl><w:lvl w:ilvl="3"><w:start w:val="1"/><w:pStyle w:val="Heading4"/><w:lvlText w:val="%1.%2.%3.%4"/><w:lvlJc w:val="left"/><w:pPr><w:ind w:left="864" w:hanging="864"/></w:pPr></w:lvl><w:lvl w:ilvl="4"><w:start w:val="1"/><w:pStyle w:val="Heading5"/><w:lvlText w:val="%1.%2.%3.%4.%5"/><w:lvlJc w:val="left"/><w:pPr><w:ind w:left="1008" w:hanging="1008"/></w:pPr></w:lvl><w:lvl w:ilvl="5"><w:start w:val="1"/><w:pStyle w:val="Heading6"/><w:lvlText w:val="%1.%2.%3.%4.%5.%6"/><w:lvlJc w:val="left"/><w:pPr><w:ind w:left="1152" w:hanging="1152"/></w:pPr></w:lvl><w:lvl w:ilvl="6"><w:start w:val="1"/><w:pStyle w:val="Heading7"/><w:lvlText w:val="%1.%2.%3.%4.%5.%6.%7"/><w:lvlJc w:val="left"/><w:pPr><w:ind w:left="1296" w:hanging="1296"/></w:pPr></w:lvl><w:lvl w:ilvl="7"><w:start w:val="1"/><w:pStyle w:val="Heading8"/><w:lvlText w:val="%1.%2.%3.%4.%5.%6.%7.%8"/><w:lvlJc w:val="left"/><w:pPr><w:ind w:left="1440" w:hanging="1440"/></w:pPr></w:lvl><w:lvl w:ilvl="8"><w:start w:val="1"/><w:pStyle w:val="Heading9"/><w:lvlText w:val="%1.%2.%3.%4.%5.%6.%7.%8.%9"/><w:lvlJc w:val="left"/><w:pPr><w:ind w:left="1584" w:hanging="1584"/></w:pPr></w:lvl></w:listDef><w:list w:ilfo="1"><w:ilst w:val="0"/></w:list></w:lists><w:styles><w:versionOfBuiltInStylenames w:val="7"/><w:latentStyles w:defLockedState="off" w:latentStyleCount="371"><w:lsdException w:name="Normal"/><w:lsdException w:name="heading 1"/><w:lsdException w:name="heading 2"/><w:lsdException w:name="heading 3"/><w:lsdException w:name="heading 4"/><w:lsdException w:name="heading 5"/><w:lsdException w:name="heading 6"/><w:lsdException w:name="heading 7"/><w:lsdException w:name="heading 8"/><w:lsdException w:name="heading 9"/><w:lsdException w:name="caption"/><w:lsdException w:name="Title"/><w:lsdException w:name="Subtitle"/><w:lsdException w:name="Strong"/><w:lsdException w:name="Emphasis"/><w:lsdException w:name="Normal Table"/><w:lsdException w:name="Table Simple 1"/><w:lsdException w:name="Table Simple 2"/><w:lsdException w:name="Table Simple 3"/><w:lsdException w:name="Table Classic 1"/><w:lsdException w:name="Table Classic 2"/><w:lsdException w:name="Table Classic 3"/><w:lsdException w:name="Table Classic 4"/><w:lsdException w:name="Table Colorful 1"/><w:lsdException w:name="Table Colorful 2"/><w:lsdException w:name="Table Colorful 3"/><w:lsdException w:name="Table Columns 1"/><w:lsdException w:name="Table Columns 2"/><w:lsdException w:name="Table Columns 3"/><w:lsdException w:name="Table Columns 4"/><w:lsdException w:name="Table Columns 5"/><w:lsdException w:name="Table Grid 1"/><w:lsdException w:name="Table Grid 2"/><w:lsdException w:name="Table Grid 3"/><w:lsdException w:name="Table Grid 4"/><w:lsdException w:name="Table Grid 5"/><w:lsdException w:name="Table Grid 6"/><w:lsdException w:name="Table Grid 7"/><w:lsdException w:name="Table Grid 8"/><w:lsdException w:name="Table List 1"/><w:lsdException w:name="Table List 2"/><w:lsdException w:name="Table List 3"/><w:lsdException w:name="Table List 4"/><w:lsdException w:name="Table List 5"/><w:lsdException w:name="Table List 6"/><w:lsdException w:name="Table List 7"/><w:lsdException w:name="Table List 8"/><w:lsdException w:name="Table 3D effects 1"/><w:lsdException w:name="Table 3D effects 2"/><w:lsdException w:name="Table 3D effects 3"/><w:lsdException w:name="Table Contemporary"/><w:lsdException w:name="Table Elegant"/><w:lsdException w:name="Table Professional"/><w:lsdException w:name="Table Subtle 1"/><w:lsdException w:name="Table Subtle 2"/><w:lsdException w:name="Table Web 1"/><w:lsdException w:name="Table Web 2"/><w:lsdException w:name="Table Web 3"/><w:lsdException w:name="Table Theme"/><w:lsdException w:name="No Spacing"/><w:lsdException w:name="Light Shading"/><w:lsdException w:name="Light List"/><w:lsdException w:name="Light Grid"/><w:lsdException w:name="Medium Shading 1"/><w:lsdException w:name="Medium Shading 2"/><w:lsdException w:name="Medium List 1"/><w:lsdException w:name="Medium List 2"/><w:lsdException w:name="Medium Grid 1"/><w:lsdException w:name="Medium Grid 2"/><w:lsdException w:name="Medium Grid 3"/><w:lsdException w:name="Dark List"/><w:lsdException w:name="Colorful Shading"/><w:lsdException w:name="Colorful List"/><w:lsdException w:name="Colorful Grid"/><w:lsdException w:name="Light Shading Accent 1"/><w:lsdException w:name="Light List Accent 1"/><w:lsdException w:name="Light Grid Accent 1"/><w:lsdException w:name="Medium Shading 1 Accent 1"/><w:lsdException w:name="Medium Shading 2 Accent 1"/><w:lsdException w:name="Medium List 1 Accent 1"/><w:lsdException w:name="List Paragraph"/><w:lsdException w:name="Quote"/><w:lsdException w:name="Intense Quote"/><w:lsdException w:name="Medium List 2 Accent 1"/><w:lsdException w:name="Medium Grid 1 Accent 1"/><w:lsdException w:name="Medium Grid 2 Accent 1"/><w:lsdException w:name="Medium Grid 3 Accent 1"/><w:lsdException w:name="Dark List Accent 1"/><w:lsdException w:name="Colorful Shading Accent 1"/><w:lsdException w:name="Colorful List Accent 1"/><w:lsdException w:name="Colorful Grid Accent 1"/><w:lsdException w:name="Light Shading Accent 2"/><w:lsdException w:name="Light List Accent 2"/><w:lsdException w:name="Light Grid Accent 2"/><w:lsdException w:name="Medium Shading 1 Accent 2"/><w:lsdException w:name="Medium Shading 2 Accent 2"/><w:lsdException w:name="Medium List 1 Accent 2"/><w:lsdException w:name="Medium List 2 Accent 2"/><w:lsdException w:name="Medium Grid 1 Accent 2"/><w:lsdException w:name="Medium Grid 2 Accent 2"/><w:lsdException w:name="Medium Grid 3 Accent 2"/><w:lsdException w:name="Dark List Accent 2"/><w:lsdException w:name="Colorful Shading Accent 2"/><w:lsdException w:name="Colorful List Accent 2"/><w:lsdException w:name="Colorful Grid Accent 2"/><w:lsdException w:name="Light Shading Accent 3"/><w:lsdException w:name="Light List Accent 3"/><w:lsdException w:name="Light Grid Accent 3"/><w:lsdException w:name="Medium Shading 1 Accent 3"/><w:lsdException w:name="Medium Shading 2 Accent 3"/><w:lsdException w:name="Medium List 1 Accent 3"/><w:lsdException w:name="Medium List 2 Accent 3"/><w:lsdException w:name="Medium Grid 1 Accent 3"/><w:lsdException w:name="Medium Grid 2 Accent 3"/><w:lsdException w:name="Medium Grid 3 Accent 3"/><w:lsdException w:name="Dark List Accent 3"/><w:lsdException w:name="Colorful Shading Accent 3"/><w:lsdException w:name="Colorful List Accent 3"/><w:lsdException w:name="Colorful Grid Accent 3"/><w:lsdException w:name="Light Shading Accent 4"/><w:lsdException w:name="Light List Accent 4"/><w:lsdException w:name="Light Grid Accent 4"/><w:lsdException w:name="Medium Shading 1 Accent 4"/><w:lsdException w:name="Medium Shading 2 Accent 4"/><w:lsdException w:name="Medium List 1 Accent 4"/><w:lsdException w:name="Medium List 2 Accent 4"/><w:lsdException w:name="Medium Grid 1 Accent 4"/><w:lsdException w:name="Medium Grid 2 Accent 4"/><w:lsdException w:name="Medium Grid 3 Accent 4"/><w:lsdException w:name="Dark List Accent 4"/><w:lsdException w:name="Colorful Shading Accent 4"/><w:lsdException w:name="Colorful List Accent 4"/><w:lsdException w:name="Colorful Grid Accent 4"/><w:lsdException w:name="Light Shading Accent 5"/><w:lsdException w:name="Light List Accent 5"/><w:lsdException w:name="Light Grid Accent 5"/><w:lsdException w:name="Medium Shading 1 Accent 5"/><w:lsdException w:name="Medium Shading 2 Accent 5"/><w:lsdException w:name="Medium List 1 Accent 5"/><w:lsdException w:name="Medium List 2 Accent 5"/><w:lsdException w:name="Medium Grid 1 Accent 5"/><w:lsdException w:name="Medium Grid 2 Accent 5"/><w:lsdException w:name="Medium Grid 3 Accent 5"/><w:lsdException w:name="Dark List Accent 5"/><w:lsdException w:name="Colorful Shading Accent 5"/><w:lsdException w:name="Colorful List Accent 5"/><w:lsdException w:name="Colorful Grid Accent 5"/><w:lsdException w:name="Light Shading Accent 6"/><w:lsdException w:name="Light List Accent 6"/><w:lsdException w:name="Light Grid Accent 6"/><w:lsdException w:name="Medium Shading 1 Accent 6"/><w:lsdException w:name="Medium Shading 2 Accent 6"/><w:lsdException w:name="Medium List 1 Accent 6"/><w:lsdException w:name="Medium List 2 Accent 6"/><w:lsdException w:name="Medium Grid 1 Accent 6"/><w:lsdException w:name="Medium Grid 2 Accent 6"/><w:lsdException w:name="Medium Grid 3 Accent 6"/><w:lsdException w:name="Dark List Accent 6"/><w:lsdException w:name="Colorful Shading Accent 6"/><w:lsdException w:name="Colorful List Accent 6"/><w:lsdException w:name="Colorful Grid Accent 6"/><w:lsdException w:name="Subtle Emphasis"/><w:lsdException w:name="Intense Emphasis"/><w:lsdException w:name="Subtle Reference"/><w:lsdException w:name="Intense Reference"/><w:lsdException w:name="Book Title"/><w:lsdException w:name="TOC Heading"/></w:latentStyles><w:style w:type="paragraph" w:default="on" w:styleId="Normal"><w:name w:val="Normal"/><w:rsid w:val="004716E5"/><w:pPr><w:spacing w:after="160" w:line="259" w:line-rule="auto"/></w:pPr><w:rPr><wx:font wx:val="Calibri"/><w:sz w:val="22"/><w:sz-cs w:val="22"/><w:lang w:val="EN-US" w:fareast="EN-US" w:bidi="AR-SA"/></w:rPr></w:style><w:style w:type="paragraph" w:styleId="Heading1"><w:name w:val="heading 1"/><wx:uiName wx:val="Heading 1"/><w:basedOn w:val="Normal"/><w:next w:val="Normal"/><w:link w:val="Heading1Char"/><w:rsid w:val="00A83742"/><w:pPr><w:keepNext/><w:keepLines/><w:listPr><w:ilfo w:val="1"/></w:listPr><w:spacing w:before="240" w:after="0"/><w:outlineLvl w:val="0"/></w:pPr><w:rPr><w:rFonts w:ascii="Calibri Light" w:fareast="Times New Roman" w:h-ansi="Calibri Light"/><wx:font wx:val="Calibri Light"/><w:color w:val="2E74B5"/><w:sz w:val="32"/><w:sz-cs w:val="32"/></w:rPr></w:style><w:style w:type="paragraph" w:styleId="Heading2"><w:name w:val="heading 2"/><wx:uiName wx:val="Heading 2"/><w:basedOn w:val="Normal"/><w:next w:val="Normal"/><w:link w:val="Heading2Char"/><w:rsid w:val="00A83742"/><w:pPr><w:keepNext/><w:keepLines/><w:listPr><w:ilvl w:val="1"/><w:ilfo w:val="1"/></w:listPr><w:spacing w:before="40" w:after="0"/><w:outlineLvl w:val="1"/></w:pPr><w:rPr><w:rFonts w:ascii="Calibri Light" w:fareast="Times New Roman" w:h-ansi="Calibri Light"/><wx:font wx:val="Calibri Light"/><w:color w:val="2E74B5"/><w:sz w:val="26"/><w:sz-cs w:val="26"/></w:rPr></w:style><w:style w:type="paragraph" w:styleId="Heading3"><w:name w:val="heading 3"/><wx:uiName wx:val="Heading 3"/><w:basedOn w:val="Normal"/><w:next w:val="Normal"/><w:link w:val="Heading3Char"/><w:rsid w:val="00A83742"/><w:pPr><w:keepNext/><w:keepLines/><w:listPr><w:ilvl w:val="2"/><w:ilfo w:val="1"/></w:listPr><w:spacing w:before="40" w:after="0"/><w:outlineLvl w:val="2"/></w:pPr><w:rPr><w:rFonts w:ascii="Calibri Light" w:fareast="Times New Roman" w:h-ansi="Calibri Light"/><wx:font wx:val="Calibri Light"/><w:color w:val="1F4D78"/><w:sz w:val="24"/><w:sz-cs w:val="24"/></w:rPr></w:style><w:style w:type="paragraph" w:styleId="Heading4"><w:name w:val="heading 4"/><wx:uiName wx:val="Heading 4"/><w:basedOn w:val="Normal"/><w:next w:val="Normal"/><w:link w:val="Heading4Char"/><w:rsid w:val="006F4179"/><w:pPr><w:keepNext/><w:listPr><w:ilvl w:val="3"/><w:ilfo w:val="1"/></w:listPr><w:spacing w:before="240" w:after="60"/><w:outlineLvl w:val="3"/></w:pPr><w:rPr><w:rFonts w:fareast="Times New Roman"/><wx:font wx:val="Calibri"/><w:b/><w:b-cs/><w:sz w:val="28"/><w:sz-cs w:val="28"/></w:rPr></w:style><w:style w:type="paragraph" w:styleId="Heading5"><w:name w:val="heading 5"/><wx:uiName wx:val="Heading 5"/><w:basedOn w:val="Normal"/><w:next w:val="Normal"/><w:link w:val="Heading5Char"/><w:rsid w:val="006F4179"/><w:pPr><w:listPr><w:ilvl w:val="4"/><w:ilfo w:val="1"/></w:listPr><w:spacing w:before="240" w:after="60"/><w:outlineLvl w:val="4"/></w:pPr><w:rPr><w:rFonts w:fareast="Times New Roman"/><wx:font wx:val="Calibri"/><w:b/><w:b-cs/><w:i/><w:i-cs/><w:sz w:val="26"/><w:sz-cs w:val="26"/></w:rPr></w:style><w:style w:type="paragraph" w:styleId="Heading6"><w:name w:val="heading 6"/><wx:uiName wx:val="Heading 6"/><w:basedOn w:val="Normal"/><w:next w:val="Normal"/><w:link w:val="Heading6Char"/><w:rsid w:val="006F4179"/><w:pPr><w:listPr><w:ilvl w:val="5"/><w:ilfo w:val="1"/></w:listPr><w:spacing w:before="240" w:after="60"/><w:outlineLvl w:val="5"/></w:pPr><w:rPr><w:rFonts w:fareast="Times New Roman"/><wx:font wx:val="Calibri"/><w:b/><w:b-cs/></w:rPr></w:style><w:style w:type="paragraph" w:styleId="Heading7"><w:name w:val="heading 7"/><wx:uiName wx:val="Heading 7"/><w:basedOn w:val="Normal"/><w:next w:val="Normal"/><w:link w:val="Heading7Char"/><w:rsid w:val="006F4179"/><w:pPr><w:listPr><w:ilvl w:val="6"/><w:ilfo w:val="1"/></w:listPr><w:spacing w:before="240" w:after="60"/><w:outlineLvl w:val="6"/></w:pPr><w:rPr><w:rFonts w:fareast="Times New Roman"/><wx:font wx:val="Calibri"/><w:sz w:val="24"/><w:sz-cs w:val="24"/></w:rPr></w:style><w:style w:type="paragraph" w:styleId="Heading8"><w:name w:val="heading 8"/><wx:uiName wx:val="Heading 8"/><w:basedOn w:val="Normal"/><w:next w:val="Normal"/><w:link w:val="Heading8Char"/><w:rsid w:val="006F4179"/><w:pPr><w:listPr><w:ilvl w:val="7"/><w:ilfo w:val="1"/></w:listPr><w:spacing w:before="240" w:after="60"/><w:outlineLvl w:val="7"/></w:pPr><w:rPr><w:rFonts w:fareast="Times New Roman"/><wx:font wx:val="Calibri"/><w:i/><w:i-cs/><w:sz w:val="24"/><w:sz-cs w:val="24"/></w:rPr></w:style><w:style w:type="paragraph" w:styleId="Heading9"><w:name w:val="heading 9"/><wx:uiName wx:val="Heading 9"/><w:basedOn w:val="Normal"/><w:next w:val="Normal"/><w:link w:val="Heading9Char"/><w:rsid w:val="006F4179"/><w:pPr><w:listPr><w:ilvl w:val="8"/><w:ilfo w:val="1"/></w:listPr><w:spacing w:before="240" w:after="60"/><w:outlineLvl w:val="8"/></w:pPr><w:rPr><w:rFonts w:ascii="Calibri Light" w:fareast="Times New Roman" w:h-ansi="Calibri Light"/><wx:font wx:val="Calibri Light"/></w:rPr></w:style><w:style w:type="character" w:default="on" w:styleId="DefaultParagraphFont"><w:name w:val="Default Paragraph Font"/></w:style><w:style w:type="table" w:default="on" w:styleId="TableNormal"><w:name w:val="Normal Table"/><wx:uiName wx:val="Table Normal"/><w:rPr><wx:font wx:val="Calibri"/><w:lang w:val="EN-US" w:fareast="EN-US" w:bidi="AR-SA"/></w:rPr><w:tblPr><w:tblInd w:w="0" w:type="dxa"/><w:tblCellMar><w:top w:w="0" w:type="dxa"/><w:left w:w="108" w:type="dxa"/><w:bottom w:w="0" w:type="dxa"/><w:right w:w="108" w:type="dxa"/></w:tblCellMar></w:tblPr></w:style><w:style w:type="list" w:default="on" w:styleId="NoList"><w:name w:val="No List"/></w:style><w:style w:type="character" w:styleId="Heading1Char"><w:name w:val="Heading 1 Char"/><w:link w:val="Heading1"/><w:rsid w:val="00A83742"/><w:rPr><w:rFonts w:ascii="Calibri Light" w:fareast="Times New Roman" w:h-ansi="Calibri Light" w:cs="Times New Roman"/><w:color w:val="2E74B5"/><w:sz w:val="32"/><w:sz-cs w:val="32"/></w:rPr></w:style><w:style w:type="character" w:styleId="Heading2Char"><w:name w:val="Heading 2 Char"/><w:link w:val="Heading2"/><w:rsid w:val="00A83742"/><w:rPr><w:rFonts w:ascii="Calibri Light" w:fareast="Times New Roman" w:h-ansi="Calibri Light" w:cs="Times New Roman"/><w:color w:val="2E74B5"/><w:sz w:val="26"/><w:sz-cs w:val="26"/></w:rPr></w:style><w:style w:type="character" w:styleId="Heading3Char"><w:name w:val="Heading 3 Char"/><w:link w:val="Heading3"/><w:rsid w:val="00A83742"/><w:rPr><w:rFonts w:ascii="Calibri Light" w:fareast="Times New Roman" w:h-ansi="Calibri Light" w:cs="Times New Roman"/><w:color w:val="1F4D78"/><w:sz w:val="24"/><w:sz-cs w:val="24"/></w:rPr></w:style><w:style w:type="character" w:styleId="Heading4Char"><w:name w:val="Heading 4 Char"/><w:link w:val="Heading4"/><w:rsid w:val="006F4179"/><w:rPr><w:rFonts w:ascii="Calibri" w:fareast="Times New Roman" w:h-ansi="Calibri" w:cs="Times New Roman"/><w:b/><w:b-cs/><w:sz w:val="28"/><w:sz-cs w:val="28"/></w:rPr></w:style><w:style w:type="character" w:styleId="Heading5Char"><w:name w:val="Heading 5 Char"/><w:link w:val="Heading5"/><w:rsid w:val="006F4179"/><w:rPr><w:rFonts w:ascii="Calibri" w:fareast="Times New Roman" w:h-ansi="Calibri" w:cs="Times New Roman"/><w:b/><w:b-cs/><w:i/><w:i-cs/><w:sz w:val="26"/><w:sz-cs w:val="26"/></w:rPr></w:style><w:style w:type="character" w:styleId="Heading6Char"><w:name w:val="Heading 6 Char"/><w:link w:val="Heading6"/><w:rsid w:val="006F4179"/><w:rPr><w:rFonts w:ascii="Calibri" w:fareast="Times New Roman" w:h-ansi="Calibri" w:cs="Times New Roman"/><w:b/><w:b-cs/><w:sz w:val="22"/><w:sz-cs w:val="22"/></w:rPr></w:style><w:style w:type="character" w:styleId="Heading7Char"><w:name w:val="Heading 7 Char"/><w:link w:val="Heading7"/><w:rsid w:val="006F4179"/><w:rPr><w:rFonts w:ascii="Calibri" w:fareast="Times New Roman" w:h-ansi="Calibri" w:cs="Times New Roman"/><w:sz w:val="24"/><w:sz-cs w:val="24"/></w:rPr></w:style><w:style w:type="character" w:styleId="Heading8Char"><w:name w:val="Heading 8 Char"/><w:link w:val="Heading8"/><w:rsid w:val="006F4179"/><w:rPr><w:rFonts w:ascii="Calibri" w:fareast="Times New Roman" w:h-ansi="Calibri" w:cs="Times New Roman"/><w:i/><w:i-cs/><w:sz w:val="24"/><w:sz-cs w:val="24"/></w:rPr></w:style><w:style w:type="character" w:styleId="Heading9Char"><w:name w:val="Heading 9 Char"/><w:link w:val="Heading9"/><w:rsid w:val="006F4179"/><w:rPr><w:rFonts w:ascii="Calibri Light" w:fareast="Times New Roman" w:h-ansi="Calibri Light" w:cs="Times New Roman"/><w:sz w:val="22"/><w:sz-cs w:val="22"/></w:rPr></w:style></w:styles><w:shapeDefaults><o:shapedefaults v:ext="edit" spidmax="1026"/><o:shapelayout v:ext="edit"><o:idmap v:ext="edit" data="1"/></o:shapelayout></w:shapeDefaults><w:docPr><w:view w:val="web"/><w:zoom w:percent="100"/><w:doNotEmbedSystemFonts/><w:proofState w:spelling="clean" w:grammar="clean"/><w:defaultTabStop w:val="720"/><w:punctuationKerning/><w:characterSpacingControl w:val="DontCompress"/><w:optimizeForBrowser/><w:allowPNG/><w:pixelsPerInch w:val="120"/><w:validateAgainstSchema/><w:saveInvalidXML w:val="off"/><w:ignoreMixedContent w:val="off"/><w:alwaysShowPlaceholderText w:val="off"/><w:compat><w:breakWrappedTables/><w:snapToGridInCell/><w:wrapTextWithPunct/><w:useAsianBreakRules/><w:dontGrowAutofit/></w:compat><wsp:rsids><wsp:rsidRoot wsp:val="00A83742"/><wsp:rsid wsp:val="004716E5"/><wsp:rsid wsp:val="006F4179"/><wsp:rsid wsp:val="00A532DD"/><wsp:rsid wsp:val="00A83742"/><wsp:rsid wsp:val="00D32C2D"/></wsp:rsids></w:docPr><w:body><wx:sect><wx:sub-section><w:p wsp:rsidR="00A532DD" wsp:rsidRDefault="00A83742" wsp:rsidP="006F4179"><w:pPr><w:pStyle w:val="Heading1"/><w:listPr><wx:t wx:val="1"/><wx:font wx:val="Times New Roman"/></w:listPr></w:pPr><w:r><w:t>Test Heading</w:t></w:r></w:p></wx:sub-section><wx:sub-section><w:p wsp:rsidR="00A83742" wsp:rsidRDefault="00A83742" wsp:rsidP="006F4179"><w:pPr><w:pStyle w:val="Heading1"/><w:listPr><wx:t wx:val="2"/><wx:font wx:val="Times New Roman"/></w:listPr></w:pPr><w:r><w:t>This is the content under the heading.</w:t></w:r></w:p><wx:sub-section><w:p wsp:rsidR="00A83742" wsp:rsidRDefault="00A83742" wsp:rsidP="006F4179"><w:pPr><w:pStyle w:val="Heading2"/><w:listPr><wx:t wx:val="2.1"/><wx:font wx:val="Times New Roman"/></w:listPr></w:pPr><w:r><w:t>Test Sub</w:t></w:r><w:r wsp:rsidR="00D32C2D"><w:t> </w:t></w:r><w:r><w:t>Heading</w:t></w:r></w:p></wx:sub-section></wx:sub-section><wx:sub-section><w:p wsp:rsidR="00A83742" wsp:rsidRDefault="00A83742" wsp:rsidP="006F4179"><w:pPr><w:pStyle w:val="Heading1"/><w:listPr><wx:t wx:val="3"/><wx:font wx:val="Times New Roman"/></w:listPr></w:pPr><w:r><w:t>This is the content under the sub heading</w:t></w:r></w:p><wx:sub-section><wx:sub-section><w:p wsp:rsidR="00A83742" wsp:rsidRDefault="00A83742" wsp:rsidP="006F4179"><w:pPr><w:pStyle w:val="Heading3"/><w:listPr><wx:t wx:val="3.1.1"/><wx:font wx:val="Times New Roman"/></w:listPr></w:pPr><w:r><w:t>Child heading 1</w:t></w:r></w:p></wx:sub-section></wx:sub-section></wx:sub-section><wx:sub-section><w:p wsp:rsidR="00A83742" wsp:rsidRDefault="00A83742" wsp:rsidP="006F4179"><w:pPr><w:pStyle w:val="Heading1"/><w:listPr><wx:t wx:val="4"/><wx:font wx:val="Times New Roman"/></w:listPr></w:pPr><w:r><w:t>And some data under here.</w:t></w:r></w:p><wx:sub-section><wx:sub-section><w:p wsp:rsidR="00A83742" wsp:rsidRDefault="00A83742" wsp:rsidP="006F4179"><w:pPr><w:pStyle w:val="Heading3"/><w:listPr><wx:t wx:val="4.1.1"/><wx:font wx:val="Times New Roman"/></w:listPr></w:pPr><w:r><w:t>Child heading 2</w:t></w:r></w:p></wx:sub-section></wx:sub-section></wx:sub-section><wx:sub-section><w:p wsp:rsidR="00A83742" wsp:rsidRDefault="00A83742" wsp:rsidP="006F4179"><w:pPr><w:pStyle w:val="Heading1"/><w:listPr><wx:t wx:val="5"/><wx:font wx:val="Times New Roman"/></w:listPr></w:pPr><w:r><w:t>With additional data under child heading 2</w:t></w:r></w:p><wx:sub-section><w:p wsp:rsidR="00A83742" wsp:rsidRDefault="00A83742" wsp:rsidP="006F4179"><w:pPr><w:pStyle w:val="Heading2"/><w:listPr><wx:t wx:val="5.1"/><wx:font wx:val="Times New Roman"/></w:listPr></w:pPr><w:r><w:t>Sub Heading out</w:t></w:r></w:p></wx:sub-section></wx:sub-section><wx:sub-section><w:p wsp:rsidR="00A83742" wsp:rsidRPr="00A83742" wsp:rsidRDefault="00A83742" wsp:rsidP="006F4179"><w:pPr><w:pStyle w:val="Heading1"/><w:listPr><wx:t wx:val="6"/><wx:font wx:val="Times New Roman"/></w:listPr></w:pPr><w:r><w:t>Testing to see if moving out a heading works.</w:t></w:r></w:p></wx:sub-section><w:sectPr wsp:rsidR="00A83742" wsp:rsidRPr="00A83742" wsp:rsidSect="004716E5"><w:pgSz w:w="12240" w:h="15840"/><w:pgMar w:top="1440" w:right="1440" w:bottom="1440" w:left="1440" w:header="720" w:footer="720" w:gutter="0"/><w:cols w:space="720"/><w:docGrid w:line-pitch="360"/></w:sectPr></wx:sect></w:body></w:wordDocument>
\ No newline at end of file
diff --git a/plugins/org.eclipse.osee.define.rest/src/org/eclipse/osee/define/rest/MSWordOperationsImpl.java b/plugins/org.eclipse.osee.define.rest/src/org/eclipse/osee/define/rest/MSWordOperationsImpl.java
index 78a2fd2..d56b1ec 100644
--- a/plugins/org.eclipse.osee.define.rest/src/org/eclipse/osee/define/rest/MSWordOperationsImpl.java
+++ b/plugins/org.eclipse.osee.define.rest/src/org/eclipse/osee/define/rest/MSWordOperationsImpl.java
@@ -128,7 +128,7 @@
    @Override
    public Response msWordTemplatePublish(BranchId branch, ArtifactId template, ArtifactId headArtifact, ArtifactId view) {
       //Generate filename with the headArtifact name and current time
-      String name = orcsApi.getQueryFactory().fromBranch(branch).andId(headArtifact).asArtifact().getName();
+      String name = orcsApi.getQueryFactory().fromBranch(branch).andId(headArtifact).asArtifactToken().getName();
       SimpleDateFormat format = new SimpleDateFormat("MM-dd_HH-mm-ss");
       Date date = new Date(System.currentTimeMillis());
       String time = format.format(date);
diff --git a/plugins/org.eclipse.osee.define.rest/src/org/eclipse/osee/define/rest/importing/operations/RoughToRealArtifactOperation.java b/plugins/org.eclipse.osee.define.rest/src/org/eclipse/osee/define/rest/importing/operations/RoughToRealArtifactOperation.java
index 3d9bcc3..27061b1 100644
--- a/plugins/org.eclipse.osee.define.rest/src/org/eclipse/osee/define/rest/importing/operations/RoughToRealArtifactOperation.java
+++ b/plugins/org.eclipse.osee.define.rest/src/org/eclipse/osee/define/rest/importing/operations/RoughToRealArtifactOperation.java
@@ -157,6 +157,7 @@
          }
          extractor.artifactCreated(transaction, childArtifact, childRoughArtifact);
       }
+      results.logf("Added Art: %s\n", realArtifactId.getIdString());
       return realArtifactId;
    }
 
diff --git a/plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/OseeClient.java b/plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/OseeClient.java
index 2eb0c88..cb60df9 100644
--- a/plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/OseeClient.java
+++ b/plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/OseeClient.java
@@ -16,6 +16,7 @@
 import org.eclipse.osee.activity.api.ActivityLogEndpoint;
 import org.eclipse.osee.define.api.DataRightsEndpoint;
 import org.eclipse.osee.define.api.DefineBranchEndpointApi;
+import org.eclipse.osee.define.api.ImportEndpoint;
 import org.eclipse.osee.define.api.RenderEndpoint;
 import org.eclipse.osee.framework.core.OseeApi;
 import org.eclipse.osee.framework.core.data.ArtifactToken;
@@ -77,6 +78,8 @@
    MailEndpoint getMailEndpoint();
 
    SessionEndpoint getSessionEndpoint();
+   
+   ImportEndpoint getImportEndpoint();
 
    @Deprecated
    String loadAttributeValue(Integer attrId, TransactionId transactionId, ArtifactToken artifact);
diff --git a/plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/internal/OseeClientImpl.java b/plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/internal/OseeClientImpl.java
index 993260c..2d1700d 100644
--- a/plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/internal/OseeClientImpl.java
+++ b/plugins/org.eclipse.osee.orcs.rest.client/src/org/eclipse/osee/orcs/rest/client/internal/OseeClientImpl.java
@@ -22,6 +22,7 @@
 import org.eclipse.osee.activity.api.ActivityLogEndpoint;
 import org.eclipse.osee.define.api.DataRightsEndpoint;
 import org.eclipse.osee.define.api.DefineBranchEndpointApi;
+import org.eclipse.osee.define.api.ImportEndpoint;
 import org.eclipse.osee.define.api.RenderEndpoint;
 import org.eclipse.osee.framework.core.OseeApiBase;
 import org.eclipse.osee.framework.core.data.ArtifactToken;
@@ -153,6 +154,11 @@
    }
 
    @Override
+   public ImportEndpoint getImportEndpoint() {
+      return getDefineEndpoint(ImportEndpoint.class);
+   }
+
+   @Override
    public OrcsWriterEndpoint getOrcsWriterEndpoint() {
       return getOrcsEndpoint(OrcsWriterEndpoint.class);
    }
