Improve level override (#155)

* fix: improve lvlOverride to allow insert lvl

* fix: Add fixture

* fix: override reader

* fix: ci

* fix ci

* add fixture

* spec: Add js test

* fix: ci

* fix: spec
main
bokuweb 2020-10-05 22:46:18 +09:00 committed by GitHub
parent 107abc5c0b
commit 5267e31c62
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
36 changed files with 4694 additions and 75 deletions

View File

@ -78,7 +78,7 @@ jobs:
override: true override: true
- run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh - run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
- run: rustup target add wasm32-unknown-unknown - run: rustup target add wasm32-unknown-unknown
- run: cd docx-wasm && yarn install && yarn wasm-pack:web - run: cd docx-wasm && yarn install && yarn wasm-pack:node && yarn wasm-pack:dev && tsc -p tsconfig.node.json && yarn test
lint: lint:
name: Clippy name: Clippy

View File

@ -1,3 +1,5 @@
use super::*;
use crate::documents::BuildXML; use crate::documents::BuildXML;
use crate::xml_builder::*; use crate::xml_builder::*;
@ -11,16 +13,26 @@ This element specifies an optional override which shall be applied in place of z
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub struct LevelOverride { pub struct LevelOverride {
pub level: usize, pub level: usize,
pub start: Option<usize>, pub override_start: Option<usize>,
pub override_level: Option<Level>,
} }
impl LevelOverride { impl LevelOverride {
pub fn new(level: usize) -> LevelOverride { pub fn new(level: usize) -> LevelOverride {
LevelOverride { level, start: None } LevelOverride {
level,
override_start: None,
override_level: None,
}
} }
pub fn start(mut self, start: usize) -> LevelOverride { pub fn start(mut self, start: usize) -> LevelOverride {
self.start = Some(start); self.override_start = Some(start);
self
}
pub fn level(mut self, override_level: Level) -> LevelOverride {
self.override_level = Some(override_level);
self self
} }
} }
@ -30,7 +42,9 @@ impl BuildXML for LevelOverride {
let mut b = XMLBuilder::new(); let mut b = XMLBuilder::new();
b = b.open_level_override(&format!("{}", self.level)); b = b.open_level_override(&format!("{}", self.level));
if let Some(start) = self.start { b = b.add_optional_child(&self.override_level);
if let Some(start) = self.override_start {
b = b.start_override(&format!("{}", start)); b = b.start_override(&format!("{}", start));
} }
@ -57,38 +71,21 @@ mod tests {
</w:lvlOverride>"# </w:lvlOverride>"#
); );
} }
}
// Example #[test]
/* fn test_override_with_lvl() {
<w:num w:numId="5"> let lvl = Level::new(
<w:abstractNumId w:val="0"/> 1,
<w:lvlOverride w:ilvl="0"> Start::new(1),
<w:startOverride w:val="1"/> NumberFormat::new("decimal"),
</w:lvlOverride> LevelText::new("%4."),
<w:lvlOverride w:ilvl="1"> LevelJc::new("left"),
<w:startOverride w:val="1"/> );
</w:lvlOverride> let c = LevelOverride::new(1).level(lvl);
<w:lvlOverride w:ilvl="2"> let b = c.build();
<w:startOverride w:val="1"/> assert_eq!(
</w:lvlOverride> str::from_utf8(&b).unwrap(),
<w:lvlOverride w:ilvl="3"> r#"<w:lvlOverride w:ilvl="1"><w:lvl w:ilvl="1"><w:start w:val="1" /><w:numFmt w:val="decimal" /><w:lvlText w:val="%4." /><w:lvlJc w:val="left" /><w:pPr><w:rPr /></w:pPr></w:lvl></w:lvlOverride>"#
<w:startOverride w:val="1"/> );
</w:lvlOverride> }
<w:lvlOverride w:ilvl="4"> }
<w:startOverride w:val="1"/>
</w:lvlOverride>
<w:lvlOverride w:ilvl="5">
<w:startOverride w:val="1"/>
</w:lvlOverride>
<w:lvlOverride w:ilvl="6">
<w:startOverride w:val="1"/>
</w:lvlOverride>
<w:lvlOverride w:ilvl="7">
<w:startOverride w:val="1"/>
</w:lvlOverride>
<w:lvlOverride w:ilvl="8">
<w:startOverride w:val="1"/>
</w:lvlOverride>
</w:num>
*/

View File

@ -92,7 +92,7 @@ mod tests {
]; ];
assert_eq!( assert_eq!(
serde_json::to_string(&c.overrides(overrides)).unwrap(), serde_json::to_string(&c.overrides(overrides)).unwrap(),
r#"{"id":0,"abstractNumId":2,"levelOverrides":[{"level":0,"start":1},{"level":1,"start":1}]}"# r#"{"id":0,"abstractNumId":2,"levelOverrides":[{"level":0,"overrideStart":1,"overrideLevel":null},{"level":1,"overrideStart":1,"overrideLevel":null}]}"#
); );
} }
} }

View File

@ -19,11 +19,19 @@ impl ElementReader for LevelOverride {
attributes, name, .. attributes, name, ..
}) => { }) => {
let e = XMLElement::from_str(&name.local_name).unwrap(); let e = XMLElement::from_str(&name.local_name).unwrap();
if let XMLElement::StartOverride = e { match e {
XMLElement::StartOverride => {
let val = usize::from_str(&attributes[0].value)?; let val = usize::from_str(&attributes[0].value)?;
o = o.start(val); o = o.start(val);
continue; continue;
} }
XMLElement::Level => {
let lvl = Level::read(r, &attributes)?;
o = o.level(lvl);
continue;
}
_ => {}
}
} }
Ok(XmlEvent::EndElement { name, .. }) => { Ok(XmlEvent::EndElement { name, .. }) => {
let e = XMLElement::from_str(&name.local_name).unwrap(); let e = XMLElement::from_str(&name.local_name).unwrap();

View File

@ -214,3 +214,18 @@ pub fn read_from_doc() {
file.write_all(json.as_bytes()).unwrap(); file.write_all(json.as_bytes()).unwrap();
file.flush().unwrap(); file.flush().unwrap();
} }
#[test]
pub fn read_lvl_override() {
let mut file = File::open("../fixtures/lvl_override/override.docx").unwrap();
let mut buf = vec![];
file.read_to_end(&mut buf).unwrap();
let json = read_docx(&buf).unwrap().json();
assert_json_snapshot!("read_lvl_override", &json);
let path = std::path::Path::new("./tests/output/lvl_override.json");
let mut file = std::fs::File::create(&path).unwrap();
file.write_all(json.as_bytes()).unwrap();
file.flush().unwrap();
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -513,6 +513,16 @@ export class Docx {
if (o.startOverride !== null) { if (o.startOverride !== null) {
levelOverride = levelOverride.start(o.startOverride); levelOverride = levelOverride.start(o.startOverride);
} }
if (o.levelOverride !== null) {
let level = wasm.createLevel(
o.levelOverride.level,
o.levelOverride.start,
o.levelOverride.format,
o.levelOverride.text,
o.levelOverride.jc
);
levelOverride = levelOverride.level(level);
}
num = num.add_override(levelOverride); num = num.add_override(levelOverride);
}); });
docx = docx.add_numbering(num); docx = docx.add_numbering(num);

View File

@ -7,7 +7,7 @@ export type LevelJSON = {
text: string; text: string;
jc: string; jc: string;
pstyle: string | null; pstyle: string | null;
suffix: 'tab' | 'nothing' | 'space'; suffix: "tab" | "nothing" | "space";
paragraphProperty: ParagraphPropertyJSON; paragraphProperty: ParagraphPropertyJSON;
}; };
@ -26,7 +26,8 @@ export type NumberingJSON = {
export type LevelOverrideJSON = { export type LevelOverrideJSON = {
level: number; level: number;
start: number; overrideStart: number | null;
overrideLevel: LevelJSON | null;
}; };
export type NumberingsJSON = { export type NumberingsJSON = {

View File

@ -1,3 +1,4 @@
import { LevelJSON } from "./json";
import { ParagraphProperty, SpecialIndentKind } from "./paragraph"; import { ParagraphProperty, SpecialIndentKind } from "./paragraph";
export type LevelSuffixType = "nothing" | "tab" | "space"; export type LevelSuffixType = "nothing" | "tab" | "space";
@ -48,13 +49,19 @@ export class Level {
export class LevelOverride { export class LevelOverride {
level: number; level: number;
startOverride: number | null = null; startOverride: number | null = null;
levelOverride: LevelJSON | null = null;
constructor(level: number) { constructor(level: number) {
this.level = level; this.level = level;
} }
start(start: number) { overrideStart(start: number) {
this.startOverride = start; this.startOverride = start;
return this; return this;
} }
overrideLevel(level: LevelJSON) {
this.levelOverride = level;
return this;
}
} }

View File

@ -13,6 +13,7 @@
"tsc:web": "tsc -p tsconfig.web.json", "tsc:web": "tsc -p tsconfig.web.json",
"tsc:node": "tsc -p tsconfig.node.json", "tsc:node": "tsc -p tsconfig.node.json",
"tsc": "run-p tsc:*", "tsc": "run-p tsc:*",
"test": "jest",
"build": "run-s wasm-pack tsc", "build": "run-s wasm-pack tsc",
"serve": "webpack-dev-server --open --config webpack.dev.js", "serve": "webpack-dev-server --open --config webpack.dev.js",
"prepublishOnly": "npm run build" "prepublishOnly": "npm run build"
@ -23,8 +24,10 @@
"devDependencies": { "devDependencies": {
"@types/file-saver": "2.0.1", "@types/file-saver": "2.0.1",
"@wasm-tool/wasm-pack-plugin": "1.3.1", "@wasm-tool/wasm-pack-plugin": "1.3.1",
"adm-zip": "^0.4.16",
"file-saver": "2.0.2", "file-saver": "2.0.2",
"html-webpack-plugin": "4.4.1", "html-webpack-plugin": "4.4.1",
"jest": "^26.5.0",
"npm-run-all": "4.1.5", "npm-run-all": "4.1.5",
"text-encoding": "0.7.0", "text-encoding": "0.7.0",
"ts-loader": "8.0.3", "ts-loader": "8.0.3",

View File

@ -1,5 +1,7 @@
use wasm_bindgen::prelude::*; use wasm_bindgen::prelude::*;
use super::Level;
#[wasm_bindgen] #[wasm_bindgen]
#[derive(Debug)] #[derive(Debug)]
pub struct LevelOverride(docx_rs::LevelOverride); pub struct LevelOverride(docx_rs::LevelOverride);
@ -21,4 +23,9 @@ impl LevelOverride {
self.0 = self.0.start(start); self.0 = self.0.start(start);
self self
} }
pub fn level(mut self, level: Level) -> Self {
self.0 = self.0.level(level.take());
self
}
} }

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,50 @@
const w = require("../dist/node");
const { readFileSync, writeFileSync } = require("fs");
const path = require("path");
const Zip = require("adm-zip");
describe("reader", () => {
test("should read lvlOverride docx", () => {
const buf = readFileSync("../fixtures/lvl_override/override.docx");
const json = w.readDocx(buf);
console.log(json);
expect(json).toMatchSnapshot();
});
});
describe("writer", () => {
test("should write hello", () => {
const p = new w.Paragraph().addRun(new w.Run().addText("Hello world!!"));
const buf = new w.Docx().addParagraph(p).build();
const z = new Zip(Buffer.from(buf));
for (const e of z.getEntries()) {
if (e.entryName.match(/document.xml|numbering.xml/)) {
expect(z.readAsText(e)).toMatchSnapshot();
}
}
});
test("should write lvlOverride with level", () => {
const p = new w.Paragraph()
.addRun(new w.Run().addText("Hello world!!"))
.numbering(0, 0);
const num = new w.Numbering(0, 0);
num.addOverride(
new w.LevelOverride(0).overrideLevel(
new w.Level(0, 3, "decimal", "%1", "left")
)
);
const buf = new w.Docx()
.addParagraph(p)
.addAbstractNumbering(new w.AbstractNumbering(0))
.addNumbering(num)
.build();
const z = new Zip(Buffer.from(buf));
for (const e of z.getEntries()) {
if (e.entryName.match(/document.xml|numbering.xml/)) {
expect(z.readAsText(e)).toMatchSnapshot();
}
}
});
});

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target="docProps/app.xml"/><Relationship Id="rId2" Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="docProps/core.xml"/><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="word/document.xml"/></Relationships>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"><Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml"/><Default Extension="xml" ContentType="application/xml"/><Override PartName="/word/document.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml"/><Override PartName="/word/numbering.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml"/><Override PartName="/word/styles.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml"/><Override PartName="/word/settings.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml"/><Override PartName="/word/webSettings.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml"/><Override PartName="/word/fontTable.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml"/><Override PartName="/word/theme/theme1.xml" ContentType="application/vnd.openxmlformats-officedocument.theme+xml"/><Override PartName="/docProps/core.xml" ContentType="application/vnd.openxmlformats-package.core-properties+xml"/><Override PartName="/docProps/app.xml" ContentType="application/vnd.openxmlformats-officedocument.extended-properties+xml"/></Types>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Properties xmlns="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties" xmlns:vt="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"><Template>Normal.dotm</Template><TotalTime>1</TotalTime><Pages>1</Pages><Words>8</Words><Characters>10</Characters><Application>Microsoft Office Word</Application><DocSecurity>0</DocSecurity><Lines>10</Lines><Paragraphs>3</Paragraphs><ScaleCrop>false</ScaleCrop><Company></Company><LinksUpToDate>false</LinksUpToDate><CharactersWithSpaces>15</CharactersWithSpaces><SharedDoc>false</SharedDoc><HyperlinksChanged>false</HyperlinksChanged><AppVersion>16.0000</AppVersion></Properties>

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<cp:coreProperties xmlns:cp="http://schemas.openxmlformats.org/package/2006/metadata/core-properties"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:dcterms="http://purl.org/dc/terms/"
xmlns:dcmitype="http://purl.org/dc/dcmitype/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<dc:title></dc:title>
<dc:subject></dc:subject>
<dc:creator>bokuweb</dc:creator>
<cp:keywords></cp:keywords>
<dc:description></dc:description>
<cp:lastModifiedBy>bokuweb</cp:lastModifiedBy>
<cp:revision>1</cp:revision>
<dcterms:created xsi:type="dcterms:W3CDTF">2020-10-05T09:28:00Z</dcterms:created>
<dcterms:modified xsi:type="dcterms:W3CDTF">2020-10-05T09:29:00Z</dcterms:modified>
</cp:coreProperties>

View File

@ -0,0 +1,97 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<w:document xmlns:wpc="http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas"
xmlns:cx="http://schemas.microsoft.com/office/drawing/2014/chartex"
xmlns:cx1="http://schemas.microsoft.com/office/drawing/2015/9/8/chartex"
xmlns:cx2="http://schemas.microsoft.com/office/drawing/2015/10/21/chartex"
xmlns:cx3="http://schemas.microsoft.com/office/drawing/2016/5/9/chartex"
xmlns:cx4="http://schemas.microsoft.com/office/drawing/2016/5/10/chartex"
xmlns:cx5="http://schemas.microsoft.com/office/drawing/2016/5/11/chartex"
xmlns:cx6="http://schemas.microsoft.com/office/drawing/2016/5/12/chartex"
xmlns:cx7="http://schemas.microsoft.com/office/drawing/2016/5/13/chartex"
xmlns:cx8="http://schemas.microsoft.com/office/drawing/2016/5/14/chartex"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:aink="http://schemas.microsoft.com/office/drawing/2016/ink"
xmlns:am3d="http://schemas.microsoft.com/office/drawing/2017/model3d"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math"
xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:wp14="http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing"
xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing"
xmlns:w10="urn:schemas-microsoft-com:office:word"
xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"
xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml"
xmlns:w15="http://schemas.microsoft.com/office/word/2012/wordml"
xmlns:w16cex="http://schemas.microsoft.com/office/word/2018/wordml/cex"
xmlns:w16cid="http://schemas.microsoft.com/office/word/2016/wordml/cid"
xmlns:w16="http://schemas.microsoft.com/office/word/2018/wordml"
xmlns:w16se="http://schemas.microsoft.com/office/word/2015/wordml/symex"
xmlns:wpg="http://schemas.microsoft.com/office/word/2010/wordprocessingGroup"
xmlns:wpi="http://schemas.microsoft.com/office/word/2010/wordprocessingInk"
xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml"
xmlns:wps="http://schemas.microsoft.com/office/word/2010/wordprocessingShape" mc:Ignorable="w14 w15 w16se w16cid w16 w16cex wp14">
<w:body>
<w:p w14:paraId="67BF3DED" w14:textId="4D013391" w:rsidR="007A670F" w:rsidRDefault="007A670F" w:rsidP="007A670F">
<w:pPr>
<w:pStyle w:val="a3"/>
<w:numPr>
<w:ilvl w:val="0"/>
<w:numId w:val="1"/>
</w:numPr>
<w:ind w:leftChars="0"/>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:hint="eastAsia"/>
</w:rPr>
<w:t>H</w:t>
</w:r>
<w:r>
<w:t>ello</w:t>
</w:r>
</w:p>
<w:p w14:paraId="42242901" w14:textId="66F4D71D" w:rsidR="007A670F" w:rsidRDefault="007A670F" w:rsidP="007A670F">
<w:pPr>
<w:pStyle w:val="a3"/>
<w:numPr>
<w:ilvl w:val="0"/>
<w:numId w:val="1"/>
</w:numPr>
<w:ind w:leftChars="0"/>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:hint="eastAsia"/>
</w:rPr>
<w:t>W</w:t>
</w:r>
<w:r>
<w:t>orld</w:t>
</w:r>
</w:p>
<w:p w14:paraId="59ED53E4" w14:textId="31E02D55" w:rsidR="007A670F" w:rsidRDefault="007A670F" w:rsidP="007A670F"/>
<w:p w14:paraId="0037D9B1" w14:textId="79A71D89" w:rsidR="007A670F" w:rsidRDefault="007A670F" w:rsidP="007A670F"/>
<w:p w14:paraId="1B25007E" w14:textId="56CDF3CA" w:rsidR="007A670F" w:rsidRDefault="007A670F" w:rsidP="007A670F">
<w:pPr>
<w:pStyle w:val="a3"/>
<w:numPr>
<w:ilvl w:val="0"/>
<w:numId w:val="3"/>
</w:numPr>
<w:ind w:leftChars="0"/>
<w:rPr>
<w:rFonts w:hint="eastAsia"/>
</w:rPr>
</w:pPr>
<w:r>
<w:t>Foo</w:t>
</w:r>
</w:p>
<w:sectPr w:rsidR="007A670F" w:rsidSect="00733037">
<w:pgSz w:w="11900" w:h="16840"/>
<w:pgMar w:top="1985" w:right="1701" w:bottom="1701" w:left="1701" w:header="851" w:footer="992" w:gutter="0"/>
<w:cols w:space="425"/>
<w:docGrid w:type="lines" w:linePitch="360"/>
</w:sectPr>
</w:body>
</w:document>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<w:fonts xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml" xmlns:w15="http://schemas.microsoft.com/office/word/2012/wordml" xmlns:w16cex="http://schemas.microsoft.com/office/word/2018/wordml/cex" xmlns:w16cid="http://schemas.microsoft.com/office/word/2016/wordml/cid" xmlns:w16="http://schemas.microsoft.com/office/word/2018/wordml" xmlns:w16se="http://schemas.microsoft.com/office/word/2015/wordml/symex" mc:Ignorable="w14 w15 w16se w16cid w16 w16cex"><w:font w:name="Times New Roman"><w:panose1 w:val="02020603050405020304"/><w:charset w:val="00"/><w:family w:val="roman"/><w:pitch w:val="variable"/><w:sig w:usb0="20002A87" w:usb1="80000000" w:usb2="00000008" w:usb3="00000000" w:csb0="000001FF" w:csb1="00000000"/></w:font><w:font w:name="游明朝"><w:panose1 w:val="02020400000000000000"/><w:charset w:val="80"/><w:family w:val="roman"/><w:pitch w:val="variable"/><w:sig w:usb0="800002E7" w:usb1="2AC7FCFF" w:usb2="00000012" w:usb3="00000000" w:csb0="0002009F" w:csb1="00000000"/></w:font><w:font w:name="游ゴシック Light"><w:panose1 w:val="020B0300000000000000"/><w:charset w:val="80"/><w:family w:val="swiss"/><w:pitch w:val="variable"/><w:sig w:usb0="E00002FF" w:usb1="2AC7FDFF" w:usb2="00000016" w:usb3="00000000" w:csb0="0002009F" w:csb1="00000000"/></w:font></w:fonts>

View File

@ -0,0 +1,314 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<w:numbering xmlns:wpc="http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas"
xmlns:cx="http://schemas.microsoft.com/office/drawing/2014/chartex"
xmlns:cx1="http://schemas.microsoft.com/office/drawing/2015/9/8/chartex"
xmlns:cx2="http://schemas.microsoft.com/office/drawing/2015/10/21/chartex"
xmlns:cx3="http://schemas.microsoft.com/office/drawing/2016/5/9/chartex"
xmlns:cx4="http://schemas.microsoft.com/office/drawing/2016/5/10/chartex"
xmlns:cx5="http://schemas.microsoft.com/office/drawing/2016/5/11/chartex"
xmlns:cx6="http://schemas.microsoft.com/office/drawing/2016/5/12/chartex"
xmlns:cx7="http://schemas.microsoft.com/office/drawing/2016/5/13/chartex"
xmlns:cx8="http://schemas.microsoft.com/office/drawing/2016/5/14/chartex"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:aink="http://schemas.microsoft.com/office/drawing/2016/ink"
xmlns:am3d="http://schemas.microsoft.com/office/drawing/2017/model3d"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math"
xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:wp14="http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing"
xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing"
xmlns:w10="urn:schemas-microsoft-com:office:word"
xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"
xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml"
xmlns:w15="http://schemas.microsoft.com/office/word/2012/wordml"
xmlns:w16cex="http://schemas.microsoft.com/office/word/2018/wordml/cex"
xmlns:w16cid="http://schemas.microsoft.com/office/word/2016/wordml/cid"
xmlns:w16="http://schemas.microsoft.com/office/word/2018/wordml"
xmlns:w16se="http://schemas.microsoft.com/office/word/2015/wordml/symex"
xmlns:wpg="http://schemas.microsoft.com/office/word/2010/wordprocessingGroup"
xmlns:wpi="http://schemas.microsoft.com/office/word/2010/wordprocessingInk"
xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml"
xmlns:wps="http://schemas.microsoft.com/office/word/2010/wordprocessingShape" mc:Ignorable="w14 w15 w16se w16cid w16 w16cex wp14">
<w:abstractNum w:abstractNumId="0" w15:restartNumberingAfterBreak="0">
<w:nsid w:val="19E524B8"/>
<w:multiLevelType w:val="hybridMultilevel"/>
<w:tmpl w:val="C5D63304"/>
<w:lvl w:ilvl="0" w:tplc="931883B6">
<w:start w:val="1"/>
<w:numFmt w:val="decimal"/>
<w:lvlText w:val="%1."/>
<w:lvlJc w:val="left"/>
<w:pPr>
<w:ind w:left="420" w:firstLine="147"/>
</w:pPr>
<w:rPr>
<w:rFonts w:hint="eastAsia"/>
</w:rPr>
</w:lvl>
<w:lvl w:ilvl="1" w:tplc="04090017" w:tentative="1">
<w:start w:val="1"/>
<w:numFmt w:val="aiueoFullWidth"/>
<w:lvlText w:val="(%2)"/>
<w:lvlJc w:val="left"/>
<w:pPr>
<w:ind w:left="840" w:hanging="420"/>
</w:pPr>
</w:lvl>
<w:lvl w:ilvl="2" w:tplc="04090011" w:tentative="1">
<w:start w:val="1"/>
<w:numFmt w:val="decimalEnclosedCircle"/>
<w:lvlText w:val="%3"/>
<w:lvlJc w:val="left"/>
<w:pPr>
<w:ind w:left="1260" w:hanging="420"/>
</w:pPr>
</w:lvl>
<w:lvl w:ilvl="3" w:tplc="0409000F" w:tentative="1">
<w:start w:val="1"/>
<w:numFmt w:val="decimal"/>
<w:lvlText w:val="%4."/>
<w:lvlJc w:val="left"/>
<w:pPr>
<w:ind w:left="1680" w:hanging="420"/>
</w:pPr>
</w:lvl>
<w:lvl w:ilvl="4" w:tplc="04090017" w:tentative="1">
<w:start w:val="1"/>
<w:numFmt w:val="aiueoFullWidth"/>
<w:lvlText w:val="(%5)"/>
<w:lvlJc w:val="left"/>
<w:pPr>
<w:ind w:left="2100" w:hanging="420"/>
</w:pPr>
</w:lvl>
<w:lvl w:ilvl="5" w:tplc="04090011" w:tentative="1">
<w:start w:val="1"/>
<w:numFmt w:val="decimalEnclosedCircle"/>
<w:lvlText w:val="%6"/>
<w:lvlJc w:val="left"/>
<w:pPr>
<w:ind w:left="2520" w:hanging="420"/>
</w:pPr>
</w:lvl>
<w:lvl w:ilvl="6" w:tplc="0409000F" w:tentative="1">
<w:start w:val="1"/>
<w:numFmt w:val="decimal"/>
<w:lvlText w:val="%7."/>
<w:lvlJc w:val="left"/>
<w:pPr>
<w:ind w:left="2940" w:hanging="420"/>
</w:pPr>
</w:lvl>
<w:lvl w:ilvl="7" w:tplc="04090017" w:tentative="1">
<w:start w:val="1"/>
<w:numFmt w:val="aiueoFullWidth"/>
<w:lvlText w:val="(%8)"/>
<w:lvlJc w:val="left"/>
<w:pPr>
<w:ind w:left="3360" w:hanging="420"/>
</w:pPr>
</w:lvl>
<w:lvl w:ilvl="8" w:tplc="04090011" w:tentative="1">
<w:start w:val="1"/>
<w:numFmt w:val="decimalEnclosedCircle"/>
<w:lvlText w:val="%9"/>
<w:lvlJc w:val="left"/>
<w:pPr>
<w:ind w:left="3780" w:hanging="420"/>
</w:pPr>
</w:lvl>
</w:abstractNum>
<w:abstractNum w:abstractNumId="1" w15:restartNumberingAfterBreak="0">
<w:nsid w:val="1F6A6087"/>
<w:multiLevelType w:val="multilevel"/>
<w:tmpl w:val="EB1E8FC8"/>
<w:lvl w:ilvl="0">
<w:start w:val="1"/>
<w:numFmt w:val="decimal"/>
<w:lvlText w:val="%1."/>
<w:lvlJc w:val="left"/>
<w:pPr>
<w:ind w:left="420" w:hanging="420"/>
</w:pPr>
</w:lvl>
<w:lvl w:ilvl="1">
<w:start w:val="1"/>
<w:numFmt w:val="aiueoFullWidth"/>
<w:lvlText w:val="(%2)"/>
<w:lvlJc w:val="left"/>
<w:pPr>
<w:ind w:left="840" w:hanging="420"/>
</w:pPr>
</w:lvl>
<w:lvl w:ilvl="2">
<w:start w:val="1"/>
<w:numFmt w:val="decimalEnclosedCircle"/>
<w:lvlText w:val="%3"/>
<w:lvlJc w:val="left"/>
<w:pPr>
<w:ind w:left="1260" w:hanging="420"/>
</w:pPr>
</w:lvl>
<w:lvl w:ilvl="3">
<w:start w:val="1"/>
<w:numFmt w:val="decimal"/>
<w:lvlText w:val="%4."/>
<w:lvlJc w:val="left"/>
<w:pPr>
<w:ind w:left="1680" w:hanging="420"/>
</w:pPr>
</w:lvl>
<w:lvl w:ilvl="4">
<w:start w:val="1"/>
<w:numFmt w:val="aiueoFullWidth"/>
<w:lvlText w:val="(%5)"/>
<w:lvlJc w:val="left"/>
<w:pPr>
<w:ind w:left="2100" w:hanging="420"/>
</w:pPr>
</w:lvl>
<w:lvl w:ilvl="5">
<w:start w:val="1"/>
<w:numFmt w:val="decimalEnclosedCircle"/>
<w:lvlText w:val="%6"/>
<w:lvlJc w:val="left"/>
<w:pPr>
<w:ind w:left="2520" w:hanging="420"/>
</w:pPr>
</w:lvl>
<w:lvl w:ilvl="6">
<w:start w:val="1"/>
<w:numFmt w:val="decimal"/>
<w:lvlText w:val="%7."/>
<w:lvlJc w:val="left"/>
<w:pPr>
<w:ind w:left="2940" w:hanging="420"/>
</w:pPr>
</w:lvl>
<w:lvl w:ilvl="7">
<w:start w:val="1"/>
<w:numFmt w:val="aiueoFullWidth"/>
<w:lvlText w:val="(%8)"/>
<w:lvlJc w:val="left"/>
<w:pPr>
<w:ind w:left="3360" w:hanging="420"/>
</w:pPr>
</w:lvl>
<w:lvl w:ilvl="8">
<w:start w:val="1"/>
<w:numFmt w:val="decimalEnclosedCircle"/>
<w:lvlText w:val="%9"/>
<w:lvlJc w:val="left"/>
<w:pPr>
<w:ind w:left="3780" w:hanging="420"/>
</w:pPr>
</w:lvl>
</w:abstractNum>
<w:abstractNum w:abstractNumId="2" w15:restartNumberingAfterBreak="0">
<w:nsid w:val="53180B0B"/>
<w:multiLevelType w:val="hybridMultilevel"/>
<w:tmpl w:val="C5D63304"/>
<w:lvl w:ilvl="0" w:tplc="931883B6">
<w:start w:val="1"/>
<w:numFmt w:val="decimal"/>
<w:lvlText w:val="%1."/>
<w:lvlJc w:val="left"/>
<w:pPr>
<w:ind w:left="420" w:firstLine="147"/>
</w:pPr>
<w:rPr>
<w:rFonts w:hint="eastAsia"/>
</w:rPr>
</w:lvl>
<w:lvl w:ilvl="1" w:tplc="04090017" w:tentative="1">
<w:start w:val="1"/>
<w:numFmt w:val="aiueoFullWidth"/>
<w:lvlText w:val="(%2)"/>
<w:lvlJc w:val="left"/>
<w:pPr>
<w:ind w:left="840" w:hanging="420"/>
</w:pPr>
</w:lvl>
<w:lvl w:ilvl="2" w:tplc="04090011" w:tentative="1">
<w:start w:val="1"/>
<w:numFmt w:val="decimalEnclosedCircle"/>
<w:lvlText w:val="%3"/>
<w:lvlJc w:val="left"/>
<w:pPr>
<w:ind w:left="1260" w:hanging="420"/>
</w:pPr>
</w:lvl>
<w:lvl w:ilvl="3" w:tplc="0409000F" w:tentative="1">
<w:start w:val="1"/>
<w:numFmt w:val="decimal"/>
<w:lvlText w:val="%4."/>
<w:lvlJc w:val="left"/>
<w:pPr>
<w:ind w:left="1680" w:hanging="420"/>
</w:pPr>
</w:lvl>
<w:lvl w:ilvl="4" w:tplc="04090017" w:tentative="1">
<w:start w:val="1"/>
<w:numFmt w:val="aiueoFullWidth"/>
<w:lvlText w:val="(%5)"/>
<w:lvlJc w:val="left"/>
<w:pPr>
<w:ind w:left="2100" w:hanging="420"/>
</w:pPr>
</w:lvl>
<w:lvl w:ilvl="5" w:tplc="04090011" w:tentative="1">
<w:start w:val="1"/>
<w:numFmt w:val="decimalEnclosedCircle"/>
<w:lvlText w:val="%6"/>
<w:lvlJc w:val="left"/>
<w:pPr>
<w:ind w:left="2520" w:hanging="420"/>
</w:pPr>
</w:lvl>
<w:lvl w:ilvl="6" w:tplc="0409000F" w:tentative="1">
<w:start w:val="1"/>
<w:numFmt w:val="decimal"/>
<w:lvlText w:val="%7."/>
<w:lvlJc w:val="left"/>
<w:pPr>
<w:ind w:left="2940" w:hanging="420"/>
</w:pPr>
</w:lvl>
<w:lvl w:ilvl="7" w:tplc="04090017" w:tentative="1">
<w:start w:val="1"/>
<w:numFmt w:val="aiueoFullWidth"/>
<w:lvlText w:val="(%8)"/>
<w:lvlJc w:val="left"/>
<w:pPr>
<w:ind w:left="3360" w:hanging="420"/>
</w:pPr>
</w:lvl>
<w:lvl w:ilvl="8" w:tplc="04090011" w:tentative="1">
<w:start w:val="1"/>
<w:numFmt w:val="decimalEnclosedCircle"/>
<w:lvlText w:val="%9"/>
<w:lvlJc w:val="left"/>
<w:pPr>
<w:ind w:left="3780" w:hanging="420"/>
</w:pPr>
</w:lvl>
</w:abstractNum>
<w:num w:numId="1">
<w:abstractNumId w:val="0"/>
</w:num>
<w:num w:numId="2">
<w:abstractNumId w:val="1"/>
</w:num>
<w:num w:numId="3">
<w:abstractNumId w:val="1"/>
<w:lvlOverride w:ilvl="0">
<w:lvl w:ilvl="0">
<w:start w:val="10"/>
<w:numFmt w:val="decimal"/>
<w:lvlText w:val="override %1."/>
<w:lvlJc w:val="left"/>
</w:lvl>
</w:lvlOverride>
</w:num>
</w:numbering>

Binary file not shown.

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<w:settings xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml" xmlns:w15="http://schemas.microsoft.com/office/word/2012/wordml" xmlns:w16cex="http://schemas.microsoft.com/office/word/2018/wordml/cex" xmlns:w16cid="http://schemas.microsoft.com/office/word/2016/wordml/cid" xmlns:w16="http://schemas.microsoft.com/office/word/2018/wordml" xmlns:w16se="http://schemas.microsoft.com/office/word/2015/wordml/symex" xmlns:sl="http://schemas.openxmlformats.org/schemaLibrary/2006/main" mc:Ignorable="w14 w15 w16se w16cid w16 w16cex"><w:zoom w:percent="130"/><w:bordersDoNotSurroundHeader/><w:bordersDoNotSurroundFooter/><w:proofState w:spelling="clean" w:grammar="clean"/><w:defaultTabStop w:val="840"/><w:displayHorizontalDrawingGridEvery w:val="0"/><w:displayVerticalDrawingGridEvery w:val="2"/><w:characterSpacingControl w:val="compressPunctuation"/><w:compat><w:spaceForUL/><w:balanceSingleByteDoubleByteWidth/><w:doNotLeaveBackslashAlone/><w:ulTrailSpace/><w:doNotExpandShiftReturn/><w:adjustLineHeightInTable/><w:useFELayout/><w:compatSetting w:name="compatibilityMode" w:uri="http://schemas.microsoft.com/office/word" w:val="15"/><w:compatSetting w:name="overrideTableStyleFontSizeAndJustification" w:uri="http://schemas.microsoft.com/office/word" w:val="1"/><w:compatSetting w:name="enableOpenTypeFeatures" w:uri="http://schemas.microsoft.com/office/word" w:val="1"/><w:compatSetting w:name="doNotFlipMirrorIndents" w:uri="http://schemas.microsoft.com/office/word" w:val="1"/><w:compatSetting w:name="differentiateMultirowTableHeaders" w:uri="http://schemas.microsoft.com/office/word" w:val="1"/><w:compatSetting w:name="useWord2013TrackBottomHyphenation" w:uri="http://schemas.microsoft.com/office/word" w:val="0"/></w:compat><w:rsids><w:rsidRoot w:val="007A670F"/><w:rsid w:val="00723E87"/><w:rsid w:val="00733037"/><w:rsid w:val="007A670F"/></w:rsids><m:mathPr><m:mathFont m:val="Cambria Math"/><m:brkBin m:val="before"/><m:brkBinSub m:val="--"/><m:smallFrac m:val="0"/><m:dispDef/><m:lMargin m:val="0"/><m:rMargin m:val="0"/><m:defJc m:val="centerGroup"/><m:wrapIndent m:val="1440"/><m:intLim m:val="subSup"/><m:naryLim m:val="undOvr"/></m:mathPr><w:themeFontLang w:val="en-US" w:eastAsia="ja-JP"/><w:clrSchemeMapping w:bg1="light1" w:t1="dark1" w:bg2="light2" w:t2="dark2" w:accent1="accent1" w:accent2="accent2" w:accent3="accent3" w:accent4="accent4" w:accent5="accent5" w:accent6="accent6" w:hyperlink="hyperlink" w:followedHyperlink="followedHyperlink"/><w:decimalSymbol w:val="."/><w:listSeparator w:val=","/><w14:docId w14:val="0111CB12"/><w15:chartTrackingRefBased/><w15:docId w15:val="{10BE20B6-DCA9-7441-B548-606D7D9EDD92}"/></w:settings>

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<w:webSettings xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml" xmlns:w15="http://schemas.microsoft.com/office/word/2012/wordml" xmlns:w16cex="http://schemas.microsoft.com/office/word/2018/wordml/cex" xmlns:w16cid="http://schemas.microsoft.com/office/word/2016/wordml/cid" xmlns:w16="http://schemas.microsoft.com/office/word/2018/wordml" xmlns:w16se="http://schemas.microsoft.com/office/word/2015/wordml/symex" mc:Ignorable="w14 w15 w16se w16cid w16 w16cex"><w:optimizeForBrowser/><w:allowPNG/></w:webSettings>