anchor.diff:      let webClient = new WebClient()
       webClient.DownloadFile(url, fileLocation)
   
  -let projectName = "Default"
  +let mutable projectName = "Default"
   
   let csprojItems = new StringBuilder()
   let csprojPages = new StringBuilder()
  +
  +let actions  = new Hashtable()
  +let triggers = new Hashtable()
   
   let parseXml = 
       let newXaml = new StringBuilder()
  
positive.code:                 let numberTextSize = textSize.Substring(0, textSize.Length - 2)
                  appendXaml <| "\n" + depthTab + "<TextBlock Text=\"" + reader.GetAttribute("text") + "\" HorizontalAlignment=\"Center\" FontSize=\"" + numberTextSize + "\"/>"
              | "Button" -> 
                  let clickName = reader.GetAttribute "onClick"
                  let click = if clickName = "" then "" else "Click=\"" + clickName + "\""
                  let name = reader.GetAttribute("id")
                  appendXaml <| "\n" + depthTab + "<Button Name=\"" + name.Substring(5, name.Length - 5) + "1\" HorizontalAlignment=\"Center\" " + click + " Content=\"" + reader.GetAttribute("text") + "\"> </Button>"
                  appendAddirions <| "\n        private void " + clickName + "(object sender, RoutedEventArgs e)
          {
              NavigationService.Navigate(new Uri(\"/" + clickName + ".xaml\", UriKind.Relative));
          }"
  
              | "ImageView" -> 
                  let url = reader.GetAttribute("src")
                  let fileName = "image" + string imageCounter + url.Substring(url.Length - 4, 4)
  
negative.code:     let appendXaml = append newXaml
      let appendCs = append newCs
      let appendConstructor = append constructorCs
      let appendAdditions = append additions
      let mutable hasAttr = false
      let mutable fileName = ""
      let mutable imageCounter = 1
      let tab = "    "
      let currentBuilder = new StringBuilder()
      let builderAppend = append currentBuilder
      let tempStack = new Stack()
      try
          while reader.Read() do
              let name = reader.Name
              let depth = reader.Depth
              let depthTab = if depth > 0 then String.replicate (reader.Depth - 1) tab else ""
              match name with
              | "application" when reader.NodeType <> XmlNodeType.EndElement -> projectName <- reader.GetAttribute("name")
              | "action" when reader.NodeType <> XmlNodeType.EndElement ->
                  tempStack.Push(reader.GetAttribute("control-id"))
              | "action" when reader.NodeType = XmlNodeType.EndElement ->
                  // ключ - id контрола, значение - код, который нужно выполнить
                  actions.Add(tempStack.Pop() :?> string, currentBuilder.ToString())
                  currentBuilder.Clear() |> ignore
              | "trigger" when reader.NodeType <> XmlNodeType.EndElement ->
                  tempStack.Push(reader.GetAttribute("event"))
                  tempStack.Push(reader.GetAttribute("form-id"))
              | "trigger" when reader.NodeType = XmlNodeType.EndElement ->
                  // ключ - имя формы, занчение - пара, в которой 1 элемент - событие, 2 элемент - код, который нужно выполнить
                  triggers.Add(tempStack.Pop() :?> string, (tempStack.Pop() :?> string, currentBuilder.ToString()))
                  currentBuilder.Clear() |> ignore
              | "seq" -> ()
              | "first-operator" -> ()
              | "second-operator" -> ()
              | "if" when reader.NodeType <> XmlNodeType.EndElement -> builderAppend <| "\nif (" + reader.GetAttribute("condition") + ")"
              | "then" when reader.NodeType <> XmlNodeType.EndElement -> builderAppend <| "\n{"
              | "then" when reader.NodeType = XmlNodeType.EndElement -> builderAppend <| "\n}"
              | "else" when reader.NodeType <> XmlNodeType.EndElement -> builderAppend <| "\nelse\n{"
              | "else" when reader.NodeType = XmlNodeType.EndElement -> builderAppend <| "\n}"
              | "transition" -> builderAppend <| "\nNavigationService.Navigate(new Uri(\"/" + reader.GetAttribute("form-id") + ".xaml\", UriKind.Relative));"
              | "login-request" -> ()
              | "save-session" -> ()
              | "bus-request" -> ()
              | "showmap" -> ()
              | "form" ->
                  if reader.NodeType = XmlNodeType.EndElement then
                      appendXaml <| "\n</phone:PhoneApplicationPage>"
                      writeToFile (path + "\\" + fileName + ".xaml") <| newXaml.ToString()
                      newXaml.Clear() |> ignore
                      appendConstructor <| "\n}"
                      appendCs <| constructorCs.ToString()
                      constructorCs.Clear() |> ignore
                      appendCs <| additions.ToString()
                      additions.Clear() |> ignore
                      appendCs <| "\n}\n}"
                      writeToFile (path + "\\" + fileName + ".xaml.cs") <| newCs.ToString()
                      newCs.Clear() |> ignore
                  else
  