<hcax version="1"><file ID="HTML" Name="MS Word HTML (*.htm;*.html)" Wildcard="*.htm;*.html" RemoveComments="0" IgnoreUnknownTags="1" cssc="breakstyle:None" PostOptimizeHandler="WordOnPostOptimize" PreFileHandler="WordOnPreFile"><tag Name="__default" DeleteTag="0" RemoveQuote="1" PackString="1" Container="1" RemovePrecedingWhitespace="2" DeleteEmptyAttr="0" /><tag Name=style DeleteTag="1" RemoveQuote="0" PackString="2" Container="1" RemovePrecedingWhitespace="2" DeleteEmptyAttr="0" OnParseContent="RemoveStyleContent" /><tag Name=/style DeleteTag="1" RemoveQuote="0" PackString="0" Container="0" RemovePrecedingWhitespace="2" DeleteEmptyAttr="1" /><tag Name=body DeleteTag="0" RemoveQuote="0" PackString="0" Container="1" RemovePrecedingWhitespace="2" DeleteEmptyAttr="1"><attrs Name=link DeleteAttr="1" DeleteTag="0" RemoveQuote="0" PackString="0" Container="1" RemovePrecedingWhitespace="2" DeleteEmptyAttr="1" /><attrs Name=vlink DeleteAttr="1" DeleteTag="0" RemoveQuote="0" PackString="0" Container="1" RemovePrecedingWhitespace="2" DeleteEmptyAttr="1" /></tag><tag Name=div DeleteTag="0" RemoveQuote="0" PackString="0" Container="1" RemovePrecedingWhitespace="2" DeleteEmptyAttr="1"><attrs Name=class DeleteAttr="1" DeleteTag="0" RemoveQuote="0" PackString="0" Container="1" RemovePrecedingWhitespace="2" DeleteEmptyAttr="1" ReplaceWith="div class="Text""><attr Name=Class MatchName=0 Value=Section MatchValue=mvContains /></attrs></tag><tag Name=h1 DeleteTag="0" RemoveQuote="0" PackString="0" Container="1" RemovePrecedingWhitespace="2" DeleteEmptyAttr="1"><attrs Name=style DeleteAttr="1" DeleteTag="0" RemoveQuote="0" PackString="0" Container="1" RemovePrecedingWhitespace="2" DeleteEmptyAttr="1" /><attrs Name=align DeleteAttr="1" DeleteTag="0" RemoveQuote="0" PackString="0" Container="1" RemovePrecedingWhitespace="2" DeleteEmptyAttr="1" /></tag><tag Name=h2 DeleteTag="0" RemoveQuote="0" PackString="0" Container="1" RemovePrecedingWhitespace="2" DeleteEmptyAttr="1"><attrs Name=style DeleteAttr="1" DeleteTag="0" RemoveQuote="0" PackString="0" Container="1" RemovePrecedingWhitespace="2" DeleteEmptyAttr="1" /><attrs Name=align DeleteAttr="1" DeleteTag="0" RemoveQuote="0" PackString="0" Container="1" RemovePrecedingWhitespace="2" DeleteEmptyAttr="1" /></tag><tag Name=h3 DeleteTag="0" RemoveQuote="0" PackString="0" Container="1" RemovePrecedingWhitespace="2" DeleteEmptyAttr="1"><attrs Name=style DeleteAttr="1" DeleteTag="0" RemoveQuote="0" PackString="0" Container="1" RemovePrecedingWhitespace="2" DeleteEmptyAttr="1" /><attrs Name=align DeleteAttr="1" DeleteTag="0" RemoveQuote="0" PackString="0" Container="1" RemovePrecedingWhitespace="2" DeleteEmptyAttr="1" /></tag><tag Name=h4 DeleteTag="0" RemoveQuote="0" PackString="0" Container="1" RemovePrecedingWhitespace="2" DeleteEmptyAttr="1"><attrs Name=style DeleteAttr="1" DeleteTag="0" RemoveQuote="0" PackString="0" Container="1" RemovePrecedingWhitespace="2" DeleteEmptyAttr="1" /><attrs Name=align DeleteAttr="1" DeleteTag="0" RemoveQuote="0" PackString="0" Container="1" RemovePrecedingWhitespace="2" DeleteEmptyAttr="1" /></tag><tag Name=img DeleteTag="0" RemoveQuote="0" PackString="1" Container="0" RemovePrecedingWhitespace="2" DeleteEmptyAttr="1"><attrs Name=align DeleteAttr="1" DeleteTag="0" RemoveQuote="0" PackString="1" Container="0" RemovePrecedingWhitespace="2" DeleteEmptyAttr="1" /><attrs Name=hspace DeleteAttr="1" DeleteTag="0" RemoveQuote="0" PackString="1" Container="0" RemovePrecedingWhitespace="2" DeleteEmptyAttr="1" /><attrs Name=style DeleteAttr="1" DeleteTag="0" RemoveQuote="0" PackString="1" Container="0" RemovePrecedingWhitespace="2" DeleteEmptyAttr="1" /></tag><tag Name=td DeleteTag="0" RemoveQuote="0" PackString="0" Container="1" RemovePrecedingWhitespace="2" DeleteEmptyAttr="1"><attrs Name=width DeleteAttr="1" DeleteTag="0" RemoveQuote="0" PackString="0" Container="1" RemovePrecedingWhitespace="2" DeleteEmptyAttr="1" /><attrs Name=valign DeleteAttr="1" DeleteTag="0" RemoveQuote="0" PackString="0" Container="1" RemovePrecedingWhitespace="2" DeleteEmptyAttr="1" /><attrs Name=style DeleteAttr="1" DeleteTag="0" RemoveQuote="0" PackString="0" Container="1" RemovePrecedingWhitespace="2" DeleteEmptyAttr="1" /></tag><tag Name=table DeleteTag="0" RemoveQuote="0" PackString="0" Container="1" RemovePrecedingWhitespace="2" DeleteEmptyAttr="1"><attrs Name=class DeleteAttr="1" DeleteTag="0" RemoveQuote="0" PackString="0" Container="1" RemovePrecedingWhitespace="2" DeleteEmptyAttr="1"><attr Name=class MatchName=1 Value=Mso MatchValue=mvContains /></attrs><attrs Name=style DeleteAttr="1" DeleteTag="0" RemoveQuote="0" PackString="0" Container="1" RemovePrecedingWhitespace="2" DeleteEmptyAttr="1" /><attrs Name=border DeleteAttr="1" DeleteTag="0" RemoveQuote="0" PackString="0" Container="1" RemovePrecedingWhitespace="2" DeleteEmptyAttr="1" /><attrs Name=cellspacing DeleteAttr="1" DeleteTag="0" RemoveQuote="0" PackString="0" Container="1" RemovePrecedingWhitespace="2" DeleteEmptyAttr="1" /><attrs Name=cellpadding DeleteAttr="1" DeleteTag="0" RemoveQuote="0" PackString="0" Container="1" RemovePrecedingWhitespace="2" DeleteEmptyAttr="1" /></tag><tag Name=tr DeleteTag="0" RemoveQuote="0" PackString="0" Container="1" RemovePrecedingWhitespace="2" DeleteEmptyAttr="1"><attrs Name=style DeleteAttr="1" DeleteTag="0" RemoveQuote="0" PackString="0" Container="1" RemovePrecedingWhitespace="2" DeleteEmptyAttr="1" /></tag><tag Name=ul DeleteTag="0" RemoveQuote="0" PackString="0" Container="1" RemovePrecedingWhitespace="2" DeleteEmptyAttr="1"><attrs Name=style DeleteAttr="1" DeleteTag="0" RemoveQuote="0" PackString="0" Container="1" RemovePrecedingWhitespace="2" DeleteEmptyAttr="1" /><attrs Name=type DeleteAttr="1" DeleteTag="0" RemoveQuote="0" PackString="0" Container="1" RemovePrecedingWhitespace="2" DeleteEmptyAttr="1" /></tag><tag Name=li DeleteTag="0" RemoveQuote="0" PackString="0" Container="1" RemovePrecedingWhitespace="2" DeleteEmptyAttr="1"><attrs Name=class DeleteAttr="1" DeleteTag="0" RemoveQuote="0" PackString="0" Container="1" RemovePrecedingWhitespace="2" DeleteEmptyAttr="1"><attr Name=class MatchName=0 Value=MsoNormal MatchValue=mvEqual /></attrs></tag><tag Name=p DeleteTag="0" RemoveQuote="0" PackString="0" Container="1" RemovePrecedingWhitespace="2" DeleteEmptyAttr="1"><attrs Name=class DeleteAttr="1" DeleteTag="0" RemoveQuote="0" PackString="0" ReplaceWith="p class="Subtitle"" Container="1" RemovePrecedingWhitespace="2" DeleteEmptyAttr="1"><attr MatchName=0 Value=MsoSubtitle MatchValue=mvEqual /></attrs><attrs Name=class DeleteAttr="1" DeleteTag="0" RemoveQuote="0" PackString="0" Container="1" RemovePrecedingWhitespace="2" DeleteEmptyAttr="1"><attr Name=class MatchName=0 Value=MsoNormal MatchValue=mvEqual /></attrs><attrs Name=class DeleteAttr="1" DeleteTag="0" RemoveQuote="0" PackString="0" Container="1" RemovePrecedingWhitespace="2" DeleteEmptyAttr="1"><attr Name=class MatchName=0 Value=MsoHeader MatchValue=mvEqual /></attrs><attrs Name=style DeleteAttr="0" DeleteTag="1" RemoveQuote="0" PackString="0" Container="1" RemovePrecedingWhitespace="2" DeleteEmptyAttr="1" /></tag></file><script version="0">constIndent = ' ';//#32#32;Format = True;RemoveStyleWidth = False;RemoveEmptyTags = True;varblocktags: TStringList;inlinetags: TStringList;Level: Integer;procedure Initialize;beginblocktags := TStringList.Create;blocktags.Add('html');blocktags.Add('body');blocktags.Add('head');blocktags.Add('td');blocktags.Add('table');blocktags.Add('tbody');inlinetags := TStringList.Create;inlinetags.Add('a');inlinetags.Add('b');inlinetags.Add('i');inlinetags.Add('img');inlinetags.Add('span');inlinetags.Add('sup');inlinetags.Add('big');inlinetags.Add('small');end;procedure Finalize;beginblocktags.Clear;blocktags.Free;inlinetags.Clear;inlinetags.Free;end;function GetIndentStr: String;vari: Integer;beginResult := '';for i := 0 to Level - 1 doResult := Result + Indent;end;function InLineTag: Boolean;beginresult := inlinetags.IndexOf(NodeClass.Name) >= 0;end;function BlockEndTag: Boolean;beginresult := blocktags.IndexOf(Copy(NodeClass.Name, 2, Length(NodeClass.Name) -1)) >= 0;end;function BlockTag: Boolean;beginresult := blocktags.IndexOf(NodeClass.Name) >= 0;end;function EndTag: Boolean;beginresult := Copy(NodeClass.Name, 1, 1) = '/';end;procedure GoToBeginning;begin// go to beginningwhile NodeClass.PreviousNode do;end;procedure NewIndentedLine;vari: Integer;beginNodeClass.PreviousNode;if NodeClass.NodeType = ntText thenbegini := Length(NodeClass.Name);while (i > 0) and (NodeClass.Name = #32) dobegini := i - 1;end;if (i = 0) thenNodeClass.DeleteelseNodeClass.Name := Copy(NodeClass.Name, 1, i);end;NodeClass.Add;Nodeclass.NextNode;NodeClass.NodeType := ntCustom;NodeClass.Name := #13#10 + GetIndentStr;NodeClass.NextNode;end;procedure DoFormat;beginGoToBeginning;// new line per itemwhile NodeClass.NextNode dobeginif (NodeClass.NodeType = ntTag) thenbeginif EndTag thenbeginif BlockEndTag thenbeginLevel := Level - 1;NewIndentedLine;end;endelsebeginif not InLineTag thenbeginNewIndentedLine;end;if BlockTag then Level := Level + 1;end;end;end;end;procedure WordOnPreFile(var S: String; var Pos: Integer);vari: Integer;c: Integer;beginLevel := 0;i := Length(S);while i > 0 dobeginif S[i] = #$A0 then s[i] := #32else if SameTextLi(S, '&nbsp;', i, 1, 6) thenbeginfor c := i to i + 5 dos[c] := ' ';end;i := i - 1;end;end;procedure WordOnPostOptimize;varstarttag, endtagname: String;begin// remove empty paragraphs with &nbsp;while NodeClass.NextNode dobeginif NodeClass.NodeType = ntText thenbeginif (NodeClass.Name = '&nbsp;') or (NodeClass.Name = ' ') thenbeginif NodeClass.NextNode and // check next node is an end node(NodeClass.NodeType = ntTag) and EndTag thenbeginendtagname := NodeClass.Name;// go back find start nodeif NodeClass.PreviousNode then // text (&nbsp;) nodebeginif NodeClass.PreviousNode then // NodeClass.NodeType = ntTagbeginwhile NodeClass.NodeType = ntAttribute dobeginNodeClass.PreviousNode;end;starttag := NodeClass.Name;if (NodeClass.NodeType = ntTag)and ('/' + starttag = endtagname) thenbegin// delete start tagNodeClass.Delete;NodeClass.NextNode;// delete any attributeswhile NodeClass.NodeType = ntAttribute dobeginNodeClass.Delete;NodeClass.NextNode;end;// delete textNodeClass.Delete;// delete end tagNodeClass.NextNode;NodeClass.Delete;NodeClass.NextNode;endelsebeginNodeClass.NextNode; // node// attributeswhile NodeClass.NodeType = ntAttribute dobegin// NodeClass.Delete; // by default it goes backwards firstNodeClass.NextNode;end;NodeClass.NextNode; // textend;endelsebeginNodeClass.NextNode;end;endend;end;end;end; { while }GoToBeginning;if RemoveStyleWidth thenwhile NodeClass.NextNode dobeginif (NodeClass.NodeType = ntAttribute) and(SameText(NodeClass.Name, 'style') orSameText(NodeClass.Name, 'width')) thenbeginNodeClass.Delete;end;end; { while }GoToBeginning;// remove empty tagsif RemoveEmptyTags thenwhile NodeClass.NextNode dobeginif NodeClass.NodeType = ntTag thenbeginstarttag := NodeClass.Name;if NodeClass.NextNode and EndTag and (NodeClass.name = '/' + Starttag)thenbeginNodeClass.Delete;NodeClass.Delete;end;end;end;if Format then DoFormat;end;procedure RemoveStyleContent(S: String; var Pos: Integer);beginwhile Pos < Length(S) dobeginif (SameTextLi(s, '</style>', pos, 1, 8)) thenbeginBreak;endPos := Pos + 1;end;end;beginLevel := 0;Initialize;end.</script></hcax>