Fixed #2145 FLA Export - missing frames, cliping layers order, nullpointer, empty sound layers

This commit is contained in:
Jindra Petřík
2023-12-10 16:12:21 +01:00
parent 1e1d30935f
commit daff3f7aea
15 changed files with 883 additions and 19 deletions

View File

@@ -74,6 +74,7 @@ All notable changes to this project will be documented in this file.
- [#2138] FLA Export - Missing morphshapes (incorrect holes calculation)
- [#2138] FLA Export - Mask layer was visible when did not contain a masked layer
- FLA Export - frame numbering problem
- [#2145] FLA Export - missing frames, cliping layers order, nullpointer, empty sound layers
### Changed
- [#2120] Exported assets no longer take names from assigned classes if there is more than 1 assigned class
@@ -3335,6 +3336,7 @@ Major version of SWF to XML export changed to 2.
[#2124]: https://www.free-decompiler.com/flash/issues/2124
[#2134]: https://www.free-decompiler.com/flash/issues/2134
[#2132]: https://www.free-decompiler.com/flash/issues/2132
[#2138]: https://www.free-decompiler.com/flash/issues/2138
[#2021]: https://www.free-decompiler.com/flash/issues/2021
[#2000]: https://www.free-decompiler.com/flash/issues/2000
[#2116]: https://www.free-decompiler.com/flash/issues/2116
@@ -3349,7 +3351,7 @@ Major version of SWF to XML export changed to 2.
[#1194]: https://www.free-decompiler.com/flash/issues/1194
[#2136]: https://www.free-decompiler.com/flash/issues/2136
[#2139]: https://www.free-decompiler.com/flash/issues/2139
[#2138]: https://www.free-decompiler.com/flash/issues/2138
[#2145]: https://www.free-decompiler.com/flash/issues/2145
[#2120]: https://www.free-decompiler.com/flash/issues/2120
[#1130]: https://www.free-decompiler.com/flash/issues/1130
[#1220]: https://www.free-decompiler.com/flash/issues/1220

View File

@@ -174,7 +174,6 @@ import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
@@ -237,7 +236,7 @@ public class XFLConverter {
/**
* Adds "(depth xxx)" to layer name
*/
private final boolean DEBUG_EXPORT_LAYER_DEPTHS = true;
private final boolean DEBUG_EXPORT_LAYER_DEPTHS = false;
private static final DecimalFormat EDGE_DECIMAL_FORMAT = new DecimalFormat("0.#", DecimalFormatSymbols.getInstance(Locale.ENGLISH));
@@ -254,12 +253,16 @@ public class XFLConverter {
this.progressListener = progressListener;
}
public String getStatusString() {
return String.join(", ", statuses);
}
private void update() {
if (progressListener == null) {
return;
}
String status = String.join(", ", statuses);
progressListener.status(status);
progressListener.status(getStatusString());
}
public void pushStatus(String status) {
@@ -1677,7 +1680,7 @@ public class XFLConverter {
convertMedia(swf, characterVariables, characterClasses, nonLibraryShapes, backgroundColor, tags, characters, files, datfiles, flaVersion, writer, statusStack);
statusStack.popStatus();
statusStack.pushStatus("symbols");
convertSymbols(swf, characterVariables, characterClasses, characterScriptPacks, nonLibraryShapes, backgroundColor, tags, characters, files, datfiles, flaVersion, writer, placeToMaskedSymbol, multiUsageMorphShapes, statusStack);
convertSymbols(swf, characterVariables, characterClasses, characterScriptPacks, nonLibraryShapes, backgroundColor, tags, characters, files, datfiles, flaVersion, writer, placeToMaskedSymbol, multiUsageMorphShapes, statusStack);
statusStack.popStatus();
}
@@ -2545,7 +2548,7 @@ public class XFLConverter {
}
private static void convertFrames(Scene scene, SWF swf, List<Integer> onlyFrames, int startFrame, int endFrame, String prevStr, String afterStr, List<Integer> nonLibraryShapes, ReadOnlyTagList tags, ReadOnlyTagList timelineTags, HashMap<Integer, CharacterTag> characters, int depth, FLAVersion flaVersion, HashMap<String, byte[]> files, XFLXmlWriter writer, List<Integer> multiUsageMorphShapes, StatusStack statusStack) throws XMLStreamException {
boolean lastIn = true;
boolean lastIn = false;
XFLXmlWriter writer2 = new XFLXmlWriter();
prevStr += "<frames>";
int frame = -1;
@@ -2691,12 +2694,17 @@ public class XFLConverter {
frame++;
if (frame < startFrame || frame > endFrame || (onlyFrames != null && !onlyFrames.contains(frame))) {
if (lastIn) {
if (!lastElements.isEmpty()) {
convertFrame(scene, false, null, null, frame - duration, duration, "", lastElements, files, writer2, null);
duration = 1;
} else {
duration++;
}
lastElements = "";
lastIn = false;
lastCharacter = null;
lastMatrix = null;
}
if (frame == 0) {
} else if (frame == 0) {
duration = 1;
} else {
duration++;
@@ -2800,9 +2808,11 @@ public class XFLConverter {
}
}
if (!lastElements.isEmpty() || writer2.length() > 0) {
frame++;
convertFrame(scene, false, null, null, frame - duration, duration, "", lastElements, files, writer2, null);
if ((!lastElements.isEmpty() || writer2.length() > 0) && lastIn) {
if (frame >= startFrame && frame <= endFrame && (onlyFrames == null || onlyFrames.contains(frame))) {
frame++;
convertFrame(scene, false, null, null, frame - duration, duration, "", lastElements, files, writer2, null);
}
}
afterStr = "</frames>" + afterStr;
@@ -3211,6 +3221,13 @@ public class XFLConverter {
}
for (int i = 0; i < soundStreamRanges.size(); i++) {
if (soundStreamRanges.get(i).startFrame < scene.startFrame) {
continue;
}
if (soundStreamRanges.get(i).startFrame >= scene.startFrame + frame) {
continue;
}
writer.writeStartElement("DOMLayer", new String[]{"name", "Sound Layer " + (soundLayerIndex++), "color", randomOutlineColor()});
writer.writeStartElement("frames");
@@ -3303,6 +3320,8 @@ public class XFLConverter {
) throws XMLStreamException {
XFLXmlWriter symbolStr = new XFLXmlWriter();
extractMultilevelClips(timelineTags, writer, swf, nextClipId, nonLibraryShapes, backgroundColor, characters, flaVersion, files, placeToMaskedSymbol, multiUsageMorphShapes, statusStack);
if (nextClipId.getVal() < 0) {
nextClipId.setVal(swf.getNextCharacterId());
} else {
@@ -3317,7 +3336,7 @@ public class XFLConverter {
"name", generateMaskedSymbolName(objectId),
"lastModified", Long.toString(getTimestamp(swf))});
symbolStr.writeAttribute("symbolType", "graphic");
convertTimelines(swf, swf.getAbcIndex(), objectId, "", nonLibraryShapes, backgroundColor, timelineTags, timelineTags, characters, generateMaskedSymbolName(objectId), flaVersion, files, symbolStr, null, placeToMaskedSymbol, multiUsageMorphShapes, statusStack);
symbolStr.writeEndElement(); // DOMSymbolItem
@@ -3334,7 +3353,6 @@ public class XFLConverter {
}
writer.writeEndElement();
extractMultilevelClips(timelineTags, writer, swf, nextClipId, nonLibraryShapes, backgroundColor, characters, flaVersion, files, placeToMaskedSymbol, multiUsageMorphShapes, statusStack);
}
private String generateMaskedSymbolName(int symbolId) {
@@ -3754,7 +3772,7 @@ public class XFLConverter {
private void convertTimelines(SWF swf, AbcIndexing abcIndex, int spriteId, String linkageIdentifier, List<Integer> nonLibraryShapes, String backgroundColor, ReadOnlyTagList tags, ReadOnlyTagList timelineTags, HashMap<Integer, CharacterTag> characters, String spriteName, FLAVersion flaVersion, HashMap<String, byte[]> files, XFLXmlWriter writer, ScriptPack scriptPack, Map<PlaceObjectTypeTag, MultiLevelClip> placeToMaskedSymbol, List<Integer> multiUsageMorphShapes, StatusStack statusStack) throws XMLStreamException {
List<String> classNames = new ArrayList<>();
List<String> classNames = new ArrayList<>();
//Searches for Object.registerClass("linkageIdentifier",mypkg.MyClass);
ActionTreeOperation getRegisterClassOp = new ActionTreeOperation() {
@Override
@@ -4108,7 +4126,7 @@ public class XFLConverter {
int parentIndex = index;
index++;
for (int fx = clipFrame; fx <= lastFrame; fx++) {
for (int nd = po.getClipDepth() - 1; nd > po.getDepth(); nd--) {
if (!depthToFramesList.containsKey(nd) || !depthToFramesList.get(nd).contains(fx)) {
@@ -4123,9 +4141,19 @@ public class XFLConverter {
continue;
}
handledClips.add(po2);
for (int ndx = po.getClipDepth() - 1; ndx > po2.getClipDepth(); ndx--) {
boolean nonEmpty = writeLayer(scene, swf, index, depthToFramesList.get(ndx), ndx, clipFrame, lastFrame, parentIndex, writer, nonLibraryShapes, tags, sceneTimelineTags, characters, flaVersion, files, multiUsageMorphShapes, statusStack);
for (int i = clipFrame; i <= lastFrame; i++) {
depthToFramesList.get(ndx).remove((Integer) i);
}
if (nonEmpty) {
index++;
}
}
MultiLevelClip mlc = placeToMaskedSymbol.get(po2);
writer.writeStartElement("DOMLayer", new String[]{
"name", "Layer " + (index + 1) + (DEBUG_EXPORT_LAYER_DEPTHS ? " (depth " + po2.getDepth() + " clipdepth:" + po2.getClipDepth() + " maskedid:" + mlc.symbol + ")" : ""),
"color", randomOutlineColor(),
@@ -4190,7 +4218,7 @@ public class XFLConverter {
}
}
}
for (int nd = po.getClipDepth() - 1; nd > po.getDepth(); nd--) {
boolean nonEmpty = writeLayer(scene, swf, index, depthToFramesList.get(nd), nd, clipFrame, lastFrame, parentIndex, writer, nonLibraryShapes, tags, sceneTimelineTags, characters, flaVersion, files, multiUsageMorphShapes, statusStack);
for (int i = clipFrame; i <= lastFrame; i++) {

View File

@@ -0,0 +1,231 @@
<DOMDocument xmlns="http://ns.adobe.com/xfl/2008/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" currentTimeline="1" xflVersion="2.2" creatorInfo="JPEXS Free Flash Decompiler" platform="Windows" versionInfo="Saved by JPEXS Free Flash Decompiler v.0.0.0" majorVersion="0.0.0" buildNumber="" nextSceneIdentifier="2" playOptionsPlayLoop="false" playOptionsPlayPages="false" playOptionsPlayFrameActions="false" autoSaveHasPrompted="true" backgroundColor="#ffffff" frameRate="24">
<symbols>
<Include href="Symbol 4.xml" itemIcon="1" loadImmediate="false" lastModified="1699215381"/>
<Include href="Symbol 5.xml" itemIcon="1" loadImmediate="false" lastModified="1699215381"/>
<Include href="Symbol 6.xml" itemIcon="1" loadImmediate="false" lastModified="1699215381"/>
<Include href="Symbol 7.xml" itemIcon="1" loadImmediate="false" lastModified="1699215381"/>
<Include href="Symbol 8.xml" itemIcon="1" loadImmediate="false" lastModified="1699215381"/>
<Include href="Symbol 10.xml" itemIcon="1" loadImmediate="false" lastModified="1699215381"/>
<Include href="Symbol 13.xml" itemIcon="1" loadImmediate="false" lastModified="1699215381"/>
<Include href="MaskedSymbol 14.xml" itemIcon="1" loadImmediate="false" lastModified="1699215381"/>
<Include href="MaskedSymbol 15.xml" itemIcon="1" loadImmediate="false" lastModified="1699215381"/>
<Include href="Symbol 9.xml" itemIcon="1" loadImmediate="false" lastModified="1699215381"/>
</symbols>
<timelines>
<DOMTimeline name="Scene 1">
<layers>
<DOMLayer name="Layer 1 (depth 15)" color="#ca8e4f">
<frames>
<DOMFrame index="0" duration="12" keyMode="9728">
<elements>
<DOMShape isFloating="true">
<fills>
<FillStyle index="1">
<SolidColor color="#999999"/>
</FillStyle>
</fills>
<strokes/>
<edges>
<Edge fillStyle0="0" fillStyle1="1" strokeStyle="0" edges="! 1819 5421| 4078 5421| 4078 7680| 1819 7680| 1819 5421"/>
</edges>
</DOMShape>
</elements>
</DOMFrame>
</frames>
</DOMLayer>
<DOMLayer name="Layer 2 (depth 2 clipdepth:14)" color="#88f25d" layerType="mask" locked="true">
<frames>
<DOMFrame index="0" duration="12" keyMode="9728">
<elements>
<DOMShape isFloating="true">
<fills>
<FillStyle index="1">
<SolidColor color="#000000"/>
</FillStyle>
</fills>
<strokes/>
<edges>
<Edge fillStyle0="0" fillStyle1="1" strokeStyle="0" edges="! 7618 6596[ 6861 7349 5411 7105[ 3961 6860 3100 6214[ 2239 5571 2239 4660[ 2239 3749 3100 3103[ 3961 2460 5517 2151[ 7072 1841 7738 2665[ 8404 3488 8390 4665[ 8375 5842 7618 6596"/>
</edges>
</DOMShape>
</elements>
</DOMFrame>
</frames>
</DOMLayer>
<DOMLayer name="Layer 3 (depth 9 clipdepth:11 maskedid:15)" color="#a64f9d" parentLayerIndex="1" locked="true">
<frames>
<DOMFrame index="0" duration="12" keyMode="9728">
<elements>
<DOMSymbolInstance libraryItemName="MaskedSymbol 15" symbolType="graphic" loop="loop">
<matrix>
<Matrix tx="0.0" ty="0.0"/>
</matrix>
<transformationPoint>
<Point/>
</transformationPoint>
</DOMSymbolInstance>
</elements>
</DOMFrame>
</frames>
</DOMLayer>
<DOMLayer name="Layer 4 (depth 5 clipdepth:7 maskedid:14)" color="#5976c3" parentLayerIndex="1" locked="true">
<frames>
<DOMFrame index="0" duration="12" keyMode="9728">
<elements>
<DOMSymbolInstance libraryItemName="MaskedSymbol 14" symbolType="graphic" loop="loop">
<matrix>
<Matrix tx="0.0" ty="0.0"/>
</matrix>
<transformationPoint>
<Point/>
</transformationPoint>
</DOMSymbolInstance>
</elements>
</DOMFrame>
</frames>
</DOMLayer>
<DOMLayer name="Layer 5 (depth 13)" color="#bec4d2" parentLayerIndex="1" locked="true">
<frames>
<DOMFrame index="0" duration="12" keyMode="9728">
<elements>
<DOMShape isFloating="true">
<fills>
<FillStyle index="1">
<SolidColor color="#99ff66"/>
</FillStyle>
</fills>
<strokes/>
<edges>
<Edge fillStyle0="0" fillStyle1="1" strokeStyle="0" edges="! 5499 2520| 5499 4040| 2579 4040| 2579 2520| 5499 2520"/>
</edges>
</DOMShape>
</elements>
</DOMFrame>
</frames>
</DOMLayer>
<DOMLayer name="Layer 6 (depth 12)" color="#f5d8ab" parentLayerIndex="1" locked="true">
<frames>
<DOMFrame index="0" keyMode="9728">
<elements>
<DOMSymbolInstance libraryItemName="Symbol 10" symbolType="graphic" loop="loop">
<matrix>
<Matrix tx="149.95" ty="100.0"/>
</matrix>
<transformationPoint>
<Point/>
</transformationPoint>
</DOMSymbolInstance>
</elements>
</DOMFrame>
<DOMFrame index="1" duration="11" keyMode="9728">
<elements>
<DOMSymbolInstance libraryItemName="Symbol 10" symbolType="graphic" loop="loop">
<matrix>
<Matrix tx="128.95" ty="100.0"/>
</matrix>
<transformationPoint>
<Point/>
</transformationPoint>
</DOMSymbolInstance>
</elements>
</DOMFrame>
</frames>
</DOMLayer>
<DOMLayer name="Layer 7 (depth 8)" color="#a9bff3" parentLayerIndex="1" locked="true">
<frames>
<DOMFrame index="0" keyMode="9728">
<elements>
<DOMSymbolInstance libraryItemName="Symbol 7" symbolType="graphic" loop="loop">
<matrix>
<Matrix tx="149.95" ty="100.0"/>
</matrix>
<transformationPoint>
<Point/>
</transformationPoint>
</DOMSymbolInstance>
</elements>
</DOMFrame>
<DOMFrame index="1" duration="11" keyMode="9728">
<elements>
<DOMSymbolInstance libraryItemName="Symbol 7" symbolType="graphic" loop="loop">
<matrix>
<Matrix tx="128.95" ty="100.0"/>
</matrix>
<transformationPoint>
<Point/>
</transformationPoint>
</DOMSymbolInstance>
</elements>
</DOMFrame>
</frames>
</DOMLayer>
<DOMLayer name="Layer 8 (depth 4)" color="#c894fc" parentLayerIndex="1" locked="true">
<frames>
<DOMFrame index="0" keyMode="9728">
<elements>
<DOMSymbolInstance libraryItemName="Symbol 4" symbolType="graphic" loop="loop">
<matrix>
<Matrix tx="149.95" ty="100.0"/>
</matrix>
<transformationPoint>
<Point/>
</transformationPoint>
</DOMSymbolInstance>
</elements>
</DOMFrame>
<DOMFrame index="1" duration="11" keyMode="9728">
<elements>
<DOMSymbolInstance libraryItemName="Symbol 4" symbolType="graphic" loop="loop">
<matrix>
<Matrix tx="128.95" ty="100.0"/>
</matrix>
<transformationPoint>
<Point/>
</transformationPoint>
</DOMSymbolInstance>
</elements>
</DOMFrame>
</frames>
</DOMLayer>
<DOMLayer name="Layer 9 (depth 3)" color="#894dbe" parentLayerIndex="1" locked="true">
<frames>
<DOMFrame index="0" duration="12" keyMode="9728">
<elements>
<DOMShape isFloating="true">
<fills>
<FillStyle index="1">
<SolidColor color="#99ffff"/>
</FillStyle>
</fills>
<strokes/>
<edges>
<Edge fillStyle0="0" fillStyle1="1" strokeStyle="0" edges="! 8049 5660| 8049 6890| 6819 6890| 6819 5660| 8049 5660"/>
</edges>
</DOMShape>
</elements>
</DOMFrame>
</frames>
</DOMLayer>
<DOMLayer name="Layer 10 (depth 1)" color="#f619b9" current="true" isSelected="true">
<frames>
<DOMFrame index="0" duration="12" keyMode="9728">
<elements>
<DOMShape isFloating="true">
<fills>
<FillStyle index="1">
<SolidColor color="#0000ff"/>
</FillStyle>
</fills>
<strokes/>
<edges>
<Edge fillStyle0="0" fillStyle1="1" strokeStyle="0" edges="! 9319 2460| 9319 4640| 7139 4640| 7139 2460| 9319 2460"/>
</edges>
</DOMShape>
</elements>
</DOMFrame>
</frames>
</DOMLayer>
</layers>
</DOMTimeline>
</timelines>
</DOMDocument>

View File

@@ -0,0 +1,64 @@
<DOMSymbolItem xmlns="http://ns.adobe.com/xfl/2008/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="MaskedSymbol 14" lastModified="1699215381" symbolType="graphic">
<timeline>
<DOMTimeline name="MaskedSymbol 14">
<layers>
<DOMLayer name="Layer 1 (depth 5 clipdepth:7)" color="#b93cfd" layerType="mask" locked="true">
<frames>
<DOMFrame index="0" keyMode="9728">
<elements>
<DOMSymbolInstance libraryItemName="Symbol 5" symbolType="graphic" loop="loop">
<matrix>
<Matrix tx="149.95" ty="100.0"/>
</matrix>
<transformationPoint>
<Point/>
</transformationPoint>
</DOMSymbolInstance>
</elements>
</DOMFrame>
<DOMFrame index="1" duration="11" keyMode="9728">
<elements>
<DOMSymbolInstance libraryItemName="Symbol 5" symbolType="graphic" loop="loop">
<matrix>
<Matrix tx="128.95" ty="100.0"/>
</matrix>
<transformationPoint>
<Point/>
</transformationPoint>
</DOMSymbolInstance>
</elements>
</DOMFrame>
</frames>
</DOMLayer>
<DOMLayer name="Layer 2 (depth 6)" color="#9b42ce" parentLayerIndex="0" locked="true">
<frames>
<DOMFrame index="0" keyMode="9728">
<elements>
<DOMSymbolInstance libraryItemName="Symbol 6" symbolType="graphic" loop="loop">
<matrix>
<Matrix tx="149.95" ty="100.0"/>
</matrix>
<transformationPoint>
<Point/>
</transformationPoint>
</DOMSymbolInstance>
</elements>
</DOMFrame>
<DOMFrame index="1" duration="11" keyMode="9728">
<elements>
<DOMSymbolInstance libraryItemName="Symbol 6" symbolType="graphic" loop="loop">
<matrix>
<Matrix tx="128.95" ty="100.0"/>
</matrix>
<transformationPoint>
<Point/>
</transformationPoint>
</DOMSymbolInstance>
</elements>
</DOMFrame>
</frames>
</DOMLayer>
</layers>
</DOMTimeline>
</timeline>
</DOMSymbolItem>

View File

@@ -0,0 +1,64 @@
<DOMSymbolItem xmlns="http://ns.adobe.com/xfl/2008/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="MaskedSymbol 15" lastModified="1699215381" symbolType="graphic">
<timeline>
<DOMTimeline name="MaskedSymbol 15">
<layers>
<DOMLayer name="Layer 1 (depth 9 clipdepth:11)" color="#d4a0a9" layerType="mask" locked="true">
<frames>
<DOMFrame index="0" keyMode="9728">
<elements>
<DOMSymbolInstance libraryItemName="Symbol 8" symbolType="graphic" loop="loop">
<matrix>
<Matrix tx="149.95" ty="100.0"/>
</matrix>
<transformationPoint>
<Point/>
</transformationPoint>
</DOMSymbolInstance>
</elements>
</DOMFrame>
<DOMFrame index="1" duration="11" keyMode="9728">
<elements>
<DOMSymbolInstance libraryItemName="Symbol 8" symbolType="graphic" loop="loop">
<matrix>
<Matrix tx="128.95" ty="100.0"/>
</matrix>
<transformationPoint>
<Point/>
</transformationPoint>
</DOMSymbolInstance>
</elements>
</DOMFrame>
</frames>
</DOMLayer>
<DOMLayer name="Layer 2 (depth 10)" color="#9cd465" parentLayerIndex="0" locked="true">
<frames>
<DOMFrame index="0" keyMode="9728">
<elements>
<DOMSymbolInstance libraryItemName="Symbol 9" symbolType="graphic" loop="loop">
<matrix>
<Matrix tx="149.95" ty="100.0"/>
</matrix>
<transformationPoint>
<Point/>
</transformationPoint>
</DOMSymbolInstance>
</elements>
</DOMFrame>
<DOMFrame index="1" duration="11" keyMode="9728">
<elements>
<DOMSymbolInstance libraryItemName="Symbol 9" symbolType="graphic" loop="loop">
<matrix>
<Matrix tx="128.95" ty="100.0"/>
</matrix>
<transformationPoint>
<Point/>
</transformationPoint>
</DOMSymbolInstance>
</elements>
</DOMFrame>
</frames>
</DOMLayer>
</layers>
</DOMTimeline>
</timeline>
</DOMSymbolItem>

View File

@@ -0,0 +1,27 @@
<DOMSymbolItem xmlns="http://ns.adobe.com/xfl/2008/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Symbol 10" lastModified="1699215381" symbolType="graphic">
<timeline>
<DOMTimeline name="Symbol 10" currentFrame="0">
<layers>
<DOMLayer name="Layer 1">
<frames>
<DOMFrame index="0" motionTweenScale="false" keyMode="8192">
<elements>
<DOMShape isFloating="true">
<fills>
<FillStyle index="1">
<SolidColor color="#9900ff"/>
</FillStyle>
</fills>
<strokes/>
<edges>
<Edge fillStyle0="0" fillStyle1="1" strokeStyle="0" edges="! 3860 -700| 3860 600| 1960 600| 1960 -700| 3860 -700"/>
</edges>
</DOMShape>
</elements>
</DOMFrame>
</frames>
</DOMLayer>
</layers>
</DOMTimeline>
</timeline>
</DOMSymbolItem>

View File

@@ -0,0 +1,32 @@
<DOMSymbolItem xmlns="http://ns.adobe.com/xfl/2008/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Symbol 13" lastModified="1699215381" symbolType="graphic">
<timeline>
<DOMTimeline name="Symbol 13" currentFrame="0">
<layers>
<DOMLayer name="Layer 1">
<frames>
<DOMFrame index="0" motionTweenScale="false" keyMode="8192">
<elements>
<DOMShape isFloating="true">
<fills>
<FillStyle index="1">
<SolidColor color="#ffff00"/>
</FillStyle>
<FillStyle index="2">
<SolidColor color="#ff00ff"/>
</FillStyle>
</fills>
<strokes/>
<edges>
<Edge fillStyle0="1" fillStyle1="0" strokeStyle="0" edges="! 1499 3822[ 1428 3745 1340 3674[ 901 3320 280 3320[ -341 3320 -781 3674[ -1220 4029 -1220 4530[ -1220 5031 -781 5385[ -341 5740 280 5740[ 898 5740 1335 5389"/>
<Edge fillStyle0="1" fillStyle1="2" strokeStyle="0" edges="! 1335 5389[ 1081 5085 1081 4687[ 1081 4197 1466 3850| 1499 3822"/>
<Edge fillStyle0="0" fillStyle1="2" strokeStyle="0" edges="! 1499 3822[ 1875 3503 2397 3503[ 2942 3503 3327 3850[ 3713 4197 3713 4687[ 3713 5177 3327 5524[ 2942 5871 2397 5871[ 1852 5871 1466 5524[ 1394 5459 1335 5389"/>
</edges>
</DOMShape>
</elements>
</DOMFrame>
</frames>
</DOMLayer>
</layers>
</DOMTimeline>
</timeline>
</DOMSymbolItem>

View File

@@ -0,0 +1,30 @@
<DOMSymbolItem xmlns="http://ns.adobe.com/xfl/2008/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Symbol 4" lastModified="1699215381" symbolType="graphic">
<timeline>
<DOMTimeline name="Symbol 4" currentFrame="0">
<layers>
<DOMLayer name="Layer 1">
<frames>
<DOMFrame index="0" motionTweenScale="false" keyMode="8192">
<elements>
<DOMShape isFloating="true">
<fills>
<FillStyle index="1">
<SolidColor color="#00ffff"/>
</FillStyle>
<FillStyle index="2">
<SolidColor color="#660000"/>
</FillStyle>
</fills>
<strokes/>
<edges>
<Edge fillStyle0="0" fillStyle1="1" strokeStyle="0" edges="! 5440 2420| 5440 4240| 2880 4240| 2880 2420| 5440 2420"/>
</edges>
</DOMShape>
</elements>
</DOMFrame>
</frames>
</DOMLayer>
</layers>
</DOMTimeline>
</timeline>
</DOMSymbolItem>

View File

@@ -0,0 +1,27 @@
<DOMSymbolItem xmlns="http://ns.adobe.com/xfl/2008/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Symbol 5" lastModified="1699215381" symbolType="graphic">
<timeline>
<DOMTimeline name="Symbol 5" currentFrame="0">
<layers>
<DOMLayer name="Layer 1">
<frames>
<DOMFrame index="0" motionTweenScale="false" keyMode="8192">
<elements>
<DOMShape isFloating="true">
<fills>
<FillStyle index="1">
<SolidColor color="#000000"/>
</FillStyle>
</fills>
<strokes/>
<edges>
<Edge fillStyle0="0" fillStyle1="1" strokeStyle="0" edges="! 3361 3708[ 2843 4420 2110 4420[ 1377 4420 858 3708[ 340 2997 340 1990[ 340 983 858 271[ 1377 -440 2110 -440[ 2843 -440 3361 271[ 3880 983 3880 1990[ 3880 2997 3361 3708"/>
</edges>
</DOMShape>
</elements>
</DOMFrame>
</frames>
</DOMLayer>
</layers>
</DOMTimeline>
</timeline>
</DOMSymbolItem>

View File

@@ -0,0 +1,32 @@
<DOMSymbolItem xmlns="http://ns.adobe.com/xfl/2008/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Symbol 6" lastModified="1699215381" symbolType="graphic">
<timeline>
<DOMTimeline name="Symbol 6" currentFrame="0">
<layers>
<DOMLayer name="Layer 1">
<frames>
<DOMFrame index="0" motionTweenScale="false" keyMode="8192">
<elements>
<DOMShape isFloating="true">
<fills>
<FillStyle index="1">
<SolidColor color="#00ff00"/>
</FillStyle>
<FillStyle index="2">
<SolidColor color="#ff0000"/>
</FillStyle>
</fills>
<strokes/>
<edges>
<Edge fillStyle0="0" fillStyle1="1" strokeStyle="0" edges="! 2940 1020| 4340 1020| 4340 3540| 1280 3540| 1280 2440"/>
<Edge fillStyle0="0" fillStyle1="2" strokeStyle="0" edges="! 1280 2440| 0 2440| 0 0| 2940 0| 2940 1020"/>
<Edge fillStyle0="1" fillStyle1="2" strokeStyle="0" edges="! 2940 1020| 1280 1020| 1280 2440"/>
</edges>
</DOMShape>
</elements>
</DOMFrame>
</frames>
</DOMLayer>
</layers>
</DOMTimeline>
</timeline>
</DOMSymbolItem>

View File

@@ -0,0 +1,27 @@
<DOMSymbolItem xmlns="http://ns.adobe.com/xfl/2008/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Symbol 7" lastModified="1699215381" symbolType="graphic">
<timeline>
<DOMTimeline name="Symbol 7" currentFrame="0">
<layers>
<DOMLayer name="Layer 1">
<frames>
<DOMFrame index="0" motionTweenScale="false" keyMode="8192">
<elements>
<DOMShape isFloating="true">
<fills>
<FillStyle index="1">
<SolidColor color="#660000"/>
</FillStyle>
</fills>
<strokes/>
<edges>
<Edge fillStyle0="0" fillStyle1="1" strokeStyle="0" edges="! 4053 3585[ 3852 3731 3567 3731[ 3282 3731 3081 3585[ 2880 3440 2880 3235[ 2880 3030 3081 2884[ 3282 2739 3567 2739[ 3852 2739 4053 2884[ 4254 3030 4254 3235[ 4254 3440 4053 3585"/>
</edges>
</DOMShape>
</elements>
</DOMFrame>
</frames>
</DOMLayer>
</layers>
</DOMTimeline>
</timeline>
</DOMSymbolItem>

View File

@@ -0,0 +1,27 @@
<DOMSymbolItem xmlns="http://ns.adobe.com/xfl/2008/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Symbol 8" lastModified="1699215381" symbolType="graphic">
<timeline>
<DOMTimeline name="Symbol 8" currentFrame="0">
<layers>
<DOMLayer name="Layer 1">
<frames>
<DOMFrame index="0" motionTweenScale="false" keyMode="8192">
<elements>
<DOMShape isFloating="true">
<fills>
<FillStyle index="1">
<SolidColor color="#000000"/>
</FillStyle>
</fills>
<strokes/>
<edges>
<Edge fillStyle0="0" fillStyle1="1" strokeStyle="0" edges="! 3400 2240| 3400 5859| 680 5859| 680 2240| 3400 2240"/>
</edges>
</DOMShape>
</elements>
</DOMFrame>
</frames>
</DOMLayer>
</layers>
</DOMTimeline>
</timeline>
</DOMSymbolItem>

View File

@@ -0,0 +1,66 @@
<DOMSymbolItem xmlns="http://ns.adobe.com/xfl/2008/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Symbol 9" lastModified="1699215381" symbolType="graphic">
<timeline>
<DOMTimeline name="Symbol 9">
<layers>
<DOMLayer name="Layer 1 (depth 10)" color="#f161d9">
<frames>
<DOMFrame index="0" duration="4" tweenType="shape" keyMode="17922">
<elements>
<DOMShape isFloating="true">
<fills>
<FillStyle index="1">
<SolidColor color="#ffff00" alpha="1.0"/>
</FillStyle>
<FillStyle index="2">
<SolidColor color="#ff00ff" alpha="1.0"/>
</FillStyle>
</fills>
<strokes>
<StrokeStyle index="1">
<SolidStroke scaleMode="normal" weight="0.0">
<fill>
<SolidColor color="#000000" alpha="0.0"/>
</fill>
</SolidStroke>
</StrokeStyle>
</strokes>
<edges>
<Edge fillStyle0="0" fillStyle1="1" strokeStyle="1" edges="! -540 4110[ -540 3609 -101 3254[ 339 2900 960 2900[ 1581 2900 2020 3254[ 2108 3325 2179 3402| 2146 3430[ 1761 3777 1761 4267[ 1761 4665 2015 4969[ 1578 5320 960 5320[ 339 5320 -101 4965[ -540 4611 -540 4110"/>
<Edge fillStyle0="0" fillStyle1="2" strokeStyle="1" edges="! 2146 3430[ 2555 3083 3077 3083[ 3622 3083 4007 3430[ 4393 3777 4393 4267[ 4393 4757 4007 5104[ 3622 5451 3077 5451[ 2532 5451 2146 5104[ 2074 5039 2015 4969| 2146 3430"/>
</edges>
</DOMShape>
</elements>
</DOMFrame>
<DOMFrame index="4" keyMode="9728">
<elements>
<DOMShape isFloating="true">
<fills>
<FillStyle index="1">
<SolidColor color="#ffff01" alpha="1.0"/>
</FillStyle>
<FillStyle index="2">
<SolidColor color="#ff00ff" alpha="1.0"/>
</FillStyle>
</fills>
<strokes>
<StrokeStyle index="1">
<SolidStroke scaleMode="normal" weight="0.0">
<fill>
<SolidColor color="#000001" alpha="0.0"/>
</fill>
</SolidStroke>
</StrokeStyle>
</strokes>
<edges>
<Edge fillStyle0="0" fillStyle1="1" strokeStyle="1" edges="! -1220 4530[ -1220 4029 -781 3674[ -341 3320 280 3320[ 901 3320 1340 3674[ 1428 3745 1499 3822| 1466 3850[ 1081 4197 1081 4687[ 1081 5085 1335 5389[ 898 5740 280 5740[ -341 5740 -781 5385[ -1220 5031 -1220 4530"/>
<Edge fillStyle0="0" fillStyle1="2" strokeStyle="1" edges="! 1466 3850[ 1875 3503 2397 3503[ 2942 3503 3327 3850[ 3713 4197 3713 4687[ 3713 5177 3327 5524[ 2942 5871 2397 5871[ 1852 5871 1466 5524[ 1394 5459 1335 5389| 1466 3850"/>
</edges>
</DOMShape>
</elements>
</DOMFrame>
</frames>
</DOMLayer>
</layers>
</DOMTimeline>
</timeline>
</DOMSymbolItem>

View File

@@ -0,0 +1,206 @@
<flash_profiles>
<flash_profile version="1.0" name="Default" current="true">
<PublishFormatProperties enabled="true">
<defaultNames>1</defaultNames>
<flash>1</flash>
<projectorWin>0</projectorWin>
<projectorMac>0</projectorMac>
<html>1</html>
<gif>0</gif>
<jpeg>0</jpeg>
<png>0</png>
<qt>0</qt>
<rnwk>0</rnwk>
<swc>0</swc>
<flashDefaultName>1</flashDefaultName>
<projectorWinDefaultName>1</projectorWinDefaultName>
<projectorMacDefaultName>1</projectorMacDefaultName>
<htmlDefaultName>1</htmlDefaultName>
<gifDefaultName>1</gifDefaultName>
<jpegDefaultName>1</jpegDefaultName>
<pngDefaultName>1</pngDefaultName>
<qtDefaultName>1</qtDefaultName>
<rnwkDefaultName>1</rnwkDefaultName>
<swcDefaultName>1</swcDefaultName>
<flashFileName>nested_masks.swf</flashFileName>
<projectorWinFileName>nested_masks.exe</projectorWinFileName>
<projectorMacFileName>nested_masks.app</projectorMacFileName>
<htmlFileName>nested_masks.html</htmlFileName>
<gifFileName>nested_masks.gif</gifFileName>
<jpegFileName>nested_masks.jpg</jpegFileName>
<pngFileName>nested_masks.png</pngFileName>
<qtFileName>1</qtFileName>
<rnwkFileName>nested_masks.smil</rnwkFileName>
<swcFileName>nested_masks.swc</swcFileName>
</PublishFormatProperties>
<PublishHtmlProperties enabled="true">
<VersionDetectionIfAvailable>0</VersionDetectionIfAvailable>
<VersionInfo>12,0,0,0;11,2,0,0;11,1,0,0;10,3,0,0;10,2,153,0;10,1,52,0;9,0,124,0;8,0,24,0;7,0,14,0;6,0,79,0;5,0,58,0;4,0,32,0;3,0,8,0;2,0,1,12;1,0,0,1;</VersionInfo>
<UsingDefaultContentFilename>1</UsingDefaultContentFilename>
<UsingDefaultAlternateFilename>1</UsingDefaultAlternateFilename>
<ContentFilename>nested_masks_content.html</ContentFilename>
<AlternateFilename>nested_masks_alternate.html</AlternateFilename>
<UsingOwnAlternateFile>0</UsingOwnAlternateFile>
<OwnAlternateFilename></OwnAlternateFilename>
<Width>550.0</Width>
<Height>400.0</Height>
<Align>0</Align>
<Units>0</Units>
<Loop>1</Loop>
<StartPaused>0</StartPaused>
<Scale>0</Scale>
<HorizontalAlignment>1</HorizontalAlignment>
<VerticalAlignment>1</VerticalAlignment>
<Quality>4</Quality>
<DeblockingFilter>0</DeblockingFilter>
<WindowMode>0</WindowMode>
<DisplayMenu>1</DisplayMenu>
<DeviceFont>0</DeviceFont>
<TemplateFileName></TemplateFileName>
<showTagWarnMsg>1</showTagWarnMsg>
</PublishHtmlProperties>
<PublishFlashProperties enabled="true">
<TopDown></TopDown>
<FireFox></FireFox>
<Report>0</Report>
<Protect>0</Protect>
<OmitTraceActions>0</OmitTraceActions>
<Quality>80</Quality>
<DeblockingFilter>0</DeblockingFilter>
<StreamFormat>0</StreamFormat>
<StreamCompress>7</StreamCompress>
<EventFormat>0</EventFormat>
<EventCompress>7</EventCompress>
<OverrideSounds>0</OverrideSounds>
<Version>15</Version>
<ExternalPlayer>FlashPlayer11.2</ExternalPlayer>
<ActionScriptVersion>2</ActionScriptVersion>
<PackageExportFrame>1</PackageExportFrame>
<PackagePaths></PackagePaths>
<AS3PackagePaths>.</AS3PackagePaths>
<AS3ConfigConst>CONFIG::FLASH_AUTHORING=&quot;true&quot;;</AS3ConfigConst>
<DebuggingPermitted>0</DebuggingPermitted>
<DebuggingPassword></DebuggingPassword>
<CompressMovie>1</CompressMovie>
<CompressionType>0</CompressionType>
<InvisibleLayer>1</InvisibleLayer>
<DeviceSound>0</DeviceSound>
<StreamUse8kSampleRate>0</StreamUse8kSampleRate>
<EventUse8kSampleRate>0</EventUse8kSampleRate>
<UseNetwork>0</UseNetwork>
<DocumentClass></DocumentClass>
<AS3Strict>2</AS3Strict>
<AS3Coach>4</AS3Coach>
<AS3AutoDeclare>4096</AS3AutoDeclare>
<AS3Dialect>AS3</AS3Dialect>
<AS3ExportFrame>1</AS3ExportFrame>
<AS3Optimize>1</AS3Optimize>
<ExportSwc>0</ExportSwc>
<ScriptStuckDelay>15</ScriptStuckDelay>
<IncludeXMP>1</IncludeXMP>
<HardwareAcceleration>0</HardwareAcceleration>
<AS3Flags>4102</AS3Flags>
<DefaultLibraryLinkage>rsl</DefaultLibraryLinkage>
<RSLPreloaderMethod>wrap</RSLPreloaderMethod>
<RSLPreloaderSWF>$(AppConfig)/ActionScript 3.0/rsls/loader_animation.swf</RSLPreloaderSWF>
<LibraryPath>
<library-path-entry>
<swc-path>$(AppConfig)/ActionScript 3.0/libs</swc-path>
<linkage>merge</linkage>
</library-path-entry>
<library-path-entry>
<swc-path>$(AppConfig)/ActionScript 3.0/libs/11.0/textLayout.swc</swc-path>
<linkage usesDefault="true">rsl</linkage>
<rsl-url>http://fpdownload.adobe.com/pub/swz/tlf/2.0.0.232/textLayout_2.0.0.232.swz</rsl-url>
<policy-file-url>http://fpdownload.adobe.com/pub/swz/crossdomain.xml</policy-file-url>
<rsl-url>textLayout_2.0.0.232.swz</rsl-url>
</library-path-entry>
</LibraryPath>
<LibraryVersions>
<library-version>
<swc-path>$(AppConfig)/ActionScript 3.0/libs/11.0/textLayout.swc</swc-path>
<feature name="tlfText" majorVersion="2" minorVersion="0" build="232" />
<rsl-url>http://fpdownload.adobe.com/pub/swz/tlf/2.0.0.232/textLayout_2.0.0.232.swz</rsl-url>
<policy-file-url>http://fpdownload.adobe.com/pub/swz/crossdomain.xml</policy-file-url>
<rsl-url>textLayout_2.0.0.232.swz</rsl-url>
</library-version>
</LibraryVersions>
</PublishFlashProperties>
<PublishJpegProperties enabled="true">
<Width>550.0</Width>
<Height>400.0</Height>
<Progressive>0</Progressive>
<DPI>4718592</DPI>
<Size>0</Size>
<Quality>80</Quality>
<MatchMovieDim>1</MatchMovieDim>
</PublishJpegProperties>
<PublishRNWKProperties enabled="true">
<exportFlash>1</exportFlash>
<flashBitRate>0</flashBitRate>
<exportAudio>1</exportAudio>
<audioFormat>0</audioFormat>
<singleRateAudio>0</singleRateAudio>
<realVideoRate>100000</realVideoRate>
<speed28K>1</speed28K>
<speed56K>1</speed56K>
<speedSingleISDN>0</speedSingleISDN>
<speedDualISDN>0</speedDualISDN>
<speedCorporateLAN>0</speedCorporateLAN>
<speed256K>0</speed256K>
<speed384K>0</speed384K>
<speed512K>0</speed512K>
<exportSMIL>1</exportSMIL>
</PublishRNWKProperties>
<PublishGifProperties enabled="true">
<Width>550.0</Width>
<Height>400.0</Height>
<Animated>0</Animated>
<MatchMovieDim>1</MatchMovieDim>
<Loop>1</Loop>
<LoopCount></LoopCount>
<OptimizeColors>1</OptimizeColors>
<Interlace>0</Interlace>
<Smooth>1</Smooth>
<DitherSolids>0</DitherSolids>
<RemoveGradients>0</RemoveGradients>
<TransparentOption></TransparentOption>
<TransparentAlpha>128</TransparentAlpha>
<DitherOption></DitherOption>
<PaletteOption></PaletteOption>
<MaxColors>255</MaxColors>
<PaletteName></PaletteName>
</PublishGifProperties>
<PublishPNGProperties enabled="true">
<Width>550.0</Width>
<Height>400.0</Height>
<OptimizeColors>1</OptimizeColors>
<Interlace>0</Interlace>
<Transparent>0</Transparent>
<Smooth>1</Smooth>
<DitherSolids>0</DitherSolids>
<RemoveGradients>0</RemoveGradients>
<MatchMovieDim>1</MatchMovieDim>
<DitherOption></DitherOption>
<FilterOption></FilterOption>
<PaletteOption></PaletteOption>
<BitDepth>24-bit with Alpha</BitDepth>
<MaxColors>255</MaxColors>
<PaletteName></PaletteName>
</PublishPNGProperties>
<PublishQTProperties enabled="true">
<Width>550.0</Width>
<Height>400.0</Height>
<MatchMovieDim>1</MatchMovieDim>
<UseQTSoundCompression>0</UseQTSoundCompression>
<AlphaOption></AlphaOption>
<LayerOption></LayerOption>
<QTSndSettings>00000000</QTSndSettings>
<ControllerOption>0</ControllerOption>
<Looping>0</Looping>
<PausedAtStart>0</PausedAtStart>
<PlayEveryFrame>0</PlayEveryFrame>
<Flatten>1</Flatten>
</PublishQTProperties>
</flash_profile>
</flash_profiles>

View File

@@ -0,0 +1 @@
PROXY-CS5