Program: 62110
Project: 62110
Buggy source:
public static void convertSWF(SWF swf,String swfFileName,String outfile,boolean compressed,String generator,String generatorVerName,String generatorVersion,boolean paralel){
  File file=new File(outfile);
  File outDir=file.getParentFile();
  String domDocument="String_Node_Str";
  String baseName=swfFileName;
  File f=new File(baseName);
  baseName=f.getName();
  if (baseName.contains("String_Node_Str")) {
    baseName=baseName.substring(0,baseName.lastIndexOf("String_Node_Str"));
  }
  HashMap<String,byte[]> files=new HashMap<>();
  HashMap<Integer,CharacterTag> characters=getCharacters(swf.tags);
  List<Integer> oneInstaceShapes=getOneInstanceShapes(swf.tags,characters);
  Map<Integer,String> characterClasses=getCharacterClasses(swf.tags);
  Map<Integer,String> characterVariables=getCharacterVariables(swf.tags);
  FileAttributesTag fa=null;
  for (  Tag t : swf.tags) {
    if (t instanceof FileAttributesTag) {
      fa=(FileAttributesTag)t;
    }
  }
  boolean useAS3=false;
  boolean useNetwork=false;
  if (fa != null) {
    useAS3=fa.actionScript3;
    useNetwork=fa.useNetwork;
  }
  String backgroundColor="String_Node_Str";
  for (  Tag t : swf.tags) {
    if (t instanceof SetBackgroundColorTag) {
      SetBackgroundColorTag sbc=(SetBackgroundColorTag)t;
      backgroundColor=sbc.backgroundColor.toHexRGB();
    }
  }
  domDocument+="String_Node_Str" + generator + "String_Node_Str"+ generatorVerName+ "String_Node_Str"+ generatorVersion+ "String_Node_Str";
  domDocument+="String_Node_Str" + backgroundColor + "String_Node_Str";
  domDocument+="String_Node_Str" + swf.frameRate + "String_Node_Str";
  double width=twipToPixel(swf.displayRect.getWidth());
  double height=twipToPixel(swf.displayRect.getHeight());
  if (Double.compare(width,550) != 0) {
    domDocument+="String_Node_Str" + doubleToString(width) + "String_Node_Str";
  }
  if (Double.compare(height,400) != 0) {
    domDocument+="String_Node_Str" + doubleToString(height) + "String_Node_Str";
  }
  domDocument+="String_Node_Str";
  domDocument+=convertLibrary(swf,characterVariables,characterClasses,oneInstaceShapes,backgroundColor,swf.tags,characters,files);
  domDocument+="String_Node_Str";
  domDocument+=convertTimeline(0,oneInstaceShapes,backgroundColor,swf.tags,swf.tags,characters,"String_Node_Str");
  domDocument+="String_Node_Str";
  domDocument+="String_Node_Str";
  domDocument=prettyFormatXML(domDocument);
  for (  Tag t : swf.tags) {
    if (t instanceof DoInitActionTag) {
      DoInitActionTag dia=(DoInitActionTag)t;
      int chid=dia.getCharacterID();
      if (characters.containsKey(chid)) {
        if (characters.get(chid) instanceof DefineSpriteTag) {
          DefineSpriteTag sprite=(DefineSpriteTag)characters.get(chid);
          if (sprite.subTags.isEmpty()) {
            String data=convertActionScript(dia);
            String expPath=dia.getExportName();
            final String prefix="String_Node_Str";
            if (expPath.startsWith(prefix)) {
              expPath=expPath.substring(prefix.length());
            }
            String expDir="String_Node_Str";
            if (expPath.contains("String_Node_Str")) {
              expDir=expPath.substring(0,expPath.lastIndexOf("String_Node_Str"));
              expDir=expDir.replace("String_Node_Str",File.separator);
            }
            expPath=expPath.replace("String_Node_Str",File.separator);
            File cdir=new File(outDir.getAbsolutePath() + File.separator + expDir);
            if (!cdir.exists()) {
              cdir.mkdirs();
            }
            try {
              writeFile(data.getBytes("String_Node_Str"),outDir.getAbsolutePath() + File.separator + expPath+ "String_Node_Str");
            }
 catch (            UnsupportedEncodingException ex) {
              Logger.getLogger(XFLConverter.class.getName()).log(Level.SEVERE,null,ex);
            }
          }
        }
      }
    }
  }
  String publishSettings="String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str" + baseName + "String_Node_Str"+ "String_Node_Str"+ baseName+ "String_Node_Str"+ "String_Node_Str"+ baseName+ "String_Node_Str"+ "String_Node_Str"+ baseName+ "String_Node_Str"+ "String_Node_Str"+ baseName+ "String_Node_Str"+ "String_Node_Str"+ baseName+ "String_Node_Str"+ "String_Node_Str"+ baseName+ "String_Node_Str"+ "String_Node_Str"+ baseName+ "String_Node_Str"+ "String_Node_Str"+ baseName+ "String_Node_Str"+ "String_Node_Str"+ baseName+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ baseName+ "String_Node_Str"+ "String_Node_Str"+ baseName+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ width+ "String_Node_Str"+ "String_Node_Str"+ height+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ (useAS3 ? "String_Node_Str" : "String_Node_Str")+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ (swf.compressed ? "String_Node_Str" : "String_Node_Str")+ "String_Node_Str"+ "String_Node_Str"+ (swf.lzma ? "String_Node_Str" : "String_Node_Str")+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ (useNetwork ? 1 : 0)+ "String_Node_Str"+ "String_Node_Str"+ xmlString(characterClasses.containsKey(0) ? characterClasses.get(0) : "String_Node_Str")+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ width+ "String_Node_Str"+ "String_Node_Str"+ height+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ width+ "String_Node_Str"+ "String_Node_Str"+ height+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ width+ "String_Node_Str"+ "String_Node_Str"+ height+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ width+ "String_Node_Str"+ "String_Node_Str"+ height+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str";
  if (compressed) {
    try (ZipOutputStream out=new ZipOutputStream(new FileOutputStream(outfile))){
      out.putNextEntry(new ZipEntry("String_Node_Str"));
      out.write(domDocument.getBytes("String_Node_Str"));
      out.putNextEntry(new ZipEntry("String_Node_Str"));
      out.write(publishSettings.getBytes("String_Node_Str"));
      for (      String fileName : files.keySet()) {
        out.putNextEntry(new ZipEntry("String_Node_Str" + fileName));
        out.write(files.get(fileName));
      }
    }
 catch (    IOException ex) {
      Logger.getLogger(XFLConverter.class.getName()).log(Level.SEVERE,null,ex);
    }
  }
 else {
    outDir.mkdirs();
    try {
      writeFile(domDocument.getBytes("String_Node_Str"),outDir.getAbsolutePath() + File.separator + "String_Node_Str");
    }
 catch (    UnsupportedEncodingException ex) {
      Logger.getLogger(XFLConverter.class.getName()).log(Level.SEVERE,null,ex);
    }
    try {
      writeFile(publishSettings.getBytes("String_Node_Str"),outDir.getAbsolutePath() + File.separator + "String_Node_Str");
    }
 catch (    UnsupportedEncodingException ex) {
      Logger.getLogger(XFLConverter.class.getName()).log(Level.SEVERE,null,ex);
    }
    File libraryDir=new File(outDir.getAbsolutePath() + File.separator + "String_Node_Str");
    libraryDir.mkdir();
    for (    String fileName : files.keySet()) {
      writeFile(files.get(fileName),libraryDir.getAbsolutePath() + File.separator + fileName);
    }
    try {
      writeFile("String_Node_Str".getBytes("String_Node_Str"),outfile);
    }
 catch (    UnsupportedEncodingException ex) {
      Logger.getLogger(XFLConverter.class.getName()).log(Level.SEVERE,null,ex);
    }
  }
  if (useAS3) {
    try {
      swf.exportActionScript(outDir.getAbsolutePath(),false,paralel);
    }
 catch (    Exception ex) {
      Logger.getLogger(XFLConverter.class.getName()).log(Level.SEVERE,"String_Node_Str",ex);
    }
  }
}

Fixed version (ground truth):
public static void convertSWF(SWF swf,String swfFileName,String outfile,boolean compressed,String generator,String generatorVerName,String generatorVersion,boolean paralel){
  File file=new File(outfile);
  File outDir=file.getParentFile();
  String domDocument="String_Node_Str";
  String baseName=swfFileName;
  File f=new File(baseName);
  baseName=f.getName();
  if (baseName.contains("String_Node_Str")) {
    baseName=baseName.substring(0,baseName.lastIndexOf("String_Node_Str"));
  }
  HashMap<String,byte[]> files=new HashMap<>();
  HashMap<String,byte[]> datfiles=new HashMap<>();
  HashMap<Integer,CharacterTag> characters=getCharacters(swf.tags);
  List<Integer> oneInstaceShapes=getOneInstanceShapes(swf.tags,characters);
  Map<Integer,String> characterClasses=getCharacterClasses(swf.tags);
  Map<Integer,String> characterVariables=getCharacterVariables(swf.tags);
  FileAttributesTag fa=null;
  for (  Tag t : swf.tags) {
    if (t instanceof FileAttributesTag) {
      fa=(FileAttributesTag)t;
    }
  }
  boolean useAS3=false;
  boolean useNetwork=false;
  if (fa != null) {
    useAS3=fa.actionScript3;
    useNetwork=fa.useNetwork;
  }
  String backgroundColor="String_Node_Str";
  for (  Tag t : swf.tags) {
    if (t instanceof SetBackgroundColorTag) {
      SetBackgroundColorTag sbc=(SetBackgroundColorTag)t;
      backgroundColor=sbc.backgroundColor.toHexRGB();
    }
  }
  domDocument+="String_Node_Str" + generator + "String_Node_Str"+ generatorVerName+ "String_Node_Str"+ generatorVersion+ "String_Node_Str";
  domDocument+="String_Node_Str" + backgroundColor + "String_Node_Str";
  domDocument+="String_Node_Str" + swf.frameRate + "String_Node_Str";
  double width=twipToPixel(swf.displayRect.getWidth());
  double height=twipToPixel(swf.displayRect.getHeight());
  if (Double.compare(width,550) != 0) {
    domDocument+="String_Node_Str" + doubleToString(width) + "String_Node_Str";
  }
  if (Double.compare(height,400) != 0) {
    domDocument+="String_Node_Str" + doubleToString(height) + "String_Node_Str";
  }
  domDocument+="String_Node_Str";
  domDocument+=convertLibrary(swf,characterVariables,characterClasses,oneInstaceShapes,backgroundColor,swf.tags,characters,files,datfiles);
  domDocument+="String_Node_Str";
  domDocument+=convertTimeline(0,oneInstaceShapes,backgroundColor,swf.tags,swf.tags,characters,"String_Node_Str");
  domDocument+="String_Node_Str";
  domDocument+="String_Node_Str";
  domDocument=prettyFormatXML(domDocument);
  for (  Tag t : swf.tags) {
    if (t instanceof DoInitActionTag) {
      DoInitActionTag dia=(DoInitActionTag)t;
      int chid=dia.getCharacterID();
      if (characters.containsKey(chid)) {
        if (characters.get(chid) instanceof DefineSpriteTag) {
          DefineSpriteTag sprite=(DefineSpriteTag)characters.get(chid);
          if (sprite.subTags.isEmpty()) {
            String data=convertActionScript(dia);
            String expPath=dia.getExportName();
            final String prefix="String_Node_Str";
            if (expPath.startsWith(prefix)) {
              expPath=expPath.substring(prefix.length());
            }
            String expDir="String_Node_Str";
            if (expPath.contains("String_Node_Str")) {
              expDir=expPath.substring(0,expPath.lastIndexOf("String_Node_Str"));
              expDir=expDir.replace("String_Node_Str",File.separator);
            }
            expPath=expPath.replace("String_Node_Str",File.separator);
            File cdir=new File(outDir.getAbsolutePath() + File.separator + expDir);
            if (!cdir.exists()) {
              cdir.mkdirs();
            }
            try {
              writeFile(data.getBytes("String_Node_Str"),outDir.getAbsolutePath() + File.separator + expPath+ "String_Node_Str");
            }
 catch (            UnsupportedEncodingException ex) {
              Logger.getLogger(XFLConverter.class.getName()).log(Level.SEVERE,null,ex);
            }
          }
        }
      }
    }
  }
  String publishSettings="String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str" + baseName + "String_Node_Str"+ "String_Node_Str"+ baseName+ "String_Node_Str"+ "String_Node_Str"+ baseName+ "String_Node_Str"+ "String_Node_Str"+ baseName+ "String_Node_Str"+ "String_Node_Str"+ baseName+ "String_Node_Str"+ "String_Node_Str"+ baseName+ "String_Node_Str"+ "String_Node_Str"+ baseName+ "String_Node_Str"+ "String_Node_Str"+ baseName+ "String_Node_Str"+ "String_Node_Str"+ baseName+ "String_Node_Str"+ "String_Node_Str"+ baseName+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ baseName+ "String_Node_Str"+ "String_Node_Str"+ baseName+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ width+ "String_Node_Str"+ "String_Node_Str"+ height+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ (useAS3 ? "String_Node_Str" : "String_Node_Str")+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ (swf.compressed ? "String_Node_Str" : "String_Node_Str")+ "String_Node_Str"+ "String_Node_Str"+ (swf.lzma ? "String_Node_Str" : "String_Node_Str")+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ (useNetwork ? 1 : 0)+ "String_Node_Str"+ "String_Node_Str"+ xmlString(characterClasses.containsKey(0) ? characterClasses.get(0) : "String_Node_Str")+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ width+ "String_Node_Str"+ "String_Node_Str"+ height+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ width+ "String_Node_Str"+ "String_Node_Str"+ height+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ width+ "String_Node_Str"+ "String_Node_Str"+ height+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ width+ "String_Node_Str"+ "String_Node_Str"+ height+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str";
  if (compressed) {
    try (ZipOutputStream out=new ZipOutputStream(new FileOutputStream(outfile))){
      out.putNextEntry(new ZipEntry("String_Node_Str"));
      out.write(domDocument.getBytes("String_Node_Str"));
      out.putNextEntry(new ZipEntry("String_Node_Str"));
      out.write(publishSettings.getBytes("String_Node_Str"));
      for (      String fileName : files.keySet()) {
        out.putNextEntry(new ZipEntry("String_Node_Str" + fileName));
        out.write(files.get(fileName));
      }
      for (      String fileName : datfiles.keySet()) {
        out.putNextEntry(new ZipEntry("String_Node_Str" + fileName));
        out.write(datfiles.get(fileName));
      }
    }
 catch (    IOException ex) {
      Logger.getLogger(XFLConverter.class.getName()).log(Level.SEVERE,null,ex);
    }
  }
 else {
    outDir.mkdirs();
    try {
      writeFile(domDocument.getBytes("String_Node_Str"),outDir.getAbsolutePath() + File.separator + "String_Node_Str");
    }
 catch (    UnsupportedEncodingException ex) {
      Logger.getLogger(XFLConverter.class.getName()).log(Level.SEVERE,null,ex);
    }
    try {
      writeFile(publishSettings.getBytes("String_Node_Str"),outDir.getAbsolutePath() + File.separator + "String_Node_Str");
    }
 catch (    UnsupportedEncodingException ex) {
      Logger.getLogger(XFLConverter.class.getName()).log(Level.SEVERE,null,ex);
    }
    File libraryDir=new File(outDir.getAbsolutePath() + File.separator + "String_Node_Str");
    libraryDir.mkdir();
    File binDir=new File(outDir.getAbsolutePath() + File.separator + "String_Node_Str");
    binDir.mkdir();
    for (    String fileName : files.keySet()) {
      writeFile(files.get(fileName),libraryDir.getAbsolutePath() + File.separator + fileName);
    }
    for (    String fileName : datfiles.keySet()) {
      writeFile(datfiles.get(fileName),binDir.getAbsolutePath() + File.separator + fileName);
    }
    try {
      writeFile("String_Node_Str".getBytes("String_Node_Str"),outfile);
    }
 catch (    UnsupportedEncodingException ex) {
      Logger.getLogger(XFLConverter.class.getName()).log(Level.SEVERE,null,ex);
    }
  }
  if (useAS3) {
    try {
      swf.exportActionScript(outDir.getAbsolutePath(),false,paralel);
    }
 catch (    Exception ex) {
      Logger.getLogger(XFLConverter.class.getName()).log(Level.SEVERE,"String_Node_Str",ex);
    }
  }
}