mkdir -p './libvirt/secrets'
mkdir -p './mate-settings-daemon/xrandr'
mkdir -p './molly-guard/messages.d'
+mkdir -p './mono/certstore'
mkdir -p './network/interfaces.d'
mkdir -p './networkd-dispatcher/dormant.d'
mkdir -p './networkd-dispatcher/no-carrier.d'
maybe chmod 0755 'molly-guard/run.d'
maybe chmod 0755 'molly-guard/run.d/10-print-message'
maybe chmod 0755 'molly-guard/run.d/30-query-hostname'
+maybe chmod 0755 'mono'
+maybe chmod 0755 'mono/2.0'
+maybe chmod 0755 'mono/2.0/Browsers'
+maybe chmod 0644 'mono/2.0/Browsers/Compat.browser'
+maybe chmod 0644 'mono/2.0/DefaultWsdlHelpGenerator.aspx'
+maybe chmod 0644 'mono/2.0/machine.config'
+maybe chmod 0644 'mono/2.0/settings.map'
+maybe chmod 0644 'mono/2.0/web.config'
+maybe chmod 0755 'mono/4.0'
+maybe chmod 0755 'mono/4.0/Browsers'
+maybe chmod 0644 'mono/4.0/Browsers/Compat.browser'
+maybe chmod 0644 'mono/4.0/DefaultWsdlHelpGenerator.aspx'
+maybe chmod 0644 'mono/4.0/machine.config'
+maybe chmod 0644 'mono/4.0/settings.map'
+maybe chmod 0644 'mono/4.0/web.config'
+maybe chmod 0755 'mono/4.5'
+maybe chmod 0755 'mono/4.5/Browsers'
+maybe chmod 0644 'mono/4.5/Browsers/Compat.browser'
+maybe chmod 0644 'mono/4.5/DefaultWsdlHelpGenerator.aspx'
+maybe chmod 0644 'mono/4.5/machine.config'
+maybe chmod 0644 'mono/4.5/settings.map'
+maybe chmod 0644 'mono/4.5/web.config'
+maybe chmod 0644 'mono/browscap.ini'
+maybe chmod 0755 'mono/certstore'
+maybe chmod 0644 'mono/config'
maybe chmod 0644 'motd.tail.bruni'
maybe chmod 0644 'motd.tail.nadja'
maybe chmod 0755 'mplayer'
maybe chmod 0644 'ssh/ssh_host_ed25519_key.pub'
maybe chmod 0600 'ssh/ssh_host_rsa_key'
maybe chmod 0644 'ssh/ssh_host_rsa_key.pub'
+maybe chmod 0644 'ssh/ssh_import_id'
maybe chmod 0644 'ssh/sshd_config'
maybe chmod 0755 'ssl'
maybe chmod 0755 'ssl/certs'
--- /dev/null
+/usr/bin/mono
\ No newline at end of file
--- /dev/null
+/usr/share/man/man1/gacutil.1.gz
\ No newline at end of file
--- /dev/null
+/usr/share/man/man1/mono.1.gz
\ No newline at end of file
--- /dev/null
+/usr/bin/gacutil
\ No newline at end of file
libvirt-dnsmasq:x:137:
mysql:x:138:
winbindd_priv:x:139:
+stapdev:x:140:
+stapusr:x:141:
+stapsys:x:142:
libvirt-qemu:x:64055:libvirt-qemu
libvirt-dnsmasq:x:137:
mysql:x:138:
+winbindd_priv:x:139:
+stapdev:x:140:
+stapusr:x:141:
libvirt-dnsmasq:!::
mysql:!::
winbindd_priv:!::
+stapdev:!::
+stapusr:!::
+stapsys:!::
libvirt-qemu:!::libvirt-qemu
libvirt-dnsmasq:!::
mysql:!::
+winbindd_priv:!::
+stapdev:!::
+stapusr:!::
application/vnd.flatpak.ref; mintinstall-fp-handler %s; test=test -n "$DISPLAY"
application/vnd.flatpak.repo; mintinstall-fp-handler %s; test=test -n "$DISPLAY"
text/x-apt-sources-list; pkexec mintsources %s; test=test -n "$DISPLAY"
+application/x-ms-dos-executable; mono %s; test=test -n "$DISPLAY"
+application/x-ms-dos-executable; mono %s; needsterminal
application/x-cd-image; /usr/lib/gvfs/gvfsd-archive file=%s; test=test -n "$DISPLAY"
application/x-bzip-compressed-tar; /usr/lib/gvfs/gvfsd-archive file=%s; test=test -n "$DISPLAY"
application/x-compressed-tar; /usr/lib/gvfs/gvfsd-archive file=%s; test=test -n "$DISPLAY"
--- /dev/null
+<!--
+ This file defines some of the browsers that Microsoft's implementation provides in
+ <windir>\Microsoft.NET\Framework\<ver>\CONFIG\Browsers\*.browser
+
+ It is not derived from any file distributed with Microsoft's implementation. Since
+ we can't distribute MS's browser files, we use browscap.ini to determine
+ browser capabilities. Then, if and only if the application contains App_Browser/*.browser
+ files and we are using .NET 2.0 or higher, we supplement the capabilities with the
+ information in those files and the files in this directory. The primary goal of this file
+ is provide browser definitions that might be referenced in App_Browser/*.browser files.
+-->
+<browsers>
+ <defaultBrowser id="Default">
+ </defaultBrowser>
+ <browser id="Default">
+ <identification>
+ <userAgent match="." />
+ </identification>
+ </browser>
+ <browser id="IE6to9" parentID="Default">
+ <identification>
+ <capability name="majorver" match="^[6-9]" />
+ <capability name="browser" match="^(IE|AOL)$" />
+ </identification>
+ </browser>
+ <browser id="Opera8to9" parentID="Default">
+ <identification>
+ <capability name="majorver" match="^[8-9]" />
+ <capability name="browser" match="^Opera$" />
+ </identification>
+ </browser>
+ <browser id="Safari" parentID="Default">
+ <identification>
+ <capability name="browser" match="^Safari$" />
+ </identification>
+ </browser>
+ <browser id="Mozilla" parentID="Default">
+ <identification>
+ <capability name="browser" match="^Mozilla" />
+ </identification>
+ </browser>
+</browsers>
\ No newline at end of file
--- /dev/null
+<%--
+//
+// DefaultWsdlHelpGenerator.aspx:
+//
+// Author:
+// Lluis Sanchez Gual (lluis@ximian.com)
+//
+// (C) 2003 Ximian, Inc. http://www.ximian.com
+//
+--%>
+
+<%@ Import Namespace="System.Collections" %>
+<%@ Import Namespace="System.Collections.Generic" %>
+<%@ Import Namespace="System.IO" %>
+<%@ Import Namespace="System.Xml.Serialization" %>
+<%@ Import Namespace="System.Xml" %>
+<%@ Import Namespace="System.Xml.Schema" %>
+<%@ Import Namespace="System.Web.Services" %>
+<%@ Import Namespace="System.Web.Services.Description" %>
+<%@ Import Namespace="System.Web.Services.Configuration" %>
+<%@ Import Namespace="System.Web.Configuration" %>
+<%@ Import Namespace="System" %>
+<%@ Import Namespace="System.Net" %>
+<%@ Import Namespace="System.Globalization" %>
+<%@ Import Namespace="System.Resources" %>
+<%@ Import Namespace="System.Diagnostics" %>
+<%@ Import Namespace="System.CodeDom" %>
+<%@ Import Namespace="System.CodeDom.Compiler" %>
+<%@ Import Namespace="Microsoft.CSharp" %>
+<%@ Import Namespace="Microsoft.VisualBasic" %>
+<%@ Import Namespace="System.Text" %>
+<%@ Import Namespace="System.Text.RegularExpressions" %>
+<%@ Import Namespace="System.Security.Cryptography.X509Certificates" %>
+<%@ Assembly name="System.Web.Services" %>
+<%@ Page debug="true" %>
+
+<html>
+<script language="C#" runat="server">
+
+ServiceDescriptionCollection descriptions;
+XmlSchemas schemas;
+
+string WebServiceName;
+string WebServiceDescription;
+string PageName;
+
+string DefaultBinding;
+ArrayList ServiceProtocols;
+
+string CurrentOperationName;
+string CurrentOperationBinding;
+string OperationDocumentation;
+string CurrentOperationFormat;
+bool CurrentOperationSupportsTest;
+ArrayList InParams;
+ArrayList OutParams;
+string CurrentOperationProtocols;
+int CodeTextColumns = 95;
+BasicProfileViolationCollection ProfileViolations;
+
+void Page_Load(object sender, EventArgs e)
+{
+ descriptions = (ServiceDescriptionCollection) Context.Items["wsdls"];
+ schemas = (XmlSchemas) Context.Items["schemas"];
+
+ ServiceDescription desc = descriptions [0];
+ if (schemas.Count == 0) schemas = desc.Types.Schemas;
+
+ Service service = desc.Services[0];
+ WebServiceName = service.Name;
+ if (desc.Bindings.Count == 0)
+ return;
+
+ DefaultBinding = desc.Bindings[0].Name;
+ WebServiceDescription = service.Documentation;
+ if (WebServiceDescription == "" || WebServiceDescription == null)
+ WebServiceDescription = "Description has not been provided";
+ ServiceProtocols = FindServiceProtocols (null);
+
+ CurrentOperationName = Request.QueryString["op"];
+ CurrentOperationBinding = Request.QueryString["bnd"];
+ if (CurrentOperationName != null) BuildOperationInfo ();
+
+ PageName = HttpUtility.UrlEncode (Path.GetFileName(Request.Path), Encoding.UTF8);
+
+ ArrayList list = new ArrayList ();
+ foreach (ServiceDescription sd in descriptions) {
+ foreach (Binding bin in sd.Bindings)
+ if (bin.Extensions.Find (typeof(SoapBinding)) != null) list.Add (bin);
+ }
+
+ BindingsRepeater.DataSource = list;
+ Page.DataBind();
+
+ ProfileViolations = new BasicProfileViolationCollection ();
+ foreach (WsiProfilesElement claims in ((WebServicesSection) WebConfigurationManager.GetSection("system.web/webServices")).ConformanceWarnings)
+ if (claims.Name != WsiProfiles.None)
+ WebServicesInteroperability.CheckConformance (claims.Name, descriptions, ProfileViolations);
+}
+
+void BuildOperationInfo ()
+{
+ InParams = new ArrayList ();
+ OutParams = new ArrayList ();
+
+ Port port = FindPort (CurrentOperationBinding, null);
+ Binding binding = descriptions.GetBinding (port.Binding);
+
+ PortType portType = descriptions.GetPortType (binding.Type);
+ Operation oper = FindOperation (portType, CurrentOperationName);
+
+ OperationDocumentation = oper.Documentation;
+ if (OperationDocumentation == null || OperationDocumentation == "")
+ OperationDocumentation = "No additional remarks";
+
+ foreach (OperationMessage opm in oper.Messages)
+ {
+ if (opm is OperationInput)
+ BuildParameters (InParams, opm);
+ else if (opm is OperationOutput)
+ BuildParameters (OutParams, opm);
+ }
+
+ // Protocols supported by the operation
+ CurrentOperationProtocols = "";
+ WebServiceProtocols testProtocols = 0;
+ ArrayList prots = FindServiceProtocols (CurrentOperationName);
+ for (int n=0; n<prots.Count; n++) {
+ string prot = (string) prots [n];
+ if (n != 0) CurrentOperationProtocols += ", ";
+ CurrentOperationProtocols += prot;
+ if (prot == "HttpGet")
+ testProtocols |= WebServiceProtocols.HttpGet;
+ else if (prot == "HttpPost") {
+ testProtocols |= WebServiceProtocols.HttpPost;
+ if (Context.Request.IsLocal)
+ testProtocols |= WebServiceProtocols.HttpPostLocalhost;
+ }
+ }
+ CurrentOperationSupportsTest = (WebServicesSection.Current.EnabledProtocols & testProtocols) != 0;
+
+ // Operation format
+ OperationBinding obin = FindOperation (binding, CurrentOperationName);
+ if (obin != null)
+ CurrentOperationFormat = GetOperationFormat (obin);
+
+ InputParamsRepeater.DataSource = InParams;
+ InputFormParamsRepeater.DataSource = InParams;
+ OutputParamsRepeater.DataSource = OutParams;
+}
+
+void BuildParameters (ArrayList list, OperationMessage opm)
+{
+ Message msg = descriptions.GetMessage (opm.Message);
+ if (msg.Parts.Count > 0 && msg.Parts[0].Name == "parameters")
+ {
+ MessagePart part = msg.Parts[0];
+ XmlSchemaComplexType ctype;
+ if (part.Element == XmlQualifiedName.Empty)
+ {
+ ctype = (XmlSchemaComplexType) schemas.Find (part.Type, typeof(XmlSchemaComplexType));
+ }
+ else
+ {
+ XmlSchemaElement elem = (XmlSchemaElement) schemas.Find (part.Element, typeof(XmlSchemaElement));
+ ctype = (XmlSchemaComplexType) elem.SchemaType;
+ }
+ XmlSchemaSequence seq = ctype.Particle as XmlSchemaSequence;
+ if (seq == null) return;
+
+ foreach (XmlSchemaObject ob in seq.Items)
+ {
+ Parameter p = new Parameter();
+ p.Description = "No additional remarks";
+
+ if (ob is XmlSchemaElement)
+ {
+ XmlSchemaElement selem = GetRefElement ((XmlSchemaElement)ob);
+ p.Name = selem.Name;
+ p.Type = selem.SchemaTypeName.Name;
+ }
+ else
+ {
+ p.Name = "Unknown";
+ p.Type = "Unknown";
+ }
+ list.Add (p);
+ }
+ }
+ else
+ {
+ foreach (MessagePart part in msg.Parts)
+ {
+ Parameter p = new Parameter ();
+ p.Description = "No additional remarks";
+ p.Name = part.Name;
+ if (part.Element == XmlQualifiedName.Empty)
+ p.Type = part.Type.Name;
+ else
+ {
+ XmlSchemaElement elem = (XmlSchemaElement) schemas.Find (part.Element, typeof(XmlSchemaElement));
+ p.Type = elem.SchemaTypeName.Name;
+ }
+ list.Add (p);
+ }
+ }
+}
+
+string GetOperationFormat (OperationBinding obin)
+{
+ string format = "";
+ SoapOperationBinding sob = obin.Extensions.Find (typeof(SoapOperationBinding)) as SoapOperationBinding;
+ if (sob != null) {
+ format = sob.Style.ToString ();
+ SoapBodyBinding sbb = obin.Input.Extensions.Find (typeof(SoapBodyBinding)) as SoapBodyBinding;
+ if (sbb != null)
+ format += " / " + sbb.Use;
+ }
+ return format;
+}
+
+XmlSchemaElement GetRefElement (XmlSchemaElement elem)
+{
+ if (!elem.RefName.IsEmpty)
+ return (XmlSchemaElement) schemas.Find (elem.RefName, typeof(XmlSchemaElement));
+ else
+ return elem;
+}
+
+ArrayList FindServiceProtocols(string operName)
+{
+ ArrayList table = new ArrayList ();
+ Service service = descriptions[0].Services[0];
+ foreach (Port port in service.Ports)
+ {
+ string prot = null;
+ Binding bin = descriptions.GetBinding (port.Binding);
+ if (bin.Extensions.Find (typeof(SoapBinding)) != null)
+ prot = "Soap";
+ else
+ {
+ HttpBinding hb = (HttpBinding) bin.Extensions.Find (typeof(HttpBinding));
+ if (hb != null && hb.Verb == "POST") prot = "HttpPost";
+ else if (hb != null && hb.Verb == "GET") prot = "HttpGet";
+ }
+
+ if (prot != null && operName != null)
+ {
+ if (FindOperation (bin, operName) == null)
+ prot = null;
+ }
+
+ if (prot != null && !table.Contains (prot))
+ table.Add (prot);
+ }
+ return table;
+}
+
+Port FindPort (string portName, string protocol)
+{
+ Service service = descriptions[0].Services[0];
+ foreach (Port port in service.Ports)
+ {
+ if (portName == null)
+ {
+ Binding binding = descriptions.GetBinding (port.Binding);
+ if (GetProtocol (binding) == protocol) return port;
+ }
+ else if (port.Name == portName)
+ return port;
+ }
+ return null;
+}
+
+string GetProtocol (Binding binding)
+{
+ if (binding.Extensions.Find (typeof(SoapBinding)) != null) return "Soap";
+ HttpBinding hb = (HttpBinding) binding.Extensions.Find (typeof(HttpBinding));
+ if (hb == null) return "";
+ if (hb.Verb == "POST") return "HttpPost";
+ if (hb.Verb == "GET") return "HttpGet";
+ return "";
+}
+
+
+Operation FindOperation (PortType portType, string name)
+{
+ foreach (Operation oper in portType.Operations) {
+ if (oper.Messages.Input.Name != null) {
+ if (oper.Messages.Input.Name == name) return oper;
+ }
+ else
+ if (oper.Name == name) return oper;
+ }
+
+ return null;
+}
+
+OperationBinding FindOperation (Binding binding, string name)
+{
+ foreach (OperationBinding oper in binding.Operations) {
+ if (oper.Input.Name != null) {
+ if (oper.Input.Name == name) return oper;
+ }
+ else
+ if (oper.Name == name) return oper;
+ }
+
+ return null;
+}
+
+string FormatBindingName (string name)
+{
+ if (name == DefaultBinding) return "Methods";
+ else return "Methods for binding<br>" + name;
+}
+
+string GetOpName (object op)
+{
+ OperationBinding ob = op as OperationBinding;
+ if (ob == null) return "";
+ if (ob.Input.Name != null) return ob.Input.Name;
+ else return ob.Name;
+}
+
+bool HasFormResult
+{
+ get { return Request.QueryString ["ext"] == "testform"; }
+}
+
+class NoCheckCertificatePolicy : ICertificatePolicy {
+ public bool CheckValidationResult (ServicePoint a, X509Certificate b, WebRequest c, int d)
+ {
+ return true;
+ }
+}
+
+string GetOrPost ()
+{
+ return (CurrentOperationProtocols.IndexOf ("HttpGet") >= 0) ? "GET" : "POST";
+}
+
+string GetQS ()
+{
+ bool fill = false;
+ string qs = "";
+ NameValueCollection query_string = Request.QueryString;
+ for (int n = 0; n < query_string.Count; n++) {
+ if (fill) {
+ if (qs != "") qs += "&";
+ qs += query_string.GetKey(n) + "=" + Server.UrlEncode (query_string [n]);
+ }
+ if (query_string.GetKey(n) == "ext") fill = true;
+ }
+
+ return qs;
+}
+
+string GetTestResultUrl ()
+{
+ if (!HasFormResult) return "";
+
+ string location = null;
+ ServiceDescription desc = descriptions [0];
+ Service service = desc.Services[0];
+ foreach (Port port in service.Ports)
+ if (port.Name == CurrentOperationBinding)
+ {
+ SoapAddressBinding sbi = (SoapAddressBinding) port.Extensions.Find (typeof(SoapAddressBinding));
+ if (sbi != null)
+ location = sbi.Location;
+ }
+
+ if (location == null)
+ return "Could not locate web service";
+
+ return location + "/" + CurrentOperationName;
+}
+
+string GenerateOperationMessages (string protocol, bool generateInput)
+{
+ if (!IsOperationSupported (protocol)) return "";
+
+ Port port;
+ if (protocol != "Soap") port = FindPort (null, protocol);
+ else port = FindPort (CurrentOperationBinding, null);
+
+ Binding binding = descriptions.GetBinding (port.Binding);
+ OperationBinding obin = FindOperation (binding, CurrentOperationName);
+ PortType portType = descriptions.GetPortType (binding.Type);
+ Operation oper = FindOperation (portType, CurrentOperationName);
+
+ HtmlSampleGenerator sg = new HtmlSampleGenerator (descriptions, schemas);
+ string txt = sg.GenerateMessage (port, obin, oper, protocol, generateInput);
+ if (protocol == "Soap") txt = WrapText (txt,CodeTextColumns);
+ txt = ColorizeXml (txt);
+ txt = txt.Replace ("@placeholder!","<span class='literal-placeholder'>");
+ txt = txt.Replace ("!placeholder@","</span>");
+ return txt;
+}
+
+bool IsOperationSupported (string protocol)
+{
+ if (CurrentPage != "op" || CurrentTab != "msg") return false;
+ if (protocol == "Soap") return true;
+
+ Port port = FindPort (null, protocol);
+ if (port == null) return false;
+ Binding binding = descriptions.GetBinding (port.Binding);
+ if (binding == null) return false;
+ return FindOperation (binding, CurrentOperationName) != null;
+}
+
+//
+// Proxy code generation
+//
+
+string GetProxyCode ()
+{
+ CodeNamespace codeNamespace = new CodeNamespace();
+ CodeCompileUnit codeUnit = new CodeCompileUnit();
+
+ codeUnit.Namespaces.Add (codeNamespace);
+
+ ServiceDescriptionImporter importer = new ServiceDescriptionImporter();
+
+ foreach (ServiceDescription sd in descriptions)
+ importer.AddServiceDescription(sd, null, null);
+
+ foreach (XmlSchema sc in schemas)
+ importer.Schemas.Add (sc);
+
+ importer.Import(codeNamespace, codeUnit);
+
+ string langId = Request.QueryString ["lang"];
+ if (langId == null || langId == "") langId = "cs";
+ CodeDomProvider provider = GetProvider (langId);
+ ICodeGenerator generator = provider.CreateGenerator();
+ CodeGeneratorOptions options = new CodeGeneratorOptions();
+
+ StringWriter sw = new StringWriter ();
+ generator.GenerateCodeFromCompileUnit(codeUnit, sw, options);
+
+ return Colorize (WrapText (sw.ToString (), CodeTextColumns), langId);
+}
+
+public string CurrentLanguage
+{
+ get {
+ string langId = Request.QueryString ["lang"];
+ if (langId == null || langId == "") langId = "cs";
+ return langId;
+ }
+}
+
+public string CurrentProxytName
+{
+ get {
+ string lan = CurrentLanguage == "cs" ? "C#" : "Visual Basic";
+ return lan + " Client Proxy";
+ }
+}
+
+private CodeDomProvider GetProvider(string langId)
+{
+ switch (langId.ToUpper())
+ {
+ case "CS": return new CSharpCodeProvider();
+ case "VB": return new VBCodeProvider();
+ default: return null;
+ }
+}
+
+//
+// Document generation
+//
+class UTF8StringWriter : StringWriter {
+ public override Encoding Encoding {
+ get { return Encoding.UTF8; }
+ }
+}
+
+string GenerateDocument ()
+{
+ UTF8StringWriter sw = new UTF8StringWriter ();
+
+ if (CurrentDocType == "wsdl")
+ descriptions [CurrentDocInd].Write (sw);
+ else if (CurrentDocType == "schema")
+ schemas [CurrentDocInd].Write (sw);
+
+ return Colorize (WrapText (sw.ToString (), CodeTextColumns), "xml");
+}
+
+public string CurrentDocType
+{
+ get { return Request.QueryString ["doctype"] != null ? Request.QueryString ["doctype"] : "wsdl"; }
+}
+
+public int CurrentDocInd
+{
+ get { return Request.QueryString ["docind"] != null ? int.Parse (Request.QueryString ["docind"]) : 0; }
+}
+
+public string CurrentDocumentName
+{
+ get {
+ if (CurrentDocType == "wsdl")
+ return "WSDL document for namespace \"" + descriptions [CurrentDocInd].TargetNamespace + "\"";
+ else
+ return "Xml Schema for namespace \"" + schemas [CurrentDocInd].TargetNamespace + "\"";
+ }
+}
+
+//
+// Pages and tabs
+//
+
+bool firstTab = true;
+ArrayList disabledTabs = new ArrayList ();
+
+string CurrentTab
+{
+ get { return Request.QueryString["tab"] != null ? Request.QueryString["tab"] : "main" ; }
+}
+
+string CurrentPage
+{
+ get { return Request.QueryString["page"] != null ? Request.QueryString["page"] : "main" ; }
+}
+
+void WriteTabs ()
+{
+ if (CurrentOperationName != null)
+ {
+ WriteTab ("main","Overview");
+ WriteTab ("test","Test Form");
+ WriteTab ("msg","Message Layout");
+ }
+}
+
+void WriteTab (string id, string label)
+{
+ if (!firstTab) Response.Write(" | ");
+ firstTab = false;
+
+ string cname = CurrentTab == id ? "tabLabelOn" : "tabLabelOff";
+ Response.Write ("<a href='" + PageName + "?" + GetPageContext(null) + GetDataContext() + "tab=" + id + "' style='text-decoration:none'>");
+ Response.Write ("<span class='" + cname + "'>" + label + "</span>");
+ Response.Write ("</a>");
+}
+
+string GetTabContext (string pag, string tab)
+{
+ if (tab == null) tab = CurrentTab;
+ if (pag == null) pag = CurrentPage;
+ if (pag != CurrentPage) tab = "main";
+ return "page=" + pag + "&tab=" + tab + "&";
+}
+
+string GetPageContext (string pag)
+{
+ if (pag == null) pag = CurrentPage;
+ return "page=" + pag + "&";
+}
+
+class Tab
+{
+ public string Id;
+ public string Label;
+}
+
+//
+// Syntax coloring
+//
+
+static string keywords_cs =
+ "(\\babstract\\b|\\bevent\\b|\\bnew\\b|\\bstruct\\b|\\bas\\b|\\bexplicit\\b|\\bnull\\b|\\bswitch\\b|\\bbase\\b|\\bextern\\b|" +
+ "\\bobject\\b|\\bthis\\b|\\bbool\\b|\\bfalse\\b|\\boperator\\b|\\bthrow\\b|\\bbreak\\b|\\bfinally\\b|\\bout\\b|\\btrue\\b|" +
+ "\\bbyte\\b|\\bfixed\\b|\\boverride\\b|\\btry\\b|\\bcase\\b|\\bfloat\\b|\\bparams\\b|\\btypeof\\b|\\bcatch\\b|\\bfor\\b|" +
+ "\\bprivate\\b|\\buint\\b|\\bchar\\b|\\bforeach\\b|\\bprotected\\b|\\bulong\\b|\\bchecked\\b|\\bgoto\\b|\\bpublic\\b|" +
+ "\\bunchecked\\b|\\bclass\\b|\\bif\\b|\\breadonly\\b|\\bunsafe\\b|\\bconst\\b|\\bimplicit\\b|\\bref\\b|\\bushort\\b|" +
+ "\\bcontinue\\b|\\bin\\b|\\breturn\\b|\\busing\\b|\\bdecimal\\b|\\bint\\b|\\bsbyte\\b|\\bvirtual\\b|\\bdefault\\b|" +
+ "\\binterface\\b|\\bsealed\\b|\\bvolatile\\b|\\bdelegate\\b|\\binternal\\b|\\bshort\\b|\\bvoid\\b|\\bdo\\b|\\bis\\b|" +
+ "\\bsizeof\\b|\\bwhile\\b|\\bdouble\\b|\\block\\b|\\bstackalloc\\b|\\belse\\b|\\blong\\b|\\bstatic\\b|\\benum\\b|" +
+ "\\bnamespace\\b|\\bstring\\b)";
+
+static string keywords_vb =
+ "(\\bAddHandler\\b|\\bAddressOf\\b|\\bAlias\\b|\\bAnd\\b|\\bAndAlso\\b|\\bAnsi\\b|\\bAs\\b|\\bAssembly\\b|" +
+ "\\bAuto\\b|\\bBoolean\\b|\\bByRef\\b|\\bByte\\b|\\bByVal\\b|\\bCall\\b|\\bCase\\b|\\bCatch\\b|" +
+ "\\bCBool\\b|\\bCByte\\b|\\bCChar\\b|\\bCDate\\b|\\bCDec\\b|\\bCDbl\\b|\\bChar\\b|\\bCInt\\b|" +
+ "\\bClass\\b|\\bCLng\\b|\\bCObj\\b|\\bConst\\b|\\bCShort\\b|\\bCSng\\b|\\bCStr\\b|\\bCType\\b|" +
+ "\\bDate\\b|\\bDecimal\\b|\\bDeclare\\b|\\bDefault\\b|\\bDelegate\\b|\\bDim\\b|\\bDirectCast\\b|\\bDo\\b|" +
+ "\\bDouble\\b|\\bEach\\b|\\bElse\\b|\\bElseIf\\b|\\bEnd\\b|\\bEnum\\b|\\bErase\\b|\\bError\\b|" +
+ "\\bEvent\\b|\\bExit\\b|\\bFalse\\b|\\bFinally\\b|\\bFor\\b|\\bFriend\\b|\\bFunction\\b|\\bGet\\b|" +
+ "\\bGetType\\b|\\bGoSub\\b|\\bGoTo\\b|\\bHandles\\b|\\bIf\\b|\\bImplements\\b|\\bImports\\b|\\bIn\\b|" +
+ "\\bInherits\\b|\\bInteger\\b|\\bInterface\\b|\\bIs\\b|\\bLet\\b|\\bLib\\b|\\bLike\\b|\\bLong\\b|" +
+ "\\bLoop\\b|\\bMe\\b|\\bMod\\b|\\bModule\\b|\\bMustInherit\\b|\\bMustOverride\\b|\\bMyBase\\b|\\bMyClass\\b|" +
+ "\\bNamespace\\b|\\bNew\\b|\\bNext\\b|\\bNot\\b|\\bNothing\\b|\\bNotInheritable\\b|\\bNotOverridable\\b|\\bObject\\b|" +
+ "\\bOn\\b|\\bOption\\b|\\bOptional\\b|\\bOr\\b|\\bOrElse\\b|\\bOverloads\\b|\\bOverridable\\b|\\bOverrides\\b|" +
+ "\\bParamArray\\b|\\bPreserve\\b|\\bPrivate\\b|\\bProperty\\b|\\bProtected\\b|\\bPublic\\b|\\bRaiseEvent\\b|\\bReadOnly\\b|" +
+ "\\bReDim\\b|\\bREM\\b|\\bRemoveHandler\\b|\\bResume\\b|\\bReturn\\b|\\bSelect\\b|\\bSet\\b|\\bShadows\\b|" +
+ "\\bShared\\b|\\bShort\\b|\\bSingle\\b|\\bStatic\\b|\\bStep\\b|\\bStop\\b|\\bString\\b|\\bStructure\\b|" +
+ "\\bSub\\b|\\bSyncLock\\b|\\bThen\\b|\\bThrow\\b|\\bTo\\b|\\bTrue\\b|\\bTry\\b|\\bTypeOf\\b|" +
+ "\\bUnicode\\b|\\bUntil\\b|\\bVariant\\b|\\bWhen\\b|\\bWhile\\b|\\bWith\\b|\\bWithEvents\\b|\\bWriteOnly\\b|\\bXor\\b)";
+
+string Colorize (string text, string lang)
+{
+ if (lang == "xml") return ColorizeXml (text);
+ else if (lang == "cs") return ColorizeCs (text);
+ else if (lang == "vb") return ColorizeVb (text);
+ else return text;
+}
+
+string ColorizeXml (string text)
+{
+ text = text.Replace (" ", " ");
+ Regex re = new Regex ("\r\n|\r|\n");
+ text = re.Replace (text, "_br_");
+
+ re = new Regex ("<\\s*(\\/?)\\s*([\\s\\S]*?)\\s*(\\/?)\\s*>");
+ text = re.Replace (text,"{blue:<$1}{maroon:$2}{blue:$3>}");
+
+ re = new Regex ("\\{(\\w*):([\\s\\S]*?)\\}");
+ text = re.Replace (text,"<span style='color:$1'>$2</span>");
+
+ re = new Regex ("\"(.*?)\"");
+ text = re.Replace (text,"\"<span style='color:purple'>$1</span>\"");
+
+
+ text = text.Replace ("\t", " ");
+ text = text.Replace ("_br_", "<br>");
+ return text;
+}
+
+string ColorizeCs (string text)
+{
+ text = text.Replace (" ", " ");
+
+ text = text.Replace ("<", "<");
+ text = text.Replace (">", ">");
+
+ Regex re = new Regex ("\"((((?!\").)|\\\")*?)\"");
+ text = re.Replace (text,"<span style='color:purple'>\"$1\"</span>");
+
+ re = new Regex ("//(((.(?!\"</span>))|\"(((?!\").)*)\"</span>)*)(\r|\n|\r\n)");
+ text = re.Replace (text,"<span style='color:green'>//$1</span><br/>");
+
+ re = new Regex (keywords_cs);
+ text = re.Replace (text,"<span style='color:blue'>$1</span>");
+
+ text = text.Replace ("\t"," ");
+ text = text.Replace ("\n","<br/>");
+
+ return text;
+}
+
+string ColorizeVb (string text)
+{
+ text = text.Replace (" ", " ");
+
+/* Regex re = new Regex ("\"((((?!\").)|\\\")*?)\"");
+ text = re.Replace (text,"<span style='color:purple'>\"$1\"</span>");
+
+ re = new Regex ("'(((.(?!\"\\<\\/span\\>))|\"(((?!\").)*)\"\\<\\/span\\>)*)(\r|\n|\r\n)");
+ text = re.Replace (text,"<span style='color:green'>//$1</span><br/>");
+
+ re = new Regex (keywords_vb);
+ text = re.Replace (text,"<span style='color:blue'>$1</span>");
+*/
+ text = text.Replace ("\t"," ");
+ text = text.Replace ("\n","<br/>");
+ return text;
+}
+
+//
+// Helper methods and classes
+//
+
+string GetDataContext ()
+{
+ return "op=" + CurrentOperationName + "&bnd=" + CurrentOperationBinding + "&";
+}
+
+string GetOptionSel (string v1, string v2)
+{
+ string op = "<option ";
+ if (v1 == v2) op += "selected ";
+ return op + "value='" + v1 + "'>";
+}
+
+string WrapText (string text, int maxChars)
+{
+ text = text.Replace(" />","/>");
+
+ string linspace = null;
+ int lincount = 0;
+ int breakpos = 0;
+ int linstart = 0;
+ bool inquotes = false;
+ char lastc = ' ';
+ string sublineIndent = "";
+ System.Text.StringBuilder sb = new System.Text.StringBuilder ();
+ for (int n=0; n<text.Length; n++)
+ {
+ char c = text [n];
+
+ if (c=='\r' || c=='\n' || n==text.Length-1)
+ {
+ sb.Append (linspace + sublineIndent + text.Substring (linstart, n-linstart+1));
+ linspace = null;
+ lincount = 0;
+ linstart = n+1;
+ breakpos = linstart;
+ sublineIndent = "";
+ lastc = c;
+ continue;
+ }
+
+ if (lastc==',' || lastc=='(')
+ {
+ if (!inquotes) breakpos = n;
+ }
+
+ if (lincount > maxChars && breakpos >= linstart)
+ {
+ if (linspace != null)
+ sb.Append (linspace + sublineIndent);
+ sb.Append (text.Substring (linstart, breakpos-linstart));
+ sb.Append ("\n");
+ sublineIndent = " ";
+ lincount = linspace.Length + sublineIndent.Length + (n-breakpos);
+ linstart = breakpos;
+ }
+
+ if (c==' ' || c=='\t')
+ {
+ if (!inquotes)
+ breakpos = n;
+ }
+ else if (c=='"')
+ {
+ inquotes = !inquotes;
+ }
+ else
+ if (linspace == null) {
+ linspace = text.Substring (linstart, n-linstart);
+ linstart = n;
+ }
+
+ lincount++;
+ lastc = c;
+ }
+ return sb.ToString ();
+}
+
+class Parameter
+{
+ string name;
+ string type;
+ string description;
+
+ public string Name { get { return name; } set { name = value; } }
+ public string Type { get { return type; } set { type = value; } }
+ public string Description { get { return description; } set { description = value; } }
+}
+
+public class HtmlSampleGenerator: SampleGenerator
+{
+ public HtmlSampleGenerator (ServiceDescriptionCollection services, XmlSchemas schemas)
+ : base (services, schemas)
+ {
+ }
+
+ protected override string GetLiteral (string s)
+ {
+ return "@placeholder!" + s + "!placeholder@";
+ }
+}
+
+
+ public class SampleGenerator
+ {
+ protected ServiceDescriptionCollection descriptions;
+ protected XmlSchemas schemas;
+ XmlSchemaElement anyElement;
+ ArrayList queue;
+ SoapBindingUse currentUse;
+ XmlDocument document = new XmlDocument ();
+
+ static readonly XmlQualifiedName anyType = new XmlQualifiedName ("anyType",XmlSchema.Namespace);
+ static readonly XmlQualifiedName arrayType = new XmlQualifiedName ("Array","http://schemas.xmlsoap.org/soap/encoding/");
+ static readonly XmlQualifiedName arrayTypeRefName = new XmlQualifiedName ("arrayType","http://schemas.xmlsoap.org/soap/encoding/");
+ const string SoapEnvelopeNamespace = "http://schemas.xmlsoap.org/soap/envelope/";
+ const string WsdlNamespace = "http://schemas.xmlsoap.org/wsdl/";
+ const string SoapEncodingNamespace = "http://schemas.xmlsoap.org/soap/encoding/";
+
+ class EncodedType
+ {
+ public EncodedType (string ns, XmlSchemaElement elem) { Namespace = ns; Element = elem; }
+ public string Namespace;
+ public XmlSchemaElement Element;
+ }
+
+ public SampleGenerator (ServiceDescriptionCollection services, XmlSchemas schemas)
+ {
+ descriptions = services;
+ this.schemas = schemas;
+ queue = new ArrayList ();
+ }
+
+ public string GenerateMessage (Port port, OperationBinding obin, Operation oper, string protocol, bool generateInput)
+ {
+ OperationMessage msg = null;
+ foreach (OperationMessage opm in oper.Messages)
+ {
+ if (opm is OperationInput && generateInput) msg = opm;
+ else if (opm is OperationOutput && !generateInput) msg = opm;
+ }
+ if (msg == null) return null;
+
+ switch (protocol) {
+ case "Soap": return GenerateHttpSoapMessage (port, obin, oper, msg);
+ case "HttpGet": return GenerateHttpGetMessage (port, obin, oper, msg);
+ case "HttpPost": return GenerateHttpPostMessage (port, obin, oper, msg);
+ }
+ return "Unknown protocol";
+ }
+
+ public string GenerateHttpSoapMessage (Port port, OperationBinding obin, Operation oper, OperationMessage msg)
+ {
+ string req = "";
+
+ if (msg is OperationInput)
+ {
+ SoapAddressBinding sab = port.Extensions.Find (typeof(SoapAddressBinding)) as SoapAddressBinding;
+ SoapOperationBinding sob = obin.Extensions.Find (typeof(SoapOperationBinding)) as SoapOperationBinding;
+ req += "POST " + new Uri (sab.Location).AbsolutePath + "\n";
+ req += "SOAPAction: " + sob.SoapAction + "\n";
+ req += "Content-Type: text/xml; charset=utf-8\n";
+ req += "Content-Length: " + GetLiteral ("string") + "\n";
+ req += "Host: " + GetLiteral ("string") + "\n\n";
+ }
+ else
+ {
+ req += "HTTP/1.0 200 OK\n";
+ req += "Content-Type: text/xml; charset=utf-8\n";
+ req += "Content-Length: " + GetLiteral ("string") + "\n\n";
+ }
+
+ req += GenerateSoapMessage (obin, oper, msg);
+ return req;
+ }
+
+ public string GenerateHttpGetMessage (Port port, OperationBinding obin, Operation oper, OperationMessage msg)
+ {
+ string req = "";
+
+ if (msg is OperationInput)
+ {
+ HttpAddressBinding sab = port.Extensions.Find (typeof(HttpAddressBinding)) as HttpAddressBinding;
+ HttpOperationBinding sob = obin.Extensions.Find (typeof(HttpOperationBinding)) as HttpOperationBinding;
+ string location = new Uri (sab.Location).AbsolutePath + sob.Location + "?" + BuildQueryString (msg);
+ req += "GET " + location + "\n";
+ req += "Host: " + GetLiteral ("string");
+ }
+ else
+ {
+ req += "HTTP/1.0 200 OK\n";
+ req += "Content-Type: text/xml; charset=utf-8\n";
+ req += "Content-Length: " + GetLiteral ("string") + "\n\n";
+
+ MimeXmlBinding mxb = (MimeXmlBinding) obin.Output.Extensions.Find (typeof(MimeXmlBinding)) as MimeXmlBinding;
+ if (mxb == null) return req;
+
+ Message message = descriptions.GetMessage (msg.Message);
+ XmlQualifiedName ename = null;
+ foreach (MessagePart part in message.Parts)
+ if (part.Name == mxb.Part) ename = part.Element;
+
+ if (ename == null) return req + GetLiteral("string");
+
+ StringWriter sw = new StringWriter ();
+ XmlTextWriter xtw = new XmlTextWriter (sw);
+ xtw.Formatting = Formatting.Indented;
+ currentUse = SoapBindingUse.Literal;
+ WriteRootElementSample (xtw, ename);
+ xtw.Close ();
+ req += sw.ToString ();
+ }
+
+ return req;
+ }
+
+ public string GenerateHttpPostMessage (Port port, OperationBinding obin, Operation oper, OperationMessage msg)
+ {
+ string req = "";
+
+ if (msg is OperationInput)
+ {
+ HttpAddressBinding sab = port.Extensions.Find (typeof(HttpAddressBinding)) as HttpAddressBinding;
+ HttpOperationBinding sob = obin.Extensions.Find (typeof(HttpOperationBinding)) as HttpOperationBinding;
+ string location = new Uri (sab.Location).AbsolutePath + sob.Location;
+ req += "POST " + location + "\n";
+ req += "Content-Type: application/x-www-form-urlencoded\n";
+ req += "Content-Length: " + GetLiteral ("string") + "\n";
+ req += "Host: " + GetLiteral ("string") + "\n\n";
+ req += BuildQueryString (msg);
+ }
+ else return GenerateHttpGetMessage (port, obin, oper, msg);
+
+ return req;
+ }
+
+ string BuildQueryString (OperationMessage opm)
+ {
+ string s = "";
+ Message msg = descriptions.GetMessage (opm.Message);
+ foreach (MessagePart part in msg.Parts)
+ {
+ if (s.Length != 0) s += "&";
+ s += part.Name + "=" + GetLiteral (part.Type.Name);
+ }
+ return s;
+ }
+
+ public string GenerateSoapMessage (OperationBinding obin, Operation oper, OperationMessage msg)
+ {
+ SoapOperationBinding sob = obin.Extensions.Find (typeof(SoapOperationBinding)) as SoapOperationBinding;
+ SoapBindingStyle style = (sob != null) ? sob.Style : SoapBindingStyle.Document;
+
+ MessageBinding msgbin = (msg is OperationInput) ? (MessageBinding) obin.Input : (MessageBinding)obin.Output;
+ SoapBodyBinding sbb = msgbin.Extensions.Find (typeof(SoapBodyBinding)) as SoapBodyBinding;
+ SoapBindingUse bodyUse = (sbb != null) ? sbb.Use : SoapBindingUse.Literal;
+
+ StringWriter sw = new StringWriter ();
+ XmlTextWriter xtw = new XmlTextWriter (sw);
+ xtw.Formatting = Formatting.Indented;
+
+ xtw.WriteStartDocument ();
+ xtw.WriteStartElement ("soap", "Envelope", SoapEnvelopeNamespace);
+ xtw.WriteAttributeString ("xmlns", "xsi", null, XmlSchema.InstanceNamespace);
+ xtw.WriteAttributeString ("xmlns", "xsd", null, XmlSchema.Namespace);
+
+ if (bodyUse == SoapBindingUse.Encoded)
+ {
+ xtw.WriteAttributeString ("xmlns", "soapenc", null, SoapEncodingNamespace);
+ xtw.WriteAttributeString ("xmlns", "tns", null, msg.Message.Namespace);
+ }
+
+ // Serialize headers
+
+ bool writtenHeader = false;
+ foreach (object ob in msgbin.Extensions)
+ {
+ SoapHeaderBinding hb = ob as SoapHeaderBinding;
+ if (hb == null) continue;
+
+ if (!writtenHeader) {
+ xtw.WriteStartElement ("soap", "Header", SoapEnvelopeNamespace);
+ writtenHeader = true;
+ }
+
+ WriteHeader (xtw, hb);
+ }
+
+ if (writtenHeader)
+ xtw.WriteEndElement ();
+
+ // Serialize body
+ xtw.WriteStartElement ("soap", "Body", SoapEnvelopeNamespace);
+
+ currentUse = bodyUse;
+ WriteBody (xtw, oper, msg, sbb, style);
+
+ xtw.WriteEndElement ();
+ xtw.WriteEndElement ();
+ xtw.Close ();
+ return sw.ToString ();
+ }
+
+ void WriteHeader (XmlTextWriter xtw, SoapHeaderBinding header)
+ {
+ Message msg = descriptions.GetMessage (header.Message);
+ if (msg == null) throw new InvalidOperationException ("Message " + header.Message + " not found");
+ MessagePart part = msg.Parts [header.Part];
+ if (part == null) throw new InvalidOperationException ("Message part " + header.Part + " not found in message " + header.Message);
+
+ currentUse = header.Use;
+
+ if (currentUse == SoapBindingUse.Literal)
+ WriteRootElementSample (xtw, part.Element);
+ else
+ WriteTypeSample (xtw, part.Type);
+ }
+
+ void WriteBody (XmlTextWriter xtw, Operation oper, OperationMessage opm, SoapBodyBinding sbb, SoapBindingStyle style)
+ {
+ Message msg = descriptions.GetMessage (opm.Message);
+ if (msg.Parts.Count > 0 && msg.Parts[0].Name == "parameters")
+ {
+ MessagePart part = msg.Parts[0];
+ if (part.Element == XmlQualifiedName.Empty)
+ WriteTypeSample (xtw, part.Type);
+ else
+ WriteRootElementSample (xtw, part.Element);
+ }
+ else
+ {
+ string elemName = oper.Name;
+ string ns = "";
+ if (opm is OperationOutput) elemName += "Response";
+
+ if (style == SoapBindingStyle.Rpc) {
+ xtw.WriteStartElement (elemName, sbb.Namespace);
+ ns = sbb.Namespace;
+ }
+
+ foreach (MessagePart part in msg.Parts)
+ {
+ if (part.Element == XmlQualifiedName.Empty)
+ {
+ XmlSchemaElement elem = new XmlSchemaElement ();
+ elem.SchemaTypeName = part.Type;
+ elem.Name = part.Name;
+ WriteElementSample (xtw, ns, elem);
+ }
+ else
+ WriteRootElementSample (xtw, part.Element);
+ }
+
+ if (style == SoapBindingStyle.Rpc)
+ xtw.WriteEndElement ();
+ }
+ WriteQueuedTypeSamples (xtw);
+ }
+
+ void WriteRootElementSample (XmlTextWriter xtw, XmlQualifiedName qname)
+ {
+ XmlSchemaElement elem = (XmlSchemaElement) schemas.Find (qname, typeof(XmlSchemaElement));
+ if (elem == null) throw new InvalidOperationException ("Element not found: " + qname);
+ WriteElementSample (xtw, qname.Namespace, elem);
+ }
+
+ void WriteElementSample (XmlTextWriter xtw, string ns, XmlSchemaElement elem)
+ {
+ bool sharedAnnType = false;
+ XmlQualifiedName root;
+
+ if (!elem.RefName.IsEmpty) {
+ XmlSchemaElement refElem = FindRefElement (elem);
+ if (refElem == null) throw new InvalidOperationException ("Global element not found: " + elem.RefName);
+ root = elem.RefName;
+ elem = refElem;
+ sharedAnnType = true;
+ }
+ else
+ root = new XmlQualifiedName (elem.Name, ns);
+
+ if (!elem.SchemaTypeName.IsEmpty)
+ {
+ XmlSchemaComplexType st = FindComplexTyype (elem.SchemaTypeName);
+ if (st != null)
+ WriteComplexTypeSample (xtw, st, root);
+ else
+ {
+ xtw.WriteStartElement (root.Name, root.Namespace);
+ if (currentUse == SoapBindingUse.Encoded)
+ xtw.WriteAttributeString ("type", XmlSchema.InstanceNamespace, GetQualifiedNameString (xtw, elem.SchemaTypeName));
+ xtw.WriteString (GetLiteral (FindBuiltInType (elem.SchemaTypeName)));
+ xtw.WriteEndElement ();
+ }
+ }
+ else if (elem.SchemaType == null)
+ {
+ xtw.WriteStartElement ("any");
+ xtw.WriteEndElement ();
+ }
+ else
+ WriteComplexTypeSample (xtw, (XmlSchemaComplexType) elem.SchemaType, root);
+ }
+
+ void WriteTypeSample (XmlTextWriter xtw, XmlQualifiedName qname)
+ {
+ XmlSchemaComplexType ctype = FindComplexTyype (qname);
+ if (ctype != null) {
+ WriteComplexTypeSample (xtw, ctype, qname);
+ return;
+ }
+
+ XmlSchemaSimpleType stype = (XmlSchemaSimpleType) schemas.Find (qname, typeof(XmlSchemaSimpleType));
+ if (stype != null) {
+ WriteSimpleTypeSample (xtw, stype);
+ return;
+ }
+
+ xtw.WriteString (GetLiteral (FindBuiltInType (qname)));
+ throw new InvalidOperationException ("Type not found: " + qname);
+ }
+
+ void WriteComplexTypeSample (XmlTextWriter xtw, XmlSchemaComplexType stype, XmlQualifiedName rootName)
+ {
+ WriteComplexTypeSample (xtw, stype, rootName, -1);
+ }
+
+ void WriteComplexTypeSample (XmlTextWriter xtw, XmlSchemaComplexType stype, XmlQualifiedName rootName, int id)
+ {
+ string ns = rootName.Namespace;
+
+ if (rootName.Name.IndexOf ("[]") != -1) rootName = arrayType;
+
+ if (currentUse == SoapBindingUse.Encoded) {
+ string pref = xtw.LookupPrefix (rootName.Namespace);
+ if (pref == null) pref = "q1";
+ xtw.WriteStartElement (pref, rootName.Name, rootName.Namespace);
+ ns = "";
+ }
+ else
+ xtw.WriteStartElement (rootName.Name, rootName.Namespace);
+
+ if (id != -1)
+ {
+ xtw.WriteAttributeString ("id", "id" + id);
+ if (rootName != arrayType)
+ xtw.WriteAttributeString ("type", XmlSchema.InstanceNamespace, GetQualifiedNameString (xtw, rootName));
+ }
+
+ WriteComplexTypeAttributes (xtw, stype);
+ WriteComplexTypeElements (xtw, ns, stype);
+
+ xtw.WriteEndElement ();
+ }
+
+ void WriteComplexTypeAttributes (XmlTextWriter xtw, XmlSchemaComplexType stype)
+ {
+ WriteAttributes (xtw, stype.Attributes, stype.AnyAttribute);
+ }
+
+ Dictionary<XmlSchemaComplexType,int> recursed_types = new Dictionary<XmlSchemaComplexType,int> ();
+ void WriteComplexTypeElements (XmlTextWriter xtw, string ns, XmlSchemaComplexType stype)
+ {
+ int prev = 0;
+ if (recursed_types.ContainsKey (stype))
+ prev = recursed_types [stype];
+
+ if (prev > 1)
+ return;
+ recursed_types [stype] = ++prev;
+
+ if (stype.Particle != null)
+ WriteParticleComplexContent (xtw, ns, stype.Particle);
+ else
+ {
+ if (stype.ContentModel is XmlSchemaSimpleContent)
+ WriteSimpleContent (xtw, (XmlSchemaSimpleContent)stype.ContentModel);
+ else if (stype.ContentModel is XmlSchemaComplexContent)
+ WriteComplexContent (xtw, ns, (XmlSchemaComplexContent)stype.ContentModel);
+ }
+ prev = recursed_types [stype];
+ recursed_types [stype] = --prev;
+ }
+
+ void WriteAttributes (XmlTextWriter xtw, XmlSchemaObjectCollection atts, XmlSchemaAnyAttribute anyat)
+ {
+ foreach (XmlSchemaObject at in atts)
+ {
+ if (at is XmlSchemaAttribute)
+ {
+ string ns;
+ XmlSchemaAttribute attr = (XmlSchemaAttribute)at;
+ XmlSchemaAttribute refAttr = attr;
+
+ // refAttr.Form; TODO
+
+ if (!attr.RefName.IsEmpty) {
+ refAttr = FindRefAttribute (attr.RefName);
+ if (refAttr == null) throw new InvalidOperationException ("Global attribute not found: " + attr.RefName);
+ }
+
+ string val;
+ if (!refAttr.SchemaTypeName.IsEmpty) val = FindBuiltInType (refAttr.SchemaTypeName);
+ else val = FindBuiltInType ((XmlSchemaSimpleType) refAttr.SchemaType);
+
+ xtw.WriteAttributeString (refAttr.Name, val);
+ }
+ else if (at is XmlSchemaAttributeGroupRef)
+ {
+ XmlSchemaAttributeGroupRef gref = (XmlSchemaAttributeGroupRef)at;
+ XmlSchemaAttributeGroup grp = (XmlSchemaAttributeGroup) schemas.Find (gref.RefName, typeof(XmlSchemaAttributeGroup));
+ WriteAttributes (xtw, grp.Attributes, grp.AnyAttribute);
+ }
+ }
+
+ if (anyat != null)
+ xtw.WriteAttributeString ("custom-attribute","value");
+ }
+
+ void WriteParticleComplexContent (XmlTextWriter xtw, string ns, XmlSchemaParticle particle)
+ {
+ WriteParticleContent (xtw, ns, particle, false);
+ }
+
+ void WriteParticleContent (XmlTextWriter xtw, string ns, XmlSchemaParticle particle, bool multiValue)
+ {
+ if (particle is XmlSchemaGroupRef)
+ particle = GetRefGroupParticle ((XmlSchemaGroupRef)particle);
+
+ if (particle.MaxOccurs > 1) multiValue = true;
+
+ if (particle is XmlSchemaSequence) {
+ WriteSequenceContent (xtw, ns, ((XmlSchemaSequence)particle).Items, multiValue);
+ }
+ else if (particle is XmlSchemaChoice) {
+ if (((XmlSchemaChoice)particle).Items.Count == 1)
+ WriteSequenceContent (xtw, ns, ((XmlSchemaChoice)particle).Items, multiValue);
+ else
+ WriteChoiceContent (xtw, ns, (XmlSchemaChoice)particle, multiValue);
+ }
+ else if (particle is XmlSchemaAll) {
+ WriteSequenceContent (xtw, ns, ((XmlSchemaAll)particle).Items, multiValue);
+ }
+ }
+
+ void WriteSequenceContent (XmlTextWriter xtw, string ns, XmlSchemaObjectCollection items, bool multiValue)
+ {
+ foreach (XmlSchemaObject item in items)
+ WriteContentItem (xtw, ns, item, multiValue);
+ }
+
+ void WriteContentItem (XmlTextWriter xtw, string ns, XmlSchemaObject item, bool multiValue)
+ {
+ if (item is XmlSchemaGroupRef)
+ item = GetRefGroupParticle ((XmlSchemaGroupRef)item);
+
+ if (item is XmlSchemaElement)
+ {
+ XmlSchemaElement elem = (XmlSchemaElement) item;
+ XmlSchemaElement refElem;
+ if (!elem.RefName.IsEmpty) refElem = FindRefElement (elem);
+ else refElem = elem;
+
+ int num = (elem.MaxOccurs == 1 && !multiValue) ? 1 : 2;
+ for (int n=0; n<num; n++)
+ {
+ if (currentUse == SoapBindingUse.Literal)
+ WriteElementSample (xtw, ns, refElem);
+ else
+ WriteRefTypeSample (xtw, ns, refElem);
+ }
+ }
+ else if (item is XmlSchemaAny)
+ {
+ xtw.WriteString (GetLiteral ("xml"));
+ }
+ else if (item is XmlSchemaParticle) {
+ WriteParticleContent (xtw, ns, (XmlSchemaParticle)item, multiValue);
+ }
+ }
+
+ void WriteChoiceContent (XmlTextWriter xtw, string ns, XmlSchemaChoice choice, bool multiValue)
+ {
+ foreach (XmlSchemaObject item in choice.Items)
+ WriteContentItem (xtw, ns, item, multiValue);
+ }
+
+ void WriteSimpleContent (XmlTextWriter xtw, XmlSchemaSimpleContent content)
+ {
+ XmlSchemaSimpleContentExtension ext = content.Content as XmlSchemaSimpleContentExtension;
+ if (ext != null)
+ WriteAttributes (xtw, ext.Attributes, ext.AnyAttribute);
+
+ XmlQualifiedName qname = GetContentBaseType (content.Content);
+ xtw.WriteString (GetLiteral (FindBuiltInType (qname)));
+ }
+
+ string FindBuiltInType (XmlQualifiedName qname)
+ {
+ if (qname.Namespace == XmlSchema.Namespace)
+ return qname.Name;
+
+ XmlSchemaComplexType ct = FindComplexTyype (qname);
+ if (ct != null)
+ {
+ XmlSchemaSimpleContent sc = ct.ContentModel as XmlSchemaSimpleContent;
+ if (sc == null) throw new InvalidOperationException ("Invalid schema");
+ return FindBuiltInType (GetContentBaseType (sc.Content));
+ }
+
+ XmlSchemaSimpleType st = (XmlSchemaSimpleType) schemas.Find (qname, typeof(XmlSchemaSimpleType));
+ if (st != null)
+ return FindBuiltInType (st);
+
+ throw new InvalidOperationException ("Definition of type " + qname + " not found");
+ }
+
+ string FindBuiltInType (XmlSchemaSimpleType st)
+ {
+ if (st.Content is XmlSchemaSimpleTypeRestriction) {
+ return FindBuiltInType (GetContentBaseType (st.Content));
+ }
+ else if (st.Content is XmlSchemaSimpleTypeList) {
+ string s = FindBuiltInType (GetContentBaseType (st.Content));
+ return s + " " + s + " ...";
+ }
+ else if (st.Content is XmlSchemaSimpleTypeUnion)
+ {
+ //Check if all types of the union are equal. If not, then will use anyType.
+ XmlSchemaSimpleTypeUnion uni = (XmlSchemaSimpleTypeUnion) st.Content;
+ string utype = null;
+
+ // Anonymous types are unique
+ if (uni.BaseTypes.Count != 0 && uni.MemberTypes.Length != 0)
+ return "string";
+
+ foreach (XmlQualifiedName mt in uni.MemberTypes)
+ {
+ string qn = FindBuiltInType (mt);
+ if (utype != null && qn != utype) return "string";
+ else utype = qn;
+ }
+ return utype;
+ }
+ else
+ return "string";
+ }
+
+
+ XmlQualifiedName GetContentBaseType (XmlSchemaObject ob)
+ {
+ if (ob is XmlSchemaSimpleContentExtension)
+ return ((XmlSchemaSimpleContentExtension)ob).BaseTypeName;
+ else if (ob is XmlSchemaSimpleContentRestriction)
+ return ((XmlSchemaSimpleContentRestriction)ob).BaseTypeName;
+ else if (ob is XmlSchemaSimpleTypeRestriction)
+ return ((XmlSchemaSimpleTypeRestriction)ob).BaseTypeName;
+ else if (ob is XmlSchemaSimpleTypeList)
+ return ((XmlSchemaSimpleTypeList)ob).ItemTypeName;
+ else
+ return null;
+ }
+
+ void WriteComplexContent (XmlTextWriter xtw, string ns, XmlSchemaComplexContent content)
+ {
+ XmlQualifiedName qname;
+
+ XmlSchemaComplexContentExtension ext = content.Content as XmlSchemaComplexContentExtension;
+ if (ext != null) qname = ext.BaseTypeName;
+ else {
+ XmlSchemaComplexContentRestriction rest = (XmlSchemaComplexContentRestriction)content.Content;
+ qname = rest.BaseTypeName;
+ if (qname == arrayType) {
+ ParseArrayType (rest, out qname);
+ XmlSchemaElement elem = new XmlSchemaElement ();
+ elem.Name = "Item";
+ elem.SchemaTypeName = qname;
+
+ xtw.WriteAttributeString ("arrayType", SoapEncodingNamespace, qname.Name + "[2]");
+ WriteContentItem (xtw, ns, elem, true);
+ return;
+ }
+ }
+
+ // Add base map members to this map
+ XmlSchemaComplexType ctype = FindComplexTyype (qname);
+ WriteComplexTypeAttributes (xtw, ctype);
+
+ if (ext != null) {
+ // Add the members of this map
+ WriteAttributes (xtw, ext.Attributes, ext.AnyAttribute);
+ if (ext.Particle != null)
+ WriteParticleComplexContent (xtw, ns, ext.Particle);
+ }
+
+ WriteComplexTypeElements (xtw, ns, ctype);
+ }
+
+ void ParseArrayType (XmlSchemaComplexContentRestriction rest, out XmlQualifiedName qtype)
+ {
+ XmlSchemaAttribute arrayTypeAt = FindArrayAttribute (rest.Attributes);
+ XmlAttribute[] uatts = arrayTypeAt.UnhandledAttributes;
+ if (uatts == null || uatts.Length == 0) throw new InvalidOperationException ("arrayType attribute not specified in array declaration");
+
+ XmlAttribute xat = null;
+ foreach (XmlAttribute at in uatts)
+ if (at.LocalName == "arrayType" && at.NamespaceURI == WsdlNamespace)
+ { xat = at; break; }
+
+ if (xat == null)
+ throw new InvalidOperationException ("arrayType attribute not specified in array declaration");
+
+ string arrayType = xat.Value;
+ string type, ns;
+ int i = arrayType.LastIndexOf (":");
+ if (i == -1) ns = "";
+ else ns = arrayType.Substring (0,i);
+
+ int j = arrayType.IndexOf ("[", i+1);
+ if (j == -1) throw new InvalidOperationException ("Cannot parse WSDL array type: " + arrayType);
+ type = arrayType.Substring (i+1);
+ type = type.Substring (0, type.Length-2);
+
+ qtype = new XmlQualifiedName (type, ns);
+ }
+
+ XmlSchemaAttribute FindArrayAttribute (XmlSchemaObjectCollection atts)
+ {
+ foreach (object ob in atts)
+ {
+ XmlSchemaAttribute att = ob as XmlSchemaAttribute;
+ if (att != null && att.RefName == arrayTypeRefName) return att;
+
+ XmlSchemaAttributeGroupRef gref = ob as XmlSchemaAttributeGroupRef;
+ if (gref != null)
+ {
+ XmlSchemaAttributeGroup grp = (XmlSchemaAttributeGroup) schemas.Find (gref.RefName, typeof(XmlSchemaAttributeGroup));
+ att = FindArrayAttribute (grp.Attributes);
+ if (att != null) return att;
+ }
+ }
+ return null;
+ }
+
+ void WriteSimpleTypeSample (XmlTextWriter xtw, XmlSchemaSimpleType stype)
+ {
+ xtw.WriteString (GetLiteral (FindBuiltInType (stype)));
+ }
+
+ XmlSchemaParticle GetRefGroupParticle (XmlSchemaGroupRef refGroup)
+ {
+ XmlSchemaGroup grp = (XmlSchemaGroup) schemas.Find (refGroup.RefName, typeof (XmlSchemaGroup));
+ return grp.Particle;
+ }
+
+ XmlSchemaElement FindRefElement (XmlSchemaElement elem)
+ {
+ if (elem.RefName.Namespace == XmlSchema.Namespace)
+ {
+ if (anyElement != null) return anyElement;
+ anyElement = new XmlSchemaElement ();
+ anyElement.Name = "any";
+ anyElement.SchemaTypeName = anyType;
+ return anyElement;
+ }
+ return (XmlSchemaElement) schemas.Find (elem.RefName, typeof(XmlSchemaElement));
+ }
+
+ XmlSchemaAttribute FindRefAttribute (XmlQualifiedName refName)
+ {
+ if (refName.Namespace == XmlSchema.Namespace)
+ {
+ XmlSchemaAttribute at = new XmlSchemaAttribute ();
+ at.Name = refName.Name;
+ at.SchemaTypeName = new XmlQualifiedName ("string",XmlSchema.Namespace);
+ return at;
+ }
+ return (XmlSchemaAttribute) schemas.Find (refName, typeof(XmlSchemaAttribute));
+ }
+
+ void WriteRefTypeSample (XmlTextWriter xtw, string ns, XmlSchemaElement elem)
+ {
+ if (elem.SchemaTypeName.Namespace == XmlSchema.Namespace || schemas.Find (elem.SchemaTypeName, typeof(XmlSchemaSimpleType)) != null)
+ WriteElementSample (xtw, ns, elem);
+ else
+ {
+ xtw.WriteStartElement (elem.Name, ns);
+ xtw.WriteAttributeString ("href", "#id" + (queue.Count+1));
+ xtw.WriteEndElement ();
+ queue.Add (new EncodedType (ns, elem));
+ }
+ }
+
+ void WriteQueuedTypeSamples (XmlTextWriter xtw)
+ {
+ for (int n=0; n<queue.Count; n++)
+ {
+ EncodedType ec = (EncodedType) queue[n];
+ XmlSchemaComplexType st = FindComplexTyype (ec.Element.SchemaTypeName);
+ WriteComplexTypeSample (xtw, st, ec.Element.SchemaTypeName, n+1);
+ }
+ }
+
+ XmlSchemaComplexType FindComplexTyype (XmlQualifiedName qname)
+ {
+ if (qname.Name.IndexOf ("[]") != -1)
+ {
+ XmlSchemaComplexType stype = new XmlSchemaComplexType ();
+ stype.ContentModel = new XmlSchemaComplexContent ();
+
+ XmlSchemaComplexContentRestriction res = new XmlSchemaComplexContentRestriction ();
+ stype.ContentModel.Content = res;
+ res.BaseTypeName = arrayType;
+
+ XmlSchemaAttribute att = new XmlSchemaAttribute ();
+ att.RefName = arrayTypeRefName;
+ res.Attributes.Add (att);
+
+ XmlAttribute xat = document.CreateAttribute ("arrayType", WsdlNamespace);
+ xat.Value = qname.Namespace + ":" + qname.Name;
+ att.UnhandledAttributes = new XmlAttribute[] {xat};
+ return stype;
+ }
+
+ return (XmlSchemaComplexType) schemas.Find (qname, typeof(XmlSchemaComplexType));
+ }
+
+ string GetQualifiedNameString (XmlTextWriter xtw, XmlQualifiedName qname)
+ {
+ string pref = xtw.LookupPrefix (qname.Namespace);
+ if (pref != null) return pref + ":" + qname.Name;
+
+ xtw.WriteAttributeString ("xmlns", "q1", null, qname.Namespace);
+ return "q1:" + qname.Name;
+ }
+
+ protected virtual string GetLiteral (string s)
+ {
+ return s;
+ }
+
+ void GetOperationFormat (OperationBinding obin, out SoapBindingStyle style, out SoapBindingUse use)
+ {
+ style = SoapBindingStyle.Document;
+ use = SoapBindingUse.Literal;
+ SoapOperationBinding sob = obin.Extensions.Find (typeof(SoapOperationBinding)) as SoapOperationBinding;
+ if (sob != null) {
+ style = sob.Style;
+ SoapBodyBinding sbb = obin.Input.Extensions.Find (typeof(SoapBodyBinding)) as SoapBodyBinding;
+ if (sbb != null)
+ use = sbb.Use;
+ }
+ }
+ }
+
+
+
+
+
+</script>
+
+<head runat="server">
+ <%
+ Response.Write ("<link rel=\"alternate\" type=\"text/xml\" href=\"" + Request.FilePath + "?disco\"/>");
+ %>
+ <title><%=WebServiceName%> Web Service</title>
+ <style type="text/css">
+ BODY { font-family: Arial; margin-left: 20px; margin-top: 20px; font-size: x-small}
+ TABLE { font-size: x-small }
+ .title { color:dimgray; font-family: Arial; font-size:20pt; font-weight:900}
+ .operationTitle { color:dimgray; font-family: Arial; font-size:15pt; font-weight:900}
+ .method { font-size: x-small }
+ .bindingLabel { font-size: x-small; font-weight:bold; color:darkgray; line-height:8pt; display:block; margin-bottom:3px }
+ .label { font-size: small; font-weight:bold; color:darkgray }
+ .paramTable { font-size: x-small }
+ .paramTable TR { background-color: gainsboro }
+ .paramFormTable { font-size: x-small; padding: 10px; background-color: gainsboro }
+ .paramFormTable TR { background-color: gainsboro }
+ .paramInput { border: solid 1px gray }
+ .button {border: solid 1px gray }
+ .smallSeparator { height:3px; overflow:hidden }
+ .panel { background-color:whitesmoke; border: solid 1px silver; border-top: solid 1px silver }
+ .codePanel { background-color: white; font-size:x-small; padding:7px; border:solid 1px silver}
+ .code-xml { font-size:10pt; font-family:courier }
+ .code-cs { font-size:10pt; font-family:courier }
+ .code-vb { font-size:10pt; font-family:courier }
+ .tabLabelOn { font-weight:bold }
+ .tabLabelOff {color: darkgray }
+ .literal-placeholder {color: darkblue; font-weight:bold}
+ A:link { color: black; }
+ A:visited { color: black; }
+ A:active { color: black; }
+ A:hover { color: blue }
+ </style>
+
+<script language="javascript" type="text/javascript">
+var req;
+function getXML (command, url, qs) {
+ if (url == "" || url.substring (0, 4) != "http")
+ return;
+
+ var post_data = null;
+ req = getReq ();
+ req.onreadystatechange = stateChange;
+ if (command == "GET") {
+ url = url + "?" + qs;
+ } else {
+ post_data = qs;
+ }
+ req.open (command, url, true);
+ if (command == "POST")
+ req.setRequestHeader ("Content-Type", "application/x-www-form-urlencoded");
+ req.send (post_data);
+}
+
+function stateChange () {
+ if (req.readyState == 4) {
+ var node = document.getElementById("testresult_div");
+ var text = "";
+ if (req.status == 200) {
+ node.innerHTML = "<div class='code-xml'>" + formatXml (req.responseText) + "</div>";
+ } else {
+ var ht = "<b style='color: red'>" + formatXml (req.status + " - " + req.statusText) + "</b>";
+ if (req.responseText != "")
+ ht = ht + "\n<div class='code-xml'>" + formatXml (req.responseText) + "</div>";
+ node.innerHTML = ht;
+
+ }
+ }
+}
+
+function formatXml (text)
+{
+ var re = / /g;
+ text = text.replace (re, " ");
+
+ re = /\t/g;
+ text = text.replace (re, " ");
+
+ re = /\<\s*(\/?)\s*(.*?)\s*(\/?)\s*\>/g;
+ text = text.replace (re,"{blue:<$1}{maroon:$2}{blue:$3>}");
+
+ re = /{(\w*):(.*?)}/g;
+ text = text.replace (re,"<span style='color:$1'>$2</span>");
+
+ re = /"(.*?)"/g;
+ text = text.replace (re,"\"<span style='color:purple'>$1</span>\"");
+
+ re = /\r\n|\r|\n/g;
+ text = text.replace (re, "<br/>");
+
+ return text;
+}
+
+function getReq () {
+ if (window.XMLHttpRequest) {
+ return new XMLHttpRequest(); // Firefox, Safari, ...
+ } else if (window.ActiveXObject) {
+ return new ActiveXObject("Microsoft.XMLHTTP");
+ }
+}
+
+function clearForm ()
+{
+ document.getElementById("testFormResult").style.display="none";
+}
+</script>
+
+</head>
+
+<body>
+<div class="title" style="margin-left:20px">
+<span class="label">Web Service</span><br>
+<%=WebServiceName%>
+</div>
+
+<!--
+ **********************************************************
+ Left panel
+-->
+
+<table border="0" width="100%" cellpadding="15px" cellspacing="15px">
+<tr valign="top"><td width="150px" class="panel">
+<div style="width:150px"></div>
+<a class="method" href='<%=PageName%>'>Overview</a><br>
+<div class="smallSeparator"></div>
+<a class="method" href='<%=PageName + "?" + GetPageContext("wsdl")%>'>Service Description</a>
+<div class="smallSeparator"></div>
+<a class="method" href='<%=PageName + "?" + GetPageContext("proxy")%>'>Client proxy</a>
+<br><br>
+ <asp:repeater id="BindingsRepeater" runat=server>
+ <itemtemplate name="itemtemplate">
+ <span class="bindingLabel"><%#FormatBindingName(DataBinder.Eval(Container.DataItem, "Name").ToString())%></span>
+ <asp:repeater id="OperationsRepeater" runat=server datasource='<%# ((Binding)Container.DataItem).Operations %>'>
+ <itemtemplate>
+ <a class="method" href="<%=PageName%>?<%=GetTabContext("op",null)%>op=<%#GetOpName(Container.DataItem)%>&bnd=<%#DataBinder.Eval(Container.DataItem, "Binding.Name")%>"><%#GetOpName(Container.DataItem)%></a>
+ <div class="smallSeparator"></div>
+ </itemtemplate>
+ </asp:repeater>
+ <br>
+ </itemtemplate>
+ </asp:repeater>
+
+</td><td class="panel">
+
+<% if (CurrentPage == "main") {%>
+
+<!--
+ **********************************************************
+ Web service overview
+-->
+
+ <p class="label">Web Service Overview</p>
+ <%=WebServiceDescription%>
+ <br/><br/>
+ <% if (ProfileViolations != null && ProfileViolations.Count > 0) { %>
+ <p class="label">Basic Profile Conformance</p>
+ This web service does not conform to WS-I Basic Profile v1.1
+ <%
+ Response.Write ("<ul>");
+ foreach (BasicProfileViolation vio in ProfileViolations) {
+ Response.Write ("<li><b>" + vio.NormativeStatement + "</b>: " + vio.Details);
+ Response.Write ("<ul>");
+ foreach (string ele in vio.Elements)
+ Response.Write ("<li>" + ele + "</li>");
+ Response.Write ("</ul>");
+ Response.Write ("</li>");
+ }
+ Response.Write ("</ul>");
+ }%>
+
+<%} if (DefaultBinding == null) {%>
+This service does not contain any public web method.
+<%} else if (CurrentPage == "op") {%>
+
+<!--
+ **********************************************************
+ Operation description
+-->
+
+ <span class="operationTitle"><%=CurrentOperationName%></span>
+ <br><br>
+ <% WriteTabs (); %>
+ <br><br><br>
+
+ <% if (CurrentTab == "main") { %>
+ <span class="label">Input Parameters</span>
+ <div class="smallSeparator"></div>
+ <% if (InParams.Count == 0) { %>
+ No input parameters<br>
+ <% } else { %>
+ <table class="paramTable" cellspacing="1" cellpadding="5">
+ <asp:repeater id="InputParamsRepeater" runat=server>
+ <itemtemplate>
+ <tr>
+ <td width="150"><%#DataBinder.Eval(Container.DataItem, "Name")%></td>
+ <td width="150"><%#DataBinder.Eval(Container.DataItem, "Type")%></td>
+ </tr>
+ </itemtemplate>
+ </asp:repeater>
+ </table>
+ <% } %>
+ <br>
+
+ <% if (OutParams.Count > 0) { %>
+ <span class="label">Output Parameters</span>
+ <div class="smallSeparator"></div>
+ <table class="paramTable" cellspacing="1" cellpadding="5">
+ <asp:repeater id="OutputParamsRepeater" runat=server>
+ <itemtemplate>
+ <tr>
+ <td width="150"><%#DataBinder.Eval(Container.DataItem, "Name")%></td>
+ <td width="150"><%#DataBinder.Eval(Container.DataItem, "Type")%></td>
+ </tr>
+ </itemtemplate>
+ </asp:repeater>
+ </table>
+ <br>
+ <% } %>
+
+ <span class="label">Remarks</span>
+ <div class="smallSeparator"></div>
+ <%=OperationDocumentation%>
+ <br><br>
+ <span class="label">Technical information</span>
+ <div class="smallSeparator"></div>
+ Format: <%=CurrentOperationFormat%>
+ <br>Supported protocols: <%=CurrentOperationProtocols%>
+ <% } %>
+
+<!--
+ **********************************************************
+ Operation description - Test form
+-->
+
+ <% if (CurrentTab == "test") {
+ if (CurrentOperationSupportsTest) {%>
+ Enter values for the parameters and click the 'Invoke' button to test this method:<br><br>
+ <form action="<%=PageName%>" method="GET">
+ <input type="hidden" name="page" value="<%=CurrentPage%>">
+ <input type="hidden" name="tab" value="<%=CurrentTab%>">
+ <input type="hidden" name="op" value="<%=CurrentOperationName%>">
+ <input type="hidden" name="bnd" value="<%=CurrentOperationBinding%>">
+ <input type="hidden" name="ext" value="testform">
+ <table class="paramFormTable" cellspacing="0" cellpadding="3">
+ <asp:repeater id="InputFormParamsRepeater" runat=server>
+ <itemtemplate>
+ <tr>
+ <td><%#DataBinder.Eval(Container.DataItem, "Name")%>: </td>
+ <td width="150"><input class="paramInput" type="text" size="20" name="<%#DataBinder.Eval(Container.DataItem, "Name")%>"></td>
+ </tr>
+ </itemtemplate>
+ </asp:repeater>
+ <tr><td></td><td><input class="button" type="submit" value="Invoke"> <input class="button" type="button" onclick="clearForm()" value="Clear"></td></tr>
+ </table>
+ </form>
+ <div id="testFormResult" style="display:<%= (HasFormResult?"block":"none") %>">
+ The web service returned the following result:<br/><br/>
+ <div class="codePanel" id="testresult_div">
+ </div>
+ <script language="javascript">
+ getXML ("<%= GetOrPost () %>", "<%= GetTestResultUrl () %>", "<%= GetQS () %>");
+ </script>
+ </div>
+ <% } else {%>
+ The test form is not available for this operation because it has parameters with a complex structure.
+ <% } %>
+ <% } %>
+
+<!--
+ **********************************************************
+ Operation description - Message Layout
+-->
+
+ <% if (CurrentTab == "msg") { %>
+
+ The following are sample SOAP requests and responses for each protocol supported by this method:
+ <br/><br/>
+
+ <% if (IsOperationSupported ("Soap")) { %>
+ <span class="label">Soap</span>
+ <br/><br/>
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("Soap", true)%></div></div>
+ <br/>
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("Soap", false)%></div></div>
+ <br/>
+ <% } %>
+ <% if (IsOperationSupported ("HttpGet")) { %>
+ <span class="label">HTTP Get</span>
+ <br/><br/>
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("HttpGet", true)%></div></div>
+ <br/>
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("HttpGet", false)%></div></div>
+ <br/>
+ <% } %>
+ <% if (IsOperationSupported ("HttpPost")) { %>
+ <span class="label">HTTP Post</span>
+ <br/><br/>
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("HttpPost", true)%></div></div>
+ <br/>
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("HttpPost", false)%></div></div>
+ <br/>
+ <% } %>
+
+ <% } %>
+<%} else if (CurrentPage == "proxy") {%>
+<!--
+ **********************************************************
+ Client Proxy
+-->
+ <form action="<%=PageName%>" name="langForm" method="GET">
+ Select the language for which you want to generate a proxy
+ <input type="hidden" name="page" value="<%=CurrentPage%>">
+ <SELECT name="lang" onchange="langForm.submit()">
+ <%=GetOptionSel("cs",CurrentLanguage)%>C#</option>
+ <%=GetOptionSel("vb",CurrentLanguage)%>Visual Basic</option>
+ </SELECT>
+
+ </form>
+ <br>
+ <span class="label"><%=CurrentProxytName%></span>
+ <a href="<%=PageName + "?code=" + CurrentLanguage%>">Download</a>
+ <br><br>
+ <div class="codePanel">
+ <div class="code-<%=CurrentLanguage%>"><%=GetProxyCode ()%></div>
+ </div>
+<%} else if (CurrentPage == "wsdl") {%>
+<!--
+ **********************************************************
+ Service description
+-->
+ <% if (descriptions.Count > 1 || schemas.Count > 1) {%>
+ The description of this web service is composed by several documents. Click on the document you want to see:
+
+ <ul>
+ <%
+ for (int n=0; n<descriptions.Count; n++)
+ Response.Write ("<li><a href='" + PageName + "?" + GetPageContext(null) + "doctype=wsdl&docind=" + n + "'>WSDL document " + descriptions[n].TargetNamespace + "</a></li>");
+ for (int n=0; n<schemas.Count; n++)
+ Response.Write ("<li><a href='" + PageName + "?" + GetPageContext(null) + "doctype=schema&docind=" + n + "'>Xml Schema " + schemas[n].TargetNamespace + "</a></li>");
+ %>
+ </ul>
+
+ <%} else {%>
+ <%}%>
+ <br>
+ <span class="label"><%=CurrentDocumentName%></span>
+ <a href="<%=PageName + "?" + CurrentDocType + "=" + CurrentDocInd %>">Download</a>
+ <br><br>
+ <div class="codePanel">
+ <div class="code-xml"><%=GenerateDocument ()%></div>
+ </div>
+
+<%}%>
+
+<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
+</td>
+<td width="20px"></td>
+</tr>
+
+</table>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+
+<configuration>
+
+ <configSections>
+ <section name="configProtectedData" type="System.Configuration.ProtectedConfigurationSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="appSettings" type="System.Configuration.AppSettingsSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="connectionStrings" type="System.Configuration.ConnectionStringsSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="mscorlib" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false"/>
+ <section name="runtime" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false"/>
+ <section name="assemblyBinding" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false" />
+ <section name="satelliteassemblies" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false" />
+ <section name="startup" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false"/>
+ <section name="system.codedom" type="System.CodeDom.Compiler.CodeDomConfigurationHandler, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="system.data" type="System.Data.Common.DbProviderFactoriesConfigurationHandler, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="system.diagnostics" type="System.Diagnostics.DiagnosticsConfigurationHandler, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="system.runtime.remoting" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowLocation="false"/>
+ <section name="system.windows.forms" type="System.Windows.Forms.WindowsFormsSection, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="windows" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false" />
+ <section name="strongNames" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowLocation="false"/>
+ <sectionGroup name="system.web" type="System.Web.Configuration.SystemWebSectionGroup, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <section name="anonymousIdentification" type="System.Web.Configuration.AnonymousIdentificationSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
+ <section name="authentication" type="System.Web.Configuration.AuthenticationSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
+ <section name="authorization" type="System.Web.Configuration.AuthorizationSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="browserCaps" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="clientTarget" type="System.Web.Configuration.ClientTargetSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="compilation" type="System.Web.Configuration.CompilationSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="customErrors" type="System.Web.Configuration.CustomErrorsSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="deployment" type="System.Web.Configuration.DeploymentSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineOnly" />
+ <section name="globalization" type="System.Web.Configuration.GlobalizationSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="healthMonitoring" type="System.Web.Configuration.HealthMonitoringSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
+ <section name="hostingEnvironment" type="System.Web.Configuration.HostingEnvironmentSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication" />
+ <section name="httpCookies" type="System.Web.Configuration.HttpCookiesSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="httpHandlers" type="System.Web.Configuration.HttpHandlersSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="httpModules" type="System.Web.Configuration.HttpModulesSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="httpRuntime" type="System.Web.Configuration.HttpRuntimeSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="identity" type="System.Web.Configuration.IdentitySection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="machineKey" type="System.Web.Configuration.MachineKeySection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="membership" type="System.Web.Configuration.MembershipSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="mobileControls" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="deviceFilters" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="pages" type="System.Web.Configuration.PagesSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="processModel" type="System.Web.Configuration.ProcessModelSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineOnly" allowLocation="false" />
+ <section name="profile" type="System.Web.Configuration.ProfileSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
+ <section name="roleManager" type="System.Web.Configuration.RoleManagerSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
+ <section name="securityPolicy" type="System.Web.Configuration.SecurityPolicySection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication" />
+ <section name="sessionPageState" type="System.Web.Configuration.SessionPageStateSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="sessionState" type="System.Web.Configuration.SessionStateSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
+ <section name="siteMap" type="System.Web.Configuration.SiteMapSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
+ <section name="trace" type="System.Web.Configuration.TraceSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="trust" type="System.Web.Configuration.TrustSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication" />
+ <section name="urlMappings" type="System.Web.Configuration.UrlMappingsSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
+ <section name="webControls" type="System.Web.Configuration.WebControlsSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="webParts" type="System.Web.Configuration.WebPartsSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="webServices" type="System.Web.Services.Configuration.WebServicesSection, System.Web.Services, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="xhtmlConformance" type="System.Web.Configuration.XhtmlConformanceSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <sectionGroup name="caching" type="System.Web.Configuration.SystemWebCachingSectionGroup, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <section name="cache" type="System.Web.Configuration.CacheSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
+ <section name="outputCache" type="System.Web.Configuration.OutputCacheSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
+ <section name="outputCacheSettings" type="System.Web.Configuration.OutputCacheSettingsSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
+ <section name="sqlCacheDependency" type="System.Web.Configuration.OutputCacheSettingsSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
+ </sectionGroup>
+ <section name="monoSettings" type="System.Web.Configuration.MonoSettingsSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ </sectionGroup>
+ <sectionGroup name="system.net" type="System.Net.Configuration.NetSectionGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <section name="authenticationModules" type="System.Net.Configuration.AuthenticationModulesSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="connectionManagement" type="System.Net.Configuration.ConnectionManagementSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="defaultProxy" type="System.Net.Configuration.DefaultProxySection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <sectionGroup name="mailSettings" type="System.Net.Configuration.MailSettingsSectionGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <section name="smtp" type="System.Net.Configuration.SmtpSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ </sectionGroup>
+ <section name="requestCaching" type="System.Net.Configuration.RequestCachingSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="settings" type="System.Net.Configuration.SettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="webRequestModules" type="System.Net.Configuration.WebRequestModulesSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ </sectionGroup>
+ <section name="system.drawing" type="System.Configuration.NameValueSectionHandler, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <sectionGroup name="system.serviceModel" type="System.ServiceModel.Configuration.ServiceModelSectionGroup, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <section name="behaviors" type="System.ServiceModel.Configuration.BehaviorsSection, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="bindings" type="System.ServiceModel.Configuration.BindingsSection, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="client" type="System.ServiceModel.Configuration.ClientSection, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="commonBehaviors" type="System.ServiceModel.Configuration.CommonBehaviorsSection, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="diagnostics" type="System.ServiceModel.Configuration.DiagnosticSection, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="extensions" type="System.ServiceModel.Configuration.ExtensionsSection, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="serviceHostingEnvironment" type="System.ServiceModel.Configuration.ServiceHostingEnvironmentSection, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="services" type="System.ServiceModel.Configuration.ServicesSection, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ </sectionGroup>
+ <sectionGroup name="system.transactions" type="System.Transactions.Configuration.TransactionsSectionGroup, System.Transactions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, Custom=null">
+ <section name="defaultSettings" type="System.Transactions.Configuration.DefaultSettingsSection, System.Transactions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, Custom=null"/>
+ <section name="machineSettings" type="System.Transactions.Configuration.MachineSettingsSection, System.Transactions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, Custom=null" allowDefinition="MachineOnly" allowExeDefinition="MachineOnly"/>
+ </sectionGroup>
+ <section name="system.webServer" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="uri" type="System.Configuration.UriSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ </configSections>
+
+ <connectionStrings>
+ <add name="LocalSqlServer" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient"/>
+ <add name="LocalSqliteServer" connectionString="Data Source=|DataDirectory|/aspnetdb.sqlite;version=3" providerName="Mono.Data.Sqlite"/>
+ </connectionStrings>
+
+ <configProtectedData defaultProvider="RsaProtectedConfigurationProvider">
+ <providers>
+ <add name="RsaProtectedConfigurationProvider" type="System.Configuration.RsaProtectedConfigurationProvider, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ description="" keyContainerName="MonoFrameworkConfigurationKey" cspProviderName="" useMachineContainer="true" useOAEP="false" />
+ <add name="DataProtectionConfigurationProvider" type="System.Configuration.DpapiProtectedConfigurationProvider, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ description="" useMachineProtection="true" keyEntropy="" />
+ </providers>
+ </configProtectedData>
+
+ <system.net>
+ <authenticationModules>
+ <add type="System.Net.BasicClient, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <add type="System.Net.DigestClient, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <add type="System.Net.NtlmClient, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ </authenticationModules>
+ <webRequestModules>
+ <add prefix="http" type="System.Net.HttpRequestCreator, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <add prefix="https" type="System.Net.HttpRequestCreator, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <add prefix="file" type="System.Net.FileWebRequestCreator, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <add prefix="ftp" type="System.Net.FtpRequestCreator, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ </webRequestModules>
+ <settings>
+ <ipv6 enabled="true"/>
+ </settings>
+ </system.net>
+
+ <system.runtime.remoting>
+ <application>
+ <channels>
+ <channel ref="http client" displayName="http client (delay loaded)" delayLoadAsClientChannel="true" />
+ <channel ref="tcp client" displayName="tcp client (delay loaded)" delayLoadAsClientChannel="true" />
+ <channel ref="ipc client" displayName="ipc client (delay loaded)" delayLoadAsClientChannel="true" />
+ </channels>
+ </application>
+ <channels>
+ <channel id="http" type="System.Runtime.Remoting.Channels.Http.HttpChannel, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <channel id="http client" type="System.Runtime.Remoting.Channels.Http.HttpClientChannel, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <channel id="http server" type="System.Runtime.Remoting.Channels.Http.HttpServerChannel, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <channel id="tcp" type="System.Runtime.Remoting.Channels.Tcp.TcpChannel, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <channel id="tcp client" type="System.Runtime.Remoting.Channels.Tcp.TcpClientChannel, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <channel id="tcp server" type="System.Runtime.Remoting.Channels.Tcp.TcpServerChannel, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <channel id="ipc" type="System.Runtime.Remoting.Channels.Ipc.IpcChannel, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <channel id="ipc client" type="System.Runtime.Remoting.Channels.Ipc.IpcClientChannel, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <channel id="ipc server" type="System.Runtime.Remoting.Channels.Ipc.IpcServerChannel, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ </channels>
+ <channelSinkProviders>
+ <clientProviders>
+ <formatter id="soap" type="System.Runtime.Remoting.Channels.SoapClientFormatterSinkProvider, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <formatter id="binary" type="System.Runtime.Remoting.Channels.BinaryClientFormatterSinkProvider, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ </clientProviders>
+ <serverProviders>
+ <formatter id="soap" type="System.Runtime.Remoting.Channels.SoapServerFormatterSinkProvider, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <formatter id="binary" type="System.Runtime.Remoting.Channels.BinaryServerFormatterSinkProvider, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <provider id="wsdl" type="System.Runtime.Remoting.MetadataServices.SdlChannelSinkProvider, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ </serverProviders>
+ </channelSinkProviders>
+ </system.runtime.remoting>
+
+ <appSettings>
+ <!--<add key="yourkey" value="your value" /> -->
+ <!--<remove key="a key defined higher in the hierarchy" /> -->
+ <!--<clear/> Removes all defined settings -->
+ </appSettings>
+ <system.diagnostics>
+ <trace autoflush="false" indentsize="4" />
+ </system.diagnostics>
+ <system.drawing>
+ </system.drawing>
+
+ <system.data>
+ <DbProviderFactories>
+ <add name="Mono Sqlite Data Provider" invariant="Mono.Data.SqliteClient"
+ description="Mono Framework Data Provider for SQLite (old version)"
+ type="Mono.Data.SqliteClient.SqliteFactory, Mono.Data.SqliteClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"/>
+ <add name="Mono Sqlite Provider" invariant="Mono.Data.Sqlite"
+ description="Mono Framework Data Provider for SQLite (new version)"
+ type="Mono.Data.Sqlite.SqliteFactory, Mono.Data.Sqlite, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"/>
+ <add name="Odbc Data Provider" invariant="System.Data.Odbc"
+ description=".Net Framework Data Provider for Odbc"
+ type="System.Data.Odbc.OdbcFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
+ <add name="OleDb Data Provider" invariant="System.Data.OleDb"
+ description=".Net Framework Data Provider for OleDb"
+ type="System.Data.OleDb.OleDbFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
+ <add name="OracleClient Data Provider" invariant="System.Data.OracleClient"
+ description=".Net Framework Data Provider for Oracle"
+ type="System.Data.OracleClient.OracleClientFactory, System.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
+ <add name="SqlClient Data Provider" invariant="System.Data.SqlClient"
+ description=".Net Framework Data Provider for SqlServer"
+ type="System.Data.SqlClient.SqlClientFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
+ <add name="Sybase Data Provider" invariant="Mono.Data.SybaseClient"
+ description=".Net Framework Data Provider for Sybase"
+ type="Mono.Data.SybaseClient.SybaseClientFactory, Mono.Data.SybaseClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"/>
+ </DbProviderFactories>
+ </system.data>
+
+ <mscorlib>
+ <cryptographySettings>
+ <cryptoNameMapping>
+ <cryptoClasses>
+ <cryptoClass monoMD2="Mono.Security.Cryptography.MD2Managed, Mono.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" />
+ <cryptoClass monoMD4="Mono.Security.Cryptography.MD4Managed, Mono.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" />
+ </cryptoClasses>
+ <nameEntry name="MD2" class="monoMD2" />
+ <nameEntry name="MD4" class="monoMD4" />
+ </cryptoNameMapping>
+ <oidMap>
+ <oidEntry OID="1.2.840.113549.2.2" name="MD2" />
+ <oidEntry OID="1.2.840.113549.2.2" name="Mono.Security.Cryptography.MD2Managed" />
+ <oidEntry OID="1.2.840.113549.2.4" name="MD4" />
+ <oidEntry OID="1.2.840.113549.2.4" name="Mono.Security.Cryptography.MD4Managed" />
+ </oidMap>
+ </cryptographySettings>
+ </mscorlib>
+
+ <strongNames>
+ <pubTokenMapping>
+ <!-- ECMA key -->
+ <map Token="b77a5c561934e089" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
+ <!-- Microsoft (final) key -->
+ <map Token="b03f5f7f11d50a3a" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
+ <!-- Microsoft (Web Service Enhancement) key -->
+ <map Token="31bf3856ad364e35" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
+ <!-- IBM (DB2 Data Provider) key -->
+ <map Token="7c307b91aa13d208" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
+ <!-- Silverlight 2.0 key -->
+ <map Token="7cec85d7bea7798e" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
+ <!-- XNA Framework key -->
+ <map Token="6d5c3888ef60e27d" PublicKey="0024000004800000940000000602000000240000525341310004000001000100f9a2641bac9847900d92a33d652ccc4e8b529360f908e7af53e57008b2a9a1938c32a160d47f795a23590557608d2c8d0c0e8846a052d070f9298281b8185343dbe5b479bd52de256f73c2a943e1a8a42065b5c918622dc14b1c0151dbd94d9a4543e7cd03e536b1b1d2d6d99af535d227ab9bdac76af9312a21d457bdf817e6" />
+ </pubTokenMapping>
+ </strongNames>
+
+ <system.web>
+ <webServices>
+ <protocols>
+ <add name="HttpSoap"/>
+ <add name="HttpSoap12"/>
+ <add name="HttpPost"/>
+ <add name="HttpGet"/>
+ <add name="Documentation"/>
+ </protocols>
+ <conformanceWarnings>
+ <add name="BasicProfile1_1"/>
+ </conformanceWarnings>
+ <wsdlHelpGenerator href="DefaultWsdlHelpGenerator.aspx" />
+ </webServices>
+
+ <membership>
+ <providers>
+ <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="LocalSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression=""/>
+ <!-- <add name="AspNetSqlMembershipProvider" type="Mainsoft.Web.Security.GenericMembershipProvider, Mainsoft.Web.Security" applicationName="/" connectionStringName="LocalSqlServer" /> -->
+ </providers>
+ </membership>
+
+ <roleManager>
+ <providers>
+ <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" applicationName="/" connectionStringName="LocalSqlServer" />
+ <!-- <add name="AspNetSqlRoleProvider" type="Mainsoft.Web.Security.GenericRoleProvider, Mainsoft.Web.Security" applicationName="/" connectionStringName="LocalSqlServer" /> -->
+ </providers>
+ </roleManager>
+
+ <profile>
+ <providers>
+ <add name="AspNetSqlProfileProvider" connectionStringName="LocalSqlServer" applicationName="/" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ </providers>
+ </profile>
+ </system.web>
+
+ <system.serviceModel>
+ <extensions>
+ <behaviorExtensions>
+ <add name="enableWebScript" type="System.ServiceModel.Configuration.WebScriptEnablingElement, System.ServiceModel.Web, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ <add name="webHttp" type="System.ServiceModel.Configuration.WebHttpElement, System.ServiceModel.Web, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ </behaviorExtensions>
+ <bindingElementExtensions>
+ <add name="webMessageEncoding" type="System.ServiceModel.Configuration.WebMessageEncodingElement, System.ServiceModel.Web, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ </bindingElementExtensions>
+ <bindingExtensions>
+ <add name="webHttpBinding" type="System.ServiceModel.Configuration.WebHttpBindingCollectionElement, System.ServiceModel.Web, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ </bindingExtensions>
+ </extensions>
+ </system.serviceModel>
+</configuration>
+
+
--- /dev/null
+<?xml version="1.0" encoding="utf-8" ?>
+<settingsMap>
+ <map sectionType="System.Web.Configuration.MembershipSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ mapperType="Mono.Web.Util.MembershipSectionMapper, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ platform="Unix">
+
+ <!-- The 'what' tag specifies which region of the section to modify. The 'value' attribute value is mapper-specific and is not defined here. It can be
+ any expression understood by the mapper to designate the section region to modify.
+ -->
+ <what value="providers">
+ <!-- 'what' can contain any number of occurrences of any three elements:
+ replace - replace the designated region
+ add - add a new entry to the region
+ clear - clear the region
+ remove - remove the designatedregion
+
+ The attributes to any of the above are freeform and are not processed by the mapper manager. They are stored verbatim for the
+ mapper to peruse.
+ -->
+ <replace name="AspNetSqlMembershipProvider"
+ type="System.Web.Security.SqliteMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ connectionStringName="LocalSqliteServer" />
+ </what>
+ </map>
+
+ <map sectionType="System.Web.Configuration.RoleManagerSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ mapperType="Mono.Web.Util.RoleManagerSectionMapper, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ platform="Unix">
+
+ <!-- The 'what' tag specifies which region of the section to modify. The 'value' attribute value is mapper-specific and is not defined here. It can be
+ any expression understood by the mapper to designate the section region to modify.
+ -->
+ <what value="providers">
+ <!-- 'what' can contain any number of occurrences of any three elements:
+ replace - replace the designated region
+ add - add a new entry to the region
+ clear - clear the region
+ remove - remove the designatedregion
+
+ The attributes to any of the above are freeform and are not processed by the mapper manager. They are stored verbatim for the
+ mapper to peruse.
+ -->
+ <replace name="AspNetSqlRoleProvider"
+ type="System.Web.Security.SqliteRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ connectionStringName="LocalSqliteServer" />
+ </what>
+ </map>
+</settingsMap>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+
+<configuration>
+
+ <system.web>
+ <monoSettings>
+ <compilersCompatibility>
+ <compiler language="c#;cs;csharp" extension=".cs" compilerOptions="/nowarn:0169"
+ type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ </compilersCompatibility>
+ </monoSettings>
+
+ <authorization>
+ <allow users="*" />
+ </authorization>
+ <httpHandlers>
+ <add verb="*" path="Trace.axd" type="System.Web.Handlers.TraceHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add verb="*" path="UrlRouting.axd" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add verb="*" path="*.aspx" type="System.Web.UI.PageHandlerFactory, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add verb="*" path="*.asmx" validate="false" type="System.Web.Services.Protocols.WebServiceHandlerFactory, System.Web.Services, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add verb="*" path="*.ashx" type="System.Web.UI.SimpleHandlerFactory, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add verb="GET" path="WebResource.axd" type="System.Web.Handlers.AssemblyResourceLoader, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add verb="*" path="*.master" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add verb="*" path="*.resources" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add verb="*" path="*.skin" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add verb="*" path="*.browser" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add verb="*" path="*.sitemap" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add verb="*" path="*.webinfo" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add verb="*" path="*.resx" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add verb="*" path="*.asax" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add verb="*" path="*.ascx" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add verb="*" path="*.config" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add verb="*" path="*.Config" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add verb="*" path="*.cs" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add verb="*" path="*.vb" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add verb="*" path="*.csproj" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add verb="*" path="*.vbproj" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add verb="*" path="*.licx" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add verb="*" path="*.dll" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add verb="*" path="*.rem" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Culture=neutral, PublicKeyToken=b77a5c561934e089" validate="false" />
+ <add verb="*" path="*.soap" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Culture=neutral, PublicKeyToken=b77a5c561934e089" validate="false" />
+ <add verb="*" path="*.svc" type="System.ServiceModel.Channels.SvcHttpHandlerFactory, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <add verb="GET,HEAD" path="*" type="System.Web.StaticFileHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add verb="*" path="*" type="System.Web.HttpMethodNotAllowedHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ </httpHandlers>
+ <httpModules>
+ <add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add name="OutputCache" type="System.Web.Caching.OutputCacheModule, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add name="RoleManager" type="System.Web.Security.RoleManagerModule, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add name="Session" type="System.Web.SessionState.SessionStateModule, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ </httpModules>
+ <authentication mode="Forms">
+ <forms name=".MONOAUTH" loginUrl="login.aspx" protection="All" timeout="30" path="/">
+ <credentials passwordFormat="Clear">
+ <!--<user name="gonzalo" password="gonz"/>-->
+ </credentials>
+ </forms>
+ </authentication>
+ <machineKey validationKey="AutoGenerate" decryptionKey="AutoGenerate" validation="SHA1" />
+ <globalization requestEncoding="utf-8"
+ responseEncoding="utf-8"
+ fileEncoding="utf-8"/>
+ <!--
+ culture="en-US"
+ uiculture="en-US" />
+ -->
+ <sessionState mode="InProc" />
+ <pages>
+ <namespaces>
+ <add namespace="System" />
+ <add namespace="System.Collections" />
+ <add namespace="System.Collections.Specialized" />
+ <add namespace="System.Configuration" />
+ <add namespace="System.Text" />
+ <add namespace="System.Text.RegularExpressions" />
+ <add namespace="System.Web" />
+ <add namespace="System.Web.Caching" />
+ <add namespace="System.Web.SessionState" />
+ <add namespace="System.Web.Security" />
+ <add namespace="System.Web.Profile" />
+ <add namespace="System.Web.UI" />
+ <add namespace="System.Web.UI.WebControls" />
+ <!-- <add namespace="System.Web.UI.WebControls.WebParts" /> -->
+ <add namespace="System.Web.UI.HtmlControls" />
+ </namespaces>
+ </pages>
+ <webControls clientScriptsLocation="/web_scripts" />
+ <compilation debug="false" defaultLanguage="c#" explicit="true" strict="false" >
+ <assemblies>
+ <!--<add assembly="mscorlib" /> -->
+ <add assembly="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <add assembly="System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add assembly="System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <add assembly="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add assembly="System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add assembly="System.Web.Services, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add assembly="System.Runtime.Serialization, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"/>
+ <add assembly="System.IdentityModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"/>
+ <add assembly="System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
+ <add assembly="System.ServiceModel.Web, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ <add assembly="System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <add assembly="*" /> <!-- Add assemblies in bin directory -->
+ </assemblies>
+ <expressionBuilders>
+ <add expressionPrefix="Resources"
+ type="System.Web.Compilation.ResourceExpressionBuilder, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add expressionPrefix="ConnectionStrings"
+ type="System.Web.Compilation.ConnectionStringsExpressionBuilder, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add expressionPrefix="AppSettings"
+ type="System.Web.Compilation.AppSettingsExpressionBuilder, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ </expressionBuilders>
+ <buildProviders>
+ <add extension=".aspx" type="System.Web.Compilation.PageBuildProvider" />
+ <add extension=".ascx" type="System.Web.Compilation.UserControlBuildProvider" />
+ <add extension=".master" type="System.Web.Compilation.MasterPageBuildProvider" />
+ <add extension=".asmx" type="System.Web.Compilation.WebServiceBuildProvider" />
+ <add extension=".ashx" type="System.Web.Compilation.WebHandlerBuildProvider" />
+ <add extension=".soap" type="System.Web.Compilation.WebServiceBuildProvider" />
+ <add extension=".resx" type="System.Web.Compilation.ResXBuildProvider" />
+ <add extension=".resources" type="System.Web.Compilation.ResourcesBuildProvider" />
+ <add extension=".wsdl" type="System.Web.Compilation.WsdlBuildProvider" />
+ <add extension=".xsd" type="System.Web.Compilation.XsdBuildProvider" />
+ <add extension=".js" type="System.Web.Compilation.ForceCopyBuildProvider" />
+ <add extension=".lic" type="System.Web.Compilation.IgnoreFileBuildProvider" />
+ <add extension=".licx" type="System.Web.Compilation.IgnoreFileBuildProvider" />
+ <add extension=".exclude" type="System.Web.Compilation.IgnoreFileBuildProvider" />
+ <add extension=".refresh" type="System.Web.Compilation.IgnoreFileBuildProvider" />
+ </buildProviders>
+ </compilation>
+ <httpRuntime executionTimeout="110"
+ maxRequestLength="4096"
+ useFullyQualifiedRedirectUrl="false"
+ minFreeThreads="8"
+ minLocalRequestFreeThreads="4"
+ appRequestQueueLimit="5000" />
+ <clientTarget>
+ <add alias="ie5" userAgent="Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 4.0)" />
+ <add alias="ie4" userAgent="Mozilla/4.0 (compatible; MSIE 4.0; Windows NT 4.0)" />
+ <add alias="uplevel" userAgent="Mozilla/4.0 (compatible; MSIE 4.0; Windows NT 4.0)" />
+ <add alias="downlevel" userAgent="Unknown" />
+ </clientTarget>
+
+ <siteMap>
+ <providers>
+ <add name="AspNetXmlSiteMapProvider"
+ description="Default site map provider that reads in .sitemap xml files."
+ type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ siteMapFile="Web.sitemap" />
+ </providers>
+ </siteMap>
+ </system.web>
+
+</configuration>
--- /dev/null
+<!--
+ This file defines some of the browsers that Microsoft's implementation provides in
+ <windir>\Microsoft.NET\Framework\<ver>\CONFIG\Browsers\*.browser
+
+ It is not derived from any file distributed with Microsoft's implementation. Since
+ we can't distribute MS's browser files, we use browscap.ini to determine
+ browser capabilities. Then, if and only if the application contains App_Browser/*.browser
+ files and we are using .NET 2.0 or higher, we supplement the capabilities with the
+ information in those files and the files in this directory. The primary goal of this file
+ is provide browser definitions that might be referenced in App_Browser/*.browser files.
+-->
+<browsers>
+ <defaultBrowser id="Default">
+ </defaultBrowser>
+ <browser id="Default">
+ <identification>
+ <userAgent match="." />
+ </identification>
+ </browser>
+ <browser id="IE6to9" parentID="Default">
+ <identification>
+ <capability name="majorver" match="^[6-9]" />
+ <capability name="browser" match="^(IE|AOL)$" />
+ </identification>
+ </browser>
+ <browser id="Opera8to9" parentID="Default">
+ <identification>
+ <capability name="majorver" match="^[8-9]" />
+ <capability name="browser" match="^Opera$" />
+ </identification>
+ </browser>
+ <browser id="Safari" parentID="Default">
+ <identification>
+ <capability name="browser" match="^Safari$" />
+ </identification>
+ </browser>
+ <browser id="Mozilla" parentID="Default">
+ <identification>
+ <capability name="browser" match="^Mozilla" />
+ </identification>
+ </browser>
+</browsers>
\ No newline at end of file
--- /dev/null
+<%--
+//
+// DefaultWsdlHelpGenerator.aspx:
+//
+// Author:
+// Lluis Sanchez Gual (lluis@ximian.com)
+//
+// (C) 2003 Ximian, Inc. http://www.ximian.com
+//
+--%>
+
+<%@ Import Namespace="System.Collections" %>
+<%@ Import Namespace="System.Collections.Generic" %>
+<%@ Import Namespace="System.IO" %>
+<%@ Import Namespace="System.Xml.Serialization" %>
+<%@ Import Namespace="System.Xml" %>
+<%@ Import Namespace="System.Xml.Schema" %>
+<%@ Import Namespace="System.Web.Services" %>
+<%@ Import Namespace="System.Web.Services.Description" %>
+<%@ Import Namespace="System.Web.Services.Configuration" %>
+<%@ Import Namespace="System.Web.Configuration" %>
+<%@ Import Namespace="System" %>
+<%@ Import Namespace="System.Net" %>
+<%@ Import Namespace="System.Globalization" %>
+<%@ Import Namespace="System.Resources" %>
+<%@ Import Namespace="System.Diagnostics" %>
+<%@ Import Namespace="System.CodeDom" %>
+<%@ Import Namespace="System.CodeDom.Compiler" %>
+<%@ Import Namespace="Microsoft.CSharp" %>
+<%@ Import Namespace="Microsoft.VisualBasic" %>
+<%@ Import Namespace="System.Text" %>
+<%@ Import Namespace="System.Text.RegularExpressions" %>
+<%@ Import Namespace="System.Security.Cryptography.X509Certificates" %>
+<%@ Assembly name="System.Web.Services" %>
+<%@ Page debug="true" %>
+
+<html>
+<script language="C#" runat="server">
+
+ServiceDescriptionCollection descriptions;
+XmlSchemas schemas;
+
+string WebServiceName;
+string WebServiceDescription;
+string PageName;
+
+string DefaultBinding;
+ArrayList ServiceProtocols;
+
+string CurrentOperationName;
+string CurrentOperationBinding;
+string OperationDocumentation;
+string CurrentOperationFormat;
+bool CurrentOperationSupportsTest;
+ArrayList InParams;
+ArrayList OutParams;
+string CurrentOperationProtocols;
+int CodeTextColumns = 95;
+BasicProfileViolationCollection ProfileViolations;
+
+void Page_Load(object sender, EventArgs e)
+{
+ descriptions = (ServiceDescriptionCollection) Context.Items["wsdls"];
+ schemas = (XmlSchemas) Context.Items["schemas"];
+
+ ServiceDescription desc = descriptions [0];
+ if (schemas.Count == 0) schemas = desc.Types.Schemas;
+
+ Service service = desc.Services[0];
+ WebServiceName = service.Name;
+ if (desc.Bindings.Count == 0)
+ return;
+
+ DefaultBinding = desc.Bindings[0].Name;
+ WebServiceDescription = service.Documentation;
+ if (WebServiceDescription == "" || WebServiceDescription == null)
+ WebServiceDescription = "Description has not been provided";
+ ServiceProtocols = FindServiceProtocols (null);
+
+ CurrentOperationName = Request.QueryString["op"];
+ CurrentOperationBinding = Request.QueryString["bnd"];
+ if (CurrentOperationName != null) BuildOperationInfo ();
+
+ PageName = HttpUtility.UrlEncode (Path.GetFileName(Request.Path), Encoding.UTF8);
+
+ ArrayList list = new ArrayList ();
+ foreach (ServiceDescription sd in descriptions) {
+ foreach (Binding bin in sd.Bindings)
+ if (bin.Extensions.Find (typeof(SoapBinding)) != null) list.Add (bin);
+ }
+
+ BindingsRepeater.DataSource = list;
+ Page.DataBind();
+
+ ProfileViolations = new BasicProfileViolationCollection ();
+ foreach (WsiProfilesElement claims in ((WebServicesSection) WebConfigurationManager.GetSection("system.web/webServices")).ConformanceWarnings)
+ if (claims.Name != WsiProfiles.None)
+ WebServicesInteroperability.CheckConformance (claims.Name, descriptions, ProfileViolations);
+}
+
+void BuildOperationInfo ()
+{
+ InParams = new ArrayList ();
+ OutParams = new ArrayList ();
+
+ Port port = FindPort (CurrentOperationBinding, null);
+ Binding binding = descriptions.GetBinding (port.Binding);
+
+ PortType portType = descriptions.GetPortType (binding.Type);
+ Operation oper = FindOperation (portType, CurrentOperationName);
+
+ OperationDocumentation = oper.Documentation;
+ if (OperationDocumentation == null || OperationDocumentation == "")
+ OperationDocumentation = "No additional remarks";
+
+ foreach (OperationMessage opm in oper.Messages)
+ {
+ if (opm is OperationInput)
+ BuildParameters (InParams, opm);
+ else if (opm is OperationOutput)
+ BuildParameters (OutParams, opm);
+ }
+
+ // Protocols supported by the operation
+ CurrentOperationProtocols = "";
+ WebServiceProtocols testProtocols = 0;
+ ArrayList prots = FindServiceProtocols (CurrentOperationName);
+ for (int n=0; n<prots.Count; n++) {
+ string prot = (string) prots [n];
+ if (n != 0) CurrentOperationProtocols += ", ";
+ CurrentOperationProtocols += prot;
+ if (prot == "HttpGet")
+ testProtocols |= WebServiceProtocols.HttpGet;
+ else if (prot == "HttpPost") {
+ testProtocols |= WebServiceProtocols.HttpPost;
+ if (Context.Request.IsLocal)
+ testProtocols |= WebServiceProtocols.HttpPostLocalhost;
+ }
+ }
+ CurrentOperationSupportsTest = (WebServicesSection.Current.EnabledProtocols & testProtocols) != 0;
+
+ // Operation format
+ OperationBinding obin = FindOperation (binding, CurrentOperationName);
+ if (obin != null)
+ CurrentOperationFormat = GetOperationFormat (obin);
+
+ InputParamsRepeater.DataSource = InParams;
+ InputFormParamsRepeater.DataSource = InParams;
+ OutputParamsRepeater.DataSource = OutParams;
+}
+
+void BuildParameters (ArrayList list, OperationMessage opm)
+{
+ Message msg = descriptions.GetMessage (opm.Message);
+ if (msg.Parts.Count > 0 && msg.Parts[0].Name == "parameters")
+ {
+ MessagePart part = msg.Parts[0];
+ XmlSchemaComplexType ctype;
+ if (part.Element == XmlQualifiedName.Empty)
+ {
+ ctype = (XmlSchemaComplexType) schemas.Find (part.Type, typeof(XmlSchemaComplexType));
+ }
+ else
+ {
+ XmlSchemaElement elem = (XmlSchemaElement) schemas.Find (part.Element, typeof(XmlSchemaElement));
+ ctype = (XmlSchemaComplexType) elem.SchemaType;
+ }
+ XmlSchemaSequence seq = ctype.Particle as XmlSchemaSequence;
+ if (seq == null) return;
+
+ foreach (XmlSchemaObject ob in seq.Items)
+ {
+ Parameter p = new Parameter();
+ p.Description = "No additional remarks";
+
+ if (ob is XmlSchemaElement)
+ {
+ XmlSchemaElement selem = GetRefElement ((XmlSchemaElement)ob);
+ p.Name = selem.Name;
+ p.Type = selem.SchemaTypeName.Name;
+ }
+ else
+ {
+ p.Name = "Unknown";
+ p.Type = "Unknown";
+ }
+ list.Add (p);
+ }
+ }
+ else
+ {
+ foreach (MessagePart part in msg.Parts)
+ {
+ Parameter p = new Parameter ();
+ p.Description = "No additional remarks";
+ p.Name = part.Name;
+ if (part.Element == XmlQualifiedName.Empty)
+ p.Type = part.Type.Name;
+ else
+ {
+ XmlSchemaElement elem = (XmlSchemaElement) schemas.Find (part.Element, typeof(XmlSchemaElement));
+ p.Type = elem.SchemaTypeName.Name;
+ }
+ list.Add (p);
+ }
+ }
+}
+
+string GetOperationFormat (OperationBinding obin)
+{
+ string format = "";
+ SoapOperationBinding sob = obin.Extensions.Find (typeof(SoapOperationBinding)) as SoapOperationBinding;
+ if (sob != null) {
+ format = sob.Style.ToString ();
+ SoapBodyBinding sbb = obin.Input.Extensions.Find (typeof(SoapBodyBinding)) as SoapBodyBinding;
+ if (sbb != null)
+ format += " / " + sbb.Use;
+ }
+ return format;
+}
+
+XmlSchemaElement GetRefElement (XmlSchemaElement elem)
+{
+ if (!elem.RefName.IsEmpty)
+ return (XmlSchemaElement) schemas.Find (elem.RefName, typeof(XmlSchemaElement));
+ else
+ return elem;
+}
+
+ArrayList FindServiceProtocols(string operName)
+{
+ ArrayList table = new ArrayList ();
+ Service service = descriptions[0].Services[0];
+ foreach (Port port in service.Ports)
+ {
+ string prot = null;
+ Binding bin = descriptions.GetBinding (port.Binding);
+ if (bin.Extensions.Find (typeof(SoapBinding)) != null)
+ prot = "Soap";
+ else
+ {
+ HttpBinding hb = (HttpBinding) bin.Extensions.Find (typeof(HttpBinding));
+ if (hb != null && hb.Verb == "POST") prot = "HttpPost";
+ else if (hb != null && hb.Verb == "GET") prot = "HttpGet";
+ }
+
+ if (prot != null && operName != null)
+ {
+ if (FindOperation (bin, operName) == null)
+ prot = null;
+ }
+
+ if (prot != null && !table.Contains (prot))
+ table.Add (prot);
+ }
+ return table;
+}
+
+Port FindPort (string portName, string protocol)
+{
+ Service service = descriptions[0].Services[0];
+ foreach (Port port in service.Ports)
+ {
+ if (portName == null)
+ {
+ Binding binding = descriptions.GetBinding (port.Binding);
+ if (GetProtocol (binding) == protocol) return port;
+ }
+ else if (port.Name == portName)
+ return port;
+ }
+ return null;
+}
+
+string GetProtocol (Binding binding)
+{
+ if (binding.Extensions.Find (typeof(SoapBinding)) != null) return "Soap";
+ HttpBinding hb = (HttpBinding) binding.Extensions.Find (typeof(HttpBinding));
+ if (hb == null) return "";
+ if (hb.Verb == "POST") return "HttpPost";
+ if (hb.Verb == "GET") return "HttpGet";
+ return "";
+}
+
+
+Operation FindOperation (PortType portType, string name)
+{
+ foreach (Operation oper in portType.Operations) {
+ if (oper.Messages.Input.Name != null) {
+ if (oper.Messages.Input.Name == name) return oper;
+ }
+ else
+ if (oper.Name == name) return oper;
+ }
+
+ return null;
+}
+
+OperationBinding FindOperation (Binding binding, string name)
+{
+ foreach (OperationBinding oper in binding.Operations) {
+ if (oper.Input.Name != null) {
+ if (oper.Input.Name == name) return oper;
+ }
+ else
+ if (oper.Name == name) return oper;
+ }
+
+ return null;
+}
+
+string FormatBindingName (string name)
+{
+ if (name == DefaultBinding) return "Methods";
+ else return "Methods for binding<br>" + name;
+}
+
+string GetOpName (object op)
+{
+ OperationBinding ob = op as OperationBinding;
+ if (ob == null) return "";
+ if (ob.Input.Name != null) return ob.Input.Name;
+ else return ob.Name;
+}
+
+bool HasFormResult
+{
+ get { return Request.QueryString ["ext"] == "testform"; }
+}
+
+class NoCheckCertificatePolicy : ICertificatePolicy {
+ public bool CheckValidationResult (ServicePoint a, X509Certificate b, WebRequest c, int d)
+ {
+ return true;
+ }
+}
+
+string GetOrPost ()
+{
+ return (CurrentOperationProtocols.IndexOf ("HttpGet") >= 0) ? "GET" : "POST";
+}
+
+string GetQS ()
+{
+ bool fill = false;
+ string qs = "";
+ NameValueCollection query_string = Request.QueryString;
+ for (int n = 0; n < query_string.Count; n++) {
+ if (fill) {
+ if (qs != "") qs += "&";
+ qs += query_string.GetKey(n) + "=" + Server.UrlEncode (query_string [n]);
+ }
+ if (query_string.GetKey(n) == "ext") fill = true;
+ }
+
+ return qs;
+}
+
+string GetTestResultUrl ()
+{
+ if (!HasFormResult) return "";
+
+ string location = null;
+ ServiceDescription desc = descriptions [0];
+ Service service = desc.Services[0];
+ foreach (Port port in service.Ports)
+ if (port.Name == CurrentOperationBinding)
+ {
+ SoapAddressBinding sbi = (SoapAddressBinding) port.Extensions.Find (typeof(SoapAddressBinding));
+ if (sbi != null)
+ location = sbi.Location;
+ }
+
+ if (location == null)
+ return "Could not locate web service";
+
+ return location + "/" + CurrentOperationName;
+}
+
+string GenerateOperationMessages (string protocol, bool generateInput)
+{
+ if (!IsOperationSupported (protocol)) return "";
+
+ Port port;
+ if (protocol != "Soap") port = FindPort (null, protocol);
+ else port = FindPort (CurrentOperationBinding, null);
+
+ Binding binding = descriptions.GetBinding (port.Binding);
+ OperationBinding obin = FindOperation (binding, CurrentOperationName);
+ PortType portType = descriptions.GetPortType (binding.Type);
+ Operation oper = FindOperation (portType, CurrentOperationName);
+
+ HtmlSampleGenerator sg = new HtmlSampleGenerator (descriptions, schemas);
+ string txt = sg.GenerateMessage (port, obin, oper, protocol, generateInput);
+ if (protocol == "Soap") txt = WrapText (txt,CodeTextColumns);
+ txt = ColorizeXml (txt);
+ txt = txt.Replace ("@placeholder!","<span class='literal-placeholder'>");
+ txt = txt.Replace ("!placeholder@","</span>");
+ return txt;
+}
+
+bool IsOperationSupported (string protocol)
+{
+ if (CurrentPage != "op" || CurrentTab != "msg") return false;
+ if (protocol == "Soap") return true;
+
+ Port port = FindPort (null, protocol);
+ if (port == null) return false;
+ Binding binding = descriptions.GetBinding (port.Binding);
+ if (binding == null) return false;
+ return FindOperation (binding, CurrentOperationName) != null;
+}
+
+//
+// Proxy code generation
+//
+
+string GetProxyCode ()
+{
+ CodeNamespace codeNamespace = new CodeNamespace();
+ CodeCompileUnit codeUnit = new CodeCompileUnit();
+
+ codeUnit.Namespaces.Add (codeNamespace);
+
+ ServiceDescriptionImporter importer = new ServiceDescriptionImporter();
+
+ foreach (ServiceDescription sd in descriptions)
+ importer.AddServiceDescription(sd, null, null);
+
+ foreach (XmlSchema sc in schemas)
+ importer.Schemas.Add (sc);
+
+ importer.Import(codeNamespace, codeUnit);
+
+ string langId = Request.QueryString ["lang"];
+ if (langId == null || langId == "") langId = "cs";
+ CodeDomProvider provider = GetProvider (langId);
+ ICodeGenerator generator = provider.CreateGenerator();
+ CodeGeneratorOptions options = new CodeGeneratorOptions();
+
+ StringWriter sw = new StringWriter ();
+ generator.GenerateCodeFromCompileUnit(codeUnit, sw, options);
+
+ return Colorize (WrapText (sw.ToString (), CodeTextColumns), langId);
+}
+
+public string CurrentLanguage
+{
+ get {
+ string langId = Request.QueryString ["lang"];
+ if (langId == null || langId == "") langId = "cs";
+ return langId;
+ }
+}
+
+public string CurrentProxytName
+{
+ get {
+ string lan = CurrentLanguage == "cs" ? "C#" : "Visual Basic";
+ return lan + " Client Proxy";
+ }
+}
+
+private CodeDomProvider GetProvider(string langId)
+{
+ switch (langId.ToUpper())
+ {
+ case "CS": return new CSharpCodeProvider();
+ case "VB": return new VBCodeProvider();
+ default: return null;
+ }
+}
+
+//
+// Document generation
+//
+class UTF8StringWriter : StringWriter {
+ public override Encoding Encoding {
+ get { return Encoding.UTF8; }
+ }
+}
+
+string GenerateDocument ()
+{
+ UTF8StringWriter sw = new UTF8StringWriter ();
+
+ if (CurrentDocType == "wsdl")
+ descriptions [CurrentDocInd].Write (sw);
+ else if (CurrentDocType == "schema")
+ schemas [CurrentDocInd].Write (sw);
+
+ return Colorize (WrapText (sw.ToString (), CodeTextColumns), "xml");
+}
+
+public string CurrentDocType
+{
+ get { return Request.QueryString ["doctype"] != null ? Request.QueryString ["doctype"] : "wsdl"; }
+}
+
+public int CurrentDocInd
+{
+ get { return Request.QueryString ["docind"] != null ? int.Parse (Request.QueryString ["docind"]) : 0; }
+}
+
+public string CurrentDocumentName
+{
+ get {
+ if (CurrentDocType == "wsdl")
+ return "WSDL document for namespace \"" + descriptions [CurrentDocInd].TargetNamespace + "\"";
+ else
+ return "Xml Schema for namespace \"" + schemas [CurrentDocInd].TargetNamespace + "\"";
+ }
+}
+
+//
+// Pages and tabs
+//
+
+bool firstTab = true;
+ArrayList disabledTabs = new ArrayList ();
+
+string CurrentTab
+{
+ get { return Request.QueryString["tab"] != null ? Request.QueryString["tab"] : "main" ; }
+}
+
+string CurrentPage
+{
+ get { return Request.QueryString["page"] != null ? Request.QueryString["page"] : "main" ; }
+}
+
+void WriteTabs ()
+{
+ if (CurrentOperationName != null)
+ {
+ WriteTab ("main","Overview");
+ WriteTab ("test","Test Form");
+ WriteTab ("msg","Message Layout");
+ }
+}
+
+void WriteTab (string id, string label)
+{
+ if (!firstTab) Response.Write(" | ");
+ firstTab = false;
+
+ string cname = CurrentTab == id ? "tabLabelOn" : "tabLabelOff";
+ Response.Write ("<a href='" + PageName + "?" + GetPageContext(null) + GetDataContext() + "tab=" + id + "' style='text-decoration:none'>");
+ Response.Write ("<span class='" + cname + "'>" + label + "</span>");
+ Response.Write ("</a>");
+}
+
+string GetTabContext (string pag, string tab)
+{
+ if (tab == null) tab = CurrentTab;
+ if (pag == null) pag = CurrentPage;
+ if (pag != CurrentPage) tab = "main";
+ return "page=" + pag + "&tab=" + tab + "&";
+}
+
+string GetPageContext (string pag)
+{
+ if (pag == null) pag = CurrentPage;
+ return "page=" + pag + "&";
+}
+
+class Tab
+{
+ public string Id;
+ public string Label;
+}
+
+//
+// Syntax coloring
+//
+
+static string keywords_cs =
+ "(\\babstract\\b|\\bevent\\b|\\bnew\\b|\\bstruct\\b|\\bas\\b|\\bexplicit\\b|\\bnull\\b|\\bswitch\\b|\\bbase\\b|\\bextern\\b|" +
+ "\\bobject\\b|\\bthis\\b|\\bbool\\b|\\bfalse\\b|\\boperator\\b|\\bthrow\\b|\\bbreak\\b|\\bfinally\\b|\\bout\\b|\\btrue\\b|" +
+ "\\bbyte\\b|\\bfixed\\b|\\boverride\\b|\\btry\\b|\\bcase\\b|\\bfloat\\b|\\bparams\\b|\\btypeof\\b|\\bcatch\\b|\\bfor\\b|" +
+ "\\bprivate\\b|\\buint\\b|\\bchar\\b|\\bforeach\\b|\\bprotected\\b|\\bulong\\b|\\bchecked\\b|\\bgoto\\b|\\bpublic\\b|" +
+ "\\bunchecked\\b|\\bclass\\b|\\bif\\b|\\breadonly\\b|\\bunsafe\\b|\\bconst\\b|\\bimplicit\\b|\\bref\\b|\\bushort\\b|" +
+ "\\bcontinue\\b|\\bin\\b|\\breturn\\b|\\busing\\b|\\bdecimal\\b|\\bint\\b|\\bsbyte\\b|\\bvirtual\\b|\\bdefault\\b|" +
+ "\\binterface\\b|\\bsealed\\b|\\bvolatile\\b|\\bdelegate\\b|\\binternal\\b|\\bshort\\b|\\bvoid\\b|\\bdo\\b|\\bis\\b|" +
+ "\\bsizeof\\b|\\bwhile\\b|\\bdouble\\b|\\block\\b|\\bstackalloc\\b|\\belse\\b|\\blong\\b|\\bstatic\\b|\\benum\\b|" +
+ "\\bnamespace\\b|\\bstring\\b)";
+
+static string keywords_vb =
+ "(\\bAddHandler\\b|\\bAddressOf\\b|\\bAlias\\b|\\bAnd\\b|\\bAndAlso\\b|\\bAnsi\\b|\\bAs\\b|\\bAssembly\\b|" +
+ "\\bAuto\\b|\\bBoolean\\b|\\bByRef\\b|\\bByte\\b|\\bByVal\\b|\\bCall\\b|\\bCase\\b|\\bCatch\\b|" +
+ "\\bCBool\\b|\\bCByte\\b|\\bCChar\\b|\\bCDate\\b|\\bCDec\\b|\\bCDbl\\b|\\bChar\\b|\\bCInt\\b|" +
+ "\\bClass\\b|\\bCLng\\b|\\bCObj\\b|\\bConst\\b|\\bCShort\\b|\\bCSng\\b|\\bCStr\\b|\\bCType\\b|" +
+ "\\bDate\\b|\\bDecimal\\b|\\bDeclare\\b|\\bDefault\\b|\\bDelegate\\b|\\bDim\\b|\\bDirectCast\\b|\\bDo\\b|" +
+ "\\bDouble\\b|\\bEach\\b|\\bElse\\b|\\bElseIf\\b|\\bEnd\\b|\\bEnum\\b|\\bErase\\b|\\bError\\b|" +
+ "\\bEvent\\b|\\bExit\\b|\\bFalse\\b|\\bFinally\\b|\\bFor\\b|\\bFriend\\b|\\bFunction\\b|\\bGet\\b|" +
+ "\\bGetType\\b|\\bGoSub\\b|\\bGoTo\\b|\\bHandles\\b|\\bIf\\b|\\bImplements\\b|\\bImports\\b|\\bIn\\b|" +
+ "\\bInherits\\b|\\bInteger\\b|\\bInterface\\b|\\bIs\\b|\\bLet\\b|\\bLib\\b|\\bLike\\b|\\bLong\\b|" +
+ "\\bLoop\\b|\\bMe\\b|\\bMod\\b|\\bModule\\b|\\bMustInherit\\b|\\bMustOverride\\b|\\bMyBase\\b|\\bMyClass\\b|" +
+ "\\bNamespace\\b|\\bNew\\b|\\bNext\\b|\\bNot\\b|\\bNothing\\b|\\bNotInheritable\\b|\\bNotOverridable\\b|\\bObject\\b|" +
+ "\\bOn\\b|\\bOption\\b|\\bOptional\\b|\\bOr\\b|\\bOrElse\\b|\\bOverloads\\b|\\bOverridable\\b|\\bOverrides\\b|" +
+ "\\bParamArray\\b|\\bPreserve\\b|\\bPrivate\\b|\\bProperty\\b|\\bProtected\\b|\\bPublic\\b|\\bRaiseEvent\\b|\\bReadOnly\\b|" +
+ "\\bReDim\\b|\\bREM\\b|\\bRemoveHandler\\b|\\bResume\\b|\\bReturn\\b|\\bSelect\\b|\\bSet\\b|\\bShadows\\b|" +
+ "\\bShared\\b|\\bShort\\b|\\bSingle\\b|\\bStatic\\b|\\bStep\\b|\\bStop\\b|\\bString\\b|\\bStructure\\b|" +
+ "\\bSub\\b|\\bSyncLock\\b|\\bThen\\b|\\bThrow\\b|\\bTo\\b|\\bTrue\\b|\\bTry\\b|\\bTypeOf\\b|" +
+ "\\bUnicode\\b|\\bUntil\\b|\\bVariant\\b|\\bWhen\\b|\\bWhile\\b|\\bWith\\b|\\bWithEvents\\b|\\bWriteOnly\\b|\\bXor\\b)";
+
+string Colorize (string text, string lang)
+{
+ if (lang == "xml") return ColorizeXml (text);
+ else if (lang == "cs") return ColorizeCs (text);
+ else if (lang == "vb") return ColorizeVb (text);
+ else return text;
+}
+
+string ColorizeXml (string text)
+{
+ text = text.Replace (" ", " ");
+ Regex re = new Regex ("\r\n|\r|\n");
+ text = re.Replace (text, "_br_");
+
+ re = new Regex ("<\\s*(\\/?)\\s*([\\s\\S]*?)\\s*(\\/?)\\s*>");
+ text = re.Replace (text,"{blue:<$1}{maroon:$2}{blue:$3>}");
+
+ re = new Regex ("\\{(\\w*):([\\s\\S]*?)\\}");
+ text = re.Replace (text,"<span style='color:$1'>$2</span>");
+
+ re = new Regex ("\"(.*?)\"");
+ text = re.Replace (text,"\"<span style='color:purple'>$1</span>\"");
+
+
+ text = text.Replace ("\t", " ");
+ text = text.Replace ("_br_", "<br>");
+ return text;
+}
+
+string ColorizeCs (string text)
+{
+ text = text.Replace (" ", " ");
+
+ text = text.Replace ("<", "<");
+ text = text.Replace (">", ">");
+
+ Regex re = new Regex ("\"((((?!\").)|\\\")*?)\"");
+ text = re.Replace (text,"<span style='color:purple'>\"$1\"</span>");
+
+ re = new Regex ("//(((.(?!\"</span>))|\"(((?!\").)*)\"</span>)*)(\r|\n|\r\n)");
+ text = re.Replace (text,"<span style='color:green'>//$1</span><br/>");
+
+ re = new Regex (keywords_cs);
+ text = re.Replace (text,"<span style='color:blue'>$1</span>");
+
+ text = text.Replace ("\t"," ");
+ text = text.Replace ("\n","<br/>");
+
+ return text;
+}
+
+string ColorizeVb (string text)
+{
+ text = text.Replace (" ", " ");
+
+/* Regex re = new Regex ("\"((((?!\").)|\\\")*?)\"");
+ text = re.Replace (text,"<span style='color:purple'>\"$1\"</span>");
+
+ re = new Regex ("'(((.(?!\"\\<\\/span\\>))|\"(((?!\").)*)\"\\<\\/span\\>)*)(\r|\n|\r\n)");
+ text = re.Replace (text,"<span style='color:green'>//$1</span><br/>");
+
+ re = new Regex (keywords_vb);
+ text = re.Replace (text,"<span style='color:blue'>$1</span>");
+*/
+ text = text.Replace ("\t"," ");
+ text = text.Replace ("\n","<br/>");
+ return text;
+}
+
+//
+// Helper methods and classes
+//
+
+string GetDataContext ()
+{
+ return "op=" + CurrentOperationName + "&bnd=" + CurrentOperationBinding + "&";
+}
+
+string GetOptionSel (string v1, string v2)
+{
+ string op = "<option ";
+ if (v1 == v2) op += "selected ";
+ return op + "value='" + v1 + "'>";
+}
+
+string WrapText (string text, int maxChars)
+{
+ text = text.Replace(" />","/>");
+
+ string linspace = null;
+ int lincount = 0;
+ int breakpos = 0;
+ int linstart = 0;
+ bool inquotes = false;
+ char lastc = ' ';
+ string sublineIndent = "";
+ System.Text.StringBuilder sb = new System.Text.StringBuilder ();
+ for (int n=0; n<text.Length; n++)
+ {
+ char c = text [n];
+
+ if (c=='\r' || c=='\n' || n==text.Length-1)
+ {
+ sb.Append (linspace + sublineIndent + text.Substring (linstart, n-linstart+1));
+ linspace = null;
+ lincount = 0;
+ linstart = n+1;
+ breakpos = linstart;
+ sublineIndent = "";
+ lastc = c;
+ continue;
+ }
+
+ if (lastc==',' || lastc=='(')
+ {
+ if (!inquotes) breakpos = n;
+ }
+
+ if (lincount > maxChars && breakpos >= linstart)
+ {
+ if (linspace != null)
+ sb.Append (linspace + sublineIndent);
+ sb.Append (text.Substring (linstart, breakpos-linstart));
+ sb.Append ("\n");
+ sublineIndent = " ";
+ lincount = linspace.Length + sublineIndent.Length + (n-breakpos);
+ linstart = breakpos;
+ }
+
+ if (c==' ' || c=='\t')
+ {
+ if (!inquotes)
+ breakpos = n;
+ }
+ else if (c=='"')
+ {
+ inquotes = !inquotes;
+ }
+ else
+ if (linspace == null) {
+ linspace = text.Substring (linstart, n-linstart);
+ linstart = n;
+ }
+
+ lincount++;
+ lastc = c;
+ }
+ return sb.ToString ();
+}
+
+class Parameter
+{
+ string name;
+ string type;
+ string description;
+
+ public string Name { get { return name; } set { name = value; } }
+ public string Type { get { return type; } set { type = value; } }
+ public string Description { get { return description; } set { description = value; } }
+}
+
+public class HtmlSampleGenerator: SampleGenerator
+{
+ public HtmlSampleGenerator (ServiceDescriptionCollection services, XmlSchemas schemas)
+ : base (services, schemas)
+ {
+ }
+
+ protected override string GetLiteral (string s)
+ {
+ return "@placeholder!" + s + "!placeholder@";
+ }
+}
+
+
+ public class SampleGenerator
+ {
+ protected ServiceDescriptionCollection descriptions;
+ protected XmlSchemas schemas;
+ XmlSchemaElement anyElement;
+ ArrayList queue;
+ SoapBindingUse currentUse;
+ XmlDocument document = new XmlDocument ();
+
+ static readonly XmlQualifiedName anyType = new XmlQualifiedName ("anyType",XmlSchema.Namespace);
+ static readonly XmlQualifiedName arrayType = new XmlQualifiedName ("Array","http://schemas.xmlsoap.org/soap/encoding/");
+ static readonly XmlQualifiedName arrayTypeRefName = new XmlQualifiedName ("arrayType","http://schemas.xmlsoap.org/soap/encoding/");
+ const string SoapEnvelopeNamespace = "http://schemas.xmlsoap.org/soap/envelope/";
+ const string WsdlNamespace = "http://schemas.xmlsoap.org/wsdl/";
+ const string SoapEncodingNamespace = "http://schemas.xmlsoap.org/soap/encoding/";
+
+ class EncodedType
+ {
+ public EncodedType (string ns, XmlSchemaElement elem) { Namespace = ns; Element = elem; }
+ public string Namespace;
+ public XmlSchemaElement Element;
+ }
+
+ public SampleGenerator (ServiceDescriptionCollection services, XmlSchemas schemas)
+ {
+ descriptions = services;
+ this.schemas = schemas;
+ queue = new ArrayList ();
+ }
+
+ public string GenerateMessage (Port port, OperationBinding obin, Operation oper, string protocol, bool generateInput)
+ {
+ OperationMessage msg = null;
+ foreach (OperationMessage opm in oper.Messages)
+ {
+ if (opm is OperationInput && generateInput) msg = opm;
+ else if (opm is OperationOutput && !generateInput) msg = opm;
+ }
+ if (msg == null) return null;
+
+ switch (protocol) {
+ case "Soap": return GenerateHttpSoapMessage (port, obin, oper, msg);
+ case "HttpGet": return GenerateHttpGetMessage (port, obin, oper, msg);
+ case "HttpPost": return GenerateHttpPostMessage (port, obin, oper, msg);
+ }
+ return "Unknown protocol";
+ }
+
+ public string GenerateHttpSoapMessage (Port port, OperationBinding obin, Operation oper, OperationMessage msg)
+ {
+ string req = "";
+
+ if (msg is OperationInput)
+ {
+ SoapAddressBinding sab = port.Extensions.Find (typeof(SoapAddressBinding)) as SoapAddressBinding;
+ SoapOperationBinding sob = obin.Extensions.Find (typeof(SoapOperationBinding)) as SoapOperationBinding;
+ req += "POST " + new Uri (sab.Location).AbsolutePath + "\n";
+ req += "SOAPAction: " + sob.SoapAction + "\n";
+ req += "Content-Type: text/xml; charset=utf-8\n";
+ req += "Content-Length: " + GetLiteral ("string") + "\n";
+ req += "Host: " + GetLiteral ("string") + "\n\n";
+ }
+ else
+ {
+ req += "HTTP/1.0 200 OK\n";
+ req += "Content-Type: text/xml; charset=utf-8\n";
+ req += "Content-Length: " + GetLiteral ("string") + "\n\n";
+ }
+
+ req += GenerateSoapMessage (obin, oper, msg);
+ return req;
+ }
+
+ public string GenerateHttpGetMessage (Port port, OperationBinding obin, Operation oper, OperationMessage msg)
+ {
+ string req = "";
+
+ if (msg is OperationInput)
+ {
+ HttpAddressBinding sab = port.Extensions.Find (typeof(HttpAddressBinding)) as HttpAddressBinding;
+ HttpOperationBinding sob = obin.Extensions.Find (typeof(HttpOperationBinding)) as HttpOperationBinding;
+ string location = new Uri (sab.Location).AbsolutePath + sob.Location + "?" + BuildQueryString (msg);
+ req += "GET " + location + "\n";
+ req += "Host: " + GetLiteral ("string");
+ }
+ else
+ {
+ req += "HTTP/1.0 200 OK\n";
+ req += "Content-Type: text/xml; charset=utf-8\n";
+ req += "Content-Length: " + GetLiteral ("string") + "\n\n";
+
+ MimeXmlBinding mxb = (MimeXmlBinding) obin.Output.Extensions.Find (typeof(MimeXmlBinding)) as MimeXmlBinding;
+ if (mxb == null) return req;
+
+ Message message = descriptions.GetMessage (msg.Message);
+ XmlQualifiedName ename = null;
+ foreach (MessagePart part in message.Parts)
+ if (part.Name == mxb.Part) ename = part.Element;
+
+ if (ename == null) return req + GetLiteral("string");
+
+ StringWriter sw = new StringWriter ();
+ XmlTextWriter xtw = new XmlTextWriter (sw);
+ xtw.Formatting = Formatting.Indented;
+ currentUse = SoapBindingUse.Literal;
+ WriteRootElementSample (xtw, ename);
+ xtw.Close ();
+ req += sw.ToString ();
+ }
+
+ return req;
+ }
+
+ public string GenerateHttpPostMessage (Port port, OperationBinding obin, Operation oper, OperationMessage msg)
+ {
+ string req = "";
+
+ if (msg is OperationInput)
+ {
+ HttpAddressBinding sab = port.Extensions.Find (typeof(HttpAddressBinding)) as HttpAddressBinding;
+ HttpOperationBinding sob = obin.Extensions.Find (typeof(HttpOperationBinding)) as HttpOperationBinding;
+ string location = new Uri (sab.Location).AbsolutePath + sob.Location;
+ req += "POST " + location + "\n";
+ req += "Content-Type: application/x-www-form-urlencoded\n";
+ req += "Content-Length: " + GetLiteral ("string") + "\n";
+ req += "Host: " + GetLiteral ("string") + "\n\n";
+ req += BuildQueryString (msg);
+ }
+ else return GenerateHttpGetMessage (port, obin, oper, msg);
+
+ return req;
+ }
+
+ string BuildQueryString (OperationMessage opm)
+ {
+ string s = "";
+ Message msg = descriptions.GetMessage (opm.Message);
+ foreach (MessagePart part in msg.Parts)
+ {
+ if (s.Length != 0) s += "&";
+ s += part.Name + "=" + GetLiteral (part.Type.Name);
+ }
+ return s;
+ }
+
+ public string GenerateSoapMessage (OperationBinding obin, Operation oper, OperationMessage msg)
+ {
+ SoapOperationBinding sob = obin.Extensions.Find (typeof(SoapOperationBinding)) as SoapOperationBinding;
+ SoapBindingStyle style = (sob != null) ? sob.Style : SoapBindingStyle.Document;
+
+ MessageBinding msgbin = (msg is OperationInput) ? (MessageBinding) obin.Input : (MessageBinding)obin.Output;
+ SoapBodyBinding sbb = msgbin.Extensions.Find (typeof(SoapBodyBinding)) as SoapBodyBinding;
+ SoapBindingUse bodyUse = (sbb != null) ? sbb.Use : SoapBindingUse.Literal;
+
+ StringWriter sw = new StringWriter ();
+ XmlTextWriter xtw = new XmlTextWriter (sw);
+ xtw.Formatting = Formatting.Indented;
+
+ xtw.WriteStartDocument ();
+ xtw.WriteStartElement ("soap", "Envelope", SoapEnvelopeNamespace);
+ xtw.WriteAttributeString ("xmlns", "xsi", null, XmlSchema.InstanceNamespace);
+ xtw.WriteAttributeString ("xmlns", "xsd", null, XmlSchema.Namespace);
+
+ if (bodyUse == SoapBindingUse.Encoded)
+ {
+ xtw.WriteAttributeString ("xmlns", "soapenc", null, SoapEncodingNamespace);
+ xtw.WriteAttributeString ("xmlns", "tns", null, msg.Message.Namespace);
+ }
+
+ // Serialize headers
+
+ bool writtenHeader = false;
+ foreach (object ob in msgbin.Extensions)
+ {
+ SoapHeaderBinding hb = ob as SoapHeaderBinding;
+ if (hb == null) continue;
+
+ if (!writtenHeader) {
+ xtw.WriteStartElement ("soap", "Header", SoapEnvelopeNamespace);
+ writtenHeader = true;
+ }
+
+ WriteHeader (xtw, hb);
+ }
+
+ if (writtenHeader)
+ xtw.WriteEndElement ();
+
+ // Serialize body
+ xtw.WriteStartElement ("soap", "Body", SoapEnvelopeNamespace);
+
+ currentUse = bodyUse;
+ WriteBody (xtw, oper, msg, sbb, style);
+
+ xtw.WriteEndElement ();
+ xtw.WriteEndElement ();
+ xtw.Close ();
+ return sw.ToString ();
+ }
+
+ void WriteHeader (XmlTextWriter xtw, SoapHeaderBinding header)
+ {
+ Message msg = descriptions.GetMessage (header.Message);
+ if (msg == null) throw new InvalidOperationException ("Message " + header.Message + " not found");
+ MessagePart part = msg.Parts [header.Part];
+ if (part == null) throw new InvalidOperationException ("Message part " + header.Part + " not found in message " + header.Message);
+
+ currentUse = header.Use;
+
+ if (currentUse == SoapBindingUse.Literal)
+ WriteRootElementSample (xtw, part.Element);
+ else
+ WriteTypeSample (xtw, part.Type);
+ }
+
+ void WriteBody (XmlTextWriter xtw, Operation oper, OperationMessage opm, SoapBodyBinding sbb, SoapBindingStyle style)
+ {
+ Message msg = descriptions.GetMessage (opm.Message);
+ if (msg.Parts.Count > 0 && msg.Parts[0].Name == "parameters")
+ {
+ MessagePart part = msg.Parts[0];
+ if (part.Element == XmlQualifiedName.Empty)
+ WriteTypeSample (xtw, part.Type);
+ else
+ WriteRootElementSample (xtw, part.Element);
+ }
+ else
+ {
+ string elemName = oper.Name;
+ string ns = "";
+ if (opm is OperationOutput) elemName += "Response";
+
+ if (style == SoapBindingStyle.Rpc) {
+ xtw.WriteStartElement (elemName, sbb.Namespace);
+ ns = sbb.Namespace;
+ }
+
+ foreach (MessagePart part in msg.Parts)
+ {
+ if (part.Element == XmlQualifiedName.Empty)
+ {
+ XmlSchemaElement elem = new XmlSchemaElement ();
+ elem.SchemaTypeName = part.Type;
+ elem.Name = part.Name;
+ WriteElementSample (xtw, ns, elem);
+ }
+ else
+ WriteRootElementSample (xtw, part.Element);
+ }
+
+ if (style == SoapBindingStyle.Rpc)
+ xtw.WriteEndElement ();
+ }
+ WriteQueuedTypeSamples (xtw);
+ }
+
+ void WriteRootElementSample (XmlTextWriter xtw, XmlQualifiedName qname)
+ {
+ XmlSchemaElement elem = (XmlSchemaElement) schemas.Find (qname, typeof(XmlSchemaElement));
+ if (elem == null) throw new InvalidOperationException ("Element not found: " + qname);
+ WriteElementSample (xtw, qname.Namespace, elem);
+ }
+
+ void WriteElementSample (XmlTextWriter xtw, string ns, XmlSchemaElement elem)
+ {
+ bool sharedAnnType = false;
+ XmlQualifiedName root;
+
+ if (!elem.RefName.IsEmpty) {
+ XmlSchemaElement refElem = FindRefElement (elem);
+ if (refElem == null) throw new InvalidOperationException ("Global element not found: " + elem.RefName);
+ root = elem.RefName;
+ elem = refElem;
+ sharedAnnType = true;
+ }
+ else
+ root = new XmlQualifiedName (elem.Name, ns);
+
+ if (!elem.SchemaTypeName.IsEmpty)
+ {
+ XmlSchemaComplexType st = FindComplexTyype (elem.SchemaTypeName);
+ if (st != null)
+ WriteComplexTypeSample (xtw, st, root);
+ else
+ {
+ xtw.WriteStartElement (root.Name, root.Namespace);
+ if (currentUse == SoapBindingUse.Encoded)
+ xtw.WriteAttributeString ("type", XmlSchema.InstanceNamespace, GetQualifiedNameString (xtw, elem.SchemaTypeName));
+ xtw.WriteString (GetLiteral (FindBuiltInType (elem.SchemaTypeName)));
+ xtw.WriteEndElement ();
+ }
+ }
+ else if (elem.SchemaType == null)
+ {
+ xtw.WriteStartElement ("any");
+ xtw.WriteEndElement ();
+ }
+ else
+ WriteComplexTypeSample (xtw, (XmlSchemaComplexType) elem.SchemaType, root);
+ }
+
+ void WriteTypeSample (XmlTextWriter xtw, XmlQualifiedName qname)
+ {
+ XmlSchemaComplexType ctype = FindComplexTyype (qname);
+ if (ctype != null) {
+ WriteComplexTypeSample (xtw, ctype, qname);
+ return;
+ }
+
+ XmlSchemaSimpleType stype = (XmlSchemaSimpleType) schemas.Find (qname, typeof(XmlSchemaSimpleType));
+ if (stype != null) {
+ WriteSimpleTypeSample (xtw, stype);
+ return;
+ }
+
+ xtw.WriteString (GetLiteral (FindBuiltInType (qname)));
+ throw new InvalidOperationException ("Type not found: " + qname);
+ }
+
+ void WriteComplexTypeSample (XmlTextWriter xtw, XmlSchemaComplexType stype, XmlQualifiedName rootName)
+ {
+ WriteComplexTypeSample (xtw, stype, rootName, -1);
+ }
+
+ void WriteComplexTypeSample (XmlTextWriter xtw, XmlSchemaComplexType stype, XmlQualifiedName rootName, int id)
+ {
+ string ns = rootName.Namespace;
+
+ if (rootName.Name.IndexOf ("[]") != -1) rootName = arrayType;
+
+ if (currentUse == SoapBindingUse.Encoded) {
+ string pref = xtw.LookupPrefix (rootName.Namespace);
+ if (pref == null) pref = "q1";
+ xtw.WriteStartElement (pref, rootName.Name, rootName.Namespace);
+ ns = "";
+ }
+ else
+ xtw.WriteStartElement (rootName.Name, rootName.Namespace);
+
+ if (id != -1)
+ {
+ xtw.WriteAttributeString ("id", "id" + id);
+ if (rootName != arrayType)
+ xtw.WriteAttributeString ("type", XmlSchema.InstanceNamespace, GetQualifiedNameString (xtw, rootName));
+ }
+
+ WriteComplexTypeAttributes (xtw, stype);
+ WriteComplexTypeElements (xtw, ns, stype);
+
+ xtw.WriteEndElement ();
+ }
+
+ void WriteComplexTypeAttributes (XmlTextWriter xtw, XmlSchemaComplexType stype)
+ {
+ WriteAttributes (xtw, stype.Attributes, stype.AnyAttribute);
+ }
+
+ Dictionary<XmlSchemaComplexType,int> recursed_types = new Dictionary<XmlSchemaComplexType,int> ();
+ void WriteComplexTypeElements (XmlTextWriter xtw, string ns, XmlSchemaComplexType stype)
+ {
+ int prev = 0;
+ if (recursed_types.ContainsKey (stype))
+ prev = recursed_types [stype];
+
+ if (prev > 1)
+ return;
+ recursed_types [stype] = ++prev;
+
+ if (stype.Particle != null)
+ WriteParticleComplexContent (xtw, ns, stype.Particle);
+ else
+ {
+ if (stype.ContentModel is XmlSchemaSimpleContent)
+ WriteSimpleContent (xtw, (XmlSchemaSimpleContent)stype.ContentModel);
+ else if (stype.ContentModel is XmlSchemaComplexContent)
+ WriteComplexContent (xtw, ns, (XmlSchemaComplexContent)stype.ContentModel);
+ }
+ prev = recursed_types [stype];
+ recursed_types [stype] = --prev;
+ }
+
+ void WriteAttributes (XmlTextWriter xtw, XmlSchemaObjectCollection atts, XmlSchemaAnyAttribute anyat)
+ {
+ foreach (XmlSchemaObject at in atts)
+ {
+ if (at is XmlSchemaAttribute)
+ {
+ string ns;
+ XmlSchemaAttribute attr = (XmlSchemaAttribute)at;
+ XmlSchemaAttribute refAttr = attr;
+
+ // refAttr.Form; TODO
+
+ if (!attr.RefName.IsEmpty) {
+ refAttr = FindRefAttribute (attr.RefName);
+ if (refAttr == null) throw new InvalidOperationException ("Global attribute not found: " + attr.RefName);
+ }
+
+ string val;
+ if (!refAttr.SchemaTypeName.IsEmpty) val = FindBuiltInType (refAttr.SchemaTypeName);
+ else val = FindBuiltInType ((XmlSchemaSimpleType) refAttr.SchemaType);
+
+ xtw.WriteAttributeString (refAttr.Name, val);
+ }
+ else if (at is XmlSchemaAttributeGroupRef)
+ {
+ XmlSchemaAttributeGroupRef gref = (XmlSchemaAttributeGroupRef)at;
+ XmlSchemaAttributeGroup grp = (XmlSchemaAttributeGroup) schemas.Find (gref.RefName, typeof(XmlSchemaAttributeGroup));
+ WriteAttributes (xtw, grp.Attributes, grp.AnyAttribute);
+ }
+ }
+
+ if (anyat != null)
+ xtw.WriteAttributeString ("custom-attribute","value");
+ }
+
+ void WriteParticleComplexContent (XmlTextWriter xtw, string ns, XmlSchemaParticle particle)
+ {
+ WriteParticleContent (xtw, ns, particle, false);
+ }
+
+ void WriteParticleContent (XmlTextWriter xtw, string ns, XmlSchemaParticle particle, bool multiValue)
+ {
+ if (particle is XmlSchemaGroupRef)
+ particle = GetRefGroupParticle ((XmlSchemaGroupRef)particle);
+
+ if (particle.MaxOccurs > 1) multiValue = true;
+
+ if (particle is XmlSchemaSequence) {
+ WriteSequenceContent (xtw, ns, ((XmlSchemaSequence)particle).Items, multiValue);
+ }
+ else if (particle is XmlSchemaChoice) {
+ if (((XmlSchemaChoice)particle).Items.Count == 1)
+ WriteSequenceContent (xtw, ns, ((XmlSchemaChoice)particle).Items, multiValue);
+ else
+ WriteChoiceContent (xtw, ns, (XmlSchemaChoice)particle, multiValue);
+ }
+ else if (particle is XmlSchemaAll) {
+ WriteSequenceContent (xtw, ns, ((XmlSchemaAll)particle).Items, multiValue);
+ }
+ }
+
+ void WriteSequenceContent (XmlTextWriter xtw, string ns, XmlSchemaObjectCollection items, bool multiValue)
+ {
+ foreach (XmlSchemaObject item in items)
+ WriteContentItem (xtw, ns, item, multiValue);
+ }
+
+ void WriteContentItem (XmlTextWriter xtw, string ns, XmlSchemaObject item, bool multiValue)
+ {
+ if (item is XmlSchemaGroupRef)
+ item = GetRefGroupParticle ((XmlSchemaGroupRef)item);
+
+ if (item is XmlSchemaElement)
+ {
+ XmlSchemaElement elem = (XmlSchemaElement) item;
+ XmlSchemaElement refElem;
+ if (!elem.RefName.IsEmpty) refElem = FindRefElement (elem);
+ else refElem = elem;
+
+ int num = (elem.MaxOccurs == 1 && !multiValue) ? 1 : 2;
+ for (int n=0; n<num; n++)
+ {
+ if (currentUse == SoapBindingUse.Literal)
+ WriteElementSample (xtw, ns, refElem);
+ else
+ WriteRefTypeSample (xtw, ns, refElem);
+ }
+ }
+ else if (item is XmlSchemaAny)
+ {
+ xtw.WriteString (GetLiteral ("xml"));
+ }
+ else if (item is XmlSchemaParticle) {
+ WriteParticleContent (xtw, ns, (XmlSchemaParticle)item, multiValue);
+ }
+ }
+
+ void WriteChoiceContent (XmlTextWriter xtw, string ns, XmlSchemaChoice choice, bool multiValue)
+ {
+ foreach (XmlSchemaObject item in choice.Items)
+ WriteContentItem (xtw, ns, item, multiValue);
+ }
+
+ void WriteSimpleContent (XmlTextWriter xtw, XmlSchemaSimpleContent content)
+ {
+ XmlSchemaSimpleContentExtension ext = content.Content as XmlSchemaSimpleContentExtension;
+ if (ext != null)
+ WriteAttributes (xtw, ext.Attributes, ext.AnyAttribute);
+
+ XmlQualifiedName qname = GetContentBaseType (content.Content);
+ xtw.WriteString (GetLiteral (FindBuiltInType (qname)));
+ }
+
+ string FindBuiltInType (XmlQualifiedName qname)
+ {
+ if (qname.Namespace == XmlSchema.Namespace)
+ return qname.Name;
+
+ XmlSchemaComplexType ct = FindComplexTyype (qname);
+ if (ct != null)
+ {
+ XmlSchemaSimpleContent sc = ct.ContentModel as XmlSchemaSimpleContent;
+ if (sc == null) throw new InvalidOperationException ("Invalid schema");
+ return FindBuiltInType (GetContentBaseType (sc.Content));
+ }
+
+ XmlSchemaSimpleType st = (XmlSchemaSimpleType) schemas.Find (qname, typeof(XmlSchemaSimpleType));
+ if (st != null)
+ return FindBuiltInType (st);
+
+ throw new InvalidOperationException ("Definition of type " + qname + " not found");
+ }
+
+ string FindBuiltInType (XmlSchemaSimpleType st)
+ {
+ if (st.Content is XmlSchemaSimpleTypeRestriction) {
+ return FindBuiltInType (GetContentBaseType (st.Content));
+ }
+ else if (st.Content is XmlSchemaSimpleTypeList) {
+ string s = FindBuiltInType (GetContentBaseType (st.Content));
+ return s + " " + s + " ...";
+ }
+ else if (st.Content is XmlSchemaSimpleTypeUnion)
+ {
+ //Check if all types of the union are equal. If not, then will use anyType.
+ XmlSchemaSimpleTypeUnion uni = (XmlSchemaSimpleTypeUnion) st.Content;
+ string utype = null;
+
+ // Anonymous types are unique
+ if (uni.BaseTypes.Count != 0 && uni.MemberTypes.Length != 0)
+ return "string";
+
+ foreach (XmlQualifiedName mt in uni.MemberTypes)
+ {
+ string qn = FindBuiltInType (mt);
+ if (utype != null && qn != utype) return "string";
+ else utype = qn;
+ }
+ return utype;
+ }
+ else
+ return "string";
+ }
+
+
+ XmlQualifiedName GetContentBaseType (XmlSchemaObject ob)
+ {
+ if (ob is XmlSchemaSimpleContentExtension)
+ return ((XmlSchemaSimpleContentExtension)ob).BaseTypeName;
+ else if (ob is XmlSchemaSimpleContentRestriction)
+ return ((XmlSchemaSimpleContentRestriction)ob).BaseTypeName;
+ else if (ob is XmlSchemaSimpleTypeRestriction)
+ return ((XmlSchemaSimpleTypeRestriction)ob).BaseTypeName;
+ else if (ob is XmlSchemaSimpleTypeList)
+ return ((XmlSchemaSimpleTypeList)ob).ItemTypeName;
+ else
+ return null;
+ }
+
+ void WriteComplexContent (XmlTextWriter xtw, string ns, XmlSchemaComplexContent content)
+ {
+ XmlQualifiedName qname;
+
+ XmlSchemaComplexContentExtension ext = content.Content as XmlSchemaComplexContentExtension;
+ if (ext != null) qname = ext.BaseTypeName;
+ else {
+ XmlSchemaComplexContentRestriction rest = (XmlSchemaComplexContentRestriction)content.Content;
+ qname = rest.BaseTypeName;
+ if (qname == arrayType) {
+ ParseArrayType (rest, out qname);
+ XmlSchemaElement elem = new XmlSchemaElement ();
+ elem.Name = "Item";
+ elem.SchemaTypeName = qname;
+
+ xtw.WriteAttributeString ("arrayType", SoapEncodingNamespace, qname.Name + "[2]");
+ WriteContentItem (xtw, ns, elem, true);
+ return;
+ }
+ }
+
+ // Add base map members to this map
+ XmlSchemaComplexType ctype = FindComplexTyype (qname);
+ WriteComplexTypeAttributes (xtw, ctype);
+
+ if (ext != null) {
+ // Add the members of this map
+ WriteAttributes (xtw, ext.Attributes, ext.AnyAttribute);
+ if (ext.Particle != null)
+ WriteParticleComplexContent (xtw, ns, ext.Particle);
+ }
+
+ WriteComplexTypeElements (xtw, ns, ctype);
+ }
+
+ void ParseArrayType (XmlSchemaComplexContentRestriction rest, out XmlQualifiedName qtype)
+ {
+ XmlSchemaAttribute arrayTypeAt = FindArrayAttribute (rest.Attributes);
+ XmlAttribute[] uatts = arrayTypeAt.UnhandledAttributes;
+ if (uatts == null || uatts.Length == 0) throw new InvalidOperationException ("arrayType attribute not specified in array declaration");
+
+ XmlAttribute xat = null;
+ foreach (XmlAttribute at in uatts)
+ if (at.LocalName == "arrayType" && at.NamespaceURI == WsdlNamespace)
+ { xat = at; break; }
+
+ if (xat == null)
+ throw new InvalidOperationException ("arrayType attribute not specified in array declaration");
+
+ string arrayType = xat.Value;
+ string type, ns;
+ int i = arrayType.LastIndexOf (":");
+ if (i == -1) ns = "";
+ else ns = arrayType.Substring (0,i);
+
+ int j = arrayType.IndexOf ("[", i+1);
+ if (j == -1) throw new InvalidOperationException ("Cannot parse WSDL array type: " + arrayType);
+ type = arrayType.Substring (i+1);
+ type = type.Substring (0, type.Length-2);
+
+ qtype = new XmlQualifiedName (type, ns);
+ }
+
+ XmlSchemaAttribute FindArrayAttribute (XmlSchemaObjectCollection atts)
+ {
+ foreach (object ob in atts)
+ {
+ XmlSchemaAttribute att = ob as XmlSchemaAttribute;
+ if (att != null && att.RefName == arrayTypeRefName) return att;
+
+ XmlSchemaAttributeGroupRef gref = ob as XmlSchemaAttributeGroupRef;
+ if (gref != null)
+ {
+ XmlSchemaAttributeGroup grp = (XmlSchemaAttributeGroup) schemas.Find (gref.RefName, typeof(XmlSchemaAttributeGroup));
+ att = FindArrayAttribute (grp.Attributes);
+ if (att != null) return att;
+ }
+ }
+ return null;
+ }
+
+ void WriteSimpleTypeSample (XmlTextWriter xtw, XmlSchemaSimpleType stype)
+ {
+ xtw.WriteString (GetLiteral (FindBuiltInType (stype)));
+ }
+
+ XmlSchemaParticle GetRefGroupParticle (XmlSchemaGroupRef refGroup)
+ {
+ XmlSchemaGroup grp = (XmlSchemaGroup) schemas.Find (refGroup.RefName, typeof (XmlSchemaGroup));
+ return grp.Particle;
+ }
+
+ XmlSchemaElement FindRefElement (XmlSchemaElement elem)
+ {
+ if (elem.RefName.Namespace == XmlSchema.Namespace)
+ {
+ if (anyElement != null) return anyElement;
+ anyElement = new XmlSchemaElement ();
+ anyElement.Name = "any";
+ anyElement.SchemaTypeName = anyType;
+ return anyElement;
+ }
+ return (XmlSchemaElement) schemas.Find (elem.RefName, typeof(XmlSchemaElement));
+ }
+
+ XmlSchemaAttribute FindRefAttribute (XmlQualifiedName refName)
+ {
+ if (refName.Namespace == XmlSchema.Namespace)
+ {
+ XmlSchemaAttribute at = new XmlSchemaAttribute ();
+ at.Name = refName.Name;
+ at.SchemaTypeName = new XmlQualifiedName ("string",XmlSchema.Namespace);
+ return at;
+ }
+ return (XmlSchemaAttribute) schemas.Find (refName, typeof(XmlSchemaAttribute));
+ }
+
+ void WriteRefTypeSample (XmlTextWriter xtw, string ns, XmlSchemaElement elem)
+ {
+ if (elem.SchemaTypeName.Namespace == XmlSchema.Namespace || schemas.Find (elem.SchemaTypeName, typeof(XmlSchemaSimpleType)) != null)
+ WriteElementSample (xtw, ns, elem);
+ else
+ {
+ xtw.WriteStartElement (elem.Name, ns);
+ xtw.WriteAttributeString ("href", "#id" + (queue.Count+1));
+ xtw.WriteEndElement ();
+ queue.Add (new EncodedType (ns, elem));
+ }
+ }
+
+ void WriteQueuedTypeSamples (XmlTextWriter xtw)
+ {
+ for (int n=0; n<queue.Count; n++)
+ {
+ EncodedType ec = (EncodedType) queue[n];
+ XmlSchemaComplexType st = FindComplexTyype (ec.Element.SchemaTypeName);
+ WriteComplexTypeSample (xtw, st, ec.Element.SchemaTypeName, n+1);
+ }
+ }
+
+ XmlSchemaComplexType FindComplexTyype (XmlQualifiedName qname)
+ {
+ if (qname.Name.IndexOf ("[]") != -1)
+ {
+ XmlSchemaComplexType stype = new XmlSchemaComplexType ();
+ stype.ContentModel = new XmlSchemaComplexContent ();
+
+ XmlSchemaComplexContentRestriction res = new XmlSchemaComplexContentRestriction ();
+ stype.ContentModel.Content = res;
+ res.BaseTypeName = arrayType;
+
+ XmlSchemaAttribute att = new XmlSchemaAttribute ();
+ att.RefName = arrayTypeRefName;
+ res.Attributes.Add (att);
+
+ XmlAttribute xat = document.CreateAttribute ("arrayType", WsdlNamespace);
+ xat.Value = qname.Namespace + ":" + qname.Name;
+ att.UnhandledAttributes = new XmlAttribute[] {xat};
+ return stype;
+ }
+
+ return (XmlSchemaComplexType) schemas.Find (qname, typeof(XmlSchemaComplexType));
+ }
+
+ string GetQualifiedNameString (XmlTextWriter xtw, XmlQualifiedName qname)
+ {
+ string pref = xtw.LookupPrefix (qname.Namespace);
+ if (pref != null) return pref + ":" + qname.Name;
+
+ xtw.WriteAttributeString ("xmlns", "q1", null, qname.Namespace);
+ return "q1:" + qname.Name;
+ }
+
+ protected virtual string GetLiteral (string s)
+ {
+ return s;
+ }
+
+ void GetOperationFormat (OperationBinding obin, out SoapBindingStyle style, out SoapBindingUse use)
+ {
+ style = SoapBindingStyle.Document;
+ use = SoapBindingUse.Literal;
+ SoapOperationBinding sob = obin.Extensions.Find (typeof(SoapOperationBinding)) as SoapOperationBinding;
+ if (sob != null) {
+ style = sob.Style;
+ SoapBodyBinding sbb = obin.Input.Extensions.Find (typeof(SoapBodyBinding)) as SoapBodyBinding;
+ if (sbb != null)
+ use = sbb.Use;
+ }
+ }
+ }
+
+
+
+
+
+</script>
+
+<head runat="server">
+ <%
+ Response.Write ("<link rel=\"alternate\" type=\"text/xml\" href=\"" + Request.FilePath + "?disco\"/>");
+ %>
+ <title><%=WebServiceName%> Web Service</title>
+ <style type="text/css">
+ BODY { font-family: Arial; margin-left: 20px; margin-top: 20px; font-size: x-small}
+ TABLE { font-size: x-small }
+ .title { color:dimgray; font-family: Arial; font-size:20pt; font-weight:900}
+ .operationTitle { color:dimgray; font-family: Arial; font-size:15pt; font-weight:900}
+ .method { font-size: x-small }
+ .bindingLabel { font-size: x-small; font-weight:bold; color:darkgray; line-height:8pt; display:block; margin-bottom:3px }
+ .label { font-size: small; font-weight:bold; color:darkgray }
+ .paramTable { font-size: x-small }
+ .paramTable TR { background-color: gainsboro }
+ .paramFormTable { font-size: x-small; padding: 10px; background-color: gainsboro }
+ .paramFormTable TR { background-color: gainsboro }
+ .paramInput { border: solid 1px gray }
+ .button {border: solid 1px gray }
+ .smallSeparator { height:3px; overflow:hidden }
+ .panel { background-color:whitesmoke; border: solid 1px silver; border-top: solid 1px silver }
+ .codePanel { background-color: white; font-size:x-small; padding:7px; border:solid 1px silver}
+ .code-xml { font-size:10pt; font-family:courier }
+ .code-cs { font-size:10pt; font-family:courier }
+ .code-vb { font-size:10pt; font-family:courier }
+ .tabLabelOn { font-weight:bold }
+ .tabLabelOff {color: darkgray }
+ .literal-placeholder {color: darkblue; font-weight:bold}
+ A:link { color: black; }
+ A:visited { color: black; }
+ A:active { color: black; }
+ A:hover { color: blue }
+ </style>
+
+<script language="javascript" type="text/javascript">
+var req;
+function getXML (command, url, qs) {
+ if (url == "" || url.substring (0, 4) != "http")
+ return;
+
+ var post_data = null;
+ req = getReq ();
+ req.onreadystatechange = stateChange;
+ if (command == "GET") {
+ url = url + "?" + qs;
+ } else {
+ post_data = qs;
+ }
+ req.open (command, url, true);
+ if (command == "POST")
+ req.setRequestHeader ("Content-Type", "application/x-www-form-urlencoded");
+ req.send (post_data);
+}
+
+function stateChange () {
+ if (req.readyState == 4) {
+ var node = document.getElementById("testresult_div");
+ var text = "";
+ if (req.status == 200) {
+ node.innerHTML = "<div class='code-xml'>" + formatXml (req.responseText) + "</div>";
+ } else {
+ var ht = "<b style='color: red'>" + formatXml (req.status + " - " + req.statusText) + "</b>";
+ if (req.responseText != "")
+ ht = ht + "\n<div class='code-xml'>" + formatXml (req.responseText) + "</div>";
+ node.innerHTML = ht;
+
+ }
+ }
+}
+
+function formatXml (text)
+{
+ var re = / /g;
+ text = text.replace (re, " ");
+
+ re = /\t/g;
+ text = text.replace (re, " ");
+
+ re = /\<\s*(\/?)\s*(.*?)\s*(\/?)\s*\>/g;
+ text = text.replace (re,"{blue:<$1}{maroon:$2}{blue:$3>}");
+
+ re = /{(\w*):(.*?)}/g;
+ text = text.replace (re,"<span style='color:$1'>$2</span>");
+
+ re = /"(.*?)"/g;
+ text = text.replace (re,"\"<span style='color:purple'>$1</span>\"");
+
+ re = /\r\n|\r|\n/g;
+ text = text.replace (re, "<br/>");
+
+ return text;
+}
+
+function getReq () {
+ if (window.XMLHttpRequest) {
+ return new XMLHttpRequest(); // Firefox, Safari, ...
+ } else if (window.ActiveXObject) {
+ return new ActiveXObject("Microsoft.XMLHTTP");
+ }
+}
+
+function clearForm ()
+{
+ document.getElementById("testFormResult").style.display="none";
+}
+</script>
+
+</head>
+
+<body>
+<div class="title" style="margin-left:20px">
+<span class="label">Web Service</span><br>
+<%=WebServiceName%>
+</div>
+
+<!--
+ **********************************************************
+ Left panel
+-->
+
+<table border="0" width="100%" cellpadding="15px" cellspacing="15px">
+<tr valign="top"><td width="150px" class="panel">
+<div style="width:150px"></div>
+<a class="method" href='<%=PageName%>'>Overview</a><br>
+<div class="smallSeparator"></div>
+<a class="method" href='<%=PageName + "?" + GetPageContext("wsdl")%>'>Service Description</a>
+<div class="smallSeparator"></div>
+<a class="method" href='<%=PageName + "?" + GetPageContext("proxy")%>'>Client proxy</a>
+<br><br>
+ <asp:repeater id="BindingsRepeater" runat=server>
+ <itemtemplate name="itemtemplate">
+ <span class="bindingLabel"><%#FormatBindingName(DataBinder.Eval(Container.DataItem, "Name").ToString())%></span>
+ <asp:repeater id="OperationsRepeater" runat=server datasource='<%# ((Binding)Container.DataItem).Operations %>'>
+ <itemtemplate>
+ <a class="method" href="<%=PageName%>?<%=GetTabContext("op",null)%>op=<%#GetOpName(Container.DataItem)%>&bnd=<%#DataBinder.Eval(Container.DataItem, "Binding.Name")%>"><%#GetOpName(Container.DataItem)%></a>
+ <div class="smallSeparator"></div>
+ </itemtemplate>
+ </asp:repeater>
+ <br>
+ </itemtemplate>
+ </asp:repeater>
+
+</td><td class="panel">
+
+<% if (CurrentPage == "main") {%>
+
+<!--
+ **********************************************************
+ Web service overview
+-->
+
+ <p class="label">Web Service Overview</p>
+ <%=WebServiceDescription%>
+ <br/><br/>
+ <% if (ProfileViolations != null && ProfileViolations.Count > 0) { %>
+ <p class="label">Basic Profile Conformance</p>
+ This web service does not conform to WS-I Basic Profile v1.1
+ <%
+ Response.Write ("<ul>");
+ foreach (BasicProfileViolation vio in ProfileViolations) {
+ Response.Write ("<li><b>" + vio.NormativeStatement + "</b>: " + vio.Details);
+ Response.Write ("<ul>");
+ foreach (string ele in vio.Elements)
+ Response.Write ("<li>" + ele + "</li>");
+ Response.Write ("</ul>");
+ Response.Write ("</li>");
+ }
+ Response.Write ("</ul>");
+ }%>
+
+<%} if (DefaultBinding == null) {%>
+This service does not contain any public web method.
+<%} else if (CurrentPage == "op") {%>
+
+<!--
+ **********************************************************
+ Operation description
+-->
+
+ <span class="operationTitle"><%=CurrentOperationName%></span>
+ <br><br>
+ <% WriteTabs (); %>
+ <br><br><br>
+
+ <% if (CurrentTab == "main") { %>
+ <span class="label">Input Parameters</span>
+ <div class="smallSeparator"></div>
+ <% if (InParams.Count == 0) { %>
+ No input parameters<br>
+ <% } else { %>
+ <table class="paramTable" cellspacing="1" cellpadding="5">
+ <asp:repeater id="InputParamsRepeater" runat=server>
+ <itemtemplate>
+ <tr>
+ <td width="150"><%#DataBinder.Eval(Container.DataItem, "Name")%></td>
+ <td width="150"><%#DataBinder.Eval(Container.DataItem, "Type")%></td>
+ </tr>
+ </itemtemplate>
+ </asp:repeater>
+ </table>
+ <% } %>
+ <br>
+
+ <% if (OutParams.Count > 0) { %>
+ <span class="label">Output Parameters</span>
+ <div class="smallSeparator"></div>
+ <table class="paramTable" cellspacing="1" cellpadding="5">
+ <asp:repeater id="OutputParamsRepeater" runat=server>
+ <itemtemplate>
+ <tr>
+ <td width="150"><%#DataBinder.Eval(Container.DataItem, "Name")%></td>
+ <td width="150"><%#DataBinder.Eval(Container.DataItem, "Type")%></td>
+ </tr>
+ </itemtemplate>
+ </asp:repeater>
+ </table>
+ <br>
+ <% } %>
+
+ <span class="label">Remarks</span>
+ <div class="smallSeparator"></div>
+ <%=OperationDocumentation%>
+ <br><br>
+ <span class="label">Technical information</span>
+ <div class="smallSeparator"></div>
+ Format: <%=CurrentOperationFormat%>
+ <br>Supported protocols: <%=CurrentOperationProtocols%>
+ <% } %>
+
+<!--
+ **********************************************************
+ Operation description - Test form
+-->
+
+ <% if (CurrentTab == "test") {
+ if (CurrentOperationSupportsTest) {%>
+ Enter values for the parameters and click the 'Invoke' button to test this method:<br><br>
+ <form action="<%=PageName%>" method="GET">
+ <input type="hidden" name="page" value="<%=CurrentPage%>">
+ <input type="hidden" name="tab" value="<%=CurrentTab%>">
+ <input type="hidden" name="op" value="<%=CurrentOperationName%>">
+ <input type="hidden" name="bnd" value="<%=CurrentOperationBinding%>">
+ <input type="hidden" name="ext" value="testform">
+ <table class="paramFormTable" cellspacing="0" cellpadding="3">
+ <asp:repeater id="InputFormParamsRepeater" runat=server>
+ <itemtemplate>
+ <tr>
+ <td><%#DataBinder.Eval(Container.DataItem, "Name")%>: </td>
+ <td width="150"><input class="paramInput" type="text" size="20" name="<%#DataBinder.Eval(Container.DataItem, "Name")%>"></td>
+ </tr>
+ </itemtemplate>
+ </asp:repeater>
+ <tr><td></td><td><input class="button" type="submit" value="Invoke"> <input class="button" type="button" onclick="clearForm()" value="Clear"></td></tr>
+ </table>
+ </form>
+ <div id="testFormResult" style="display:<%= (HasFormResult?"block":"none") %>">
+ The web service returned the following result:<br/><br/>
+ <div class="codePanel" id="testresult_div">
+ </div>
+ <script language="javascript">
+ getXML ("<%= GetOrPost () %>", "<%= GetTestResultUrl () %>", "<%= GetQS () %>");
+ </script>
+ </div>
+ <% } else {%>
+ The test form is not available for this operation because it has parameters with a complex structure.
+ <% } %>
+ <% } %>
+
+<!--
+ **********************************************************
+ Operation description - Message Layout
+-->
+
+ <% if (CurrentTab == "msg") { %>
+
+ The following are sample SOAP requests and responses for each protocol supported by this method:
+ <br/><br/>
+
+ <% if (IsOperationSupported ("Soap")) { %>
+ <span class="label">Soap</span>
+ <br/><br/>
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("Soap", true)%></div></div>
+ <br/>
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("Soap", false)%></div></div>
+ <br/>
+ <% } %>
+ <% if (IsOperationSupported ("HttpGet")) { %>
+ <span class="label">HTTP Get</span>
+ <br/><br/>
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("HttpGet", true)%></div></div>
+ <br/>
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("HttpGet", false)%></div></div>
+ <br/>
+ <% } %>
+ <% if (IsOperationSupported ("HttpPost")) { %>
+ <span class="label">HTTP Post</span>
+ <br/><br/>
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("HttpPost", true)%></div></div>
+ <br/>
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("HttpPost", false)%></div></div>
+ <br/>
+ <% } %>
+
+ <% } %>
+<%} else if (CurrentPage == "proxy") {%>
+<!--
+ **********************************************************
+ Client Proxy
+-->
+ <form action="<%=PageName%>" name="langForm" method="GET">
+ Select the language for which you want to generate a proxy
+ <input type="hidden" name="page" value="<%=CurrentPage%>">
+ <SELECT name="lang" onchange="langForm.submit()">
+ <%=GetOptionSel("cs",CurrentLanguage)%>C#</option>
+ <%=GetOptionSel("vb",CurrentLanguage)%>Visual Basic</option>
+ </SELECT>
+
+ </form>
+ <br>
+ <span class="label"><%=CurrentProxytName%></span>
+ <a href="<%=PageName + "?code=" + CurrentLanguage%>">Download</a>
+ <br><br>
+ <div class="codePanel">
+ <div class="code-<%=CurrentLanguage%>"><%=GetProxyCode ()%></div>
+ </div>
+<%} else if (CurrentPage == "wsdl") {%>
+<!--
+ **********************************************************
+ Service description
+-->
+ <% if (descriptions.Count > 1 || schemas.Count > 1) {%>
+ The description of this web service is composed by several documents. Click on the document you want to see:
+
+ <ul>
+ <%
+ for (int n=0; n<descriptions.Count; n++)
+ Response.Write ("<li><a href='" + PageName + "?" + GetPageContext(null) + "doctype=wsdl&docind=" + n + "'>WSDL document " + descriptions[n].TargetNamespace + "</a></li>");
+ for (int n=0; n<schemas.Count; n++)
+ Response.Write ("<li><a href='" + PageName + "?" + GetPageContext(null) + "doctype=schema&docind=" + n + "'>Xml Schema " + schemas[n].TargetNamespace + "</a></li>");
+ %>
+ </ul>
+
+ <%} else {%>
+ <%}%>
+ <br>
+ <span class="label"><%=CurrentDocumentName%></span>
+ <a href="<%=PageName + "?" + CurrentDocType + "=" + CurrentDocInd %>">Download</a>
+ <br><br>
+ <div class="codePanel">
+ <div class="code-xml"><%=GenerateDocument ()%></div>
+ </div>
+
+<%}%>
+
+<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
+</td>
+<td width="20px"></td>
+</tr>
+
+</table>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+
+<configuration>
+
+ <configSections>
+ <section name="configProtectedData" type="System.Configuration.ProtectedConfigurationSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="appSettings" type="System.Configuration.AppSettingsSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="connectionStrings" type="System.Configuration.ConnectionStringsSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="mscorlib" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false"/>
+ <section name="runtime" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false"/>
+ <section name="assemblyBinding" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false" />
+ <section name="satelliteassemblies" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false" />
+ <section name="startup" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false"/>
+ <section name="system.codedom" type="System.CodeDom.Compiler.CodeDomConfigurationHandler, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="system.data" type="System.Data.Common.DbProviderFactoriesConfigurationHandler, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="system.diagnostics" type="System.Diagnostics.DiagnosticsConfigurationHandler, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="system.runtime.remoting" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowLocation="false"/>
+ <section name="system.windows.forms" type="System.Windows.Forms.WindowsFormsSection, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="windows" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false" />
+ <section name="strongNames" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowLocation="false"/>
+ <sectionGroup name="system.web" type="System.Web.Configuration.SystemWebSectionGroup, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <section name="anonymousIdentification" type="System.Web.Configuration.AnonymousIdentificationSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
+ <section name="authentication" type="System.Web.Configuration.AuthenticationSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
+ <section name="authorization" type="System.Web.Configuration.AuthorizationSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="browserCaps" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="clientTarget" type="System.Web.Configuration.ClientTargetSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="compilation" type="System.Web.Configuration.CompilationSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="customErrors" type="System.Web.Configuration.CustomErrorsSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="deployment" type="System.Web.Configuration.DeploymentSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineOnly" />
+ <section name="globalization" type="System.Web.Configuration.GlobalizationSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="healthMonitoring" type="System.Web.Configuration.HealthMonitoringSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
+ <section name="hostingEnvironment" type="System.Web.Configuration.HostingEnvironmentSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication" />
+ <section name="httpCookies" type="System.Web.Configuration.HttpCookiesSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="httpHandlers" type="System.Web.Configuration.HttpHandlersSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="httpModules" type="System.Web.Configuration.HttpModulesSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="httpRuntime" type="System.Web.Configuration.HttpRuntimeSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="identity" type="System.Web.Configuration.IdentitySection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="machineKey" type="System.Web.Configuration.MachineKeySection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="membership" type="System.Web.Configuration.MembershipSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="mobileControls" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="deviceFilters" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="pages" type="System.Web.Configuration.PagesSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="processModel" type="System.Web.Configuration.ProcessModelSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineOnly" allowLocation="false" />
+ <section name="profile" type="System.Web.Configuration.ProfileSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
+ <section name="roleManager" type="System.Web.Configuration.RoleManagerSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
+ <section name="securityPolicy" type="System.Web.Configuration.SecurityPolicySection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication" />
+ <section name="sessionPageState" type="System.Web.Configuration.SessionPageStateSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="sessionState" type="System.Web.Configuration.SessionStateSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
+ <section name="siteMap" type="System.Web.Configuration.SiteMapSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
+ <section name="trace" type="System.Web.Configuration.TraceSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="trust" type="System.Web.Configuration.TrustSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication" />
+ <section name="urlMappings" type="System.Web.Configuration.UrlMappingsSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
+ <section name="webControls" type="System.Web.Configuration.WebControlsSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="webParts" type="System.Web.Configuration.WebPartsSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="webServices" type="System.Web.Services.Configuration.WebServicesSection, System.Web.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="xhtmlConformance" type="System.Web.Configuration.XhtmlConformanceSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <sectionGroup name="caching" type="System.Web.Configuration.SystemWebCachingSectionGroup, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <section name="cache" type="System.Web.Configuration.CacheSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
+ <section name="outputCache" type="System.Web.Configuration.OutputCacheSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
+ <section name="outputCacheSettings" type="System.Web.Configuration.OutputCacheSettingsSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
+ <section name="sqlCacheDependency" type="System.Web.Configuration.OutputCacheSettingsSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
+ </sectionGroup>
+ <section name="monoSettings" type="System.Web.Configuration.MonoSettingsSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ </sectionGroup>
+ <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
+ <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
+ <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
+ <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
+ <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="Everywhere"/>
+ <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
+ <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
+ <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
+ </sectionGroup>
+ </sectionGroup>
+ </sectionGroup>
+ <sectionGroup name="system.net" type="System.Net.Configuration.NetSectionGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <section name="authenticationModules" type="System.Net.Configuration.AuthenticationModulesSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="connectionManagement" type="System.Net.Configuration.ConnectionManagementSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="defaultProxy" type="System.Net.Configuration.DefaultProxySection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <sectionGroup name="mailSettings" type="System.Net.Configuration.MailSettingsSectionGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <section name="smtp" type="System.Net.Configuration.SmtpSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ </sectionGroup>
+ <section name="requestCaching" type="System.Net.Configuration.RequestCachingSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="settings" type="System.Net.Configuration.SettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="webRequestModules" type="System.Net.Configuration.WebRequestModulesSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ </sectionGroup>
+ <section name="system.drawing" type="System.Configuration.NameValueSectionHandler, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <sectionGroup name="system.serviceModel" type="System.ServiceModel.Configuration.ServiceModelSectionGroup, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <section name="behaviors" type="System.ServiceModel.Configuration.BehaviorsSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="bindings" type="System.ServiceModel.Configuration.BindingsSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="client" type="System.ServiceModel.Configuration.ClientSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="commonBehaviors" type="System.ServiceModel.Configuration.CommonBehaviorsSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="diagnostics" type="System.ServiceModel.Configuration.DiagnosticSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="extensions" type="System.ServiceModel.Configuration.ExtensionsSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="serviceHostingEnvironment" type="System.ServiceModel.Configuration.ServiceHostingEnvironmentSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="services" type="System.ServiceModel.Configuration.ServicesSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="standardEndpoints" type="System.ServiceModel.Configuration.StandardEndpointsSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
+ <section name="routing" type="System.ServiceModel.Routing.Configuration.RoutingSection, System.ServiceModel.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ <section name="protocolMapping" type="System.ServiceModel.Configuration.ProtocolMappingSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
+ </sectionGroup>
+ <sectionGroup name="system.transactions" type="System.Transactions.Configuration.TransactionsSectionGroup, System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, Custom=null">
+ <section name="defaultSettings" type="System.Transactions.Configuration.DefaultSettingsSection, System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, Custom=null"/>
+ <section name="machineSettings" type="System.Transactions.Configuration.MachineSettingsSection, System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, Custom=null" allowDefinition="MachineOnly" allowExeDefinition="MachineOnly"/>
+ </sectionGroup>
+ <section name="system.webServer" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="uri" type="System.Configuration.UriSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <sectionGroup name="system.runtime.caching" type="System.Runtime.Caching.Configuration.CachingSectionGroup, System.Runtime.Caching, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <section name="memoryCache" type="System.Runtime.Caching.Configuration.MemoryCacheSection, System.Runtime.Caching, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
+ </sectionGroup>
+ </configSections>
+
+ <connectionStrings>
+ <add name="LocalSqlServer" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient"/>
+ <add name="LocalSqliteServer" connectionString="Data Source=|DataDirectory|/aspnetdb.sqlite;version=3" providerName="Mono.Data.Sqlite"/>
+ </connectionStrings>
+
+ <configProtectedData defaultProvider="RsaProtectedConfigurationProvider">
+ <providers>
+ <add name="RsaProtectedConfigurationProvider" type="System.Configuration.RsaProtectedConfigurationProvider, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ description="" keyContainerName="MonoFrameworkConfigurationKey" cspProviderName="" useMachineContainer="true" useOAEP="false" />
+ <add name="DataProtectionConfigurationProvider" type="System.Configuration.DpapiProtectedConfigurationProvider, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ description="" useMachineProtection="true" keyEntropy="" />
+ </providers>
+ </configProtectedData>
+
+ <system.net>
+ <authenticationModules>
+ <add type="System.Net.BasicClient, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <add type="System.Net.DigestClient, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <add type="System.Net.NtlmClient, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ </authenticationModules>
+ <webRequestModules>
+ <add prefix="http" type="System.Net.HttpRequestCreator, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <add prefix="https" type="System.Net.HttpRequestCreator, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <add prefix="file" type="System.Net.FileWebRequestCreator, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <add prefix="ftp" type="System.Net.FtpRequestCreator, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ </webRequestModules>
+ <settings>
+ <ipv6 enabled="true"/>
+ </settings>
+ </system.net>
+
+ <system.runtime.remoting>
+ <application>
+ <channels>
+ <channel ref="http client" displayName="http client (delay loaded)" delayLoadAsClientChannel="true" />
+ <channel ref="tcp client" displayName="tcp client (delay loaded)" delayLoadAsClientChannel="true" />
+ <channel ref="ipc client" displayName="ipc client (delay loaded)" delayLoadAsClientChannel="true" />
+ </channels>
+ </application>
+ <channels>
+ <channel id="http" type="System.Runtime.Remoting.Channels.Http.HttpChannel, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <channel id="http client" type="System.Runtime.Remoting.Channels.Http.HttpClientChannel, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <channel id="http server" type="System.Runtime.Remoting.Channels.Http.HttpServerChannel, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <channel id="tcp" type="System.Runtime.Remoting.Channels.Tcp.TcpChannel, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <channel id="tcp client" type="System.Runtime.Remoting.Channels.Tcp.TcpClientChannel, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <channel id="tcp server" type="System.Runtime.Remoting.Channels.Tcp.TcpServerChannel, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <channel id="ipc" type="System.Runtime.Remoting.Channels.Ipc.IpcChannel, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <channel id="ipc client" type="System.Runtime.Remoting.Channels.Ipc.IpcClientChannel, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <channel id="ipc server" type="System.Runtime.Remoting.Channels.Ipc.IpcServerChannel, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ </channels>
+ <channelSinkProviders>
+ <clientProviders>
+ <formatter id="soap" type="System.Runtime.Remoting.Channels.SoapClientFormatterSinkProvider, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <formatter id="binary" type="System.Runtime.Remoting.Channels.BinaryClientFormatterSinkProvider, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ </clientProviders>
+ <serverProviders>
+ <formatter id="soap" type="System.Runtime.Remoting.Channels.SoapServerFormatterSinkProvider, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <formatter id="binary" type="System.Runtime.Remoting.Channels.BinaryServerFormatterSinkProvider, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <provider id="wsdl" type="System.Runtime.Remoting.MetadataServices.SdlChannelSinkProvider, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ </serverProviders>
+ </channelSinkProviders>
+ </system.runtime.remoting>
+
+ <appSettings>
+ <!--<add key="yourkey" value="your value" /> -->
+ <!--<remove key="a key defined higher in the hierarchy" /> -->
+ <!--<clear/> Removes all defined settings -->
+ </appSettings>
+ <system.diagnostics>
+ <trace autoflush="false" indentsize="4" />
+ </system.diagnostics>
+ <system.drawing>
+ </system.drawing>
+
+ <system.data>
+ <DbProviderFactories>
+ <add name="Mono Sqlite Data Provider" invariant="Mono.Data.SqliteClient"
+ description="Mono Framework Data Provider for SQLite (old version)"
+ type="Mono.Data.SqliteClient.SqliteFactory, Mono.Data.SqliteClient, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"/>
+ <add name="Mono Sqlite Provider" invariant="Mono.Data.Sqlite"
+ description="Mono Framework Data Provider for SQLite (new version)"
+ type="Mono.Data.Sqlite.SqliteFactory, Mono.Data.Sqlite, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"/>
+ <add name="Odbc Data Provider" invariant="System.Data.Odbc"
+ description=".Net Framework Data Provider for Odbc"
+ type="System.Data.Odbc.OdbcFactory, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
+ <add name="OleDb Data Provider" invariant="System.Data.OleDb"
+ description=".Net Framework Data Provider for OleDb"
+ type="System.Data.OleDb.OleDbFactory, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
+ <add name="OracleClient Data Provider" invariant="System.Data.OracleClient"
+ description=".Net Framework Data Provider for Oracle"
+ type="System.Data.OracleClient.OracleClientFactory, System.Data.OracleClient, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
+ <add name="SqlClient Data Provider" invariant="System.Data.SqlClient"
+ description=".Net Framework Data Provider for SqlServer"
+ type="System.Data.SqlClient.SqlClientFactory, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
+ <add name="Sybase Data Provider" invariant="Mono.Data.SybaseClient"
+ description=".Net Framework Data Provider for Sybase"
+ type="Mono.Data.SybaseClient.SybaseClientFactory, Mono.Data.SybaseClient, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"/>
+ </DbProviderFactories>
+ </system.data>
+
+ <mscorlib>
+ <cryptographySettings>
+ <cryptoNameMapping>
+ <cryptoClasses>
+ <cryptoClass monoMD2="Mono.Security.Cryptography.MD2Managed, Mono.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" />
+ <cryptoClass monoMD4="Mono.Security.Cryptography.MD4Managed, Mono.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" />
+ </cryptoClasses>
+ <nameEntry name="MD2" class="monoMD2" />
+ <nameEntry name="MD4" class="monoMD4" />
+ </cryptoNameMapping>
+ <oidMap>
+ <oidEntry OID="1.2.840.113549.2.2" name="MD2" />
+ <oidEntry OID="1.2.840.113549.2.2" name="Mono.Security.Cryptography.MD2Managed" />
+ <oidEntry OID="1.2.840.113549.2.4" name="MD4" />
+ <oidEntry OID="1.2.840.113549.2.4" name="Mono.Security.Cryptography.MD4Managed" />
+ </oidMap>
+ </cryptographySettings>
+ </mscorlib>
+
+ <strongNames>
+ <pubTokenMapping>
+ <!-- ECMA key -->
+ <map Token="b77a5c561934e089" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
+ <!-- Microsoft (final) key -->
+ <map Token="b03f5f7f11d50a3a" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
+ <!-- Microsoft (Web Service Enhancement) key -->
+ <map Token="31bf3856ad364e35" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
+ <!-- IBM (DB2 Data Provider) key -->
+ <map Token="7c307b91aa13d208" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
+ <!-- Silverlight 2.0 key -->
+ <map Token="7cec85d7bea7798e" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
+ <!-- XNA Framework key -->
+ <map Token="6d5c3888ef60e27d" PublicKey="0024000004800000940000000602000000240000525341310004000001000100f9a2641bac9847900d92a33d652ccc4e8b529360f908e7af53e57008b2a9a1938c32a160d47f795a23590557608d2c8d0c0e8846a052d070f9298281b8185343dbe5b479bd52de256f73c2a943e1a8a42065b5c918622dc14b1c0151dbd94d9a4543e7cd03e536b1b1d2d6d99af535d227ab9bdac76af9312a21d457bdf817e6" />
+ </pubTokenMapping>
+ </strongNames>
+
+ <system.web>
+ <webServices>
+ <protocols>
+ <add name="HttpSoap"/>
+ <add name="HttpSoap12"/>
+ <add name="HttpPost"/>
+ <add name="HttpGet"/>
+ <add name="Documentation"/>
+ </protocols>
+ <conformanceWarnings>
+ <add name="BasicProfile1_1"/>
+ </conformanceWarnings>
+ <wsdlHelpGenerator href="DefaultWsdlHelpGenerator.aspx" />
+ </webServices>
+
+ <membership>
+ <providers>
+ <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="LocalSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression=""/>
+ <!-- <add name="AspNetSqlMembershipProvider" type="Mainsoft.Web.Security.GenericMembershipProvider, Mainsoft.Web.Security" applicationName="/" connectionStringName="LocalSqlServer" /> -->
+ </providers>
+ </membership>
+
+ <roleManager>
+ <providers>
+ <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" applicationName="/" connectionStringName="LocalSqlServer" />
+ <!-- <add name="AspNetSqlRoleProvider" type="Mainsoft.Web.Security.GenericRoleProvider, Mainsoft.Web.Security" applicationName="/" connectionStringName="LocalSqlServer" /> -->
+ </providers>
+ </roleManager>
+
+ <profile>
+ <providers>
+ <add name="AspNetSqlProfileProvider" connectionStringName="LocalSqlServer" applicationName="/" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ </providers>
+ </profile>
+ </system.web>
+
+
+ <system.serviceModel>
+ <extensions>
+ <behaviorExtensions>
+ <add name="enableWebScript" type="System.ServiceModel.Configuration.WebScriptEnablingElement, System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ <add name="webHttp" type="System.ServiceModel.Configuration.WebHttpElement, System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ </behaviorExtensions>
+ <bindingElementExtensions>
+ <add name="webMessageEncoding" type="System.ServiceModel.Configuration.WebMessageEncodingElement, System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ </bindingElementExtensions>
+ <bindingExtensions>
+ <add name="webHttpBinding" type="System.ServiceModel.Configuration.WebHttpBindingCollectionElement, System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ </bindingExtensions>
+ <endpointExtensions>
+ <add name="dynamicEndpoint" type="System.ServiceModel.Discovery.Configuration.DynamicEndpointCollectionElement, System.ServiceModel.Discovery, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ <add name="discoveryEndpoint" type="System.ServiceModel.Discovery.Configuration.DiscoveryEndpointCollectionElement, System.ServiceModel.Discovery, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ <add name="udpDiscoveryEndpoint" type="System.ServiceModel.Discovery.Configuration.UdpDiscoveryEndpointCollectionElement, System.ServiceModel.Discovery, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ <add name="announcementEndpoint" type="System.ServiceModel.Discovery.Configuration.AnnouncementEndpointCollectionElement, System.ServiceModel.Discovery, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ <add name="udpAnnouncementEndpoint" type="System.ServiceModel.Discovery.Configuration.UdpAnnouncementEndpointCollectionElement, System.ServiceModel.Discovery, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ <add name="webHttpEndpoint" type="System.ServiceModel.Configuration.WebHttpEndpointCollectionElement, System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ <add name="webScriptEndpoint" type="System.ServiceModel.Configuration.WebScriptEndpointCollectionElement, System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ </endpointExtensions>
+ </extensions>
+ </system.serviceModel>
+</configuration>
+
+
--- /dev/null
+<?xml version="1.0" encoding="utf-8" ?>
+<settingsMap>
+ <map sectionType="System.Web.Configuration.MembershipSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ mapperType="Mono.Web.Util.MembershipSectionMapper, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ platform="Unix">
+
+ <!-- The 'what' tag specifies which region of the section to modify. The 'value' attribute value is mapper-specific and is not defined here. It can be
+ any expression understood by the mapper to designate the section region to modify.
+ -->
+ <what value="providers">
+ <!-- 'what' can contain any number of occurrences of any three elements:
+ replace - replace the designated region
+ add - add a new entry to the region
+ clear - clear the region
+ remove - remove the designatedregion
+
+ The attributes to any of the above are freeform and are not processed by the mapper manager. They are stored verbatim for the
+ mapper to peruse.
+ -->
+ <replace name="AspNetSqlMembershipProvider"
+ type="System.Web.Security.SqliteMembershipProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ connectionStringName="LocalSqliteServer" />
+ </what>
+ </map>
+
+ <map sectionType="System.Web.Configuration.RoleManagerSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ mapperType="Mono.Web.Util.RoleManagerSectionMapper, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ platform="Unix">
+
+ <!-- The 'what' tag specifies which region of the section to modify. The 'value' attribute value is mapper-specific and is not defined here. It can be
+ any expression understood by the mapper to designate the section region to modify.
+ -->
+ <what value="providers">
+ <!-- 'what' can contain any number of occurrences of any three elements:
+ replace - replace the designated region
+ add - add a new entry to the region
+ clear - clear the region
+ remove - remove the designatedregion
+
+ The attributes to any of the above are freeform and are not processed by the mapper manager. They are stored verbatim for the
+ mapper to peruse.
+ -->
+ <replace name="AspNetSqlRoleProvider"
+ type="System.Web.Security.SqliteRoleProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ connectionStringName="LocalSqliteServer" />
+ </what>
+ </map>
+</settingsMap>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+
+<configuration>
+
+ <system.codedom>
+ <compilers>
+ <compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <providerOption name="CompilerVersion" value="v4.0"/>
+ <providerOption name="WarnAsError" value="false"/>
+ </compiler>
+ <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" warningLevel="4" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <providerOption name="CompilerVersion" value="v4.0"/>
+ <providerOption name="OptionInfer" value="true"/>
+ <providerOption name="WarnAsError" value="false"/>
+ </compiler>
+ </compilers>
+ </system.codedom>
+
+ <system.web>
+ <monoSettings>
+ <compilersCompatibility>
+ <compiler language="c#;cs;csharp" extension=".cs" compilerOptions="/nowarn:0169"
+ type="Microsoft.CSharp.CSharpCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ </compilersCompatibility>
+ </monoSettings>
+
+ <authorization>
+ <allow users="*" />
+ </authorization>
+ <httpHandlers>
+ <add path="trace.axd" verb="*" type="System.Web.Handlers.TraceHandler" validate="True" />
+ <add path="WebResource.axd" verb="GET" type="System.Web.Handlers.AssemblyResourceLoader" validate="True" />
+ <add verb="*" path="*_AppService.axd" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="False" />
+ <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="False"/>
+ <add path="*.axd" verb="*" type="System.Web.HttpNotFoundHandler" validate="True" />
+ <add path="*.aspx" verb="*" type="System.Web.UI.PageHandlerFactory" validate="True" />
+ <add path="*.ashx" verb="*" type="System.Web.UI.SimpleHandlerFactory" validate="True" />
+ <add path="*.asmx" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="False" />
+ <add path="*.rem" verb="*" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" validate="False" />
+ <add path="*.soap" verb="*" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" validate="False" />
+ <add path="*.asax" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.ascx" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.master" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.skin" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.browser" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.sitemap" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.dll.config" verb="GET,HEAD" type="System.Web.StaticFileHandler" validate="True" />
+ <add path="*.exe.config" verb="GET,HEAD" type="System.Web.StaticFileHandler" validate="True" />
+ <add path="*.config" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.cs" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.csproj" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.vb" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.vbproj" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.webinfo" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.licx" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.resx" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.resources" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.mdb" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.vjsproj" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.java" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.jsl" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.ldb" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.ad" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.dd" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.ldd" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.sd" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.cd" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.adprototype" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.lddprototype" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.sdm" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.sdmDocument" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.mdf" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.ldf" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.exclude" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.refresh" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <!--
+ <add path="*.svc" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="False"/>
+ -->
+ <add verb="*" path="*.svc" type="System.ServiceModel.Channels.SvcHttpHandlerFactory, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <add path="*.rules" verb="*" type="System.Web.HttpForbiddenHandler" validate="True"/>
+ <!--
+ <add path="*.xoml" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="False"/>
+ <add path="*.xamlx" verb="*" type="System.Xaml.Hosting.XamlHttpHandlerFactory, System.Xaml.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="False"/>
+ -->
+ <add path="*" verb="GET,HEAD,POST" type="System.Web.DefaultHttpHandler" validate="True" />
+ <add path="*" verb="*" type="System.Web.HttpMethodNotAllowedHandler" validate="True" />
+ </httpHandlers>
+ <httpModules>
+ <add name="OutputCache" type="System.Web.Caching.OutputCacheModule" />
+ <add name="Session" type="System.Web.SessionState.SessionStateModule" />
+ <!--
+ <add name="WindowsAuthentication" type="System.Web.Security.WindowsAuthenticationModule" />
+ -->
+ <add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" />
+ <!--
+ <add name="PassportAuthentication" type="System.Web.Security.PassportAuthenticationModule" />
+ -->
+ <add name="RoleManager" type="System.Web.Security.RoleManagerModule" />
+ <add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule" />
+ <!--
+ <add name="FileAuthorization" type="System.Web.Security.FileAuthorizationModule" />
+ -->
+ <add name="AnonymousIdentification" type="System.Web.Security.AnonymousIdentificationModule" />
+ <add name="Profile" type="System.Web.Profile.ProfileModule" />
+ <!--
+ <add name="ErrorHandlerModule" type="System.Web.Mobile.ErrorHandlerModule, System.Web.Mobile, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add name="ServiceModel" type="System.ServiceModel.Activation.HttpModule, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
+ -->
+ <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" />
+ <add name="ScriptModule-4.0" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ </httpModules>
+ <authentication mode="Forms">
+ <forms name=".MONOAUTH" loginUrl="login.aspx" protection="All" timeout="30" path="/">
+ <credentials passwordFormat="Clear">
+ <!--<user name="gonzalo" password="gonz"/>-->
+ </credentials>
+ </forms>
+ </authentication>
+ <machineKey validationKey="AutoGenerate" decryptionKey="AutoGenerate" validation="SHA1" />
+ <globalization requestEncoding="utf-8"
+ responseEncoding="utf-8"
+ fileEncoding="utf-8"/>
+ <!--
+ culture="en-US"
+ uiculture="en-US" />
+ -->
+ <sessionState mode="InProc" />
+ <pages>
+ <namespaces>
+ <add namespace="System" />
+ <add namespace="System.Collections" />
+ <add namespace="System.Collections.Specialized" />
+ <add namespace="System.Configuration" />
+ <add namespace="System.Text" />
+ <add namespace="System.Text.RegularExpressions" />
+ <add namespace="System.Web" />
+ <add namespace="System.Web.Caching" />
+ <add namespace="System.Web.SessionState" />
+ <add namespace="System.Web.Security" />
+ <add namespace="System.Web.Profile" />
+ <add namespace="System.Web.UI" />
+ <add namespace="System.Web.UI.WebControls" />
+ <!-- <add namespace="System.Web.UI.WebControls.WebParts" /> -->
+ <add namespace="System.Web.UI.HtmlControls" />
+ </namespaces>
+
+ <controls>
+ <add tagPrefix="asp" namespace="System.Web.UI.WebControls.WebParts" assembly="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ <add tagPrefix="asp" namespace="System.Web.UI.WebControls.Expressions" assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ <add tagPrefix="asp" namespace="System.Web.DynamicData" assembly="System.Web.DynamicData, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ </controls>
+ </pages>
+ <webControls clientScriptsLocation="/web_scripts" />
+ <compilation debug="false" defaultLanguage="c#" explicit="true" strict="false" >
+ <assemblies>
+ <add assembly="mscorlib" />
+ <add assembly="Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <add assembly="System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add assembly="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add assembly="System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <add assembly="System.Web.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add assembly="System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <add assembly="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add assembly="System.EnterpriseServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <!-- <add assembly="System.Web.Mobile, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> -->
+ <add assembly="System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <add assembly="System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <add assembly="System.Xaml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <add assembly="System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <!-- <add assembly="System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> -->
+ <!-- <add assembly="System.ServiceModel.Channels, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> -->
+ <add assembly="System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ <!-- <add assembly="System.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> -->
+ <!-- <add assembly="System.ServiceModel.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> -->
+ <!-- <add assembly="System.WorkflowServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> -->
+ <!-- <add assembly="System.Xaml.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> -->
+ <add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <add assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
+ <add assembly="System.Data.DataSetExtensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <add assembly="System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <add assembly="System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ <add assembly="System.Web.DynamicData, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ <!-- <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> -->
+ <!-- <add assembly="System.Web.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/> -->
+ <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <!-- <add assembly="System.Data.Entity.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> -->
+ <add assembly="System.Web.ApplicationServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
+ <add assembly="*" /> <!-- Add assemblies in bin directory -->
+ </assemblies>
+ <expressionBuilders>
+ <add expressionPrefix="Resources"
+ type="System.Web.Compilation.ResourceExpressionBuilder, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add expressionPrefix="ConnectionStrings"
+ type="System.Web.Compilation.ConnectionStringsExpressionBuilder, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add expressionPrefix="AppSettings"
+ type="System.Web.Compilation.AppSettingsExpressionBuilder, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add expressionPrefix="RouteUrl" type="System.Web.Compilation.RouteUrlExpressionBuilder"/>
+ <!--
+ <add expressionPrefix="RouteValue" type="System.Web.Compilation.RouteValueExpressionBuilder"/>
+ -->
+ </expressionBuilders>
+ <buildProviders>
+ <add extension=".aspx" type="System.Web.Compilation.PageBuildProvider" />
+ <add extension=".ascx" type="System.Web.Compilation.UserControlBuildProvider" />
+ <add extension=".master" type="System.Web.Compilation.MasterPageBuildProvider" />
+ <add extension=".asmx" type="System.Web.Compilation.WebServiceBuildProvider" />
+ <add extension=".ashx" type="System.Web.Compilation.WebHandlerBuildProvider" />
+ <add extension=".soap" type="System.Web.Compilation.WebServiceBuildProvider" />
+ <add extension=".resx" type="System.Web.Compilation.ResXBuildProvider" />
+ <add extension=".resources" type="System.Web.Compilation.ResourcesBuildProvider" />
+ <add extension=".wsdl" type="System.Web.Compilation.WsdlBuildProvider" />
+ <add extension=".xsd" type="System.Web.Compilation.XsdBuildProvider" />
+ <add extension=".js" type="System.Web.Compilation.ForceCopyBuildProvider" />
+ <add extension=".lic" type="System.Web.Compilation.IgnoreFileBuildProvider" />
+ <add extension=".licx" type="System.Web.Compilation.IgnoreFileBuildProvider" />
+ <add extension=".exclude" type="System.Web.Compilation.IgnoreFileBuildProvider" />
+ <add extension=".refresh" type="System.Web.Compilation.IgnoreFileBuildProvider" />
+ <!--
+ <add extension=".edmx" type="System.Data.Entity.Design.AspNet.EntityDesignerBuildProvider" />
+ <add extension=".xoml" type="System.ServiceModel.Activation.WorkflowServiceBuildProvider, System.WorkflowServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ <add extension=".svc" type="System.ServiceModel.Activation.ServiceBuildProvider, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
+ <add extension=".xamlx" type="System.Xaml.Hosting.XamlBuildProvider, System.Xaml.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
+ -->
+ </buildProviders>
+ </compilation>
+ <httpRuntime executionTimeout="110"
+ maxRequestLength="4096"
+ useFullyQualifiedRedirectUrl="false"
+ minFreeThreads="8"
+ minLocalRequestFreeThreads="4"
+ appRequestQueueLimit="5000" />
+ <clientTarget>
+ <add alias="ie5" userAgent="Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 4.0)" />
+ <add alias="ie4" userAgent="Mozilla/4.0 (compatible; MSIE 4.0; Windows NT 4.0)" />
+ <add alias="uplevel" userAgent="Mozilla/4.0 (compatible; MSIE 4.0; Windows NT 4.0)" />
+ <add alias="downlevel" userAgent="Unknown" />
+ </clientTarget>
+
+ <siteMap>
+ <providers>
+ <add name="AspNetXmlSiteMapProvider"
+ description="Default site map provider that reads in .sitemap xml files."
+ type="System.Web.XmlSiteMapProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ siteMapFile="Web.sitemap" />
+ </providers>
+ </siteMap>
+ </system.web>
+
+</configuration>
--- /dev/null
+<!--
+ This file defines some of the browsers that Microsoft's implementation provides in
+ <windir>\Microsoft.NET\Framework\<ver>\CONFIG\Browsers\*.browser
+
+ It is not derived from any file distributed with Microsoft's implementation. Since
+ we can't distribute MS's browser files, we use browscap.ini to determine
+ browser capabilities. Then, if and only if the application contains App_Browser/*.browser
+ files and we are using .NET 2.0 or higher, we supplement the capabilities with the
+ information in those files and the files in this directory. The primary goal of this file
+ is provide browser definitions that might be referenced in App_Browser/*.browser files.
+-->
+<browsers>
+ <defaultBrowser id="Default">
+ </defaultBrowser>
+ <browser id="Default">
+ <identification>
+ <userAgent match="." />
+ </identification>
+ </browser>
+ <browser id="IE6to9" parentID="Default">
+ <identification>
+ <capability name="majorver" match="^[6-9]" />
+ <capability name="browser" match="^(IE|AOL)$" />
+ </identification>
+ </browser>
+ <browser id="Opera8to9" parentID="Default">
+ <identification>
+ <capability name="majorver" match="^[8-9]" />
+ <capability name="browser" match="^Opera$" />
+ </identification>
+ </browser>
+ <browser id="Safari" parentID="Default">
+ <identification>
+ <capability name="browser" match="^Safari$" />
+ </identification>
+ </browser>
+ <browser id="Mozilla" parentID="Default">
+ <identification>
+ <capability name="browser" match="^Mozilla" />
+ </identification>
+ </browser>
+</browsers>
\ No newline at end of file
--- /dev/null
+<%--
+//
+// DefaultWsdlHelpGenerator.aspx:
+//
+// Author:
+// Lluis Sanchez Gual (lluis@ximian.com)
+//
+// (C) 2003 Ximian, Inc. http://www.ximian.com
+//
+--%>
+
+<%@ Import Namespace="System.Collections" %>
+<%@ Import Namespace="System.Collections.Generic" %>
+<%@ Import Namespace="System.IO" %>
+<%@ Import Namespace="System.Xml.Serialization" %>
+<%@ Import Namespace="System.Xml" %>
+<%@ Import Namespace="System.Xml.Schema" %>
+<%@ Import Namespace="System.Web.Services" %>
+<%@ Import Namespace="System.Web.Services.Description" %>
+<%@ Import Namespace="System.Web.Services.Configuration" %>
+<%@ Import Namespace="System.Web.Configuration" %>
+<%@ Import Namespace="System" %>
+<%@ Import Namespace="System.Net" %>
+<%@ Import Namespace="System.Globalization" %>
+<%@ Import Namespace="System.Resources" %>
+<%@ Import Namespace="System.Diagnostics" %>
+<%@ Import Namespace="System.CodeDom" %>
+<%@ Import Namespace="System.CodeDom.Compiler" %>
+<%@ Import Namespace="Microsoft.CSharp" %>
+<%@ Import Namespace="Microsoft.VisualBasic" %>
+<%@ Import Namespace="System.Text" %>
+<%@ Import Namespace="System.Text.RegularExpressions" %>
+<%@ Import Namespace="System.Security.Cryptography.X509Certificates" %>
+<%@ Assembly name="System.Web.Services" %>
+<%@ Page debug="true" %>
+
+<html>
+<script language="C#" runat="server">
+
+ServiceDescriptionCollection descriptions;
+XmlSchemas schemas;
+
+string WebServiceName;
+string WebServiceDescription;
+string PageName;
+
+string DefaultBinding;
+ArrayList ServiceProtocols;
+
+string CurrentOperationName;
+string CurrentOperationBinding;
+string OperationDocumentation;
+string CurrentOperationFormat;
+bool CurrentOperationSupportsTest;
+ArrayList InParams;
+ArrayList OutParams;
+string CurrentOperationProtocols;
+int CodeTextColumns = 95;
+BasicProfileViolationCollection ProfileViolations;
+
+void Page_Load(object sender, EventArgs e)
+{
+ descriptions = (ServiceDescriptionCollection) Context.Items["wsdls"];
+ schemas = (XmlSchemas) Context.Items["schemas"];
+
+ ServiceDescription desc = descriptions [0];
+ if (schemas.Count == 0) schemas = desc.Types.Schemas;
+
+ Service service = desc.Services[0];
+ WebServiceName = service.Name;
+ if (desc.Bindings.Count == 0)
+ return;
+
+ DefaultBinding = desc.Bindings[0].Name;
+ WebServiceDescription = service.Documentation;
+ if (WebServiceDescription == "" || WebServiceDescription == null)
+ WebServiceDescription = "Description has not been provided";
+ ServiceProtocols = FindServiceProtocols (null);
+
+ CurrentOperationName = Request.QueryString["op"];
+ CurrentOperationBinding = Request.QueryString["bnd"];
+ if (CurrentOperationName != null) BuildOperationInfo ();
+
+ PageName = HttpUtility.UrlEncode (Path.GetFileName(Request.Path), Encoding.UTF8);
+
+ ArrayList list = new ArrayList ();
+ foreach (ServiceDescription sd in descriptions) {
+ foreach (Binding bin in sd.Bindings)
+ if (bin.Extensions.Find (typeof(SoapBinding)) != null) list.Add (bin);
+ }
+
+ BindingsRepeater.DataSource = list;
+ Page.DataBind();
+
+ ProfileViolations = new BasicProfileViolationCollection ();
+ foreach (WsiProfilesElement claims in ((WebServicesSection) WebConfigurationManager.GetSection("system.web/webServices")).ConformanceWarnings)
+ if (claims.Name != WsiProfiles.None)
+ WebServicesInteroperability.CheckConformance (claims.Name, descriptions, ProfileViolations);
+}
+
+void BuildOperationInfo ()
+{
+ InParams = new ArrayList ();
+ OutParams = new ArrayList ();
+
+ Port port = FindPort (CurrentOperationBinding, null);
+ Binding binding = descriptions.GetBinding (port.Binding);
+
+ PortType portType = descriptions.GetPortType (binding.Type);
+ Operation oper = FindOperation (portType, CurrentOperationName);
+
+ OperationDocumentation = oper.Documentation;
+ if (OperationDocumentation == null || OperationDocumentation == "")
+ OperationDocumentation = "No additional remarks";
+
+ foreach (OperationMessage opm in oper.Messages)
+ {
+ if (opm is OperationInput)
+ BuildParameters (InParams, opm);
+ else if (opm is OperationOutput)
+ BuildParameters (OutParams, opm);
+ }
+
+ // Protocols supported by the operation
+ CurrentOperationProtocols = "";
+ WebServiceProtocols testProtocols = 0;
+ ArrayList prots = FindServiceProtocols (CurrentOperationName);
+ for (int n=0; n<prots.Count; n++) {
+ string prot = (string) prots [n];
+ if (n != 0) CurrentOperationProtocols += ", ";
+ CurrentOperationProtocols += prot;
+ if (prot == "HttpGet")
+ testProtocols |= WebServiceProtocols.HttpGet;
+ else if (prot == "HttpPost") {
+ testProtocols |= WebServiceProtocols.HttpPost;
+ if (Context.Request.IsLocal)
+ testProtocols |= WebServiceProtocols.HttpPostLocalhost;
+ }
+ }
+ CurrentOperationSupportsTest = (WebServicesSection.Current.EnabledProtocols & testProtocols) != 0;
+
+ // Operation format
+ OperationBinding obin = FindOperation (binding, CurrentOperationName);
+ if (obin != null)
+ CurrentOperationFormat = GetOperationFormat (obin);
+
+ InputParamsRepeater.DataSource = InParams;
+ InputFormParamsRepeater.DataSource = InParams;
+ OutputParamsRepeater.DataSource = OutParams;
+}
+
+void BuildParameters (ArrayList list, OperationMessage opm)
+{
+ Message msg = descriptions.GetMessage (opm.Message);
+ if (msg.Parts.Count > 0 && msg.Parts[0].Name == "parameters")
+ {
+ MessagePart part = msg.Parts[0];
+ XmlSchemaComplexType ctype;
+ if (part.Element == XmlQualifiedName.Empty)
+ {
+ ctype = (XmlSchemaComplexType) schemas.Find (part.Type, typeof(XmlSchemaComplexType));
+ }
+ else
+ {
+ XmlSchemaElement elem = (XmlSchemaElement) schemas.Find (part.Element, typeof(XmlSchemaElement));
+ ctype = (XmlSchemaComplexType) elem.SchemaType;
+ }
+ XmlSchemaSequence seq = ctype.Particle as XmlSchemaSequence;
+ if (seq == null) return;
+
+ foreach (XmlSchemaObject ob in seq.Items)
+ {
+ Parameter p = new Parameter();
+ p.Description = "No additional remarks";
+
+ if (ob is XmlSchemaElement)
+ {
+ XmlSchemaElement selem = GetRefElement ((XmlSchemaElement)ob);
+ p.Name = selem.Name;
+ p.Type = selem.SchemaTypeName.Name;
+ }
+ else
+ {
+ p.Name = "Unknown";
+ p.Type = "Unknown";
+ }
+ list.Add (p);
+ }
+ }
+ else
+ {
+ foreach (MessagePart part in msg.Parts)
+ {
+ Parameter p = new Parameter ();
+ p.Description = "No additional remarks";
+ p.Name = part.Name;
+ if (part.Element == XmlQualifiedName.Empty)
+ p.Type = part.Type.Name;
+ else
+ {
+ XmlSchemaElement elem = (XmlSchemaElement) schemas.Find (part.Element, typeof(XmlSchemaElement));
+ p.Type = elem.SchemaTypeName.Name;
+ }
+ list.Add (p);
+ }
+ }
+}
+
+string GetOperationFormat (OperationBinding obin)
+{
+ string format = "";
+ SoapOperationBinding sob = obin.Extensions.Find (typeof(SoapOperationBinding)) as SoapOperationBinding;
+ if (sob != null) {
+ format = sob.Style.ToString ();
+ SoapBodyBinding sbb = obin.Input.Extensions.Find (typeof(SoapBodyBinding)) as SoapBodyBinding;
+ if (sbb != null)
+ format += " / " + sbb.Use;
+ }
+ return format;
+}
+
+XmlSchemaElement GetRefElement (XmlSchemaElement elem)
+{
+ if (!elem.RefName.IsEmpty)
+ return (XmlSchemaElement) schemas.Find (elem.RefName, typeof(XmlSchemaElement));
+ else
+ return elem;
+}
+
+ArrayList FindServiceProtocols(string operName)
+{
+ ArrayList table = new ArrayList ();
+ Service service = descriptions[0].Services[0];
+ foreach (Port port in service.Ports)
+ {
+ string prot = null;
+ Binding bin = descriptions.GetBinding (port.Binding);
+ if (bin.Extensions.Find (typeof(SoapBinding)) != null)
+ prot = "Soap";
+ else
+ {
+ HttpBinding hb = (HttpBinding) bin.Extensions.Find (typeof(HttpBinding));
+ if (hb != null && hb.Verb == "POST") prot = "HttpPost";
+ else if (hb != null && hb.Verb == "GET") prot = "HttpGet";
+ }
+
+ if (prot != null && operName != null)
+ {
+ if (FindOperation (bin, operName) == null)
+ prot = null;
+ }
+
+ if (prot != null && !table.Contains (prot))
+ table.Add (prot);
+ }
+ return table;
+}
+
+Port FindPort (string portName, string protocol)
+{
+ Service service = descriptions[0].Services[0];
+ foreach (Port port in service.Ports)
+ {
+ if (portName == null)
+ {
+ Binding binding = descriptions.GetBinding (port.Binding);
+ if (GetProtocol (binding) == protocol) return port;
+ }
+ else if (port.Name == portName)
+ return port;
+ }
+ return null;
+}
+
+string GetProtocol (Binding binding)
+{
+ if (binding.Extensions.Find (typeof(SoapBinding)) != null) return "Soap";
+ HttpBinding hb = (HttpBinding) binding.Extensions.Find (typeof(HttpBinding));
+ if (hb == null) return "";
+ if (hb.Verb == "POST") return "HttpPost";
+ if (hb.Verb == "GET") return "HttpGet";
+ return "";
+}
+
+
+Operation FindOperation (PortType portType, string name)
+{
+ foreach (Operation oper in portType.Operations) {
+ if (oper.Messages.Input.Name != null) {
+ if (oper.Messages.Input.Name == name) return oper;
+ }
+ else
+ if (oper.Name == name) return oper;
+ }
+
+ return null;
+}
+
+OperationBinding FindOperation (Binding binding, string name)
+{
+ foreach (OperationBinding oper in binding.Operations) {
+ if (oper.Input.Name != null) {
+ if (oper.Input.Name == name) return oper;
+ }
+ else
+ if (oper.Name == name) return oper;
+ }
+
+ return null;
+}
+
+string FormatBindingName (string name)
+{
+ if (name == DefaultBinding) return "Methods";
+ else return "Methods for binding<br>" + name;
+}
+
+string GetOpName (object op)
+{
+ OperationBinding ob = op as OperationBinding;
+ if (ob == null) return "";
+ if (ob.Input.Name != null) return ob.Input.Name;
+ else return ob.Name;
+}
+
+bool HasFormResult
+{
+ get { return Request.QueryString ["ext"] == "testform"; }
+}
+
+class NoCheckCertificatePolicy : ICertificatePolicy {
+ public bool CheckValidationResult (ServicePoint a, X509Certificate b, WebRequest c, int d)
+ {
+ return true;
+ }
+}
+
+string GetOrPost ()
+{
+ return (CurrentOperationProtocols.IndexOf ("HttpGet") >= 0) ? "GET" : "POST";
+}
+
+string GetQS ()
+{
+ bool fill = false;
+ string qs = "";
+ NameValueCollection query_string = Request.QueryString;
+ for (int n = 0; n < query_string.Count; n++) {
+ if (fill) {
+ if (qs != "") qs += "&";
+ qs += query_string.GetKey(n) + "=" + Server.UrlEncode (query_string [n]);
+ }
+ if (query_string.GetKey(n) == "ext") fill = true;
+ }
+
+ return qs;
+}
+
+string GetTestResultUrl ()
+{
+ if (!HasFormResult) return "";
+
+ string location = null;
+ ServiceDescription desc = descriptions [0];
+ Service service = desc.Services[0];
+ foreach (Port port in service.Ports)
+ if (port.Name == CurrentOperationBinding)
+ {
+ SoapAddressBinding sbi = (SoapAddressBinding) port.Extensions.Find (typeof(SoapAddressBinding));
+ if (sbi != null)
+ location = sbi.Location;
+ }
+
+ if (location == null)
+ return "Could not locate web service";
+
+ return location + "/" + CurrentOperationName;
+}
+
+string GenerateOperationMessages (string protocol, bool generateInput)
+{
+ if (!IsOperationSupported (protocol)) return "";
+
+ Port port;
+ if (protocol != "Soap") port = FindPort (null, protocol);
+ else port = FindPort (CurrentOperationBinding, null);
+
+ Binding binding = descriptions.GetBinding (port.Binding);
+ OperationBinding obin = FindOperation (binding, CurrentOperationName);
+ PortType portType = descriptions.GetPortType (binding.Type);
+ Operation oper = FindOperation (portType, CurrentOperationName);
+
+ HtmlSampleGenerator sg = new HtmlSampleGenerator (descriptions, schemas);
+ string txt = sg.GenerateMessage (port, obin, oper, protocol, generateInput);
+ if (protocol == "Soap") txt = WrapText (txt,CodeTextColumns);
+ txt = ColorizeXml (txt);
+ txt = txt.Replace ("@placeholder!","<span class='literal-placeholder'>");
+ txt = txt.Replace ("!placeholder@","</span>");
+ return txt;
+}
+
+bool IsOperationSupported (string protocol)
+{
+ if (CurrentPage != "op" || CurrentTab != "msg") return false;
+ if (protocol == "Soap") return true;
+
+ Port port = FindPort (null, protocol);
+ if (port == null) return false;
+ Binding binding = descriptions.GetBinding (port.Binding);
+ if (binding == null) return false;
+ return FindOperation (binding, CurrentOperationName) != null;
+}
+
+//
+// Proxy code generation
+//
+
+string GetProxyCode ()
+{
+ CodeNamespace codeNamespace = new CodeNamespace();
+ CodeCompileUnit codeUnit = new CodeCompileUnit();
+
+ codeUnit.Namespaces.Add (codeNamespace);
+
+ ServiceDescriptionImporter importer = new ServiceDescriptionImporter();
+
+ foreach (ServiceDescription sd in descriptions)
+ importer.AddServiceDescription(sd, null, null);
+
+ foreach (XmlSchema sc in schemas)
+ importer.Schemas.Add (sc);
+
+ importer.Import(codeNamespace, codeUnit);
+
+ string langId = Request.QueryString ["lang"];
+ if (langId == null || langId == "") langId = "cs";
+ CodeDomProvider provider = GetProvider (langId);
+ ICodeGenerator generator = provider.CreateGenerator();
+ CodeGeneratorOptions options = new CodeGeneratorOptions();
+
+ StringWriter sw = new StringWriter ();
+ generator.GenerateCodeFromCompileUnit(codeUnit, sw, options);
+
+ return Colorize (WrapText (sw.ToString (), CodeTextColumns), langId);
+}
+
+public string CurrentLanguage
+{
+ get {
+ string langId = Request.QueryString ["lang"];
+ if (langId == null || langId == "") langId = "cs";
+ return langId;
+ }
+}
+
+public string CurrentProxytName
+{
+ get {
+ string lan = CurrentLanguage == "cs" ? "C#" : "Visual Basic";
+ return lan + " Client Proxy";
+ }
+}
+
+private CodeDomProvider GetProvider(string langId)
+{
+ switch (langId.ToUpper())
+ {
+ case "CS": return new CSharpCodeProvider();
+ case "VB": return new VBCodeProvider();
+ default: return null;
+ }
+}
+
+//
+// Document generation
+//
+class UTF8StringWriter : StringWriter {
+ public override Encoding Encoding {
+ get { return Encoding.UTF8; }
+ }
+}
+
+string GenerateDocument ()
+{
+ UTF8StringWriter sw = new UTF8StringWriter ();
+
+ if (CurrentDocType == "wsdl")
+ descriptions [CurrentDocInd].Write (sw);
+ else if (CurrentDocType == "schema")
+ schemas [CurrentDocInd].Write (sw);
+
+ return Colorize (WrapText (sw.ToString (), CodeTextColumns), "xml");
+}
+
+public string CurrentDocType
+{
+ get { return Request.QueryString ["doctype"] != null ? Request.QueryString ["doctype"] : "wsdl"; }
+}
+
+public int CurrentDocInd
+{
+ get { return Request.QueryString ["docind"] != null ? int.Parse (Request.QueryString ["docind"]) : 0; }
+}
+
+public string CurrentDocumentName
+{
+ get {
+ if (CurrentDocType == "wsdl")
+ return "WSDL document for namespace \"" + descriptions [CurrentDocInd].TargetNamespace + "\"";
+ else
+ return "Xml Schema for namespace \"" + schemas [CurrentDocInd].TargetNamespace + "\"";
+ }
+}
+
+//
+// Pages and tabs
+//
+
+bool firstTab = true;
+ArrayList disabledTabs = new ArrayList ();
+
+string CurrentTab
+{
+ get { return Request.QueryString["tab"] != null ? Request.QueryString["tab"] : "main" ; }
+}
+
+string CurrentPage
+{
+ get { return Request.QueryString["page"] != null ? Request.QueryString["page"] : "main" ; }
+}
+
+void WriteTabs ()
+{
+ if (CurrentOperationName != null)
+ {
+ WriteTab ("main","Overview");
+ WriteTab ("test","Test Form");
+ WriteTab ("msg","Message Layout");
+ }
+}
+
+void WriteTab (string id, string label)
+{
+ if (!firstTab) Response.Write(" | ");
+ firstTab = false;
+
+ string cname = CurrentTab == id ? "tabLabelOn" : "tabLabelOff";
+ Response.Write ("<a href='" + PageName + "?" + GetPageContext(null) + GetDataContext() + "tab=" + id + "' style='text-decoration:none'>");
+ Response.Write ("<span class='" + cname + "'>" + label + "</span>");
+ Response.Write ("</a>");
+}
+
+string GetTabContext (string pag, string tab)
+{
+ if (tab == null) tab = CurrentTab;
+ if (pag == null) pag = CurrentPage;
+ if (pag != CurrentPage) tab = "main";
+ return "page=" + pag + "&tab=" + tab + "&";
+}
+
+string GetPageContext (string pag)
+{
+ if (pag == null) pag = CurrentPage;
+ return "page=" + pag + "&";
+}
+
+class Tab
+{
+ public string Id;
+ public string Label;
+}
+
+//
+// Syntax coloring
+//
+
+static string keywords_cs =
+ "(\\babstract\\b|\\bevent\\b|\\bnew\\b|\\bstruct\\b|\\bas\\b|\\bexplicit\\b|\\bnull\\b|\\bswitch\\b|\\bbase\\b|\\bextern\\b|" +
+ "\\bobject\\b|\\bthis\\b|\\bbool\\b|\\bfalse\\b|\\boperator\\b|\\bthrow\\b|\\bbreak\\b|\\bfinally\\b|\\bout\\b|\\btrue\\b|" +
+ "\\bbyte\\b|\\bfixed\\b|\\boverride\\b|\\btry\\b|\\bcase\\b|\\bfloat\\b|\\bparams\\b|\\btypeof\\b|\\bcatch\\b|\\bfor\\b|" +
+ "\\bprivate\\b|\\buint\\b|\\bchar\\b|\\bforeach\\b|\\bprotected\\b|\\bulong\\b|\\bchecked\\b|\\bgoto\\b|\\bpublic\\b|" +
+ "\\bunchecked\\b|\\bclass\\b|\\bif\\b|\\breadonly\\b|\\bunsafe\\b|\\bconst\\b|\\bimplicit\\b|\\bref\\b|\\bushort\\b|" +
+ "\\bcontinue\\b|\\bin\\b|\\breturn\\b|\\busing\\b|\\bdecimal\\b|\\bint\\b|\\bsbyte\\b|\\bvirtual\\b|\\bdefault\\b|" +
+ "\\binterface\\b|\\bsealed\\b|\\bvolatile\\b|\\bdelegate\\b|\\binternal\\b|\\bshort\\b|\\bvoid\\b|\\bdo\\b|\\bis\\b|" +
+ "\\bsizeof\\b|\\bwhile\\b|\\bdouble\\b|\\block\\b|\\bstackalloc\\b|\\belse\\b|\\blong\\b|\\bstatic\\b|\\benum\\b|" +
+ "\\bnamespace\\b|\\bstring\\b)";
+
+static string keywords_vb =
+ "(\\bAddHandler\\b|\\bAddressOf\\b|\\bAlias\\b|\\bAnd\\b|\\bAndAlso\\b|\\bAnsi\\b|\\bAs\\b|\\bAssembly\\b|" +
+ "\\bAuto\\b|\\bBoolean\\b|\\bByRef\\b|\\bByte\\b|\\bByVal\\b|\\bCall\\b|\\bCase\\b|\\bCatch\\b|" +
+ "\\bCBool\\b|\\bCByte\\b|\\bCChar\\b|\\bCDate\\b|\\bCDec\\b|\\bCDbl\\b|\\bChar\\b|\\bCInt\\b|" +
+ "\\bClass\\b|\\bCLng\\b|\\bCObj\\b|\\bConst\\b|\\bCShort\\b|\\bCSng\\b|\\bCStr\\b|\\bCType\\b|" +
+ "\\bDate\\b|\\bDecimal\\b|\\bDeclare\\b|\\bDefault\\b|\\bDelegate\\b|\\bDim\\b|\\bDirectCast\\b|\\bDo\\b|" +
+ "\\bDouble\\b|\\bEach\\b|\\bElse\\b|\\bElseIf\\b|\\bEnd\\b|\\bEnum\\b|\\bErase\\b|\\bError\\b|" +
+ "\\bEvent\\b|\\bExit\\b|\\bFalse\\b|\\bFinally\\b|\\bFor\\b|\\bFriend\\b|\\bFunction\\b|\\bGet\\b|" +
+ "\\bGetType\\b|\\bGoSub\\b|\\bGoTo\\b|\\bHandles\\b|\\bIf\\b|\\bImplements\\b|\\bImports\\b|\\bIn\\b|" +
+ "\\bInherits\\b|\\bInteger\\b|\\bInterface\\b|\\bIs\\b|\\bLet\\b|\\bLib\\b|\\bLike\\b|\\bLong\\b|" +
+ "\\bLoop\\b|\\bMe\\b|\\bMod\\b|\\bModule\\b|\\bMustInherit\\b|\\bMustOverride\\b|\\bMyBase\\b|\\bMyClass\\b|" +
+ "\\bNamespace\\b|\\bNew\\b|\\bNext\\b|\\bNot\\b|\\bNothing\\b|\\bNotInheritable\\b|\\bNotOverridable\\b|\\bObject\\b|" +
+ "\\bOn\\b|\\bOption\\b|\\bOptional\\b|\\bOr\\b|\\bOrElse\\b|\\bOverloads\\b|\\bOverridable\\b|\\bOverrides\\b|" +
+ "\\bParamArray\\b|\\bPreserve\\b|\\bPrivate\\b|\\bProperty\\b|\\bProtected\\b|\\bPublic\\b|\\bRaiseEvent\\b|\\bReadOnly\\b|" +
+ "\\bReDim\\b|\\bREM\\b|\\bRemoveHandler\\b|\\bResume\\b|\\bReturn\\b|\\bSelect\\b|\\bSet\\b|\\bShadows\\b|" +
+ "\\bShared\\b|\\bShort\\b|\\bSingle\\b|\\bStatic\\b|\\bStep\\b|\\bStop\\b|\\bString\\b|\\bStructure\\b|" +
+ "\\bSub\\b|\\bSyncLock\\b|\\bThen\\b|\\bThrow\\b|\\bTo\\b|\\bTrue\\b|\\bTry\\b|\\bTypeOf\\b|" +
+ "\\bUnicode\\b|\\bUntil\\b|\\bVariant\\b|\\bWhen\\b|\\bWhile\\b|\\bWith\\b|\\bWithEvents\\b|\\bWriteOnly\\b|\\bXor\\b)";
+
+string Colorize (string text, string lang)
+{
+ if (lang == "xml") return ColorizeXml (text);
+ else if (lang == "cs") return ColorizeCs (text);
+ else if (lang == "vb") return ColorizeVb (text);
+ else return text;
+}
+
+string ColorizeXml (string text)
+{
+ text = text.Replace (" ", " ");
+ Regex re = new Regex ("\r\n|\r|\n");
+ text = re.Replace (text, "_br_");
+
+ re = new Regex ("<\\s*(\\/?)\\s*([\\s\\S]*?)\\s*(\\/?)\\s*>");
+ text = re.Replace (text,"{blue:<$1}{maroon:$2}{blue:$3>}");
+
+ re = new Regex ("\\{(\\w*):([\\s\\S]*?)\\}");
+ text = re.Replace (text,"<span style='color:$1'>$2</span>");
+
+ re = new Regex ("\"(.*?)\"");
+ text = re.Replace (text,"\"<span style='color:purple'>$1</span>\"");
+
+
+ text = text.Replace ("\t", " ");
+ text = text.Replace ("_br_", "<br>");
+ return text;
+}
+
+string ColorizeCs (string text)
+{
+ text = text.Replace (" ", " ");
+
+ text = text.Replace ("<", "<");
+ text = text.Replace (">", ">");
+
+ Regex re = new Regex ("\"((((?!\").)|\\\")*?)\"");
+ text = re.Replace (text,"<span style='color:purple'>\"$1\"</span>");
+
+ re = new Regex ("//(((.(?!\"</span>))|\"(((?!\").)*)\"</span>)*)(\r|\n|\r\n)");
+ text = re.Replace (text,"<span style='color:green'>//$1</span><br/>");
+
+ re = new Regex (keywords_cs);
+ text = re.Replace (text,"<span style='color:blue'>$1</span>");
+
+ text = text.Replace ("\t"," ");
+ text = text.Replace ("\n","<br/>");
+
+ return text;
+}
+
+string ColorizeVb (string text)
+{
+ text = text.Replace (" ", " ");
+
+/* Regex re = new Regex ("\"((((?!\").)|\\\")*?)\"");
+ text = re.Replace (text,"<span style='color:purple'>\"$1\"</span>");
+
+ re = new Regex ("'(((.(?!\"\\<\\/span\\>))|\"(((?!\").)*)\"\\<\\/span\\>)*)(\r|\n|\r\n)");
+ text = re.Replace (text,"<span style='color:green'>//$1</span><br/>");
+
+ re = new Regex (keywords_vb);
+ text = re.Replace (text,"<span style='color:blue'>$1</span>");
+*/
+ text = text.Replace ("\t"," ");
+ text = text.Replace ("\n","<br/>");
+ return text;
+}
+
+//
+// Helper methods and classes
+//
+
+string GetDataContext ()
+{
+ return "op=" + CurrentOperationName + "&bnd=" + CurrentOperationBinding + "&";
+}
+
+string GetOptionSel (string v1, string v2)
+{
+ string op = "<option ";
+ if (v1 == v2) op += "selected ";
+ return op + "value='" + v1 + "'>";
+}
+
+string WrapText (string text, int maxChars)
+{
+ text = text.Replace(" />","/>");
+
+ string linspace = null;
+ int lincount = 0;
+ int breakpos = 0;
+ int linstart = 0;
+ bool inquotes = false;
+ char lastc = ' ';
+ string sublineIndent = "";
+ System.Text.StringBuilder sb = new System.Text.StringBuilder ();
+ for (int n=0; n<text.Length; n++)
+ {
+ char c = text [n];
+
+ if (c=='\r' || c=='\n' || n==text.Length-1)
+ {
+ sb.Append (linspace + sublineIndent + text.Substring (linstart, n-linstart+1));
+ linspace = null;
+ lincount = 0;
+ linstart = n+1;
+ breakpos = linstart;
+ sublineIndent = "";
+ lastc = c;
+ continue;
+ }
+
+ if (lastc==',' || lastc=='(')
+ {
+ if (!inquotes) breakpos = n;
+ }
+
+ if (lincount > maxChars && breakpos >= linstart)
+ {
+ if (linspace != null)
+ sb.Append (linspace + sublineIndent);
+ sb.Append (text.Substring (linstart, breakpos-linstart));
+ sb.Append ("\n");
+ sublineIndent = " ";
+ lincount = linspace.Length + sublineIndent.Length + (n-breakpos);
+ linstart = breakpos;
+ }
+
+ if (c==' ' || c=='\t')
+ {
+ if (!inquotes)
+ breakpos = n;
+ }
+ else if (c=='"')
+ {
+ inquotes = !inquotes;
+ }
+ else
+ if (linspace == null) {
+ linspace = text.Substring (linstart, n-linstart);
+ linstart = n;
+ }
+
+ lincount++;
+ lastc = c;
+ }
+ return sb.ToString ();
+}
+
+class Parameter
+{
+ string name;
+ string type;
+ string description;
+
+ public string Name { get { return name; } set { name = value; } }
+ public string Type { get { return type; } set { type = value; } }
+ public string Description { get { return description; } set { description = value; } }
+}
+
+public class HtmlSampleGenerator: SampleGenerator
+{
+ public HtmlSampleGenerator (ServiceDescriptionCollection services, XmlSchemas schemas)
+ : base (services, schemas)
+ {
+ }
+
+ protected override string GetLiteral (string s)
+ {
+ return "@placeholder!" + s + "!placeholder@";
+ }
+}
+
+
+ public class SampleGenerator
+ {
+ protected ServiceDescriptionCollection descriptions;
+ protected XmlSchemas schemas;
+ XmlSchemaElement anyElement;
+ ArrayList queue;
+ SoapBindingUse currentUse;
+ XmlDocument document = new XmlDocument ();
+
+ static readonly XmlQualifiedName anyType = new XmlQualifiedName ("anyType",XmlSchema.Namespace);
+ static readonly XmlQualifiedName arrayType = new XmlQualifiedName ("Array","http://schemas.xmlsoap.org/soap/encoding/");
+ static readonly XmlQualifiedName arrayTypeRefName = new XmlQualifiedName ("arrayType","http://schemas.xmlsoap.org/soap/encoding/");
+ const string SoapEnvelopeNamespace = "http://schemas.xmlsoap.org/soap/envelope/";
+ const string WsdlNamespace = "http://schemas.xmlsoap.org/wsdl/";
+ const string SoapEncodingNamespace = "http://schemas.xmlsoap.org/soap/encoding/";
+
+ class EncodedType
+ {
+ public EncodedType (string ns, XmlSchemaElement elem) { Namespace = ns; Element = elem; }
+ public string Namespace;
+ public XmlSchemaElement Element;
+ }
+
+ public SampleGenerator (ServiceDescriptionCollection services, XmlSchemas schemas)
+ {
+ descriptions = services;
+ this.schemas = schemas;
+ queue = new ArrayList ();
+ }
+
+ public string GenerateMessage (Port port, OperationBinding obin, Operation oper, string protocol, bool generateInput)
+ {
+ OperationMessage msg = null;
+ foreach (OperationMessage opm in oper.Messages)
+ {
+ if (opm is OperationInput && generateInput) msg = opm;
+ else if (opm is OperationOutput && !generateInput) msg = opm;
+ }
+ if (msg == null) return null;
+
+ switch (protocol) {
+ case "Soap": return GenerateHttpSoapMessage (port, obin, oper, msg);
+ case "HttpGet": return GenerateHttpGetMessage (port, obin, oper, msg);
+ case "HttpPost": return GenerateHttpPostMessage (port, obin, oper, msg);
+ }
+ return "Unknown protocol";
+ }
+
+ public string GenerateHttpSoapMessage (Port port, OperationBinding obin, Operation oper, OperationMessage msg)
+ {
+ string req = "";
+
+ if (msg is OperationInput)
+ {
+ SoapAddressBinding sab = port.Extensions.Find (typeof(SoapAddressBinding)) as SoapAddressBinding;
+ SoapOperationBinding sob = obin.Extensions.Find (typeof(SoapOperationBinding)) as SoapOperationBinding;
+ req += "POST " + new Uri (sab.Location).AbsolutePath + "\n";
+ req += "SOAPAction: " + sob.SoapAction + "\n";
+ req += "Content-Type: text/xml; charset=utf-8\n";
+ req += "Content-Length: " + GetLiteral ("string") + "\n";
+ req += "Host: " + GetLiteral ("string") + "\n\n";
+ }
+ else
+ {
+ req += "HTTP/1.0 200 OK\n";
+ req += "Content-Type: text/xml; charset=utf-8\n";
+ req += "Content-Length: " + GetLiteral ("string") + "\n\n";
+ }
+
+ req += GenerateSoapMessage (obin, oper, msg);
+ return req;
+ }
+
+ public string GenerateHttpGetMessage (Port port, OperationBinding obin, Operation oper, OperationMessage msg)
+ {
+ string req = "";
+
+ if (msg is OperationInput)
+ {
+ HttpAddressBinding sab = port.Extensions.Find (typeof(HttpAddressBinding)) as HttpAddressBinding;
+ HttpOperationBinding sob = obin.Extensions.Find (typeof(HttpOperationBinding)) as HttpOperationBinding;
+ string location = new Uri (sab.Location).AbsolutePath + sob.Location + "?" + BuildQueryString (msg);
+ req += "GET " + location + "\n";
+ req += "Host: " + GetLiteral ("string");
+ }
+ else
+ {
+ req += "HTTP/1.0 200 OK\n";
+ req += "Content-Type: text/xml; charset=utf-8\n";
+ req += "Content-Length: " + GetLiteral ("string") + "\n\n";
+
+ MimeXmlBinding mxb = (MimeXmlBinding) obin.Output.Extensions.Find (typeof(MimeXmlBinding)) as MimeXmlBinding;
+ if (mxb == null) return req;
+
+ Message message = descriptions.GetMessage (msg.Message);
+ XmlQualifiedName ename = null;
+ foreach (MessagePart part in message.Parts)
+ if (part.Name == mxb.Part) ename = part.Element;
+
+ if (ename == null) return req + GetLiteral("string");
+
+ StringWriter sw = new StringWriter ();
+ XmlTextWriter xtw = new XmlTextWriter (sw);
+ xtw.Formatting = Formatting.Indented;
+ currentUse = SoapBindingUse.Literal;
+ WriteRootElementSample (xtw, ename);
+ xtw.Close ();
+ req += sw.ToString ();
+ }
+
+ return req;
+ }
+
+ public string GenerateHttpPostMessage (Port port, OperationBinding obin, Operation oper, OperationMessage msg)
+ {
+ string req = "";
+
+ if (msg is OperationInput)
+ {
+ HttpAddressBinding sab = port.Extensions.Find (typeof(HttpAddressBinding)) as HttpAddressBinding;
+ HttpOperationBinding sob = obin.Extensions.Find (typeof(HttpOperationBinding)) as HttpOperationBinding;
+ string location = new Uri (sab.Location).AbsolutePath + sob.Location;
+ req += "POST " + location + "\n";
+ req += "Content-Type: application/x-www-form-urlencoded\n";
+ req += "Content-Length: " + GetLiteral ("string") + "\n";
+ req += "Host: " + GetLiteral ("string") + "\n\n";
+ req += BuildQueryString (msg);
+ }
+ else return GenerateHttpGetMessage (port, obin, oper, msg);
+
+ return req;
+ }
+
+ string BuildQueryString (OperationMessage opm)
+ {
+ string s = "";
+ Message msg = descriptions.GetMessage (opm.Message);
+ foreach (MessagePart part in msg.Parts)
+ {
+ if (s.Length != 0) s += "&";
+ s += part.Name + "=" + GetLiteral (part.Type.Name);
+ }
+ return s;
+ }
+
+ public string GenerateSoapMessage (OperationBinding obin, Operation oper, OperationMessage msg)
+ {
+ SoapOperationBinding sob = obin.Extensions.Find (typeof(SoapOperationBinding)) as SoapOperationBinding;
+ SoapBindingStyle style = (sob != null) ? sob.Style : SoapBindingStyle.Document;
+
+ MessageBinding msgbin = (msg is OperationInput) ? (MessageBinding) obin.Input : (MessageBinding)obin.Output;
+ SoapBodyBinding sbb = msgbin.Extensions.Find (typeof(SoapBodyBinding)) as SoapBodyBinding;
+ SoapBindingUse bodyUse = (sbb != null) ? sbb.Use : SoapBindingUse.Literal;
+
+ StringWriter sw = new StringWriter ();
+ XmlTextWriter xtw = new XmlTextWriter (sw);
+ xtw.Formatting = Formatting.Indented;
+
+ xtw.WriteStartDocument ();
+ xtw.WriteStartElement ("soap", "Envelope", SoapEnvelopeNamespace);
+ xtw.WriteAttributeString ("xmlns", "xsi", null, XmlSchema.InstanceNamespace);
+ xtw.WriteAttributeString ("xmlns", "xsd", null, XmlSchema.Namespace);
+
+ if (bodyUse == SoapBindingUse.Encoded)
+ {
+ xtw.WriteAttributeString ("xmlns", "soapenc", null, SoapEncodingNamespace);
+ xtw.WriteAttributeString ("xmlns", "tns", null, msg.Message.Namespace);
+ }
+
+ // Serialize headers
+
+ bool writtenHeader = false;
+ foreach (object ob in msgbin.Extensions)
+ {
+ SoapHeaderBinding hb = ob as SoapHeaderBinding;
+ if (hb == null) continue;
+
+ if (!writtenHeader) {
+ xtw.WriteStartElement ("soap", "Header", SoapEnvelopeNamespace);
+ writtenHeader = true;
+ }
+
+ WriteHeader (xtw, hb);
+ }
+
+ if (writtenHeader)
+ xtw.WriteEndElement ();
+
+ // Serialize body
+ xtw.WriteStartElement ("soap", "Body", SoapEnvelopeNamespace);
+
+ currentUse = bodyUse;
+ WriteBody (xtw, oper, msg, sbb, style);
+
+ xtw.WriteEndElement ();
+ xtw.WriteEndElement ();
+ xtw.Close ();
+ return sw.ToString ();
+ }
+
+ void WriteHeader (XmlTextWriter xtw, SoapHeaderBinding header)
+ {
+ Message msg = descriptions.GetMessage (header.Message);
+ if (msg == null) throw new InvalidOperationException ("Message " + header.Message + " not found");
+ MessagePart part = msg.Parts [header.Part];
+ if (part == null) throw new InvalidOperationException ("Message part " + header.Part + " not found in message " + header.Message);
+
+ currentUse = header.Use;
+
+ if (currentUse == SoapBindingUse.Literal)
+ WriteRootElementSample (xtw, part.Element);
+ else
+ WriteTypeSample (xtw, part.Type);
+ }
+
+ void WriteBody (XmlTextWriter xtw, Operation oper, OperationMessage opm, SoapBodyBinding sbb, SoapBindingStyle style)
+ {
+ Message msg = descriptions.GetMessage (opm.Message);
+ if (msg.Parts.Count > 0 && msg.Parts[0].Name == "parameters")
+ {
+ MessagePart part = msg.Parts[0];
+ if (part.Element == XmlQualifiedName.Empty)
+ WriteTypeSample (xtw, part.Type);
+ else
+ WriteRootElementSample (xtw, part.Element);
+ }
+ else
+ {
+ string elemName = oper.Name;
+ string ns = "";
+ if (opm is OperationOutput) elemName += "Response";
+
+ if (style == SoapBindingStyle.Rpc) {
+ xtw.WriteStartElement (elemName, sbb.Namespace);
+ ns = sbb.Namespace;
+ }
+
+ foreach (MessagePart part in msg.Parts)
+ {
+ if (part.Element == XmlQualifiedName.Empty)
+ {
+ XmlSchemaElement elem = new XmlSchemaElement ();
+ elem.SchemaTypeName = part.Type;
+ elem.Name = part.Name;
+ WriteElementSample (xtw, ns, elem);
+ }
+ else
+ WriteRootElementSample (xtw, part.Element);
+ }
+
+ if (style == SoapBindingStyle.Rpc)
+ xtw.WriteEndElement ();
+ }
+ WriteQueuedTypeSamples (xtw);
+ }
+
+ void WriteRootElementSample (XmlTextWriter xtw, XmlQualifiedName qname)
+ {
+ XmlSchemaElement elem = (XmlSchemaElement) schemas.Find (qname, typeof(XmlSchemaElement));
+ if (elem == null) throw new InvalidOperationException ("Element not found: " + qname);
+ WriteElementSample (xtw, qname.Namespace, elem);
+ }
+
+ void WriteElementSample (XmlTextWriter xtw, string ns, XmlSchemaElement elem)
+ {
+ bool sharedAnnType = false;
+ XmlQualifiedName root;
+
+ if (!elem.RefName.IsEmpty) {
+ XmlSchemaElement refElem = FindRefElement (elem);
+ if (refElem == null) throw new InvalidOperationException ("Global element not found: " + elem.RefName);
+ root = elem.RefName;
+ elem = refElem;
+ sharedAnnType = true;
+ }
+ else
+ root = new XmlQualifiedName (elem.Name, ns);
+
+ if (!elem.SchemaTypeName.IsEmpty)
+ {
+ XmlSchemaComplexType st = FindComplexTyype (elem.SchemaTypeName);
+ if (st != null)
+ WriteComplexTypeSample (xtw, st, root);
+ else
+ {
+ xtw.WriteStartElement (root.Name, root.Namespace);
+ if (currentUse == SoapBindingUse.Encoded)
+ xtw.WriteAttributeString ("type", XmlSchema.InstanceNamespace, GetQualifiedNameString (xtw, elem.SchemaTypeName));
+ xtw.WriteString (GetLiteral (FindBuiltInType (elem.SchemaTypeName)));
+ xtw.WriteEndElement ();
+ }
+ }
+ else if (elem.SchemaType == null)
+ {
+ xtw.WriteStartElement ("any");
+ xtw.WriteEndElement ();
+ }
+ else
+ WriteComplexTypeSample (xtw, (XmlSchemaComplexType) elem.SchemaType, root);
+ }
+
+ void WriteTypeSample (XmlTextWriter xtw, XmlQualifiedName qname)
+ {
+ XmlSchemaComplexType ctype = FindComplexTyype (qname);
+ if (ctype != null) {
+ WriteComplexTypeSample (xtw, ctype, qname);
+ return;
+ }
+
+ XmlSchemaSimpleType stype = (XmlSchemaSimpleType) schemas.Find (qname, typeof(XmlSchemaSimpleType));
+ if (stype != null) {
+ WriteSimpleTypeSample (xtw, stype);
+ return;
+ }
+
+ xtw.WriteString (GetLiteral (FindBuiltInType (qname)));
+ throw new InvalidOperationException ("Type not found: " + qname);
+ }
+
+ void WriteComplexTypeSample (XmlTextWriter xtw, XmlSchemaComplexType stype, XmlQualifiedName rootName)
+ {
+ WriteComplexTypeSample (xtw, stype, rootName, -1);
+ }
+
+ void WriteComplexTypeSample (XmlTextWriter xtw, XmlSchemaComplexType stype, XmlQualifiedName rootName, int id)
+ {
+ string ns = rootName.Namespace;
+
+ if (rootName.Name.IndexOf ("[]") != -1) rootName = arrayType;
+
+ if (currentUse == SoapBindingUse.Encoded) {
+ string pref = xtw.LookupPrefix (rootName.Namespace);
+ if (pref == null) pref = "q1";
+ xtw.WriteStartElement (pref, rootName.Name, rootName.Namespace);
+ ns = "";
+ }
+ else
+ xtw.WriteStartElement (rootName.Name, rootName.Namespace);
+
+ if (id != -1)
+ {
+ xtw.WriteAttributeString ("id", "id" + id);
+ if (rootName != arrayType)
+ xtw.WriteAttributeString ("type", XmlSchema.InstanceNamespace, GetQualifiedNameString (xtw, rootName));
+ }
+
+ WriteComplexTypeAttributes (xtw, stype);
+ WriteComplexTypeElements (xtw, ns, stype);
+
+ xtw.WriteEndElement ();
+ }
+
+ void WriteComplexTypeAttributes (XmlTextWriter xtw, XmlSchemaComplexType stype)
+ {
+ WriteAttributes (xtw, stype.Attributes, stype.AnyAttribute);
+ }
+
+ Dictionary<XmlSchemaComplexType,int> recursed_types = new Dictionary<XmlSchemaComplexType,int> ();
+ void WriteComplexTypeElements (XmlTextWriter xtw, string ns, XmlSchemaComplexType stype)
+ {
+ int prev = 0;
+ if (recursed_types.ContainsKey (stype))
+ prev = recursed_types [stype];
+
+ if (prev > 1)
+ return;
+ recursed_types [stype] = ++prev;
+
+ if (stype.Particle != null)
+ WriteParticleComplexContent (xtw, ns, stype.Particle);
+ else
+ {
+ if (stype.ContentModel is XmlSchemaSimpleContent)
+ WriteSimpleContent (xtw, (XmlSchemaSimpleContent)stype.ContentModel);
+ else if (stype.ContentModel is XmlSchemaComplexContent)
+ WriteComplexContent (xtw, ns, (XmlSchemaComplexContent)stype.ContentModel);
+ }
+ prev = recursed_types [stype];
+ recursed_types [stype] = --prev;
+ }
+
+ void WriteAttributes (XmlTextWriter xtw, XmlSchemaObjectCollection atts, XmlSchemaAnyAttribute anyat)
+ {
+ foreach (XmlSchemaObject at in atts)
+ {
+ if (at is XmlSchemaAttribute)
+ {
+ string ns;
+ XmlSchemaAttribute attr = (XmlSchemaAttribute)at;
+ XmlSchemaAttribute refAttr = attr;
+
+ // refAttr.Form; TODO
+
+ if (!attr.RefName.IsEmpty) {
+ refAttr = FindRefAttribute (attr.RefName);
+ if (refAttr == null) throw new InvalidOperationException ("Global attribute not found: " + attr.RefName);
+ }
+
+ string val;
+ if (!refAttr.SchemaTypeName.IsEmpty) val = FindBuiltInType (refAttr.SchemaTypeName);
+ else val = FindBuiltInType ((XmlSchemaSimpleType) refAttr.SchemaType);
+
+ xtw.WriteAttributeString (refAttr.Name, val);
+ }
+ else if (at is XmlSchemaAttributeGroupRef)
+ {
+ XmlSchemaAttributeGroupRef gref = (XmlSchemaAttributeGroupRef)at;
+ XmlSchemaAttributeGroup grp = (XmlSchemaAttributeGroup) schemas.Find (gref.RefName, typeof(XmlSchemaAttributeGroup));
+ WriteAttributes (xtw, grp.Attributes, grp.AnyAttribute);
+ }
+ }
+
+ if (anyat != null)
+ xtw.WriteAttributeString ("custom-attribute","value");
+ }
+
+ void WriteParticleComplexContent (XmlTextWriter xtw, string ns, XmlSchemaParticle particle)
+ {
+ WriteParticleContent (xtw, ns, particle, false);
+ }
+
+ void WriteParticleContent (XmlTextWriter xtw, string ns, XmlSchemaParticle particle, bool multiValue)
+ {
+ if (particle is XmlSchemaGroupRef)
+ particle = GetRefGroupParticle ((XmlSchemaGroupRef)particle);
+
+ if (particle.MaxOccurs > 1) multiValue = true;
+
+ if (particle is XmlSchemaSequence) {
+ WriteSequenceContent (xtw, ns, ((XmlSchemaSequence)particle).Items, multiValue);
+ }
+ else if (particle is XmlSchemaChoice) {
+ if (((XmlSchemaChoice)particle).Items.Count == 1)
+ WriteSequenceContent (xtw, ns, ((XmlSchemaChoice)particle).Items, multiValue);
+ else
+ WriteChoiceContent (xtw, ns, (XmlSchemaChoice)particle, multiValue);
+ }
+ else if (particle is XmlSchemaAll) {
+ WriteSequenceContent (xtw, ns, ((XmlSchemaAll)particle).Items, multiValue);
+ }
+ }
+
+ void WriteSequenceContent (XmlTextWriter xtw, string ns, XmlSchemaObjectCollection items, bool multiValue)
+ {
+ foreach (XmlSchemaObject item in items)
+ WriteContentItem (xtw, ns, item, multiValue);
+ }
+
+ void WriteContentItem (XmlTextWriter xtw, string ns, XmlSchemaObject item, bool multiValue)
+ {
+ if (item is XmlSchemaGroupRef)
+ item = GetRefGroupParticle ((XmlSchemaGroupRef)item);
+
+ if (item is XmlSchemaElement)
+ {
+ XmlSchemaElement elem = (XmlSchemaElement) item;
+ XmlSchemaElement refElem;
+ if (!elem.RefName.IsEmpty) refElem = FindRefElement (elem);
+ else refElem = elem;
+
+ int num = (elem.MaxOccurs == 1 && !multiValue) ? 1 : 2;
+ for (int n=0; n<num; n++)
+ {
+ if (currentUse == SoapBindingUse.Literal)
+ WriteElementSample (xtw, ns, refElem);
+ else
+ WriteRefTypeSample (xtw, ns, refElem);
+ }
+ }
+ else if (item is XmlSchemaAny)
+ {
+ xtw.WriteString (GetLiteral ("xml"));
+ }
+ else if (item is XmlSchemaParticle) {
+ WriteParticleContent (xtw, ns, (XmlSchemaParticle)item, multiValue);
+ }
+ }
+
+ void WriteChoiceContent (XmlTextWriter xtw, string ns, XmlSchemaChoice choice, bool multiValue)
+ {
+ foreach (XmlSchemaObject item in choice.Items)
+ WriteContentItem (xtw, ns, item, multiValue);
+ }
+
+ void WriteSimpleContent (XmlTextWriter xtw, XmlSchemaSimpleContent content)
+ {
+ XmlSchemaSimpleContentExtension ext = content.Content as XmlSchemaSimpleContentExtension;
+ if (ext != null)
+ WriteAttributes (xtw, ext.Attributes, ext.AnyAttribute);
+
+ XmlQualifiedName qname = GetContentBaseType (content.Content);
+ xtw.WriteString (GetLiteral (FindBuiltInType (qname)));
+ }
+
+ string FindBuiltInType (XmlQualifiedName qname)
+ {
+ if (qname.Namespace == XmlSchema.Namespace)
+ return qname.Name;
+
+ XmlSchemaComplexType ct = FindComplexTyype (qname);
+ if (ct != null)
+ {
+ XmlSchemaSimpleContent sc = ct.ContentModel as XmlSchemaSimpleContent;
+ if (sc == null) throw new InvalidOperationException ("Invalid schema");
+ return FindBuiltInType (GetContentBaseType (sc.Content));
+ }
+
+ XmlSchemaSimpleType st = (XmlSchemaSimpleType) schemas.Find (qname, typeof(XmlSchemaSimpleType));
+ if (st != null)
+ return FindBuiltInType (st);
+
+ throw new InvalidOperationException ("Definition of type " + qname + " not found");
+ }
+
+ string FindBuiltInType (XmlSchemaSimpleType st)
+ {
+ if (st.Content is XmlSchemaSimpleTypeRestriction) {
+ return FindBuiltInType (GetContentBaseType (st.Content));
+ }
+ else if (st.Content is XmlSchemaSimpleTypeList) {
+ string s = FindBuiltInType (GetContentBaseType (st.Content));
+ return s + " " + s + " ...";
+ }
+ else if (st.Content is XmlSchemaSimpleTypeUnion)
+ {
+ //Check if all types of the union are equal. If not, then will use anyType.
+ XmlSchemaSimpleTypeUnion uni = (XmlSchemaSimpleTypeUnion) st.Content;
+ string utype = null;
+
+ // Anonymous types are unique
+ if (uni.BaseTypes.Count != 0 && uni.MemberTypes.Length != 0)
+ return "string";
+
+ foreach (XmlQualifiedName mt in uni.MemberTypes)
+ {
+ string qn = FindBuiltInType (mt);
+ if (utype != null && qn != utype) return "string";
+ else utype = qn;
+ }
+ return utype;
+ }
+ else
+ return "string";
+ }
+
+
+ XmlQualifiedName GetContentBaseType (XmlSchemaObject ob)
+ {
+ if (ob is XmlSchemaSimpleContentExtension)
+ return ((XmlSchemaSimpleContentExtension)ob).BaseTypeName;
+ else if (ob is XmlSchemaSimpleContentRestriction)
+ return ((XmlSchemaSimpleContentRestriction)ob).BaseTypeName;
+ else if (ob is XmlSchemaSimpleTypeRestriction)
+ return ((XmlSchemaSimpleTypeRestriction)ob).BaseTypeName;
+ else if (ob is XmlSchemaSimpleTypeList)
+ return ((XmlSchemaSimpleTypeList)ob).ItemTypeName;
+ else
+ return null;
+ }
+
+ void WriteComplexContent (XmlTextWriter xtw, string ns, XmlSchemaComplexContent content)
+ {
+ XmlQualifiedName qname;
+
+ XmlSchemaComplexContentExtension ext = content.Content as XmlSchemaComplexContentExtension;
+ if (ext != null) qname = ext.BaseTypeName;
+ else {
+ XmlSchemaComplexContentRestriction rest = (XmlSchemaComplexContentRestriction)content.Content;
+ qname = rest.BaseTypeName;
+ if (qname == arrayType) {
+ ParseArrayType (rest, out qname);
+ XmlSchemaElement elem = new XmlSchemaElement ();
+ elem.Name = "Item";
+ elem.SchemaTypeName = qname;
+
+ xtw.WriteAttributeString ("arrayType", SoapEncodingNamespace, qname.Name + "[2]");
+ WriteContentItem (xtw, ns, elem, true);
+ return;
+ }
+ }
+
+ // Add base map members to this map
+ XmlSchemaComplexType ctype = FindComplexTyype (qname);
+ WriteComplexTypeAttributes (xtw, ctype);
+
+ if (ext != null) {
+ // Add the members of this map
+ WriteAttributes (xtw, ext.Attributes, ext.AnyAttribute);
+ if (ext.Particle != null)
+ WriteParticleComplexContent (xtw, ns, ext.Particle);
+ }
+
+ WriteComplexTypeElements (xtw, ns, ctype);
+ }
+
+ void ParseArrayType (XmlSchemaComplexContentRestriction rest, out XmlQualifiedName qtype)
+ {
+ XmlSchemaAttribute arrayTypeAt = FindArrayAttribute (rest.Attributes);
+ XmlAttribute[] uatts = arrayTypeAt.UnhandledAttributes;
+ if (uatts == null || uatts.Length == 0) throw new InvalidOperationException ("arrayType attribute not specified in array declaration");
+
+ XmlAttribute xat = null;
+ foreach (XmlAttribute at in uatts)
+ if (at.LocalName == "arrayType" && at.NamespaceURI == WsdlNamespace)
+ { xat = at; break; }
+
+ if (xat == null)
+ throw new InvalidOperationException ("arrayType attribute not specified in array declaration");
+
+ string arrayType = xat.Value;
+ string type, ns;
+ int i = arrayType.LastIndexOf (":");
+ if (i == -1) ns = "";
+ else ns = arrayType.Substring (0,i);
+
+ int j = arrayType.IndexOf ("[", i+1);
+ if (j == -1) throw new InvalidOperationException ("Cannot parse WSDL array type: " + arrayType);
+ type = arrayType.Substring (i+1);
+ type = type.Substring (0, type.Length-2);
+
+ qtype = new XmlQualifiedName (type, ns);
+ }
+
+ XmlSchemaAttribute FindArrayAttribute (XmlSchemaObjectCollection atts)
+ {
+ foreach (object ob in atts)
+ {
+ XmlSchemaAttribute att = ob as XmlSchemaAttribute;
+ if (att != null && att.RefName == arrayTypeRefName) return att;
+
+ XmlSchemaAttributeGroupRef gref = ob as XmlSchemaAttributeGroupRef;
+ if (gref != null)
+ {
+ XmlSchemaAttributeGroup grp = (XmlSchemaAttributeGroup) schemas.Find (gref.RefName, typeof(XmlSchemaAttributeGroup));
+ att = FindArrayAttribute (grp.Attributes);
+ if (att != null) return att;
+ }
+ }
+ return null;
+ }
+
+ void WriteSimpleTypeSample (XmlTextWriter xtw, XmlSchemaSimpleType stype)
+ {
+ xtw.WriteString (GetLiteral (FindBuiltInType (stype)));
+ }
+
+ XmlSchemaParticle GetRefGroupParticle (XmlSchemaGroupRef refGroup)
+ {
+ XmlSchemaGroup grp = (XmlSchemaGroup) schemas.Find (refGroup.RefName, typeof (XmlSchemaGroup));
+ return grp.Particle;
+ }
+
+ XmlSchemaElement FindRefElement (XmlSchemaElement elem)
+ {
+ if (elem.RefName.Namespace == XmlSchema.Namespace)
+ {
+ if (anyElement != null) return anyElement;
+ anyElement = new XmlSchemaElement ();
+ anyElement.Name = "any";
+ anyElement.SchemaTypeName = anyType;
+ return anyElement;
+ }
+ return (XmlSchemaElement) schemas.Find (elem.RefName, typeof(XmlSchemaElement));
+ }
+
+ XmlSchemaAttribute FindRefAttribute (XmlQualifiedName refName)
+ {
+ if (refName.Namespace == XmlSchema.Namespace)
+ {
+ XmlSchemaAttribute at = new XmlSchemaAttribute ();
+ at.Name = refName.Name;
+ at.SchemaTypeName = new XmlQualifiedName ("string",XmlSchema.Namespace);
+ return at;
+ }
+ return (XmlSchemaAttribute) schemas.Find (refName, typeof(XmlSchemaAttribute));
+ }
+
+ void WriteRefTypeSample (XmlTextWriter xtw, string ns, XmlSchemaElement elem)
+ {
+ if (elem.SchemaTypeName.Namespace == XmlSchema.Namespace || schemas.Find (elem.SchemaTypeName, typeof(XmlSchemaSimpleType)) != null)
+ WriteElementSample (xtw, ns, elem);
+ else
+ {
+ xtw.WriteStartElement (elem.Name, ns);
+ xtw.WriteAttributeString ("href", "#id" + (queue.Count+1));
+ xtw.WriteEndElement ();
+ queue.Add (new EncodedType (ns, elem));
+ }
+ }
+
+ void WriteQueuedTypeSamples (XmlTextWriter xtw)
+ {
+ for (int n=0; n<queue.Count; n++)
+ {
+ EncodedType ec = (EncodedType) queue[n];
+ XmlSchemaComplexType st = FindComplexTyype (ec.Element.SchemaTypeName);
+ WriteComplexTypeSample (xtw, st, ec.Element.SchemaTypeName, n+1);
+ }
+ }
+
+ XmlSchemaComplexType FindComplexTyype (XmlQualifiedName qname)
+ {
+ if (qname.Name.IndexOf ("[]") != -1)
+ {
+ XmlSchemaComplexType stype = new XmlSchemaComplexType ();
+ stype.ContentModel = new XmlSchemaComplexContent ();
+
+ XmlSchemaComplexContentRestriction res = new XmlSchemaComplexContentRestriction ();
+ stype.ContentModel.Content = res;
+ res.BaseTypeName = arrayType;
+
+ XmlSchemaAttribute att = new XmlSchemaAttribute ();
+ att.RefName = arrayTypeRefName;
+ res.Attributes.Add (att);
+
+ XmlAttribute xat = document.CreateAttribute ("arrayType", WsdlNamespace);
+ xat.Value = qname.Namespace + ":" + qname.Name;
+ att.UnhandledAttributes = new XmlAttribute[] {xat};
+ return stype;
+ }
+
+ return (XmlSchemaComplexType) schemas.Find (qname, typeof(XmlSchemaComplexType));
+ }
+
+ string GetQualifiedNameString (XmlTextWriter xtw, XmlQualifiedName qname)
+ {
+ string pref = xtw.LookupPrefix (qname.Namespace);
+ if (pref != null) return pref + ":" + qname.Name;
+
+ xtw.WriteAttributeString ("xmlns", "q1", null, qname.Namespace);
+ return "q1:" + qname.Name;
+ }
+
+ protected virtual string GetLiteral (string s)
+ {
+ return s;
+ }
+
+ void GetOperationFormat (OperationBinding obin, out SoapBindingStyle style, out SoapBindingUse use)
+ {
+ style = SoapBindingStyle.Document;
+ use = SoapBindingUse.Literal;
+ SoapOperationBinding sob = obin.Extensions.Find (typeof(SoapOperationBinding)) as SoapOperationBinding;
+ if (sob != null) {
+ style = sob.Style;
+ SoapBodyBinding sbb = obin.Input.Extensions.Find (typeof(SoapBodyBinding)) as SoapBodyBinding;
+ if (sbb != null)
+ use = sbb.Use;
+ }
+ }
+ }
+
+
+
+
+
+</script>
+
+<head runat="server">
+ <%
+ Response.Write ("<link rel=\"alternate\" type=\"text/xml\" href=\"" + Request.FilePath + "?disco\"/>");
+ %>
+ <title><%=WebServiceName%> Web Service</title>
+ <style type="text/css">
+ BODY { font-family: Arial; margin-left: 20px; margin-top: 20px; font-size: x-small}
+ TABLE { font-size: x-small }
+ .title { color:dimgray; font-family: Arial; font-size:20pt; font-weight:900}
+ .operationTitle { color:dimgray; font-family: Arial; font-size:15pt; font-weight:900}
+ .method { font-size: x-small }
+ .bindingLabel { font-size: x-small; font-weight:bold; color:darkgray; line-height:8pt; display:block; margin-bottom:3px }
+ .label { font-size: small; font-weight:bold; color:darkgray }
+ .paramTable { font-size: x-small }
+ .paramTable TR { background-color: gainsboro }
+ .paramFormTable { font-size: x-small; padding: 10px; background-color: gainsboro }
+ .paramFormTable TR { background-color: gainsboro }
+ .paramInput { border: solid 1px gray }
+ .button {border: solid 1px gray }
+ .smallSeparator { height:3px; overflow:hidden }
+ .panel { background-color:whitesmoke; border: solid 1px silver; border-top: solid 1px silver }
+ .codePanel { background-color: white; font-size:x-small; padding:7px; border:solid 1px silver}
+ .code-xml { font-size:10pt; font-family:courier }
+ .code-cs { font-size:10pt; font-family:courier }
+ .code-vb { font-size:10pt; font-family:courier }
+ .tabLabelOn { font-weight:bold }
+ .tabLabelOff {color: darkgray }
+ .literal-placeholder {color: darkblue; font-weight:bold}
+ A:link { color: black; }
+ A:visited { color: black; }
+ A:active { color: black; }
+ A:hover { color: blue }
+ </style>
+
+<script language="javascript" type="text/javascript">
+var req;
+function getXML (command, url, qs) {
+ if (url == "" || url.substring (0, 4) != "http")
+ return;
+
+ var post_data = null;
+ req = getReq ();
+ req.onreadystatechange = stateChange;
+ if (command == "GET") {
+ url = url + "?" + qs;
+ } else {
+ post_data = qs;
+ }
+ req.open (command, url, true);
+ if (command == "POST")
+ req.setRequestHeader ("Content-Type", "application/x-www-form-urlencoded");
+ req.send (post_data);
+}
+
+function stateChange () {
+ if (req.readyState == 4) {
+ var node = document.getElementById("testresult_div");
+ var text = "";
+ if (req.status == 200) {
+ node.innerHTML = "<div class='code-xml'>" + formatXml (req.responseText) + "</div>";
+ } else {
+ var ht = "<b style='color: red'>" + formatXml (req.status + " - " + req.statusText) + "</b>";
+ if (req.responseText != "")
+ ht = ht + "\n<div class='code-xml'>" + formatXml (req.responseText) + "</div>";
+ node.innerHTML = ht;
+
+ }
+ }
+}
+
+function formatXml (text)
+{
+ var re = / /g;
+ text = text.replace (re, " ");
+
+ re = /\t/g;
+ text = text.replace (re, " ");
+
+ re = /\<\s*(\/?)\s*(.*?)\s*(\/?)\s*\>/g;
+ text = text.replace (re,"{blue:<$1}{maroon:$2}{blue:$3>}");
+
+ re = /{(\w*):(.*?)}/g;
+ text = text.replace (re,"<span style='color:$1'>$2</span>");
+
+ re = /"(.*?)"/g;
+ text = text.replace (re,"\"<span style='color:purple'>$1</span>\"");
+
+ re = /\r\n|\r|\n/g;
+ text = text.replace (re, "<br/>");
+
+ return text;
+}
+
+function getReq () {
+ if (window.XMLHttpRequest) {
+ return new XMLHttpRequest(); // Firefox, Safari, ...
+ } else if (window.ActiveXObject) {
+ return new ActiveXObject("Microsoft.XMLHTTP");
+ }
+}
+
+function clearForm ()
+{
+ document.getElementById("testFormResult").style.display="none";
+}
+</script>
+
+</head>
+
+<body>
+<div class="title" style="margin-left:20px">
+<span class="label">Web Service</span><br>
+<%=WebServiceName%>
+</div>
+
+<!--
+ **********************************************************
+ Left panel
+-->
+
+<table border="0" width="100%" cellpadding="15px" cellspacing="15px">
+<tr valign="top"><td width="150px" class="panel">
+<div style="width:150px"></div>
+<a class="method" href='<%=PageName%>'>Overview</a><br>
+<div class="smallSeparator"></div>
+<a class="method" href='<%=PageName + "?" + GetPageContext("wsdl")%>'>Service Description</a>
+<div class="smallSeparator"></div>
+<a class="method" href='<%=PageName + "?" + GetPageContext("proxy")%>'>Client proxy</a>
+<br><br>
+ <asp:repeater id="BindingsRepeater" runat=server>
+ <itemtemplate name="itemtemplate">
+ <span class="bindingLabel"><%#FormatBindingName(DataBinder.Eval(Container.DataItem, "Name").ToString())%></span>
+ <asp:repeater id="OperationsRepeater" runat=server datasource='<%# ((Binding)Container.DataItem).Operations %>'>
+ <itemtemplate>
+ <a class="method" href="<%=PageName%>?<%=GetTabContext("op",null)%>op=<%#GetOpName(Container.DataItem)%>&bnd=<%#DataBinder.Eval(Container.DataItem, "Binding.Name")%>"><%#GetOpName(Container.DataItem)%></a>
+ <div class="smallSeparator"></div>
+ </itemtemplate>
+ </asp:repeater>
+ <br>
+ </itemtemplate>
+ </asp:repeater>
+
+</td><td class="panel">
+
+<% if (CurrentPage == "main") {%>
+
+<!--
+ **********************************************************
+ Web service overview
+-->
+
+ <p class="label">Web Service Overview</p>
+ <%=WebServiceDescription%>
+ <br/><br/>
+ <% if (ProfileViolations != null && ProfileViolations.Count > 0) { %>
+ <p class="label">Basic Profile Conformance</p>
+ This web service does not conform to WS-I Basic Profile v1.1
+ <%
+ Response.Write ("<ul>");
+ foreach (BasicProfileViolation vio in ProfileViolations) {
+ Response.Write ("<li><b>" + vio.NormativeStatement + "</b>: " + vio.Details);
+ Response.Write ("<ul>");
+ foreach (string ele in vio.Elements)
+ Response.Write ("<li>" + ele + "</li>");
+ Response.Write ("</ul>");
+ Response.Write ("</li>");
+ }
+ Response.Write ("</ul>");
+ }%>
+
+<%} if (DefaultBinding == null) {%>
+This service does not contain any public web method.
+<%} else if (CurrentPage == "op") {%>
+
+<!--
+ **********************************************************
+ Operation description
+-->
+
+ <span class="operationTitle"><%=CurrentOperationName%></span>
+ <br><br>
+ <% WriteTabs (); %>
+ <br><br><br>
+
+ <% if (CurrentTab == "main") { %>
+ <span class="label">Input Parameters</span>
+ <div class="smallSeparator"></div>
+ <% if (InParams.Count == 0) { %>
+ No input parameters<br>
+ <% } else { %>
+ <table class="paramTable" cellspacing="1" cellpadding="5">
+ <asp:repeater id="InputParamsRepeater" runat=server>
+ <itemtemplate>
+ <tr>
+ <td width="150"><%#DataBinder.Eval(Container.DataItem, "Name")%></td>
+ <td width="150"><%#DataBinder.Eval(Container.DataItem, "Type")%></td>
+ </tr>
+ </itemtemplate>
+ </asp:repeater>
+ </table>
+ <% } %>
+ <br>
+
+ <% if (OutParams.Count > 0) { %>
+ <span class="label">Output Parameters</span>
+ <div class="smallSeparator"></div>
+ <table class="paramTable" cellspacing="1" cellpadding="5">
+ <asp:repeater id="OutputParamsRepeater" runat=server>
+ <itemtemplate>
+ <tr>
+ <td width="150"><%#DataBinder.Eval(Container.DataItem, "Name")%></td>
+ <td width="150"><%#DataBinder.Eval(Container.DataItem, "Type")%></td>
+ </tr>
+ </itemtemplate>
+ </asp:repeater>
+ </table>
+ <br>
+ <% } %>
+
+ <span class="label">Remarks</span>
+ <div class="smallSeparator"></div>
+ <%=OperationDocumentation%>
+ <br><br>
+ <span class="label">Technical information</span>
+ <div class="smallSeparator"></div>
+ Format: <%=CurrentOperationFormat%>
+ <br>Supported protocols: <%=CurrentOperationProtocols%>
+ <% } %>
+
+<!--
+ **********************************************************
+ Operation description - Test form
+-->
+
+ <% if (CurrentTab == "test") {
+ if (CurrentOperationSupportsTest) {%>
+ Enter values for the parameters and click the 'Invoke' button to test this method:<br><br>
+ <form action="<%=PageName%>" method="GET">
+ <input type="hidden" name="page" value="<%=CurrentPage%>">
+ <input type="hidden" name="tab" value="<%=CurrentTab%>">
+ <input type="hidden" name="op" value="<%=CurrentOperationName%>">
+ <input type="hidden" name="bnd" value="<%=CurrentOperationBinding%>">
+ <input type="hidden" name="ext" value="testform">
+ <table class="paramFormTable" cellspacing="0" cellpadding="3">
+ <asp:repeater id="InputFormParamsRepeater" runat=server>
+ <itemtemplate>
+ <tr>
+ <td><%#DataBinder.Eval(Container.DataItem, "Name")%>: </td>
+ <td width="150"><input class="paramInput" type="text" size="20" name="<%#DataBinder.Eval(Container.DataItem, "Name")%>"></td>
+ </tr>
+ </itemtemplate>
+ </asp:repeater>
+ <tr><td></td><td><input class="button" type="submit" value="Invoke"> <input class="button" type="button" onclick="clearForm()" value="Clear"></td></tr>
+ </table>
+ </form>
+ <div id="testFormResult" style="display:<%= (HasFormResult?"block":"none") %>">
+ The web service returned the following result:<br/><br/>
+ <div class="codePanel" id="testresult_div">
+ </div>
+ <script language="javascript">
+ getXML ("<%= GetOrPost () %>", "<%= GetTestResultUrl () %>", "<%= GetQS () %>");
+ </script>
+ </div>
+ <% } else {%>
+ The test form is not available for this operation because it has parameters with a complex structure.
+ <% } %>
+ <% } %>
+
+<!--
+ **********************************************************
+ Operation description - Message Layout
+-->
+
+ <% if (CurrentTab == "msg") { %>
+
+ The following are sample SOAP requests and responses for each protocol supported by this method:
+ <br/><br/>
+
+ <% if (IsOperationSupported ("Soap")) { %>
+ <span class="label">Soap</span>
+ <br/><br/>
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("Soap", true)%></div></div>
+ <br/>
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("Soap", false)%></div></div>
+ <br/>
+ <% } %>
+ <% if (IsOperationSupported ("HttpGet")) { %>
+ <span class="label">HTTP Get</span>
+ <br/><br/>
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("HttpGet", true)%></div></div>
+ <br/>
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("HttpGet", false)%></div></div>
+ <br/>
+ <% } %>
+ <% if (IsOperationSupported ("HttpPost")) { %>
+ <span class="label">HTTP Post</span>
+ <br/><br/>
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("HttpPost", true)%></div></div>
+ <br/>
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("HttpPost", false)%></div></div>
+ <br/>
+ <% } %>
+
+ <% } %>
+<%} else if (CurrentPage == "proxy") {%>
+<!--
+ **********************************************************
+ Client Proxy
+-->
+ <form action="<%=PageName%>" name="langForm" method="GET">
+ Select the language for which you want to generate a proxy
+ <input type="hidden" name="page" value="<%=CurrentPage%>">
+ <SELECT name="lang" onchange="langForm.submit()">
+ <%=GetOptionSel("cs",CurrentLanguage)%>C#</option>
+ <%=GetOptionSel("vb",CurrentLanguage)%>Visual Basic</option>
+ </SELECT>
+
+ </form>
+ <br>
+ <span class="label"><%=CurrentProxytName%></span>
+ <a href="<%=PageName + "?code=" + CurrentLanguage%>">Download</a>
+ <br><br>
+ <div class="codePanel">
+ <div class="code-<%=CurrentLanguage%>"><%=GetProxyCode ()%></div>
+ </div>
+<%} else if (CurrentPage == "wsdl") {%>
+<!--
+ **********************************************************
+ Service description
+-->
+ <% if (descriptions.Count > 1 || schemas.Count > 1) {%>
+ The description of this web service is composed by several documents. Click on the document you want to see:
+
+ <ul>
+ <%
+ for (int n=0; n<descriptions.Count; n++)
+ Response.Write ("<li><a href='" + PageName + "?" + GetPageContext(null) + "doctype=wsdl&docind=" + n + "'>WSDL document " + descriptions[n].TargetNamespace + "</a></li>");
+ for (int n=0; n<schemas.Count; n++)
+ Response.Write ("<li><a href='" + PageName + "?" + GetPageContext(null) + "doctype=schema&docind=" + n + "'>Xml Schema " + schemas[n].TargetNamespace + "</a></li>");
+ %>
+ </ul>
+
+ <%} else {%>
+ <%}%>
+ <br>
+ <span class="label"><%=CurrentDocumentName%></span>
+ <a href="<%=PageName + "?" + CurrentDocType + "=" + CurrentDocInd %>">Download</a>
+ <br><br>
+ <div class="codePanel">
+ <div class="code-xml"><%=GenerateDocument ()%></div>
+ </div>
+
+<%}%>
+
+<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
+</td>
+<td width="20px"></td>
+</tr>
+
+</table>
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+
+<configuration>
+
+ <configSections>
+ <section name="configProtectedData" type="System.Configuration.ProtectedConfigurationSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="appSettings" type="System.Configuration.AppSettingsSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="connectionStrings" type="System.Configuration.ConnectionStringsSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="mscorlib" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false"/>
+ <section name="runtime" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false"/>
+ <section name="assemblyBinding" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false" />
+ <section name="satelliteassemblies" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false" />
+ <section name="startup" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false"/>
+ <section name="system.codedom" type="System.CodeDom.Compiler.CodeDomConfigurationHandler, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="system.data" type="System.Data.Common.DbProviderFactoriesConfigurationHandler, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="system.diagnostics" type="System.Diagnostics.SystemDiagnosticsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="system.runtime.remoting" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowLocation="false"/>
+ <section name="system.windows.forms" type="System.Windows.Forms.WindowsFormsSection, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="windows" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false" />
+ <section name="strongNames" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowLocation="false"/>
+ <sectionGroup name="system.runtime.serialization" type="System.Runtime.Serialization.Configuration.SerializationSectionGroup, System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <section name="dataContractSerializer" type="System.Runtime.Serialization.Configuration.DataContractSerializerSection, System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
+ </sectionGroup>
+ <sectionGroup name="system.web" type="System.Web.Configuration.SystemWebSectionGroup, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <section name="anonymousIdentification" type="System.Web.Configuration.AnonymousIdentificationSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
+ <section name="authentication" type="System.Web.Configuration.AuthenticationSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
+ <section name="authorization" type="System.Web.Configuration.AuthorizationSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="browserCaps" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="clientTarget" type="System.Web.Configuration.ClientTargetSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="compilation" type="System.Web.Configuration.CompilationSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="customErrors" type="System.Web.Configuration.CustomErrorsSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="deployment" type="System.Web.Configuration.DeploymentSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineOnly" />
+ <section name="globalization" type="System.Web.Configuration.GlobalizationSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="healthMonitoring" type="System.Web.Configuration.HealthMonitoringSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
+ <section name="hostingEnvironment" type="System.Web.Configuration.HostingEnvironmentSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication" />
+ <section name="httpCookies" type="System.Web.Configuration.HttpCookiesSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="httpHandlers" type="System.Web.Configuration.HttpHandlersSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="httpModules" type="System.Web.Configuration.HttpModulesSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="httpRuntime" type="System.Web.Configuration.HttpRuntimeSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="identity" type="System.Web.Configuration.IdentitySection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="machineKey" type="System.Web.Configuration.MachineKeySection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="membership" type="System.Web.Configuration.MembershipSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="mobileControls" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="deviceFilters" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="pages" type="System.Web.Configuration.PagesSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="processModel" type="System.Web.Configuration.ProcessModelSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineOnly" allowLocation="false" />
+ <section name="profile" type="System.Web.Configuration.ProfileSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
+ <section name="roleManager" type="System.Web.Configuration.RoleManagerSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
+ <section name="securityPolicy" type="System.Web.Configuration.SecurityPolicySection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication" />
+ <section name="sessionPageState" type="System.Web.Configuration.SessionPageStateSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="sessionState" type="System.Web.Configuration.SessionStateSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
+ <section name="siteMap" type="System.Web.Configuration.SiteMapSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
+ <section name="trace" type="System.Web.Configuration.TraceSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="trust" type="System.Web.Configuration.TrustSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication" />
+ <section name="urlMappings" type="System.Web.Configuration.UrlMappingsSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
+ <section name="webControls" type="System.Web.Configuration.WebControlsSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="webParts" type="System.Web.Configuration.WebPartsSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="webServices" type="System.Web.Services.Configuration.WebServicesSection, System.Web.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="xhtmlConformance" type="System.Web.Configuration.XhtmlConformanceSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <sectionGroup name="caching" type="System.Web.Configuration.SystemWebCachingSectionGroup, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <section name="cache" type="System.Web.Configuration.CacheSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
+ <section name="outputCache" type="System.Web.Configuration.OutputCacheSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
+ <section name="outputCacheSettings" type="System.Web.Configuration.OutputCacheSettingsSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
+ <section name="sqlCacheDependency" type="System.Web.Configuration.OutputCacheSettingsSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
+ </sectionGroup>
+ <section name="monoSettings" type="System.Web.Configuration.MonoSettingsSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ </sectionGroup>
+ <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
+ <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
+ <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
+ <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
+ <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="Everywhere"/>
+ <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
+ <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
+ <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
+ </sectionGroup>
+ </sectionGroup>
+ </sectionGroup>
+ <sectionGroup name="system.net" type="System.Net.Configuration.NetSectionGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <section name="authenticationModules" type="System.Net.Configuration.AuthenticationModulesSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="connectionManagement" type="System.Net.Configuration.ConnectionManagementSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="defaultProxy" type="System.Net.Configuration.DefaultProxySection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <sectionGroup name="mailSettings" type="System.Net.Configuration.MailSettingsSectionGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <section name="smtp" type="System.Net.Configuration.SmtpSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ </sectionGroup>
+ <section name="requestCaching" type="System.Net.Configuration.RequestCachingSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="settings" type="System.Net.Configuration.SettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="webRequestModules" type="System.Net.Configuration.WebRequestModulesSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ </sectionGroup>
+ <section name="system.drawing" type="System.Configuration.NameValueSectionHandler, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <sectionGroup name="system.serviceModel" type="System.ServiceModel.Configuration.ServiceModelSectionGroup, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <section name="behaviors" type="System.ServiceModel.Configuration.BehaviorsSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="bindings" type="System.ServiceModel.Configuration.BindingsSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="client" type="System.ServiceModel.Configuration.ClientSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="commonBehaviors" type="System.ServiceModel.Configuration.CommonBehaviorsSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="diagnostics" type="System.ServiceModel.Configuration.DiagnosticSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="extensions" type="System.ServiceModel.Configuration.ExtensionsSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="serviceHostingEnvironment" type="System.ServiceModel.Configuration.ServiceHostingEnvironmentSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="services" type="System.ServiceModel.Configuration.ServicesSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <section name="standardEndpoints" type="System.ServiceModel.Configuration.StandardEndpointsSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
+ <section name="routing" type="System.ServiceModel.Routing.Configuration.RoutingSection, System.ServiceModel.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ <section name="protocolMapping" type="System.ServiceModel.Configuration.ProtocolMappingSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
+ </sectionGroup>
+ <sectionGroup name="system.transactions" type="System.Transactions.Configuration.TransactionsSectionGroup, System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, Custom=null">
+ <section name="defaultSettings" type="System.Transactions.Configuration.DefaultSettingsSection, System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, Custom=null"/>
+ <section name="machineSettings" type="System.Transactions.Configuration.MachineSettingsSection, System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, Custom=null" allowDefinition="MachineOnly" allowExeDefinition="MachineOnly"/>
+ </sectionGroup>
+ <section name="system.webServer" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <section name="uri" type="System.Configuration.UriSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <sectionGroup name="system.runtime.caching" type="System.Runtime.Caching.Configuration.CachingSectionGroup, System.Runtime.Caching, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <section name="memoryCache" type="System.Runtime.Caching.Configuration.MemoryCacheSection, System.Runtime.Caching, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
+ </sectionGroup>
+ </configSections>
+
+ <connectionStrings>
+ <add name="LocalSqlServer" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient"/>
+ <add name="LocalSqliteServer" connectionString="Data Source=|DataDirectory|/aspnetdb.sqlite;version=3" providerName="Mono.Data.Sqlite"/>
+ </connectionStrings>
+
+ <configProtectedData defaultProvider="RsaProtectedConfigurationProvider">
+ <providers>
+ <add name="RsaProtectedConfigurationProvider" type="System.Configuration.RsaProtectedConfigurationProvider, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ description="" keyContainerName="MonoFrameworkConfigurationKey" cspProviderName="" useMachineContainer="true" useOAEP="false" />
+ <add name="DataProtectionConfigurationProvider" type="System.Configuration.DpapiProtectedConfigurationProvider, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ description="" useMachineProtection="true" keyEntropy="" />
+ </providers>
+ </configProtectedData>
+
+ <system.net>
+ <authenticationModules>
+ <add type="System.Net.BasicClient, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <add type="System.Net.DigestClient, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <add type="System.Net.NtlmClient, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ </authenticationModules>
+ <webRequestModules>
+ <add prefix="http" type="System.Net.HttpRequestCreator, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <add prefix="https" type="System.Net.HttpRequestCreator, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <add prefix="file" type="System.Net.FileWebRequestCreator, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <add prefix="ftp" type="System.Net.FtpRequestCreator, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ </webRequestModules>
+ <settings>
+ <ipv6 enabled="true"/>
+ </settings>
+ </system.net>
+
+ <system.runtime.remoting>
+ <application>
+ <channels>
+ <channel ref="http client" displayName="http client (delay loaded)" delayLoadAsClientChannel="true" />
+ <channel ref="tcp client" displayName="tcp client (delay loaded)" delayLoadAsClientChannel="true" />
+ <channel ref="ipc client" displayName="ipc client (delay loaded)" delayLoadAsClientChannel="true" />
+ </channels>
+ </application>
+ <channels>
+ <channel id="http" type="System.Runtime.Remoting.Channels.Http.HttpChannel, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <channel id="http client" type="System.Runtime.Remoting.Channels.Http.HttpClientChannel, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <channel id="http server" type="System.Runtime.Remoting.Channels.Http.HttpServerChannel, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <channel id="tcp" type="System.Runtime.Remoting.Channels.Tcp.TcpChannel, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <channel id="tcp client" type="System.Runtime.Remoting.Channels.Tcp.TcpClientChannel, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <channel id="tcp server" type="System.Runtime.Remoting.Channels.Tcp.TcpServerChannel, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <channel id="ipc" type="System.Runtime.Remoting.Channels.Ipc.IpcChannel, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <channel id="ipc client" type="System.Runtime.Remoting.Channels.Ipc.IpcClientChannel, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <channel id="ipc server" type="System.Runtime.Remoting.Channels.Ipc.IpcServerChannel, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ </channels>
+ <channelSinkProviders>
+ <clientProviders>
+ <formatter id="soap" type="System.Runtime.Remoting.Channels.SoapClientFormatterSinkProvider, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <formatter id="binary" type="System.Runtime.Remoting.Channels.BinaryClientFormatterSinkProvider, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ </clientProviders>
+ <serverProviders>
+ <formatter id="soap" type="System.Runtime.Remoting.Channels.SoapServerFormatterSinkProvider, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <formatter id="binary" type="System.Runtime.Remoting.Channels.BinaryServerFormatterSinkProvider, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <provider id="wsdl" type="System.Runtime.Remoting.MetadataServices.SdlChannelSinkProvider, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ </serverProviders>
+ </channelSinkProviders>
+ </system.runtime.remoting>
+
+ <appSettings>
+ <!--<add key="yourkey" value="your value" /> -->
+ <!--<remove key="a key defined higher in the hierarchy" /> -->
+ <!--<clear/> Removes all defined settings -->
+ </appSettings>
+ <system.diagnostics>
+ <trace autoflush="false" indentsize="4" />
+ </system.diagnostics>
+ <system.drawing>
+ </system.drawing>
+
+ <system.data>
+ <DbProviderFactories>
+ <add name="Mono Sqlite Data Provider" invariant="Mono.Data.SqliteClient"
+ description="Mono Framework Data Provider for SQLite (old version)"
+ type="Mono.Data.SqliteClient.SqliteFactory, Mono.Data.SqliteClient, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"/>
+ <add name="Mono Sqlite Provider" invariant="Mono.Data.Sqlite"
+ description="Mono Framework Data Provider for SQLite (new version)"
+ type="Mono.Data.Sqlite.SqliteFactory, Mono.Data.Sqlite, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"/>
+ <add name="Odbc Data Provider" invariant="System.Data.Odbc"
+ description=".Net Framework Data Provider for Odbc"
+ type="System.Data.Odbc.OdbcFactory, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
+ <add name="OleDb Data Provider" invariant="System.Data.OleDb"
+ description=".Net Framework Data Provider for OleDb"
+ type="System.Data.OleDb.OleDbFactory, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
+ <add name="OracleClient Data Provider" invariant="System.Data.OracleClient"
+ description=".Net Framework Data Provider for Oracle"
+ type="System.Data.OracleClient.OracleClientFactory, System.Data.OracleClient, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
+ <add name="SqlClient Data Provider" invariant="System.Data.SqlClient"
+ description=".Net Framework Data Provider for SqlServer"
+ type="System.Data.SqlClient.SqlClientFactory, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
+ <add name="Sybase Data Provider" invariant="Mono.Data.SybaseClient"
+ description=".Net Framework Data Provider for Sybase"
+ type="Mono.Data.SybaseClient.SybaseClientFactory, Mono.Data.SybaseClient, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"/>
+ </DbProviderFactories>
+ </system.data>
+
+ <mscorlib>
+ <cryptographySettings>
+ <cryptoNameMapping>
+ <cryptoClasses>
+ <cryptoClass monoMD2="Mono.Security.Cryptography.MD2Managed, Mono.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" />
+ <cryptoClass monoMD4="Mono.Security.Cryptography.MD4Managed, Mono.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" />
+ </cryptoClasses>
+ <nameEntry name="MD2" class="monoMD2" />
+ <nameEntry name="MD4" class="monoMD4" />
+ </cryptoNameMapping>
+ <oidMap>
+ <oidEntry OID="1.2.840.113549.2.2" name="MD2" />
+ <oidEntry OID="1.2.840.113549.2.2" name="Mono.Security.Cryptography.MD2Managed" />
+ <oidEntry OID="1.2.840.113549.2.4" name="MD4" />
+ <oidEntry OID="1.2.840.113549.2.4" name="Mono.Security.Cryptography.MD4Managed" />
+ </oidMap>
+ </cryptographySettings>
+ </mscorlib>
+
+ <strongNames>
+ <pubTokenMapping>
+ <!-- ECMA key -->
+ <map Token="b77a5c561934e089" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
+ <!-- Microsoft (final) key -->
+ <map Token="b03f5f7f11d50a3a" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
+ <!-- Microsoft (Web Service Enhancement) key -->
+ <map Token="31bf3856ad364e35" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
+ <!-- IBM (DB2 Data Provider) key -->
+ <map Token="7c307b91aa13d208" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
+ <!-- Silverlight 2.0 key -->
+ <map Token="7cec85d7bea7798e" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
+ <!-- XNA Framework key -->
+ <map Token="6d5c3888ef60e27d" PublicKey="0024000004800000940000000602000000240000525341310004000001000100f9a2641bac9847900d92a33d652ccc4e8b529360f908e7af53e57008b2a9a1938c32a160d47f795a23590557608d2c8d0c0e8846a052d070f9298281b8185343dbe5b479bd52de256f73c2a943e1a8a42065b5c918622dc14b1c0151dbd94d9a4543e7cd03e536b1b1d2d6d99af535d227ab9bdac76af9312a21d457bdf817e6" />
+ </pubTokenMapping>
+ </strongNames>
+
+ <system.web>
+ <webServices>
+ <protocols>
+ <add name="HttpSoap"/>
+ <add name="HttpSoap12"/>
+ <add name="HttpPost"/>
+ <add name="HttpGet"/>
+ <add name="Documentation"/>
+ </protocols>
+ <conformanceWarnings>
+ <add name="BasicProfile1_1"/>
+ </conformanceWarnings>
+ <wsdlHelpGenerator href="DefaultWsdlHelpGenerator.aspx" />
+ </webServices>
+
+ <membership>
+ <providers>
+ <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="LocalSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression=""/>
+ <!-- <add name="AspNetSqlMembershipProvider" type="Mainsoft.Web.Security.GenericMembershipProvider, Mainsoft.Web.Security" applicationName="/" connectionStringName="LocalSqlServer" /> -->
+ </providers>
+ </membership>
+
+ <roleManager>
+ <providers>
+ <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" applicationName="/" connectionStringName="LocalSqlServer" />
+ <!-- <add name="AspNetSqlRoleProvider" type="Mainsoft.Web.Security.GenericRoleProvider, Mainsoft.Web.Security" applicationName="/" connectionStringName="LocalSqlServer" /> -->
+ </providers>
+ </roleManager>
+
+ <profile>
+ <providers>
+ <add name="AspNetSqlProfileProvider" connectionStringName="LocalSqlServer" applicationName="/" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ </providers>
+ </profile>
+ </system.web>
+
+
+ <system.serviceModel>
+ <extensions>
+ <behaviorExtensions>
+ <add name="enableWebScript" type="System.ServiceModel.Configuration.WebScriptEnablingElement, System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ <add name="webHttp" type="System.ServiceModel.Configuration.WebHttpElement, System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ </behaviorExtensions>
+ <bindingElementExtensions>
+ <add name="webMessageEncoding" type="System.ServiceModel.Configuration.WebMessageEncodingElement, System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ </bindingElementExtensions>
+ <bindingExtensions>
+ <add name="webHttpBinding" type="System.ServiceModel.Configuration.WebHttpBindingCollectionElement, System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ </bindingExtensions>
+ <endpointExtensions>
+ <add name="dynamicEndpoint" type="System.ServiceModel.Discovery.Configuration.DynamicEndpointCollectionElement, System.ServiceModel.Discovery, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ <add name="discoveryEndpoint" type="System.ServiceModel.Discovery.Configuration.DiscoveryEndpointCollectionElement, System.ServiceModel.Discovery, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ <add name="udpDiscoveryEndpoint" type="System.ServiceModel.Discovery.Configuration.UdpDiscoveryEndpointCollectionElement, System.ServiceModel.Discovery, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ <add name="announcementEndpoint" type="System.ServiceModel.Discovery.Configuration.AnnouncementEndpointCollectionElement, System.ServiceModel.Discovery, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ <add name="udpAnnouncementEndpoint" type="System.ServiceModel.Discovery.Configuration.UdpAnnouncementEndpointCollectionElement, System.ServiceModel.Discovery, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ <add name="webHttpEndpoint" type="System.ServiceModel.Configuration.WebHttpEndpointCollectionElement, System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ <add name="webScriptEndpoint" type="System.ServiceModel.Configuration.WebScriptEndpointCollectionElement, System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ </endpointExtensions>
+ </extensions>
+ </system.serviceModel>
+</configuration>
+
+
--- /dev/null
+<?xml version="1.0" encoding="utf-8" ?>
+<settingsMap>
+ <map sectionType="System.Web.Configuration.MembershipSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ mapperType="Mono.Web.Util.MembershipSectionMapper, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ platform="Unix">
+
+ <!-- The 'what' tag specifies which region of the section to modify. The 'value' attribute value is mapper-specific and is not defined here. It can be
+ any expression understood by the mapper to designate the section region to modify.
+ -->
+ <what value="providers">
+ <!-- 'what' can contain any number of occurrences of any three elements:
+ replace - replace the designated region
+ add - add a new entry to the region
+ clear - clear the region
+ remove - remove the designatedregion
+
+ The attributes to any of the above are freeform and are not processed by the mapper manager. They are stored verbatim for the
+ mapper to peruse.
+ -->
+ <replace name="AspNetSqlMembershipProvider"
+ type="System.Web.Security.SqliteMembershipProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ connectionStringName="LocalSqliteServer" />
+ </what>
+ </map>
+
+ <map sectionType="System.Web.Configuration.RoleManagerSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ mapperType="Mono.Web.Util.RoleManagerSectionMapper, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ platform="Unix">
+
+ <!-- The 'what' tag specifies which region of the section to modify. The 'value' attribute value is mapper-specific and is not defined here. It can be
+ any expression understood by the mapper to designate the section region to modify.
+ -->
+ <what value="providers">
+ <!-- 'what' can contain any number of occurrences of any three elements:
+ replace - replace the designated region
+ add - add a new entry to the region
+ clear - clear the region
+ remove - remove the designatedregion
+
+ The attributes to any of the above are freeform and are not processed by the mapper manager. They are stored verbatim for the
+ mapper to peruse.
+ -->
+ <replace name="AspNetSqlRoleProvider"
+ type="System.Web.Security.SqliteRoleProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ connectionStringName="LocalSqliteServer" />
+ </what>
+ </map>
+</settingsMap>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+
+<configuration>
+
+ <system.codedom>
+ <compilers>
+ <compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <providerOption name="CompilerVersion" value="v4.0"/>
+ <providerOption name="WarnAsError" value="false"/>
+ </compiler>
+ <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" warningLevel="4" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <providerOption name="CompilerVersion" value="v4.0"/>
+ <providerOption name="OptionInfer" value="true"/>
+ <providerOption name="WarnAsError" value="false"/>
+ </compiler>
+ </compilers>
+ </system.codedom>
+
+ <system.web>
+ <monoSettings>
+ <compilersCompatibility>
+ <compiler language="c#;cs;csharp" extension=".cs" compilerOptions="/nowarn:0169"
+ type="Microsoft.CSharp.CSharpCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ </compilersCompatibility>
+ </monoSettings>
+
+ <authorization>
+ <allow users="*" />
+ </authorization>
+ <httpHandlers>
+ <add path="trace.axd" verb="*" type="System.Web.Handlers.TraceHandler" validate="True" />
+ <add path="WebResource.axd" verb="GET" type="System.Web.Handlers.AssemblyResourceLoader" validate="True" />
+ <add verb="*" path="*_AppService.axd" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="False" />
+ <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="False"/>
+ <add path="*.axd" verb="*" type="System.Web.HttpNotFoundHandler" validate="True" />
+ <add path="*.aspx" verb="*" type="System.Web.UI.PageHandlerFactory" validate="True" />
+ <add path="*.ashx" verb="*" type="System.Web.UI.SimpleHandlerFactory" validate="True" />
+ <add path="*.asmx" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="False" />
+ <add path="*.rem" verb="*" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" validate="False" />
+ <add path="*.soap" verb="*" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" validate="False" />
+ <add path="*.asax" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.ascx" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.master" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.skin" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.browser" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.sitemap" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.dll.config" verb="GET,HEAD" type="System.Web.StaticFileHandler" validate="True" />
+ <add path="*.exe.config" verb="GET,HEAD" type="System.Web.StaticFileHandler" validate="True" />
+ <add path="*.config" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.cs" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.csproj" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.vb" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.vbproj" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.webinfo" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.licx" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.resx" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.resources" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.mdb" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.vjsproj" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.java" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.jsl" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.ldb" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.ad" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.dd" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.ldd" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.sd" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.cd" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.adprototype" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.lddprototype" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.sdm" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.sdmDocument" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.mdf" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.ldf" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.exclude" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <add path="*.refresh" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
+ <!--
+ <add path="*.svc" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="False"/>
+ -->
+ <add verb="*" path="*.svc" type="System.ServiceModel.Channels.SvcHttpHandlerFactory, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <add path="*.rules" verb="*" type="System.Web.HttpForbiddenHandler" validate="True"/>
+ <!--
+ <add path="*.xoml" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="False"/>
+ <add path="*.xamlx" verb="*" type="System.Xaml.Hosting.XamlHttpHandlerFactory, System.Xaml.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="False"/>
+ -->
+ <add path="*" verb="GET,HEAD,POST" type="System.Web.DefaultHttpHandler" validate="True" />
+ <add path="*" verb="*" type="System.Web.HttpMethodNotAllowedHandler" validate="True" />
+ </httpHandlers>
+ <httpModules>
+ <add name="OutputCache" type="System.Web.Caching.OutputCacheModule" />
+ <add name="Session" type="System.Web.SessionState.SessionStateModule" />
+ <!--
+ <add name="WindowsAuthentication" type="System.Web.Security.WindowsAuthenticationModule" />
+ -->
+ <add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" />
+ <!--
+ <add name="PassportAuthentication" type="System.Web.Security.PassportAuthenticationModule" />
+ -->
+ <add name="RoleManager" type="System.Web.Security.RoleManagerModule" />
+ <add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule" />
+ <!--
+ <add name="FileAuthorization" type="System.Web.Security.FileAuthorizationModule" />
+ -->
+ <add name="AnonymousIdentification" type="System.Web.Security.AnonymousIdentificationModule" />
+ <add name="Profile" type="System.Web.Profile.ProfileModule" />
+ <!--
+ <add name="ErrorHandlerModule" type="System.Web.Mobile.ErrorHandlerModule, System.Web.Mobile, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add name="ServiceModel" type="System.ServiceModel.Activation.HttpModule, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
+ -->
+ <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" />
+ <add name="ScriptModule-4.0" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ </httpModules>
+ <authentication mode="Forms">
+ <forms name=".MONOAUTH" loginUrl="login.aspx" protection="All" timeout="30" path="/">
+ <credentials passwordFormat="Clear">
+ <!--<user name="gonzalo" password="gonz"/>-->
+ </credentials>
+ </forms>
+ </authentication>
+ <machineKey validationKey="AutoGenerate" decryptionKey="AutoGenerate" validation="SHA1" />
+ <globalization requestEncoding="utf-8"
+ responseEncoding="utf-8"
+ fileEncoding="utf-8"/>
+ <!--
+ culture="en-US"
+ uiculture="en-US" />
+ -->
+ <sessionState mode="InProc" />
+ <pages>
+ <namespaces>
+ <add namespace="System" />
+ <add namespace="System.Collections" />
+ <add namespace="System.Collections.Specialized" />
+ <add namespace="System.Configuration" />
+ <add namespace="System.Text" />
+ <add namespace="System.Text.RegularExpressions" />
+ <add namespace="System.Web" />
+ <add namespace="System.Web.Caching" />
+ <add namespace="System.Web.SessionState" />
+ <add namespace="System.Web.Security" />
+ <add namespace="System.Web.Profile" />
+ <add namespace="System.Web.UI" />
+ <add namespace="System.Web.UI.WebControls" />
+ <!-- <add namespace="System.Web.UI.WebControls.WebParts" /> -->
+ <add namespace="System.Web.UI.HtmlControls" />
+ </namespaces>
+
+ <controls>
+ <add tagPrefix="asp" namespace="System.Web.UI.WebControls.WebParts" assembly="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ <add tagPrefix="asp" namespace="System.Web.UI.WebControls.Expressions" assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ <add tagPrefix="asp" namespace="System.Web.DynamicData" assembly="System.Web.DynamicData, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ </controls>
+ </pages>
+ <webControls clientScriptsLocation="/web_scripts" />
+ <compilation debug="false" defaultLanguage="c#" explicit="true" strict="false" >
+ <assemblies>
+ <!-- <add assembly="mscorlib" /> -->
+ <add assembly="Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <add assembly="System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add assembly="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add assembly="System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <add assembly="System.Web.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add assembly="System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <add assembly="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add assembly="System.EnterpriseServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <!-- <add assembly="System.Web.Mobile, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> -->
+ <add assembly="System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <add assembly="System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <add assembly="System.Xaml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <add assembly="System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <!-- <add assembly="System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> -->
+ <!-- <add assembly="System.ServiceModel.Channels, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> -->
+ <add assembly="System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ <!-- <add assembly="System.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> -->
+ <!-- <add assembly="System.ServiceModel.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> -->
+ <!-- <add assembly="System.WorkflowServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> -->
+ <!-- <add assembly="System.Xaml.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> -->
+ <add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <add assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
+ <add assembly="System.Data.DataSetExtensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <add assembly="System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <add assembly="System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ <add assembly="System.Web.DynamicData, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ <!-- <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> -->
+ <!-- <add assembly="System.Web.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/> -->
+ <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <!-- <add assembly="System.Data.Entity.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> -->
+ <add assembly="System.Web.ApplicationServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
+ <add assembly="*" /> <!-- Add assemblies in bin directory -->
+ </assemblies>
+ <expressionBuilders>
+ <add expressionPrefix="Resources"
+ type="System.Web.Compilation.ResourceExpressionBuilder, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add expressionPrefix="ConnectionStrings"
+ type="System.Web.Compilation.ConnectionStringsExpressionBuilder, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add expressionPrefix="AppSettings"
+ type="System.Web.Compilation.AppSettingsExpressionBuilder, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add expressionPrefix="RouteUrl" type="System.Web.Compilation.RouteUrlExpressionBuilder"/>
+ <!--
+ <add expressionPrefix="RouteValue" type="System.Web.Compilation.RouteValueExpressionBuilder"/>
+ -->
+ </expressionBuilders>
+ <buildProviders>
+ <add extension=".aspx" type="System.Web.Compilation.PageBuildProvider" />
+ <add extension=".ascx" type="System.Web.Compilation.UserControlBuildProvider" />
+ <add extension=".master" type="System.Web.Compilation.MasterPageBuildProvider" />
+ <add extension=".asmx" type="System.Web.Compilation.WebServiceBuildProvider" />
+ <add extension=".ashx" type="System.Web.Compilation.WebHandlerBuildProvider" />
+ <add extension=".soap" type="System.Web.Compilation.WebServiceBuildProvider" />
+ <add extension=".resx" type="System.Web.Compilation.ResXBuildProvider" />
+ <add extension=".resources" type="System.Web.Compilation.ResourcesBuildProvider" />
+ <add extension=".wsdl" type="System.Web.Compilation.WsdlBuildProvider" />
+ <add extension=".xsd" type="System.Web.Compilation.XsdBuildProvider" />
+ <add extension=".js" type="System.Web.Compilation.ForceCopyBuildProvider" />
+ <add extension=".lic" type="System.Web.Compilation.IgnoreFileBuildProvider" />
+ <add extension=".licx" type="System.Web.Compilation.IgnoreFileBuildProvider" />
+ <add extension=".exclude" type="System.Web.Compilation.IgnoreFileBuildProvider" />
+ <add extension=".refresh" type="System.Web.Compilation.IgnoreFileBuildProvider" />
+ <!--
+ <add extension=".edmx" type="System.Data.Entity.Design.AspNet.EntityDesignerBuildProvider" />
+ <add extension=".xoml" type="System.ServiceModel.Activation.WorkflowServiceBuildProvider, System.WorkflowServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ <add extension=".svc" type="System.ServiceModel.Activation.ServiceBuildProvider, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
+ <add extension=".xamlx" type="System.Xaml.Hosting.XamlBuildProvider, System.Xaml.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
+ -->
+ </buildProviders>
+ </compilation>
+ <httpRuntime executionTimeout="110"
+ maxRequestLength="4096"
+ useFullyQualifiedRedirectUrl="false"
+ minFreeThreads="8"
+ minLocalRequestFreeThreads="4"
+ appRequestQueueLimit="5000" />
+ <clientTarget>
+ <add alias="ie5" userAgent="Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 4.0)" />
+ <add alias="ie4" userAgent="Mozilla/4.0 (compatible; MSIE 4.0; Windows NT 4.0)" />
+ <add alias="uplevel" userAgent="Mozilla/4.0 (compatible; MSIE 4.0; Windows NT 4.0)" />
+ <add alias="downlevel" userAgent="Unknown" />
+ </clientTarget>
+
+ <siteMap>
+ <providers>
+ <add name="AspNetXmlSiteMapProvider"
+ description="Default site map provider that reads in .sitemap xml files."
+ type="System.Web.XmlSiteMapProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ siteMapFile="Web.sitemap" />
+ </providers>
+ </siteMap>
+ </system.web>
+
+</configuration>
--- /dev/null
+;;; Provided courtesy of http://browsers.garykeith.com
+;;; Created on Wednesday, June 17, 2009 at 6:30 AM GMT
+
+[GJK_Browscap_Version]
+Version=4476
+Released=Wed, 17 Jun 2009 06:30:21 -0000
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; DefaultProperties
+
+[DefaultProperties]
+Browser=DefaultProperties
+Version=0
+MajorVer=0
+MinorVer=0
+Platform=unknown
+Alpha=false
+Beta=false
+Win16=false
+Win32=false
+Win64=false
+Frames=false
+IFrames=false
+Tables=false
+Cookies=false
+BackgroundSounds=false
+CDF=false
+VBScript=false
+JavaApplets=false
+JavaScript=false
+ActiveXControls=false
+isBanned=false
+isMobileDevice=false
+isSyndicationReader=false
+Crawler=false
+CssVersion=0
+supportsCSS=false
+AOL=false
+aolVersion=0
+ECMAScriptVersion=0.0
+W3CDOMVersion=0.0
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Ask
+
+[Ask]
+Parent=DefaultProperties
+Browser=Ask
+Frames=true
+Tables=true
+Crawler=true
+
+[Mozilla/?.0 (compatible; Ask Jeeves/Teoma*)]
+Parent=Ask
+Browser=Teoma
+
+[Mozilla/2.0 (compatible; Ask Jeeves)]
+Parent=Ask
+Browser=AskJeeves
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Baidu
+
+[Baidu]
+Parent=DefaultProperties
+Browser=Baidu
+Frames=true
+Tables=true
+Crawler=true
+
+[BaiduImageSpider*]
+Parent=Baidu
+Browser=BaiduImageSpider
+
+[Baiduspider*]
+Parent=Baidu
+Browser=BaiDu
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Google
+
+[Google]
+Parent=DefaultProperties
+Browser=Google
+Frames=true
+IFrames=true
+Tables=true
+JavaScript=true
+Crawler=true
+
+[* (compatible; Googlebot-Mobile/2.1; *http://www.google.com/bot.html)]
+Parent=Google
+Browser=Googlebot-Mobile
+Frames=false
+IFrames=false
+Tables=false
+
+[*Google Wireless Transcoder*]
+Parent=Google
+Browser=Google Wireless Transcoder
+
+[AdsBot-Google (?http://www.google.com/adsbot.html)]
+Parent=Google
+Browser=AdsBot-Google
+
+[Feedfetcher-Google-iGoogleGadgets;*]
+Parent=Google
+Browser=iGoogleGadgets
+isBanned=true
+isSyndicationReader=true
+
+[Feedfetcher-Google;*]
+Parent=Google
+Browser=Feedfetcher-Google
+isBanned=true
+isSyndicationReader=true
+
+[Google OpenSocial agent (http://www.google.com/feedfetcher.html)]
+Parent=Google
+Browser=Google OpenSocial
+
+[Google-Site-Verification/1.0]
+Parent=Google
+Browser=Google-Site-Verification
+
+[Google-Sitemaps/*]
+Parent=Google
+Browser=Google-Sitemaps
+
+[Googlebot-Image/*]
+Parent=Google
+Browser=Googlebot-Image
+CDF=true
+
+[googlebot-urlconsole]
+Parent=Google
+Browser=googlebot-urlconsole
+
+[Googlebot-Video/1.0]
+Parent=Google
+Browser=Google-Video
+
+[Googlebot/2.1 (?http://www.google.com/bot.html)]
+Parent=Google
+Browser=Googlebot
+
+[Googlebot/2.1 (?http://www.googlebot.com/bot.html)]
+Parent=Google
+Browser=Googlebot
+
+[Googlebot/Test*]
+Parent=Google
+Browser=Googlebot/Test
+
+[gsa-crawler*]
+Parent=Google
+Browser=Google Search Appliance
+isBanned=true
+
+[Mediapartners-Google*]
+Parent=Google
+Browser=Mediapartners-Google
+
+[Mozilla/4.0 (compatible; Google Desktop)]
+Parent=Google
+Browser=Google Desktop
+
+[Mozilla/4.0 (compatible; GoogleToolbar*)]
+Parent=Google
+Browser=Google Toolbar
+isBanned=true
+
+[Mozilla/5.0 (compatible; Google Keyword Tool;*)]
+Parent=Google
+Browser=Google Keyword Tool
+
+[Mozilla/5.0 (compatible; Googlebot/2.1; ?http://www.google.com/bot.html)]
+Parent=Google
+Browser=Google Webmaster Tools
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Inktomi
+
+[Inktomi]
+Parent=DefaultProperties
+Browser=Inktomi
+Frames=true
+Tables=true
+Crawler=true
+
+[* (compatible;YahooSeeker/M1A1-R2D2; *)]
+Parent=Inktomi
+Browser=YahooSeeker-Mobile
+Frames=false
+Tables=false
+
+[Mozilla/4.0]
+Parent=Inktomi
+
+[Mozilla/4.0 (compatible; MSIE 5.0; Windows NT)]
+Parent=Inktomi
+Win32=true
+
+[Mozilla/4.0 (compatible; Yahoo Japan; for robot study; kasugiya)]
+Parent=Inktomi
+Browser=Yahoo! RobotStudy
+isBanned=true
+
+[Mozilla/5.0 (compatible; BMC/1.0 (Y!J-AGENT))]
+Parent=Inktomi
+Browser=Y!J-AGENT/BMC
+
+[Mozilla/5.0 (compatible; BMF/1.0 (Y!J-AGENT))]
+Parent=Inktomi
+Browser=Y!J-AGENT/BMF
+
+[Mozilla/5.0 (compatible; BMI/1.0 (Y!J-AGENT; 1.0))]
+Parent=Inktomi
+Browser=Y!J-AGENT/BMI
+
+[Mozilla/5.0 (compatible; Yahoo! DE Slurp; http://help.yahoo.com/help/us/ysearch/slurp)]
+Parent=Inktomi
+Browser=Yahoo! Directory Engine
+
+[Mozilla/5.0 (compatible; Yahoo! Slurp China; http://misc.yahoo.com.cn/help.html)]
+Parent=Inktomi
+Browser=Yahoo! Slurp China
+
+[Mozilla/5.0 (compatible; Yahoo! Slurp/3.0; http://help.yahoo.com/help/us/ysearch/slurp)]
+Parent=Inktomi
+Browser=Yahoo! Slurp
+Version=3.0
+MajorVer=3
+MinorVer=0
+
+[Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)]
+Parent=Inktomi
+Browser=Yahoo! Slurp
+
+[Mozilla/5.0 (compatible; Yahoo! Verifier/1.1)]
+Parent=Inktomi
+Browser=Yahoo! Verifier
+Version=1.1
+MajorVer=1
+MinorVer=1
+
+[Mozilla/5.0 (Slurp/cat; slurp@inktomi.com; http://www.inktomi.com/slurp.html)]
+Parent=Inktomi
+Browser=Slurp/cat
+
+[Mozilla/5.0 (Slurp/si; slurp@inktomi.com; http://www.inktomi.com/slurp.html)]
+Parent=Inktomi
+
+[Mozilla/5.0 (Yahoo-MMCrawler/4.0; mailto:vertical-crawl-support@yahoo-inc.com)]
+Parent=Inktomi
+Browser=Yahoo-MMCrawler
+Version=4.0
+MajorVer=4
+MinorVer=0
+
+[Scooter/*]
+Parent=Inktomi
+Browser=Scooter
+
+[Scooter/3.3Y!CrawlX]
+Parent=Inktomi
+Browser=Scooter/3.3Y!CrawlX
+Version=3.3
+MajorVer=3
+MinorVer=3
+
+[slurp]
+Parent=Inktomi
+Browser=slurp
+
+[Y!J-BSC/1.0*]
+Parent=Inktomi
+Browser=Y!J-BSC
+Version=1.0
+MajorVer=1
+MinorVer=0
+isBanned=true
+
+[Y!J-SRD/1.0]
+Parent=Inktomi
+Browser=Y!J-SRD
+Version=1.0
+MajorVer=1
+MinorVer=0
+
+[Yahoo Mindset]
+Parent=Inktomi
+Browser=Yahoo Mindset
+
+[Yahoo Pipes*]
+Parent=Inktomi
+Browser=Yahoo Pipes
+
+[Yahoo! Mindset]
+Parent=Inktomi
+Browser=Yahoo! Mindset
+
+[Yahoo! Slurp/Site Explorer]
+Parent=Inktomi
+Browser=Yahoo! Site Explorer
+
+[Yahoo-Blogs/*]
+Parent=Inktomi
+Browser=Yahoo-Blogs
+
+[Yahoo-MMAudVid*]
+Parent=Inktomi
+Browser=Yahoo-MMAudVid
+
+[Yahoo-MMCrawler*]
+Parent=Inktomi
+Browser=Yahoo-MMCrawler
+isBanned=true
+
+[YahooFeedSeeker*]
+Parent=Inktomi
+Browser=YahooFeedSeeker
+isSyndicationReader=true
+Crawler=false
+
+[YahooSeeker/*]
+Parent=Inktomi
+Browser=YahooSeeker
+isMobileDevice=true
+
+[YahooSeeker/CafeKelsa (compatible; Konqueror/3.2; FreeBSD*) (KHTML, like Gecko)]
+Parent=Inktomi
+Browser=YahooSeeker/CafeKelsa
+
+[YahooSeeker/CafeKelsa-dev (compatible; Konqueror/3.2; FreeBSD*) (KHTML, like Gecko)]
+Parent=Inktomi
+
+[YahooVideoSearch*]
+Parent=Inktomi
+Browser=YahooVideoSearch
+
+[YahooYSMcm*]
+Parent=Inktomi
+Browser=YahooYSMcm
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; MSN
+
+[MSN]
+Parent=DefaultProperties
+Browser=MSN
+Frames=true
+Tables=true
+Crawler=true
+
+[adidxbot/1.1 (?http://search.msn.com/msnbot.htm)]
+Parent=MSN
+Browser=adidxbot
+
+[librabot/1.0 (*)]
+Parent=MSN
+Browser=librabot
+
+[llssbot/1.0]
+Parent=MSN
+Browser=llssbot
+Version=1.0
+MajorVer=1
+MinorVer=0
+
+[MSMOBOT/1.1*]
+Parent=MSN
+Browser=msnbot-mobile
+Version=1.1
+MajorVer=1
+MinorVer=1
+
+[MSNBot-Academic/1.0*]
+Parent=MSN
+Browser=MSNBot-Academic
+Version=1.0
+MajorVer=1
+MinorVer=0
+
+[msnbot-media/1.0*]
+Parent=MSN
+Browser=msnbot-media
+Version=1.0
+MajorVer=1
+MinorVer=0
+
+[msnbot-media/1.1*]
+Parent=MSN
+Browser=msnbot-media
+Version=1.1
+MajorVer=1
+MinorVer=1
+
+[MSNBot-News/1.0*]
+Parent=MSN
+Browser=MSNBot-News
+Version=1.0
+MajorVer=1
+MinorVer=0
+
+[MSNBot-NewsBlogs/1.0*]
+Parent=MSN
+Browser=MSNBot-NewsBlogs
+Version=1
+MajorVer=1
+MinorVer=0
+
+[msnbot-products]
+Parent=MSN
+Browser=msnbot-products
+
+[msnbot-webmaster/1.0 (*http://search.msn.com/msnbot.htm)]
+Parent=MSN
+Browser=msnbot-webmaster tools
+
+[msnbot/1.0*]
+Parent=MSN
+Browser=msnbot
+Version=1.0
+MajorVer=1
+MinorVer=0
+
+[msnbot/1.1*]
+Parent=MSN
+Browser=msnbot
+Version=1.1
+MajorVer=1
+MinorVer=1
+
+[msnbot/2.0b*]
+Parent=MSN
+Version=2.0
+MajorVer=2
+MinorVer=0
+Beta=true
+
+[MSR-ISRCCrawler]
+Parent=MSN
+Browser=MSR-ISRCCrawler
+
+[renlifangbot/1.0 (?http://search.msn.com/msnbot.htm)]
+Parent=MSN
+Browser=renlifangbot
+
+[T-Mobile Dash Mozilla/4.0 (*) MSNBOT-MOBILE/1.1 (*)]
+Parent=MSN
+Browser=msnbot-mobile
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Yahoo
+
+[Yahoo]
+Parent=DefaultProperties
+Browser=Yahoo
+Frames=true
+Tables=true
+Crawler=true
+
+[Mozilla/4.0 (compatible; Y!J; for robot study*)]
+Parent=Yahoo
+Browser=Y!J
+
+[Mozilla/5.0 (Yahoo-Test/4.0*)]
+Parent=Yahoo
+Browser=Yahoo-Test
+Version=4.0
+MajorVer=4
+MinorVer=0
+
+[mp3Spider cn-search-devel at yahoo-inc dot com]
+Parent=Yahoo
+Browser=Yahoo! Media
+isBanned=true
+
+[My Browser]
+Parent=Yahoo
+Browser=Yahoo! My Browser
+
+[Y!OASIS/*]
+Parent=Yahoo
+Browser=Y!OASIS
+isBanned=true
+
+[YahooYSMcm/2.0.0]
+Parent=Yahoo
+Browser=YahooYSMcm
+Version=2.0
+MajorVer=2
+MinorVer=0
+isBanned=true
+
+[YRL_ODP_CRAWLER]
+Parent=Yahoo
+Browser=YRL_ODP_CRAWLER
+isBanned=true
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Yandex
+
+[Yandex]
+Parent=DefaultProperties
+Browser=Yandex
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+Crawler=true
+
+[Mozilla/4.0 (compatible; MSIE 5.0; YANDEX)]
+Parent=Yandex
+
+[Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.9) Gecko VisualParser/3.0]
+Parent=Yandex
+Browser=VisualParser
+isBanned=true
+
+[YaDirectBot/*]
+Parent=Yandex
+Browser=YaDirectBot
+
+[Yandex/*]
+Parent=Yandex
+
+[YandexBlog/*]
+Parent=Yandex
+Browser=YandexBlog
+isSyndicationReader=true
+
+[YandexSomething/*]
+Parent=Yandex
+Browser=YandexSomething
+isSyndicationReader=true
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Best of the Web
+
+[Best of the Web]
+Parent=DefaultProperties
+Browser=Best of the Web
+Frames=true
+Tables=true
+
+[Mozilla/4.0 (compatible; BOTW Feed Grabber; *http://botw.org)]
+Parent=Best of the Web
+Browser=BOTW Feed Grabber
+isSyndicationReader=true
+Crawler=false
+
+[Mozilla/4.0 (compatible; BOTW Spider; *http://botw.org)]
+Parent=Best of the Web
+Browser=BOTW Spider
+isBanned=true
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Boitho
+
+[Boitho]
+Parent=DefaultProperties
+Browser=Boitho
+Frames=true
+Tables=true
+Crawler=true
+
+[boitho.com-dc/*]
+Parent=Boitho
+Browser=boitho.com-dc
+
+[boitho.com-robot/*]
+Parent=Boitho
+Browser=boitho.com-robot
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Convera
+
+[Convera]
+Parent=DefaultProperties
+Browser=Convera
+Frames=true
+Tables=true
+Crawler=true
+
+[ConveraCrawler/*]
+Parent=Convera
+Browser=ConveraCrawler
+
+[ConveraMultiMediaCrawler/0.1*]
+Parent=Convera
+Browser=ConveraMultiMediaCrawler
+Version=0.1
+MajorVer=0
+MinorVer=1
+
+[CrawlConvera*]
+Parent=Convera
+Browser=CrawlConvera
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; DotBot
+
+[DotBot]
+Parent=DefaultProperties
+Browser=DotBot
+Frames=true
+Tables=true
+isBanned=true
+Crawler=true
+
+[DotBot/* (http://www.dotnetdotcom.org/*)]
+Parent=DotBot
+
+[Mozilla/5.0 (compatible; DotBot/*; http://www.dotnetdotcom.org/*)]
+Parent=DotBot
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Entireweb
+
+[Entireweb]
+Parent=DefaultProperties
+Browser=Entireweb
+Frames=true
+IFrames=true
+Tables=true
+isBanned=true
+Crawler=true
+
+[Mozilla/4.0 (compatible; SpeedySpider; www.entireweb.com)]
+Parent=Entireweb
+
+[Speedy Spider (*Beta/*)]
+Parent=Entireweb
+
+[Speedy?Spider?(http://www.entireweb.com*)]
+Parent=Entireweb
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Envolk
+
+[Envolk]
+Parent=DefaultProperties
+Browser=Envolk
+Frames=true
+IFrames=true
+Tables=true
+isBanned=true
+Crawler=true
+
+[envolk/* (?http://www.envolk.com/envolk*)]
+Parent=Envolk
+
+[envolk?ITS?spider/* (?http://www.envolk.com/envolk*)]
+Parent=Envolk
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Exalead
+
+[Exalead]
+Parent=DefaultProperties
+Browser=Exalead
+Frames=true
+Tables=true
+isBanned=true
+Crawler=true
+
+[Exabot-Images/1.0]
+Parent=Exalead
+Browser=Exabot-Images
+Version=1.0
+MajorVer=1
+MinorVer=0
+
+[Exabot-Test/*]
+Parent=Exalead
+Browser=Exabot-Test
+
+[Exabot/2.0]
+Parent=Exalead
+Browser=Exabot
+
+[Exabot/3.0]
+Parent=Exalead
+Browser=Exabot
+Version=3.0
+MajorVer=3
+MinorVer=0
+Platform=Liberate
+
+[Exalead NG/*]
+Parent=Exalead
+Browser=Exalead NG
+isBanned=true
+
+[Mozilla/5.0 (compatible; Exabot-Images/3.0;*)]
+Parent=Exalead
+Browser=Exabot-Images
+
+[Mozilla/5.0 (compatible; Exabot/3.0 (BiggerBetter/tests);*)]
+Parent=Exalead
+Browser=Exabot/BiggerBetter/tests
+
+[Mozilla/5.0 (compatible; Exabot/3.0;*)]
+Parent=Exalead
+Browser=Exabot
+isBanned=false
+
+[Mozilla/5.0 (compatible; NGBot/*)]
+Parent=Exalead
+
+[ng/*]
+Parent=Exalead
+Browser=Exalead Previewer
+Version=1.0
+MajorVer=1
+MinorVer=0
+isBanned=true
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Fast/AllTheWeb
+
+[Fast/AllTheWeb]
+Parent=DefaultProperties
+Browser=Fast/AllTheWeb
+Alpha=true
+Beta=true
+Win16=true
+Win32=true
+Win64=true
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+BackgroundSounds=true
+CDF=true
+VBScript=true
+JavaApplets=true
+JavaScript=true
+ActiveXControls=true
+isBanned=true
+isMobileDevice=true
+isSyndicationReader=true
+Crawler=true
+
+[*FAST Enterprise Crawler*]
+Parent=Fast/AllTheWeb
+Browser=FAST Enterprise Crawler
+
+[FAST Data Search Document Retriever/4.0*]
+Parent=Fast/AllTheWeb
+Browser=FAST Data Search Document Retriever
+
+[FAST MetaWeb Crawler (helpdesk at fastsearch dot com)]
+Parent=Fast/AllTheWeb
+Browser=FAST MetaWeb Crawler
+
+[Fast PartnerSite Crawler*]
+Parent=Fast/AllTheWeb
+Browser=FAST PartnerSite
+
+[FAST-WebCrawler/*]
+Parent=Fast/AllTheWeb
+Browser=FAST-WebCrawler
+
+[FAST-WebCrawler/*/FirstPage*]
+Parent=Fast/AllTheWeb
+Browser=FAST-WebCrawler/FirstPage
+
+[FAST-WebCrawler/*/Fresh*]
+Parent=Fast/AllTheWeb
+Browser=FAST-WebCrawler/Fresh
+
+[FAST-WebCrawler/*/PartnerSite*]
+Parent=Fast/AllTheWeb
+Browser=FAST PartnerSite
+
+[FAST-WebCrawler/*?Multimedia*]
+Parent=Fast/AllTheWeb
+Browser=FAST-WebCrawler/Multimedia
+
+[FastSearch Web Crawler for*]
+Parent=Fast/AllTheWeb
+Browser=FastSearch Web Crawler
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Gigabot
+
+[Gigabot]
+Parent=DefaultProperties
+Browser=Gigabot
+Frames=true
+IFrames=true
+Tables=true
+Crawler=true
+
+[Gigabot*]
+Parent=Gigabot
+
+[GigabotSiteSearch/*]
+Parent=Gigabot
+Browser=GigabotSiteSearch
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Ilse
+
+[Ilse]
+Parent=DefaultProperties
+Browser=Ilse
+Frames=true
+Tables=true
+Crawler=true
+
+[IlseBot/*]
+Parent=Ilse
+
+[INGRID/?.0*]
+Parent=Ilse
+Browser=Ilse
+
+[Mozilla/3.0 (INGRID/*]
+Parent=Ilse
+Browser=Ilse
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; iVia Project
+
+[iVia Project]
+Parent=DefaultProperties
+Browser=iVia Project
+Frames=true
+IFrames=true
+Tables=true
+Crawler=true
+
+[DataFountains/DMOZ Downloader*]
+Parent=iVia Project
+Browser=DataFountains/DMOZ Downloader
+isBanned=true
+
+[DataFountains/DMOZ Feature Vector Corpus Creator*]
+Parent=iVia Project
+Browser=DataFountains/DMOZ Feature Vector Corpus
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Jayde Online
+
+[Jayde Online]
+Parent=DefaultProperties
+Browser=Jayde Online
+Frames=true
+Tables=true
+Crawler=true
+
+[ExactSeek Crawler/*]
+Parent=Jayde Online
+Browser=ExactSeek Crawler
+
+[exactseek-pagereaper-* (crawler@exactseek.com)]
+Parent=Jayde Online
+Browser=exactseek-pagereaper
+isBanned=true
+
+[exactseek.com]
+Parent=Jayde Online
+Browser=exactseek.com
+
+[Jayde Crawler*]
+Parent=Jayde Online
+Browser=Jayde Crawler
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Lycos
+
+[Lycos]
+Parent=DefaultProperties
+Browser=Lycos
+Frames=true
+Tables=true
+Crawler=true
+
+[Lycos*]
+Parent=Lycos
+Browser=Lycos
+
+[Lycos-Proxy]
+Parent=Lycos
+Browser=Lycos-Proxy
+
+[Lycos-Spider_(modspider)]
+Parent=Lycos
+Browser=Lycos-Spider_(modspider)
+
+[Lycos-Spider_(T-Rex)]
+Parent=Lycos
+Browser=Lycos-Spider_(T-Rex)
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Naver
+
+[Naver]
+Parent=DefaultProperties
+Browser=Naver
+isBanned=true
+Crawler=true
+
+[Cowbot-* (NHN Corp*naver.com)]
+Parent=Naver
+Browser=Naver Cowbot
+
+[Mozilla/4.0 (compatible; NaverBot/*; *)]
+Parent=Naver
+
+[Mozilla/4.0 (compatible; NaverBot/*; nhnbot@naver.com)]
+Parent=Naver
+Browser=Naver NaverBot
+
+[NaverBot-* (NHN Corp*naver.com)]
+Parent=Naver
+Browser=Naver NHN Corp
+
+[Yeti/*]
+Parent=Naver
+Browser=Yeti
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Snap
+
+[Snap]
+Parent=DefaultProperties
+Browser=Snap
+isBanned=true
+Crawler=true
+
+[Mozilla/5.0 (SnapPreviewBot) Gecko/* Firefox/*]
+Parent=Snap
+
+[Snapbot/*]
+Parent=Snap
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Sogou
+
+[Sogou]
+Parent=DefaultProperties
+Browser=Sogou
+Frames=true
+Tables=true
+isBanned=true
+Crawler=true
+
+[shaboyi spider]
+Parent=Sogou
+Browser=Sogou/Shaboyi Spider
+
+[Sogou develop spider/*]
+Parent=Sogou
+Browser=Sogou Develop Spider
+
+[Sogou head spider*]
+Parent=Sogou
+Browser=Sogou/HEAD Spider
+
+[sogou js robot(*)]
+Parent=Sogou
+
+[Sogou Orion spider/*]
+Parent=Sogou
+Browser=Sogou Orion spider
+
+[Sogou Pic Agent]
+Parent=Sogou
+Browser=Sogou/Image Crawler
+
+[Sogou Pic Spider]
+Parent=Sogou
+Browser=Sogou Pic Spider
+
+[Sogou Push Spider/*]
+Parent=Sogou
+Browser=Sogou Push Spider
+
+[sogou spider]
+Parent=Sogou
+Browser=Sogou/Spider
+
+[sogou web spider*]
+Parent=Sogou
+Browser=sogou web spider
+
+[Sogou-Test-Spider/*]
+Parent=Sogou
+Browser=Sogou-Test-Spider
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; YodaoBot
+
+[YodaoBot]
+Parent=DefaultProperties
+Browser=YodaoBot
+Frames=true
+IFrames=true
+Tables=true
+isBanned=true
+Crawler=true
+
+[Mozilla/5.0 (compatible; YodaoBot/1.*)]
+Parent=YodaoBot
+
+[Mozilla/5.0 (compatible;YodaoBot-Image/1.*)]
+Parent=YodaoBot
+Browser=YodaoBot-Image
+
+[WAP_Browser/5.0 (compatible; YodaoBot/1.*)]
+Parent=YodaoBot
+
+[YodaoBot/1.* (*)]
+Parent=YodaoBot
+
+[Best Whois (http://www.bestwhois.net/)]
+Parent=DNS Tools
+Browser=Best Whois
+
+[DNSGroup/*]
+Parent=DNS Tools
+Browser=DNS Group Crawler
+
+[NG-Search/*]
+Parent=Exalead
+Browser=NG-SearchBot
+
+[TouchStone]
+Parent=Feeds Syndicators
+Browser=TouchStone
+isSyndicationReader=true
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; General Crawlers
+
+[General Crawlers]
+Parent=DefaultProperties
+Browser=General Crawlers
+Crawler=true
+
+[A .NET Web Crawler]
+Parent=General Crawlers
+isBanned=true
+
+[BabalooSpider/1.*]
+Parent=General Crawlers
+Browser=BabalooSpider
+
+[BilgiBot/*]
+Parent=General Crawlers
+Browser=BilgiBot
+isBanned=true
+
+[bot/* (bot; *bot@bot.bot)]
+Parent=General Crawlers
+Browser=bot
+isBanned=true
+
+[CyberPatrol*]
+Parent=General Crawlers
+Browser=CyberPatrol
+isBanned=true
+
+[Cynthia 1.0]
+Parent=General Crawlers
+Browser=Cynthia
+Version=1.0
+MajorVer=1
+MinorVer=0
+
+[ddetailsbot (http://www.displaydetails.com)]
+Parent=General Crawlers
+Browser=ddetailsbot
+
+[DomainCrawler/1.0 (info@domaincrawler.com; http://www.domaincrawler.com/domains/view/*)]
+Parent=General Crawlers
+Browser=DomainCrawler
+
+[DomainsBotBot/1.*]
+Parent=General Crawlers
+Browser=DomainsBotBot
+isBanned=true
+
+[DomainsDB.net MetaCrawler*]
+Parent=General Crawlers
+Browser=DomainsDB
+
+[Drupal (*)]
+Parent=General Crawlers
+Browser=Drupal
+
+[Dumbot (version *)*]
+Parent=General Crawlers
+Browser=Dumbfind
+
+[EuripBot/*]
+Parent=General Crawlers
+Browser=Europe Internet Portal
+
+[eventax/*]
+Parent=General Crawlers
+Browser=eventax
+
+[FANGCrawl/*]
+Parent=General Crawlers
+Browser=Safe-t.net Web Filtering Service
+isBanned=true
+
+[favorstarbot/*]
+Parent=General Crawlers
+Browser=favorstarbot
+isBanned=true
+
+[FollowSite.com (*)]
+Parent=General Crawlers
+Browser=FollowSite
+isBanned=true
+
+[Gaisbot*]
+Parent=General Crawlers
+Browser=Gaisbot
+
+[Healthbot/Health_and_Longevity_Project_(HealthHaven.com) ]
+Parent=General Crawlers
+Browser=Healthbot
+isBanned=true
+
+[hitcrawler_0.*]
+Parent=General Crawlers
+Browser=hitcrawler
+isBanned=true
+
+[htdig/*]
+Parent=General Crawlers
+Browser=ht://Dig
+
+[http://hilfe.acont.de/bot.html ACONTBOT]
+Parent=General Crawlers
+Browser=ACONTBOT
+isBanned=true
+
+[JetBrains*]
+Parent=General Crawlers
+Browser=Omea Pro
+
+[KakleBot - www.kakle.com/0.1]
+Parent=General Crawlers
+Browser=KakleBot
+
+[KBeeBot/0.*]
+Parent=General Crawlers
+Browser=KBeeBot
+isBanned=true
+
+[Keyword Density/*]
+Parent=General Crawlers
+Browser=Keyword Density
+
+[LetsCrawl.com/1.0*]
+Parent=General Crawlers
+Browser=LetsCrawl.com
+isBanned=true
+
+[Lincoln State Web Browser]
+Parent=General Crawlers
+Browser=Lincoln State Web Browser
+isBanned=true
+
+[Links4US-Crawler,*]
+Parent=General Crawlers
+Browser=Links4US-Crawler
+isBanned=true
+
+[Lorkyll *.* -- lorkyll@444.net]
+Parent=General Crawlers
+Browser=Lorkyll
+isBanned=true
+
+[Lsearch/sondeur]
+Parent=General Crawlers
+Browser=Lsearch/sondeur
+isBanned=true
+
+[LucidMedia ClickSense/4.?]
+Parent=General Crawlers
+Browser=LucidMedia-ClickSense
+isBanned=true
+
+[MapoftheInternet.com?(?http://MapoftheInternet.com)]
+Parent=General Crawlers
+Browser=MapoftheInternet
+isBanned=true
+
+[Marvin v0.3]
+Parent=General Crawlers
+Browser=MedHunt
+Version=0.3
+MajorVer=0
+MinorVer=3
+
+[masidani_bot_v0.6*]
+Parent=General Crawlers
+Browser=masidani_bot
+
+[Metaspinner/0.01 (Metaspinner; http://www.meta-spinner.de/; support@meta-spinner.de/)]
+Parent=General Crawlers
+Browser=Metaspinner/0.01
+Version=0.01
+MajorVer=0
+MinorVer=01
+
+[metatagsdir/*]
+Parent=General Crawlers
+Browser=metatagsdir
+isBanned=true
+
+[Microsoft Windows Network Diagnostics]
+Parent=General Crawlers
+Browser=Microsoft Windows Network Diagnostics
+isBanned=true
+
+[Miva (AlgoFeedback@miva.com)]
+Parent=General Crawlers
+Browser=Miva
+
+[moget/*]
+Parent=General Crawlers
+Browser=Goo
+
+[Mozdex/0.7.2*]
+Parent=General Crawlers
+Browser=Mozdex
+
+[Mozilla Compatible (MS IE 3.01 WinNT)]
+Parent=General Crawlers
+isBanned=true
+
+[Mozilla/* (compatible; WebCapture*)]
+Parent=General Crawlers
+Browser=WebCapture
+
+[Mozilla/4.0 (compatible; DepSpid/*)]
+Parent=General Crawlers
+Browser=DepSpid
+
+[Mozilla/4.0 (compatible; MSIE *; Windows NT *; SV1)]
+Parent=General Crawlers
+Browser=AVG
+
+[Mozilla/4.0 (compatible; MSIE 4.01; Vonna.com b o t)]
+Parent=General Crawlers
+Browser=Vonna.com
+isBanned=true
+
+[Mozilla/4.0 (compatible; MSIE 4.01; Windows95)]
+Parent=General Crawlers
+Win32=true
+
+[Mozilla/4.0 (compatible; MSIE 4.5; Windows 98; )]
+Parent=General Crawlers
+Win32=true
+
+[Mozilla/4.0 (compatible; MyFamilyBot/*)]
+Parent=General Crawlers
+Browser=MyFamilyBot
+
+[Mozilla/4.0 (compatible; N-Stealth)]
+Parent=General Crawlers
+Browser=N-Stealth
+
+[Mozilla/4.0 (compatible; Scumbot/*; Linux/*)]
+Parent=General Crawlers
+isBanned=true
+
+[Mozilla/4.0 (compatible; Spider; Linux)]
+Parent=General Crawlers
+isBanned=true
+
+[Mozilla/4.0 (compatible; Win32)]
+Parent=General Crawlers
+Browser=Unknown Crawler
+isBanned=true
+
+[Mozilla/4.1]
+Parent=General Crawlers
+isBanned=true
+
+[Mozilla/4.5]
+Parent=General Crawlers
+isBanned=true
+
+[Mozilla/5.0 (*http://gnomit.com/) Gecko/* Gnomit/1.0]
+Parent=General Crawlers
+Browser=Gnomit
+isBanned=true
+
+[Mozilla/5.0 (compatible; AboutUsBot/*)]
+Parent=General Crawlers
+Browser=AboutUsBot
+isBanned=true
+
+[Mozilla/5.0 (compatible; BuzzRankingBot/*)]
+Parent=General Crawlers
+Browser=BuzzRankingBot
+isBanned=true
+
+[Mozilla/5.0 (compatible; Diffbot/0.1; http://www.diffbot.com)]
+Parent=General Crawlers
+Browser=Diffbot
+
+[Mozilla/5.0 (compatible; FirstSearchBot/1.0; *)]
+Parent=General Crawlers
+Browser=FirstSearchBot
+
+[mozilla/5.0 (compatible; genevabot http://www.healthdash.com)]
+Parent=General Crawlers
+Browser=Healthdash
+
+[Mozilla/5.0 (compatible; JadynAveBot; *http://www.jadynave.com/robot*]
+Parent=General Crawlers
+Browser=JadynAveBot
+isBanned=true
+
+[Mozilla/5.0 (compatible; Kyluka crawl; http://www.kyluka.com/crawl.html; crawl@kyluka.com)]
+Parent=General Crawlers
+Browser=Kyluka
+
+[Mozilla/5.0 (compatible; MJ12bot/v1.2.*; http://www.majestic12.co.uk/bot.php*)]
+Parent=General Crawlers
+Browser=MJ12bot
+Version=1.2
+MajorVer=1
+MinorVer=2
+
+[Mozilla/5.0 (compatible; MSIE 7.0 ?http://www.europarchive.org)]
+Parent=General Crawlers
+Browser=Europe Web Archive
+
+[Mozilla/5.0 (compatible; Seznam screenshot-generator 2.0;*)]
+Parent=General Crawlers
+Browser=Seznam screenshot-generator
+isBanned=true
+
+[Mozilla/5.0 (compatible; Twingly Recon; http://www.twingly.com/)]
+Parent=General Crawlers
+Browser=Twingly Recon
+
+[Mozilla/5.0 (compatible; unwrapbot/2.*; http://www.unwrap.jp*)]
+Parent=General Crawlers
+Browser=UnWrap
+
+[Mozilla/5.0 (compatible; Vermut*)]
+Parent=General Crawlers
+Browser=Vermut
+
+[Mozilla/5.0 (compatible; Webbot/*)]
+Parent=General Crawlers
+Browser=Webbot.ru
+isBanned=true
+
+[n4p_bot*]
+Parent=General Crawlers
+Browser=n4p_bot
+
+[nabot*]
+Parent=General Crawlers
+Browser=Nabot
+
+[NetCarta_WebMapper/*]
+Parent=General Crawlers
+Browser=NetCarta_WebMapper
+isBanned=true
+
+[NetID.com Bot*]
+Parent=General Crawlers
+Browser=NetID.com Bot
+isBanned=true
+
+[neTVision AG andreas.heidoetting@thomson-webcast.net]
+Parent=General Crawlers
+Browser=neTVision
+
+[NextopiaBOT*]
+Parent=General Crawlers
+Browser=NextopiaBOT
+
+[nicebot]
+Parent=General Crawlers
+Browser=nicebot
+isBanned=true
+
+[niXXieBot?Foster*]
+Parent=General Crawlers
+Browser=niXXiebot-Foster
+
+[Nozilla/P.N (Just for IDS woring)]
+Parent=General Crawlers
+Browser=Nozilla/P.N
+isBanned=true
+
+[Nudelsalat/*]
+Parent=General Crawlers
+Browser=Nudelsalat
+isBanned=true
+
+[NV32ts]
+Parent=General Crawlers
+Browser=NV32ts
+isBanned=true
+
+[Ocelli/*]
+Parent=General Crawlers
+Browser=Ocelli
+
+[OpenTaggerBot (http://www.opentagger.com/opentaggerbot.htm)]
+Parent=General Crawlers
+Browser=OpenTaggerBot
+
+[Oracle Enterprise Search]
+Parent=General Crawlers
+Browser=Oracle Enterprise Search
+isBanned=true
+
+[Oracle Ultra Search]
+Parent=General Crawlers
+Browser=Oracle Ultra Search
+
+[Pajaczek/*]
+Parent=General Crawlers
+Browser=Pajaczek
+isBanned=true
+
+[panscient.com]
+Parent=General Crawlers
+Browser=panscient.com
+isBanned=true
+
+[Patwebbot (http://www.herz-power.de/technik.html)]
+Parent=General Crawlers
+Browser=Patwebbot
+
+[PDFBot (crawler@pdfind.com)]
+Parent=General Crawlers
+Browser=PDFBot
+
+[Pete-Spider/1.*]
+Parent=General Crawlers
+Browser=Pete-Spider
+isBanned=true
+
+[PhpDig/*]
+Parent=General Crawlers
+Browser=PhpDig
+
+[PlantyNet_WebRobot*]
+Parent=General Crawlers
+Browser=PlantyNet
+isBanned=true
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; PluckIt
+
+[PluckItCrawler/1.0 (*)]
+Parent=General Crawlers
+isMobileDevice=true
+
+[PMAFind]
+Parent=General Crawlers
+Browser=PMAFind
+isBanned=true
+
+[Poodle_predictor_1.0]
+Parent=General Crawlers
+Browser=Poodle Predictor
+
+[QuickFinder Crawler]
+Parent=General Crawlers
+Browser=QuickFinder
+isBanned=true
+
+[Radiation Retriever*]
+Parent=General Crawlers
+Browser=Radiation Retriever
+isBanned=true
+
+[RedCarpet/*]
+Parent=General Crawlers
+Browser=RedCarpet
+isBanned=true
+
+[RixBot (http://babelserver.org/rix)]
+Parent=General Crawlers
+Browser=RixBot
+
+[Rome Client (http://tinyurl.com/64t5n) Ver: 0.*]
+Parent=General Crawlers
+Browser=TinyURL
+
+[SBIder/*]
+Parent=General Crawlers
+Browser=SiteSell
+
+[ScollSpider/2.*]
+Parent=General Crawlers
+Browser=ScollSpider
+isBanned=true
+
+[Search Fst]
+Parent=General Crawlers
+Browser=Search Fst
+
+[searchbot admin@google.com]
+Parent=General Crawlers
+Browser=searchbot
+isBanned=true
+
+[Seeker.lookseek.com]
+Parent=General Crawlers
+Browser=LookSeek
+isBanned=true
+
+[semanticdiscovery/*]
+Parent=General Crawlers
+Browser=Semantic Discovery
+
+[SeznamBot/*]
+Parent=General Crawlers
+Browser=SeznamBot
+isBanned=true
+
+[Shelob (shelob@gmx.net)]
+Parent=General Crawlers
+Browser=Shelob
+isBanned=true
+
+[shelob v1.*]
+Parent=General Crawlers
+Browser=shelob
+isBanned=true
+
+[ShopWiki/1.0*]
+Parent=General Crawlers
+Browser=ShopWiki
+Version=1.0
+MajorVer=1
+MinorVer=0
+
+[ShowXML/1.0 libwww/5.4.0]
+Parent=General Crawlers
+Browser=ShowXML
+isBanned=true
+
+[sitecheck.internetseer.com*]
+Parent=General Crawlers
+Browser=Internetseer
+
+[SMBot/*]
+Parent=General Crawlers
+Browser=SMBot
+
+[sohu*]
+Parent=General Crawlers
+Browser=sohu-search
+isBanned=true
+
+[SpankBot*]
+Parent=General Crawlers
+Browser=SpankBot
+isBanned=true
+
+[spider (tspyyp@tom.com)]
+Parent=General Crawlers
+Browser=spider (tspyyp@tom.com)
+isBanned=true
+
+[Sunrise/0.*]
+Parent=General Crawlers
+Browser=Sunrise
+isBanned=true
+
+[Superpages URL Verification Engine]
+Parent=General Crawlers
+Browser=Superpages
+
+[Surf Knight]
+Parent=General Crawlers
+Browser=Surf Knight
+isBanned=true
+
+[SurveyBot/*]
+Parent=General Crawlers
+Browser=SurveyBot
+isBanned=true
+
+[SynapticSearch/AI Crawler 1.?]
+Parent=General Crawlers
+Browser=SynapticSearch
+isBanned=true
+
+[SyncMgr]
+Parent=General Crawlers
+Browser=SyncMgr
+
+[Tagyu Agent/1.0]
+Parent=General Crawlers
+Browser=Tagyu
+
+[Talkro Web-Shot/*]
+Parent=General Crawlers
+Browser=Talkro Web-Shot
+isBanned=true
+
+[Tecomi Bot (http://www.tecomi.com/bot.htm)]
+Parent=General Crawlers
+Browser=Tecomi
+
+[TheInformant*]
+Parent=General Crawlers
+Browser=TheInformant
+isBanned=true
+
+[Toata dragostea*]
+Parent=General Crawlers
+Browser=Toata dragostea
+isBanned=true
+
+[Tutorial Crawler*]
+Parent=General Crawlers
+isBanned=true
+
+[UbiCrawler/*]
+Parent=General Crawlers
+Browser=UbiCrawler
+
+[UCmore]
+Parent=General Crawlers
+Browser=UCmore
+
+[User*Agent:*]
+Parent=General Crawlers
+isBanned=true
+
+[USER_AGENT]
+Parent=General Crawlers
+Browser=USER_AGENT
+isBanned=true
+
+[VadixBot]
+Parent=General Crawlers
+Browser=VadixBot
+
+[VengaBot/*]
+Parent=General Crawlers
+Browser=VengaBot
+isBanned=true
+
+[Visicom Toolbar]
+Parent=General Crawlers
+Browser=Visicom Toolbar
+
+[W3C-WebCon/*]
+Parent=General Crawlers
+Browser=W3C-WebCon
+
+[Webclipping.com]
+Parent=General Crawlers
+Browser=Webclipping.com
+isBanned=true
+
+[webcollage/*]
+Parent=General Crawlers
+Browser=WebCollage
+isBanned=true
+
+[WebCrawler_1.*]
+Parent=General Crawlers
+Browser=WebCrawler
+
+[WebFilter Robot*]
+Parent=General Crawlers
+Browser=WebFilter Robot
+
+[WeBoX/*]
+Parent=General Crawlers
+Browser=WeBoX
+
+[WebTrends/*]
+Parent=General Crawlers
+Browser=WebTrends
+
+[West Wind Internet Protocols*]
+Parent=General Crawlers
+Browser=Versatel
+isBanned=true
+
+[WhizBang]
+Parent=General Crawlers
+Browser=WhizBang
+
+[Willow Internet Crawler by Twotrees V*]
+Parent=General Crawlers
+Browser=Willow Internet Crawler
+
+[WIRE/* (Linux; i686; Bot,Robot,Spider,Crawler)]
+Parent=General Crawlers
+Browser=WIRE
+isBanned=true
+
+[www.fi crawler, contact crawler@www.fi]
+Parent=General Crawlers
+Browser=www.fi crawler
+
+[Xerka WebBot v1.*]
+Parent=General Crawlers
+Browser=Xerka
+isBanned=true
+
+[XML Sitemaps Generator*]
+Parent=General Crawlers
+Browser=XML Sitemaps Generator
+
+[XSpider*]
+Parent=General Crawlers
+Browser=XSpider
+isBanned=true
+
+[YooW!/* (?http://www.yoow.eu)]
+Parent=General Crawlers
+Browser=YooW!
+isBanned=true
+
+[HiddenMarket-*]
+Parent=General RSS
+Browser=HiddenMarket
+isBanned=true
+
+[FOTOCHECKER]
+Parent=Image Crawlers
+Browser=FOTOCHECKER
+isBanned=true
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Search Engines
+
+[Search Engines]
+Parent=DefaultProperties
+Browser=Search Engines
+Crawler=true
+
+[*FDSE robot*]
+Parent=Search Engines
+Browser=FDSE Robot
+
+[*Fluffy the spider*]
+Parent=Search Engines
+Browser=SearchHippo
+
+[Abacho*]
+Parent=Search Engines
+Browser=Abacho
+
+[ah-ha.com crawler (crawler@ah-ha.com)]
+Parent=Search Engines
+Browser=Ah-Ha
+
+[AIBOT/*]
+Parent=Search Engines
+Browser=21Seek.Com
+
+[ALeadSoftbot/*]
+Parent=Search Engines
+Browser=ALeadSoftbot
+
+[Amfibibot/*]
+Parent=Search Engines
+Browser=Amfibi
+
+[AnswerBus (http://www.answerbus.com/)]
+Parent=Search Engines
+
+[antibot-V*]
+Parent=Search Engines
+Browser=antibot
+
+[appie*(www.walhello.com)]
+Parent=Search Engines
+Browser=Walhello
+
+[ASPSeek/*]
+Parent=Search Engines
+Browser=ASPSeek
+
+[BigCliqueBOT/*]
+Parent=Search Engines
+Browser=BigClique.com/BigClic.com
+
+[Blaiz-Bee/*]
+Parent=Search Engines
+Browser=RawGrunt
+
+[btbot/*]
+Parent=Search Engines
+Browser=Bit Torrent Search Engine
+
+[Busiversebot/v1.0 (http://www.busiverse.com/bot.php)]
+Parent=Search Engines
+Browser=Busiversebot
+isBanned=true
+
+[CatchBot/*; http://www.catchbot.com]
+Parent=Search Engines
+Browser=CatchBot
+Version=1.0
+MajorVer=1
+MinorVer=0
+
+[CipinetBot (http://www.cipinet.com/bot.html)]
+Parent=Search Engines
+Browser=CipinetBot
+
+[Cogentbot/1.?*]
+Parent=Search Engines
+Browser=Cogentbot
+
+[compatible; Mozilla 4.0; MSIE 5.5; (SqwidgeBot v1.01 - http://www.sqwidge.com/bot/)]
+Parent=Search Engines
+Browser=SqwidgeBot
+
+[cosmos*]
+Parent=Search Engines
+Browser=Xyleme
+
+[Deepindex]
+Parent=Search Engines
+Browser=Deepindex
+
+[DiamondBot]
+Parent=Search Engines
+Browser=DiamondBot
+
+[Dumbot*]
+Parent=Search Engines
+Browser=Dumbot
+Version=0.2
+MajorVer=0
+MinorVer=2
+Beta=true
+
+[Eule?Robot*]
+Parent=Search Engines
+Browser=Eule-Robot
+
+[Faxobot/*]
+Parent=Search Engines
+Browser=Faxo
+
+[Filangy/*]
+Parent=Search Engines
+Browser=Filangy
+
+[flatlandbot/*]
+Parent=Search Engines
+Browser=Flatland
+
+[Fooky.com/ScorpionBot/ScoutOut;*]
+Parent=Search Engines
+Browser=ScorpionBot
+isBanned=true
+
+[FyberSpider*]
+Parent=Search Engines
+Browser=FyberSpider
+isBanned=true
+
+[Gaisbot/*]
+Parent=Search Engines
+Browser=Gaisbot
+
+[gazz/*(gazz@nttr.co.jp)]
+Parent=Search Engines
+Browser=gazz
+
+[geniebot*]
+Parent=Search Engines
+Browser=GenieKnows
+
+[GOFORITBOT (?http://www.goforit.com/about/?)]
+Parent=Search Engines
+Browser=GoForIt
+
+[GoGuidesBot/*]
+Parent=Search Engines
+Browser=GoGuidesBot
+
+[GroschoBot/*]
+Parent=Search Engines
+Browser=GroschoBot
+
+[GurujiBot/1.*]
+Parent=Search Engines
+Browser=GurujiBot
+isBanned=true
+
+[HenryTheMiragoRobot*]
+Parent=Search Engines
+Browser=Mirago
+
+[HolmesBot (http://holmes.ge)]
+Parent=Search Engines
+Browser=HolmesBot
+
+[Hotzonu/*]
+Parent=Search Engines
+Browser=Hotzonu
+
+[HyperEstraier/*]
+Parent=Search Engines
+Browser=HyperEstraier
+isBanned=true
+
+[i1searchbot/*]
+Parent=Search Engines
+Browser=i1searchbot
+
+[IIITBOT/1.*]
+Parent=Search Engines
+Browser=Indian Language Web Search Engine
+
+[Iltrovatore-?etaccio/*]
+Parent=Search Engines
+Browser=Iltrovatore-Setaccio
+
+[InfociousBot (?http://corp.infocious.com/tech_crawler.php)]
+Parent=Search Engines
+Browser=InfociousBot
+isBanned=true
+
+[Infoseek SideWinder/*]
+Parent=Search Engines
+Browser=Infoseek
+
+[iSEEKbot/*]
+Parent=Search Engines
+Browser=iSEEKbot
+
+[Knight/0.? (Zook Knight; http://knight.zook.in/; knight@zook.in)]
+Parent=Search Engines
+Browser=Knight
+
+[Kolinka Forum Search (www.kolinka.com)]
+Parent=Search Engines
+Browser=Kolinka Forum Search
+isBanned=true
+
+[KRetrieve/]
+Parent=Search Engines
+Browser=KRetrieve
+isBanned=true
+
+[LapozzBot/*]
+Parent=Search Engines
+Browser=LapozzBot
+
+[Linknzbot*]
+Parent=Search Engines
+Browser=Linknzbot
+
+[LocalcomBot/*]
+Parent=Search Engines
+Browser=LocalcomBot
+
+[Mail.Ru/1.0]
+Parent=Search Engines
+Browser=Mail.Ru
+
+[MaSagool/*]
+Parent=Search Engines
+Browser=Sagoo
+Version=1.0
+MajorVer=1
+MinorVer=0
+
+[miniRank/*]
+Parent=Search Engines
+Browser=miniRank
+
+[Mnogosearch*]
+Parent=Search Engines
+Browser=Mnogosearch
+
+[Mozilla/0.9* no dos :) (Linux)]
+Parent=Search Engines
+Browser=goliat
+isBanned=true
+
+[Mozilla/4.0 (compatible; Arachmo)]
+Parent=Search Engines
+Browser=Arachmo
+
+[Mozilla/4.0 (compatible; http://search.thunderstone.com/texis/websearch/about.html)]
+Parent=Search Engines
+Browser=ThunderStone
+isBanned=true
+
+[Mozilla/4.0 (compatible; MSIE *; Windows NT; Girafabot; girafabot at girafa dot com; http://www.girafa.com)]
+Parent=Search Engines
+Browser=Girafabot
+Win32=true
+
+[Mozilla/4.0 (compatible; Vagabondo/*; webcrawler at wise-guys dot nl; *)]
+Parent=Search Engines
+Browser=Vagabondo
+
+[Mozilla/4.0(?compatible; MSIE 6.0; Qihoo *)]
+Parent=Search Engines
+Browser=Qihoo
+
+[Mozilla/4.7 (compatible; WhizBang; http://www.whizbang.com/crawler)]
+Parent=Search Engines
+Browser=Inxight Software
+
+[Mozilla/5.0 (*) VoilaBot*]
+Parent=Search Engines
+Browser=VoilaBot
+isBanned=true
+
+[Mozilla/5.0 (compatible; ActiveTouristBot*; http://www.activetourist.com)]
+Parent=Search Engines
+Browser=ActiveTouristBot
+
+[Mozilla/5.0 (compatible; Butterfly/1.0; *)*]
+Parent=Search Engines
+Browser=Butterfly
+
+[Mozilla/5.0 (compatible; Charlotte/*; *)]
+Parent=Search Engines
+Browser=Charlotte
+Beta=true
+isBanned=true
+
+[Mozilla/5.0 (compatible; CXL-FatAssANT*)]
+Parent=Search Engines
+Browser=FatAssANT
+
+[Mozilla/5.0 (compatible; DBLBot/1.0; ?http://www.dontbuylists.com/)]
+Parent=Search Engines
+Browser=DBLBot
+Version=1.0
+MajorVer=1
+MinorVer=0
+
+[Mozilla/5.0 (compatible; EARTHCOM.info/*)]
+Parent=Search Engines
+Browser=EARTHCOM
+
+[Mozilla/5.0 (compatible; Lipperhey Spider; http://www.lipperhey.com/)]
+Parent=Search Engines
+Browser=Lipperhey Spider
+
+[Mozilla/5.0 (compatible; MojeekBot/*; http://www.mojeek.com/bot.html)]
+Parent=Search Engines
+Browser=MojeekBot
+
+[Mozilla/5.0 (compatible; NLCrawler/*]
+Parent=Search Engines
+Browser=Northern Light Web Search
+
+[Mozilla/5.0 (compatible; OsO;*]
+Parent=Search Engines
+Browser=Octopodus
+isBanned=true
+
+[Mozilla/5.0 (compatible; Pogodak.*)]
+Parent=Search Engines
+Browser=Pogodak
+
+[Mozilla/5.0 (compatible; Quantcastbot/1.*)]
+Parent=Search Engines
+Browser=Quantcastbot
+
+[Mozilla/5.0 (compatible; ScoutJet; *http://www.scoutjet.com/)]
+Parent=Search Engines
+Browser=ScoutJet
+
+[Mozilla/5.0 (compatible; Scrubby/*; http://www.scrubtheweb.com/abs/meta-check.html)]
+Parent=Search Engines
+Browser=Scrubby
+isBanned=true
+
+[Mozilla/5.0 (compatible; YoudaoBot/1.*; http://www.youdao.com/help/webmaster/spider/*)]
+Parent=Search Engines
+Browser=YoudaoBot
+Version=1.0
+MajorVer=1
+MinorVer=0
+
+[Mozilla/5.0 (Twiceler*)]
+Parent=Search Engines
+Browser=Twiceler
+isBanned=true
+
+[Mozilla/5.0 CostaCider Search*]
+Parent=Search Engines
+Browser=CostaCider Search
+
+[Mozilla/5.0 GurujiBot/1.0 (*)]
+Parent=Search Engines
+Browser=GurujiBot
+
+[NavissoBot]
+Parent=Search Engines
+Browser=NavissoBot
+
+[NextGenSearchBot*(for information visit *)]
+Parent=Search Engines
+Browser=ZoomInfo
+isBanned=true
+
+[Norbert the Spider(Burf.com)]
+Parent=Search Engines
+Browser=Norbert the Spider
+
+[NuSearch Spider*]
+Parent=Search Engines
+Browser=nuSearch
+
+[ObjectsSearch/*]
+Parent=Search Engines
+Browser=ObjectsSearch
+
+[OpenISearch/1.*]
+Parent=Search Engines
+Browser=OpenISearch (Amazon)
+
+[Pagebull http://www.pagebull.com/]
+Parent=Search Engines
+Browser=Pagebull
+
+[PEERbot*]
+Parent=Search Engines
+Browser=PEERbot
+
+[Pompos/*]
+Parent=Search Engines
+Browser=Pompos
+
+[Popdexter/*]
+Parent=Search Engines
+Browser=Popdex
+
+[Qweery*]
+Parent=Search Engines
+Browser=QweeryBot
+
+[RedCell/* (*)]
+Parent=Search Engines
+Browser=RedCell
+
+[Scrubby/*]
+Parent=Search Engines
+Browser=Scrub The Web
+
+[Search-10/*]
+Parent=Search Engines
+Browser=Search-10
+
+[search.ch*]
+Parent=Search Engines
+Browser=Swiss Search Engine
+
+[Searchmee! Spider*]
+Parent=Search Engines
+Browser=Searchmee!
+
+[Seekbot/*]
+Parent=Search Engines
+Browser=Seekbot
+
+[SiteSpider (http://www.SiteSpider.com/)]
+Parent=Search Engines
+Browser=SiteSpider
+
+[Spinne/*]
+Parent=Search Engines
+Browser=Spinne
+
+[sproose/*]
+Parent=Search Engines
+Browser=Sproose
+
+[Sqeobot/0.*]
+Parent=Search Engines
+Browser=Branzel
+isBanned=true
+
+[SquigglebotBot/*]
+Parent=Search Engines
+Browser=SquigglebotBot
+isBanned=true
+
+[StackRambler/*]
+Parent=Search Engines
+Browser=StackRambler
+
+[SygolBot*]
+Parent=Search Engines
+Browser=SygolBot
+
+[SynoBot]
+Parent=Search Engines
+Browser=SynoBot
+
+[Szukacz/*]
+Parent=Search Engines
+Browser=Szukacz
+
+[Tarantula/*]
+Parent=Search Engines
+Browser=Tarantula
+isBanned=true
+
+[TerrawizBot/*]
+Parent=Search Engines
+Browser=TerrawizBot
+isBanned=true
+
+[Tkensaku/*]
+Parent=Search Engines
+Browser=Tkensaku
+
+[TMCrawler]
+Parent=Search Engines
+Browser=TMCrawler
+isBanned=true
+
+[Twingly Recon]
+Parent=Search Engines
+Browser=Twingly Recon
+isBanned=true
+
+[updated/*]
+Parent=Search Engines
+Browser=Updated!
+
+[URL Spider Pro/*]
+Parent=Search Engines
+Browser=URL Spider Pro
+
+[URL Spider SQL*]
+Parent=Search Engines
+Browser=Innerprise Enterprise Search
+
+[VMBot/*]
+Parent=Search Engines
+Browser=VMBot
+
+[voyager/2.0 (http://www.kosmix.com/html/crawler.html)]
+Parent=Search Engines
+Browser=Voyager
+
+[wadaino.jp-crawler*]
+Parent=Search Engines
+Browser=wadaino.jp
+isBanned=true
+
+[WebAlta Crawler/*]
+Parent=Search Engines
+Browser=WebAlta Crawler
+isBanned=true
+
+[WebCorp/*]
+Parent=Search Engines
+Browser=WebCorp
+isBanned=true
+
+[webcrawl.net]
+Parent=Search Engines
+Browser=webcrawl.net
+
+[WISEbot/*]
+Parent=Search Engines
+Browser=WISEbot
+isBanned=true
+
+[Wotbox/*]
+Parent=Search Engines
+Browser=Wotbox
+
+[www.zatka.com]
+Parent=Search Engines
+Browser=Zatka
+
+[WWWeasel Robot v*]
+Parent=Search Engines
+Browser=World Wide Weasel
+
+[YadowsCrawler*]
+Parent=Search Engines
+Browser=YadowsCrawler
+
+[YodaoBot/*]
+Parent=Search Engines
+Browser=YodaoBot
+isBanned=true
+
+[ZeBot_www.ze.bz*]
+Parent=Search Engines
+Browser=ZE.bz
+
+[zibber-v*]
+Parent=Search Engines
+Browser=Zibb
+
+[ZipppBot/*]
+Parent=Search Engines
+Browser=ZipppBot
+
+[ATA-Translation-Service]
+Parent=Translators
+Browser=ATA-Translation-Service
+
+[GJK_Browser_Check]
+Parent=Version Checkers
+Browser=GJK_Browser_Check
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Hatena
+
+[Hatena]
+Parent=DefaultProperties
+Browser=Hatena
+isBanned=true
+Crawler=true
+
+[Feed::Find/*]
+Parent=Hatena
+Browser=Feed Find
+isSyndicationReader=true
+
+[Hatena Antenna/*]
+Parent=Hatena
+Browser=Hatena Antenna
+
+[Hatena Bookmark/*]
+Parent=Hatena
+Browser=Hatena Bookmark
+
+[Hatena RSS/*]
+Parent=Hatena
+Browser=Hatena RSS
+isSyndicationReader=true
+
+[Hatena::Crawler/*]
+Parent=Hatena
+Browser=Hatena Crawler
+
+[HatenaScreenshot*]
+Parent=Hatena
+Browser=HatenaScreenshot
+
+[URI::Fetch/*]
+Parent=Hatena
+Browser=URI::Fetch
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Internet Archive
+
+[Internet Archive]
+Parent=DefaultProperties
+Browser=Internet Archive
+Frames=true
+IFrames=true
+Tables=true
+isBanned=true
+Crawler=true
+
+[*heritrix*]
+Parent=Internet Archive
+Browser=Heritrix
+isBanned=true
+
+[ia_archiver*]
+Parent=Internet Archive
+Browser=Internet Archive
+
+[InternetArchive/*]
+Parent=Internet Archive
+Browser=InternetArchive
+
+[Mozilla/5.0 (compatible; archive.org_bot/1.*)]
+Parent=Internet Archive
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Nutch
+
+[Nutch]
+Parent=DefaultProperties
+Browser=Nutch
+isBanned=true
+Crawler=true
+
+[*Nutch*]
+Parent=Nutch
+isBanned=true
+
+[CazoodleBot/*]
+Parent=Nutch
+Browser=CazoodleBot
+
+[LOOQ/0.1*]
+Parent=Nutch
+Browser=LOOQ
+
+[Nutch/0.? (OpenX Spider)]
+Parent=Nutch
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Webaroo
+
+[Webaroo]
+Parent=DefaultProperties
+Browser=Webaroo
+
+[Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Webaroo/*)]
+Parent=Webaroo
+Browser=Webaroo
+
+[Mozilla/5.0 (Windows; U; Windows *; *; rv:*) Gecko/* Firefox/* webaroo/*]
+Parent=Webaroo
+Browser=Webaroo
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Word Press
+
+[Word Press]
+Parent=DefaultProperties
+Browser=Word Press
+Alpha=true
+Beta=true
+Win16=true
+Win32=true
+Win64=true
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+BackgroundSounds=true
+CDF=true
+VBScript=true
+JavaApplets=true
+JavaScript=true
+ActiveXControls=true
+isBanned=true
+isMobileDevice=true
+isSyndicationReader=true
+Crawler=true
+
+[WordPress-B-/2.*]
+Parent=Word Press
+Browser=WordPress-B
+
+[WordPress-Do-P-/2.*]
+Parent=Word Press
+Browser=WordPress-Do-P
+
+[BlueCoat ProxySG]
+Parent=Blue Coat Systems
+Browser=BlueCoat ProxySG
+
+[CerberianDrtrs/*]
+Parent=Blue Coat Systems
+Browser=Cerberian
+
+[Inne: Mozilla/4.0 (compatible; Cerberian Drtrs*)]
+Parent=Blue Coat Systems
+Browser=Cerberian
+
+[Mozilla/4.0 (compatible; Cerberian Drtrs*)]
+Parent=Blue Coat Systems
+Browser=Cerberian
+
+[Mozilla/4.0 (compatible; MSIE 6.0; Bluecoat DRTR)]
+Parent=Blue Coat Systems
+Browser=Bluecoat
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Copyright/Plagiarism
+
+[Copyright/Plagiarism]
+Parent=DefaultProperties
+Browser=Copyright/Plagiarism
+isBanned=true
+Crawler=true
+
+[BDFetch]
+Parent=Copyright/Plagiarism
+Browser=BDFetch
+
+[copyright sheriff (*)]
+Parent=Copyright/Plagiarism
+Browser=copyright sheriff
+
+[CopyRightCheck*]
+Parent=Copyright/Plagiarism
+Browser=CopyRightCheck
+
+[FairAd Client*]
+Parent=Copyright/Plagiarism
+Browser=FairAd Client
+
+[iCopyright Conductor*]
+Parent=Copyright/Plagiarism
+Browser=iCopyright Conductor
+
+[IPiumBot laurion(dot)com]
+Parent=Copyright/Plagiarism
+Browser=IPiumBot
+
+[IWAgent/*]
+Parent=Copyright/Plagiarism
+Browser=Brand Protect
+
+[Mozilla/5.0 (compatible; DKIMRepBot/*)]
+Parent=Copyright/Plagiarism
+Browser=DKIMRepBot
+
+[oBot]
+Parent=Copyright/Plagiarism
+Browser=oBot
+
+[SlySearch/*]
+Parent=Copyright/Plagiarism
+Browser=SlySearch
+
+[TurnitinBot/*]
+Parent=Copyright/Plagiarism
+Browser=TurnitinBot
+
+[TutorGigBot/*]
+Parent=Copyright/Plagiarism
+Browser=TutorGig
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; DNS Tools
+
+[DNS Tools]
+Parent=DefaultProperties
+Browser=DNS Tools
+Crawler=true
+
+[Domain Dossier utility*]
+Parent=DNS Tools
+Browser=Domain Dossier
+
+[Mozilla/5.0 (compatible; DNS-Digger/*)]
+Parent=DNS Tools
+Browser=DNS-Digger
+
+[OpenDNS Domain Crawler noc@opendns.com]
+Parent=DNS Tools
+Browser=OpenDNS Domain Crawler
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Download Managers
+
+[Download Managers]
+Parent=DefaultProperties
+Browser=Download Managers
+Frames=true
+IFrames=true
+Tables=true
+isBanned=true
+Crawler=true
+
+[AndroidDownloadManager]
+Parent=Download Managers
+Browser=Android Download Manager
+
+[AutoMate5]
+Parent=Download Managers
+Browser=AutoMate5
+
+[Beamer*]
+Parent=Download Managers
+Browser=Beamer
+
+[BitBeamer/*]
+Parent=Download Managers
+Browser=BitBeamer
+
+[BitTorrent/*]
+Parent=Download Managers
+Browser=BitTorrent
+
+[DA *]
+Parent=Download Managers
+Browser=Download Accelerator
+
+[Download Demon*]
+Parent=Download Managers
+Browser=Download Demon
+
+[Download Express*]
+Parent=Download Managers
+Browser=Download Express
+
+[Download Master*]
+Parent=Download Managers
+Browser=Download Master
+
+[Download Ninja*]
+Parent=Download Managers
+Browser=Download Ninja
+
+[Download Wonder*]
+Parent=Download Managers
+Browser=Download Wonder
+
+[DownloadSession*]
+Parent=Download Managers
+Browser=DownloadSession
+
+[EasyDL/*]
+Parent=Download Managers
+Browser=EasyDL
+
+[FDM 1.x]
+Parent=Download Managers
+Browser=Free Download Manager
+
+[FlashGet]
+Parent=Download Managers
+Browser=FlashGet
+
+[FreshDownload/*]
+Parent=Download Managers
+Browser=FreshDownload
+
+[GetRight/*]
+Parent=Download Managers
+Browser=GetRight
+
+[GetRightPro/*]
+Parent=Download Managers
+Browser=GetRightPro
+
+[GetSmart/*]
+Parent=Download Managers
+Browser=GetSmart
+
+[Go!Zilla*]
+Parent=Download Managers
+Browser=GoZilla
+
+[Gozilla/*]
+Parent=Download Managers
+Browser=Gozilla
+
+[Internet Ninja*]
+Parent=Download Managers
+Browser=Internet Ninja
+
+[Kontiki Client*]
+Parent=Download Managers
+Browser=Kontiki Client
+
+[lftp/3.2.1]
+Parent=Download Managers
+Browser=lftp
+
+[LightningDownload/*]
+Parent=Download Managers
+Browser=LightningDownload
+
+[LMQueueBot/*]
+Parent=Download Managers
+Browser=LMQueueBot
+
+[MetaProducts Download Express/*]
+Parent=Download Managers
+Browser=Download Express
+
+[Mozilla/4.0 (compatible; Getleft*)]
+Parent=Download Managers
+Browser=Getleft
+
+[Myzilla]
+Parent=Download Managers
+Browser=Myzilla
+
+[Net Vampire/*]
+Parent=Download Managers
+Browser=Net Vampire
+
+[Net_Vampire*]
+Parent=Download Managers
+Browser=Net_Vampire
+
+[NetAnts*]
+Parent=Download Managers
+Browser=NetAnts
+
+[NetPumper*]
+Parent=Download Managers
+Browser=NetPumper
+
+[NetSucker*]
+Parent=Download Managers
+Browser=NetSucker
+
+[NetZip Downloader*]
+Parent=Download Managers
+Browser=NetZip Downloader
+
+[NexTools WebAgent*]
+Parent=Download Managers
+Browser=NexTools WebAgent
+
+[Offline Downloader*]
+Parent=Download Managers
+Browser=Offline Downloader
+
+[P3P Client]
+Parent=Download Managers
+Browser=P3P Client
+
+[PageDown*]
+Parent=Download Managers
+Browser=PageDown
+
+[PicaLoader*]
+Parent=Download Managers
+Browser=PicaLoader
+
+[Prozilla*]
+Parent=Download Managers
+Browser=Prozilla
+
+[RealDownload/*]
+Parent=Download Managers
+Browser=RealDownload
+
+[sEasyDL/*]
+Parent=Download Managers
+Browser=EasyDL
+
+[shareaza*]
+Parent=Download Managers
+Browser=shareaza
+
+[SmartDownload/*]
+Parent=Download Managers
+Browser=SmartDownload
+
+[SpeedDownload/*]
+Parent=Download Managers
+Browser=Speed Download
+
+[Star*Downloader/*]
+Parent=Download Managers
+Browser=StarDownloader
+
+[STEROID Download]
+Parent=Download Managers
+Browser=STEROID Download
+
+[SuperBot/*]
+Parent=Download Managers
+Browser=SuperBot
+
+[Vegas95/*]
+Parent=Download Managers
+Browser=Vegas95
+
+[WebZIP*]
+Parent=Download Managers
+Browser=WebZIP
+
+[Wget*]
+Parent=Download Managers
+Browser=Wget
+
+[WinTools]
+Parent=Download Managers
+Browser=WinTools
+
+[Xaldon WebSpider*]
+Parent=Download Managers
+Browser=Xaldon WebSpider
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; E-Mail Harvesters
+
+[E-Mail Harvesters]
+Parent=DefaultProperties
+Browser=E-Mail Harvesters
+Frames=true
+IFrames=true
+Tables=true
+isBanned=true
+Crawler=true
+
+[*E-Mail Address Extractor*]
+Parent=E-Mail Harvesters
+Browser=E-Mail Address Extractor
+
+[*Larbin*]
+Parent=E-Mail Harvesters
+Browser=Larbin
+
+[*www4mail/*]
+Parent=E-Mail Harvesters
+Browser=www4mail
+
+[8484 Boston Project*]
+Parent=E-Mail Harvesters
+Browser=8484 Boston Project
+
+[CherryPicker*/*]
+Parent=E-Mail Harvesters
+Browser=CherryPickerElite
+
+[Chilkat/*]
+Parent=E-Mail Harvesters
+Browser=Chilkat
+
+[ContactBot/*]
+Parent=E-Mail Harvesters
+Browser=ContactBot
+
+[eCatch*]
+Parent=E-Mail Harvesters
+Browser=eCatch
+
+[EmailCollector*]
+Parent=E-Mail Harvesters
+Browser=E-Mail Collector
+
+[EMAILsearcher]
+Parent=E-Mail Harvesters
+Browser=EMAILsearcher
+
+[EmailSiphon*]
+Parent=E-Mail Harvesters
+Browser=E-Mail Siphon
+
+[EmailWolf*]
+Parent=E-Mail Harvesters
+Browser=EMailWolf
+
+[Epsilon SoftWorks' MailMunky]
+Parent=E-Mail Harvesters
+Browser=MailMunky
+
+[ExtractorPro*]
+Parent=E-Mail Harvesters
+Browser=ExtractorPro
+
+[Franklin Locator*]
+Parent=E-Mail Harvesters
+Browser=Franklin Locator
+
+[Missigua Locator*]
+Parent=E-Mail Harvesters
+Browser=Missigua Locator
+
+[Mozilla/4.0 (compatible; Advanced Email Extractor*)]
+Parent=E-Mail Harvesters
+Browser=Advanced Email Extractor
+
+[Netprospector*]
+Parent=E-Mail Harvesters
+Browser=Netprospector
+
+[ProWebWalker*]
+Parent=E-Mail Harvesters
+Browser=ProWebWalker
+
+[sna-0.0.*]
+Parent=E-Mail Harvesters
+Browser=Mike Elliott's E-Mail Harvester
+
+[WebEnhancer*]
+Parent=E-Mail Harvesters
+Browser=WebEnhancer
+
+[WebMiner*]
+Parent=E-Mail Harvesters
+Browser=WebMiner
+
+[ZIBB Crawler (email address / WWW address)]
+Parent=E-Mail Harvesters
+Browser=ZIBB Crawler
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Feeds Blogs
+
+[Feeds Blogs]
+Parent=DefaultProperties
+Browser=Feeds Blogs
+isSyndicationReader=true
+Crawler=true
+
+[Bloglines Title Fetch/*]
+Parent=Feeds Blogs
+Browser=Bloglines Title Fetch
+
+[Bloglines/* (http://www.bloglines.com*)]
+Parent=Feeds Blogs
+Browser=BlogLines Web
+
+[BlogPulseLive (support@blogpulse.com)]
+Parent=Feeds Blogs
+Browser=BlogPulseLive
+
+[blogsearchbot-pumpkin-2]
+Parent=Feeds Blogs
+Browser=blogsearchbot-pumpkin
+isSyndicationReader=false
+
+[Irish Blogs Aggregator/*1.0*]
+Parent=Feeds Blogs
+Browser=Irish Blogs Aggregator
+Version=1.0
+MajorVer=1
+MinorVer=0
+
+[kinjabot (http://www.kinja.com; *)]
+Parent=Feeds Blogs
+Browser=kinjabot
+
+[Net::Trackback/*]
+Parent=Feeds Blogs
+Browser=Net::Trackback
+
+[Reblog*]
+Parent=Feeds Blogs
+Browser=Reblog
+
+[WordPress/*]
+Parent=Feeds Blogs
+Browser=WordPress
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Feeds Syndicators
+
+[Feeds Syndicators]
+Parent=DefaultProperties
+Browser=Feeds Syndicators
+isSyndicationReader=true
+
+[*LinkLint*]
+Parent=Feeds Syndicators
+Browser=LinkLint
+
+[*NetNewsWire/*]
+Parent=Feeds Syndicators
+
+[*NetVisualize*]
+Parent=Feeds Syndicators
+Browser=NetVisualize
+
+[AideRSS 2.* (postrank.com)]
+Parent=Feeds Syndicators
+Browser=AideRSS
+
+[AideRSS/2.0 (aiderss.com)]
+Parent=Feeds Syndicators
+Browser=AideRSS
+isBanned=true
+
+[Akregator/*]
+Parent=Feeds Syndicators
+Browser=Akregator
+
+[AppleSyndication/*]
+Parent=Feeds Syndicators
+Browser=Safari RSS
+Platform=MacOSX
+
+[Cocoal.icio.us/* (*)*]
+Parent=Feeds Syndicators
+Browser=Cocoal.icio.us
+isBanned=true
+
+[Feed43 Proxy/* (*)]
+Parent=Feeds Syndicators
+Browser=Feed For Free
+
+[FeedBurner/*]
+Parent=Feeds Syndicators
+Browser=FeedBurner
+
+[FeedDemon/* (*)]
+Parent=Feeds Syndicators
+Browser=FeedDemon
+Platform=Win32
+
+[FeedDigest/* (*)]
+Parent=Feeds Syndicators
+Browser=FeedDigest
+
+[FeedGhost/1.*]
+Parent=Feeds Syndicators
+Browser=FeedGhost
+Version=1.0
+MajorVer=1
+MinorVer=0
+
+[FeedOnFeeds/0.1.* ( http://minutillo.com/steve/feedonfeeds/)]
+Parent=Feeds Syndicators
+Browser=FeedOnFeeds
+Version=0.1
+MajorVer=0
+MinorVer=1
+
+[Feedreader * (Powered by Newsbrain)]
+Parent=Feeds Syndicators
+Browser=Newsbrain
+
+[Feedshow/* (*)]
+Parent=Feeds Syndicators
+Browser=Feedshow
+
+[Feedster Crawler/?.0; Feedster, Inc.]
+Parent=Feeds Syndicators
+Browser=Feedster
+
+[GreatNews/1.0]
+Parent=Feeds Syndicators
+Browser=GreatNews
+Version=1.0
+MajorVer=1
+MinorVer=0
+
+[Gregarius/*]
+Parent=Feeds Syndicators
+Browser=Gregarius
+
+[intraVnews/*]
+Parent=Feeds Syndicators
+Browser=intraVnews
+
+[JetBrains Omea Reader*]
+Parent=Feeds Syndicators
+Browser=Omea Reader
+isBanned=true
+
+[Liferea/1.5* (Linux; *; http://liferea.sf.net/)]
+Parent=Feeds Syndicators
+Browser=Liferea
+isBanned=true
+
+[livedoor FeedFetcher/0.0* (http://reader.livedoor.com/;*)]
+Parent=Feeds Syndicators
+Browser=FeedFetcher
+Version=0.0
+MajorVer=0
+MinorVer=0
+
+[MagpieRSS/* (*)]
+Parent=Feeds Syndicators
+Browser=MagpieRSS
+
+[Mobitype * (compatible; Mozilla/*; MSIE *.*; Windows *)]
+Parent=Feeds Syndicators
+Browser=Mobitype
+Platform=Win32
+
+[Mozilla/5.0 (*; Rojo *; http://www.rojo.com/corporate/help/agg; *)*]
+Parent=Feeds Syndicators
+Browser=Rojo
+
+[Mozilla/5.0 (*aggregator:TailRank; http://tailrank.com/robot)*]
+Parent=Feeds Syndicators
+Browser=TailRank
+
+[Mozilla/5.0 (compatible; MSIE 6.0; Podtech Network; crawler_admin@podtech.net)]
+Parent=Feeds Syndicators
+Browser=Podtech Network
+
+[Mozilla/5.0 (compatible; Newz Crawler *; http://www.newzcrawler.com/?)]
+Parent=Feeds Syndicators
+Browser=Newz Crawler
+
+[Mozilla/5.0 (compatible; RSSMicro.com RSS/Atom Feed Robot)]
+Parent=Feeds Syndicators
+Browser=RSSMicro
+
+[Mozilla/5.0 (compatible;*newstin.com;*)]
+Parent=Feeds Syndicators
+Browser=NewsTin
+
+[Mozilla/5.0 (RSS Reader Panel)]
+Parent=Feeds Syndicators
+Browser=RSS Reader Panel
+
+[Mozilla/5.0 (X11; U; Linux*; *; rv:1.*; aggregator:FeedParser; *) Gecko/*]
+Parent=Feeds Syndicators
+Browser=FeedParser
+
+[Mozilla/5.0 (X11; U; Linux*; *; rv:1.*; aggregator:NewsMonster; *) Gecko/*]
+Parent=Feeds Syndicators
+Browser=NewsMonster
+
+[Mozilla/5.0 (X11; U; Linux*; *; rv:1.*; aggregator:Rojo; *) Gecko/*]
+Parent=Feeds Syndicators
+Browser=Rojo
+
+[Netvibes (*)]
+Parent=Feeds Syndicators
+Browser=Netvibes
+
+[NewsAlloy/* (*)]
+Parent=Feeds Syndicators
+Browser=NewsAlloy
+
+[Omnipelagos*]
+Parent=Feeds Syndicators
+Browser=Omnipelagos
+
+[Particls]
+Parent=Feeds Syndicators
+Browser=Particls
+
+[Protopage/* (*)]
+Parent=Feeds Syndicators
+Browser=Protopage
+
+[PubSub-RSS-Reader/* (*)]
+Parent=Feeds Syndicators
+Browser=PubSub-RSS-Reader
+
+[RSS Menu/*]
+Parent=Feeds Syndicators
+Browser=RSS Menu
+
+[RssBandit/*]
+Parent=Feeds Syndicators
+Browser=RssBandit
+
+[RssBar/1.2*]
+Parent=Feeds Syndicators
+Browser=RssBar
+Version=1.2
+MajorVer=1
+MinorVer=2
+
+[SharpReader/*]
+Parent=Feeds Syndicators
+Browser=SharpReader
+
+[SimplePie/*]
+Parent=Feeds Syndicators
+Browser=SimplePie
+
+[Strategic Board Bot (?http://www.strategicboard.com)]
+Parent=Feeds Syndicators
+Browser=Strategic Board Bot
+isBanned=true
+
+[TargetYourNews.com bot]
+Parent=Feeds Syndicators
+Browser=TargetYourNews
+
+[Technoratibot/*]
+Parent=Feeds Syndicators
+Browser=Technoratibot
+
+[Tumblr/* RSS syndication ( http://www.tumblr.com/) (support@tumblr.com)]
+Parent=Feeds Syndicators
+Browser=Tumblr RSS syndication
+
+[Windows-RSS-Platform/1.0*]
+Parent=Feeds Syndicators
+Browser=Windows-RSS-Platform
+Version=1.0
+MajorVer=1
+MinorVer=0
+Win32=true
+
+[Wizz RSS News Reader]
+Parent=Feeds Syndicators
+Browser=Wizz
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; General RSS
+
+[General RSS]
+Parent=DefaultProperties
+Browser=General RSS
+isSyndicationReader=true
+
+[AideRSS/1.0 (aiderss.com); * subscribers]
+Parent=General RSS
+Browser=AideRSS
+Version=1.0
+MajorVer=1
+MinorVer=0
+
+[CC Metadata Scaper http://wiki.creativecommons.org/Metadata_Scraper]
+Parent=General RSS
+Browser=CC Metadata Scaper
+
+[Mozilla/5.0 (compatible) GM RSS Panel]
+Parent=General RSS
+Browser=RSS Panel
+
+[Mozilla/5.0 http://www.inclue.com; graeme@inclue.com]
+Parent=General RSS
+Browser=Inclue
+
+[Runnk online rss reader : http://www.runnk.com/ : RSS favorites : RSS ranking : RSS aggregator*]
+Parent=General RSS
+Browser=Ruunk
+
+[Windows-RSS-Platform/2.0 (MSIE 8.0; Windows NT 6.0)]
+Parent=General RSS
+Browser=Windows-RSS-Platform
+Platform=WinVista
+
+[Mozilla/5.0 (X11; ?; Linux; *) AppleWebKit/* (KHTML, like Gecko, Safari/*) Arora/0.4]
+Parent=Google Code
+Browser=Arora
+Version=0.4
+MajorVer=0
+MinorVer=4
+Platform=Linux
+CssVersion=2
+supportsCSS=true
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Validation Checkers
+
+[HTML Validators]
+Parent=DefaultProperties
+Browser=HTML Validators
+Frames=true
+IFrames=true
+Tables=true
+Crawler=true
+
+[(HTML Validator http://www.searchengineworld.com/validator/)]
+Parent=HTML Validators
+Browser=Search Engine World HTML Validator
+
+[FeedValidator/1.3]
+Parent=HTML Validators
+Browser=FeedValidator
+Version=1.3
+MajorVer=1
+MinorVer=3
+
+[Jigsaw/* W3C_CSS_Validator_JFouffa/*]
+Parent=HTML Validators
+Browser=Jigsaw CSS Validator
+
+[Search Engine World Robots.txt Validator*]
+Parent=HTML Validators
+Browser=Search Engine World Robots.txt Validator
+
+[W3C_Validator/*]
+Parent=HTML Validators
+Browser=W3C Validator
+
+[W3CLineMode/*]
+Parent=HTML Validators
+Browser=W3C Line Mode
+
+[Weblide/2.? beta*]
+Parent=HTML Validators
+Browser=Weblide
+Version=2.0
+MajorVer=2
+MinorVer=0
+Beta=true
+
+[WebmasterWorld StickyMail Server Header Checker*]
+Parent=HTML Validators
+Browser=WebmasterWorld Server Header Checker
+
+[WWWC/*]
+Parent=HTML Validators
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Image Crawlers
+
+[Image Crawlers]
+Parent=DefaultProperties
+Browser=Image Crawlers
+Frames=true
+IFrames=true
+Tables=true
+isBanned=true
+Crawler=true
+
+[*CFNetwork*]
+Parent=Image Crawlers
+Browser=CFNetwork
+
+[*PhotoStickies/*]
+Parent=Image Crawlers
+Browser=PhotoStickies
+
+[Camcrawler*]
+Parent=Image Crawlers
+Browser=Camcrawler
+
+[CydralSpider/*]
+Parent=Image Crawlers
+Browser=Cydral Web Image Search
+isBanned=true
+
+[Der gro\xdfe BilderSauger*]
+Parent=Image Crawlers
+Browser=Gallery Grabber
+
+[Extreme Picture Finder]
+Parent=Image Crawlers
+Browser=Extreme Picture Finder
+
+[FLATARTS_FAVICO]
+Parent=Image Crawlers
+Browser=FlatArts Favorites Icon Tool
+
+[HTML2JPG Blackbox, http://www.html2jpg.com]
+Parent=Image Crawlers
+Browser=HTML2JPG
+
+[IconSurf/2.*]
+Parent=Image Crawlers
+Browser=IconSurf
+
+[kalooga/KaloogaBot*]
+Parent=Image Crawlers
+Browser=KaloogaBot
+
+[Mister PIX*]
+Parent=Image Crawlers
+Browser=Mister PIX
+
+[Mozilla/5.0 (Macintosh; U; *Mac OS X; *) AppleWebKit/* (*) Pandora/2.*]
+Parent=Image Crawlers
+Browser=Pandora
+
+[naoFavicon4IE*]
+Parent=Image Crawlers
+Browser=naoFavicon4IE
+
+[pixfinder/*]
+Parent=Image Crawlers
+Browser=pixfinder
+
+[rssImagesBot/0.1 (*http://herbert.groot.jebbink.nl/?app=rssImages)]
+Parent=Image Crawlers
+Browser=rssImagesBot
+
+[Web Image Collector*]
+Parent=Image Crawlers
+Browser=Web Image Collector
+
+[WebImages * (?http://herbert.groot.jebbink.nl/?app=WebImages?)]
+Parent=Image Crawlers
+Browser=WebImages
+
+[WebPix*]
+Parent=Image Crawlers
+Browser=Custo
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Link Checkers
+
+[Link Checkers]
+Parent=DefaultProperties
+Browser=Link Checkers
+Frames=true
+IFrames=true
+Tables=true
+Crawler=true
+
+[!Susie (http://www.sync2it.com/susie)]
+Parent=Link Checkers
+Browser=!Susie
+
+[*AgentName/*]
+Parent=Link Checkers
+Browser=AgentName
+
+[*Linkman*]
+Parent=Link Checkers
+Browser=Linkman
+
+[*LinksManager.com*]
+Parent=Link Checkers
+Browser=LinksManager
+
+[*Powermarks/*]
+Parent=Link Checkers
+Browser=Powermarks
+
+[*W3C-checklink/*]
+Parent=Link Checkers
+Browser=W3C Link Checker
+
+[*Web Link Validator*]
+Parent=Link Checkers
+Browser=Web Link Validator
+
+[*Zeus*]
+Parent=Link Checkers
+Browser=Zeus
+isBanned=true
+
+[ActiveBookmark *]
+Parent=Link Checkers
+Browser=ActiveBookmark
+
+[Bookdog/*]
+Parent=Link Checkers
+Browser=Bookdog
+
+[Bookmark Buddy*]
+Parent=Link Checkers
+Browser=Bookmark Buddy
+
+[Bookmark Renewal Check Agent*]
+Parent=Link Checkers
+Browser=Bookmark Renewal Check Agent
+
+[Bookmark search tool*]
+Parent=Link Checkers
+Browser=Bookmark search tool
+
+[Bookmark-Manager]
+Parent=Link Checkers
+Browser=Bookmark-Manager
+
+[Checkbot*]
+Parent=Link Checkers
+Browser=Checkbot
+
+[CheckLinks/*]
+Parent=Link Checkers
+Browser=CheckLinks
+
+[CyberSpyder Link Test/*]
+Parent=Link Checkers
+Browser=CyberSpyder Link Test
+
+[DLC/*]
+Parent=Link Checkers
+Browser=DLC
+
+[DocWeb Link Crawler (http://doc.php.net)]
+Parent=Link Checkers
+Browser=DocWeb Link Crawler
+
+[FavOrg]
+Parent=Link Checkers
+Browser=FavOrg
+
+[Favorites Sweeper v.3.*]
+Parent=Link Checkers
+Browser=Favorites Sweeper
+
+[FindLinks/*]
+Parent=Link Checkers
+Browser=FindLinks
+
+[Funnel Web Profiler*]
+Parent=Link Checkers
+Browser=Funnel Web Profiler
+
+[Html Link Validator (www.lithopssoft.com)]
+Parent=Link Checkers
+Browser=HTML Link Validator
+
+[IECheck]
+Parent=Link Checkers
+Browser=IECheck
+
+[JCheckLinks/*]
+Parent=Link Checkers
+Browser=JCheckLinks
+
+[JRTwine Software Check Favorites Utility]
+Parent=Link Checkers
+Browser=JRTwine
+
+[Link Valet Online*]
+Parent=Link Checkers
+Browser=Link Valet
+isBanned=true
+
+[LinkAlarm/*]
+Parent=Link Checkers
+Browser=LinkAlarm
+
+[Linkbot*]
+Parent=Link Checkers
+Browser=Linkbot
+
+[LinkChecker/*]
+Parent=Link Checkers
+Browser=LinkChecker
+
+[LinkextractorPro*]
+Parent=Link Checkers
+Browser=LinkextractorPro
+isBanned=true
+
+[LinkLint-checkonly/*]
+Parent=Link Checkers
+Browser=LinkLint
+
+[LinkScan/*]
+Parent=Link Checkers
+Browser=LinkScan
+
+[LinkSweeper/*]
+Parent=Link Checkers
+Browser=LinkSweeper
+
+[LinkWalker*]
+Parent=Link Checkers
+Browser=LinkWalker
+
+[MetaGer-LinkChecker]
+Parent=Link Checkers
+Browser=MetaGer-LinkChecker
+
+[Mozilla/* (compatible; linktiger/*; *http://www.linktiger.com*)]
+Parent=Link Checkers
+Browser=LinkTiger
+isBanned=true
+
+[Mozilla/4.0 (Compatible); URLBase*]
+Parent=Link Checkers
+Browser=URLBase
+
+[Mozilla/4.0 (compatible; Link Utility; http://net-promoter.com)]
+Parent=Link Checkers
+Browser=NetPromoter Link Utility
+
+[Mozilla/4.0 (compatible; MSIE 6.0; Windows 98) Web Link Validator*]
+Parent=Link Checkers
+Browser=Web Link Validator
+Win32=true
+
+[Mozilla/4.0 (compatible; MSIE 7.0; Win32) Link Commander 3.0]
+Parent=Link Checkers
+Browser=Link Commander
+Version=3.0
+MajorVer=3
+MinorVer=0
+Platform=Win32
+
+[Mozilla/4.0 (compatible; smartBot/1.*; checking links; *)]
+Parent=Link Checkers
+Browser=smartBot
+
+[Mozilla/4.0 (compatible; SuperCleaner*;*)]
+Parent=Link Checkers
+Browser=SuperCleaner
+
+[Mozilla/5.0 gURLChecker/*]
+Parent=Link Checkers
+Browser=gURLChecker
+isBanned=true
+
+[Newsgroupreporter LinkCheck]
+Parent=Link Checkers
+Browser=Newsgroupreporter LinkCheck
+
+[onCHECK Linkchecker von www.scientec.de fuer www.onsinn.de]
+Parent=Link Checkers
+Browser=onCHECK Linkchecker
+
+[online link validator (http://www.dead-links.com/)]
+Parent=Link Checkers
+Browser=Dead-Links.com
+isBanned=true
+
+[REL Link Checker*]
+Parent=Link Checkers
+Browser=REL Link Checker
+
+[RLinkCheker*]
+Parent=Link Checkers
+Browser=RLinkCheker
+
+[Robozilla/*]
+Parent=Link Checkers
+Browser=Robozilla
+
+[RPT-HTTPClient/*]
+Parent=Link Checkers
+Browser=RPT-HTTPClient
+isBanned=true
+
+[SafariBookmarkChecker*(?http://www.coriolis.ch/)]
+Parent=Link Checkers
+Browser=SafariBookmarkChecker
+Platform=MacOSX
+CssVersion=2
+supportsCSS=true
+
+[Simpy/* (Simpy; http://www.simpy.com/?ref=bot; feedback at simpy dot com)]
+Parent=Link Checkers
+Browser=Simpy
+
+[SiteBar/*]
+Parent=Link Checkers
+Browser=SiteBar
+
+[Susie (http://www.sync2it.com/bms/susie.php]
+Parent=Link Checkers
+Browser=Susie
+
+[URLBase/6.*]
+Parent=Link Checkers
+
+[VSE/*]
+Parent=Link Checkers
+Browser=VSE Link Tester
+
+[WebTrends Link Analyzer]
+Parent=Link Checkers
+Browser=WebTrends Link Analyzer
+
+[WorQmada/*]
+Parent=Link Checkers
+Browser=WorQmada
+
+[Xenu* Link Sleuth*]
+Parent=Link Checkers
+Browser=Xenu's Link Sleuth
+isBanned=true
+
+[Z-Add Link Checker*]
+Parent=Link Checkers
+Browser=Z-Add Link Checker
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Microsoft
+
+[Microsoft]
+Parent=DefaultProperties
+Browser=Microsoft
+isBanned=true
+
+[Live (http://www.live.com/)]
+Parent=Microsoft
+Browser=Microsoft Live
+isBanned=false
+isSyndicationReader=true
+
+[MFC Foundation Class Library*]
+Parent=Microsoft
+Browser=MFC Foundation Class Library
+
+[MFHttpScan]
+Parent=Microsoft
+Browser=MFHttpScan
+
+[Microsoft BITS/*]
+Parent=Microsoft
+Browser=BITS
+
+[Microsoft Data Access Internet Publishing Provider Cache Manager]
+Parent=Microsoft
+Browser=MS IPP
+
+[Microsoft Data Access Internet Publishing Provider DAV*]
+Parent=Microsoft
+Browser=MS IPP DAV
+
+[Microsoft Data Access Internet Publishing Provider Protocol Discovery]
+Parent=Microsoft
+Browser=MS IPPPD
+
+[Microsoft Internet Explorer]
+Parent=Microsoft
+Browser=Fake IE
+
+[Microsoft Office Existence Discovery]
+Parent=Microsoft
+Browser=Microsoft Office Existence Discovery
+
+[Microsoft Office Protocol Discovery]
+Parent=Microsoft
+Browser=MS OPD
+
+[Microsoft Office/* (*Picture Manager*)]
+Parent=Microsoft
+Browser=Microsoft Office Picture Manager
+
+[Microsoft URL Control*]
+Parent=Microsoft
+Browser=Microsoft URL Control
+
+[Microsoft Visio MSIE]
+Parent=Microsoft
+Browser=Microsoft Visio
+
+[Microsoft-WebDAV-MiniRedir/*]
+Parent=Microsoft
+Browser=Microsoft-WebDAV
+
+[Mozilla/5.0 (Macintosh; Intel Mac OS X) Excel/12.*]
+Parent=Microsoft
+Browser=Microsoft Excel
+Version=12.0
+MajorVer=12
+MinorVer=0
+Platform=MacOSX
+
+[MSN Feed Manager]
+Parent=Microsoft
+Browser=MSN Feed Manager
+isBanned=false
+isSyndicationReader=true
+
+[MSProxy/*]
+Parent=Microsoft
+Browser=MS Proxy
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Miscellaneous Browsers
+
+[Miscellaneous Browsers]
+Parent=DefaultProperties
+Browser=Miscellaneous Browsers
+Frames=true
+Tables=true
+Cookies=true
+
+[*Amiga*]
+Parent=Miscellaneous Browsers
+Browser=Amiga
+Platform=Amiga
+
+[*avantbrowser*]
+Parent=Miscellaneous Browsers
+Browser=Avant Browser
+
+[12345]
+Parent=Miscellaneous Browsers
+Browser=12345
+isBanned=true
+
+[Ace Explorer]
+Parent=Miscellaneous Browsers
+Browser=Ace Explorer
+
+[Enigma Browser*]
+Parent=Miscellaneous Browsers
+Browser=Enigma Browser
+
+[EVE-minibrowser/*]
+Parent=Miscellaneous Browsers
+Browser=EVE-minibrowser
+IFrames=false
+Tables=false
+BackgroundSounds=false
+VBScript=false
+JavaApplets=false
+JavaScript=false
+ActiveXControls=false
+isBanned=false
+Crawler=false
+
+[Godzilla/* (Basic*; *; Commodore C=64; *; rv:1.*)*]
+Parent=Miscellaneous Browsers
+Browser=Godzilla
+
+[GreenBrowser]
+Parent=Miscellaneous Browsers
+Browser=GreenBrowser
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+BackgroundSounds=true
+VBScript=true
+JavaApplets=true
+JavaScript=true
+ActiveXControls=true
+CssVersion=2
+supportsCSS=true
+
+[Kopiczek/* (WyderOS*; *)]
+Parent=Miscellaneous Browsers
+Browser=Kopiczek
+Platform=WyderOS
+IFrames=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/* (*) - BrowseX (*)]
+Parent=Miscellaneous Browsers
+Browser=BrowseX
+
+[Mozilla/* (Win32;*Escape?*; ?)]
+Parent=Miscellaneous Browsers
+Browser=Escape
+Platform=Win32
+
+[Mozilla/4.0 (compatible; ibisBrowser)]
+Parent=Miscellaneous Browsers
+Browser=ibisBrowser
+
+[Mozilla/5.0 (Macintosh; ?; PPC Mac OS X;*) AppleWebKit/* (*) HistoryHound/*]
+Parent=Miscellaneous Browsers
+Browser=HistoryHound
+
+[NetRecorder*]
+Parent=Miscellaneous Browsers
+Browser=NetRecorder
+
+[NetSurfer*]
+Parent=Miscellaneous Browsers
+Browser=NetSurfer
+
+[ogeb browser , Version 1.1.0]
+Parent=Miscellaneous Browsers
+Browser=ogeb browser
+Version=1.1
+MajorVer=1
+MinorVer=1
+
+[SCEJ PSP BROWSER 0102pspNavigator]
+Parent=Miscellaneous Browsers
+Browser=Wipeout Pure
+
+[SlimBrowser]
+Parent=Miscellaneous Browsers
+Browser=SlimBrowser
+
+[WWW_Browser/*]
+Parent=Miscellaneous Browsers
+Browser=WWW Browser
+Version=1.69
+MajorVer=1
+MinorVer=69
+Platform=Win16
+CssVersion=3
+supportsCSS=true
+
+[*Netcraft Webserver Survey*]
+Parent=Netcraft
+Browser=Netcraft Webserver Survey
+isBanned=true
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Offline Browsers
+
+[Offline Browsers]
+Parent=DefaultProperties
+Browser=Offline Browsers
+Frames=true
+Tables=true
+Cookies=true
+isBanned=true
+Crawler=true
+
+[*Check&Get*]
+Parent=Offline Browsers
+Browser=Check&Get
+
+[*HTTrack*]
+Parent=Offline Browsers
+Browser=HTTrack
+
+[*MSIECrawler*]
+Parent=Offline Browsers
+Browser=IE Offline Browser
+
+[*TweakMASTER*]
+Parent=Offline Browsers
+Browser=TweakMASTER
+
+[BackStreet Browser *]
+Parent=Offline Browsers
+Browser=BackStreet Browser
+
+[Go-Ahead-Got-It*]
+Parent=Offline Browsers
+Browser=Go Ahead Got-It
+
+[iGetter/*]
+Parent=Offline Browsers
+Browser=iGetter
+
+[Teleport*]
+Parent=Offline Browsers
+Browser=Teleport
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Online Scanners
+
+[Online Scanners]
+Parent=DefaultProperties
+Browser=Online Scanners
+isBanned=true
+
+[JoeDog/* (X11; I; Siege *)]
+Parent=Online Scanners
+Browser=JoeDog
+isBanned=false
+
+[Morfeus Fucking Scanner]
+Parent=Online Scanners
+Browser=Morfeus Fucking Scanner
+
+[Mozilla/4.0 (compatible; Trend Micro tmdr 1.*]
+Parent=Online Scanners
+Browser=Trend Micro
+
+[Titanium 2005 (4.02.01)]
+Parent=Online Scanners
+Browser=Panda Antivirus Titanium
+
+[virus_detector*]
+Parent=Online Scanners
+Browser=Secure Computing Corporation
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Proxy Servers
+
+[Proxy Servers]
+Parent=DefaultProperties
+Browser=Proxy Servers
+isBanned=true
+
+[*squid*]
+Parent=Proxy Servers
+Browser=Squid
+
+[Anonymisiert*]
+Parent=Proxy Servers
+Browser=Anonymizied
+
+[Anonymizer/*]
+Parent=Proxy Servers
+Browser=Anonymizer
+
+[Anonymizied*]
+Parent=Proxy Servers
+Browser=Anonymizied
+
+[Anonymous*]
+Parent=Proxy Servers
+Browser=Anonymous
+
+[Anonymous/*]
+Parent=Proxy Servers
+Browser=Anonymous
+
+[CE-Preload]
+Parent=Proxy Servers
+Browser=CE-Preload
+
+[http://Anonymouse.org/*]
+Parent=Proxy Servers
+Browser=Anonymouse
+
+[IE/6.01 (CP/M; 8-bit*)]
+Parent=Proxy Servers
+Browser=Squid
+
+[Mozilla/* (TuringOS; Turing Machine; 0.0)]
+Parent=Proxy Servers
+Browser=Anonymizer
+
+[Mozilla/4.0 (compatible; MSIE ?.0; SaferSurf*)]
+Parent=Proxy Servers
+Browser=SaferSurf
+
+[Mozilla/5.0 (compatible; del.icio.us-thumbnails/*; *) KHTML/* (like Gecko)]
+Parent=Proxy Servers
+Browser=Yahoo!
+isBanned=true
+Crawler=true
+
+[Nutscrape]
+Parent=Proxy Servers
+Browser=Squid
+
+[Nutscrape/* (CP/M; 8-bit*)]
+Parent=Proxy Servers
+Browser=Squid
+
+[Privoxy/*]
+Parent=Proxy Servers
+Browser=Privoxy
+
+[ProxyTester*]
+Parent=Proxy Servers
+Browser=ProxyTester
+isBanned=true
+Crawler=true
+
+[SilentSurf*]
+Parent=Proxy Servers
+Browser=SilentSurf
+
+[SmallProxy*]
+Parent=Proxy Servers
+Browser=SmallProxy
+
+[Space*Bison/*]
+Parent=Proxy Servers
+Browser=Proxomitron
+
+[Sqworm/*]
+Parent=Proxy Servers
+Browser=Websense
+
+[SurfControl]
+Parent=Proxy Servers
+Browser=SurfControl
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Research Projects
+
+[Research Projects]
+Parent=DefaultProperties
+Browser=Research Projects
+isBanned=true
+Crawler=true
+
+[*research*]
+Parent=Research Projects
+
+[AcadiaUniversityWebCensusClient]
+Parent=Research Projects
+Browser=AcadiaUniversityWebCensusClient
+
+[Amico Alpha * (*) Gecko/* AmicoAlpha/*]
+Parent=Research Projects
+Browser=Amico Alpha
+
+[annotate_google; http://ponderer.org/*]
+Parent=Research Projects
+Browser=Annotate Google
+
+[CMS crawler (?http://buytaert.net/crawler/)]
+Parent=Research Projects
+
+[e-SocietyRobot(http://www.yama.info.waseda.ac.jp/~yamana/es/)]
+Parent=Research Projects
+Browser=e-SocietyRobot
+
+[Forschungsportal/*]
+Parent=Research Projects
+Browser=Forschungsportal
+
+[Gulper Web *]
+Parent=Research Projects
+Browser=Gulper Web Bot
+
+[HooWWWer/*]
+Parent=Research Projects
+Browser=HooWWWer
+
+[http://buytaert.net/crawler]
+Parent=Research Projects
+
+[inetbot/* (?http://www.inetbot.com/bot.html)]
+Parent=Research Projects
+Browser=inetbot
+
+[IRLbot/*]
+Parent=Research Projects
+Browser=IRLbot
+
+[Lachesis]
+Parent=Research Projects
+Browser=Lachesis
+
+[Mozilla/5.0 (compatible; nextthing.org/*)]
+Parent=Research Projects
+Browser=nextthing.org
+Version=1.0
+MajorVer=1
+MinorVer=0
+
+[Mozilla/5.0 (compatible; Theophrastus/*)]
+Parent=Research Projects
+Browser=Theophrastus
+
+[Mozilla/5.0 (compatible; Webscan v0.*; http://otc.dyndns.org/webscan/)]
+Parent=Research Projects
+Browser=Webscan
+
+[MQbot*]
+Parent=Research Projects
+Browser=MQbot
+
+[OutfoxBot/*]
+Parent=Research Projects
+Browser=OutfoxBot
+
+[polybot?*]
+Parent=Research Projects
+Browser=Polybot
+
+[Shim?Crawler*]
+Parent=Research Projects
+Browser=Shim Crawler
+
+[Steeler/*]
+Parent=Research Projects
+Browser=Steeler
+
+[Taiga web spider]
+Parent=Research Projects
+Browser=Taiga
+
+[Theme Spider*]
+Parent=Research Projects
+Browser=Theme Spider
+
+[UofTDB_experiment* (leehyun@cs.toronto.edu)]
+Parent=Research Projects
+Browser=UofTDB Experiment
+
+[USyd-NLP-Spider*]
+Parent=Research Projects
+Browser=USyd-NLP-Spider
+
+[woriobot*]
+Parent=Research Projects
+Browser=woriobot
+
+[wwwster/* (Beta, mailto:gue@cis.uni-muenchen.de)]
+Parent=Research Projects
+Browser=wwwster
+Beta=true
+
+[Zao-Crawler]
+Parent=Research Projects
+Browser=Zao-Crawler
+
+[Zao/*]
+Parent=Research Projects
+Browser=Zao
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Rippers
+
+[Rippers]
+Parent=DefaultProperties
+Browser=Rippers
+Frames=true
+IFrames=true
+Tables=true
+isBanned=true
+Crawler=true
+
+[*grub*]
+Parent=Rippers
+Browser=grub
+
+[*ickHTTP*]
+Parent=Rippers
+Browser=IP*Works
+
+[*java*]
+Parent=Rippers
+
+[*libwww-perl*]
+Parent=Rippers
+Browser=libwww-perl
+
+[*WebGrabber*]
+Parent=Rippers
+
+[*WinHttpRequest*]
+Parent=Rippers
+Browser=WinHttp
+
+[3D-FTP/*]
+Parent=Rippers
+Browser=3D-FTP
+
+[3wGet/*]
+Parent=Rippers
+Browser=3wGet
+
+[ActiveRefresh*]
+Parent=Rippers
+Browser=ActiveRefresh
+
+[Artera (Version *)]
+Parent=Rippers
+Browser=Artera
+
+[AutoHotkey]
+Parent=Rippers
+Browser=AutoHotkey
+
+[b2w/*]
+Parent=Rippers
+Browser=b2w
+
+[BasicHTTP/*]
+Parent=Rippers
+Browser=BasicHTTP
+
+[BlockNote.Net]
+Parent=Rippers
+Browser=BlockNote.Net
+
+[CAST]
+Parent=Rippers
+Browser=CAST
+
+[CFNetwork/*]
+Parent=Rippers
+Browser=CFNetwork
+
+[CFSCHEDULE*]
+Parent=Rippers
+Browser=ColdFusion Task Scheduler
+
+[CobWeb/*]
+Parent=Rippers
+Browser=CobWeb
+
+[ColdFusion*]
+Parent=Rippers
+Browser=ColdFusion
+
+[Crawl_Application]
+Parent=Rippers
+Browser=Crawl_Application
+
+[curl/*]
+Parent=Rippers
+Browser=cURL
+
+[Custo*]
+Parent=Rippers
+Browser=Custo
+
+[DataCha0s/*]
+Parent=Rippers
+Browser=DataCha0s
+
+[DeepIndexer*]
+Parent=Rippers
+Browser=DeepIndexer
+
+[DISCo Pump *]
+Parent=Rippers
+Browser=DISCo Pump
+
+[eStyleSearch * (compatible; MSIE 6.0; Windows NT 5.0)]
+Parent=Rippers
+Browser=eStyleSearch
+Win32=true
+
+[ezic.com http agent *]
+Parent=Rippers
+Browser=Ezic.com
+
+[fetch libfetch/*]
+Parent=Rippers
+
+[FGet*]
+Parent=Rippers
+Browser=FGet
+
+[Flaming AttackBot*]
+Parent=Rippers
+Browser=Flaming AttackBot
+
+[Foobot*]
+Parent=Rippers
+Browser=Foobot
+
+[GameSpyHTTP/*]
+Parent=Rippers
+Browser=GameSpyHTTP
+
+[gnome-vfs/*]
+Parent=Rippers
+Browser=gnome-vfs
+
+[Harvest/*]
+Parent=Rippers
+Browser=Harvest
+
+[hcat/*]
+Parent=Rippers
+Browser=hcat
+
+[HLoader]
+Parent=Rippers
+Browser=HLoader
+
+[Holmes/*]
+Parent=Rippers
+Browser=Holmes
+
+[HTMLParser/*]
+Parent=Rippers
+Browser=HTMLParser
+
+[http generic]
+Parent=Rippers
+Browser=http generic
+
+[httpclient*]
+Parent=Rippers
+
+[httperf/*]
+Parent=Rippers
+Browser=httperf
+
+[HTTPFetch/*]
+Parent=Rippers
+Browser=HTTPFetch
+
+[HTTPGrab]
+Parent=Rippers
+Browser=HTTPGrab
+
+[HttpSession]
+Parent=Rippers
+Browser=HttpSession
+
+[httpunit/*]
+Parent=Rippers
+Browser=HttpUnit
+
+[ICE_GetFile]
+Parent=Rippers
+Browser=ICE_GetFile
+
+[iexplore.exe]
+Parent=Rippers
+
+[Inet - Eureka App]
+Parent=Rippers
+Browser=Inet - Eureka App
+
+[INetURL/*]
+Parent=Rippers
+Browser=INetURL
+
+[InetURL:/*]
+Parent=Rippers
+Browser=InetURL
+
+[Internet Exploiter/*]
+Parent=Rippers
+
+[Internet Explore *]
+Parent=Rippers
+Browser=Fake IE
+
+[Internet Explorer *]
+Parent=Rippers
+Browser=Fake IE
+
+[IP*Works!*/*]
+Parent=Rippers
+Browser=IP*Works!
+
+[IrssiUrlLog/*]
+Parent=Rippers
+Browser=IrssiUrlLog
+
+[JPluck/*]
+Parent=Rippers
+Browser=JPluck
+
+[Kapere (http://www.kapere.com)]
+Parent=Rippers
+Browser=Kapere
+
+[LeechFTP]
+Parent=Rippers
+Browser=LeechFTP
+
+[LeechGet*]
+Parent=Rippers
+Browser=LeechGet
+
+[libcurl-agent/*]
+Parent=Rippers
+Browser=libcurl
+
+[libWeb/clsHTTP*]
+Parent=Rippers
+Browser=libWeb/clsHTTP
+
+[lwp*]
+Parent=Rippers
+
+[MFC_Tear_Sample]
+Parent=Rippers
+Browser=MFC_Tear_Sample
+
+[Moozilla]
+Parent=Rippers
+Browser=Moozilla
+
+[MovableType/*]
+Parent=Rippers
+Browser=MovableType Web Log
+
+[Mozilla/2.0 (compatible; NEWT ActiveX; Win32)]
+Parent=Rippers
+Browser=NEWT ActiveX
+Platform=Win32
+
+[Mozilla/3.0 (compatible)]
+Parent=Rippers
+
+[Mozilla/3.0 (compatible; Indy Library)]
+Parent=Rippers
+Cookies=true
+
+[Mozilla/3.01 (compatible;)]
+Parent=Rippers
+
+[Mozilla/4.0 (compatible; BorderManager*)]
+Parent=Rippers
+Browser=Novell BorderManager
+
+[Mozilla/4.0 (compatible;)]
+Parent=Rippers
+
+[Mozilla/5.0 (compatible; IPCheck Server Monitor*)]
+Parent=Rippers
+Browser=IPCheck Server Monitor
+
+[OCN-SOC/*]
+Parent=Rippers
+Browser=OCN-SOC
+
+[Offline Explorer*]
+Parent=Rippers
+Browser=Offline Explorer
+
+[Open Web Analytics Bot*]
+Parent=Rippers
+Browser=Open Web Analytics Bot
+
+[OSSProxy*]
+Parent=Rippers
+Browser=OSSProxy
+
+[Pageload*]
+Parent=Rippers
+Browser=PageLoad
+
+[PageNest/*]
+Parent=Rippers
+Browser=PageNest
+
+[pavuk/*]
+Parent=Rippers
+Browser=Pavuk
+
+[PEAR HTTP_Request*]
+Parent=Rippers
+Browser=PEAR-PHP
+
+[PHP*]
+Parent=Rippers
+Browser=PHP
+
+[PigBlock (Windows NT 5.1; U)*]
+Parent=Rippers
+Browser=PigBlock
+Win32=true
+
+[Pockey*]
+Parent=Rippers
+Browser=Pockey-GetHTML
+
+[POE-Component-Client-HTTP/*]
+Parent=Rippers
+Browser=POE-Component-Client-HTTP
+
+[PycURL/*]
+Parent=Rippers
+Browser=PycURL
+
+[Python*]
+Parent=Rippers
+Browser=Python
+
+[RepoMonkey*]
+Parent=Rippers
+Browser=RepoMonkey
+
+[SBL-BOT*]
+Parent=Rippers
+Browser=BlackWidow
+
+[ScoutAbout*]
+Parent=Rippers
+Browser=ScoutAbout
+
+[sherlock/*]
+Parent=Rippers
+Browser=Sherlock
+
+[SiteParser/*]
+Parent=Rippers
+Browser=SiteParser
+
+[SiteSnagger*]
+Parent=Rippers
+Browser=SiteSnagger
+
+[SiteSucker/*]
+Parent=Rippers
+Browser=SiteSucker
+
+[SiteWinder*]
+Parent=Rippers
+Browser=SiteWinder
+
+[Snoopy*]
+Parent=Rippers
+Browser=Snoopy
+
+[SOFTWING_TEAR_AGENT*]
+Parent=Rippers
+Browser=AspTear
+
+[SuperHTTP/*]
+Parent=Rippers
+Browser=SuperHTTP
+
+[Tcl http client package*]
+Parent=Rippers
+Browser=Tcl http client package
+
+[Twisted PageGetter]
+Parent=Rippers
+Browser=Twisted PageGetter
+
+[URL2File/*]
+Parent=Rippers
+Browser=URL2File
+
+[UtilMind HTTPGet]
+Parent=Rippers
+Browser=UtilMind HTTPGet
+
+[VCI WebViewer*]
+Parent=Rippers
+Browser=VCI WebViewer
+
+[W3CRobot/*]
+Parent=Rippers
+Browser=W3CRobot
+
+[Web Downloader*]
+Parent=Rippers
+Browser=Web Downloader
+
+[Web Downloader/*]
+Parent=Rippers
+Browser=Web Downloader
+
+[Web Magnet*]
+Parent=Rippers
+Browser=Web Magnet
+
+[WebAuto/*]
+Parent=Rippers
+
+[webbandit/*]
+Parent=Rippers
+Browser=webbandit
+
+[WebCopier*]
+Parent=Rippers
+Browser=WebCopier
+
+[WebDownloader*]
+Parent=Rippers
+Browser=WebDownloader
+
+[WebFetch]
+Parent=Rippers
+Browser=WebFetch
+
+[webfetch/*]
+Parent=Rippers
+Browser=WebFetch
+
+[WebGatherer*]
+Parent=Rippers
+Browser=WebGatherer
+
+[WebGet]
+Parent=Rippers
+Browser=WebGet
+
+[WebReaper*]
+Parent=Rippers
+Browser=WebReaper
+
+[WebRipper]
+Parent=Rippers
+Browser=WebRipper
+
+[WebSauger*]
+Parent=Rippers
+Browser=WebSauger
+
+[Website Downloader*]
+Parent=Rippers
+Browser=Website Downloader
+
+[Website eXtractor*]
+Parent=Rippers
+Browser=Website eXtractor
+
+[Website Quester]
+Parent=Rippers
+Browser=Website Quester
+
+[WebsiteExtractor*]
+Parent=Rippers
+Browser=Website eXtractor
+
+[WebSnatcher*]
+Parent=Rippers
+Browser=WebSnatcher
+
+[Webster Pro*]
+Parent=Rippers
+Browser=Webster Pro
+
+[WebStripper*]
+Parent=Rippers
+Browser=WebStripper
+
+[WebWhacker*]
+Parent=Rippers
+Browser=WebWhacker
+
+[WinScripter iNet Tools]
+Parent=Rippers
+Browser=WinScripter iNet Tools
+
+[WWW-Mechanize/*]
+Parent=Rippers
+Browser=WWW-Mechanize
+
+[Zend_Http_Client]
+Parent=Rippers
+Browser=Zend_Http_Client
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Site Monitors
+
+[Site Monitors]
+Parent=DefaultProperties
+Browser=Site Monitors
+Cookies=true
+isBanned=true
+Crawler=true
+
+[*EasyRider*]
+Parent=Site Monitors
+Browser=EasyRider
+
+[*maxamine.com--robot*]
+Parent=Site Monitors
+Browser=maxamine.com--robot
+isBanned=true
+
+[*WebMon ?.*]
+Parent=Site Monitors
+Browser=WebMon
+
+[Kenjin Spider*]
+Parent=Site Monitors
+Browser=Kenjin Spider
+
+[Kevin http://*]
+Parent=Site Monitors
+Browser=Kevin
+isBanned=true
+
+[Mozilla/4.0 (compatible; ChangeDetection/*]
+Parent=Site Monitors
+Browser=ChangeDetection
+
+[Myst Monitor Service v*]
+Parent=Site Monitors
+Browser=Myst Monitor Service
+
+[Net Probe]
+Parent=Site Monitors
+Browser=Net Probe
+
+[NetMechanic*]
+Parent=Site Monitors
+Browser=NetMechanic
+
+[NetReality*]
+Parent=Site Monitors
+Browser=NetReality
+
+[Pingdom GIGRIB*]
+Parent=Site Monitors
+Browser=Pingdom
+
+[Site Valet Online*]
+Parent=Site Monitors
+Browser=Site Valet
+isBanned=true
+
+[SITECHECKER]
+Parent=Site Monitors
+Browser=SITECHECKER
+
+[sitemonitor@dnsvr.com/*]
+Parent=Site Monitors
+Browser=ZoneEdit Failover Monitor
+isBanned=false
+
+[UpTime Checker*]
+Parent=Site Monitors
+Browser=UpTime Checker
+
+[URL Control*]
+Parent=Site Monitors
+Browser=URL Control
+
+[URL_Access/*]
+Parent=Site Monitors
+
+[URLCHECK]
+Parent=Site Monitors
+Browser=URLCHECK
+
+[URLy Warning*]
+Parent=Site Monitors
+Browser=URLy Warning
+
+[Webcheck *]
+Parent=Site Monitors
+Browser=Webcheck
+Version=1.0
+MajorVer=1
+MinorVer=0
+
+[WebPatrol/*]
+Parent=Site Monitors
+Browser=WebPatrol
+
+[websitepulse checker/*]
+Parent=Site Monitors
+Browser=websitepulse checker
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Social Bookmarkers
+
+[Social Bookmarkers]
+Parent=DefaultProperties
+Browser=Social Bookmarkers
+Frames=true
+Tables=true
+Cookies=true
+JavaScript=true
+
+[BookmarkBase(2/;http://bookmarkbase.com)]
+Parent=Social Bookmarkers
+Browser=BookmarkBase
+
+[Cocoal.icio.us/1.0 (v43) (Mac OS X; http://www.scifihifi.com/cocoalicious)]
+Parent=Social Bookmarkers
+Browser=Cocoalicious
+
+[Mozilla/5.0 (compatible; FriendFeedBot/0.*; Http://friendfeed.com/about/bot)]
+Parent=Social Bookmarkers
+Browser=FriendFeedBot
+
+[Twitturly*]
+Parent=Social Bookmarkers
+Browser=Twitturly
+
+[WinkBot/*]
+Parent=Social Bookmarkers
+Browser=WinkBot
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Translators
+
+[Translators]
+Parent=DefaultProperties
+Browser=Translators
+Frames=true
+Tables=true
+Cookies=true
+
+[Seram Server]
+Parent=Translators
+Browser=Seram Server
+
+[TeragramWebcrawler/*]
+Parent=Translators
+Browser=TeragramWebcrawler
+Version=1.0
+MajorVer=1
+MinorVer=0
+
+[WebIndexer/* (Web Indexer; *)]
+Parent=Translators
+Browser=WorldLingo
+
+[WebTrans]
+Parent=Translators
+Browser=WebTrans
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Version Checkers
+
+[Version Checkers]
+Parent=DefaultProperties
+Browser=Version Checkers
+Crawler=true
+
+[Automated Browscap.ini Updater. To report issues contact us at http://www.skycomp.ca]
+Parent=Version Checkers
+Browser=Automated Browscap.ini Updater
+
+[BMC Link Validator (http://www.briansmodelcars.com/links/)]
+Parent=Version Checkers
+Browser=BMC Link Validator
+MajorVer=1
+MinorVer=0
+Platform=Win2000
+
+[Browscap updater]
+Parent=Version Checkers
+Browser=Browscap updater
+
+[BrowscapUpdater1.0]
+Parent=Version Checkers
+
+[Browser Capabilities Project (http://browsers.garykeith.com; http://browsers.garykeith.com/sitemail/contact-me.asp)]
+Parent=Version Checkers
+Browser=Gary Keith's Version Checker
+
+[Browser Capabilities Project AutoDownloader]
+Parent=Version Checkers
+Browser=TKC AutoDownloader
+
+[browsers.garykeith.com browscap.ini bot BETA]
+Parent=Version Checkers
+
+[Code Sample Web Client]
+Parent=Version Checkers
+Browser=Code Sample Web Client
+
+[Desktop Sidebar*]
+Parent=Version Checkers
+Browser=Desktop Sidebar
+isBanned=true
+
+[Mono Browser Capabilities Updater*]
+Parent=Version Checkers
+Browser=Mono Browser Capabilities Updater
+isBanned=true
+
+[Rewmi/*]
+Parent=Version Checkers
+isBanned=true
+
+[Subtext Version 1.9* - http://subtextproject.com/ (Microsoft Windows NT 5.2.*)]
+Parent=Version Checkers
+Browser=Subtext
+
+[TherapeuticResearch]
+Parent=Version Checkers
+Browser=TherapeuticResearch
+
+[UpdateBrowscap*]
+Parent=Version Checkers
+Browser=UpdateBrowscap
+
+[www.garykeith.com browscap.ini bot*]
+Parent=Version Checkers
+Browser=clarkson.edu
+
+[www.substancia.com AutoHTTPAgent (ver *)]
+Parent=Version Checkers
+Browser=Substância
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Become
+
+[Become]
+Parent=DefaultProperties
+Browser=Become
+Frames=true
+Tables=true
+isSyndicationReader=true
+Crawler=true
+
+[*BecomeBot/*]
+Parent=Become
+Browser=BecomeBot
+
+[*BecomeBot@exava.com*]
+Parent=Become
+Browser=BecomeBot
+
+[*Exabot@exava.com*]
+Parent=Become
+Browser=Exabot
+
+[MonkeyCrawl/*]
+Parent=Become
+Browser=MonkeyCrawl
+
+[Mozilla/5.0 (compatible; BecomeJPBot/2.3; *)]
+Parent=Become
+Browser=BecomeJPBot
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Blue Coat Systems
+
+[Blue Coat Systems]
+Parent=DefaultProperties
+Browser=Blue Coat Systems
+isBanned=true
+Crawler=true
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Browscap Abusers
+
+[Browscap Abusers]
+Parent=DefaultProperties
+Browser=Browscap Abusers
+isBanned=true
+
+[Apple-PubSub/*]
+Parent=Browscap Abusers
+Browser=Apple-PubSub
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; FeedHub
+
+[FeedHub]
+Parent=DefaultProperties
+Browser=FeedHub
+isSyndicationReader=true
+
+[FeedHub FeedDiscovery/1.0 (http://www.feedhub.com)]
+Parent=FeedHub
+Browser=FeedHub FeedDiscovery
+Version=1.0
+MajorVer=1
+MinorVer=0
+
+[FeedHub FeedFetcher/1.0 (http://www.feedhub.com)]
+Parent=FeedHub
+Browser=FeedHub FeedFetcher
+Version=1.0
+MajorVer=1
+MinorVer=0
+
+[FeedHub MetaDataFetcher/1.0 (http://www.feedhub.com)]
+Parent=FeedHub
+Browser=FeedHub MetaDataFetcher
+Version=1.0
+MajorVer=1
+MinorVer=0
+
+[Internet Content Rating Association]
+Parent=DefaultProperties
+Browser=
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+Crawler=true
+
+[ICRA_label_generator/1.?]
+Parent=Internet Content Rating Association
+Browser=ICRA_label_generator
+
+[ICRA_Semantic_spider/0.?]
+Parent=Internet Content Rating Association
+Browser=ICRA_Semantic_spider
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; NameProtect
+
+[NameProtect]
+Parent=DefaultProperties
+Browser=NameProtect
+isBanned=true
+Crawler=true
+
+[abot/*]
+Parent=NameProtect
+Browser=NameProtect
+
+[NP/*]
+Parent=NameProtect
+Browser=NameProtect
+
+[NPBot*]
+Parent=NameProtect
+Browser=NameProtect
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Netcraft
+
+[Netcraft]
+Parent=DefaultProperties
+Browser=Netcraft
+isBanned=true
+Crawler=true
+
+[*Netcraft Web Server Survey*]
+Parent=Netcraft
+Browser=Netcraft Webserver Survey
+isBanned=true
+
+[Mozilla/5.0 (compatible; NetcraftSurveyAgent/1.0; info@netcraft.com)]
+Parent=Netcraft
+Browser=NetcraftSurveyAgent
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; NewsGator
+
+[NewsGator]
+Parent=DefaultProperties
+Browser=NewsGator
+isSyndicationReader=true
+
+[MarsEdit*]
+Parent=NewsGator
+Browser=MarsEdit
+
+[NetNewsWire*/*]
+Parent=NewsGator
+Browser=NetNewsWire
+Platform=MacOSX
+
+[NewsFire/*]
+Parent=NewsGator
+Browser=NewsFire
+
+[NewsGator FetchLinks extension/*]
+Parent=NewsGator
+Browser=NewsGator FetchLinks
+
+[NewsGator/*]
+Parent=NewsGator
+Browser=NewsGator
+isBanned=true
+
+[NewsGatorOnline/*]
+Parent=NewsGator
+Browser=NewsGatorOnline
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chrome 0.2
+
+[Chrome 0.2]
+Parent=DefaultProperties
+Browser=Chrome
+Version=0.2
+MinorVer=2
+Beta=true
+Win32=true
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=3
+supportsCSS=true
+
+[Mozilla/5.0 (Windows; U; Windows NT 5.1; *) AppleWebKit/* (KHTML, like Gecko) Chrome/0.2.* Safari/*]
+Parent=Chrome 0.2
+Platform=WinXP
+
+[Mozilla/5.0 (Windows; U; Windows NT 5.2; *) AppleWebKit/* (KHTML, like Gecko) Chrome/0.2.* Safari/*]
+Parent=Chrome 0.2
+Platform=Win2003
+
+[Mozilla/5.0 (Windows; U; Windows NT 6.0; *) AppleWebKit/* (KHTML, like Gecko) Chrome/0.2.* Safari/*]
+Parent=Chrome 0.2
+Platform=WinVista
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chrome 0.3
+
+[Chrome 0.3]
+Parent=DefaultProperties
+Browser=Chrome
+Version=0.3
+MinorVer=3
+Beta=true
+Win32=true
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=3
+supportsCSS=true
+
+[Mozilla/5.0 (Windows; U; Windows NT 5.1; *) AppleWebKit/* (KHTML, like Gecko) Chrome/0.3.* Safari/*]
+Parent=Chrome 0.3
+Platform=WinXP
+
+[Mozilla/5.0 (Windows; U; Windows NT 5.2; *) AppleWebKit/* (KHTML, like Gecko) Chrome/0.3.* Safari/*]
+Parent=Chrome 0.3
+Platform=Win2003
+
+[Mozilla/5.0 (Windows; U; Windows NT 6.0; *) AppleWebKit/* (KHTML, like Gecko) Chrome/0.3.* Safari/*]
+Parent=Chrome 0.3
+Platform=WinVista
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chrome 0.4
+
+[Chrome 0.4]
+Parent=DefaultProperties
+Browser=Chrome
+Version=0.4
+MinorVer=4
+Win32=true
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=3
+supportsCSS=true
+
+[Mozilla/5.0 (Windows; U; Windows NT 5.1; *) AppleWebKit/* (KHTML, like Gecko) Chrome/0.4.* Safari/*]
+Parent=Chrome 0.4
+Platform=WinXP
+
+[Mozilla/5.0 (Windows; U; Windows NT 5.2; *) AppleWebKit/* (KHTML, like Gecko) Chrome/0.4.* Safari/*]
+Parent=Chrome 0.4
+Platform=Win2003
+
+[Mozilla/5.0 (Windows; U; Windows NT 6.0; *) AppleWebKit/* (KHTML, like Gecko) Chrome/0.4.* Safari/*]
+Parent=Chrome 0.4
+Platform=WinVista
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chrome 0.5
+
+[Chrome 0.5]
+Parent=DefaultProperties
+Browser=Chrome
+Version=0.5
+MinorVer=5
+Beta=true
+Win32=true
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=3
+supportsCSS=true
+
+[Mozilla/5.0 (Windows; U; Windows NT 5.1; *) AppleWebKit/* (KHTML, like Gecko) Chrome/0.5.* Safari/*]
+Parent=Chrome 0.5
+Platform=WinXP
+
+[Mozilla/5.0 (Windows; U; Windows NT 5.2; *) AppleWebKit/* (KHTML, like Gecko) Chrome/0.5.* Safari/*]
+Parent=Chrome 0.5
+Platform=Win2003
+
+[Mozilla/5.0 (Windows; U; Windows NT 6.0; *) AppleWebKit/* (KHTML, like Gecko) Chrome/0.5.* Safari/*]
+Parent=Chrome 0.5
+Platform=WinVista
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chrome 1.0
+
+[Chrome 1.0]
+Parent=DefaultProperties
+Browser=Chrome
+Version=1.0
+MajorVer=1
+Win32=true
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=3
+supportsCSS=true
+
+[Mozilla/5.0 (Windows; U; Windows NT 5.1; *) AppleWebKit/* (KHTML, like Gecko) Chrome/1.0.* Safari/*]
+Parent=Chrome 1.0
+Platform=WinXP
+
+[Mozilla/5.0 (Windows; U; Windows NT 5.2; *) AppleWebKit/* (KHTML, like Gecko) Chrome/1.0.* Safari/*]
+Parent=Chrome 1.0
+Platform=Win2003
+
+[Mozilla/5.0 (Windows; U; Windows NT 6.0; *) AppleWebKit/* (KHTML, like Gecko) Chrome/1.0.* Safari/*]
+Parent=Chrome 1.0
+Platform=WinVista
+
+[Mozilla/5.0 (Windows; U; Windows NT 6.1; *) AppleWebKit/* (KHTML, like Gecko) Chrome/1.0.* Safari/*]
+Parent=Chrome 1.0
+Platform=Win7
+
+[Mozilla/5.0 (Windows; U; Windows NT 7.0; *) AppleWebKit/* (KHTML, like Gecko) Chrome/1.0.* Safari/*]
+Parent=Chrome 1.0
+Platform=Win7
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chrome 2.0
+
+[Chrome 2.0]
+Parent=DefaultProperties
+Browser=Chrome
+Version=2.0
+MajorVer=2
+Win32=true
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=3
+supportsCSS=true
+
+[Mozilla/5.0 (Windows; U; Windows NT 5.1; *) AppleWebKit/* (KHTML, like Gecko) Chrome/2.0.* Safari/*]
+Parent=Chrome 2.0
+Platform=WinXP
+
+[Mozilla/5.0 (Windows; U; Windows NT 5.2; *) AppleWebKit/* (KHTML, like Gecko) Chrome/2.0.* Safari/*]
+Parent=Chrome 2.0
+Platform=Win2003
+
+[Mozilla/5.0 (Windows; U; Windows NT 6.0; *) AppleWebKit/* (KHTML, like Gecko) Chrome/2.0.* Safari/*]
+Parent=Chrome 2.0
+Platform=WinVista
+
+[Mozilla/5.0 (Windows; U; Windows NT 6.1; *) AppleWebKit/* (KHTML, like Gecko) Chrome/2.0.* Safari/*]
+Parent=Chrome 2.0
+Platform=Win7
+
+[Mozilla/5.0 (Windows; U; Windows NT 7.0; *) AppleWebKit/* (KHTML, like Gecko) Chrome/2.0.* Safari/*]
+Parent=Chrome 2.0
+Platform=Win7
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chrome 3.0
+
+[Chrome 3.0]
+Parent=DefaultProperties
+Browser=Chrome
+Version=3.0
+MajorVer=3
+Win32=true
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=3
+supportsCSS=true
+
+[Mozilla/5.0 (Windows; U; Windows NT 5.1; *) AppleWebKit/* (KHTML, like Gecko) Chrome/3.0.* Safari/*]
+Parent=Chrome 3.0
+Platform=WinXP
+
+[Mozilla/5.0 (Windows; U; Windows NT 5.2; *) AppleWebKit/* (KHTML, like Gecko) Chrome/3.0.* Safari/*]
+Parent=Chrome 3.0
+Platform=Win2003
+
+[Mozilla/5.0 (Windows; U; Windows NT 6.0; *) AppleWebKit/* (KHTML, like Gecko) Chrome/3.0.* Safari/*]
+Parent=Chrome 3.0
+Platform=WinVista
+
+[Mozilla/5.0 (Windows; U; Windows NT 6.1; *) AppleWebKit/* (KHTML, like Gecko) Chrome/3.0.* Safari/*]
+Parent=Chrome 3.0
+Platform=Win7
+
+[Mozilla/5.0 (Windows; U; Windows NT 7.0; *) AppleWebKit/* (KHTML, like Gecko) Chrome/3.0.* Safari/*]
+Parent=Chrome 3.0
+Platform=Win7
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Google Code
+
+[Google Code]
+Parent=DefaultProperties
+Browser=Google Code
+Tables=true
+Cookies=true
+JavaApplets=true
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Iron 0.2
+
+[Iron 0.2]
+Parent=DefaultProperties
+Browser=Iron
+Version=0.2
+MinorVer=2
+Win32=true
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=3
+supportsCSS=true
+
+[Mozilla/5.0 (Windows; U; Windows NT 5.1; *) AppleWebKit/* (KHTML, like Gecko) Iron/0.2.* Safari/*]
+Parent=Iron 0.2
+Platform=WinXP
+
+[Mozilla/5.0 (Windows; U; Windows NT 5.2; *) AppleWebKit/* (KHTML, like Gecko) Iron/0.2.* Safari/*]
+Parent=Iron 0.2
+Platform=WinVista
+
+[Mozilla/5.0 (Windows; U; Windows NT 6.0; *) AppleWebKit/* (KHTML, like Gecko) Iron/0.2.* Safari/*]
+Parent=Iron 0.2
+Platform=Win7
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Iron 0.3
+
+[Iron 0.3]
+Parent=DefaultProperties
+Browser=Iron
+Version=0.3
+MinorVer=3
+Win32=true
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=3
+supportsCSS=true
+
+[Mozilla/5.0 (Windows; U; Windows NT 5.1; *) AppleWebKit/* (KHTML, like Gecko) Iron/0.3.* Safari/*]
+Parent=Iron 0.3
+Platform=WinXP
+
+[Mozilla/5.0 (Windows; U; Windows NT 5.2; *) AppleWebKit/* (KHTML, like Gecko) Iron/0.3.* Safari/*]
+Parent=Iron 0.3
+Platform=WinVista
+
+[Mozilla/5.0 (Windows; U; Windows NT 6.0; *) AppleWebKit/* (KHTML, like Gecko) Iron/0.3.* Safari/*]
+Parent=Iron 0.3
+Platform=Win7
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Iron 0.4
+
+[Iron 0.4]
+Parent=DefaultProperties
+Browser=Iron
+Version=0.4
+MinorVer=4
+Win32=true
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=3
+supportsCSS=true
+
+[Mozilla/5.0 (Windows; U; Windows NT 5.1; *) AppleWebKit/* (KHTML, like Gecko) Iron/0.4.* Safari/*]
+Parent=Iron 0.4
+Platform=WinXP
+
+[Mozilla/5.0 (Windows; U; Windows NT 5.2; *) AppleWebKit/* (KHTML, like Gecko) Iron/0.4.* Safari/*]
+Parent=Iron 0.4
+Platform=WinVista
+
+[Mozilla/5.0 (Windows; U; Windows NT 6.0; *) AppleWebKit/* (KHTML, like Gecko) Iron/0.4.* Safari/*]
+Parent=Iron 0.4
+Platform=Win7
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; iPod
+
+[iPod]
+Parent=DefaultProperties
+Browser=iPod
+Platform=iPhone OSX
+isMobileDevice=true
+
+[Mozilla/5.0 (iPod; U; *Mac OS X; *) AppleWebKit/* (*) Version/3.0 Mobile/* Safari/*]
+Parent=iPod
+Version=3.0
+MajorVer=3
+MinorVer=0
+Platform=MacOSX
+
+[Mozilla/5.0 (iPod; U; CPU iPhone OS 2_2 like Mac OS X; en-us) AppleWebKit/* (KHTML, like Gecko) Mobile/*]
+Parent=iPod
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; iTunes
+
+[iTunes]
+Parent=DefaultProperties
+Browser=iTunes
+Platform=iPhone OSX
+
+[iTunes/* (Windows; ?)]
+Parent=iTunes
+Browser=iTunes
+Platform=Win32
+Win32=true
+
+[MOT-* iTunes/* MIB/* Profile/MIDP-* Configuration/CLDC-* UP.Link/*]
+Parent=iTunes
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Media Players
+
+[Media Players]
+Parent=DefaultProperties
+Browser=Media Players
+Cookies=true
+
+[Microsoft NetShow(TM) Player with RealVideo(R)]
+Parent=Media Players
+Browser=Microsoft NetShow
+
+[Mozilla/5.0 (Macintosh; U; PPC Mac OS X; *) AppleWebKit/* RealPlayer]
+Parent=Media Players
+Browser=RealPlayer
+Platform=MacOSX
+
+[MPlayer 0.9*]
+Parent=Media Players
+Browser=MPlayer
+Version=0.9
+MajorVer=0
+MinorVer=9
+
+[MPlayer 1.*]
+Parent=Media Players
+Browser=MPlayer
+Version=1.0
+MajorVer=1
+MinorVer=0
+
+[MPlayer HEAD CVS]
+Parent=Media Players
+Browser=MPlayer
+
+[RealPlayer*]
+Parent=Media Players
+Browser=RealPlayer
+
+[RMA/*]
+Parent=Media Players
+Browser=RMA
+
+[VLC media player*]
+Parent=Media Players
+Browser=VLC
+
+[vobsub]
+Parent=Media Players
+Browser=vobsub
+isBanned=true
+
+[WinampMPEG/*]
+Parent=Media Players
+Browser=WinAmp
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Nintendo
+
+[Nintendo Wii]
+Parent=DefaultProperties
+Browser=
+isMobileDevice=true
+
+[Opera/* (Nintendo DSi; Opera/*; *; *)]
+Parent=Nintendo Wii
+Browser=DSi
+
+[Opera/* (Nintendo Wii; U; *)]
+Parent=Nintendo Wii
+Browser=Wii
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Windows Media Player
+
+[Windows Media Player]
+Parent=DefaultProperties
+Browser=Windows Media Player
+Cookies=true
+
+[NSPlayer/10.*]
+Parent=Windows Media Player
+Version=10.0
+MajorVer=10
+MinorVer=0
+
+[NSPlayer/11.*]
+Parent=Windows Media Player
+Browser=Windows Media Player
+Version=11.0
+MajorVer=11
+MinorVer=0
+
+[NSPlayer/4.*]
+Parent=Windows Media Player
+Browser=Windows Media Player
+Version=4.0
+MajorVer=4
+MinorVer=0
+
+[NSPlayer/7.*]
+Parent=Windows Media Player
+Browser=Windows Media Player
+Version=7.0
+MajorVer=7
+MinorVer=0
+
+[NSPlayer/8.*]
+Parent=Windows Media Player
+Browser=Windows Media Player
+Version=8.0
+MajorVer=8
+MinorVer=0
+
+[NSPlayer/9.*]
+Parent=Windows Media Player
+Browser=Windows Media Player
+Version=9.0
+MajorVer=9
+MinorVer=0
+
+[Windows-Media-Player/10.*]
+Parent=Windows Media Player
+Browser=Windows-Media-Player
+Version=10.0
+MajorVer=10
+MinorVer=0
+Win32=true
+
+[Windows-Media-Player/11.*]
+Parent=Windows Media Player
+Version=11.0
+MajorVer=11
+MinorVer=0
+Win32=true
+
+[Windows-Media-Player/7.*]
+Parent=Windows Media Player
+Browser=Windows Media Player
+Version=7.0
+MajorVer=7
+MinorVer=0
+Win32=true
+
+[Windows-Media-Player/8.*]
+Parent=Windows Media Player
+Browser=Windows Media Player
+Version=8.0
+MajorVer=8
+MinorVer=0
+Win32=true
+
+[Windows-Media-Player/9.*]
+Parent=Windows Media Player
+Version=9.0
+MajorVer=9
+MinorVer=0
+Win32=true
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Zune
+
+[Zune]
+Parent=DefaultProperties
+Browser=Zune
+Cookies=true
+
+[Mozilla/4.0 (compatible; MSIE ?.0; *Zune 2.0*)*]
+Parent=Zune
+Version=2.0
+MajorVer=2
+MinorVer=0
+
+[Mozilla/4.0 (compatible; MSIE ?.0; *Zune 2.5*)*]
+Parent=Zune
+Version=2.5
+MajorVer=2
+MinorVer=5
+
+[Mozilla/4.0 (compatible; MSIE ?.0; *Zune 3.0*)*]
+Parent=Zune
+Version=3.0
+MajorVer=3
+MinorVer=0
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; QuickTime 7.0
+
+[QuickTime 7.0]
+Parent=DefaultProperties
+Browser=QuickTime
+Version=7.0
+MajorVer=7
+Cookies=true
+
+[QuickTime (qtver=7.0*;cpu=PPC;os=Mac 10.*)]
+Parent=QuickTime 7.0
+Platform=MacOSX
+
+[QuickTime (qtver=7.0*;cpu=PPC;os=Mac 9.*)]
+Parent=QuickTime 7.0
+Platform=MacPPC
+
+[QuickTime (qtver=7.0*;os=Windows 95*)]
+Parent=QuickTime 7.0
+Platform=Win95
+Win32=true
+
+[QuickTime (qtver=7.0*;os=Windows 98*)]
+Parent=QuickTime 7.0
+Platform=Win98
+Win32=true
+
+[QuickTime (qtver=7.0*;os=Windows Me*)]
+Parent=QuickTime 7.0
+Platform=WinME
+Win32=true
+
+[QuickTime (qtver=7.0*;os=Windows NT 4.0*)]
+Parent=QuickTime 7.0
+Platform=WinNT
+Win32=true
+
+[QuickTime (qtver=7.0*;os=Windows NT 5.0*)]
+Parent=QuickTime 7.0
+Platform=Win2000
+Win32=true
+
+[QuickTime (qtver=7.0*;os=Windows NT 5.1*)]
+Parent=QuickTime 7.0
+Platform=WinXP
+Win32=true
+
+[QuickTime (qtver=7.0*;os=Windows NT 5.2*)]
+Parent=QuickTime 7.0
+Platform=Win2003
+Win32=true
+
+[QuickTime/7.0.* (qtver=7.0.*;*;os=Mac 10.*)*]
+Parent=QuickTime 7.0
+Platform=MacOSX
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; QuickTime 7.1
+
+[QuickTime 7.1]
+Parent=DefaultProperties
+Browser=QuickTime
+Version=7.1
+MajorVer=7
+MinorVer=1
+Cookies=true
+
+[QuickTime (qtver=7.1*;cpu=PPC;os=Mac 10.*)]
+Parent=QuickTime 7.1
+Platform=MacOSX
+
+[QuickTime (qtver=7.1*;cpu=PPC;os=Mac 9.*)]
+Parent=QuickTime 7.1
+Platform=MacPPC
+
+[QuickTime (qtver=7.1*;os=Windows 98*)]
+Parent=QuickTime 7.1
+Platform=Win98
+Win32=true
+
+[QuickTime (qtver=7.1*;os=Windows NT 4.0*)]
+Parent=QuickTime 7.1
+Platform=WinNT
+Win32=true
+
+[QuickTime (qtver=7.1*;os=Windows NT 5.0*)]
+Parent=QuickTime 7.1
+Platform=Win2000
+Win32=true
+
+[QuickTime (qtver=7.1*;os=Windows NT 5.1*)]
+Parent=QuickTime 7.1
+Platform=WinXP
+Win32=true
+
+[QuickTime (qtver=7.1*;os=Windows NT 5.2*)]
+Parent=QuickTime 7.1
+Platform=Win2003
+Win32=true
+
+[QuickTime/7.1.* (qtver=7.1.*;*;os=Mac 10.*)*]
+Parent=QuickTime 7.1
+Platform=MacOSX
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; QuickTime 7.2
+
+[QuickTime 7.2]
+Parent=DefaultProperties
+Browser=QuickTime
+Version=7.2
+MajorVer=7
+MinorVer=2
+Platform=MacOSX
+Cookies=true
+
+[QuickTime (qtver=7.2*;cpu=PPC;os=Mac 10.*)]
+Parent=QuickTime 7.2
+Platform=MacOSX
+
+[QuickTime (qtver=7.2*;cpu=PPC;os=Mac 9.*)]
+Parent=QuickTime 7.2
+Platform=MacPPC
+
+[QuickTime (qtver=7.2*;os=Windows 98*)]
+Parent=QuickTime 7.2
+Platform=Win98
+Win32=true
+
+[QuickTime (qtver=7.2*;os=Windows NT 4.0*)]
+Parent=QuickTime 7.2
+Platform=WinNT
+Win32=true
+
+[QuickTime (qtver=7.2*;os=Windows NT 5.0*)]
+Parent=QuickTime 7.2
+Platform=Win2000
+Win32=true
+
+[QuickTime (qtver=7.2*;os=Windows NT 5.1*)]
+Parent=QuickTime 7.2
+Platform=WinXP
+Win32=true
+
+[QuickTime (qtver=7.2*;os=Windows NT 5.2*)]
+Parent=QuickTime 7.2
+Platform=Win2003
+Win32=true
+
+[QuickTime/7.2.* (qtver=7.2.*;*;os=Mac 10.*)*]
+Parent=QuickTime 7.2
+Platform=MacOSX
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; QuickTime 7.3
+
+[QuickTime 7.3]
+Parent=DefaultProperties
+Browser=QuickTime
+Version=7.3
+MajorVer=7
+MinorVer=3
+Platform=MacOSX
+Cookies=true
+
+[QuickTime (qtver=7.3*;cpu=PPC;os=Mac 10.*)]
+Parent=QuickTime 7.3
+Platform=MacOSX
+
+[QuickTime (qtver=7.3*;cpu=PPC;os=Mac 9.*)]
+Parent=QuickTime 7.3
+Platform=MacPPC
+
+[QuickTime (qtver=7.3*;os=Windows 98*)]
+Parent=QuickTime 7.3
+Platform=Win98
+Win32=true
+
+[QuickTime (qtver=7.3*;os=Windows NT 4.0*)]
+Parent=QuickTime 7.3
+Platform=WinNT
+Win32=true
+
+[QuickTime (qtver=7.3*;os=Windows NT 5.0*)]
+Parent=QuickTime 7.3
+Platform=Win2000
+Win32=true
+
+[QuickTime (qtver=7.3*;os=Windows NT 5.1*)]
+Parent=QuickTime 7.3
+Platform=WinXP
+Win32=true
+
+[QuickTime (qtver=7.3*;os=Windows NT 5.2*)]
+Parent=QuickTime 7.3
+Platform=Win2003
+Win32=true
+
+[QuickTime/7.3.* (qtver=7.3.*;*;os=Mac 10.*)*]
+Parent=QuickTime 7.3
+Platform=MacOSX
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; QuickTime 7.4
+
+[QuickTime 7.4]
+Parent=DefaultProperties
+Browser=QuickTime
+Version=7.4
+MajorVer=7
+MinorVer=4
+Platform=MacOSX
+Cookies=true
+
+[QuickTime (qtver=7.4*;cpu=PPC;os=Mac 10.*)]
+Parent=QuickTime 7.4
+Platform=MacOSX
+
+[QuickTime (qtver=7.4*;cpu=PPC;os=Mac 9.*)]
+Parent=QuickTime 7.4
+Platform=MacPPC
+
+[QuickTime (qtver=7.4*;os=Windows 98*)]
+Parent=QuickTime 7.4
+Platform=Win98
+Win32=true
+
+[QuickTime (qtver=7.4*;os=Windows NT 4.0*)]
+Parent=QuickTime 7.4
+Platform=WinNT
+Win32=true
+
+[QuickTime (qtver=7.4*;os=Windows NT 5.0*)]
+Parent=QuickTime 7.4
+Platform=Win2000
+Win32=true
+
+[QuickTime (qtver=7.4*;os=Windows NT 5.1*)]
+Parent=QuickTime 7.4
+Platform=WinXP
+Win32=true
+
+[QuickTime (qtver=7.4*;os=Windows NT 5.2*)]
+Parent=QuickTime 7.4
+Platform=Win2003
+Win32=true
+
+[QuickTime/7.4.* (qtver=7.4.*;*;os=Mac 10.*)*]
+Parent=QuickTime 7.4
+Platform=MacOSX
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Google Android
+
+[Android]
+Parent=DefaultProperties
+Browser=Android
+Frames=true
+Tables=true
+Cookies=true
+JavaScript=true
+isMobileDevice=true
+
+[Mozilla/5.0 (Linux; U; Android *; *) AppleWebKit/* (KHTML, like Gecko) Safari/*]
+Parent=Android
+Browser=Android
+Platform=Linux
+isMobileDevice=true
+
+[Mozilla/5.0 (Linux; U; Android *; *) AppleWebKit/* (KHTML, like Gecko) Version/3.0.* Mobile Safari/*]
+Parent=Android
+Browser=Android
+Platform=Linux
+isMobileDevice=true
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; BlackBerry
+
+[BlackBerry]
+Parent=DefaultProperties
+Browser=BlackBerry
+Frames=true
+Tables=true
+Cookies=true
+JavaScript=true
+isMobileDevice=true
+
+[*BlackBerry*]
+Parent=BlackBerry
+
+[*BlackBerrySimulator/*]
+Parent=BlackBerry
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Handspring Blazer
+
+[Blazer]
+Parent=DefaultProperties
+Browser=Handspring Blazer
+Platform=Palm
+Frames=true
+Tables=true
+Cookies=true
+isMobileDevice=true
+
+[Mozilla/4.0 (compatible; MSIE 6.0; Windows 95; PalmSource; Blazer 3.0) 16;160x160]
+Parent=Blazer
+Version=3.0
+MajorVer=3
+MinorVer=0
+
+[Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; PalmSource/*; Blazer/4.0) 16;320x448]
+Parent=Blazer
+Version=4.0
+MajorVer=4
+MinorVer=0
+
+[Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; PalmSource/*; Blazer/4.1) 16;320x320]
+Parent=Blazer
+Version=4.1
+MajorVer=4
+MinorVer=1
+
+[Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; PalmSource/*; Blazer/4.2) 16;320x320]
+Parent=Blazer
+Version=4.2
+MajorVer=4
+MinorVer=2
+
+[Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; PalmSource/*; Blazer/4.4) 16;320x320]
+Parent=Blazer
+Version=4.4
+MajorVer=4
+MinorVer=4
+
+[Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; PalmSource/*; Blazer/4.5) 16;320x320]
+Parent=Blazer
+Version=4.5
+MajorVer=4
+MinorVer=5
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; DoCoMo
+
+[DoCoMo]
+Parent=DefaultProperties
+Browser=DoCoMo
+Frames=true
+Tables=true
+Cookies=true
+JavaScript=true
+isMobileDevice=true
+
+[DoCoMo/1.0*]
+Parent=DoCoMo
+Version=1.0
+MajorVer=1
+MinorVer=0
+Platform=WAP
+
+[DoCoMo/2.0*]
+Parent=DoCoMo
+Version=2.0
+MajorVer=2
+MinorVer=0
+Platform=WAP
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; IEMobile
+
+[IEMobile]
+Parent=DefaultProperties
+Browser=IEMobile
+Platform=WinCE
+Win32=true
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+VBScript=true
+JavaScript=true
+ActiveXControls=true
+isMobileDevice=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 6.*)*]
+Parent=IEMobile
+Version=6.0
+MajorVer=6
+MinorVer=0
+
+[Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.*)*]
+Parent=IEMobile
+Version=7.0
+MajorVer=7
+MinorVer=0
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; iPhone
+
+[iPhone]
+Parent=DefaultProperties
+Browser=iPhone
+Platform=iPhone OSX
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+BackgroundSounds=true
+JavaApplets=true
+JavaScript=true
+isMobileDevice=true
+CssVersion=3
+supportsCSS=true
+
+[Mozilla/4.0 (iPhone; *)]
+Parent=iPhone
+
+[Mozilla/4.0 (iPhone; U; CPU like Mac OS X; *)]
+Parent=iPhone
+
+[Mozilla/5.0 (iPhone Simulator; U; CPU iPhone OS 2_* like Mac OS X; *) AppleWebKit/* (KHTML, like Gecko) Version/3.1* Mobile/* Safari/*]
+Parent=iPhone
+Browser=iPhone Simulator
+Version=3.1
+MajorVer=3
+MinorVer=1
+
+[Mozilla/5.0 (iPhone Simulator; U; CPU iPhone OS 2_0_1 like Mac OS X; *) AppleWebKit/* (KHTML, like Gecko) Version/3.1* Mobile/* Safari/*]
+Parent=iPhone
+Browser=iPhone Simulator
+Version=3.1
+MajorVer=3
+MinorVer=1
+
+[Mozilla/5.0 (iPhone Simulator; U; CPU iPhone OS 2_1 like Mac OS X; *) AppleWebKit/* (KHTML, like Gecko) Version/3.1* Mobile/* Safari/*]
+Parent=iPhone
+Browser=iPhone Simulator
+Version=3.1
+MajorVer=3
+MinorVer=1
+
+[Mozilla/5.0 (iPhone)]
+Parent=iPhone
+
+[Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_* like Mac OS X; *) AppleWebKit/* (KHTML, like Gecko)]
+Parent=iPhone
+Version=3.1
+MajorVer=3
+MinorVer=1
+
+[Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_* like Mac OS X; *) AppleWebKit/* (KHTML, like Gecko) Version/3.1* Mobile/* Safari/*]
+Parent=iPhone
+Version=3.1
+MajorVer=3
+MinorVer=1
+
+[Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_0* like Mac OS X; *) AppleWebKit/* (KHTML, like Gecko) Version/3.1* Mobile/* Safari/*]
+Parent=iPhone
+Version=3.1
+MajorVer=3
+MinorVer=1
+
+[Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_0_2 like Mac OS X; *) AppleWebKit/* (KHTML, like Gecko)]
+Parent=iPhone
+
+[Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_1 like Mac OS X; *)*]
+Parent=iPhone
+
+[Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_2_1 like Mac OS X; *)]
+Parent=iPhone
+
+[Mozilla/5.0 (iPhone; U; CPU like Mac OS X; *) AppleWebKit/* (KHTML, like Gecko) Version/3.0 Mobile/* Safari/*]
+Parent=iPhone
+Version=3.0
+MajorVer=3
+MinorVer=0
+
+[Mozilla/5.0 (iPod; U; *Mac OS X; *) AppleWebKit/* (*) Version/* Mobile/*]
+Parent=iPhone
+Browser=iTouch
+
+[Mozilla/5.0 (iPod; U; CPU iPhone OS 2_2* like Mac OS X; *)*]
+Parent=iPhone
+Browser=iTouch
+Version=2.2
+MajorVer=2
+MinorVer=2
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; KDDI
+
+[KDDI]
+Parent=DefaultProperties
+Browser=KDDI
+Frames=true
+Tables=true
+Cookies=true
+BackgroundSounds=true
+VBScript=true
+JavaScript=true
+ActiveXControls=true
+isMobileDevice=true
+CssVersion=1
+supportsCSS=true
+
+[KDDI-* UP.Browser/* (GUI) MMP/*]
+Parent=KDDI
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Miscellaneous Mobile
+
+[Miscellaneous Mobile]
+Parent=DefaultProperties
+Browser=
+IFrames=true
+Tables=true
+Cookies=true
+JavaScript=true
+isMobileDevice=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/5.0 (X11; *; CentOS; *) AppleWebKit/* (KHTML, like Gecko) Bolt/0.* Version/3.0 Safari/*]
+Parent=Miscellaneous Mobile
+Browser=Bolt
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Motorola Internet Browser
+
+[Motorola Internet Browser]
+Parent=DefaultProperties
+Browser=Motorola Internet Browser
+Frames=true
+Tables=true
+Cookies=true
+isMobileDevice=true
+
+[MOT-*/*]
+Parent=Motorola Internet Browser
+
+[MOT-1*/* UP.Browser/*]
+Parent=Motorola Internet Browser
+
+[MOT-8700_/* UP.Browser/*]
+Parent=Motorola Internet Browser
+
+[MOT-A-0A/* UP.Browser/*]
+Parent=Motorola Internet Browser
+
+[MOT-A-2B/* UP.Browser/*]
+Parent=Motorola Internet Browser
+
+[MOT-A-88/* UP.Browser/*]
+Parent=Motorola Internet Browser
+
+[MOT-C???/* MIB/*]
+Parent=Motorola Internet Browser
+
+[MOT-GATW_/* UP.Browser/*]
+Parent=Motorola Internet Browser
+
+[MOT-L6/* MIB/*]
+Parent=Motorola Internet Browser
+
+[MOT-L7/* MIB/*]
+Parent=Motorola Internet Browser
+
+[MOT-M*/* UP.Browser/*]
+Parent=Motorola Internet Browser
+
+[MOT-MP*/* Mozilla/* (compatible; MSIE *; Windows CE; *)]
+Parent=Motorola Internet Browser
+Win32=true
+
+[MOT-MP*/* Mozilla/4.0 (compatible; MSIE *; Windows CE; *)]
+Parent=Motorola Internet Browser
+Win32=true
+
+[MOT-SAP4_/* UP.Browser/*]
+Parent=Motorola Internet Browser
+
+[MOT-T*/*]
+Parent=Motorola Internet Browser
+
+[MOT-T7*/* MIB/*]
+Parent=Motorola Internet Browser
+
+[MOT-T721*]
+Parent=Motorola Internet Browser
+
+[MOT-TA02/* MIB/*]
+Parent=Motorola Internet Browser
+
+[MOT-V*/*]
+Parent=Motorola Internet Browser
+
+[MOT-V*/* MIB/*]
+Parent=Motorola Internet Browser
+
+[MOT-V*/* UP.Browser/*]
+Parent=Motorola Internet Browser
+
+[MOT-V3/* MIB/*]
+Parent=Motorola Internet Browser
+
+[MOT-V4*/* MIB/*]
+Parent=Motorola Internet Browser
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; MSN Mobile Proxy
+
+[MSN Mobile Proxy]
+Parent=DefaultProperties
+Browser=MSN Mobile Proxy
+Win32=true
+Frames=true
+Tables=true
+Cookies=true
+JavaScript=true
+ActiveXControls=true
+isMobileDevice=true
+
+[Mozilla/* (compatible; MSIE *; Windows*; MSN Mobile Proxy)]
+Parent=MSN Mobile Proxy
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; NetFront
+
+[NetFront]
+Parent=DefaultProperties
+Browser=NetFront
+Frames=true
+Tables=true
+Cookies=true
+JavaScript=true
+isMobileDevice=true
+
+[*NetFront/*]
+Parent=NetFront
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Nokia
+
+[Nokia]
+Parent=DefaultProperties
+Browser=Nokia
+Tables=true
+Cookies=true
+isMobileDevice=true
+
+[*Nokia*/*]
+Parent=Nokia
+
+[Mozilla/* (SymbianOS/*; ?; *) AppleWebKit/* (KHTML, like Gecko) Safari/*]
+Parent=Nokia
+Platform=SymbianOS
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Openwave Mobile Browser
+
+[Openwave Mobile Browser]
+Parent=DefaultProperties
+Browser=Openwave Mobile Browser
+Alpha=true
+Win32=true
+Win64=true
+Frames=true
+Tables=true
+Cookies=true
+isMobileDevice=true
+
+[*UP.Browser/*]
+Parent=Openwave Mobile Browser
+
+[*UP.Link/*]
+Parent=Openwave Mobile Browser
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera Mini
+
+[Opera Mini]
+Parent=DefaultProperties
+Browser=Opera Mini
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaScript=true
+isMobileDevice=true
+
+[Opera/* (J2ME/MIDP; Opera Mini/1.0*)*]
+Parent=Opera Mini
+Version=1.0
+MajorVer=1
+MinorVer=0
+
+[Opera/* (J2ME/MIDP; Opera Mini/1.1*)*]
+Parent=Opera Mini
+Version=1.1
+MajorVer=1
+MinorVer=1
+
+[Opera/* (J2ME/MIDP; Opera Mini/1.2*)*]
+Parent=Opera Mini
+Version=1.2
+MajorVer=1
+MinorVer=2
+
+[Opera/* (J2ME/MIDP; Opera Mini/2.0*)*]
+Parent=Opera Mini
+Version=2.0
+MajorVer=2
+MinorVer=0
+
+[Opera/* (J2ME/MIDP; Opera Mini/3.0*)*]
+Parent=Opera Mini
+Version=3.0
+MajorVer=3
+MinorVer=0
+
+[Opera/* (J2ME/MIDP; Opera Mini/3.1*)*]
+Parent=Opera Mini
+Version=3.1
+MajorVer=3
+MinorVer=1
+
+[Opera/* (J2ME/MIDP; Opera Mini/4.0*)*]
+Parent=Opera Mini
+Version=4.0
+MajorVer=4
+MinorVer=0
+
+[Opera/* (J2ME/MIDP; Opera Mini/4.1*)*]
+Parent=Opera Mini
+Version=4.1
+MajorVer=4
+MinorVer=1
+
+[Opera/* (J2ME/MIDP; Opera Mini/4.2*)*]
+Parent=Opera Mini
+Version=4.2
+MajorVer=4
+MinorVer=2
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera Mobile
+
+[Opera Mobile]
+Parent=DefaultProperties
+Browser=Opera Mobi
+Frames=true
+Tables=true
+Cookies=true
+isMobileDevice=true
+
+[Opera/9.5 (Microsoft Windows; PPC; *Opera Mobile/*)]
+Parent=Opera Mobile
+Version=9.5
+MajorVer=9
+MinorVer=5
+
+[Opera/9.5 (Microsoft Windows; PPC; Opera Mobi/*)]
+Parent=Opera Mobile
+Version=9.5
+MajorVer=9
+MinorVer=5
+
+[Opera/9.51 Beta (Microsoft Windows; PPC; Opera Mobi/*)*]
+Parent=Opera Mobile
+Version=9.51
+MajorVer=9
+MinorVer=51
+Beta=true
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Playstation
+
+[Playstation]
+Parent=DefaultProperties
+Browser=Playstation
+Platform=WAP
+Frames=true
+Tables=true
+Cookies=true
+isMobileDevice=true
+
+[Mozilla/* (PLAYSTATION *; *)]
+Parent=Playstation
+Browser=PlayStation 3
+Frames=false
+
+[Mozilla/* (PSP (PlayStation Portable); *)]
+Parent=Playstation
+
+[Sony PS2 (Linux)]
+Parent=Playstation
+Browser=Sony PS2
+Platform=Linux
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Pocket PC
+
+[Pocket PC]
+Parent=DefaultProperties
+Browser=Pocket PC
+Platform=WinCE
+Win32=true
+Frames=true
+Tables=true
+Cookies=true
+JavaScript=true
+ActiveXControls=true
+isMobileDevice=true
+CssVersion=1
+supportsCSS=true
+
+[*(compatible; MSIE *.*; Windows CE; PPC; *)]
+Parent=Pocket PC
+
+[HTC-*/* Mozilla/* (compatible; MSIE *.*; Windows CE*)*]
+Parent=Pocket PC
+Win32=true
+
+[Mozilla/* (compatible; MSPIE *.*; *Windows CE*)*]
+Parent=Pocket PC
+Win32=true
+
+[T-Mobile* Mozilla/* (compatible; MSIE *.*; Windows CE; *)]
+Parent=Pocket PC
+
+[Vodafone* Mozilla/* (compatible; MSIE *.*; Windows CE; *)*]
+Parent=Pocket PC
+
+[Windows CE (Pocket PC) - Version *.*]
+Parent=Pocket PC
+Win32=true
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SEMC Browser
+
+[SEMC Browser]
+Parent=DefaultProperties
+Browser=SEMC Browser
+Platform=JAVA
+Tables=true
+isMobileDevice=true
+CssVersion=1
+supportsCSS=true
+
+[*SEMC-Browser/*]
+Parent=SEMC Browser
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SonyEricsson
+
+[SonyEricsson]
+Parent=DefaultProperties
+Browser=SonyEricsson
+Frames=true
+Tables=true
+Cookies=true
+JavaScript=true
+isMobileDevice=true
+CssVersion=1
+supportsCSS=true
+
+[*Ericsson*]
+Parent=SonyEricsson
+
+[*SonyEricsson*]
+Parent=SonyEricsson
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Netbox
+
+[Netbox]
+Parent=DefaultProperties
+Browser=Netbox
+Frames=true
+Tables=true
+Cookies=true
+JavaScript=true
+CssVersion=1
+supportsCSS=true
+
+[Mozilla/3.01 (compatible; Netbox/*; Linux*)]
+Parent=Netbox
+Browser=Netbox
+Platform=Linux
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; PowerTV
+
+[PowerTV]
+Parent=DefaultProperties
+Browser=PowerTV
+Platform=PowerTV
+Frames=true
+Tables=true
+Cookies=true
+JavaScript=true
+
+[Mozilla/4.0 PowerTV/1.5 (Compatible; Spyglass DM 3.2.1, EXPLORER)]
+Parent=PowerTV
+Version=1.5
+MajorVer=1
+MinorVer=5
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; WebTV/MSNTV
+
+[WebTV]
+Parent=DefaultProperties
+Browser=WebTV/MSNTV
+Platform=WebTV
+Frames=true
+Tables=true
+Cookies=true
+JavaScript=true
+
+[Mozilla/3.0 WebTV/1.*(compatible; MSIE 2.0)]
+Parent=WebTV
+Version=1.0
+MajorVer=1
+MinorVer=0
+
+[Mozilla/4.0 WebTV/2.0*(compatible; MSIE 3.0)]
+Parent=WebTV
+Version=2.0
+MajorVer=2
+MinorVer=0
+
+[Mozilla/4.0 WebTV/2.1*(compatible; MSIE 3.0)]
+Parent=WebTV
+Version=2.1
+MajorVer=2
+MinorVer=1
+
+[Mozilla/4.0 WebTV/2.2*(compatible; MSIE 3.0)]
+Parent=WebTV
+Version=2.2
+MajorVer=2
+MinorVer=2
+
+[Mozilla/4.0 WebTV/2.3*(compatible; MSIE 3.0)]
+Parent=WebTV
+Version=2.3
+MajorVer=2
+MinorVer=3
+
+[Mozilla/4.0 WebTV/2.4*(compatible; MSIE 3.0)]
+Parent=WebTV
+Version=2.4
+MajorVer=2
+MinorVer=4
+
+[Mozilla/4.0 WebTV/2.5*(compatible; MSIE 4.0)]
+Parent=WebTV
+Version=2.5
+MajorVer=2
+MinorVer=5
+CssVersion=1
+supportsCSS=true
+
+[Mozilla/4.0 WebTV/2.6*(compatible; MSIE 4.0)]
+Parent=WebTV
+Version=2.6
+MajorVer=2
+MinorVer=6
+CssVersion=1
+supportsCSS=true
+
+[Mozilla/4.0 WebTV/2.7*(compatible; MSIE 4.0)]
+Parent=WebTV
+Version=2.7
+MajorVer=2
+MinorVer=7
+CssVersion=1
+supportsCSS=true
+
+[Mozilla/4.0 WebTV/2.8*(compatible; MSIE 4.0)]
+Parent=WebTV
+Version=2.8
+MajorVer=2
+MinorVer=8
+JavaApplets=true
+CssVersion=1
+supportsCSS=true
+
+[Mozilla/4.0 WebTV/2.9*(compatible; MSIE 4.0)]
+Parent=WebTV
+Version=2.9
+MajorVer=2
+MinorVer=9
+JavaApplets=true
+CssVersion=1
+supportsCSS=true
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Amaya
+
+[Amaya]
+Parent=DefaultProperties
+Browser=Amaya
+Tables=true
+Cookies=true
+
+[amaya/7.*]
+Parent=Amaya
+Version=7.0
+MajorVer=7
+MinorVer=0
+
+[amaya/8.0*]
+Parent=Amaya
+Version=8.0
+MajorVer=8
+MinorVer=0
+CssVersion=2
+supportsCSS=true
+
+[amaya/8.1*]
+Parent=Amaya
+Version=8.1
+MajorVer=8
+MinorVer=1
+CssVersion=2
+supportsCSS=true
+
+[amaya/8.2*]
+Parent=Amaya
+Version=8.2
+MajorVer=8
+MinorVer=2
+CssVersion=2
+supportsCSS=true
+
+[amaya/8.3*]
+Parent=Amaya
+Version=8.3
+MajorVer=8
+MinorVer=3
+CssVersion=2
+supportsCSS=true
+
+[amaya/8.4*]
+Parent=Amaya
+Version=8.4
+MajorVer=8
+MinorVer=4
+CssVersion=2
+supportsCSS=true
+
+[amaya/8.5*]
+Parent=Amaya
+Version=8.5
+MajorVer=8
+MinorVer=5
+CssVersion=2
+supportsCSS=true
+
+[amaya/8.6*]
+Parent=Amaya
+Version=8.6
+MajorVer=8
+MinorVer=6
+CssVersion=2
+supportsCSS=true
+
+[amaya/8.7*]
+Parent=Amaya
+Version=8.7
+MajorVer=8
+MinorVer=7
+CssVersion=2
+supportsCSS=true
+
+[amaya/8.8*]
+Parent=Amaya
+Version=8.8
+MajorVer=8
+MinorVer=8
+CssVersion=2
+supportsCSS=true
+
+[amaya/8.9*]
+Parent=Amaya
+Version=8.9
+MajorVer=8
+MinorVer=9
+CssVersion=2
+supportsCSS=true
+
+[amaya/9.0*]
+Parent=Amaya
+Version=9.0
+MajorVer=8
+MinorVer=0
+CssVersion=2
+supportsCSS=true
+
+[amaya/9.1*]
+Parent=Amaya
+Version=9.1
+MajorVer=9
+MinorVer=1
+CssVersion=2
+supportsCSS=true
+
+[amaya/9.2*]
+Parent=Amaya
+Version=9.2
+MajorVer=9
+MinorVer=2
+CssVersion=2
+supportsCSS=true
+
+[amaya/9.3*]
+Parent=Amaya
+Version=9.3
+MajorVer=9
+MinorVer=3
+
+[amaya/9.4*]
+Parent=Amaya
+Version=9.4
+MajorVer=9
+MinorVer=4
+
+[amaya/9.5*]
+Parent=Amaya
+Version=9.5
+MajorVer=9
+MinorVer=5
+
+[Emacs-w3m/*]
+Parent=Emacs/W3
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Links
+
+[Links]
+Parent=DefaultProperties
+Browser=Links
+Frames=true
+Tables=true
+
+[Links (0.9*; CYGWIN_NT-5.1*)]
+Parent=Links
+Browser=Links
+Version=0.9
+MajorVer=0
+MinorVer=9
+Platform=WinXP
+
+[Links (0.9*; Darwin*)]
+Parent=Links
+Version=0.9
+MajorVer=0
+MinorVer=9
+Platform=MacPPC
+
+[Links (0.9*; FreeBSD*)]
+Parent=Links
+Browser=Links
+Version=0.9
+MajorVer=0
+MinorVer=9
+Platform=FreeBSD
+
+[Links (0.9*; Linux*)]
+Parent=Links
+Browser=Links
+Version=0.9
+MajorVer=0
+MinorVer=9
+Platform=Linux
+
+[Links (0.9*; OS/2*)]
+Parent=Links
+Browser=Links
+Version=0.9
+MajorVer=0
+MinorVer=9
+Platform=OS/2
+
+[Links (0.9*; Unix*)]
+Parent=Links
+Browser=Links
+Version=0.9
+MajorVer=0
+MinorVer=9
+Platform=Unix
+
+[Links (0.9*; Win32*)]
+Parent=Links
+Browser=Links
+Version=0.9
+MajorVer=0
+MinorVer=9
+Platform=Win32
+Win32=true
+
+[Links (1.0*; CYGWIN_NT-5.1*)]
+Parent=Links
+Browser=Links
+Version=1.0
+MajorVer=1
+MinorVer=0
+Platform=WinXP
+
+[Links (1.0*; FreeBSD*)]
+Parent=Links
+Browser=Links
+Version=1.0
+MajorVer=1
+MinorVer=0
+Platform=FreeBSD
+
+[Links (1.0*; Linux*)]
+Parent=Links
+Browser=Links
+Version=1.0
+MajorVer=1
+MinorVer=0
+Platform=Linux
+
+[Links (1.0*; OS/2*)]
+Parent=Links
+Browser=Links
+Version=1.0
+MajorVer=1
+MinorVer=0
+Platform=OS/2
+
+[Links (1.0*; Unix*)]
+Parent=Links
+Browser=Links
+Version=1.0
+MajorVer=1
+MinorVer=0
+Platform=Unix
+
+[Links (1.0*; Win32*)]
+Parent=Links
+Browser=Links
+Version=1.0
+MajorVer=1
+MinorVer=0
+Platform=Win32
+Win32=true
+
+[Links (2.0*; Linux*)]
+Parent=Links
+Browser=Links
+Version=2.0
+MajorVer=2
+MinorVer=0
+Platform=Linux
+
+[Links (2.1*; FreeBSD*)]
+Parent=Links
+Browser=Links
+Version=2.1
+MajorVer=2
+MinorVer=1
+Platform=FreeBSD
+
+[Links (2.1*; Linux *)]
+Parent=Links
+Browser=Links
+Version=2.1
+MajorVer=2
+MinorVer=1
+Platform=Linux
+
+[Links (2.1*; OpenBSD*)]
+Parent=Links
+Browser=Links
+Version=2.1
+MajorVer=2
+MinorVer=1
+Platform=OpenBSD
+
+[Links (2.2*; FreeBSD*)]
+Parent=Links
+Version=2.2
+MajorVer=2
+MinorVer=2
+Platform=FreeBSD
+
+[Links (2.2*; Linux *)]
+Parent=Links
+Version=2.2
+MajorVer=2
+MinorVer=2
+Platform=Linux
+
+[Links (2.2*; OpenBSD*)]
+Parent=Links
+Version=2.2
+MajorVer=2
+MinorVer=2
+Platform=OpenBSD
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Lynx
+
+[Lynx]
+Parent=DefaultProperties
+Browser=Lynx
+Frames=true
+Tables=true
+
+[Lynx *]
+Parent=Lynx
+Browser=Lynx
+
+[Lynx/2.3*]
+Parent=Lynx
+Browser=Lynx
+Version=2.3
+MajorVer=2
+MinorVer=3
+
+[Lynx/2.4*]
+Parent=Lynx
+Browser=Lynx
+Version=2.4
+MajorVer=2
+MinorVer=4
+
+[Lynx/2.5*]
+Parent=Lynx
+Browser=Lynx
+Version=2.5
+MajorVer=2
+MinorVer=5
+
+[Lynx/2.6*]
+Parent=Lynx
+Browser=Lynx
+Version=2.6
+MajorVer=2
+MinorVer=6
+
+[Lynx/2.7*]
+Parent=Lynx
+Browser=Lynx
+Version=2.7
+MajorVer=2
+MinorVer=7
+
+[Lynx/2.8*]
+Parent=Lynx
+Browser=Lynx
+Version=2.8
+MajorVer=2
+MinorVer=8
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; NCSA Mosaic
+
+[Mosaic]
+Parent=DefaultProperties
+Browser=Mosaic
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; w3m
+
+[w3m]
+Parent=DefaultProperties
+Browser=w3m
+Frames=true
+Tables=true
+
+[w3m/0.1*]
+Parent=w3m
+Browser=w3m
+Version=0.1
+MajorVer=0
+MinorVer=1
+
+[w3m/0.2*]
+Parent=w3m
+Browser=w3m
+Version=0.2
+MajorVer=0
+MinorVer=2
+
+[w3m/0.3*]
+Parent=w3m
+Browser=w3m
+Version=0.3
+MajorVer=0
+MinorVer=3
+
+[w3m/0.4*]
+Parent=w3m
+Browser=w3m
+Version=0.4
+MajorVer=0
+MinorVer=4
+Cookies=true
+
+[w3m/0.5*]
+Parent=w3m
+Browser=w3m
+Version=0.5
+MajorVer=0
+MinorVer=5
+Cookies=true
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ELinks 0.10
+
+[ELinks 0.10]
+Parent=DefaultProperties
+Browser=ELinks
+Version=0.10
+MinorVer=10
+Frames=true
+Tables=true
+
+[ELinks (0.10*; *AIX*)]
+Parent=ELinks 0.10
+Platform=AIX
+
+[ELinks (0.10*; *BeOS*)]
+Parent=ELinks 0.10
+Platform=BeOS
+
+[ELinks (0.10*; *CygWin*)]
+Parent=ELinks 0.10
+Platform=CygWin
+
+[ELinks (0.10*; *Darwin*)]
+Parent=ELinks 0.10
+Platform=Darwin
+
+[ELinks (0.10*; *Digital Unix*)]
+Parent=ELinks 0.10
+Platform=Digital Unix
+
+[ELinks (0.10*; *FreeBSD*)]
+Parent=ELinks 0.10
+Platform=FreeBSD
+
+[ELinks (0.10*; *HPUX*)]
+Parent=ELinks 0.10
+Platform=HP-UX
+
+[ELinks (0.10*; *IRIX*)]
+Parent=ELinks 0.10
+Platform=IRIX
+
+[ELinks (0.10*; *Linux*)]
+Parent=ELinks 0.10
+Platform=Linux
+
+[ELinks (0.10*; *NetBSD*)]
+Parent=ELinks 0.10
+Platform=NetBSD
+
+[ELinks (0.10*; *OpenBSD*)]
+Parent=ELinks 0.10
+Platform=OpenBSD
+
+[ELinks (0.10*; *OS/2*)]
+Parent=ELinks 0.10
+Platform=OS/2
+
+[ELinks (0.10*; *RISC*)]
+Parent=ELinks 0.10
+Platform=RISC OS
+
+[ELinks (0.10*; *Solaris*)]
+Parent=ELinks 0.10
+Platform=Solaris
+
+[ELinks (0.10*; *Unix*)]
+Parent=ELinks 0.10
+Platform=Unix
+
+[ELinks/0.10* (*AIX*)]
+Parent=ELinks 0.10
+Platform=AIX
+
+[ELinks/0.10* (*BeOS*)]
+Parent=ELinks 0.10
+Platform=BeOS
+
+[ELinks/0.10* (*CygWin*)]
+Parent=ELinks 0.10
+Platform=CygWin
+
+[ELinks/0.10* (*Darwin*)]
+Parent=ELinks 0.10
+Platform=Darwin
+
+[ELinks/0.10* (*Digital Unix*)]
+Parent=ELinks 0.10
+Platform=Digital Unix
+
+[ELinks/0.10* (*FreeBSD*)]
+Parent=ELinks 0.10
+Platform=FreeBSD
+
+[ELinks/0.10* (*HPUX*)]
+Parent=ELinks 0.10
+Platform=HP-UX
+
+[ELinks/0.10* (*IRIX*)]
+Parent=ELinks 0.10
+Platform=IRIX
+
+[ELinks/0.10* (*Linux*)]
+Parent=ELinks 0.10
+Platform=Linux
+
+[ELinks/0.10* (*NetBSD*)]
+Parent=ELinks 0.10
+Platform=NetBSD
+
+[ELinks/0.10* (*OpenBSD*)]
+Parent=ELinks 0.10
+Platform=OpenBSD
+
+[ELinks/0.10* (*OS/2*)]
+Parent=ELinks 0.10
+Platform=OS/2
+
+[ELinks/0.10* (*RISC*)]
+Parent=ELinks 0.10
+Platform=RISC OS
+
+[ELinks/0.10* (*Solaris*)]
+Parent=ELinks 0.10
+Platform=Solaris
+
+[ELinks/0.10* (*Unix*)]
+Parent=ELinks 0.10
+Platform=Unix
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ELinks 0.11
+
+[ELinks 0.11]
+Parent=DefaultProperties
+Browser=ELinks
+Version=0.11
+MinorVer=11
+Frames=true
+Tables=true
+
+[ELinks (0.11*; *AIX*)]
+Parent=ELinks 0.11
+Platform=AIX
+
+[ELinks (0.11*; *BeOS*)]
+Parent=ELinks 0.11
+Platform=BeOS
+
+[ELinks (0.11*; *CygWin*)]
+Parent=ELinks 0.11
+Platform=CygWin
+
+[ELinks (0.11*; *Darwin*)]
+Parent=ELinks 0.11
+Platform=Darwin
+
+[ELinks (0.11*; *Digital Unix*)]
+Parent=ELinks 0.11
+Platform=Digital Unix
+
+[ELinks (0.11*; *FreeBSD*)]
+Parent=ELinks 0.11
+Platform=FreeBSD
+
+[ELinks (0.11*; *HPUX*)]
+Parent=ELinks 0.11
+Platform=HP-UX
+
+[ELinks (0.11*; *IRIX*)]
+Parent=ELinks 0.11
+Platform=IRIX
+
+[ELinks (0.11*; *Linux*)]
+Parent=ELinks 0.11
+Platform=Linux
+
+[ELinks (0.11*; *NetBSD*)]
+Parent=ELinks 0.11
+Platform=NetBSD
+
+[ELinks (0.11*; *OpenBSD*)]
+Parent=ELinks 0.11
+Platform=OpenBSD
+
+[ELinks (0.11*; *OS/2*)]
+Parent=ELinks 0.11
+Platform=OS/2
+
+[ELinks (0.11*; *RISC*)]
+Parent=ELinks 0.11
+Platform=RISC OS
+
+[ELinks (0.11*; *Solaris*)]
+Parent=ELinks 0.11
+Platform=Solaris
+
+[ELinks (0.11*; *Unix*)]
+Parent=ELinks 0.11
+Platform=Unix
+
+[ELinks/0.11* (*AIX*)]
+Parent=ELinks 0.11
+Platform=AIX
+
+[ELinks/0.11* (*BeOS*)]
+Parent=ELinks 0.11
+Platform=BeOS
+
+[ELinks/0.11* (*CygWin*)]
+Parent=ELinks 0.11
+Platform=CygWin
+
+[ELinks/0.11* (*Darwin*)]
+Parent=ELinks 0.11
+Platform=Darwin
+
+[ELinks/0.11* (*Digital Unix*)]
+Parent=ELinks 0.11
+Platform=Digital Unix
+
+[ELinks/0.11* (*FreeBSD*)]
+Parent=ELinks 0.11
+Platform=FreeBSD
+
+[ELinks/0.11* (*HPUX*)]
+Parent=ELinks 0.11
+Platform=HP-UX
+
+[ELinks/0.11* (*IRIX*)]
+Parent=ELinks 0.11
+Platform=IRIX
+
+[ELinks/0.11* (*Linux*)]
+Parent=ELinks 0.11
+Platform=Linux
+
+[ELinks/0.11* (*NetBSD*)]
+Parent=ELinks 0.11
+Platform=NetBSD
+
+[ELinks/0.11* (*OpenBSD*)]
+Parent=ELinks 0.11
+Platform=OpenBSD
+
+[ELinks/0.11* (*OS/2*)]
+Parent=ELinks 0.11
+Platform=OS/2
+
+[ELinks/0.11* (*RISC*)]
+Parent=ELinks 0.11
+Platform=RISC OS
+
+[ELinks/0.11* (*Solaris*)]
+Parent=ELinks 0.11
+Platform=Solaris
+
+[ELinks/0.11* (*Unix*)]
+Parent=ELinks 0.11
+Platform=Unix
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ELinks 0.12
+
+[ELinks 0.12]
+Parent=DefaultProperties
+Browser=ELinks
+Version=0.12
+MinorVer=12
+Frames=true
+Tables=true
+
+[ELinks (0.12*; *AIX*)]
+Parent=ELinks 0.12
+Platform=AIX
+
+[ELinks (0.12*; *BeOS*)]
+Parent=ELinks 0.12
+Platform=BeOS
+
+[ELinks (0.12*; *CygWin*)]
+Parent=ELinks 0.12
+Platform=CygWin
+
+[ELinks (0.12*; *Darwin*)]
+Parent=ELinks 0.12
+Platform=Darwin
+
+[ELinks (0.12*; *Digital Unix*)]
+Parent=ELinks 0.12
+Platform=Digital Unix
+
+[ELinks (0.12*; *FreeBSD*)]
+Parent=ELinks 0.12
+Platform=FreeBSD
+
+[ELinks (0.12*; *HPUX*)]
+Parent=ELinks 0.12
+Platform=HP-UX
+
+[ELinks (0.12*; *IRIX*)]
+Parent=ELinks 0.12
+Platform=IRIX
+
+[ELinks (0.12*; *Linux*)]
+Parent=ELinks 0.12
+Platform=Linux
+
+[ELinks (0.12*; *NetBSD*)]
+Parent=ELinks 0.12
+Platform=NetBSD
+
+[ELinks (0.12*; *OpenBSD*)]
+Parent=ELinks 0.12
+Platform=OpenBSD
+
+[ELinks (0.12*; *OS/2*)]
+Parent=ELinks 0.12
+Platform=OS/2
+
+[ELinks (0.12*; *RISC*)]
+Parent=ELinks 0.12
+Platform=RISC OS
+
+[ELinks (0.12*; *Solaris*)]
+Parent=ELinks 0.12
+Platform=Solaris
+
+[ELinks (0.12*; *Unix*)]
+Parent=ELinks 0.12
+Platform=Unix
+
+[ELinks/0.12* (*AIX*)]
+Parent=ELinks 0.12
+Platform=AIX
+
+[ELinks/0.12* (*BeOS*)]
+Parent=ELinks 0.12
+Platform=BeOS
+
+[ELinks/0.12* (*CygWin*)]
+Parent=ELinks 0.12
+Platform=CygWin
+
+[ELinks/0.12* (*Darwin*)]
+Parent=ELinks 0.12
+Platform=Darwin
+
+[ELinks/0.12* (*Digital Unix*)]
+Parent=ELinks 0.12
+Platform=Digital Unix
+
+[ELinks/0.12* (*FreeBSD*)]
+Parent=ELinks 0.12
+Platform=FreeBSD
+
+[ELinks/0.12* (*HPUX*)]
+Parent=ELinks 0.12
+Platform=HP-UX
+
+[ELinks/0.12* (*IRIX*)]
+Parent=ELinks 0.12
+Platform=IRIX
+
+[ELinks/0.12* (*Linux*)]
+Parent=ELinks 0.12
+Platform=Linux
+
+[ELinks/0.12* (*NetBSD*)]
+Parent=ELinks 0.12
+Platform=NetBSD
+
+[ELinks/0.12* (*OpenBSD*)]
+Parent=ELinks 0.12
+Platform=OpenBSD
+
+[ELinks/0.12* (*OS/2*)]
+Parent=ELinks 0.12
+Platform=OS/2
+
+[ELinks/0.12* (*RISC*)]
+Parent=ELinks 0.12
+Platform=RISC OS
+
+[ELinks/0.12* (*Solaris*)]
+Parent=ELinks 0.12
+Platform=Solaris
+
+[ELinks/0.12* (*Unix*)]
+Parent=ELinks 0.12
+Platform=Unix
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ELinks 0.9
+
+[ELinks 0.9]
+Parent=DefaultProperties
+Browser=ELinks
+Version=0.9
+MinorVer=9
+Frames=true
+Tables=true
+
+[ELinks (0.9*; *AIX*)]
+Parent=ELinks 0.9
+Platform=AIX
+
+[ELinks (0.9*; *BeOS*)]
+Parent=ELinks 0.9
+Platform=BeOS
+
+[ELinks (0.9*; *CygWin*)]
+Parent=ELinks 0.9
+Platform=CygWin
+
+[ELinks (0.9*; *Darwin*)]
+Parent=ELinks 0.9
+Platform=Darwin
+
+[ELinks (0.9*; *Digital Unix*)]
+Parent=ELinks 0.9
+Platform=Digital Unix
+
+[ELinks (0.9*; *FreeBSD*)]
+Parent=ELinks 0.9
+Platform=FreeBSD
+
+[ELinks (0.9*; *HPUX*)]
+Parent=ELinks 0.9
+Platform=HP-UX
+
+[ELinks (0.9*; *IRIX*)]
+Parent=ELinks 0.9
+Platform=IRIX
+
+[ELinks (0.9*; *Linux*)]
+Parent=ELinks 0.9
+Platform=Linux
+
+[ELinks (0.9*; *NetBSD*)]
+Parent=ELinks 0.9
+Platform=NetBSD
+
+[ELinks (0.9*; *OpenBSD*)]
+Parent=ELinks 0.9
+Platform=OpenBSD
+
+[ELinks (0.9*; *OS/2*)]
+Parent=ELinks 0.9
+Platform=OS/2
+
+[ELinks (0.9*; *RISC*)]
+Parent=ELinks 0.9
+Platform=RISC OS
+
+[ELinks (0.9*; *Solaris*)]
+Parent=ELinks 0.9
+Platform=Solaris
+
+[ELinks (0.9*; *Unix*)]
+Parent=ELinks 0.9
+Platform=Unix
+
+[ELinks/0.9* (*AIX*)]
+Parent=ELinks 0.9
+Platform=AIX
+
+[ELinks/0.9* (*BeOS*)]
+Parent=ELinks 0.9
+Platform=BeOS
+
+[ELinks/0.9* (*CygWin*)]
+Parent=ELinks 0.9
+Platform=CygWin
+
+[ELinks/0.9* (*Darwin*)]
+Parent=ELinks 0.9
+Platform=Darwin
+
+[ELinks/0.9* (*Digital Unix*)]
+Parent=ELinks 0.9
+Platform=Digital Unix
+
+[ELinks/0.9* (*FreeBSD*)]
+Parent=ELinks 0.9
+Platform=FreeBSD
+
+[ELinks/0.9* (*HPUX*)]
+Parent=ELinks 0.9
+Platform=HP-UX
+
+[ELinks/0.9* (*IRIX*)]
+Parent=ELinks 0.9
+Platform=IRIX
+
+[ELinks/0.9* (*Linux*)]
+Parent=ELinks 0.9
+Platform=Linux
+
+[ELinks/0.9* (*NetBSD*)]
+Parent=ELinks 0.9
+Platform=NetBSD
+
+[ELinks/0.9* (*OpenBSD*)]
+Parent=ELinks 0.9
+Platform=OpenBSD
+
+[ELinks/0.9* (*OS/2*)]
+Parent=ELinks 0.9
+Platform=OS/2
+
+[ELinks/0.9* (*RISC*)]
+Parent=ELinks 0.9
+Platform=RISC OS
+
+[ELinks/0.9* (*Solaris*)]
+Parent=ELinks 0.9
+Platform=Solaris
+
+[ELinks/0.9* (*Unix*)]
+Parent=ELinks 0.9
+Platform=Unix
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; AppleWebKit
+
+[AppleWebKit]
+Parent=DefaultProperties
+Browser=AppleWebKit
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+BackgroundSounds=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (KHTML, like Gecko)]
+Parent=AppleWebKit
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Camino
+
+[Camino]
+Parent=DefaultProperties
+Browser=Camino
+Platform=MacOSX
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/5.0 (Macintosh; *Mac OS X*) Gecko/* Camino/0.7*]
+Parent=Camino
+Version=0.7
+MajorVer=0
+MinorVer=7
+Beta=true
+
+[Mozilla/5.0 (Macintosh; *Mac OS X*) Gecko/* Camino/0.8*]
+Parent=Camino
+Version=0.8
+MajorVer=0
+MinorVer=8
+Beta=true
+
+[Mozilla/5.0 (Macintosh; *Mac OS X*) Gecko/* Camino/0.9*]
+Parent=Camino
+Version=0.9
+MajorVer=0
+MinorVer=9
+Beta=true
+
+[Mozilla/5.0 (Macintosh; *Mac OS X*) Gecko/* Camino/1.0*]
+Parent=Camino
+Version=1.0
+MajorVer=1
+MinorVer=0
+
+[Mozilla/5.0 (Macintosh; *Mac OS X*) Gecko/* Camino/1.2*]
+Parent=Camino
+Version=1.2
+MajorVer=1
+MinorVer=2
+
+[Mozilla/5.0 (Macintosh; *Mac OS X*) Gecko/* Camino/1.3*]
+Parent=Camino
+Version=1.3
+MajorVer=1
+MinorVer=3
+Platform=MacOSX
+
+[Mozilla/5.0 (Macintosh; *Mac OS X*) Gecko/* Camino/1.4*]
+Parent=Camino
+Version=1.4
+MajorVer=1
+MinorVer=4
+Platform=MacOSX
+
+[Mozilla/5.0 (Macintosh; *Mac OS X*) Gecko/* Camino/1.5*]
+Parent=Camino
+Version=1.5
+MajorVer=1
+MinorVer=5
+Platform=MacOSX
+
+[Mozilla/5.0 (Macintosh; *Mac OS X*) Gecko/* Camino/1.6*]
+Parent=Camino
+Version=1.6
+MajorVer=1
+MinorVer=6
+Platform=MacOSX
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chimera
+
+[Chimera]
+Parent=DefaultProperties
+Browser=Chimera
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+
+[Mozilla/5.0 (Macintosh; U; *Mac OS X*; *; rv:1.*) Gecko/* Chimera/*]
+Parent=Chimera
+Platform=MacOSX
+
+[Mozilla/5.0 Gecko/* Chimera/*]
+Parent=Chimera
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Dillo
+
+[Dillo]
+Parent=DefaultProperties
+Browser=Dillo
+Platform=Linux
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+CssVersion=2
+supportsCSS=true
+
+[Dillo/0.6*]
+Parent=Dillo
+Version=0.6
+MajorVer=0
+MinorVer=6
+
+[Dillo/0.7*]
+Parent=Dillo
+Version=0.7
+MajorVer=0
+MinorVer=7
+
+[Dillo/0.8*]
+Parent=Dillo
+Version=0.8
+MajorVer=0
+MinorVer=8
+
+[Dillo/2.0]
+Parent=Dillo
+Version=2.0
+MajorVer=2
+MinorVer=0
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Emacs/W3
+
+[Emacs/W3]
+Parent=DefaultProperties
+Browser=Emacs/W3
+Frames=true
+Tables=true
+Cookies=true
+
+[Emacs/W3/2.* (Unix*]
+Parent=Emacs/W3
+Version=2.0
+MajorVer=2
+MinorVer=0
+Platform=Unix
+
+[Emacs/W3/2.* (X11*]
+Parent=Emacs/W3
+Version=2.0
+MajorVer=2
+MinorVer=0
+Platform=Linux
+
+[Emacs/W3/3.* (Unix*]
+Parent=Emacs/W3
+Version=3.0
+MajorVer=3
+MinorVer=0
+Platform=Unix
+
+[Emacs/W3/3.* (X11*]
+Parent=Emacs/W3
+Version=3.0
+MajorVer=3
+MinorVer=0
+Platform=Linux
+
+[Emacs/W3/4.* (Unix*]
+Parent=Emacs/W3
+Version=4.0
+MajorVer=4
+MinorVer=0
+Platform=Unix
+
+[Emacs/W3/4.* (X11*]
+Parent=Emacs/W3
+Version=4.0
+MajorVer=4
+MinorVer=0
+Platform=Linux
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; fantomas
+
+[fantomas]
+Parent=DefaultProperties
+Browser=fantomas
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaScript=true
+
+[Mozilla/4.0 (cloakBrowser)]
+Parent=fantomas
+Browser=fantomas cloakBrowser
+
+[Mozilla/4.0 (fantomas shadowMaker Browser)]
+Parent=fantomas
+Browser=fantomas shadowMaker Browser
+
+[Mozilla/4.0 (fantomBrowser)]
+Parent=fantomas
+Browser=fantomas fantomBrowser
+
+[Mozilla/4.0 (fantomCrew Browser)]
+Parent=fantomas
+Browser=fantomas fantomCrew Browser
+
+[Mozilla/4.0 (stealthBrowser)]
+Parent=fantomas
+Browser=fantomas stealthBrowser
+
+[multiBlocker browser*]
+Parent=fantomas
+Browser=fantomas multiBlocker browser
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; FrontPage
+
+[FrontPage]
+Parent=DefaultProperties
+Browser=FrontPage
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaScript=true
+
+[Mozilla/?* (compatible; MS FrontPage*)]
+Parent=FrontPage
+
+[MSFrontPage/*]
+Parent=FrontPage
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Galeon
+
+[Galeon]
+Parent=DefaultProperties
+Browser=Galeon
+Platform=Linux
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/5.0 (X11; U; Linux*) Gecko/* Galeon/1.*]
+Parent=Galeon
+Version=1.0
+MajorVer=1
+MinorVer=0
+
+[Mozilla/5.0 (X11; U; Linux*) Gecko/* Galeon/2.*]
+Parent=Galeon
+Version=2.0
+MajorVer=2
+MinorVer=0
+
+[Mozilla/5.0 Galeon/1.* (X11; Linux*)*]
+Parent=Galeon
+Version=1.0
+MajorVer=1
+MinorVer=0
+
+[Mozilla/5.0 Galeon/2.* (X11; Linux*)*]
+Parent=Galeon
+Version=2.0
+MajorVer=2
+MinorVer=0
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; HP Secure Web Browser
+
+[HP Secure Web Browser]
+Parent=DefaultProperties
+Browser=HP Secure Web Browser
+Platform=OpenVMS
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/5.0 (X11; U; OpenVMS*; *; rv:1.0*) Gecko/*]
+Parent=HP Secure Web Browser
+Version=1.0
+MajorVer=1
+MinorVer=0
+
+[Mozilla/5.0 (X11; U; OpenVMS*; *; rv:1.1*) Gecko/*]
+Parent=HP Secure Web Browser
+Version=1.1
+MajorVer=1
+MinorVer=1
+
+[Mozilla/5.0 (X11; U; OpenVMS*; *; rv:1.2*) Gecko/*]
+Parent=HP Secure Web Browser
+Version=1.2
+MajorVer=1
+MinorVer=2
+
+[Mozilla/5.0 (X11; U; OpenVMS*; *; rv:1.3*) Gecko/*]
+Parent=HP Secure Web Browser
+Version=1.3
+MajorVer=1
+MinorVer=3
+
+[Mozilla/5.0 (X11; U; OpenVMS*; *; rv:1.4*) Gecko/*]
+Parent=HP Secure Web Browser
+Version=1.4
+MajorVer=1
+MinorVer=4
+
+[Mozilla/5.0 (X11; U; OpenVMS*; *; rv:1.5*) Gecko/*]
+Parent=HP Secure Web Browser
+Version=1.5
+MajorVer=1
+MinorVer=5
+
+[Mozilla/5.0 (X11; U; OpenVMS*; *; rv:1.6*) Gecko/*]
+Parent=HP Secure Web Browser
+Version=1.6
+MajorVer=1
+MinorVer=6
+
+[Mozilla/5.0 (X11; U; OpenVMS*; *; rv:1.7*) Gecko/*]
+Parent=HP Secure Web Browser
+Version=1.7
+MajorVer=1
+MinorVer=7
+
+[Mozilla/5.0 (X11; U; OpenVMS*; *; rv:1.8*) Gecko/*]
+Parent=HP Secure Web Browser
+Version=1.8
+MajorVer=1
+MinorVer=8
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; IBrowse
+
+[IBrowse]
+Parent=DefaultProperties
+Browser=IBrowse
+Platform=Amiga
+Frames=true
+Tables=true
+Cookies=true
+JavaScript=true
+
+[Arexx (compatible; MSIE 6.0; AmigaOS5.0) IBrowse 4.0]
+Parent=IBrowse
+Version=4.0
+MajorVer=4
+MinorVer=0
+
+[IBrowse/1.22 (AmigaOS *)]
+Parent=IBrowse
+Version=1.22
+MajorVer=1
+MinorVer=22
+
+[IBrowse/2.1 (AmigaOS *)]
+Parent=IBrowse
+Version=2.1
+MajorVer=2
+MinorVer=1
+
+[IBrowse/2.2 (AmigaOS *)]
+Parent=IBrowse
+Version=2.2
+MajorVer=2
+MinorVer=2
+
+[IBrowse/2.3 (AmigaOS *)]
+Parent=IBrowse
+Version=2.2
+MajorVer=2
+MinorVer=3
+
+[Mozilla/* (Win98; I) IBrowse/2.1 (AmigaOS 3.1)]
+Parent=IBrowse
+Version=2.1
+MajorVer=2
+MinorVer=1
+
+[Mozilla/* (Win98; I) IBrowse/2.2 (AmigaOS 3.1)]
+Parent=IBrowse
+Version=2.2
+MajorVer=2
+MinorVer=2
+
+[Mozilla/* (Win98; I) IBrowse/2.3 (AmigaOS 3.1)]
+Parent=IBrowse
+Version=2.3
+MajorVer=2
+MinorVer=3
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; iCab
+
+[iCab]
+Parent=DefaultProperties
+Browser=iCab
+Frames=true
+Tables=true
+Cookies=true
+JavaScript=true
+CssVersion=1
+supportsCSS=true
+
+[iCab/2.7* (Macintosh; ?; 68K*)]
+Parent=iCab
+Version=2.7
+MajorVer=2
+MinorVer=7
+Platform=Mac68K
+
+[iCab/2.7* (Macintosh; ?; PPC*)]
+Parent=iCab
+Version=2.7
+MajorVer=2
+MinorVer=7
+Platform=MacPPC
+
+[iCab/2.8* (Macintosh; ?; *Mac OS X*)]
+Parent=iCab
+Version=2.8
+MajorVer=2
+MinorVer=8
+Platform=MacOSX
+
+[iCab/2.8* (Macintosh; ?; 68K*)]
+Parent=iCab
+Version=2.8
+MajorVer=2
+MinorVer=8
+Platform=Mac68K
+
+[iCab/2.8* (Macintosh; ?; PPC)]
+Parent=iCab
+Version=2.8
+MajorVer=2
+MinorVer=8
+Platform=MacPPC
+
+[iCab/2.9* (Macintosh; ?; *Mac OS X*)]
+Parent=iCab
+Version=2.9
+MajorVer=2
+MinorVer=9
+Platform=MacOSX
+
+[iCab/2.9* (Macintosh; ?; 68K*)]
+Parent=iCab
+Version=2.9
+MajorVer=2
+MinorVer=9
+Platform=Mac68K
+
+[iCab/2.9* (Macintosh; ?; PPC*)]
+Parent=iCab
+Version=2.9
+MajorVer=2
+MinorVer=9
+Platform=MacPPC
+
+[iCab/3.0* (Macintosh; ?; *Mac OS X*)]
+Parent=iCab
+Version=3.0
+MajorVer=3
+MinorVer=0
+Platform=MacOSX
+CssVersion=2
+supportsCSS=true
+
+[iCab/3.0* (Macintosh; ?; PPC*)]
+Parent=iCab
+Version=3.0
+MajorVer=3
+MinorVer=0
+Platform=MacPPC
+CssVersion=2
+supportsCSS=true
+
+[iCab/4.0 (Macintosh; U; *Mac OS X)]
+Parent=iCab
+Version=4.0
+MajorVer=4
+MinorVer=0
+Platform=MacOSX
+
+[Mozilla/* (compatible; iCab 3.0*; Macintosh; *Mac OS X*)]
+Parent=iCab
+Version=3.0
+MajorVer=3
+MinorVer=0
+Platform=MacOSX
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/* (compatible; iCab 3.0*; Macintosh; ?; PPC*)]
+Parent=iCab
+Version=3.0
+MajorVer=3
+MinorVer=0
+Platform=MacPPC
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/4.5 (compatible; iCab 2.7*; Macintosh; ?; 68K*)]
+Parent=iCab
+Version=2.7
+MajorVer=2
+MinorVer=7
+Platform=Mac68K
+
+[Mozilla/4.5 (compatible; iCab 2.7*; Macintosh; ?; PPC*)]
+Parent=iCab
+Version=2.7
+MajorVer=2
+MinorVer=7
+Platform=MacPPC
+
+[Mozilla/4.5 (compatible; iCab 2.8*; Macintosh; ?; *Mac OS X*)]
+Parent=iCab
+Version=2.8
+MajorVer=2
+MinorVer=8
+Platform=MacOSX
+
+[Mozilla/4.5 (compatible; iCab 2.8*; Macintosh; ?; PPC*)]
+Parent=iCab
+Version=2.8
+MajorVer=2
+MinorVer=8
+Platform=MacPPC
+
+[Mozilla/4.5 (compatible; iCab 2.9*; Macintosh; *Mac OS X*)]
+Parent=iCab
+Version=2.9
+MajorVer=2
+MinorVer=9
+Platform=MacOSX
+
+[Mozilla/4.5 (compatible; iCab 2.9*; Macintosh; ?; PPC*)]
+Parent=iCab
+Version=2.9
+MajorVer=2
+MinorVer=9
+Platform=MacPPC
+
+[Mozilla/4.5 (compatible; iCab 4.2*; Macintosh; *Mac OS X*)]
+Parent=iCab
+Version=4.2
+MajorVer=4
+MinorVer=2
+Platform=MacOSX
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; iSiloX
+
+[iSiloX]
+Parent=DefaultProperties
+Browser=iSiloX
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaScript=true
+Crawler=true
+CssVersion=2
+supportsCSS=true
+
+[iSiloX/4.0* MacOS]
+Parent=iSiloX
+Version=4.0
+MajorVer=4
+MinorVer=0
+Platform=MacPPC
+
+[iSiloX/4.0* Windows/32]
+Parent=iSiloX
+Version=4.0
+MajorVer=4
+MinorVer=0
+Platform=Win32
+Win32=true
+
+[iSiloX/4.1* MacOS]
+Parent=iSiloX
+Version=4.1
+MajorVer=4
+MinorVer=1
+Platform=MacPPC
+
+[iSiloX/4.1* Windows/32]
+Parent=iSiloX
+Version=4.1
+MajorVer=4
+MinorVer=1
+Platform=Win32
+Win32=true
+
+[iSiloX/4.2* MacOS]
+Parent=iSiloX
+Version=4.2
+MajorVer=4
+MinorVer=2
+Platform=MacPPC
+
+[iSiloX/4.2* Windows/32]
+Parent=iSiloX
+Version=4.2
+MajorVer=4
+MinorVer=2
+Platform=Win32
+Win32=true
+
+[iSiloX/4.3* MacOS]
+Parent=iSiloX
+Version=4.3
+MajorVer=4
+MinorVer=4
+Platform=MacOSX
+
+[iSiloX/4.3* Windows/32]
+Parent=iSiloX
+Version=4.3
+MajorVer=4
+MinorVer=3
+Platform=Win32
+Win32=true
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Lycoris Desktop/LX
+
+[Lycoris Desktop/LX]
+Parent=DefaultProperties
+Browser=Lycoris Desktop/LX
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+Crawler=true
+
+[Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.*: Desktop/LX Amethyst) Gecko/*]
+Parent=Lycoris Desktop/LX
+Version=1.1
+MajorVer=1
+MinorVer=1
+Platform=Linux
+
+[Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.*; Desktop/LX Amethyst) Gecko/*]
+Parent=Lycoris Desktop/LX
+Version=1.0
+MajorVer=1
+MinorVer=0
+Platform=Linux
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Mosaic
+
+[Mosaic]
+Parent=DefaultProperties
+Browser=Mosaic
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+
+[Mozilla/4.0 (VMS_Mosaic)]
+Parent=Mosaic
+Platform=OpenVMS
+
+[VMS_Mosaic/3.7*]
+Parent=Mosaic
+Version=3.7
+MajorVer=3
+MinorVer=7
+Platform=OpenVMS
+
+[VMS_Mosaic/3.8*]
+Parent=Mosaic
+Version=3.8
+MajorVer=3
+MinorVer=8
+Platform=OpenVMS
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; NetPositive
+
+[NetPositive]
+Parent=DefaultProperties
+Browser=NetPositive
+Platform=BeOS
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+
+[*NetPositive/2.2*]
+Parent=NetPositive
+Version=2.2
+MajorVer=2
+MinorVer=2
+
+[*NetPositive/2.2*BeOS*]
+Parent=NetPositive
+Version=2.2
+MajorVer=2
+MinorVer=2
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; OmniWeb
+
+[OmniWeb]
+Parent=DefaultProperties
+Browser=OmniWeb
+Platform=MacOSX
+Frames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+isMobileDevice=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/* (Macintosh; ?; *Mac OS X; *) AppleWebKit/* (*) OmniWeb/v4*]
+Parent=OmniWeb
+Version=4.5
+MajorVer=4
+MinorVer=5
+Platform=MacOSX
+
+[Mozilla/* (Macintosh; ?; *Mac OS X; *) AppleWebKit/* (*) OmniWeb/v5*]
+Parent=OmniWeb
+Version=5.
+MajorVer=5
+MinorVer=0
+Platform=MacOSX
+
+[Mozilla/* (Macintosh; ?; *Mac OS X; *) AppleWebKit/* (*) OmniWeb/v6*]
+Parent=OmniWeb
+Version=6.0
+MajorVer=6
+MinorVer=0
+Platform=MacOSX
+
+[Mozilla/* (Macintosh; ?; PPC) OmniWeb/4*]
+Parent=OmniWeb
+Version=4.0
+MajorVer=4
+MinorVer=0
+Platform=MacPPC
+
+[Mozilla/* (Macintosh; ?; PPC) OmniWeb/5*]
+Parent=OmniWeb
+Version=5.0
+MajorVer=5
+MinorVer=0
+Platform=MacOSX
+
+[Mozilla/* (Macintosh; ?; PPC) OmniWeb/6*]
+Parent=OmniWeb
+Version=6.0
+MajorVer=6
+MinorVer=0
+Platform=MacPPC
+
+[Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US) AppleWebKit/125.4 (KHTML, like Gecko, Safari) OmniWeb/v563.34]
+Parent=OmniWeb
+Version=5.1
+MajorVer=5
+MinorVer=1
+
+[Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US) AppleWebKit/125.4 (KHTML, like Gecko, Safari) OmniWeb/v563.34]
+Parent=OmniWeb
+Version=5.1
+MajorVer=5
+MinorVer=1
+
+[Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US) AppleWebKit/420+ (KHTML, like Gecko, Safari/420) OmniWeb/v607]
+Parent=OmniWeb
+Version=5.5
+MajorVer=5
+MinorVer=5
+
+[Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US) AppleWebKit/420+ (KHTML, like Gecko, Safari/420) OmniWeb/v607]
+Parent=OmniWeb
+Version=5.5
+MajorVer=5
+MinorVer=5
+
+[Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US) AppleWebKit/522+ (KHTML, like Gecko, Safari/522) OmniWeb/v613]
+Parent=OmniWeb
+Version=5.6
+MajorVer=5
+MinorVer=6
+
+[Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US) AppleWebKit/522+ (KHTML, like Gecko, Safari/522) OmniWeb/v613]
+Parent=OmniWeb
+Version=5.6
+MajorVer=5
+MinorVer=6
+
+[Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US) AppleWebKit/85 (KHTML, like Gecko) OmniWeb/v496]
+Parent=OmniWeb
+Version=4.5
+MajorVer=4
+MinorVer=5
+
+[Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US) AppleWebKit/85 (KHTML, like Gecko) OmniWeb/v558.36 ]
+Parent=OmniWeb
+Version=5.0
+MajorVer=5
+MinorVer=0
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Shiira
+
+[Shiira]
+Parent=DefaultProperties
+Browser=Shiira
+Platform=MacOSX
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+BackgroundSounds=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Shiira/0.9*]
+Parent=Shiira
+Version=0.9
+MajorVer=0
+MinorVer=9
+
+[Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Shiira/1.0*]
+Parent=Shiira
+Version=1.0
+MajorVer=1
+MinorVer=0
+
+[Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Shiira/1.1*]
+Parent=Shiira
+Version=1.1
+MajorVer=1
+MinorVer=1
+
+[Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Shiira/1.2*]
+Parent=Shiira
+Version=1.2
+MajorVer=1
+MinorVer=2
+
+[Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Shiira/2.1*]
+Parent=Shiira
+Version=2.1
+MajorVer=2
+MinorVer=1
+
+[Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Shiira/2.2*]
+Parent=Shiira
+Version=2.2
+MajorVer=2
+MinorVer=2
+
+[Windows Maker]
+Parent=DefaultProperties
+Browser=WMaker
+Platform=Linux
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+VBScript=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[WMaker*]
+Parent=Windows Maker
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; K-Meleon 1.0
+
+[K-Meleon 1.0]
+Parent=DefaultProperties
+Browser=K-Meleon
+Version=1.0
+MajorVer=1
+Win32=true
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/5.0 (Windows; *; Win95; *; rv:1.*) Gecko/* K-Meleon/1.0*]
+Parent=K-Meleon 1.0
+Version=1.0
+MajorVer=1
+MinorVer=0
+Platform=Win95
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Win98; *; rv:1.*) Gecko/* K-Meleon/1.0*]
+Parent=K-Meleon 1.0
+Version=1.0
+MajorVer=1
+MinorVer=0
+Platform=Win98
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 5.0; *; rv:1.*) Gecko/* K-Meleon?1.0*]
+Parent=K-Meleon 1.0
+Version=1.0
+MajorVer=1
+MinorVer=0
+Platform=Win2000
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 5.1; *; rv:1.*) Gecko/* K-Meleon/1.0*]
+Parent=K-Meleon 1.0
+Version=1.0
+MajorVer=1
+MinorVer=0
+Platform=WinXP
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 5.2; *; rv:1.*) Gecko/* K-Meleon/1.0*]
+Parent=K-Meleon 1.0
+Version=1.0
+MajorVer=1
+MinorVer=0
+Platform=Win2003
+Win32=true
+
+[Mozilla/5.0 (Windows; *; WinNT4.0; *; rv:1.*) Gecko/* K-Meleon/1.0*]
+Parent=K-Meleon 1.0
+Version=1.0
+MajorVer=1
+MinorVer=0
+Platform=WinNT
+Win32=true
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; K-Meleon 1.1
+
+[K-Meleon 1.1]
+Parent=DefaultProperties
+Browser=K-Meleon
+Version=1.1
+MajorVer=1
+MinorVer=1
+Win32=true
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/5.0 (Windows; *; Win95; *; rv:1.*) Gecko/* K-Meleon/1.1*]
+Parent=K-Meleon 1.1
+Version=1.0
+MajorVer=1
+MinorVer=0
+Platform=Win95
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Win98; *; rv:1.*) Gecko/* K-Meleon/1.1*]
+Parent=K-Meleon 1.1
+Version=1.0
+MajorVer=1
+MinorVer=0
+Platform=Win98
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 5.0; *; rv:1.*) Gecko/* K-Meleon?1.1*]
+Parent=K-Meleon 1.1
+Version=1.0
+MajorVer=1
+MinorVer=0
+Platform=Win2000
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 5.1; *; rv:1.*) Gecko/* K-Meleon/1.1*]
+Parent=K-Meleon 1.1
+Version=1.0
+MajorVer=1
+MinorVer=0
+Platform=WinXP
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 5.2; *; rv:1.*) Gecko/* K-Meleon/1.1*]
+Parent=K-Meleon 1.1
+Version=1.0
+MajorVer=1
+MinorVer=0
+Platform=Win2003
+Win32=true
+
+[Mozilla/5.0 (Windows; *; WinNT4.0; *; rv:1.*) Gecko/* K-Meleon/1.1*]
+Parent=K-Meleon 1.1
+Version=1.0
+MajorVer=1
+MinorVer=0
+Platform=WinNT
+Win32=true
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; K-Meleon 1.5
+
+[K-Meleon 1.5]
+Parent=DefaultProperties
+Browser=K-Meleon
+Version=1.5
+MajorVer=1
+MinorVer=5
+Win32=true
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/5.0 (Windows; *; Win95; *; rv:1.*) Gecko/* K-Meleon/1.5*]
+Parent=K-Meleon 1.5
+Version=1.0
+MajorVer=1
+MinorVer=0
+Platform=Win95
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Win98; *; rv:1.*) Gecko/* K-Meleon/1.5*]
+Parent=K-Meleon 1.5
+Version=1.0
+MajorVer=1
+MinorVer=0
+Platform=Win98
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 5.0; *; rv:1.*) Gecko/* K-Meleon?1.5*]
+Parent=K-Meleon 1.5
+Version=1.0
+MajorVer=1
+MinorVer=0
+Platform=Win2000
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 5.1; *; rv:1.*) Gecko/* K-Meleon/1.5*]
+Parent=K-Meleon 1.5
+Version=1.0
+MajorVer=1
+MinorVer=0
+Platform=WinXP
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 5.2; *; rv:1.*) Gecko/* K-Meleon/1.5*]
+Parent=K-Meleon 1.5
+Version=1.0
+MajorVer=1
+MinorVer=0
+Platform=Win2003
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 6.0; *; rv:1.*) Gecko/* K-Meleon/1.5*]
+Parent=K-Meleon 1.5
+Platform=WinVista
+
+[Mozilla/5.0 (Windows; *; Windows NT 6.1; *; rv:1.*) Gecko/* K-Meleon/1.5*]
+Parent=K-Meleon 1.5
+Platform=Win7
+
+[Mozilla/5.0 (Windows; *; WinNT4.0; *; rv:1.*) Gecko/* K-Meleon/1.5*]
+Parent=K-Meleon 1.5
+Version=1.0
+MajorVer=1
+MinorVer=0
+Platform=WinNT
+Win32=true
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Konqueror 3.0
+
+[Konqueror 3.0]
+Parent=DefaultProperties
+Browser=Konqueror
+Platform=Linux
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[*Konqueror/3.0*]
+Parent=Konqueror 3.0
+Version=3.0
+MajorVer=3
+MinorVer=0
+IFrames=false
+
+[*Konqueror/3.0*FreeBSD*]
+Parent=Konqueror 3.0
+Version=3.0
+MajorVer=3
+MinorVer=0
+Platform=FreeBSD
+IFrames=false
+
+[*Konqueror/3.0*Linux*]
+Parent=Konqueror 3.0
+Version=3.0
+MajorVer=3
+MinorVer=0
+Platform=Linux
+IFrames=false
+
+[*Konqueror/3.1*]
+Parent=Konqueror 3.0
+Version=3.1
+MajorVer=3
+MinorVer=1
+
+[*Konqueror/3.1*FreeBSD*]
+Parent=Konqueror 3.0
+Version=3.1
+MajorVer=3
+MinorVer=1
+Platform=FreeBSD
+
+[*Konqueror/3.1*Linux*]
+Parent=Konqueror 3.0
+Version=3.1
+MajorVer=3
+MinorVer=1
+
+[*Konqueror/3.2*]
+Parent=Konqueror 3.0
+Version=3.2
+MajorVer=3
+MinorVer=2
+
+[*Konqueror/3.2*FreeBSD*]
+Parent=Konqueror 3.0
+Version=3.2
+MajorVer=3
+MinorVer=2
+Platform=FreeBSD
+
+[*Konqueror/3.2*Linux*]
+Parent=Konqueror 3.0
+Version=3.2
+MajorVer=3
+MinorVer=2
+Platform=Linux
+
+[*Konqueror/3.3*]
+Parent=Konqueror 3.0
+Version=3.3
+MajorVer=3
+MinorVer=3
+
+[*Konqueror/3.3*FreeBSD*]
+Parent=Konqueror 3.0
+Version=3.3
+MajorVer=3
+MinorVer=3
+Platform=FreeBSD
+
+[*Konqueror/3.3*Linux*]
+Parent=Konqueror 3.0
+Version=3.3
+MajorVer=3
+MinorVer=3
+Platform=Linux
+
+[*Konqueror/3.3*OpenBSD*]
+Parent=Konqueror 3.0
+Version=3.3
+MajorVer=3
+MinorVer=3
+Platform=OpenBSD
+
+[*Konqueror/3.4*]
+Parent=Konqueror 3.0
+Version=3.4
+MajorVer=3
+MinorVer=4
+
+[*Konqueror/3.4*FreeBSD*]
+Parent=Konqueror 3.0
+Version=3.4
+MajorVer=3
+MinorVer=4
+Platform=FreeBSD
+
+[*Konqueror/3.4*Linux*]
+Parent=Konqueror 3.0
+Version=3.4
+MajorVer=3
+MinorVer=4
+Platform=Linux
+
+[*Konqueror/3.4*OpenBSD*]
+Parent=Konqueror 3.0
+Version=3.4
+MajorVer=3
+MinorVer=4
+Platform=OpenBSD
+
+[*Konqueror/3.5*]
+Parent=Konqueror 3.0
+Version=3.5
+MajorVer=3
+MinorVer=5
+
+[*Konqueror/3.5*FreeBSD*]
+Parent=Konqueror 3.0
+Version=3.5
+MajorVer=3
+MinorVer=5
+Platform=FreeBSD
+
+[*Konqueror/3.5*Linux*]
+Parent=Konqueror 3.0
+Version=3.5
+MajorVer=3
+MinorVer=5
+Platform=Linux
+
+[*Konqueror/3.5*OpenBSD*]
+Parent=Konqueror 3.0
+Version=3.5
+MajorVer=3
+MinorVer=5
+Platform=OpenBSD
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Konqueror 4.0
+
+[Konqueror 4.0]
+Parent=DefaultProperties
+Browser=Konqueror
+Version=4.0
+MajorVer=4
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/5.0 (compatible; Konqueror/4.0*; Debian) KHTML/4.* (like Gecko)]
+Parent=Konqueror 4.0
+Platform=Debian
+
+[Mozilla/5.0 (compatible; Konqueror/4.0.*; *Linux) KHTML/4.* (like Gecko)]
+Parent=Konqueror 4.0
+Platform=Linux
+
+[Mozilla/5.0 (compatible; Konqueror/4.0.*; FreeBSD) KHTML/4.* (like Gecko)]
+Parent=Konqueror 4.0
+Platform=FreeBSD
+
+[Mozilla/5.0 (compatible; Konqueror/4.0.*; NetBSD) KHTML/4.* (like Gecko)]
+Parent=Konqueror 4.0
+Platform=NetBSD
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Konqueror 4.1
+
+[Konqueror 4.1]
+Parent=DefaultProperties
+Browser=Konqueror
+Version=4.1
+MajorVer=4
+MinorVer=1
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/5.0 (compatible; Konqueror/4.1*; *Linux*) KHTML/4.* (like Gecko)*]
+Parent=Konqueror 4.1
+Platform=Linux
+
+[Mozilla/5.0 (compatible; Konqueror/4.1*; Debian) KHTML/4.* (like Gecko)*]
+Parent=Konqueror 4.1
+Platform=Debian
+
+[Mozilla/5.0 (compatible; Konqueror/4.1*; FreeBSD) KHTML/4.* (like Gecko)*]
+Parent=Konqueror 4.1
+Platform=FreeBSD
+
+[Mozilla/5.0 (compatible; Konqueror/4.1*; NetBSD) KHTML/4.* (like Gecko)*]
+Parent=Konqueror 4.1
+Platform=NetBSD
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Konqueror 4.2
+
+[Konqueror 4.2]
+Parent=DefaultProperties
+Browser=Konqueror
+Version=4.2
+MajorVer=4
+MinorVer=2
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/5.0 (compatible; Konqueror/4.2*; *Linux*) KHTML/4.* (like Gecko)*]
+Parent=Konqueror 4.2
+Platform=Linux
+
+[Mozilla/5.0 (compatible; Konqueror/4.2*; Debian) KHTML/4.* (like Gecko)*]
+Parent=Konqueror 4.2
+Platform=Debian
+
+[Mozilla/5.0 (compatible; Konqueror/4.2*; FreeBSD) KHTML/4.* (like Gecko)*]
+Parent=Konqueror 4.2
+Platform=FreeBSD
+
+[Mozilla/5.0 (compatible; Konqueror/4.2*; NetBSD) KHTML/4.* (like Gecko)*]
+Parent=Konqueror 4.2
+Platform=NetBSD
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Safari
+
+[Safari]
+Parent=DefaultProperties
+Browser=Safari
+Platform=MacOSX
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+BackgroundSounds=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+ecmascriptversion=1.3
+w3cdomversion=1.0
+
+[Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Safari/100*]
+Parent=Safari
+Version=1.1
+MajorVer=1
+MinorVer=1
+
+[Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Safari/125*]
+Parent=Safari
+Version=1.2
+MajorVer=1
+MinorVer=2
+
+[Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Safari/312*]
+Parent=Safari
+Version=1.3
+MajorVer=1
+MinorVer=3
+
+[Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Safari/412*]
+Parent=Safari
+Version=2.0
+MajorVer=2
+MinorVer=0
+
+[Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Safari/416*]
+Parent=Safari
+Version=2.0
+MajorVer=2
+MinorVer=0
+
+[Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Safari/417*]
+Parent=Safari
+Version=2.0
+MajorVer=2
+MinorVer=0
+
+[Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Safari/418*]
+Parent=Safari
+Version=2.0
+MajorVer=2
+MinorVer=0
+
+[Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Safari/419*]
+Parent=Safari
+Version=2.0
+MajorVer=2
+MinorVer=0
+
+[Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Safari/52*]
+Parent=Safari
+Beta=true
+
+[Mozilla/5.0 (Macintosh; *Mac OS X*) AppleWebKit/* (*) Safari/85*]
+Parent=Safari
+Version=1.0
+MajorVer=1
+MinorVer=0
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Safari 3.0
+
+[Safari 3.0]
+Parent=DefaultProperties
+Browser=Safari
+Version=3.0
+MajorVer=3
+Platform=MacOSX
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+BackgroundSounds=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/5.0 (Macintosh; ?; *Mac OS X*) AppleWebKit/* (*) Version/3.0* Safari/*]
+Parent=Safari 3.0
+Platform=MacOSX
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.1; *) AppleWebKit/* (*) Version/3.0* Safari/*]
+Parent=Safari 3.0
+Platform=WinXP
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.2; *) AppleWebKit/* (*) Version/3.0* Safari/*]
+Parent=Safari 3.0
+Platform=Win2003
+
+[Mozilla/5.0 (Windows; ?; Windows NT 6.0; *) AppleWebKit/* (*) Version/3.0* Safari/*]
+Parent=Safari 3.0
+Platform=WinVista
+
+[Mozilla/5.0 (Windows; ?; Windows NT 6.1; *) AppleWebKit/* (*) Version/3.0* Safari/*]
+Parent=Safari 3.0
+Platform=Win7
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Safari 3.1
+
+[Safari 3.1]
+Parent=DefaultProperties
+Browser=Safari
+Version=3.1
+MajorVer=3
+MinorVer=1
+Platform=MacOSX
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+BackgroundSounds=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/5.0 (Macintosh; ?; *Mac OS X*) AppleWebKit/* (*) Version/3.1* Safari/*]
+Parent=Safari 3.1
+Platform=MacOSX
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.1; *) AppleWebKit/* (*) Version/3.1* Safari/*]
+Parent=Safari 3.1
+Platform=WinXP
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.2; *) AppleWebKit/* (*) Version/3.1* Safari/*]
+Parent=Safari 3.1
+Platform=Win2003
+
+[Mozilla/5.0 (Windows; ?; Windows NT 6.0; *) AppleWebKit/* (*) Version/3.1* Safari/*]
+Parent=Safari 3.1
+Platform=WinVista
+
+[Mozilla/5.0 (Windows; ?; Windows NT 6.1; *) AppleWebKit/* (*) Version/3.1* Safari/*]
+Parent=Safari 3.1
+Platform=Win7
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Safari 3.2
+
+[Safari 3.2]
+Parent=DefaultProperties
+Browser=Safari
+Version=3.2
+MajorVer=3
+MinorVer=2
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+BackgroundSounds=true
+JavaApplets=true
+JavaScript=true
+CssVersion=3
+supportsCSS=true
+
+[Mozilla/5.0 (Macintosh; ?; *Mac OS X*) AppleWebKit/* (*) Version/3.2* Safari/*]
+Parent=Safari 3.2
+Platform=MacOSX
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.1; *) AppleWebKit/* (*) Version/3.2* Safari/*]
+Parent=Safari 3.2
+Platform=WinXP
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.2; *) AppleWebKit/* (*) Version/3.2* Safari/*]
+Parent=Safari 3.2
+Platform=Win2003
+
+[Mozilla/5.0 (Windows; ?; Windows NT 6.0; *) AppleWebKit/* (*) Version/3.2* Safari/*]
+Parent=Safari 3.2
+Platform=WinVista
+
+[Mozilla/5.0 (Windows; ?; Windows NT 6.1; *) AppleWebKit/* (*) Version/3.2* Safari/*]
+Parent=Safari 3.2
+Platform=Win7
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Safari 4.0
+
+[Safari 4.0]
+Parent=DefaultProperties
+Browser=Safari
+Version=4.0
+MajorVer=4
+Beta=true
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+BackgroundSounds=true
+JavaApplets=true
+JavaScript=true
+CssVersion=3
+supportsCSS=true
+
+[Mozilla/5.0 (Macintosh; ?; *Mac OS X*; *) AppleWebKit/* (KHTML, like Gecko) Version/4.0* Safari/*]
+Parent=Safari 4.0
+Platform=MacOSX
+
+[Mozilla/5.0 (Macintosh; U; *Mac OS X*; *) AppleWebKit/* (KHTML, like Gecko) Version/4 Public Beta Safari/*]
+Parent=Safari 4.0
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.1; *) AppleWebKit/* (*) Version/4 Public Beta Safari/*]
+Parent=Safari 4.0
+Platform=WinXP
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.1; *) AppleWebKit/* (*) Version/4.0* Safari/*]
+Parent=Safari 4.0
+Platform=WinXP
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.2; *) AppleWebKit/* (*) Version/4 Public Beta Safari/*]
+Parent=Safari 4.0
+Platform=Win2003
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.2; *) AppleWebKit/* (*) Version/4.0* Safari/*]
+Parent=Safari 4.0
+Platform=Win2003
+
+[Mozilla/5.0 (Windows; ?; Windows NT 6.0; *) AppleWebKit/* (*) Version/4 Public Beta Safari/*]
+Parent=Safari 4.0
+Platform=WinVista
+
+[Mozilla/5.0 (Windows; ?; Windows NT 6.0; *) AppleWebKit/* (*) Version/4.0* Safari/*]
+Parent=Safari 4.0
+Platform=WinVista
+
+[Mozilla/5.0 (Windows; ?; Windows NT 6.1; *) AppleWebKit/* (*) Version/4 Public Beta Safari/*]
+Parent=Safari 4.0
+Platform=Win7
+
+[Mozilla/5.0 (Windows; ?; Windows NT 6.1; *) AppleWebKit/* (*) Version/4.0* Safari/*]
+Parent=Safari 4.0
+Platform=Win7
+
+[Mozilla/5.0 (Windows; ?; Windows NT 7.0; *) AppleWebKit/* (*) Version/4 Public Beta Safari/*]
+Parent=Safari 4.0
+Platform=Win7
+
+[Mozilla/5.0 (Windows; ?; Windows NT 7.0; *) AppleWebKit/* (*) Version/4.0* Safari/*]
+Parent=Safari 4.0
+Platform=Win7
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 10.0
+
+[Opera 10.0]
+Parent=DefaultProperties
+Browser=Opera
+Version=10.0
+MajorVer=10
+Alpha=true
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+BackgroundSounds=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/* (compatible; MSIE*; Linux*) Opera 10.0*]
+Parent=Opera 10.0
+Platform=Linux
+
+[Mozilla/* (compatible; MSIE*; Mac_PowerPC Mac OS X;*) Opera 10.0*]
+Parent=Opera 10.0
+Platform=MacOSX
+
+[Mozilla/* (compatible; MSIE*; Mac_PowerPC) Opera 10.0*]
+Parent=Opera 10.0
+Platform=MacPPC
+
+[Mozilla/* (compatible; MSIE*; Windows 2000*) Opera 10.0*]
+Parent=Opera 10.0
+Platform=Win2000
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows 95*) Opera 10.0*]
+Parent=Opera 10.0
+Platform=Win95
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows 98*) Opera 10.0*]
+Parent=Opera 10.0
+Platform=Win98
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows CE*) Opera 10.0*]
+Parent=Opera 10.0
+Platform=WinCE
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows ME*) Opera 10.0*]
+Parent=Opera 10.0
+Platform=WinME
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 4.0*) Opera 10.0*]
+Parent=Opera 10.0
+Platform=WinNT
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 5.0*) Opera 10.0*]
+Parent=Opera 10.0
+Platform=Win2000
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 5.1*) Opera 10.0*]
+Parent=Opera 10.0
+Platform=WinXP
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 5.2*) Opera 10.0*]
+Parent=Opera 10.0
+Platform=Win2003
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 6.0*) Opera 10.0*]
+Parent=Opera 10.0
+Platform=WinVista
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 6.1*) Opera 10.0*]
+Parent=Opera 10.0
+Platform=Win7
+
+[Mozilla/* (compatible; MSIE*; Windows XP*) Opera 10.0*]
+Parent=Opera 10.0
+Platform=WinXP
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; X11; FreeBSD*) Opera 10.0*]
+Parent=Opera 10.0
+Platform=FreeBSD
+
+[Mozilla/* (compatible; MSIE*; X11; Linux*) Opera 10.0*]
+Parent=Opera 10.0
+Platform=Linux
+
+[Mozilla/* (compatible; MSIE*; X11; SunOS*) Opera 10.0*]
+Parent=Opera 10.0
+Platform=SunOS
+
+[Mozilla/* (Macintosh; *Mac OS X; ?) Opera 10.0*]
+Parent=Opera 10.0
+Platform=MacOSX
+
+[Mozilla/* (Windows 2000;*) Opera 10.0*]
+Parent=Opera 10.0
+Platform=Win2000
+Win32=true
+
+[Mozilla/* (Windows 95;*) Opera 10.0*]
+Parent=Opera 10.0
+Platform=Win95
+Win32=true
+
+[Mozilla/* (Windows 98;*) Opera 10.0*]
+Parent=Opera 10.0
+Platform=Win98
+Win32=true
+
+[Mozilla/* (Windows ME;*) Opera 10.0*]
+Parent=Opera 10.0
+Platform=WinME
+Win32=true
+
+[Mozilla/* (Windows NT 4.0;*) Opera 10.0*]
+Parent=Opera 10.0
+Platform=WinNT
+Win32=true
+
+[Mozilla/* (Windows NT 5.0;*) Opera 10.0*]
+Parent=Opera 10.0
+Platform=Win2000
+Win32=true
+
+[Mozilla/* (Windows NT 5.1;*) Opera 10.0*]
+Parent=Opera 10.0
+Platform=WinXP
+Win32=true
+
+[Mozilla/* (Windows NT 5.2;*) Opera 10.0*]
+Parent=Opera 10.0
+Platform=Win2003
+Win32=true
+
+[Mozilla/* (Windows NT 6.0;*) Opera 10.0*]
+Parent=Opera 10.0
+Platform=WinVista
+
+[Mozilla/* (Windows NT 6.1;*) Opera 10.0*]
+Parent=Opera 10.0
+Platform=Win7
+
+[Mozilla/* (X11; Linux*) Opera 10.0*]
+Parent=Opera 10.0
+Platform=Linux
+
+[Opera/10.0* (Linux*)*]
+Parent=Opera 10.0
+Platform=Linux
+
+[Opera/10.0* (Macintosh; *Mac OS X;*)*]
+Parent=Opera 10.0
+Platform=MacOSX
+
+[Opera/10.0* (Windows 95*)*]
+Parent=Opera 10.0
+Platform=Win95
+Win32=true
+
+[Opera/10.0* (Windows 98*)*]
+Parent=Opera 10.0
+Platform=Win98
+Win32=true
+
+[Opera/10.0* (Windows CE*)*]
+Parent=Opera 10.0
+Platform=WinCE
+Win32=true
+
+[Opera/10.0* (Windows ME*)*]
+Parent=Opera 10.0
+Platform=WinME
+Win32=true
+
+[Opera/10.0* (Windows NT 4.0*)*]
+Parent=Opera 10.0
+Platform=WinNT
+Win32=true
+
+[Opera/10.0* (Windows NT 5.0*)*]
+Parent=Opera 10.0
+Platform=Win2000
+Win32=true
+
+[Opera/10.0* (Windows NT 5.1*)*]
+Parent=Opera 10.0
+Platform=WinXP
+Win32=true
+
+[Opera/10.0* (Windows NT 5.2*)*]
+Parent=Opera 10.0
+Platform=Win2003
+Win32=true
+
+[Opera/10.0* (Windows NT 6.0*)*]
+Parent=Opera 10.0
+Platform=WinVista
+Win32=true
+
+[Opera/10.0* (Windows NT 6.1*)*]
+Parent=Opera 10.0
+Platform=Win7
+
+[Opera/10.0* (Windows XP*)*]
+Parent=Opera 10.0
+Platform=WinXP
+Win32=true
+
+[Opera/10.0* (X11; FreeBSD*)*]
+Parent=Opera 10.0
+Platform=FreeBSD
+
+[Opera/10.0* (X11; Linux*)*]
+Parent=Opera 10.0
+Platform=Linux
+
+[Opera/10.0* (X11; SunOS*)*]
+Parent=Opera 10.0
+Platform=SunOS
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 7.0
+
+[Opera 7.0]
+Parent=DefaultProperties
+Browser=Opera
+Version=7.0
+MajorVer=7
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+BackgroundSounds=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/3.0 (Windows 2000; ?) Opera 7.0*]
+Parent=Opera 7.0
+Platform=Win2000
+Win32=true
+
+[Mozilla/3.0 (Windows 95; ?) Opera 7.0*]
+Parent=Opera 7.0
+Platform=Win95
+Win32=true
+
+[Mozilla/3.0 (Windows 98; ?) Opera 7.0*]
+Parent=Opera 7.0
+Platform=Win98
+Win32=true
+
+[Mozilla/3.0 (Windows ME; ?) Opera 7.0*]
+Parent=Opera 7.0
+Platform=WinME
+Win32=true
+
+[Mozilla/3.0 (Windows NT 4.0; ?) Opera 7.0*]
+Parent=Opera 7.0
+Platform=WinNT
+Win32=true
+
+[Mozilla/3.0 (Windows XP; ?) Opera 7.0*]
+Parent=Opera 7.0
+Platform=WinXP
+Win32=true
+
+[Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows 2000) Opera 7.0*]
+Parent=Opera 7.0
+Platform=Win2000
+Win32=true
+
+[Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows 95) Opera 7.0*]
+Parent=Opera 7.0
+Platform=Win95
+Win32=true
+
+[Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows 98) Opera 7.0*]
+Parent=Opera 7.0
+Platform=Win98
+Win32=true
+
+[Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows ME) Opera 7.0*]
+Parent=Opera 7.0
+Platform=WinME
+Win32=true
+
+[Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows NT 4.0) Opera 7.0*]
+Parent=Opera 7.0
+Platform=WinNT
+Win32=true
+
+[Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows NT 5.0) Opera 7.0*]
+Parent=Opera 7.0
+Platform=Win2000
+Win32=true
+
+[Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows NT 5.1) Opera 7.0*]
+Parent=Opera 7.0
+Platform=WinXP
+Win32=true
+
+[Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows XP) Opera 7.0*]
+Parent=Opera 7.0
+Platform=WinXP
+Win32=true
+
+[Mozilla/4.78 (Windows 2000; ?) Opera 7.0*]
+Parent=Opera 7.0
+Platform=Win2000
+Win32=true
+
+[Mozilla/4.78 (Windows 95; ?) Opera 7.0*]
+Parent=Opera 7.0
+Platform=Win95
+Win32=true
+
+[Mozilla/4.78 (Windows 98; ?) Opera 7.0*]
+Parent=Opera 7.0
+Platform=Win98
+Win32=true
+
+[Mozilla/4.78 (Windows ME; ?) Opera 7.0*]
+Parent=Opera 7.0
+Platform=WinME
+Win32=true
+
+[Mozilla/4.78 (Windows NT 4.0; ?) Opera 7.0*]
+Parent=Opera 7.0
+Platform=WinNT
+Win32=true
+
+[Mozilla/4.78 (Windows NT 5.1; ?) Opera 7.0*]
+Parent=Opera 7.0
+Platform=WinXP
+Win32=true
+
+[Mozilla/4.78 (Windows Windows NT 5.0; ?) Opera 7.0*]
+Parent=Opera 7.0
+Platform=Win2000
+Win32=true
+
+[Mozilla/4.78 (Windows XP; ?) Opera 7.0*]
+Parent=Opera 7.0
+Platform=WinXP
+Win32=true
+
+[Mozilla/5.0 (Windows 2000; ?) Opera 7.0*]
+Parent=Opera 7.0
+Platform=Win2000
+Win32=true
+
+[Mozilla/5.0 (Windows 95; ?) Opera 7.0*]
+Parent=Opera 7.0
+Platform=Win95
+Win32=true
+
+[Mozilla/5.0 (Windows 98; ?) Opera 7.0*]
+Parent=Opera 7.0
+Platform=Win98
+Win32=true
+
+[Mozilla/5.0 (Windows ME; ?) Opera 7.0*]
+Parent=Opera 7.0
+Platform=WinME
+Win32=true
+
+[Mozilla/5.0 (Windows NT 4.0; ?) Opera 7.0*]
+Parent=Opera 7.0
+Platform=WinNT
+Win32=true
+
+[Mozilla/5.0 (Windows NT 5.1; ?) Opera 7.0*]
+Parent=Opera 7.0
+Platform=WinXP
+Win32=true
+
+[Mozilla/5.0 (Windows XP; ?) Opera 7.0*]
+Parent=Opera 7.0
+Platform=WinXP
+Win32=true
+
+[Opera/7.0* (Windows 2000; ?)*]
+Parent=Opera 7.0
+Platform=Win2000
+Win32=true
+
+[Opera/7.0* (Windows 95; ?)*]
+Parent=Opera 7.0
+Platform=Win95
+Win32=true
+
+[Opera/7.0* (Windows 98; ?)*]
+Parent=Opera 7.0
+Platform=Win98
+Win32=true
+
+[Opera/7.0* (Windows ME; ?)*]
+Parent=Opera 7.0
+Platform=WinME
+Win32=true
+
+[Opera/7.0* (Windows NT 4.0; ?)*]
+Parent=Opera 7.0
+Platform=WinNT
+Win32=true
+
+[Opera/7.0* (Windows NT 5.0; ?)*]
+Parent=Opera 7.0
+Platform=Win2000
+Win32=true
+
+[Opera/7.0* (Windows NT 5.1; ?)*]
+Parent=Opera 7.0
+Platform=WinXP
+Win32=true
+
+[Opera/7.0* (Windows XP; ?)*]
+Parent=Opera 7.0
+Platform=WinXP
+Win32=true
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 7.1
+
+[Opera 7.1]
+Parent=DefaultProperties
+Browser=Opera
+Version=7.1
+MajorVer=7
+MinorVer=1
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+BackgroundSounds=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows 2000) Opera 7.1*]
+Parent=Opera 7.1
+Platform=Win2000
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows 95) Opera 7.1*]
+Parent=Opera 7.1
+Platform=Win95
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows 98) Opera 7.1*]
+Parent=Opera 7.1
+Platform=Win98
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows ME) Opera 7.1*]
+Parent=Opera 7.1
+Platform=WinME
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows NT 4.0) Opera 7.1*]
+Parent=Opera 7.1
+Platform=WinNT
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.0) Opera 7.1*]
+Parent=Opera 7.1
+Platform=Win2000
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.1) Opera 7.1*]
+Parent=Opera 7.1
+Platform=WinXP
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows XP) Opera 7.1*]
+Parent=Opera 7.1
+Platform=WinXP
+Win32=true
+
+[Mozilla/?.* (Windows 2000; ?) Opera 7.1*]
+Parent=Opera 7.1
+Platform=Win2000
+Win32=true
+
+[Mozilla/?.* (Windows 95; ?) Opera 7.1*]
+Parent=Opera 7.1
+Platform=Win95
+Win32=true
+
+[Mozilla/?.* (Windows 98; ?) Opera 7.1*]
+Parent=Opera 7.1
+Platform=Win98
+Win32=true
+
+[Mozilla/?.* (Windows ME; ?) Opera 7.1*]
+Parent=Opera 7.1
+Platform=WinME
+Win32=true
+
+[Mozilla/?.* (Windows NT 4.0; U) Opera 7.1*]
+Parent=Opera 7.1
+Platform=WinNT
+Win32=true
+
+[Mozilla/?.* (Windows NT 5.0; U) Opera 7.1*]
+Parent=Opera 7.1
+Platform=Win2000
+Win32=true
+
+[Mozilla/?.* (Windows NT 5.1; ?) Opera 7.1*]
+Parent=Opera 7.1
+Platform=WinXP
+Win32=true
+
+[Opera/7.1* (Linux*; ?)*]
+Parent=Opera 7.1
+Platform=Linux
+
+[Opera/7.1* (Windows 95; ?)*]
+Parent=Opera 7.1
+Platform=Win95
+Win32=true
+
+[Opera/7.1* (Windows 98; ?)*]
+Parent=Opera 7.1
+Platform=Win98
+Win32=true
+
+[Opera/7.1* (Windows ME; ?)*]
+Parent=Opera 7.1
+Platform=WinME
+Win32=true
+
+[Opera/7.1* (Windows NT 4.0; ?)*]
+Parent=Opera 7.1
+Platform=WinNT
+Win32=true
+
+[Opera/7.1* (Windows NT 5.0; ?)*]
+Parent=Opera 7.1
+Platform=Win2000
+Win32=true
+
+[Opera/7.1* (Windows NT 5.1; ?)*]
+Parent=Opera 7.1
+Platform=WinXP
+Win32=true
+
+[Opera/7.1* (Windows XP; ?)*]
+Parent=Opera 7.1
+Platform=WinXP
+Win32=true
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 7.2
+
+[Opera 7.2]
+Parent=DefaultProperties
+Browser=Opera
+Version=7.2
+MajorVer=7
+MinorVer=2
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+BackgroundSounds=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Linux*) Opera 7.2*]
+Parent=Opera 7.2
+Platform=Linux
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows 2000) Opera 7.2*]
+Parent=Opera 7.2
+Platform=Win2000
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows 95) Opera 7.2*]
+Parent=Opera 7.2
+Platform=Win95
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows 98) Opera 7.2*]
+Parent=Opera 7.2
+Platform=Win98
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows ME) Opera 7.2*]
+Parent=Opera 7.2
+Platform=WinME
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows NT 4.0) Opera 7.2*]
+Parent=Opera 7.2
+Platform=WinNT
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.0) Opera 7.2*]
+Parent=Opera 7.2
+Platform=Win2000
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.1) Opera 7.2*]
+Parent=Opera 7.2
+Platform=WinXP
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.2) Opera 7.2*]
+Parent=Opera 7.2
+Platform=Win2003
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows XP) Opera 7.2*]
+Parent=Opera 7.2
+Platform=WinXP
+Win32=true
+
+[Mozilla/?.* (Windows 2000; ?) Opera 7.2*]
+Parent=Opera 7.2
+Platform=Win2000
+Win32=true
+
+[Mozilla/?.* (Windows 95; ?) Opera 7.2*]
+Parent=Opera 7.2
+Platform=Win95
+Win32=true
+
+[Mozilla/?.* (Windows 98; ?) Opera 7.2*]
+Parent=Opera 7.2
+Platform=Win98
+Win32=true
+
+[Mozilla/?.* (Windows ME; ?) Opera 7.2*]
+Parent=Opera 7.2
+Platform=WinME
+Win32=true
+
+[Mozilla/?.* (Windows NT 4.0; U) Opera 7.2*]
+Parent=Opera 7.2
+Platform=WinNT
+Win32=true
+
+[Mozilla/?.* (Windows NT 5.0; U) Opera 7.2*]
+Parent=Opera 7.2
+Platform=Win2000
+Win32=true
+
+[Mozilla/?.* (Windows NT 5.1; ?) Opera 7.2*]
+Parent=Opera 7.2
+Platform=WinXP
+Win32=true
+
+[Mozilla/?.* (Windows NT 5.2; ?) Opera 7.2*]
+Parent=Opera 7.2
+Platform=Win2003
+Win32=true
+
+[Opera/7.2* (Linux*; ?)*]
+Parent=Opera 7.2
+Platform=Linux
+
+[Opera/7.2* (Windows 95; ?)*]
+Parent=Opera 7.2
+Platform=Win95
+Win32=true
+
+[Opera/7.2* (Windows 98; ?)*]
+Parent=Opera 7.2
+Platform=Win98
+Win32=true
+
+[Opera/7.2* (Windows ME; ?)*]
+Parent=Opera 7.2
+Platform=WinME
+Win32=true
+
+[Opera/7.2* (Windows NT 4.0; ?)*]
+Parent=Opera 7.2
+Platform=WinNT
+Win32=true
+
+[Opera/7.2* (Windows NT 5.0; ?)*]
+Parent=Opera 7.2
+Platform=Win2000
+Win32=true
+
+[Opera/7.2* (Windows NT 5.1; ?)*]
+Parent=Opera 7.2
+Platform=WinXP
+Win32=true
+
+[Opera/7.2* (Windows NT 5.2; ?)*]
+Parent=Opera 7.2
+Platform=Win2003
+Win32=true
+
+[Opera/7.2* (Windows XP; ?)*]
+Parent=Opera 7.2
+Platform=WinXP
+Win32=true
+
+[Opera/7.2* (X11; FreeBSD*; ?)*]
+Parent=Opera 7.2
+Platform=FreeBSD
+
+[Opera/7.2* (X11; Linux*; ?)*]
+Parent=Opera 7.2
+Platform=Linux
+
+[Opera/7.2* (X11; SunOS*)*]
+Parent=Opera 7.2
+Platform=SunOS
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 7.5
+
+[Opera 7.5]
+Parent=DefaultProperties
+Browser=Opera
+Version=7.5
+MajorVer=7
+MinorVer=5
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+BackgroundSounds=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Linux*) Opera 7.5*]
+Parent=Opera 7.5
+Platform=Linux
+
+[Mozilla/?.* (compatible; MSIE ?.*; Mac_PowerPC) Opera 7.5*]
+Parent=Opera 7.5
+Platform=MacPPC
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows 2000) Opera 7.5*]
+Parent=Opera 7.5
+Platform=Win2000
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows 95) Opera 7.5*]
+Parent=Opera 7.5
+Platform=Win95
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows 98) Opera 7.5*]
+Parent=Opera 7.5
+Platform=Win98
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows ME) Opera 7.5*]
+Parent=Opera 7.5
+Platform=WinME
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows NT 4.0) Opera 7.5*]
+Parent=Opera 7.5
+Platform=WinNT
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.0) Opera 7.5*]
+Parent=Opera 7.5
+Platform=Win2000
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.1) Opera 7.5*]
+Parent=Opera 7.5
+Platform=WinXP
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.2) Opera 7.5*]
+Parent=Opera 7.5
+Platform=Win2003
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows XP) Opera 7.5*]
+Parent=Opera 7.5
+Platform=WinXP
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; X11; Linux*) Opera 7.5*]
+Parent=Opera 7.5
+Platform=Linux
+
+[Mozilla/?.* (Macintosh; *Mac OS X; ?) Opera 7.5*]
+Parent=Opera 7.5
+Platform=MacOSX
+
+[Mozilla/?.* (Windows 2000; ?) Opera 7.5*]
+Parent=Opera 7.5
+Platform=Win2000
+Win32=true
+
+[Mozilla/?.* (Windows 95; ?) Opera 7.5*]
+Parent=Opera 7.5
+Platform=Win95
+Win32=true
+
+[Mozilla/?.* (Windows 98; ?) Opera 7.5*]
+Parent=Opera 7.5
+Platform=Win98
+Win32=true
+
+[Mozilla/?.* (Windows ME; ?) Opera 7.5*]
+Parent=Opera 7.5
+Platform=WinME
+Win32=true
+
+[Mozilla/?.* (Windows NT 4.0; U) Opera 7.5*]
+Parent=Opera 7.5
+Platform=WinNT
+Win32=true
+
+[Mozilla/?.* (Windows NT 5.0; U) Opera 7.5*]
+Parent=Opera 7.5
+Platform=Win2000
+Win32=true
+
+[Mozilla/?.* (Windows NT 5.1; ?) Opera 7.5*]
+Parent=Opera 7.5
+Platform=WinXP
+Win32=true
+
+[Mozilla/?.* (Windows NT 5.2; ?) Opera 7.5*]
+Parent=Opera 7.5
+Platform=Win2003
+Win32=true
+
+[Mozilla/?.* (X11; Linux*; ?) Opera 7.5*]
+Parent=Opera 7.5
+Platform=Linux
+
+[Opera/7.5* (Linux*; ?)*]
+Parent=Opera 7.5
+Platform=Linux
+
+[Opera/7.5* (Macintosh; *Mac OS X; ?)*]
+Parent=Opera 7.5
+Platform=MacOSX
+
+[Opera/7.5* (Windows 95; ?)*]
+Parent=Opera 7.5
+Platform=Win95
+Win32=true
+
+[Opera/7.5* (Windows 98; ?)*]
+Parent=Opera 7.5
+Platform=Win98
+Win32=true
+
+[Opera/7.5* (Windows ME; ?)*]
+Parent=Opera 7.5
+Platform=WinME
+Win32=true
+
+[Opera/7.5* (Windows NT 4.0; ?)*]
+Parent=Opera 7.5
+Platform=WinNT
+Win32=true
+
+[Opera/7.5* (Windows NT 5.0; ?)*]
+Parent=Opera 7.5
+Platform=Win2000
+Win32=true
+
+[Opera/7.5* (Windows NT 5.1; ?)*]
+Parent=Opera 7.5
+Platform=WinXP
+Win32=true
+
+[Opera/7.5* (Windows NT 5.2; ?)*]
+Parent=Opera 7.5
+Platform=Win2003
+Win32=true
+
+[Opera/7.5* (Windows XP; ?)*]
+Parent=Opera 7.5
+Platform=WinXP
+Win32=true
+
+[Opera/7.5* (X11; FreeBSD*; ?)*]
+Parent=Opera 7.5
+Platform=FreeBSD
+
+[Opera/7.5* (X11; Linux*; ?)*]
+Parent=Opera 7.5
+Platform=Linux
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 7.6
+
+[Opera 7.6]
+Parent=DefaultProperties
+Browser=Opera
+Version=7.6
+MajorVer=7
+MinorVer=6
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+BackgroundSounds=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Linux*) Opera 7.6*]
+Parent=Opera 7.6
+Platform=Linux
+
+[Mozilla/?.* (compatible; MSIE ?.*; Mac_PowerPC) Opera 7.6*]
+Parent=Opera 7.6
+Platform=MacPPC
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows 2000) Opera 7.6*]
+Parent=Opera 7.6
+Platform=Win2000
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows 95) Opera 7.6*]
+Parent=Opera 7.6
+Platform=Win95
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows 98) Opera 7.6*]
+Parent=Opera 7.6
+Platform=Win98
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows ME) Opera 7.6*]
+Parent=Opera 7.6
+Platform=WinME
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows NT 4.0) Opera 7.6*]
+Parent=Opera 7.6
+Platform=WinNT
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.0) Opera 7.6*]
+Parent=Opera 7.6
+Platform=Win2000
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.1) Opera 7.6*]
+Parent=Opera 7.6
+Platform=WinXP
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.2) Opera 7.6*]
+Parent=Opera 7.6
+Platform=Win2003
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows XP) Opera 7.6*]
+Parent=Opera 7.6
+Platform=WinXP
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; X11; Linux*) Opera 7.6*]
+Parent=Opera 7.6
+Platform=Linux
+
+[Mozilla/?.* (Macintosh; *Mac OS X; ?) Opera 7.6*]
+Parent=Opera 7.6
+Platform=MacOSX
+
+[Mozilla/?.* (Windows 2000; ?) Opera 7.6*]
+Parent=Opera 7.6
+Platform=Win2000
+Win32=true
+
+[Mozilla/?.* (Windows 95; ?) Opera 7.6*]
+Parent=Opera 7.6
+Platform=Win95
+Win32=true
+
+[Mozilla/?.* (Windows 98; ?) Opera 7.6*]
+Parent=Opera 7.6
+Platform=Win98
+Win32=true
+
+[Mozilla/?.* (Windows ME; ?) Opera 7.6*]
+Parent=Opera 7.6
+Platform=WinME
+Win32=true
+
+[Mozilla/?.* (Windows NT 4.0; U) Opera 7.6*]
+Parent=Opera 7.6
+Platform=WinNT
+Win32=true
+
+[Mozilla/?.* (Windows NT 5.0; U) Opera 7.6*]
+Parent=Opera 7.6
+Platform=Win2000
+Win32=true
+
+[Mozilla/?.* (Windows NT 5.1; ?) Opera 7.6*]
+Parent=Opera 7.6
+Platform=WinXP
+Win32=true
+
+[Mozilla/?.* (Windows NT 5.2; ?) Opera 7.6*]
+Parent=Opera 7.6
+Platform=Win2003
+Win32=true
+
+[Mozilla/?.* (X11; Linux*; ?) Opera 7.6*]
+Parent=Opera 7.6
+Platform=Linux
+
+[Opera/7.6* (Linux*)*]
+Parent=Opera 7.6
+Platform=Linux
+
+[Opera/7.6* (Macintosh; *Mac OS X; ?)*]
+Parent=Opera 7.6
+Platform=MacOSX
+
+[Opera/7.6* (Windows 95*)*]
+Parent=Opera 7.6
+Platform=Win95
+Win32=true
+
+[Opera/7.6* (Windows 98*)*]
+Parent=Opera 7.6
+Platform=Win98
+Win32=true
+
+[Opera/7.6* (Windows ME*)*]
+Parent=Opera 7.6
+Platform=WinME
+Win32=true
+
+[Opera/7.6* (Windows NT 4.0*)*]
+Parent=Opera 7.6
+Platform=WinNT
+Win32=true
+
+[Opera/7.6* (Windows NT 5.0*)*]
+Parent=Opera 7.6
+Platform=Win2000
+Win32=true
+
+[Opera/7.6* (Windows NT 5.1*)*]
+Parent=Opera 7.6
+Platform=WinXP
+Win32=true
+
+[Opera/7.6* (Windows NT 5.2*)*]
+Parent=Opera 7.6
+Platform=Win2003
+Win32=true
+
+[Opera/7.6* (Windows XP*)*]
+Parent=Opera 7.6
+Platform=WinXP
+Win32=true
+
+[Opera/7.6* (X11; FreeBSD*)*]
+Parent=Opera 7.6
+Platform=FreeBSD
+
+[Opera/7.6* (X11; Linux*)*]
+Parent=Opera 7.6
+Platform=Linux
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 8.0
+
+[Opera 8.0]
+Parent=DefaultProperties
+Browser=Opera
+Version=8.0
+MajorVer=8
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+BackgroundSounds=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Linux*) Opera 8.0*]
+Parent=Opera 8.0
+Platform=Linux
+
+[Mozilla/?.* (compatible; MSIE ?.*; Mac_PowerPC Mac OS X; *) Opera 8.0*]
+Parent=Opera 8.0
+Platform=MacOSX
+
+[Mozilla/?.* (compatible; MSIE ?.*; Mac_PowerPC) Opera 8.0*]
+Parent=Opera 8.0
+Platform=MacPPC
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows 2000*) Opera 8.0*]
+Parent=Opera 8.0
+Platform=Win2000
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows 95*) Opera 8.0*]
+Parent=Opera 8.0
+Platform=Win95
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows 98*) Opera 8.0*]
+Parent=Opera 8.0
+Platform=Win98
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows CE) Opera 8.0*]
+Parent=Opera 8.0
+Platform=WinCE
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows ME*) Opera 8.0*]
+Parent=Opera 8.0
+Platform=WinME
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows NT 4.0*) Opera 8.0*]
+Parent=Opera 8.0
+Platform=WinNT
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.0*) Opera 8.0*]
+Parent=Opera 8.0
+Platform=Win2000
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.1*) Opera 8.0*]
+Parent=Opera 8.0
+Platform=WinXP
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.2*) Opera 8.0*]
+Parent=Opera 8.0
+Platform=Win2003
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows XP*) Opera 8.0*]
+Parent=Opera 8.0
+Platform=WinXP
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; X11; FreeBSD*) Opera 8.0*]
+Parent=Opera 8.0
+Platform=FreeBSD
+
+[Mozilla/?.* (compatible; MSIE ?.*; X11; Linux*) Opera 8.0*]
+Parent=Opera 8.0
+Platform=Linux
+
+[Mozilla/?.* (Macintosh; *Mac OS X; ?) Opera 8.0*]
+Parent=Opera 8.0
+Platform=MacOSX
+
+[Mozilla/?.* (Windows 2000; *) Opera 8.0*]
+Parent=Opera 8.0
+Platform=Win2000
+Win32=true
+
+[Mozilla/?.* (Windows 95; *) Opera 8.0*]
+Parent=Opera 8.0
+Platform=Win95
+Win32=true
+
+[Mozilla/?.* (Windows 98; *) Opera 8.0*]
+Parent=Opera 8.0
+Platform=Win98
+Win32=true
+
+[Mozilla/?.* (Windows ME; *) Opera 8.0*]
+Parent=Opera 8.0
+Platform=WinME
+Win32=true
+
+[Mozilla/?.* (Windows NT 4.0; *) Opera 8.0*]
+Parent=Opera 8.0
+Platform=WinNT
+Win32=true
+
+[Mozilla/?.* (Windows NT 5.0; *) Opera 8.0*]
+Parent=Opera 8.0
+Platform=Win2000
+Win32=true
+
+[Mozilla/?.* (Windows NT 5.1; *) Opera 8.0*]
+Parent=Opera 8.0
+Platform=WinXP
+Win32=true
+
+[Mozilla/?.* (Windows NT 5.2; *) Opera 8.0*]
+Parent=Opera 8.0
+Platform=Win2003
+Win32=true
+
+[Mozilla/?.* (X11; Linux*; *) Opera 8.0*]
+Parent=Opera 8.0
+Platform=Linux
+
+[Opera/8.0* (Linux*)*]
+Parent=Opera 8.0
+Platform=Linux
+
+[Opera/8.0* (Macintosh; *Mac OS X; *)*]
+Parent=Opera 8.0
+Platform=MacOSX
+
+[Opera/8.0* (Windows 95*)*]
+Parent=Opera 8.0
+Platform=Win95
+Win32=true
+
+[Opera/8.0* (Windows 98*)*]
+Parent=Opera 8.0
+Platform=Win98
+Win32=true
+
+[Opera/8.0* (Windows CE*)*]
+Parent=Opera 8.0
+Platform=WinCE
+Win32=true
+
+[Opera/8.0* (Windows ME*)*]
+Parent=Opera 8.0
+Platform=WinME
+Win32=true
+
+[Opera/8.0* (Windows NT 4.0*)*]
+Parent=Opera 8.0
+Platform=WinNT
+Win32=true
+
+[Opera/8.0* (Windows NT 5.0*)*]
+Parent=Opera 8.0
+Platform=Win2000
+Win32=true
+
+[Opera/8.0* (Windows NT 5.1*)*]
+Parent=Opera 8.0
+Platform=WinXP
+Win32=true
+
+[Opera/8.0* (Windows NT 5.2*)*]
+Parent=Opera 8.0
+Platform=Win2003
+Win32=true
+
+[Opera/8.0* (Windows XP*)*]
+Parent=Opera 8.0
+Platform=WinXP
+Win32=true
+
+[Opera/8.0* (X11; FreeBSD*)*]
+Parent=Opera 8.0
+Platform=FreeBSD
+
+[Opera/8.0* (X11; Linux*)*]
+Parent=Opera 8.0
+Platform=Linux
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 8.1
+
+[Opera 8.1]
+Parent=DefaultProperties
+Browser=Opera
+Version=8.1
+MajorVer=8
+MinorVer=1
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+BackgroundSounds=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Linux*) Opera 8.1*]
+Parent=Opera 8.1
+Platform=Linux
+
+[Mozilla/?.* (compatible; MSIE ?.*; Mac_PowerPC) Opera 8.1*]
+Parent=Opera 8.1
+Platform=MacPPC
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows 2000*) Opera 8.1*]
+Parent=Opera 8.1
+Platform=Win2000
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows 95*) Opera 8.1*]
+Parent=Opera 8.1
+Platform=Win95
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows 98*) Opera 8.1*]
+Parent=Opera 8.1
+Platform=Win98
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows CE) Opera 8.1*]
+Parent=Opera 8.1
+Platform=WinCE
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows ME*) Opera 8.1*]
+Parent=Opera 8.1
+Platform=WinME
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows NT 4.0*) Opera 8.1*]
+Parent=Opera 8.1
+Platform=WinNT
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.0*) Opera 8.1*]
+Parent=Opera 8.1
+Platform=Win2000
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.1*) Opera 8.1*]
+Parent=Opera 8.1
+Platform=WinXP
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.2*) Opera 8.1*]
+Parent=Opera 8.1
+Platform=Win2003
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows XP*) Opera 8.1*]
+Parent=Opera 8.1
+Platform=WinXP
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; X11; FreeBSD*) Opera 8.1*]
+Parent=Opera 8.1
+Platform=FreeBSD
+
+[Mozilla/?.* (compatible; MSIE ?.*; X11; Linux*) Opera 8.1*]
+Parent=Opera 8.1
+Platform=Linux
+
+[Mozilla/?.* (Macintosh; *Mac OS X; ?) Opera 8.1*]
+Parent=Opera 8.1
+Platform=MacOSX
+
+[Mozilla/?.* (Windows 2000; *) Opera 8.1*]
+Parent=Opera 8.1
+Platform=Win2000
+Win32=true
+
+[Mozilla/?.* (Windows 95; *) Opera 8.1*]
+Parent=Opera 8.1
+Platform=Win95
+Win32=true
+
+[Mozilla/?.* (Windows 98; *) Opera 8.1*]
+Parent=Opera 8.1
+Platform=Win98
+Win32=true
+
+[Mozilla/?.* (Windows ME; *) Opera 8.1*]
+Parent=Opera 8.1
+Platform=WinME
+Win32=true
+
+[Mozilla/?.* (Windows NT 4.0; *) Opera 8.1*]
+Parent=Opera 8.1
+Platform=WinNT
+Win32=true
+
+[Mozilla/?.* (Windows NT 5.0; *) Opera 8.1*]
+Parent=Opera 8.1
+Platform=Win2000
+Win32=true
+
+[Mozilla/?.* (Windows NT 5.1; *) Opera 8.1*]
+Parent=Opera 8.1
+Platform=WinXP
+Win32=true
+
+[Mozilla/?.* (Windows NT 5.2; *) Opera 8.1*]
+Parent=Opera 8.1
+Platform=Win2003
+Win32=true
+
+[Mozilla/?.* (X11; Linux*; *) Opera 8.1*]
+Parent=Opera 8.1
+Platform=Linux
+
+[Opera/8.1* (Linux*)*]
+Parent=Opera 8.1
+Platform=Linux
+
+[Opera/8.1* (Macintosh; *Mac OS X; *)*]
+Parent=Opera 8.1
+Platform=MacOSX
+
+[Opera/8.1* (Windows 95*)*]
+Parent=Opera 8.1
+Platform=Win95
+Win32=true
+
+[Opera/8.1* (Windows 98*)*]
+Parent=Opera 8.1
+Platform=Win98
+Win32=true
+
+[Opera/8.1* (Windows CE*)*]
+Parent=Opera 8.1
+Platform=WinCE
+Win32=true
+
+[Opera/8.1* (Windows ME*)*]
+Parent=Opera 8.1
+Platform=WinME
+Win32=true
+
+[Opera/8.1* (Windows NT 4.0*)*]
+Parent=Opera 8.1
+Platform=WinNT
+Win32=true
+
+[Opera/8.1* (Windows NT 5.0*)*]
+Parent=Opera 8.1
+Platform=Win2000
+Win32=true
+
+[Opera/8.1* (Windows NT 5.1*)*]
+Parent=Opera 8.1
+Platform=WinXP
+Win32=true
+
+[Opera/8.1* (Windows NT 5.2*)*]
+Parent=Opera 8.1
+Platform=Win2003
+Win32=true
+
+[Opera/8.1* (Windows XP*)*]
+Parent=Opera 8.1
+Platform=WinXP
+Win32=true
+
+[Opera/8.1* (X11; FreeBSD*)*]
+Parent=Opera 8.1
+Platform=FreeBSD
+
+[Opera/8.1* (X11; Linux*)*]
+Parent=Opera 8.1
+Platform=Linux
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 8.5
+
+[Opera 8.5]
+Parent=DefaultProperties
+Browser=Opera
+Version=8.5
+MajorVer=8
+MinorVer=5
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+BackgroundSounds=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+ecmascriptversion=1.3
+w3cdomversion=1.0
+
+[Mozilla/?.* (compatible; MSIE ?.*; Linux*) Opera 8.5*]
+Parent=Opera 8.5
+Platform=Linux
+
+[Mozilla/?.* (compatible; MSIE ?.*; Mac_PowerPC Mac OS X;*) Opera 8.5*]
+Parent=Opera 8.5
+Platform=MacOSX
+
+[Mozilla/?.* (compatible; MSIE ?.*; Mac_PowerPC) Opera 8.5*]
+Parent=Opera 8.5
+Platform=MacPPC
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows 2000*) Opera 8.5*]
+Parent=Opera 8.5
+Platform=Win2000
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows 95*) Opera 8.5*]
+Parent=Opera 8.5
+Platform=Win95
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows 98*) Opera 8.5*]
+Parent=Opera 8.5
+Platform=Win98
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows CE) Opera 8.5*]
+Parent=Opera 8.5
+Platform=WinCE
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows ME*) Opera 8.5*]
+Parent=Opera 8.5
+Platform=WinME
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows NT 4.0*) Opera 8.5*]
+Parent=Opera 8.5
+Platform=WinNT
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.0*) Opera 8.5*]
+Parent=Opera 8.5
+Platform=Win2000
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.1*) Opera 8.5*]
+Parent=Opera 8.5
+Platform=WinXP
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows NT 5.2*) Opera 8.5*]
+Parent=Opera 8.5
+Platform=Win2003
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; Windows XP*) Opera 8.5*]
+Parent=Opera 8.5
+Platform=WinXP
+Win32=true
+
+[Mozilla/?.* (compatible; MSIE ?.*; X11; FreeBSD*) Opera 8.5*]
+Parent=Opera 8.5
+Platform=FreeBSD
+
+[Mozilla/?.* (compatible; MSIE ?.*; X11; Linux*) Opera 8.5*]
+Parent=Opera 8.5
+Platform=Linux
+
+[Mozilla/?.* (Macintosh; *Mac OS X; ?) Opera 8.5*]
+Parent=Opera 8.5
+Platform=MacOSX
+
+[Mozilla/?.* (Macintosh; PPC Mac OS X;*) Opera 8.5*]
+Parent=Opera 8.5
+Platform=MacOSX
+
+[Mozilla/?.* (Windows 2000; *) Opera 8.5*]
+Parent=Opera 8.5
+Platform=Win2000
+Win32=true
+
+[Mozilla/?.* (Windows 95; *) Opera 8.5*]
+Parent=Opera 8.5
+Platform=Win95
+Win32=true
+
+[Mozilla/?.* (Windows 98; *) Opera 8.5*]
+Parent=Opera 8.5
+Platform=Win98
+Win32=true
+
+[Mozilla/?.* (Windows ME; *) Opera 8.5*]
+Parent=Opera 8.5
+Platform=WinME
+Win32=true
+
+[Mozilla/?.* (Windows NT 4.0; *) Opera 8.5*]
+Parent=Opera 8.5
+Platform=WinNT
+Win32=true
+
+[Mozilla/?.* (Windows NT 5.0; *) Opera 8.5*]
+Parent=Opera 8.5
+Platform=Win2000
+Win32=true
+
+[Mozilla/?.* (Windows NT 5.1; *) Opera 8.5*]
+Parent=Opera 8.5
+Platform=WinXP
+Win32=true
+
+[Mozilla/?.* (Windows NT 5.2; *) Opera 8.5*]
+Parent=Opera 8.5
+Platform=Win2003
+Win32=true
+
+[Mozilla/?.* (X11; Linux*; *) Opera 8.5*]
+Parent=Opera 8.5
+Platform=Linux
+
+[Opera/8.5* (Linux*)*]
+Parent=Opera 8.5
+Platform=Linux
+
+[Opera/8.5* (Macintosh; *Mac OS X; *)*]
+Parent=Opera 8.5
+Platform=MacOSX
+
+[Opera/8.5* (Windows 95*)*]
+Parent=Opera 8.5
+Platform=Win95
+Win32=true
+
+[Opera/8.5* (Windows 98*)*]
+Parent=Opera 8.5
+Platform=Win98
+Win32=true
+
+[Opera/8.5* (Windows CE*)*]
+Parent=Opera 8.5
+Platform=WinCE
+Win32=true
+
+[Opera/8.5* (Windows ME*)*]
+Parent=Opera 8.5
+Platform=WinME
+Win32=true
+
+[Opera/8.5* (Windows NT 4.0*)*]
+Parent=Opera 8.5
+Platform=WinNT
+Win32=true
+
+[Opera/8.5* (Windows NT 5.0*)*]
+Parent=Opera 8.5
+Platform=Win2000
+Win32=true
+
+[Opera/8.5* (Windows NT 5.1*)*]
+Parent=Opera 8.5
+Platform=WinXP
+Win32=true
+
+[Opera/8.5* (Windows NT 5.2*)*]
+Parent=Opera 8.5
+Platform=Win2003
+Win32=true
+
+[Opera/8.5* (Windows XP*)*]
+Parent=Opera 8.5
+Platform=WinXP
+Win32=true
+
+[Opera/8.5* (X11; FreeBSD*)*]
+Parent=Opera 8.5
+Platform=FreeBSD
+
+[Opera/8.5* (X11; Linux*)*]
+Parent=Opera 8.5
+Platform=Linux
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 9.0
+
+[Opera 9.0]
+Parent=DefaultProperties
+Browser=Opera
+Version=9.0
+MajorVer=9
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+BackgroundSounds=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+ecmascriptversion=1.5
+w3cdomversion=1.0
+
+[Mozilla/* (compatible; MSIE*; Linux*) Opera 9.0*]
+Parent=Opera 9.0
+Platform=Linux
+
+[Mozilla/* (compatible; MSIE*; Mac_PowerPC Mac OS X;*) Opera 9.0*]
+Parent=Opera 9.0
+Platform=MacOSX
+
+[Mozilla/* (compatible; MSIE*; Mac_PowerPC) Opera 9.0*]
+Parent=Opera 9.0
+Platform=MacPPC
+
+[Mozilla/* (compatible; MSIE*; Windows 2000*) Opera 9.0*]
+Parent=Opera 9.0
+Platform=Win2000
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows 95*) Opera 9.0*]
+Parent=Opera 9.0
+Platform=Win95
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows 98*) Opera 9.0*]
+Parent=Opera 9.0
+Platform=Win98
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows CE*) Opera 9.0*]
+Parent=Opera 9.0
+Platform=WinCE
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows ME*) Opera 9.0*]
+Parent=Opera 9.0
+Platform=WinME
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 4.0*) Opera 9.0*]
+Parent=Opera 9.0
+Platform=WinNT
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 5.0*) Opera 9.0*]
+Parent=Opera 9.0
+Platform=Win2000
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 5.1*) Opera 9.0*]
+Parent=Opera 9.0
+Platform=WinXP
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 5.2*) Opera 9.0*]
+Parent=Opera 9.0
+Platform=Win2003
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 6.0*) Opera 9.0*]
+Parent=Opera 9.0
+Platform=WinVista
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows XP*) Opera 9.0*]
+Parent=Opera 9.0
+Platform=WinXP
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; X11; FreeBSD*) Opera 9.0*]
+Parent=Opera 9.0
+Platform=FreeBSD
+
+[Mozilla/* (compatible; MSIE*; X11; Linux*) Opera 9.0*]
+Parent=Opera 9.0
+Platform=Linux
+
+[Mozilla/* (compatible; MSIE*; X11; SunOS*) Opera 9.0*]
+Parent=Opera 9.0
+Platform=SunOS
+
+[Mozilla/* (Macintosh; *Mac OS X; ?) Opera 9.0*]
+Parent=Opera 9.0
+Platform=MacOSX
+
+[Mozilla/* (Windows 2000;*) Opera 9.0*]
+Parent=Opera 9.0
+Platform=Win2000
+Win32=true
+
+[Mozilla/* (Windows 95;*) Opera 9.0*]
+Parent=Opera 9.0
+Platform=Win95
+Win32=true
+
+[Mozilla/* (Windows 98;*) Opera 9.0*]
+Parent=Opera 9.0
+Platform=Win98
+Win32=true
+
+[Mozilla/* (Windows ME;*) Opera 9.0*]
+Parent=Opera 9.0
+Platform=WinME
+Win32=true
+
+[Mozilla/* (Windows NT 4.0;*) Opera 9.0*]
+Parent=Opera 9.0
+Platform=WinNT
+Win32=true
+
+[Mozilla/* (Windows NT 5.0;*) Opera 9.0*]
+Parent=Opera 9.0
+Platform=Win2000
+Win32=true
+
+[Mozilla/* (Windows NT 5.1;*) Opera 9.0*]
+Parent=Opera 9.0
+Platform=WinXP
+Win32=true
+
+[Mozilla/* (Windows NT 5.2;*) Opera 9.0*]
+Parent=Opera 9.0
+Platform=Win2003
+Win32=true
+
+[Mozilla/* (X11; Linux*) Opera 9.0*]
+Parent=Opera 9.0
+Platform=Linux
+
+[Opera/9.0* (Linux*)*]
+Parent=Opera 9.0
+Platform=Linux
+
+[Opera/9.0* (Macintosh; *Mac OS X;*)*]
+Parent=Opera 9.0
+Platform=MacOSX
+
+[Opera/9.0* (Windows 95*)*]
+Parent=Opera 9.0
+Platform=Win95
+Win32=true
+
+[Opera/9.0* (Windows 98*)*]
+Parent=Opera 9.0
+Platform=Win98
+Win32=true
+
+[Opera/9.0* (Windows CE*)*]
+Parent=Opera 9.0
+Platform=WinCE
+Win32=true
+
+[Opera/9.0* (Windows ME*)*]
+Parent=Opera 9.0
+Platform=WinME
+Win32=true
+
+[Opera/9.0* (Windows NT 4.0*)*]
+Parent=Opera 9.0
+Platform=WinNT
+Win32=true
+
+[Opera/9.0* (Windows NT 5.0*)*]
+Parent=Opera 9.0
+Platform=Win2000
+Win32=true
+
+[Opera/9.0* (Windows NT 5.1*)*]
+Parent=Opera 9.0
+Platform=WinXP
+Win32=true
+
+[Opera/9.0* (Windows NT 5.2*)*]
+Parent=Opera 9.0
+Platform=Win2003
+Win32=true
+
+[Opera/9.0* (Windows NT 6.0*)*]
+Parent=Opera 9.0
+Platform=WinVista
+Win32=true
+
+[Opera/9.0* (Windows XP*)*]
+Parent=Opera 9.0
+Platform=WinXP
+Win32=true
+
+[Opera/9.0* (X11; FreeBSD*)*]
+Parent=Opera 9.0
+Platform=FreeBSD
+
+[Opera/9.0* (X11; Linux*)*]
+Parent=Opera 9.0
+Platform=Linux
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 9.1
+
+[Opera 9.1]
+Parent=DefaultProperties
+Browser=Opera
+Version=9.1
+MajorVer=9
+MinorVer=1
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+BackgroundSounds=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/* (compatible; MSIE*; Linux*) Opera 9.1*]
+Parent=Opera 9.1
+Platform=Linux
+
+[Mozilla/* (compatible; MSIE*; Mac_PowerPC Mac OS X;*) Opera 9.1*]
+Parent=Opera 9.1
+Platform=MacOSX
+
+[Mozilla/* (compatible; MSIE*; Mac_PowerPC;*) Opera 9.1*]
+Parent=Opera 9.1
+Platform=MacPPC
+
+[Mozilla/* (compatible; MSIE*; Windows 2000*) Opera 9.1*]
+Parent=Opera 9.1
+Platform=Win2000
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows 95*) Opera 9.1*]
+Parent=Opera 9.1
+Platform=Win95
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows 98*) Opera 9.1*]
+Parent=Opera 9.1
+Platform=Win98
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows CE*) Opera 9.1*]
+Parent=Opera 9.1
+Platform=WinCE
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows ME*) Opera 9.1*]
+Parent=Opera 9.1
+Platform=WinME
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 4.0*) Opera 9.1*]
+Parent=Opera 9.1
+Platform=WinNT
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 5.0*) Opera 9.1*]
+Parent=Opera 9.1
+Platform=Win2000
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 5.1*) Opera 9.1*]
+Parent=Opera 9.1
+Platform=WinXP
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 5.2*) Opera 9.1*]
+Parent=Opera 9.1
+Platform=Win2003
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 6.0*) Opera 9.1*]
+Parent=Opera 9.1
+Platform=WinVista
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows XP*) Opera 9.1*]
+Parent=Opera 9.1
+Platform=WinXP
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; X11; FreeBSD*) Opera 9.1*]
+Parent=Opera 9.1
+Platform=FreeBSD
+
+[Mozilla/* (compatible; MSIE*; X11; Linux*) Opera 9.1*]
+Parent=Opera 9.1
+Platform=Linux
+
+[Mozilla/* (compatible; MSIE*; X11; SunOS*) Opera 9.1*]
+Parent=Opera 9.1
+Platform=SunOS
+
+[Mozilla/* (Macintosh; *Mac OS X; ?) Opera 9.1*]
+Parent=Opera 9.1
+Platform=MacOSX
+
+[Mozilla/* (Windows 2000;*) Opera 9.1*]
+Parent=Opera 9.1
+Platform=Win2000
+Win32=true
+
+[Mozilla/* (Windows 95;*) Opera 9.1*]
+Parent=Opera 9.1
+Platform=Win95
+Win32=true
+
+[Mozilla/* (Windows 98;*) Opera 9.1*]
+Parent=Opera 9.1
+Platform=Win98
+Win32=true
+
+[Mozilla/* (Windows ME;*) Opera 9.1*]
+Parent=Opera 9.1
+Platform=WinME
+Win32=true
+
+[Mozilla/* (Windows NT 4.0;*) Opera 9.1*]
+Parent=Opera 9.1
+Platform=WinNT
+Win32=true
+
+[Mozilla/* (Windows NT 5.0;*) Opera 9.1*]
+Parent=Opera 9.1
+Platform=Win2000
+Win32=true
+
+[Mozilla/* (Windows NT 5.1;*) Opera 9.1*]
+Parent=Opera 9.1
+Platform=WinXP
+Win32=true
+
+[Mozilla/* (Windows NT 5.2;*) Opera 9.1*]
+Parent=Opera 9.1
+Platform=Win2003
+Win32=true
+
+[Mozilla/* (X11; Linux*) Opera 9.1*]
+Parent=Opera 9.1
+Platform=Linux
+
+[Opera/9.1* (Linux*)*]
+Parent=Opera 9.1
+Platform=Linux
+
+[Opera/9.1* (Macintosh; *Mac OS X;*)*]
+Parent=Opera 9.1
+Platform=MacOSX
+
+[Opera/9.1* (Windows 95*)*]
+Parent=Opera 9.1
+Platform=Win95
+Win32=true
+
+[Opera/9.1* (Windows 98*)*]
+Parent=Opera 9.1
+Platform=Win98
+Win32=true
+
+[Opera/9.1* (Windows CE*)*]
+Parent=Opera 9.1
+Platform=WinCE
+Win32=true
+
+[Opera/9.1* (Windows ME*)*]
+Parent=Opera 9.1
+Platform=WinME
+Win32=true
+
+[Opera/9.1* (Windows NT 4.0*)*]
+Parent=Opera 9.1
+Platform=WinNT
+Win32=true
+
+[Opera/9.1* (Windows NT 5.0*)*]
+Parent=Opera 9.1
+Platform=Win2000
+Win32=true
+
+[Opera/9.1* (Windows NT 5.1*)*]
+Parent=Opera 9.1
+Platform=WinXP
+Win32=true
+
+[Opera/9.1* (Windows NT 5.2*)*]
+Parent=Opera 9.1
+Platform=Win2003
+Win32=true
+
+[Opera/9.1* (Windows NT 6.0*)*]
+Parent=Opera 9.1
+Platform=WinVista
+Win32=true
+
+[Opera/9.1* (Windows XP*)*]
+Parent=Opera 9.1
+Platform=WinXP
+Win32=true
+
+[Opera/9.1* (X11; FreeBSD*)*]
+Parent=Opera 9.1
+Platform=FreeBSD
+
+[Opera/9.1* (X11; Linux*)*]
+Parent=Opera 9.1
+Platform=Linux
+
+[Opera/9.1* (X11; SunOS*)*]
+Parent=Opera 9.1
+Platform=SunOS
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 9.2
+
+[Opera 9.2]
+Parent=DefaultProperties
+Browser=Opera
+Version=9.2
+MajorVer=9
+MinorVer=2
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+BackgroundSounds=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/* (compatible; MSIE*; Linux*) Opera 9.2*]
+Parent=Opera 9.2
+Platform=Linux
+
+[Mozilla/* (compatible; MSIE*; Mac_PowerPC Mac OS X;*) Opera 9.2*]
+Parent=Opera 9.2
+Platform=MacOSX
+
+[Mozilla/* (compatible; MSIE*; Mac_PowerPC) Opera 9.2*]
+Parent=Opera 9.2
+Platform=MacPPC
+
+[Mozilla/* (compatible; MSIE*; Windows 2000*) Opera 9.2*]
+Parent=Opera 9.2
+Platform=Win2000
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows 95*) Opera 9.2*]
+Parent=Opera 9.2
+Platform=Win95
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows 98*) Opera 9.2*]
+Parent=Opera 9.2
+Platform=Win98
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows CE*) Opera 9.2*]
+Parent=Opera 9.2
+Platform=WinCE
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows ME*) Opera 9.2*]
+Parent=Opera 9.2
+Platform=WinME
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 4.0*) Opera 9.2*]
+Parent=Opera 9.2
+Platform=WinNT
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 5.0*) Opera 9.2*]
+Parent=Opera 9.2
+Platform=Win2000
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 5.1*) Opera 9.2*]
+Parent=Opera 9.2
+Platform=WinXP
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 5.2*) Opera 9.2*]
+Parent=Opera 9.2
+Platform=Win2003
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 6.0*) Opera 9.2*]
+Parent=Opera 9.2
+Platform=WinVista
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 6.1*) Opera 9.2*]
+Parent=Opera 9.2
+Platform=Win7
+
+[Mozilla/* (compatible; MSIE*; Windows XP*) Opera 9.2*]
+Parent=Opera 9.2
+Platform=WinXP
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; X11; FreeBSD*) Opera 9.2*]
+Parent=Opera 9.2
+Platform=FreeBSD
+
+[Mozilla/* (compatible; MSIE*; X11; Linux*) Opera 9.2*]
+Parent=Opera 9.2
+Platform=Linux
+
+[Mozilla/* (compatible; MSIE*; X11; SunOS*) Opera 9.2*]
+Parent=Opera 9.2
+Platform=SunOS
+
+[Mozilla/* (Macintosh; *Mac OS X; ?) Opera 9.2*]
+Parent=Opera 9.2
+Platform=MacOSX
+
+[Mozilla/* (Windows 2000;*) Opera 9.2*]
+Parent=Opera 9.2
+Platform=Win2000
+Win32=true
+
+[Mozilla/* (Windows 95;*) Opera 9.2*]
+Parent=Opera 9.2
+Platform=Win95
+Win32=true
+
+[Mozilla/* (Windows 98;*) Opera 9.2*]
+Parent=Opera 9.2
+Platform=Win98
+Win32=true
+
+[Mozilla/* (Windows ME;*) Opera 9.2*]
+Parent=Opera 9.2
+Platform=WinME
+Win32=true
+
+[Mozilla/* (Windows NT 4.0;*) Opera 9.2*]
+Parent=Opera 9.2
+Platform=WinNT
+Win32=true
+
+[Mozilla/* (Windows NT 5.0;*) Opera 9.2*]
+Parent=Opera 9.2
+Platform=Win2000
+Win32=true
+
+[Mozilla/* (Windows NT 5.1;*) Opera 9.2*]
+Parent=Opera 9.2
+Platform=WinXP
+Win32=true
+
+[Mozilla/* (Windows NT 5.2;*) Opera 9.2*]
+Parent=Opera 9.2
+Platform=Win2003
+Win32=true
+
+[Mozilla/* (Windows NT 6.0;*) Opera 9.2*]
+Parent=Opera 9.2
+Platform=WinVista
+
+[Mozilla/* (Windows NT 6.1;*) Opera 9.2*]
+Parent=Opera 9.2
+Platform=Win7
+
+[Mozilla/* (X11; Linux*) Opera 9.2*]
+Parent=Opera 9.2
+Platform=Linux
+
+[Opera/9.2* (Linux*)*]
+Parent=Opera 9.2
+Platform=Linux
+
+[Opera/9.2* (Macintosh; *Mac OS X;*)*]
+Parent=Opera 9.2
+Platform=MacOSX
+
+[Opera/9.2* (Windows 95*)*]
+Parent=Opera 9.2
+Platform=Win95
+Win32=true
+
+[Opera/9.2* (Windows 98*)*]
+Parent=Opera 9.2
+Platform=Win98
+Win32=true
+
+[Opera/9.2* (Windows CE*)*]
+Parent=Opera 9.2
+Platform=WinCE
+Win32=true
+
+[Opera/9.2* (Windows ME*)*]
+Parent=Opera 9.2
+Platform=WinME
+Win32=true
+
+[Opera/9.2* (Windows NT 4.0*)*]
+Parent=Opera 9.2
+Platform=WinNT
+Win32=true
+
+[Opera/9.2* (Windows NT 5.0*)*]
+Parent=Opera 9.2
+Platform=Win2000
+Win32=true
+
+[Opera/9.2* (Windows NT 5.1*)*]
+Parent=Opera 9.2
+Platform=WinXP
+Win32=true
+
+[Opera/9.2* (Windows NT 5.2*)*]
+Parent=Opera 9.2
+Platform=Win2003
+Win32=true
+
+[Opera/9.2* (Windows NT 6.0*)*]
+Parent=Opera 9.2
+Platform=WinVista
+Win32=true
+
+[Opera/9.2* (Windows NT 6.1*)*]
+Parent=Opera 9.2
+Platform=Win7
+
+[Opera/9.2* (Windows XP*)*]
+Parent=Opera 9.2
+Platform=WinXP
+Win32=true
+
+[Opera/9.2* (X11; FreeBSD*)*]
+Parent=Opera 9.2
+Platform=FreeBSD
+
+[Opera/9.2* (X11; Linux*)*]
+Parent=Opera 9.2
+Platform=Linux
+
+[Opera/9.2* (X11; SunOS*)*]
+Parent=Opera 9.2
+Platform=SunOS
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 9.3
+
+[Opera 9.3]
+Parent=DefaultProperties
+Browser=Opera
+Version=9.3
+MajorVer=9
+MinorVer=3
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+BackgroundSounds=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/* (compatible; MSIE*; Linux*) Opera 9.3*]
+Parent=Opera 9.3
+Platform=Linux
+
+[Mozilla/* (compatible; MSIE*; Mac_PowerPC Mac OS X;*) Opera 9.3*]
+Parent=Opera 9.3
+Platform=MacOSX
+
+[Mozilla/* (compatible; MSIE*; Mac_PowerPC) Opera 9.3*]
+Parent=Opera 9.3
+Platform=MacPPC
+
+[Mozilla/* (compatible; MSIE*; Windows 2000*) Opera 9.3*]
+Parent=Opera 9.3
+Platform=Win2000
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows 95*) Opera 9.3*]
+Parent=Opera 9.3
+Platform=Win95
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows 98*) Opera 9.3*]
+Parent=Opera 9.3
+Platform=Win98
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows CE*) Opera 9.3*]
+Parent=Opera 9.3
+Platform=WinCE
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows ME*) Opera 9.3*]
+Parent=Opera 9.3
+Platform=WinME
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 4.0*) Opera 9.3*]
+Parent=Opera 9.3
+Platform=WinNT
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 5.0*) Opera 9.3*]
+Parent=Opera 9.3
+Platform=Win2000
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 5.1*) Opera 9.3*]
+Parent=Opera 9.3
+Platform=WinXP
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 5.2*) Opera 9.3*]
+Parent=Opera 9.3
+Platform=Win2003
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 6.0*) Opera 9.3*]
+Parent=Opera 9.3
+Platform=WinVista
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 6.1*) Opera 9.3*]
+Parent=Opera 9.3
+Platform=Win7
+
+[Mozilla/* (compatible; MSIE*; Windows XP*) Opera 9.3*]
+Parent=Opera 9.3
+Platform=WinXP
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; X11; FreeBSD*) Opera 9.3*]
+Parent=Opera 9.3
+Platform=FreeBSD
+
+[Mozilla/* (compatible; MSIE*; X11; Linux*) Opera 9.3*]
+Parent=Opera 9.3
+Platform=Linux
+
+[Mozilla/* (compatible; MSIE*; X11; SunOS*) Opera 9.3*]
+Parent=Opera 9.3
+Platform=SunOS
+
+[Mozilla/* (Macintosh; *Mac OS X; ?) Opera 9.3*]
+Parent=Opera 9.3
+Platform=MacOSX
+
+[Mozilla/* (Windows 2000;*) Opera 9.3*]
+Parent=Opera 9.3
+Platform=Win2000
+Win32=true
+
+[Mozilla/* (Windows 95;*) Opera 9.3*]
+Parent=Opera 9.3
+Platform=Win95
+Win32=true
+
+[Mozilla/* (Windows 98;*) Opera 9.3*]
+Parent=Opera 9.3
+Platform=Win98
+Win32=true
+
+[Mozilla/* (Windows ME;*) Opera 9.3*]
+Parent=Opera 9.3
+Platform=WinME
+Win32=true
+
+[Mozilla/* (Windows NT 4.0;*) Opera 9.3*]
+Parent=Opera 9.3
+Platform=WinNT
+Win32=true
+
+[Mozilla/* (Windows NT 5.0;*) Opera 9.3*]
+Parent=Opera 9.3
+Platform=Win2000
+Win32=true
+
+[Mozilla/* (Windows NT 5.1;*) Opera 9.3*]
+Parent=Opera 9.3
+Platform=WinXP
+Win32=true
+
+[Mozilla/* (Windows NT 5.2;*) Opera 9.3*]
+Parent=Opera 9.3
+Platform=Win2003
+Win32=true
+
+[Mozilla/* (Windows NT 6.0;*) Opera 9.3*]
+Parent=Opera 9.3
+Platform=WinVista
+
+[Mozilla/* (Windows NT 6.1;*) Opera 9.3*]
+Parent=Opera 9.3
+Platform=Win7
+
+[Mozilla/* (X11; Linux*) Opera 9.3*]
+Parent=Opera 9.3
+Platform=Linux
+
+[Opera/9.3* (Linux*)*]
+Parent=Opera 9.3
+Platform=Linux
+
+[Opera/9.3* (Macintosh; *Mac OS X;*)*]
+Parent=Opera 9.3
+Platform=MacOSX
+
+[Opera/9.3* (Windows 95*)*]
+Parent=Opera 9.3
+Platform=Win95
+Win32=true
+
+[Opera/9.3* (Windows 98*)*]
+Parent=Opera 9.3
+Platform=Win98
+Win32=true
+
+[Opera/9.3* (Windows CE*)*]
+Parent=Opera 9.3
+Platform=WinCE
+Win32=true
+
+[Opera/9.3* (Windows ME*)*]
+Parent=Opera 9.3
+Platform=WinME
+Win32=true
+
+[Opera/9.3* (Windows NT 4.0*)*]
+Parent=Opera 9.3
+Platform=WinNT
+Win32=true
+
+[Opera/9.3* (Windows NT 5.0*)*]
+Parent=Opera 9.3
+Platform=Win2000
+Win32=true
+
+[Opera/9.3* (Windows NT 5.1*)*]
+Parent=Opera 9.3
+Platform=WinXP
+Win32=true
+
+[Opera/9.3* (Windows NT 5.2*)*]
+Parent=Opera 9.3
+Platform=Win2003
+Win32=true
+
+[Opera/9.3* (Windows NT 6.0*)*]
+Parent=Opera 9.3
+Platform=WinVista
+Win32=true
+
+[Opera/9.3* (Windows NT 6.1*)*]
+Parent=Opera 9.3
+Platform=Win7
+
+[Opera/9.3* (Windows XP*)*]
+Parent=Opera 9.3
+Platform=WinXP
+Win32=true
+
+[Opera/9.3* (X11; FreeBSD*)*]
+Parent=Opera 9.3
+Platform=FreeBSD
+
+[Opera/9.3* (X11; Linux*)*]
+Parent=Opera 9.3
+Platform=Linux
+
+[Opera/9.3* (X11; SunOS*)*]
+Parent=Opera 9.3
+Platform=SunOS
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 9.4
+
+[Opera 9.4]
+Parent=DefaultProperties
+Browser=Opera
+Version=9.4
+MajorVer=9
+MinorVer=4
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+BackgroundSounds=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/* (compatible; MSIE*; Linux*) Opera 9.4*]
+Parent=Opera 9.4
+Platform=Linux
+
+[Mozilla/* (compatible; MSIE*; Mac_PowerPC Mac OS X;*) Opera 9.4*]
+Parent=Opera 9.4
+Platform=MacOSX
+
+[Mozilla/* (compatible; MSIE*; Mac_PowerPC) Opera 9.4*]
+Parent=Opera 9.4
+Platform=MacPPC
+
+[Mozilla/* (compatible; MSIE*; Windows 2000*) Opera 9.4*]
+Parent=Opera 9.4
+Platform=Win2000
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows 95*) Opera 9.4*]
+Parent=Opera 9.4
+Platform=Win95
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows 98*) Opera 9.4*]
+Parent=Opera 9.4
+Platform=Win98
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows CE*) Opera 9.4*]
+Parent=Opera 9.4
+Platform=WinCE
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows ME*) Opera 9.4*]
+Parent=Opera 9.4
+Platform=WinME
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 4.0*) Opera 9.4*]
+Parent=Opera 9.4
+Platform=WinNT
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 5.0*) Opera 9.4*]
+Parent=Opera 9.4
+Platform=Win2000
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 5.1*) Opera 9.4*]
+Parent=Opera 9.4
+Platform=WinXP
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 5.2*) Opera 9.4*]
+Parent=Opera 9.4
+Platform=Win2003
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 6.0*) Opera 9.4*]
+Parent=Opera 9.4
+Platform=WinVista
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 6.1*) Opera 9.4*]
+Parent=Opera 9.4
+Platform=Win7
+
+[Mozilla/* (compatible; MSIE*; Windows XP*) Opera 9.4*]
+Parent=Opera 9.4
+Platform=WinXP
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; X11; FreeBSD*) Opera 9.4*]
+Parent=Opera 9.4
+Platform=FreeBSD
+
+[Mozilla/* (compatible; MSIE*; X11; Linux*) Opera 9.4*]
+Parent=Opera 9.4
+Platform=Linux
+
+[Mozilla/* (compatible; MSIE*; X11; SunOS*) Opera 9.4*]
+Parent=Opera 9.4
+Platform=SunOS
+
+[Mozilla/* (Macintosh; *Mac OS X; ?) Opera 9.4*]
+Parent=Opera 9.4
+Platform=MacOSX
+
+[Mozilla/* (Windows 2000;*) Opera 9.4*]
+Parent=Opera 9.4
+Platform=Win2000
+Win32=true
+
+[Mozilla/* (Windows 95;*) Opera 9.4*]
+Parent=Opera 9.4
+Platform=Win95
+Win32=true
+
+[Mozilla/* (Windows 98;*) Opera 9.4*]
+Parent=Opera 9.4
+Platform=Win98
+Win32=true
+
+[Mozilla/* (Windows ME;*) Opera 9.4*]
+Parent=Opera 9.4
+Platform=WinME
+Win32=true
+
+[Mozilla/* (Windows NT 4.0;*) Opera 9.4*]
+Parent=Opera 9.4
+Platform=WinNT
+Win32=true
+
+[Mozilla/* (Windows NT 5.0;*) Opera 9.4*]
+Parent=Opera 9.4
+Platform=Win2000
+Win32=true
+
+[Mozilla/* (Windows NT 5.1;*) Opera 9.4*]
+Parent=Opera 9.4
+Platform=WinXP
+Win32=true
+
+[Mozilla/* (Windows NT 5.2;*) Opera 9.4*]
+Parent=Opera 9.4
+Platform=Win2003
+Win32=true
+
+[Mozilla/* (Windows NT 6.0;*) Opera 9.4*]
+Parent=Opera 9.4
+Platform=WinVista
+
+[Mozilla/* (Windows NT 6.1;*) Opera 9.4*]
+Parent=Opera 9.4
+Platform=Win7
+
+[Mozilla/* (X11; Linux*) Opera 9.4*]
+Parent=Opera 9.4
+Platform=Linux
+
+[Opera/9.4* (Linux*)*]
+Parent=Opera 9.4
+Platform=Linux
+
+[Opera/9.4* (Macintosh; *Mac OS X;*)*]
+Parent=Opera 9.4
+Platform=MacOSX
+
+[Opera/9.4* (Windows 95*)*]
+Parent=Opera 9.4
+Platform=Win95
+Win32=true
+
+[Opera/9.4* (Windows 98*)*]
+Parent=Opera 9.4
+Platform=Win98
+Win32=true
+
+[Opera/9.4* (Windows CE*)*]
+Parent=Opera 9.4
+Platform=WinCE
+Win32=true
+
+[Opera/9.4* (Windows ME*)*]
+Parent=Opera 9.4
+Platform=WinME
+Win32=true
+
+[Opera/9.4* (Windows NT 4.0*)*]
+Parent=Opera 9.4
+Platform=WinNT
+Win32=true
+
+[Opera/9.4* (Windows NT 5.0*)*]
+Parent=Opera 9.4
+Platform=Win2000
+Win32=true
+
+[Opera/9.4* (Windows NT 5.1*)*]
+Parent=Opera 9.4
+Platform=WinXP
+Win32=true
+
+[Opera/9.4* (Windows NT 5.2*)*]
+Parent=Opera 9.4
+Platform=Win2003
+Win32=true
+
+[Opera/9.4* (Windows NT 6.0*)*]
+Parent=Opera 9.4
+Platform=WinVista
+Win32=true
+
+[Opera/9.4* (Windows NT 6.1*)*]
+Parent=Opera 9.4
+Platform=Win7
+
+[Opera/9.4* (Windows XP*)*]
+Parent=Opera 9.4
+Platform=WinXP
+Win32=true
+
+[Opera/9.4* (X11; FreeBSD*)*]
+Parent=Opera 9.4
+Platform=FreeBSD
+
+[Opera/9.4* (X11; Linux*)*]
+Parent=Opera 9.4
+Platform=Linux
+
+[Opera/9.4* (X11; SunOS*)*]
+Parent=Opera 9.4
+Platform=SunOS
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 9.5
+
+[Opera 9.5]
+Parent=DefaultProperties
+Browser=Opera
+Version=9.5
+MajorVer=9
+MinorVer=5
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+BackgroundSounds=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/* (compatible; MSIE*; Linux*) Opera 9.5*]
+Parent=Opera 9.5
+Platform=Linux
+
+[Mozilla/* (compatible; MSIE*; Mac_PowerPC Mac OS X;*) Opera 9.5*]
+Parent=Opera 9.5
+Platform=MacOSX
+
+[Mozilla/* (compatible; MSIE*; Mac_PowerPC) Opera 9.5*]
+Parent=Opera 9.5
+Platform=MacPPC
+
+[Mozilla/* (compatible; MSIE*; Windows 2000*) Opera 9.5*]
+Parent=Opera 9.5
+Platform=Win2000
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows 95*) Opera 9.5*]
+Parent=Opera 9.5
+Platform=Win95
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows 98*) Opera 9.5*]
+Parent=Opera 9.5
+Platform=Win98
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows CE*) Opera 9.5*]
+Parent=Opera 9.5
+Platform=WinCE
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows ME*) Opera 9.5*]
+Parent=Opera 9.5
+Platform=WinME
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 4.0*) Opera 9.5*]
+Parent=Opera 9.5
+Platform=WinNT
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 5.0*) Opera 9.5*]
+Parent=Opera 9.5
+Platform=Win2000
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 5.1*) Opera 9.5*]
+Parent=Opera 9.5
+Platform=WinXP
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 5.2*) Opera 9.5*]
+Parent=Opera 9.5
+Platform=Win2003
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 6.0*) Opera 9.5*]
+Parent=Opera 9.5
+Platform=WinVista
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 6.1*) Opera 9.5*]
+Parent=Opera 9.5
+Platform=Win7
+
+[Mozilla/* (compatible; MSIE*; Windows XP*) Opera 9.5*]
+Parent=Opera 9.5
+Platform=WinXP
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; X11; FreeBSD*) Opera 9.5*]
+Parent=Opera 9.5
+Platform=FreeBSD
+
+[Mozilla/* (compatible; MSIE*; X11; Linux*) Opera 9.5*]
+Parent=Opera 9.5
+Platform=Linux
+
+[Mozilla/* (compatible; MSIE*; X11; SunOS*) Opera 9.5*]
+Parent=Opera 9.5
+Platform=SunOS
+
+[Mozilla/* (Macintosh; *Mac OS X; ?) Opera 9.5*]
+Parent=Opera 9.5
+Platform=MacOSX
+
+[Mozilla/* (Windows 2000;*) Opera 9.5*]
+Parent=Opera 9.5
+Platform=Win2000
+Win32=true
+
+[Mozilla/* (Windows 95;*) Opera 9.5*]
+Parent=Opera 9.5
+Platform=Win95
+Win32=true
+
+[Mozilla/* (Windows 98;*) Opera 9.5*]
+Parent=Opera 9.5
+Platform=Win98
+Win32=true
+
+[Mozilla/* (Windows ME;*) Opera 9.5*]
+Parent=Opera 9.5
+Platform=WinME
+Win32=true
+
+[Mozilla/* (Windows NT 4.0;*) Opera 9.5*]
+Parent=Opera 9.5
+Platform=WinNT
+Win32=true
+
+[Mozilla/* (Windows NT 5.0;*) Opera 9.5*]
+Parent=Opera 9.5
+Platform=Win2000
+Win32=true
+
+[Mozilla/* (Windows NT 5.1;*) Opera 9.5*]
+Parent=Opera 9.5
+Platform=WinXP
+Win32=true
+
+[Mozilla/* (Windows NT 5.2;*) Opera 9.5*]
+Parent=Opera 9.5
+Platform=Win2003
+Win32=true
+
+[Mozilla/* (Windows NT 6.0;*) Opera 9.5*]
+Parent=Opera 9.5
+Platform=WinVista
+
+[Mozilla/* (Windows NT 6.1;*) Opera 9.5*]
+Parent=Opera 9.5
+Platform=Win7
+
+[Mozilla/* (X11; Linux*) Opera 9.5*]
+Parent=Opera 9.5
+Platform=Linux
+
+[Opera/9.5* (Linux*)*]
+Parent=Opera 9.5
+Platform=Linux
+
+[Opera/9.5* (Macintosh; *Mac OS X;*)*]
+Parent=Opera 9.5
+Platform=MacOSX
+
+[Opera/9.5* (Windows 95*)*]
+Parent=Opera 9.5
+Platform=Win95
+Win32=true
+
+[Opera/9.5* (Windows 98*)*]
+Parent=Opera 9.5
+Platform=Win98
+Win32=true
+
+[Opera/9.5* (Windows CE*)*]
+Parent=Opera 9.5
+Platform=WinCE
+Win32=true
+
+[Opera/9.5* (Windows ME*)*]
+Parent=Opera 9.5
+Platform=WinME
+Win32=true
+
+[Opera/9.5* (Windows NT 4.0*)*]
+Parent=Opera 9.5
+Platform=WinNT
+Win32=true
+
+[Opera/9.5* (Windows NT 5.0*)*]
+Parent=Opera 9.5
+Platform=Win2000
+Win32=true
+
+[Opera/9.5* (Windows NT 5.1*)*]
+Parent=Opera 9.5
+Platform=WinXP
+Win32=true
+
+[Opera/9.5* (Windows NT 5.2*)*]
+Parent=Opera 9.5
+Platform=Win2003
+Win32=true
+
+[Opera/9.5* (Windows NT 6.0*)*]
+Parent=Opera 9.5
+Platform=WinVista
+Win32=true
+
+[Opera/9.5* (Windows NT 6.1*)*]
+Parent=Opera 9.5
+Platform=Win7
+
+[Opera/9.5* (Windows XP*)*]
+Parent=Opera 9.5
+Platform=WinXP
+Win32=true
+
+[Opera/9.5* (X11; FreeBSD*)*]
+Parent=Opera 9.5
+Platform=FreeBSD
+
+[Opera/9.5* (X11; Linux*)*]
+Parent=Opera 9.5
+Platform=Linux
+
+[Opera/9.5* (X11; SunOS*)*]
+Parent=Opera 9.5
+Platform=SunOS
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 9.6
+
+[Opera 9.6]
+Parent=DefaultProperties
+Browser=Opera
+Version=9.6
+MajorVer=9
+MinorVer=6
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+BackgroundSounds=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/* (compatible; MSIE*; Linux*) Opera 9.6*]
+Parent=Opera 9.6
+Platform=Linux
+
+[Mozilla/* (compatible; MSIE*; Mac_PowerPC Mac OS X;*) Opera 9.6*]
+Parent=Opera 9.6
+Platform=MacOSX
+
+[Mozilla/* (compatible; MSIE*; Mac_PowerPC) Opera 9.6*]
+Parent=Opera 9.6
+Platform=MacPPC
+
+[Mozilla/* (compatible; MSIE*; Windows 2000*) Opera 9.6*]
+Parent=Opera 9.6
+Platform=Win2000
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows 95*) Opera 9.6*]
+Parent=Opera 9.6
+Platform=Win95
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows 98*) Opera 9.6*]
+Parent=Opera 9.6
+Platform=Win98
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows CE*) Opera 9.6*]
+Parent=Opera 9.6
+Platform=WinCE
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows ME*) Opera 9.6*]
+Parent=Opera 9.6
+Platform=WinME
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 4.0*) Opera 9.6*]
+Parent=Opera 9.6
+Platform=WinNT
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 5.0*) Opera 9.6*]
+Parent=Opera 9.6
+Platform=Win2000
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 5.1*) Opera 9.6*]
+Parent=Opera 9.6
+Platform=WinXP
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 5.2*) Opera 9.6*]
+Parent=Opera 9.6
+Platform=Win2003
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 6.0*) Opera 9.6*]
+Parent=Opera 9.6
+Platform=WinVista
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; Windows NT 6.1*) Opera 9.6*]
+Parent=Opera 9.6
+Platform=Win7
+
+[Mozilla/* (compatible; MSIE*; Windows XP*) Opera 9.6*]
+Parent=Opera 9.6
+Platform=WinXP
+Win32=true
+
+[Mozilla/* (compatible; MSIE*; X11; FreeBSD*) Opera 9.6*]
+Parent=Opera 9.6
+Platform=FreeBSD
+
+[Mozilla/* (compatible; MSIE*; X11; Linux*) Opera 9.6*]
+Parent=Opera 9.6
+Platform=Linux
+
+[Mozilla/* (compatible; MSIE*; X11; SunOS*) Opera 9.6*]
+Parent=Opera 9.6
+Platform=SunOS
+
+[Mozilla/* (Macintosh; *Mac OS X; ?) Opera 9.6*]
+Parent=Opera 9.6
+Platform=MacOSX
+
+[Mozilla/* (Windows 2000;*) Opera 9.6*]
+Parent=Opera 9.6
+Platform=Win2000
+Win32=true
+
+[Mozilla/* (Windows 95;*) Opera 9.6*]
+Parent=Opera 9.6
+Platform=Win95
+Win32=true
+
+[Mozilla/* (Windows 98;*) Opera 9.6*]
+Parent=Opera 9.6
+Platform=Win98
+Win32=true
+
+[Mozilla/* (Windows ME;*) Opera 9.6*]
+Parent=Opera 9.6
+Platform=WinME
+Win32=true
+
+[Mozilla/* (Windows NT 4.0;*) Opera 9.6*]
+Parent=Opera 9.6
+Platform=WinNT
+Win32=true
+
+[Mozilla/* (Windows NT 5.0;*) Opera 9.6*]
+Parent=Opera 9.6
+Platform=Win2000
+Win32=true
+
+[Mozilla/* (Windows NT 5.1;*) Opera 9.6*]
+Parent=Opera 9.6
+Platform=WinXP
+Win32=true
+
+[Mozilla/* (Windows NT 5.2;*) Opera 9.6*]
+Parent=Opera 9.6
+Platform=Win2003
+Win32=true
+
+[Mozilla/* (Windows NT 6.0;*) Opera 9.6*]
+Parent=Opera 9.6
+Platform=WinVista
+
+[Mozilla/* (Windows NT 6.1;*) Opera 9.6*]
+Parent=Opera 9.6
+Platform=Win7
+
+[Mozilla/* (X11; Linux*) Opera 9.6*]
+Parent=Opera 9.6
+Platform=Linux
+
+[Opera/9.6* (Linux*)*]
+Parent=Opera 9.6
+Platform=Linux
+
+[Opera/9.6* (Macintosh; *Mac OS X;*)*]
+Parent=Opera 9.6
+Platform=MacOSX
+
+[Opera/9.6* (Windows 95*)*]
+Parent=Opera 9.6
+Platform=Win95
+Win32=true
+
+[Opera/9.6* (Windows 98*)*]
+Parent=Opera 9.6
+Platform=Win98
+Win32=true
+
+[Opera/9.6* (Windows CE*)*]
+Parent=Opera 9.6
+Platform=WinCE
+Win32=true
+
+[Opera/9.6* (Windows ME*)*]
+Parent=Opera 9.6
+Platform=WinME
+Win32=true
+
+[Opera/9.6* (Windows NT 4.0*)*]
+Parent=Opera 9.6
+Platform=WinNT
+Win32=true
+
+[Opera/9.6* (Windows NT 5.0*)*]
+Parent=Opera 9.6
+Platform=Win2000
+Win32=true
+
+[Opera/9.6* (Windows NT 5.1*)*]
+Parent=Opera 9.6
+Platform=WinXP
+Win32=true
+
+[Opera/9.6* (Windows NT 5.2*)*]
+Parent=Opera 9.6
+Platform=Win2003
+Win32=true
+
+[Opera/9.6* (Windows NT 6.0*)*]
+Parent=Opera 9.6
+Platform=WinVista
+Win32=true
+
+[Opera/9.6* (Windows NT 6.1*)*]
+Parent=Opera 9.6
+Platform=Win7
+
+[Opera/9.6* (Windows XP*)*]
+Parent=Opera 9.6
+Platform=WinXP
+Win32=true
+
+[Opera/9.6* (X11; FreeBSD*)*]
+Parent=Opera 9.6
+Platform=FreeBSD
+
+[Opera/9.6* (X11; Linux*)*]
+Parent=Opera 9.6
+Platform=Linux
+
+[Opera/9.6* (X11; SunOS*)*]
+Parent=Opera 9.6
+Platform=SunOS
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Netscape 4.0
+
+[Netscape 4.0]
+Parent=DefaultProperties
+Browser=Netscape
+Version=4.0
+MajorVer=4
+Frames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=1
+supportsCSS=true
+
+[Mozilla/4.0*(Macintosh*]
+Parent=Netscape 4.0
+Version=4.03
+MinorVer=03
+Platform=MacPPC
+
+[Mozilla/4.0*(Win95;*]
+Parent=Netscape 4.0
+Platform=Win95
+
+[Mozilla/4.0*(Win98;*]
+Parent=Netscape 4.0
+Version=4.03
+MinorVer=03
+Platform=Win98
+
+[Mozilla/4.0*(WinNT*]
+Parent=Netscape 4.0
+Version=4.03
+MinorVer=03
+Platform=WinNT
+
+[Mozilla/4.0*(X11;*)]
+Parent=Netscape 4.0
+Platform=Linux
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Netscape 4.5
+
+[Netscape 4.5]
+Parent=DefaultProperties
+Browser=Netscape
+Version=4.5
+MajorVer=4
+MinorVer=5
+Frames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=1
+supportsCSS=true
+
+[Mozilla/4.5*(Macintosh; ?; PPC)]
+Parent=Netscape 4.5
+Platform=MacPPC
+
+[Mozilla/4.5*(Win2000; ?)]
+Parent=Netscape 4.5
+Platform=Win2000
+
+[Mozilla/4.5*(Win95; ?)]
+Parent=Netscape 4.5
+Platform=Win95
+
+[Mozilla/4.5*(Win98; ?)]
+Parent=Netscape 4.5
+Platform=Win98
+
+[Mozilla/4.5*(WinME; ?)]
+Parent=Netscape 4.5
+Platform=WinME
+
+[Mozilla/4.5*(WinNT; ?)]
+Parent=Netscape 4.5
+Platform=WinNT
+
+[Mozilla/4.5*(WinXP; ?)]
+Parent=Netscape 4.5
+Platform=WinXP
+
+[Mozilla/4.5*(X11*)]
+Parent=Netscape 4.5
+Platform=Linux
+
+[Mozilla/4.51*(Macintosh; ?; PPC)]
+Parent=Netscape 4.5
+Version=4.51
+MinorVer=51
+
+[Mozilla/4.51*(Win2000; ?)]
+Parent=Netscape 4.5
+Version=4.51
+MinorVer=51
+Platform=Win2000
+
+[Mozilla/4.51*(Win95; ?)]
+Parent=Netscape 4.5
+Version=4.51
+MinorVer=51
+Platform=Win95
+
+[Mozilla/4.51*(Win98; ?)]
+Parent=Netscape 4.5
+Version=4.51
+MinorVer=51
+Platform=Win98
+
+[Mozilla/4.51*(WinME; ?)]
+Parent=Netscape 4.5
+Version=4.51
+MinorVer=51
+Platform=WinME
+
+[Mozilla/4.51*(WinNT; ?)]
+Parent=Netscape 4.5
+Version=4.51
+MinorVer=51
+Platform=WinNT
+
+[Mozilla/4.51*(WinXP; ?)]
+Parent=Netscape 4.5
+Version=4.51
+MinorVer=51
+Platform=WinXP
+
+[Mozilla/4.51*(X11*)]
+Parent=Netscape 4.5
+Version=4.51
+MinorVer=51
+Platform=Linux
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Netscape 4.6
+
+[Netscape 4.6]
+Parent=DefaultProperties
+Browser=Netscape
+Version=4.6
+MajorVer=4
+MinorVer=6
+Frames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=1
+supportsCSS=true
+
+[Mozilla/4.6 * (OS/2; ?)]
+Parent=Netscape 4.6
+Platform=OS/2
+
+[Mozilla/4.6*(Macintosh; ?; PPC)]
+Parent=Netscape 4.6
+Platform=MacPPC
+
+[Mozilla/4.6*(Win95; ?)]
+Parent=Netscape 4.6
+Platform=Win95
+
+[Mozilla/4.6*(Win98; ?)]
+Parent=Netscape 4.6
+Platform=Win98
+
+[Mozilla/4.6*(WinNT; ?)]
+Parent=Netscape 4.6
+Platform=WinNT
+
+[Mozilla/4.61*(Macintosh; ?; PPC)]
+Parent=Netscape 4.6
+Version=4.61
+MajorVer=4
+MinorVer=61
+Platform=MacPPC
+
+[Mozilla/4.61*(OS/2; ?)]
+Parent=Netscape 4.6
+Version=4.61
+MajorVer=4
+MinorVer=61
+Platform=OS/2
+
+[Mozilla/4.61*(Win95; ?)]
+Parent=Netscape 4.6
+Version=4.61
+MajorVer=4
+MinorVer=61
+Platform=Win95
+
+[Mozilla/4.61*(Win98; ?)]
+Parent=Netscape 4.6
+Version=4.61
+Platform=Win98
+
+[Mozilla/4.61*(WinNT; ?)]
+Parent=Netscape 4.6
+Version=4.61
+MajorVer=4
+MinorVer=61
+Platform=WinNT
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Netscape 4.7
+
+[Netscape 4.7]
+Parent=DefaultProperties
+Browser=Netscape
+Version=4.7
+MajorVer=4
+MinorVer=7
+Frames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=1
+supportsCSS=true
+
+[Mozilla/4.7 * (Win2000; ?)]
+Parent=Netscape 4.7
+Platform=Win2000
+
+[Mozilla/4.7*(Macintosh; ?; PPC)*]
+Parent=Netscape 4.7
+MinorVer=7
+Platform=MacPPC
+
+[Mozilla/4.7*(Win95; ?)*]
+Parent=Netscape 4.7
+MinorVer=7
+Platform=Win95
+
+[Mozilla/4.7*(Win98; ?)*]
+Parent=Netscape 4.7
+MinorVer=7
+Platform=Win98
+
+[Mozilla/4.7*(Windows NT 4.0; ?)*]
+Parent=Netscape 4.7
+MinorVer=7
+Platform=WinNT
+Win32=true
+
+[Mozilla/4.7*(Windows NT 5.0; ?)*]
+Parent=Netscape 4.7
+MinorVer=7
+Platform=Win2000
+Win32=true
+
+[Mozilla/4.7*(Windows NT 5.1; ?)*]
+Parent=Netscape 4.7
+MinorVer=7
+Platform=WinXP
+Win32=true
+
+[Mozilla/4.7*(WinNT; ?)*]
+Parent=Netscape 4.7
+Platform=WinNT
+
+[Mozilla/4.7*(X11*)*]
+Parent=Netscape 4.7
+Platform=Linux
+
+[Mozilla/4.7*(X11; ?; SunOS*)*]
+Parent=Netscape 4.7
+Platform=SunOS
+
+[Mozilla/4.71*(Macintosh; ?; PPC)*]
+Parent=Netscape 4.7
+Version=4.71
+MinorVer=71
+Platform=MacPPC
+
+[Mozilla/4.71*(Win95; ?)*]
+Parent=Netscape 4.7
+Version=4.71
+MinorVer=71
+Platform=Win95
+
+[Mozilla/4.71*(Win98; ?)*]
+Parent=Netscape 4.7
+Version=4.71
+MinorVer=71
+Platform=Win98
+
+[Mozilla/4.71*(Windows NT 4.0; ?)*]
+Parent=Netscape 4.7
+Version=4.71
+MinorVer=71
+Platform=WinNT
+Win32=true
+
+[Mozilla/4.71*(Windows NT 5.0; ?)*]
+Parent=Netscape 4.7
+Version=4.71
+MinorVer=71
+Platform=Win2000
+Win32=true
+
+[Mozilla/4.71*(Windows NT 5.1; ?)*]
+Parent=Netscape 4.7
+Version=4.71
+MinorVer=71
+Platform=WinXP
+Win32=true
+
+[Mozilla/4.71*(WinNT; ?)*]
+Parent=Netscape 4.7
+Version=4.71
+MinorVer=71
+Platform=WinNT
+
+[Mozilla/4.71*(X11*)*]
+Parent=Netscape 4.7
+Version=4.71
+MinorVer=71
+Platform=Linux
+
+[Mozilla/4.71*(X11; ?; SunOS*)*]
+Parent=Netscape 4.7
+Version=4.71
+MinorVer=71
+Platform=SunOS
+
+[Mozilla/4.72*(Macintosh; ?; PPC)*]
+Parent=Netscape 4.7
+MinorVer=72
+Platform=MacPPC
+
+[Mozilla/4.72*(Win95; ?)*]
+Parent=Netscape 4.7
+MinorVer=72
+Platform=Win95
+
+[Mozilla/4.72*(Win98; ?)*]
+Parent=Netscape 4.7
+MinorVer=72
+Platform=Win98
+
+[Mozilla/4.72*(Windows NT 4.0; ?)*]
+Parent=Netscape 4.7
+MinorVer=72
+Platform=WinNT
+Win32=true
+
+[Mozilla/4.72*(Windows NT 5.0; ?)*]
+Parent=Netscape 4.7
+MinorVer=72
+Platform=Win2000
+Win32=true
+
+[Mozilla/4.72*(Windows NT 5.1; ?)*]
+Parent=Netscape 4.7
+MinorVer=72
+Platform=WinXP
+Win32=true
+
+[Mozilla/4.72*(WinNT; ?)*]
+Parent=Netscape 4.7
+MinorVer=72
+Platform=WinNT
+
+[Mozilla/4.72*(X11*)*]
+Parent=Netscape 4.7
+MinorVer=72
+Platform=Linux
+
+[Mozilla/4.72*(X11; ?; SunOS*)*]
+Parent=Netscape 4.7
+MinorVer=72
+Platform=SunOS
+
+[Mozilla/4.73*(Macintosh; ?; PPC)*]
+Parent=Netscape 4.7
+MinorVer=73
+Platform=MacPPC
+
+[Mozilla/4.73*(Win95; ?)*]
+Parent=Netscape 4.7
+MinorVer=73
+Platform=Win95
+
+[Mozilla/4.73*(Win98; ?)*]
+Parent=Netscape 4.7
+MinorVer=73
+Platform=Win98
+
+[Mozilla/4.73*(Windows NT 4.0; ?)*]
+Parent=Netscape 4.7
+MinorVer=73
+Platform=WinNT
+Win32=true
+
+[Mozilla/4.73*(Windows NT 5.0; ?)*]
+Parent=Netscape 4.7
+MinorVer=73
+Platform=Win2000
+Win32=true
+
+[Mozilla/4.73*(Windows NT 5.1; ?)*]
+Parent=Netscape 4.7
+MinorVer=73
+Platform=WinXP
+Win32=true
+
+[Mozilla/4.73*(WinNT; ?)*]
+Parent=Netscape 4.7
+MinorVer=73
+Platform=WinNT
+
+[Mozilla/4.73*(X11*)*]
+Parent=Netscape 4.7
+MinorVer=73
+Platform=Linux
+
+[Mozilla/4.73*(X11; ?; SunOS*)*]
+Parent=Netscape 4.7
+MinorVer=73
+Platform=SunOS
+
+[Mozilla/4.74*(Macintosh; ?; PPC)*]
+Parent=Netscape 4.7
+MinorVer=74
+Platform=MacPPC
+
+[Mozilla/4.74*(Win95; ?)*]
+Parent=Netscape 4.7
+MinorVer=74
+Platform=Win95
+
+[Mozilla/4.74*(Win98; ?)*]
+Parent=Netscape 4.7
+MinorVer=74
+Platform=Win98
+
+[Mozilla/4.74*(Windows NT 4.0; ?)*]
+Parent=Netscape 4.7
+MinorVer=74
+Platform=WinNT
+Win32=true
+
+[Mozilla/4.74*(Windows NT 5.0; ?)*]
+Parent=Netscape 4.7
+MinorVer=74
+Platform=Win2000
+Win32=true
+
+[Mozilla/4.74*(Windows NT 5.1; ?)*]
+Parent=Netscape 4.7
+MinorVer=74
+Platform=WinXP
+Win32=true
+
+[Mozilla/4.74*(WinNT; ?)*]
+Parent=Netscape 4.7
+MinorVer=74
+Platform=WinNT
+
+[Mozilla/4.74*(X11*)*]
+Parent=Netscape 4.7
+MinorVer=74
+Platform=Linux
+
+[Mozilla/4.74*(X11; ?; SunOS*)*]
+Parent=Netscape 4.7
+MinorVer=74
+Platform=SunOS
+
+[Mozilla/4.75*(Macintosh; ?; PPC)*]
+Parent=Netscape 4.7
+MinorVer=75
+Platform=MacPPC
+
+[Mozilla/4.75*(Win95; ?)*]
+Parent=Netscape 4.7
+MinorVer=75
+Platform=Win95
+
+[Mozilla/4.75*(Win98; ?)*]
+Parent=Netscape 4.7
+MinorVer=75
+Platform=Win98
+
+[Mozilla/4.75*(Windows NT 4.0; ?)*]
+Parent=Netscape 4.7
+MinorVer=75
+Platform=WinNT
+Win32=true
+
+[Mozilla/4.75*(Windows NT 5.0; ?)*]
+Parent=Netscape 4.7
+MinorVer=75
+Platform=Win2000
+Win32=true
+
+[Mozilla/4.75*(Windows NT 5.1; ?)*]
+Parent=Netscape 4.7
+MinorVer=75
+Platform=WinXP
+Win32=true
+
+[Mozilla/4.75*(WinNT; ?)*]
+Parent=Netscape 4.7
+MinorVer=75
+Platform=WinNT
+
+[Mozilla/4.75*(X11*)*]
+Parent=Netscape 4.7
+MinorVer=75
+Platform=Linux
+
+[Mozilla/4.75*(X11; ?; SunOS*)*]
+Parent=Netscape 4.7
+MinorVer=75
+Platform=SunOS
+
+[Mozilla/4.76*(Macintosh; ?; PPC)*]
+Parent=Netscape 4.7
+MinorVer=76
+Platform=MacPPC
+
+[Mozilla/4.76*(Win95; ?)*]
+Parent=Netscape 4.7
+MinorVer=76
+Platform=Win95
+
+[Mozilla/4.76*(Win98; ?)*]
+Parent=Netscape 4.7
+MinorVer=76
+Platform=Win98
+
+[Mozilla/4.76*(Windows NT 4.0; ?)*]
+Parent=Netscape 4.7
+MinorVer=76
+Platform=WinNT
+Win32=true
+
+[Mozilla/4.76*(Windows NT 5.0; ?)*]
+Parent=Netscape 4.7
+MinorVer=76
+Platform=Win2000
+Win32=true
+
+[Mozilla/4.76*(Windows NT 5.1; ?)*]
+Parent=Netscape 4.7
+MinorVer=76
+Platform=WinXP
+Win32=true
+
+[Mozilla/4.76*(WinNT; ?)*]
+Parent=Netscape 4.7
+MinorVer=76
+Platform=WinNT
+
+[Mozilla/4.76*(X11*)*]
+Parent=Netscape 4.7
+MinorVer=76
+Platform=Linux
+
+[Mozilla/4.76*(X11; ?; SunOS*)*]
+Parent=Netscape 4.7
+MinorVer=76
+Platform=SunOS
+
+[Mozilla/4.77*(Macintosh; ?; PPC)*]
+Parent=Netscape 4.7
+MinorVer=77
+Platform=MacPPC
+
+[Mozilla/4.77*(Win95; ?)*]
+Parent=Netscape 4.7
+MinorVer=77
+Platform=Win95
+
+[Mozilla/4.77*(Win98; ?)*]
+Parent=Netscape 4.7
+MinorVer=77
+Platform=Win98
+
+[Mozilla/4.77*(Windows NT 4.0; ?)*]
+Parent=Netscape 4.7
+MinorVer=77
+Platform=WinNT
+Win32=true
+
+[Mozilla/4.77*(Windows NT 5.0; ?)*]
+Parent=Netscape 4.7
+MinorVer=77
+Platform=Win2000
+Win32=true
+
+[Mozilla/4.77*(Windows NT 5.1; ?)*]
+Parent=Netscape 4.7
+MinorVer=77
+Platform=WinXP
+Win32=true
+
+[Mozilla/4.77*(WinNT; ?)*]
+Parent=Netscape 4.7
+MinorVer=77
+Platform=WinNT
+
+[Mozilla/4.77*(X11*)*]
+Parent=Netscape 4.7
+MinorVer=77
+Platform=Linux
+
+[Mozilla/4.77*(X11; ?; SunOS*)*]
+Parent=Netscape 4.7
+MinorVer=77
+Platform=SunOS
+
+[Mozilla/4.78*(Macintosh; ?; PPC)*]
+Parent=Netscape 4.7
+MinorVer=78
+Platform=MacPPC
+
+[Mozilla/4.78*(Win95; ?)*]
+Parent=Netscape 4.7
+MinorVer=78
+Platform=Win95
+
+[Mozilla/4.78*(Win98; ?)*]
+Parent=Netscape 4.7
+MinorVer=78
+Platform=Win98
+
+[Mozilla/4.78*(Windows NT 4.0; ?)*]
+Parent=Netscape 4.7
+MinorVer=78
+Platform=WinNT
+Win32=true
+
+[Mozilla/4.78*(Windows NT 5.0; ?)*]
+Parent=Netscape 4.7
+MinorVer=78
+Platform=Win2000
+Win32=true
+
+[Mozilla/4.78*(Windows NT 5.1; ?)*]
+Parent=Netscape 4.7
+MinorVer=78
+Platform=WinXP
+Win32=true
+
+[Mozilla/4.78*(WinNT; ?)*]
+Parent=Netscape 4.7
+MinorVer=78
+Platform=WinNT
+
+[Mozilla/4.78*(X11*)*]
+Parent=Netscape 4.7
+MinorVer=78
+Platform=Linux
+
+[Mozilla/4.78*(X11; ?; SunOS*)*]
+Parent=Netscape 4.7
+MinorVer=78
+Platform=SunOS
+
+[Mozilla/4.79*(Macintosh; ?; PPC)*]
+Parent=Netscape 4.7
+Version=4.79
+MinorVer=79
+Platform=MacPPC
+
+[Mozilla/4.79*(Win95; ?)*]
+Parent=Netscape 4.7
+Version=4.79
+MinorVer=79
+Platform=Win95
+
+[Mozilla/4.79*(Win98; ?)*]
+Parent=Netscape 4.7
+Version=4.79
+MinorVer=79
+Platform=Win98
+
+[Mozilla/4.79*(Windows NT 4.0; ?)*]
+Parent=Netscape 4.7
+Version=4.79
+MinorVer=79
+Platform=WinNT
+Win32=true
+
+[Mozilla/4.79*(Windows NT 5.0; ?)*]
+Parent=Netscape 4.7
+Version=4.79
+MinorVer=79
+Platform=Win2000
+Win32=true
+
+[Mozilla/4.79*(Windows NT 5.1; ?)*]
+Parent=Netscape 4.7
+Version=4.79
+MinorVer=79
+Platform=WinXP
+Win32=true
+
+[Mozilla/4.79*(WinNT; ?)*]
+Parent=Netscape 4.7
+Version=4.79
+MinorVer=79
+Platform=WinNT
+
+[Mozilla/4.79*(X11*)*]
+Parent=Netscape 4.7
+Version=4.79
+MinorVer=79
+Platform=Linux
+
+[Mozilla/4.79*(X11; ?; SunOS*)*]
+Parent=Netscape 4.7
+Version=4.79
+MinorVer=79
+Platform=SunOS
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Netscape 4.8
+
+[Netscape 4.8]
+Parent=DefaultProperties
+Browser=Netscape
+Version=4.8
+MajorVer=4
+MinorVer=8
+Frames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=1
+supportsCSS=true
+
+[Mozilla/4.8*(Macintosh; ?; MacPPC)*]
+Parent=Netscape 4.8
+Platform=MacPPC
+
+[Mozilla/4.8*(Macintosh; ?; PPC Mac OS X*]
+Parent=Netscape 4.8
+Platform=MacOSX
+
+[Mozilla/4.8*(Macintosh; ?; PPC)*]
+Parent=Netscape 4.8
+Platform=MacPPC
+
+[Mozilla/4.8*(Win95; *)*]
+Parent=Netscape 4.8
+
+[Mozilla/4.8*(Win98; *)*]
+Parent=Netscape 4.8
+Platform=Win98
+
+[Mozilla/4.8*(Windows NT 4.0; *)*]
+Parent=Netscape 4.8
+Platform=WinNT
+Win32=true
+
+[Mozilla/4.8*(Windows NT 5.0; *)*]
+Parent=Netscape 4.8
+Platform=Win2000
+Win32=true
+
+[Mozilla/4.8*(Windows NT 5.1; *)*]
+Parent=Netscape 4.8
+Platform=WinXP
+Win32=true
+
+[Mozilla/4.8*(WinNT; *)*]
+Parent=Netscape 4.8
+Platform=WinNT
+
+[Mozilla/4.8*(X11; *)*]
+Parent=Netscape 4.8
+Platform=Linux
+
+[Mozilla/4.8*(X11; *SunOS*)*]
+Parent=Netscape 4.8
+Platform=SunOS
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Netscape 6.0
+
+[Netscape 6.0]
+Parent=DefaultProperties
+Browser=Netscape
+Version=6.0
+MajorVer=6
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/5.0 (Macintosh; ?; PPC;*) Gecko/* Netscape6/6.0*]
+Parent=Netscape 6.0
+Platform=MacPPC
+
+[Mozilla/5.0 (Windows; ?; Win95;*) Gecko/* Netscape6/6.0*]
+Parent=Netscape 6.0
+Platform=Win95
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Win98; *) Gecko/* Netscape6/6.0*]
+Parent=Netscape 6.0
+Platform=Win98
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Win9x 4.90; *) Gecko/* Netscape6/6.0*]
+Parent=Netscape 6.0
+Platform=WinME
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 4.0; *) Gecko/* Netscape6/6.0*]
+Parent=Netscape 6.0
+Platform=WinNT
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.0; *) Gecko/* Netscape6/6.0*]
+Parent=Netscape 6.0
+Platform=Win2000
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.1; *) Gecko/* Netscape6/6.0*]
+Parent=Netscape 6.0
+Platform=WinXP
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.2; *) Gecko/* Netscape6/6.0*]
+Parent=Netscape 6.0
+Platform=WinXP
+
+[Mozilla/5.0 (Windows; ?; Windows NT 6.0; *) Gecko/* Netscape6/6.0*]
+Parent=Netscape 6.0
+Platform=WinVista
+
+[Mozilla/5.0 (Windows; ?; Windows NT 6.1; *) Gecko/* Netscape6/6.0*]
+Parent=Netscape 6.0
+Platform=Win7
+
+[Mozilla/5.0 (Windows; ?; WinNT4.0; *) Gecko/* Netscape6/6.0*]
+Parent=Netscape 6.0
+Platform=WinNT
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; WinNT5.0; *) Gecko/* Netscape6/6.0*]
+Parent=Netscape 6.0
+Platform=Win2000
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; WinNT5.1; *) Gecko/* Netscape6/6.0*]
+Parent=Netscape 6.0
+Platform=WinXP
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; WinNT5.2; *) Gecko/* Netscape6/6.0*]
+Parent=Netscape 6.0
+Platform=WinXP
+
+[Mozilla/5.0 (Windows; ?; WinNT6.0; *) Gecko/* Netscape6/6.0*]
+Parent=Netscape 6.0
+Platform=WinVista
+
+[Mozilla/5.0 (Windows; ?; WinNT6.1; *) Gecko/* Netscape6/6.0*]
+Parent=Netscape 6.0
+Platform=Win7
+
+[Mozilla/5.0 (X11; ?; *) Gecko/* Netscape6/6.0*]
+Parent=Netscape 6.0
+Platform=Linux
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Netscape 6.1
+
+[Netscape 6.1]
+Parent=DefaultProperties
+Browser=Netscape
+Version=6.1
+MajorVer=6
+MinorVer=1
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/5.0 (Macintosh; ?; PPC;*) Gecko/* Netscape6/6.1*]
+Parent=Netscape 6.1
+Platform=MacPPC
+
+[Mozilla/5.0 (Windows; ?; Win95;*) Gecko/* Netscape6/6.1*]
+Parent=Netscape 6.1
+Platform=Win95
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Win98; *) Gecko/* Netscape6/6.1*]
+Parent=Netscape 6.1
+Platform=Win98
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Win9x 4.90; *) Gecko/* Netscape6/6.1*]
+Parent=Netscape 6.1
+Platform=WinME
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 4.0; *) Gecko/* Netscape6/6.1*]
+Parent=Netscape 6.1
+Platform=WinNT
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.0; *) Gecko/* Netscape6/6.1*]
+Parent=Netscape 6.1
+Platform=Win2000
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.1; *) Gecko/* Netscape6/6.1*]
+Parent=Netscape 6.1
+Platform=WinXP
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.2; *) Gecko/* Netscape6/6.1*]
+Parent=Netscape 6.1
+Platform=WinXP
+
+[Mozilla/5.0 (Windows; ?; Windows NT 6.0; *) Gecko/* Netscape6/6.1*]
+Parent=Netscape 6.1
+Platform=WinVista
+
+[Mozilla/5.0 (Windows; ?; Windows NT 6.1; *) Gecko/* Netscape6/6.1*]
+Parent=Netscape 6.1
+Platform=Win7
+
+[Mozilla/5.0 (Windows; ?; WinNT4.0; *) Gecko/* Netscape6/6.1*]
+Parent=Netscape 6.1
+Platform=WinNT
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; WinNT5.0; *) Gecko/* Netscape6/6.1*]
+Parent=Netscape 6.1
+Platform=Win2000
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; WinNT5.1; *) Gecko/* Netscape6/6.1*]
+Parent=Netscape 6.1
+Platform=WinXP
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; WinNT5.2; *) Gecko/* Netscape6/6.1*]
+Parent=Netscape 6.1
+Platform=WinXP
+
+[Mozilla/5.0 (Windows; ?; WinNT6.0; *) Gecko/* Netscape6/6.1*]
+Parent=Netscape 6.1
+Platform=WinVista
+
+[Mozilla/5.0 (Windows; ?; WinNT6.1; *) Gecko/* Netscape6/6.1*]
+Parent=Netscape 6.1
+Platform=Win7
+
+[Mozilla/5.0 (X11; ?; *) Gecko/* Netscape6/6.1*]
+Parent=Netscape 6.1
+Platform=Linux
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Netscape 6.2
+
+[Netscape 6.2]
+Parent=DefaultProperties
+Browser=Netscape
+Version=6.2
+MajorVer=6
+MinorVer=2
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/5.0 (Macintosh; ?; PPC Mac OS X*) Gecko/* Netscape6/6.2*]
+Parent=Netscape 6.2
+Platform=MacOSX
+
+[Mozilla/5.0 (Macintosh; ?; PPC;*) Gecko/* Netscape6/6.2*]
+Parent=Netscape 6.2
+Platform=MacPPC
+
+[Mozilla/5.0 (Windows; ?; Win 9x 4.90; *) Gecko/* Netscape6/6.2*]
+Parent=Netscape 6.2
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Win95;*) Gecko/* Netscape6/6.2*]
+Parent=Netscape 6.2
+Platform=Win95
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Win98; *) Gecko/* Netscape6/6.2*]
+Parent=Netscape 6.2
+Platform=Win98
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Win9x 4.90; *) Gecko/* Netscape6/6.2*]
+Parent=Netscape 6.2
+Platform=WinME
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 4.0; *) Gecko/* Netscape6/6.2*]
+Parent=Netscape 6.2
+Platform=WinNT
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.0; *) Gecko/* Netscape6/6.2*]
+Parent=Netscape 6.2
+Platform=Win2000
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.1; *) Gecko/* Netscape6/6.2*]
+Parent=Netscape 6.2
+Platform=WinXP
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.2; *) Gecko/* Netscape6/6.2*]
+Parent=Netscape 6.2
+Platform=Win2003
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 6.0; *) Gecko/* Netscape6/6.2*]
+Parent=Netscape 6.2
+Platform=WinVista
+
+[Mozilla/5.0 (Windows; ?; Windows NT 6.1; *) Gecko/* Netscape6/6.2*]
+Parent=Netscape 6.2
+Platform=Win7
+
+[Mozilla/5.0 (Windows; ?; WinNT4.0; *) Gecko/* Netscape6/6.2*]
+Parent=Netscape 6.2
+Platform=WinNT
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; WinNT5.0; *) Gecko/* Netscape6/6.2*]
+Parent=Netscape 6.2
+Platform=Win2000
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; WinNT5.1; *) Gecko/* Netscape6/6.2*]
+Parent=Netscape 6.2
+Platform=WinXP
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; WinNT5.2; *) Gecko/* Netscape6/6.2*]
+Parent=Netscape 6.2
+Platform=Win2003
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; WinNT6.0; *) Gecko/* Netscape6/6.2*]
+Parent=Netscape 6.2
+Platform=WinVista
+
+[Mozilla/5.0 (Windows; ?; WinNT6.1; *) Gecko/* Netscape6/6.2*]
+Parent=Netscape 6.2
+Platform=Win7
+
+[Mozilla/5.0 (X11; ?; *) Gecko/* Netscape6/6.2*]
+Parent=Netscape 6.2
+Platform=Linux
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Netscape 7.0
+
+[Netscape 7.0]
+Parent=DefaultProperties
+Browser=Netscape
+Version=7.0
+MajorVer=7
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/5.0 (Macintosh; ?; PPC Mac OS X;*) Gecko/* Netscape*/7.0*]
+Parent=Netscape 7.0
+Platform=MacOSX
+
+[Mozilla/5.0 (Macintosh; ?; PPC;*) Gecko/* Netscape*/7.0*]
+Parent=Netscape 7.0
+Platform=MacPPC
+
+[Mozilla/5.0 (Windows; ?; Win*9x 4.90; *) Gecko/* Netscape*/7.0*]
+Parent=Netscape 7.0
+Platform=WinME
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Win95;*) Gecko/* Netscape*/7.0*]
+Parent=Netscape 7.0
+Platform=Win95
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Win98; *) Gecko/* Netscape*/7.0*]
+Parent=Netscape 7.0
+Platform=Win98
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 4.0; *) Gecko/* Netscape*/7.0*]
+Parent=Netscape 7.0
+Platform=WinNT
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.0; *) Gecko/* Netscape*/7.0*]
+Parent=Netscape 7.0
+Platform=Win2000
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.1; *) Gecko/* Netscape*/7.0*]
+Parent=Netscape 7.0
+Platform=WinXP
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.2; *) Gecko/* Netscape*/7.0*]
+Parent=Netscape 7.0
+Platform=Win2003
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 6.0; *) Gecko/* Netscape*/7.0*]
+Parent=Netscape 7.0
+Platform=WinVista
+
+[Mozilla/5.0 (Windows; ?; Windows NT 6.1; *) Gecko/* Netscape*/7.0*]
+Parent=Netscape 7.0
+Platform=Win7
+
+[Mozilla/5.0 (Windows; ?; WinNT4.0; *) Gecko/* Netscape*/7.0*]
+Parent=Netscape 7.0
+Platform=WinNT
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; WinNT5.0; *) Gecko/* Netscape*/7.0*]
+Parent=Netscape 7.0
+Platform=Win2000
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; WinNT5.1; *) Gecko/* Netscape*/7.0*]
+Parent=Netscape 7.0
+Platform=WinXP
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; WinNT5.2; *) Gecko/* Netscape*/7.0*]
+Parent=Netscape 7.0
+Platform=Win2003
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; WinNT6.0; *) Gecko/* Netscape*/7.0*]
+Parent=Netscape 7.0
+Platform=WinVista
+
+[Mozilla/5.0 (Windows; ?; WinNT6.1; *) Gecko/* Netscape*/7.0*]
+Parent=Netscape 7.0
+Platform=Win7
+
+[Mozilla/5.0 (X11; ?; *) Gecko/* Netscape*/7.0*]
+Parent=Netscape 7.0
+Platform=Linux
+
+[Mozilla/5.0 (X11; ?; SunOS*) Gecko/* Netscape*/7.0*]
+Parent=Netscape 7.0
+Platform=SunOS
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Netscape 7.1
+
+[Netscape 7.1]
+Parent=DefaultProperties
+Browser=Netscape
+Version=7.1
+MajorVer=7
+MinorVer=1
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/5.0 (Macintosh; ?; PPC Mac OS X Mach-O; *; rv:*) Gecko/* Netscape*/7.1]
+Parent=Netscape 7.1
+Platform=MacOSX
+
+[Mozilla/5.0 (Macintosh; ?; PPC Mac OS X;*) Gecko/* Netscape*/7.1*]
+Parent=Netscape 7.1
+Platform=MacOSX
+
+[Mozilla/5.0 (Macintosh; ?; PPC;*) Gecko/* Netscape*/7.1*]
+Parent=Netscape 7.1
+Platform=MacPPC
+
+[Mozilla/5.0 (Windows; ?; Win 9x 4.90; *) Gecko/* Netscape*/7.1*]
+Parent=Netscape 7.1
+Platform=WinME
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Win95;*) Gecko/* Netscape*/7.1*]
+Parent=Netscape 7.1
+Platform=Win95
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Win98; *) Gecko/* Netscape*/7.1*]
+Parent=Netscape 7.1
+Platform=Win98
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Win9x 4.90; *) Gecko/* Netscape*/7.1*]
+Parent=Netscape 7.1
+Platform=WinME
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 4.0; *) Gecko/* Netscape*/7.1*]
+Parent=Netscape 7.1
+Platform=WinNT
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.0; *) Gecko/* Netscape*/7.1*]
+Parent=Netscape 7.1
+Platform=Win2000
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.1; *) Gecko/* Netscape*/7.1*]
+Parent=Netscape 7.1
+Platform=WinXP
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.2; *) Gecko/* Netscape*/7.1*]
+Parent=Netscape 7.1
+Platform=Win2003
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 6.0; *) Gecko/* Netscape*/7.1*]
+Parent=Netscape 7.1
+Platform=WinVista
+
+[Mozilla/5.0 (Windows; ?; Windows NT 6.1; *) Gecko/* Netscape*/7.1*]
+Parent=Netscape 7.1
+Platform=Win7
+
+[Mozilla/5.0 (Windows; ?; WinNT4.0; *) Gecko/* Netscape*/7.1*]
+Parent=Netscape 7.1
+Platform=WinNT
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; WinNT5.0; *) Gecko/* Netscape*/7.1*]
+Parent=Netscape 7.1
+Platform=Win2000
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; WinNT5.1; *) Gecko/* Netscape*/7.1*]
+Parent=Netscape 7.1
+Platform=WinXP
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; WinNT5.2; *) Gecko/* Netscape*/7.1*]
+Parent=Netscape 7.1
+Platform=Win2003
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; WinNT6.0; *) Gecko/* Netscape*/7.1*]
+Parent=Netscape 7.1
+Platform=WinVista
+
+[Mozilla/5.0 (Windows; ?; WinNT6.1; *) Gecko/* Netscape*/7.1*]
+Parent=Netscape 7.1
+Platform=Win7
+
+[Mozilla/5.0 (X11; ?; *) Gecko/* Netscape*/7.1*]
+Parent=Netscape 7.1
+Platform=Linux
+
+[Mozilla/5.0 (X11; ?; SunOS*) Gecko/* Netscape*/7.1*]
+Parent=Netscape 7.1
+Platform=SunOS
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Netscape 7.2
+
+[Netscape 7.2]
+Parent=DefaultProperties
+Browser=Netscape
+Version=7.2
+MajorVer=7
+MinorVer=2
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/5.0 (Macintosh; ?; PPC Mac OS X Mach-O; *; rv:*) Gecko/* Netscape*/7.2*]
+Parent=Netscape 7.2
+Platform=MacOSX
+
+[Mozilla/5.0 (Macintosh; ?; PPC Mac OS X;*) Gecko/* Netscape*/7.2*]
+Parent=Netscape 7.2
+Platform=MacOSX
+
+[Mozilla/5.0 (Macintosh; ?; PPC;*) Gecko/* Netscape*/7.2*]
+Parent=Netscape 7.2
+Platform=MacPPC
+
+[Mozilla/5.0 (Windows; ?; Win 9x 4.90; *) Gecko/* Netscape*/7.2*]
+Parent=Netscape 7.2
+Platform=WinME
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Win95;*) Gecko/* Netscape*/7.2*]
+Parent=Netscape 7.2
+Platform=Win95
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Win98; *) Gecko/* Netscape*/7.2*]
+Parent=Netscape 7.2
+Platform=Win98
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Win9x 4.90; *) Gecko/* Netscape*/7.2*]
+Parent=Netscape 7.2
+Platform=WinME
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 4.0; *) Gecko/* Netscape*/7.2*]
+Parent=Netscape 7.2
+Platform=WinNT
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.0; *) Gecko/* Netscape*/7.2*]
+Parent=Netscape 7.2
+Platform=Win2000
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.1; *) Gecko/* Netscape*/7.2*]
+Parent=Netscape 7.2
+Platform=WinXP
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.2; *) Gecko/* Netscape*/7.2*]
+Parent=Netscape 7.2
+Platform=Win2003
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 6.0; *) Gecko/* Netscape*/7.2*]
+Parent=Netscape 7.2
+Platform=WinVista
+
+[Mozilla/5.0 (Windows; ?; Windows NT 6.1; *) Gecko/* Netscape*/7.2*]
+Parent=Netscape 7.2
+Platform=Win7
+
+[Mozilla/5.0 (Windows; ?; WinNT4.0; *) Gecko/* Netscape*/7.2*]
+Parent=Netscape 7.2
+Platform=WinNT
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; WinNT5.0; *) Gecko/* Netscape*/7.2*]
+Parent=Netscape 7.2
+Platform=Win2000
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; WinNT5.1; *) Gecko/* Netscape*/7.2*]
+Parent=Netscape 7.2
+Platform=WinXP
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; WinNT5.2; *) Gecko/* Netscape*/7.2*]
+Parent=Netscape 7.2
+Platform=Win2003
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; WinNT6.0; *) Gecko/* Netscape*/7.2*]
+Parent=Netscape 7.2
+Platform=WinVista
+
+[Mozilla/5.0 (Windows; ?; WinNT6.1; *) Gecko/* Netscape*/7.2*]
+Parent=Netscape 7.2
+Platform=Win7
+
+[Mozilla/5.0 (X11; ?; *) Gecko/* Netscape*/7.2*]
+Parent=Netscape 7.2
+Platform=Linux
+
+[Mozilla/5.0 (X11; ?; SunOS*) Gecko/* Netscape*/7.2*]
+Parent=Netscape 7.2
+Platform=SunOS
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Netscape 8.0
+
+[Netscape 8.0]
+Parent=DefaultProperties
+Browser=Netscape
+Version=8.0
+MajorVer=8
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/5.0 (Macintosh; ?; PPC Mac OS X Mach-O; *; rv:*) Gecko/* Netscape*/8.0*]
+Parent=Netscape 8.0
+Platform=MacOSX
+
+[Mozilla/5.0 (Macintosh; ?; PPC Mac OS X;*) Gecko/* Netscape*/8.0*]
+Parent=Netscape 8.0
+Platform=MacOSX
+
+[Mozilla/5.0 (Macintosh; ?; PPC;*) Gecko/* Netscape*/8.0*]
+Parent=Netscape 8.0
+Platform=MacPPC
+
+[Mozilla/5.0 (Windows; ?; Win 9x 4.90; *) Gecko/* Netscape*/8.0*]
+Parent=Netscape 8.0
+Platform=WinME
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Win95;*) Gecko/* Netscape*/8.0*]
+Parent=Netscape 8.0
+Platform=Win95
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Win98; *) Gecko/* Netscape*/8.0*]
+Parent=Netscape 8.0
+Platform=Win98
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Win9x 4.90; *) Gecko/* Netscape*/8.0*]
+Parent=Netscape 8.0
+Platform=WinME
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 4.0; *) Gecko/* Netscape*/8.0*]
+Parent=Netscape 8.0
+Platform=WinNT
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.0; *) Gecko/* Netscape*/8.0*]
+Parent=Netscape 8.0
+Platform=Win2000
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.1; *) Gecko/* Netscape*/8.0*]
+Parent=Netscape 8.0
+Platform=WinXP
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.2; *) Gecko/* Netscape*/8.0*]
+Parent=Netscape 8.0
+Platform=Win2003
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 6.0; *) Gecko/* Netscape*/8.0*]
+Parent=Netscape 8.0
+Platform=WinVista
+
+[Mozilla/5.0 (Windows; ?; Windows NT 6.1; *) Gecko/* Netscape*/8.0*]
+Parent=Netscape 8.0
+Platform=Win7
+
+[Mozilla/5.0 (Windows; ?; WinNT4.0; *) Gecko/* Netscape*/8.0*]
+Parent=Netscape 8.0
+Platform=WinNT
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; WinNT5.0; *) Gecko/* Netscape*/8.0*]
+Parent=Netscape 8.0
+Platform=Win2000
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; WinNT5.1; *) Gecko/* Netscape*/8.0*]
+Parent=Netscape 8.0
+Platform=WinXP
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; WinNT5.2; *) Gecko/* Netscape*/8.0*]
+Parent=Netscape 8.0
+Platform=Win2003
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; WinNT6.0; *) Gecko/* Netscape*/8.0*]
+Parent=Netscape 8.0
+Platform=WinVista
+
+[Mozilla/5.0 (Windows; ?; WinNT6.1; *) Gecko/* Netscape*/8.0*]
+Parent=Netscape 8.0
+Platform=Win7
+
+[Mozilla/5.0 (X11; ?; *) Gecko/* Netscape*/8.0*]
+Parent=Netscape 8.0
+Platform=Linux
+
+[Mozilla/5.0 (X11; ?; SunOS*) Gecko/* Netscape*/8.0*]
+Parent=Netscape 8.0
+Platform=SunOS
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Netscape 8.1
+
+[Netscape 8.1]
+Parent=DefaultProperties
+Browser=Netscape
+Version=8.1
+MajorVer=8
+MinorVer=1
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/5.0 (Macintosh; ?; *Mac OS X*) Gecko/* Netscape*/8.1*]
+Parent=Netscape 8.1
+Platform=MacOSX
+
+[Mozilla/5.0 (Macintosh; ?; PPC;*) Gecko/* Netscape*/8.1*]
+Parent=Netscape 8.1
+Platform=MacPPC
+
+[Mozilla/5.0 (Windows; ?; Win 9x 4.90; *) Gecko/* Netscape*/8.1*]
+Parent=Netscape 8.1
+Platform=WinME
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Win95;*) Gecko/* Netscape*/8.1*]
+Parent=Netscape 8.1
+Platform=Win95
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Win98; *) Gecko/* Netscape*/8.1*]
+Parent=Netscape 8.1
+Platform=Win98
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Win9x 4.90; *) Gecko/* Netscape*/8.1*]
+Parent=Netscape 8.1
+Platform=WinME
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 4.0; *) Gecko/* Netscape*/8.1*]
+Parent=Netscape 8.1
+Platform=WinNT
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.0; *) Gecko/* Netscape*/8.1*]
+Parent=Netscape 8.1
+Platform=Win2000
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.1; *) Gecko/* Netscape*/8.1*]
+Parent=Netscape 8.1
+Platform=WinXP
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.2; *) Gecko/* Netscape*/8.1*]
+Parent=Netscape 8.1
+Platform=Win2003
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 6.0; *) Gecko/* Netscape*/8.1*]
+Parent=Netscape 8.1
+Platform=WinVista
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 6.1; *) Gecko/* Netscape*/8.1*]
+Parent=Netscape 8.1
+Platform=Win7
+
+[Mozilla/5.0 (Windows; ?; WinNT4.0; *) Gecko/* Netscape*/8.1*]
+Parent=Netscape 8.1
+Platform=WinNT
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; WinNT5.0; *) Gecko/* Netscape*/8.1*]
+Parent=Netscape 8.1
+Platform=Win2000
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; WinNT5.1; *) Gecko/* Netscape*/8.1*]
+Parent=Netscape 8.1
+Platform=WinXP
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; WinNT5.2; *) Gecko/* Netscape*/8.1*]
+Parent=Netscape 8.1
+Platform=Win2003
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; WinNT6.0; *) Gecko/* Netscape*/8.1*]
+Parent=Netscape 8.1
+Platform=WinVista
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; WinNT6.1; *) Gecko/* Netscape*/8.1*]
+Parent=Netscape 8.1
+Platform=Win7
+
+[Mozilla/5.0 (X11; ?; *) Gecko/* Netscape*/8.1*]
+Parent=Netscape 8.1
+Platform=Linux
+
+[Mozilla/5.0 (X11; ?; SunOS*) Gecko/* Netscape*/8.1*]
+Parent=Netscape 8.1
+Platform=SunOS
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SeaMonkey 1.0
+
+[SeaMonkey 1.0]
+Parent=DefaultProperties
+Browser=SeaMonkey
+Version=1.0
+MajorVer=1
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+BackgroundSounds=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/5.0 (Macintosh; ?; *Mac OS X*; *; rv:1.8*) Gecko/* SeaMonkey/1.0*]
+Parent=SeaMonkey 1.0
+Platform=MacOSX
+
+[Mozilla/5.0 (Windows; ?; Win 9x 4.90; *; rv:1.8*) Gecko/* SeaMonkey/1.0*]
+Parent=SeaMonkey 1.0
+Platform=WinME
+
+[Mozilla/5.0 (Windows; ?; Win98; *; rv:1.8*) Gecko/* SeaMonkey/1.0*]
+Parent=SeaMonkey 1.0
+Platform=Win98
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.0; *; rv:1.8*) Gecko/* SeaMonkey/1.0*]
+Parent=SeaMonkey 1.0
+Platform=Win2000
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.1; *; rv:1.8*) Gecko/* SeaMonkey/1.0*]
+Parent=SeaMonkey 1.0
+Platform=WinXP
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.2; *; rv:1.8*) Gecko/* SeaMonkey/1.0*]
+Parent=SeaMonkey 1.0
+Platform=Win2003
+
+[Mozilla/5.0 (Windows; ?; Windows NT 6.0; *; rv:1.8*) Gecko/* SeaMonkey/1.0*]
+Parent=SeaMonkey 1.0
+Platform=WinVista
+
+[Mozilla/5.0 (Windows; ?; Windows NT 6.1; *; rv:1.8*) Gecko/* SeaMonkey/1.0*]
+Parent=SeaMonkey 1.0
+Platform=Win7
+
+[Mozilla/5.0 (X11; ?; FreeBSD*; *; rv:1.8*) Gecko/* SeaMonkey/1.0*]
+Parent=SeaMonkey 1.0
+Platform=FreeBSD
+
+[Mozilla/5.0 (X11; ?; Linux*; *; rv:1.8*) Gecko/20060221 SeaMonkey/1.0*]
+Parent=SeaMonkey 1.0
+Platform=Linux
+
+[Mozilla/5.0 (X11; ?; SunOS*; *; rv:1.8*) Gecko/* SeaMonkey/1.0*]
+Parent=SeaMonkey 1.0
+Platform=SunOS
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SeaMonkey 1.1
+
+[SeaMonkey 1.1]
+Parent=DefaultProperties
+Browser=SeaMonkey
+Version=1.1
+MajorVer=1
+MinorVer=1
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+BackgroundSounds=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/5.0 (Macintosh; ?; *Mac OS X*; *; rv:1.8*) Gecko/* SeaMonkey/1.1*]
+Parent=SeaMonkey 1.1
+Platform=MacOSX
+
+[Mozilla/5.0 (Windows; ?; Win 9x 4.90; *; rv:1.8*) Gecko/* SeaMonkey/1.1*]
+Parent=SeaMonkey 1.1
+Platform=WinME
+
+[Mozilla/5.0 (Windows; ?; Win98; *; rv:1.8*) Gecko/* SeaMonkey/1.1*]
+Parent=SeaMonkey 1.1
+Platform=Win98
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.0; *; rv:1.8*) Gecko/* SeaMonkey/1.1*]
+Parent=SeaMonkey 1.1
+Platform=Win2000
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.1; *; rv:1.8*) Gecko/* SeaMonkey/1.1*]
+Parent=SeaMonkey 1.1
+Platform=WinXP
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.2; *; rv:1.8*) Gecko/* SeaMonkey/1.1*]
+Parent=SeaMonkey 1.1
+Platform=Win2003
+
+[Mozilla/5.0 (Windows; ?; Windows NT 6.0; *; rv:1.8*) Gecko/* SeaMonkey/1.1*]
+Parent=SeaMonkey 1.1
+Platform=WinVista
+
+[Mozilla/5.0 (Windows; ?; Windows NT 6.1; *; rv:1.8*) Gecko/* SeaMonkey/1.1*]
+Parent=SeaMonkey 1.1
+Platform=Win7
+
+[Mozilla/5.0 (X11; ?; FreeBSD*; *; rv:1.8*) Gecko/* SeaMonkey/1.1*]
+Parent=SeaMonkey 1.1
+Platform=FreeBSD
+
+[Mozilla/5.0 (X11; ?; Linux*; *; rv:1.8*) Gecko/20060221 SeaMonkey/1.1*]
+Parent=SeaMonkey 1.1
+Platform=Linux
+
+[Mozilla/5.0 (X11; ?; SunOS*; *; rv:1.8*) Gecko/* SeaMonkey/1.1*]
+Parent=SeaMonkey 1.1
+Platform=SunOS
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SeaMonkey 2.0
+
+[SeaMonkey 2.0]
+Parent=DefaultProperties
+Browser=SeaMonkey
+Version=2.0
+MajorVer=2
+Alpha=true
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+BackgroundSounds=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/5.0 (Macintosh; ?; *Mac OS X*; *; rv:1.9*) Gecko/* SeaMonkey/2.0*]
+Parent=SeaMonkey 2.0
+Platform=MacOSX
+
+[Mozilla/5.0 (Windows; ?; Win 9x 4.90; *; rv:1.9*) Gecko/* SeaMonkey/2.0*]
+Parent=SeaMonkey 2.0
+Platform=WinME
+
+[Mozilla/5.0 (Windows; ?; Win98; *; rv:1.9*) Gecko/* SeaMonkey/2.0*]
+Parent=SeaMonkey 2.0
+Platform=Win98
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.0; *; rv:1.9*) Gecko/* SeaMonkey/2.0*]
+Parent=SeaMonkey 2.0
+Platform=Win2000
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.1; *; rv:1.9*) Gecko/* SeaMonkey/2.0*]
+Parent=SeaMonkey 2.0
+Platform=WinXP
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.2; *; rv:1.9*) Gecko/* SeaMonkey/2.0*]
+Parent=SeaMonkey 2.0
+Platform=Win2003
+
+[Mozilla/5.0 (Windows; ?; Windows NT 6.0; *; rv:1.9*) Gecko/* SeaMonkey/2.0*]
+Parent=SeaMonkey 2.0
+Platform=WinVista
+
+[Mozilla/5.0 (Windows; ?; Windows NT 6.1; *; rv:1.9*) Gecko/* SeaMonkey/2.0*]
+Parent=SeaMonkey 2.0
+Platform=Win7
+
+[Mozilla/5.0 (X11; ?; FreeBSD*; *; rv:1.9*) Gecko/* SeaMonkey/2.0*]
+Parent=SeaMonkey 2.0
+Platform=FreeBSD
+
+[Mozilla/5.0 (X11; ?; Linux*; *; rv:1.9*) Gecko/20060221 SeaMonkey/2.0*]
+Parent=SeaMonkey 2.0
+Platform=Linux
+
+[Mozilla/5.0 (X11; ?; SunOS*; *; rv:1.9*) Gecko/* SeaMonkey/2.0*]
+Parent=SeaMonkey 2.0
+Platform=SunOS
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Flock 1.0
+
+[Flock 1.0]
+Parent=DefaultProperties
+Browser=Flock
+Version=1.0
+MajorVer=1
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/5.0 (Macintosh; U; *Mac OS X*; *; rv:1.*) Gecko/* Firefox/2.* Flock/1.*]
+Parent=Flock 1.0
+Platform=MacOSX
+
+[Mozilla/5.0 (Windows; U; Win 9x 4.90; *; rv:1.*) Gecko/* Firefox/2.* Flock/1.*]
+Parent=Flock 1.0
+Platform=WinME
+
+[Mozilla/5.0 (Windows; U; Windows NT 5.0*; *; rv:1.*) Gecko/* Firefox/2.* Flock/1.*]
+Parent=Flock 1.0
+Platform=Win2000
+
+[Mozilla/5.0 (Windows; U; Windows NT 5.1*; *; rv:1.*) Gecko/* Firefox/2.* Flock/1.*]
+Parent=Flock 1.0
+Platform=WinXP
+
+[Mozilla/5.0 (Windows; U; Windows NT 5.2*; *; rv:1.*) Gecko/* Firefox/2.* Flock/1.*]
+Parent=Flock 1.0
+Platform=Win2003
+
+[Mozilla/5.0 (Windows; U; Windows NT 6.0*; *; rv:1.*) Gecko/* Firefox/2.* Flock/1.*]
+Parent=Flock 1.0
+Platform=WinVista
+
+[Mozilla/5.0 (Windows; U; Windows NT 6.1*; *; rv:1.*) Gecko/* Firefox/2.* Flock/1.*]
+Parent=Flock 1.0
+Platform=Win7
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Flock 2.0
+
+[Flock 2.0]
+Parent=DefaultProperties
+Browser=Flock
+Version=2.0
+MajorVer=2
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/5.0 (Macintosh; U; *Mac OS X*; *; rv:1.*) Gecko/* Firefox/3.* Flock/2.*]
+Parent=Flock 2.0
+Platform=MacOSX
+
+[Mozilla/5.0 (Windows; U; Win 9x 4.90; *; rv:1.*) Gecko/* Firefox/3.* Flock/2.*]
+Parent=Flock 2.0
+Platform=WinME
+
+[Mozilla/5.0 (Windows; U; Windows NT 5.0*; *; rv:1.*) Gecko/* Firefox/3.* Flock/2.*]
+Parent=Flock 2.0
+Platform=Win2000
+
+[Mozilla/5.0 (Windows; U; Windows NT 5.1*; *; rv:1.*) Gecko/* Firefox/3.* Flock/2.*]
+Parent=Flock 2.0
+Platform=WinXP
+
+[Mozilla/5.0 (Windows; U; Windows NT 5.2*; *; rv:1.*) Gecko/* Firefox/3.* Flock/2.*]
+Parent=Flock 2.0
+Platform=Win2003
+
+[Mozilla/5.0 (Windows; U; Windows NT 6.0*; *; rv:1.*) Gecko/* Firefox/3.* Flock/2.*]
+Parent=Flock 2.0
+Platform=WinVista
+
+[Mozilla/5.0 (Windows; U; Windows NT 6.1*; *; rv:1.*) Gecko/* Firefox/3.* Flock/2.*]
+Parent=Flock 2.0
+Platform=Win7
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Sleipnir 2.0
+
+[Sleipnir]
+Parent=DefaultProperties
+Browser=Sleipnir
+Version=2.0
+MajorVer=2
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/4.0 (compatible; MSIE ?.0; Windows NT 5.0*) Sleipnir/2.*]
+Parent=Sleipnir
+Platform=Win2000
+
+[Mozilla/4.0 (compatible; MSIE ?.0; Windows NT 5.1*) Sleipnir/2.*]
+Parent=Sleipnir
+Platform=WinXP
+
+[Mozilla/4.0 (compatible; MSIE ?.0; Windows NT 5.2*) Sleipnir/2.*]
+Parent=Sleipnir
+Platform=Win2003
+
+[Mozilla/4.0 (compatible; MSIE ?.0; Windows NT 6.0*) Sleipnir/2.*]
+Parent=Sleipnir
+Platform=WinVista
+
+[Mozilla/4.0 (compatible; MSIE ?.0; Windows NT 6.1*) Sleipnir/2.*]
+Parent=Sleipnir
+Platform=Win7
+
+[Sleipnir*]
+Parent=Sleipnir
+
+[Sleipnir/2.*]
+Parent=Sleipnir
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Fennec 1.0
+
+[Fennec 1.0]
+Parent=DefaultProperties
+Browser=Firefox Mobile
+Version=1.0
+MajorVer=1
+Alpha=true
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=3
+supportsCSS=true
+
+[Mozilla/5.0 (Windows; U; Windows NT 5.1; *; rv:1.9*) Gecko/* Fennec/1.0*]
+Parent=Fennec 1.0
+Platform=WinXP
+
+[Mozilla/5.0 (Windows; U; Windows NT 6.0; *; rv:1.9*) Gecko/* Fennec/1.0*]
+Parent=Fennec 1.0
+Platform=WinVista
+
+[Mozilla/5.0 (Windows; U; Windows NT 6.1; *; rv:1.9*) Gecko/* Fennec/1.0*]
+Parent=Fennec 1.0
+Platform=Win7
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Firebird
+
+[Firebird]
+Parent=DefaultProperties
+Browser=Firebird
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/5.0 (Linux; *; rv:1.*) Gecko/* Mozilla Firebird/0.*]
+Parent=Firebird
+
+[Mozilla/5.0 (Macintosh; *; *Mac OS X*; *; rv:1.*) Gecko/* Firebird/0.*]
+Parent=Firebird
+
+[Mozilla/5.0 (Macintosh; *; *Mac OS X*; *; rv:1.*) Gecko/* Mozilla Firebird/0.*]
+Parent=Firebird
+
+[Mozilla/5.0 (OS/2; *; Warp*; *; rv:1.*) Gecko/* Firebird/0.*]
+Parent=Firebird
+
+[Mozilla/5.0 (Windows; *; Win 9x 4.90; *; rv:1.*) Gecko/* Firebird/0.*]
+Parent=Firebird
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Win 9x 4.90; *; rv:1.*) Gecko/* Mozilla Firebird/0.*]
+Parent=Firebird
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Win95; *; rv:1.*) Gecko/* Firebird/0.*]
+Parent=Firebird
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Win98; *; rv:1.*) Gecko/* Firebird/0.*]
+Parent=Firebird
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Win98; *; rv:1.*) Gecko/* Mozilla Firebird/0.*]
+Parent=Firebird
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 5.?; *; rv:1.*) Gecko/* Firebird Browser/0.*]
+Parent=Firebird
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 5.?; *; rv:1.*) Gecko/* Firebird/0.*]
+Parent=Firebird
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 5.?; *; rv:1.*) Gecko/* Mozilla Firebird/0.*]
+Parent=Firebird
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 5.?; rv:1.*) Gecko/* Firebird/0.*]
+Parent=Firebird
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 6.*; *; rv:1.*) Gecko/* Firebird/0.*]
+Parent=Firebird
+Win32=true
+
+[Mozilla/5.0 (Windows; *; WinNT4.0; *; rv:1.*) Gecko/* Firebird/0.*]
+Parent=Firebird
+Win32=true
+
+[Mozilla/5.0 (Windows; *; WinNT4.0; *; rv:1.*) Gecko/* Mozilla Firebird/0.*]
+Parent=Firebird
+Win32=true
+
+[Mozilla/5.0 (X11; *; FreeBSD*; *; rv:1.*) Gecko/* Firebird/0.*]
+Parent=Firebird
+
+[Mozilla/5.0 (X11; *; FreeBSD*; *; rv:1.*) Gecko/* Mozilla Firebird/0.*]
+Parent=Firebird
+
+[Mozilla/5.0 (X11; *; IRIX*; *; rv:1.*) Gecko/* Mozilla Firebird/0.*]
+Parent=Firebird
+
+[Mozilla/5.0 (X11; *; Linux*; *; rv:1.*) Gecko/* Firebird/0.*]
+Parent=Firebird
+
+[Mozilla/5.0 (X11; *; OpenBSD*; *; rv:1.*) Gecko/* Mozilla Firebird/0.*]
+Parent=Firebird
+
+[Mozilla/5.0 (X11; *; SunOS*; *; rv:1.*) Gecko/* Firebird/0.*]
+Parent=Firebird
+
+[Mozilla/5.0 (X11; *; SunOS*; *; rv:1.*) Gecko/* Mozilla Firebird/0.*]
+Parent=Firebird
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Firefox
+
+[Firefox]
+Parent=DefaultProperties
+Browser=Firefox
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+ecmascriptversion=1.3
+w3cdomversion=1.0
+
+[Mozilla/5.0 (Macintosh; *; *Mac OS X*; *; rv:1.*) Gecko/* Firefox/0.*]
+Parent=Firefox
+Platform=MacOSX
+
+[Mozilla/5.0 (Macintosh; *; *Mac OS X*; rv:1.*) Gecko/* Firefox/0.*]
+Parent=Firefox
+
+[Mozilla/5.0 (OS/2; *; Warp*; rv:1.*) Gecko/* Firefox/0.*]
+Parent=Firefox
+
+[Mozilla/5.0 (Windows NT 5.?; ?; rv:1.*) Gecko/* Firefox]
+Parent=Firefox
+Win32=true
+
+[Mozilla/5.0 (Windows; *; *; rv:1.*) Gecko/* Firefox/0.*]
+Parent=Firefox
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Win 9x 4.90; *; rv:1.*) Gecko/* Firefox/0.*]
+Parent=Firefox
+Platform=WinME
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Win 9x 4.90; rv:1.*) Gecko/* Firefox/0.*]
+Parent=Firefox
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Win95; *; rv:1.*) Gecko/* Firefox/0.*]
+Parent=Firefox
+Platform=Win95
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Win95; rv:1.*) Gecko/* Firefox/0.*]
+Parent=Firefox
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Win98; *; rv:1.*) Gecko/* Firefox/0.*]
+Parent=Firefox
+Platform=Win98
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Win98; rv:1.*) Gecko/* Firefox/0.*]
+Parent=Firefox
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 5.*; *; rv:1.*) Gecko/* Deer Park/Alpha*]
+Parent=Firefox
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 5.?; *; rv:1.*) Gecko/* Firefox/10.5]
+Parent=Firefox
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 5.0; *; rv:1.*) Gecko/* Firefox/0.*]
+Parent=Firefox
+Platform=Win2000
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 5.0; rv:1.*) Gecko/* Firefox/0.*]
+Parent=Firefox
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 5.1; *; rv:1.*) Gecko/* Firefox/0.*]
+Parent=Firefox
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 5.1; rv:1.*) Gecko/* Firefox/0.*]
+Parent=Firefox
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 5.2; *; rv:1.*) Gecko/* Firefox/0.*]
+Parent=Firefox
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 5.2; rv:1.*) Gecko/* Firefox/0.*]
+Parent=Firefox
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 6.0*; *; rv:1.*) Gecko/* Firefox/0.*]
+Parent=Firefox
+Platform=WinVista
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 6.0*; rv:1.*) Gecko/* Firefox/0.*]
+Parent=Firefox
+Win32=true
+
+[Mozilla/5.0 (Windows; *; WinNT4.0; *; rv:1.*) Gecko/* Firefox/0.*]
+Parent=Firefox
+Platform=WinNT
+Win32=true
+
+[Mozilla/5.0 (Windows; *; WinNT4.0; rv:1.*) Gecko/* Firefox/0.*]
+Parent=Firefox
+Win32=true
+
+[Mozilla/5.0 (X11; *; FreeBSD*; *; rv:1.*) Gecko/* Firefox/0.*]
+Parent=Firefox
+Platform=FreeBSD
+
+[Mozilla/5.0 (X11; *; FreeBSD*; rv:1.*) Gecko/* Firefox/0.*]
+Parent=Firefox
+
+[Mozilla/5.0 (X11; *; HP-UX*; rv:1.*) Gecko/* Firefox/0.*]
+Parent=Firefox
+Platform=HP-UX
+
+[Mozilla/5.0 (X11; *; IRIX64*; *; rv:1.*) Gecko/* Firefox/0.*]
+Parent=Firefox
+Platform=IRIX64
+
+[Mozilla/5.0 (X11; *; Linux*; *; rv:1.*) Gecko/* Firefox/0.*]
+Parent=Firefox
+
+[Mozilla/5.0 (X11; *; Linux*; rv:1.*) Gecko/* Firefox/0.*]
+Parent=Firefox
+
+[Mozilla/5.0 (X11; *; OpenBSD*; *; rv:1.*) Gecko/* Firefox/0.*]
+Parent=Firefox
+Platform=OpenBSD
+
+[Mozilla/5.0 (X11; *; SunOS*; *; rv:1.*) Gecko/* Firefox/0.*]
+Parent=Firefox
+Platform=SunOS
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Firefox 1.0
+
+[Firefox 1.0]
+Parent=DefaultProperties
+Browser=Firefox
+Version=1.0
+MajorVer=1
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+ecmascriptversion=1.3
+w3cdomversion=1.0
+
+[Mozilla/5.0 (Linux; *; PPC*; *; rv:1.*) Gecko/* Firefox/1.0*]
+Parent=Firefox 1.0
+Platform=MacPPC
+
+[Mozilla/5.0 (Macintosh; *; *Mac OS X*; *; rv:1.*) Gecko/* Firefox/1.0*]
+Parent=Firefox 1.0
+Platform=MacOSX
+
+[Mozilla/5.0 (OS/2; *; Warp*; *; rv:1.*) Gecko/* Firefox/1.0*]
+Parent=Firefox 1.0
+Platform=OS/2
+
+[Mozilla/5.0 (Windows; *; Win 9x 4.90*; *; rv:1.*) Gecko/* Firefox/1.0*]
+Parent=Firefox 1.0
+Platform=WinME
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Win95; *; rv:1.*) Gecko/* Firefox/1.0*]
+Parent=Firefox 1.0
+Platform=Win95
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Win98; *; rv:1.*) Gecko/* Firefox/1.0*]
+Parent=Firefox 1.0
+Platform=Win98
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 5.0; *; rv:1.*) Gecko/* Firefox/1.0*]
+Parent=Firefox 1.0
+Platform=Win2000
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 5.1; *; rv:1.*) Gecko/* Firefox/1.0*]
+Parent=Firefox 1.0
+Platform=WinXP
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 5.1; rv:1.*) Gecko/* Firefox/1.0*]
+Parent=Firefox 1.0
+Platform=WinXP
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 5.2; *; rv:1.*) Gecko/* Firefox/1.0*]
+Parent=Firefox 1.0
+Platform=Win2003
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 6.0*; *; rv:1.*) Gecko/* Firefox/1.0*]
+Parent=Firefox 1.0
+Platform=WinVista
+Win32=true
+
+[Mozilla/5.0 (Windows; *; WinNT4.0; *; rv:1.*) Gecko/* Firefox/1.0*]
+Parent=Firefox 1.0
+Platform=WinNT
+Win32=true
+
+[Mozilla/5.0 (X11; *; *Linux*; *; rv:1.*) Gecko/* Firefox/1.0*]
+Parent=Firefox 1.0
+Platform=Linux
+
+[Mozilla/5.0 (X11; *; *Linux*; rv:1.*) Gecko/* Firefox/1.0*]
+Parent=Firefox 1.0
+Platform=Linux
+
+[Mozilla/5.0 (X11; *; DragonFly*; *; rv:1.*) Gecko/* Firefox/1.0*]
+Parent=Firefox 1.0
+
+[Mozilla/5.0 (X11; *; FreeBSD*; *; rv:1.*) Gecko/* Firefox/1.0*]
+Parent=Firefox 1.0
+Platform=FreeBSD
+
+[Mozilla/5.0 (X11; *; HP-UX*; *; rv:1.*) Gecko/* Firefox/1.0*]
+Parent=Firefox 1.0
+Platform=HP-UX
+
+[Mozilla/5.0 (X11; *; IRIX64*; *; rv:1.*) Gecko/* Firefox/1.0*]
+Parent=Firefox 1.0
+Platform=IRIX64
+
+[Mozilla/5.0 (X11; *; OpenBSD*; *; rv:1.*) Gecko/* Firefox/1.0*]
+Parent=Firefox 1.0
+Platform=OpenBSD
+
+[Mozilla/5.0 (X11; *; SunOS*; *; rv:1.*) Gecko/* Firefox/1.0*]
+Parent=Firefox 1.0
+Platform=SunOS
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Firefox 1.4
+
+[Firefox 1.4]
+Parent=DefaultProperties
+Browser=Firefox
+Version=1.4
+MajorVer=1
+MinorVer=4
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+ecmascriptversion=1.3
+w3cdomversion=1.0
+
+[Mozilla/5.0 (Linux; *; PPC*; *; rv:1.*) Gecko/* Firefox/1.4*]
+Parent=Firefox 1.4
+Platform=Linux
+
+[Mozilla/5.0 (Macintosh; *; *Mac OS X*; *; rv:1.*) Gecko/* Firefox/1.4*]
+Parent=Firefox 1.4
+Platform=MacOSX
+
+[Mozilla/5.0 (OS/2; *; Warp*; *; rv:1.*) Gecko/* Firefox/1.4*]
+Parent=Firefox 1.4
+Platform=OS/2
+
+[Mozilla/5.0 (Windows; *; Win 9x 4.90; *; rv:1.*) Gecko/* Firefox/1.4*]
+Parent=Firefox 1.4
+Platform=WinME
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Win95*; *; rv:1.*) Gecko/* Firefox/1.4*]
+Parent=Firefox 1.4
+Platform=Win95
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Win98; *; rv:1.*) Gecko/* Firefox/1.4*]
+Parent=Firefox 1.4
+Platform=Win98
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 5.0; *; rv:1.*) Gecko/* Firefox/1.4*]
+Parent=Firefox 1.4
+Platform=Win2000
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 5.1; *; rv:1.*) Gecko/* Firefox/1.4*]
+Parent=Firefox 1.4
+Platform=WinXP
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 5.2; *; rv:1.*) Gecko/* Firefox/1.4*]
+Parent=Firefox 1.4
+Platform=Win2003
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 6.0; *; rv:1.*) Gecko/* Firefox/1.4*]
+Parent=Firefox 1.4
+Platform=WinVista
+Win32=true
+
+[Mozilla/5.0 (Windows; *; WinNT4.0; *; rv:1.*) Gecko/* Firefox/1.4*]
+Parent=Firefox 1.4
+Platform=WinNT
+Win32=true
+
+[Mozilla/5.0 (X11; *; *Linux*; *; rv:1.*) Gecko/* Firefox/1.4*]
+Parent=Firefox 1.4
+Platform=Linux
+
+[Mozilla/5.0 (X11; *; FreeBSD*; *; rv:1.*) Gecko/* Firefox/1.4*]
+Parent=Firefox 1.4
+Platform=FreeBSD
+
+[Mozilla/5.0 (X11; *; HP-UX*; *; rv:1.*) Gecko/* Firefox/1.4*]
+Parent=Firefox 1.4
+Platform=HP-UX
+
+[Mozilla/5.0 (X11; *; IRIX64*; *; rv:1.*) Gecko/* Firefox/1.4*]
+Parent=Firefox 1.4
+Platform=IRIX64
+
+[Mozilla/5.0 (X11; *; OpenBSD*; *; rv:1.*) Gecko/* Firefox/1.4*]
+Parent=Firefox 1.4
+Platform=OpenBSD
+
+[Mozilla/5.0 (X11; *; SunOS*; *; rv:1.*) Gecko/* Firefox/1.4*]
+Parent=Firefox 1.4
+Platform=SunOS
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Firefox 1.5
+
+[Firefox 1.5]
+Parent=DefaultProperties
+Browser=Firefox
+Version=1.5
+MajorVer=1
+MinorVer=5
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+ecmascriptversion=1.5
+w3cdomversion=1.0
+
+[Mozilla/5.0 (Linux; *; PPC*; *; rv:1.*) Gecko/* Firefox/1.5*]
+Parent=Firefox 1.5
+Platform=Linux
+
+[Mozilla/5.0 (Macintosh; *; *Mac OS X*; *; rv:1.*) Gecko/* Firefox/1.5*]
+Parent=Firefox 1.5
+Platform=MacOSX
+
+[Mozilla/5.0 (OS/2; *; Warp*; *; rv:1.*) Gecko/* Firefox/1.5*]
+Parent=Firefox 1.5
+Platform=OS/2
+
+[Mozilla/5.0 (rv:1.*) Gecko/* Firefox/1.5*]
+Parent=Firefox 1.5
+
+[Mozilla/5.0 (Windows; *; Win 9x 4.90; *; rv:1.*) Gecko/* Firefox/1.5*]
+Parent=Firefox 1.5
+Platform=WinME
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Win95; *; rv:1.*) Gecko/* Firefox/1.5*]
+Parent=Firefox 1.5
+Platform=Win95
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Win98; *; rv:1.*) Gecko/* Firefox/1.5*]
+Parent=Firefox 1.5
+Platform=Win98
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 5.0; *; rv:1.*) Gecko/* Firefox/1.5*]
+Parent=Firefox 1.5
+Platform=Win2000
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 5.1; *; rv:1.*) Gecko/* Firefox/1.5*]
+Parent=Firefox 1.5
+Platform=WinXP
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 5.2 x64; *; rv:1.*) Gecko/* Firefox/1.5*]
+Parent=Firefox 1.5
+Platform=WinXP
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 5.2; *; rv:1.*) Gecko/* Firefox/1.5*]
+Parent=Firefox 1.5
+Platform=Win2003
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 6.0; *; rv:1.*) Gecko/* Firefox/1.5*]
+Parent=Firefox 1.5
+Platform=WinVista
+Win32=true
+
+[Mozilla/5.0 (Windows; *; WinNT4.0; *; rv:1.*) Gecko/* Firefox/1.5*]
+Parent=Firefox 1.5
+Platform=WinNT
+Win32=true
+
+[Mozilla/5.0 (X11; *; *Linux*; *; rv:1.*) Gecko/* Firefox/1.5*]
+Parent=Firefox 1.5
+Platform=Linux
+
+[Mozilla/5.0 (X11; *; FreeBSD*; *; rv:1.*) Gecko/* Firefox/1.5*]
+Parent=Firefox 1.5
+Platform=FreeBSD
+
+[Mozilla/5.0 (X11; *; HP-UX*; *; rv:1.*) Gecko/* Firefox/1.5*]
+Parent=Firefox 1.5
+Platform=HP-UX
+
+[Mozilla/5.0 (X11; *; IRIX64*; *; rv:1.*) Gecko/* Firefox/1.5*]
+Parent=Firefox 1.5
+Platform=IRIX64
+
+[Mozilla/5.0 (X11; *; OpenBSD*; *; rv:1.*) Gecko/* Firefox/1.5*]
+Parent=Firefox 1.5
+Platform=OpenBSD
+
+[Mozilla/5.0 (X11; *; SunOS*; *; rv:1.*) Gecko/* Firefox/1.5*]
+Parent=Firefox 1.5
+Platform=SunOS
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Firefox 2.0
+
+[Firefox 2.0]
+Parent=DefaultProperties
+Browser=Firefox
+Version=2.0
+MajorVer=2
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+ecmascriptversion=1.5
+w3cdomversion=1.0
+
+[Mozilla/5.0 (Linux; *; PPC*; *; rv:1.8*) Gecko/* Firefox/2.0*]
+Parent=Firefox 2.0
+Platform=Linux
+
+[Mozilla/5.0 (Macintosh; *; *Mac OS X*; *; rv:1.8*) Gecko/* Firefox/2.0*]
+Parent=Firefox 2.0
+Platform=MacOSX
+
+[Mozilla/5.0 (OS/2; *; Warp*; *; rv:1.8*) Gecko/* Firefox/2.0*]
+Parent=Firefox 2.0
+Platform=OS/2
+
+[Mozilla/5.0 (Windows; *; Win 9x 4.90; *; rv:1.8*) Gecko/* Firefox/2.0*]
+Parent=Firefox 2.0
+Platform=WinME
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Win95; *; rv:1.8*) Gecko/* Firefox/2.0*]
+Parent=Firefox 2.0
+Platform=Win95
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Win98; *; rv:1.8*) Gecko/* Firefox/2.0*]
+Parent=Firefox 2.0
+Platform=Win98
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 5.0; *; rv:1.*) Gecko/* Firefox/2.0*]
+Parent=Firefox 2.0
+Platform=Win2000
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 5.1; *; rv:1.8*) Gecko/* Firefox/2.0*]
+Parent=Firefox 2.0
+Platform=WinXP
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 5.2; *; rv:1.8*) Gecko/* Firefox/2.0*]
+Parent=Firefox 2.0
+Platform=Win2003
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 6.0; *; rv:1.8*) Gecko/* Firefox/2.0*]
+Parent=Firefox 2.0
+Platform=WinVista
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 6.1; *; rv:1.8*) Gecko/* Firefox/2.0*]
+Parent=Firefox 2.0
+Platform=Win7
+
+[Mozilla/5.0 (Windows; *; WinNT4.0; *; rv:1.8*) Gecko/* Firefox/2.0*]
+Parent=Firefox 2.0
+Platform=WinNT
+Win32=true
+
+[Mozilla/5.0 (X11; *; *Linux*; *; rv:1.8*) Gecko/* Firefox/2.0*]
+Parent=Firefox 2.0
+Platform=Linux
+
+[Mozilla/5.0 (X11; *; FreeBSD*; *; rv:1.8*) Gecko/* Firefox/2.0*]
+Parent=Firefox 2.0
+Platform=FreeBSD
+
+[Mozilla/5.0 (X11; *; HP-UX*; *; rv:1.8*) Gecko/* Firefox/2.0*]
+Parent=Firefox 2.0
+Platform=HP-UX
+
+[Mozilla/5.0 (X11; *; IRIX64*; *; rv:1.8*) Gecko/* Firefox/2.0*]
+Parent=Firefox 2.0
+Platform=IRIX64
+
+[Mozilla/5.0 (X11; *; OpenBSD*; *; rv:1.8*) Gecko/* Firefox/2.0*]
+Parent=Firefox 2.0
+Platform=OpenBSD
+
+[Mozilla/5.0 (X11; *; SunOS*; *; rv:1.8*) Gecko/* Firefox/2.0*]
+Parent=Firefox 2.0
+Platform=SunOS
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Firefox 3.0
+
+[Firefox 3.0]
+Parent=DefaultProperties
+Browser=Firefox
+Version=3.0
+MajorVer=3
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=3
+supportsCSS=true
+ecmascriptversion=1.5
+w3cdomversion=1.0
+
+[Mozilla/5.0 (Macintosh; *; *Mac OS X*; *; rv:1.9*) Gecko/* Firefox/3.0*]
+Parent=Firefox 3.0
+Platform=MacOSX
+
+[Mozilla/5.0 (Windows; *; Windows NT 5.0; *; rv:1.*) Gecko/* Firefox/3.0*]
+Parent=Firefox 3.0
+Platform=Win2000
+
+[Mozilla/5.0 (Windows; *; Windows NT 5.1; *; rv:1.9*) Gecko/* Firefox/3.0*]
+Parent=Firefox 3.0
+Platform=WinXP
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 5.2; *; rv:1.9*) Gecko/* Firefox/3.0*]
+Parent=Firefox 3.0
+Platform=Win2003
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 6.0; *; rv:1.9*) Gecko/* Firefox/3.0*]
+Parent=Firefox 3.0
+Platform=WinVista
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 6.1; *; rv:1.*) Gecko/* Firefox/3.0*]
+Parent=Firefox 3.0
+Platform=Win7
+
+[Mozilla/5.0 (Windows; *; WinNT4.0; *; rv:1.9*) Gecko/* Firefox/3.0*]
+Parent=Firefox 3.0
+Platform=WinNT
+Win32=true
+
+[Mozilla/5.0 (Windows; U; Windows NT 5.1 x64; *; rv:1.9*) Gecko/* Firefox/3.0*]
+Parent=Firefox 3.0
+Platform=WinXP
+Win32=false
+Win64=true
+
+[Mozilla/5.0 (Windows; U; Windows NT 5.2 x64; *; rv:1.9*) Gecko/* Firefox/3.0*]
+Parent=Firefox 3.0
+Platform=Win2003
+Win32=false
+Win64=true
+
+[Mozilla/5.0 (Windows; U; Windows NT 6.0 x64; *; rv:1.9*) Gecko/* Firefox/3.0*]
+Parent=Firefox 3.0
+Platform=WinVista
+
+[Mozilla/5.0 (Windows; U; Windows NT 6.1 x64; *; rv:1.9*) Gecko/* Firefox/3.0*]
+Parent=Firefox 3.0
+Platform=Win7
+
+[Mozilla/5.0 (X11; *; *Linux*; *; rv:1.9*) Gecko/* Firefox/3.0*]
+Parent=Firefox 3.0
+Platform=Linux
+
+[Mozilla/5.0 (X11; *; FreeBSD*; *; rv:1.9*) Gecko/* Firefox/3.0*]
+Parent=Firefox 3.0
+Platform=FreeBSD
+
+[Mozilla/5.0 (X11; *; HP-UX*; *; rv:1.9*) Gecko/* Firefox/3.0*]
+Parent=Firefox 3.0
+Platform=HP-UX
+
+[Mozilla/5.0 (X11; *; IRIX64*; *; rv:1.9*) Gecko/* Firefox/3.0*]
+Parent=Firefox 3.0
+Platform=IRIX64
+
+[Mozilla/5.0 (X11; *; OpenBSD*; *; rv:1.9*) Gecko/* Firefox/3.0*]
+Parent=Firefox 3.0
+Platform=OpenBSD
+
+[Mozilla/5.0 (X11; *; SunOS*; *; rv:1.9*) Gecko/* Firefox/3.0*]
+Parent=Firefox 3.0
+Platform=SunOS
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Firefox 3.1
+
+[Firefox 3.1]
+Parent=DefaultProperties
+Browser=Firefox
+Version=3.1
+MajorVer=3
+MinorVer=1
+Beta=true
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=3
+supportsCSS=true
+
+[Mozilla/5.0 (Macintosh; *; *Mac OS X*; *; rv:1.9*) Gecko/* Firefox/3.1*]
+Parent=Firefox 3.1
+Platform=MacOSX
+
+[Mozilla/5.0 (Windows; *; Windows NT 5.1; *; rv:1.9*) Gecko/* Firefox/3.1*]
+Parent=Firefox 3.1
+Platform=WinXP
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 5.2; *; rv:1.9*) Gecko/* Firefox/3.1*]
+Parent=Firefox 3.1
+Platform=Win2003
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 6.0; *; rv:1.9*) Gecko/* Firefox/3.1*]
+Parent=Firefox 3.1
+Platform=WinVista
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 6.1; *; rv:1.9*) Gecko/* Firefox/3.1*]
+Parent=Firefox 3.1
+Platform=Win7
+
+[Mozilla/5.0 (Windows; *; WinNT4.0; *; rv:1.9*) Gecko/* Firefox/3.1*]
+Parent=Firefox 3.1
+Platform=WinNT
+Win32=true
+
+[Mozilla/5.0 (Windows; U; Windows NT 5.1 x64; *; rv:1.9*) Gecko/* Firefox/3.1*]
+Parent=Firefox 3.1
+Platform=WinXP
+Win32=false
+Win64=true
+
+[Mozilla/5.0 (Windows; U; Windows NT 5.2 x64; *; rv:1.9*) Gecko/* Firefox/3.1*]
+Parent=Firefox 3.1
+Platform=Win2003
+Win32=false
+Win64=true
+
+[Mozilla/5.0 (Windows; U; Windows NT 6.0 x64; *; rv:1.9*) Gecko/* Firefox/3.1*]
+Parent=Firefox 3.1
+Platform=WinVista
+
+[Mozilla/5.0 (Windows; U; Windows NT 6.1 x64; *; rv:1.9*) Gecko/* Firefox/3.1*]
+Parent=Firefox 3.1
+Platform=Win7
+
+[Mozilla/5.0 (X11; *; *Linux*; *; rv:1.9*) Gecko/* Firefox/3.1*]
+Parent=Firefox 3.1
+Platform=Linux
+
+[Mozilla/5.0 (X11; *; FreeBSD*; *; rv:1.9*) Gecko/* Firefox/3.1*]
+Parent=Firefox 3.1
+Platform=FreeBSD
+
+[Mozilla/5.0 (X11; *; HP-UX*; *; rv:1.9*) Gecko/* Firefox/3.1*]
+Parent=Firefox 3.1
+Platform=HP-UX
+
+[Mozilla/5.0 (X11; *; IRIX64*; *; rv:1.9*) Gecko/* Firefox/3.1*]
+Parent=Firefox 3.1
+Platform=IRIX64
+
+[Mozilla/5.0 (X11; *; OpenBSD*; *; rv:1.9*) Gecko/* Firefox/3.1*]
+Parent=Firefox 3.1
+Platform=OpenBSD
+
+[Mozilla/5.0 (X11; *; SunOS*; *; rv:1.9*) Gecko/* Firefox/3.1*]
+Parent=Firefox 3.1
+Platform=SunOS
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Firefox 3.5
+
+[Firefox 3.5]
+Parent=DefaultProperties
+Browser=Firefox
+Version=3.5
+MajorVer=3
+MinorVer=5
+Beta=true
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=3
+supportsCSS=true
+
+[Mozilla/5.0 (Macintosh; *; *Mac OS X*; *; rv:1.9.*) Gecko/* Firefox/3.5b*]
+Parent=Firefox 3.5
+Platform=MacOSX
+
+[Mozilla/5.0 (Windows; *; Windows NT 5.1; *; rv:1.9.*) Gecko/* Firefox/3.5b*]
+Parent=Firefox 3.5
+Platform=WinXP
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 5.2; *; rv:1.9.*) Gecko/* Firefox/3.5b*]
+Parent=Firefox 3.5
+Platform=Win2003
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 6.0; *; rv:1.9.*) Gecko/* Firefox/3.5b*]
+Parent=Firefox 3.5
+Platform=WinVista
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 6.1; *; rv:1.9.*) Gecko/* Firefox/3.5b*]
+Parent=Firefox 3.5
+Platform=Win7
+
+[Mozilla/5.0 (Windows; *; WinNT4.0; *; rv:1.9.*) Gecko/* Firefox/3.5b*]
+Parent=Firefox 3.5
+Platform=WinNT
+Win32=true
+
+[Mozilla/5.0 (Windows; U; Windows NT 5.1 x64; *; rv:1.9.*) Gecko/* Firefox/3.5b*]
+Parent=Firefox 3.5
+Platform=WinXP
+Win32=false
+Win64=true
+
+[Mozilla/5.0 (Windows; U; Windows NT 5.2 x64; *; rv:1.9.*) Gecko/* Firefox/3.5b*]
+Parent=Firefox 3.5
+Platform=Win2003
+Win32=false
+Win64=true
+
+[Mozilla/5.0 (Windows; U; Windows NT 6.0 x64; *; rv:1.9.*) Gecko/* Firefox/3.5b*]
+Parent=Firefox 3.5
+Platform=WinVista
+
+[Mozilla/5.0 (Windows; U; Windows NT 6.1 x64; *; rv:1.9.*) Gecko/* Firefox/3.5b*]
+Parent=Firefox 3.5
+Platform=Win7
+
+[Mozilla/5.0 (X11; *; *Linux*; *; rv:1.9.*) Gecko/* Firefox/3.5b*]
+Parent=Firefox 3.5
+Platform=Linux
+
+[Mozilla/5.0 (X11; *; FreeBSD*; *; rv:1.9.*) Gecko/* Firefox/3.5b*]
+Parent=Firefox 3.5
+Platform=FreeBSD
+
+[Mozilla/5.0 (X11; *; HP-UX*; *; rv:1.9.*) Gecko/* Firefox/3.5b*]
+Parent=Firefox 3.5
+Platform=HP-UX
+
+[Mozilla/5.0 (X11; *; IRIX64*; *; rv:1.9.*) Gecko/* Firefox/3.5b*]
+Parent=Firefox 3.5
+Platform=IRIX64
+
+[Mozilla/5.0 (X11; *; OpenBSD*; *; rv:1.9.*) Gecko/* Firefox/3.5b*]
+Parent=Firefox 3.5
+Platform=OpenBSD
+
+[Mozilla/5.0 (X11; *; SunOS*; *; rv:1.9.*) Gecko/* Firefox/3.5b*]
+Parent=Firefox 3.5
+Platform=SunOS
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Phoenix
+
+[Phoenix]
+Parent=DefaultProperties
+Browser=Phoenix
+Version=0.5
+MinorVer=5
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/5.0 (Windows; *; Win 9x 4.90; *; rv:1.4*) Gecko/* Phoenix/0.5*]
+Parent=Phoenix
+Platform=WinME
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Win98; *; rv:1.4*) Gecko/* Phoenix/0.5*]
+Parent=Phoenix
+Platform=Win98
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 5.0*; *; rv:1.4*) Gecko/* Phoenix/0.5*]
+Parent=Phoenix
+Platform=Win2000
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 5.1; *; rv:1.4*) Gecko/* Phoenix/0.5*]
+Parent=Phoenix
+Platform=WinXP
+Win32=true
+
+[Mozilla/5.0 (Windows; *; Windows NT 5.2*; *; rv:1.4*) Gecko/* Phoenix/0.5*]
+Parent=Phoenix
+Platform=Win2003
+Win32=true
+
+[Mozilla/5.0 (X11; *; Linux*; *; rv:1.4*) Gecko/* Phoenix/0.5*]
+Parent=Phoenix
+Platform=Linux
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Iceweasel
+
+[Iceweasel]
+Parent=DefaultProperties
+Browser=Iceweasel
+Platform=Linux
+Beta=true
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/5.0 (X11; U; Linux*; *; rv:1.8*) Gecko/* Iceweasel/2.0* (Debian-*)]
+Parent=Iceweasel
+Version=2.0
+MajorVer=2
+MinorVer=0
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Mozilla 1.0
+
+[Mozilla 1.0]
+Parent=DefaultProperties
+Browser=Mozilla
+Version=1.0
+MajorVer=1
+Beta=true
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/5.0 (*rv:1.0.*) Gecko/*]
+Parent=Mozilla 1.0
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Mozilla 1.1
+
+[Mozilla 1.1]
+Parent=DefaultProperties
+Browser=Mozilla
+Version=1.1
+MajorVer=1
+MinorVer=1
+Beta=true
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/5.0 (*rv:1.1.*) Gecko/*]
+Parent=Mozilla 1.1
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Mozilla 1.2
+
+[Mozilla 1.2]
+Parent=DefaultProperties
+Browser=Mozilla
+Version=1.2
+MajorVer=1
+MinorVer=2
+Beta=true
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/5.0 (*rv:1.2.*) Gecko/*]
+Parent=Mozilla 1.2
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Mozilla 1.3
+
+[Mozilla 1.3]
+Parent=DefaultProperties
+Browser=Mozilla
+Version=1.3
+MajorVer=1
+MinorVer=3
+Beta=true
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/5.0 (*rv:1.3.*) Gecko/*]
+Parent=Mozilla 1.3
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Mozilla 1.4
+
+[Mozilla 1.4]
+Parent=DefaultProperties
+Browser=Mozilla
+Version=1.4
+MajorVer=1
+MinorVer=4
+Beta=true
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/5.0 (*rv:1.4*) Gecko/*]
+Parent=Mozilla 1.4
+
+[Mozilla/5.0 (Macintosh; ?; *Mac OS X*; *rv:1.4*) Gecko/*]
+Parent=Mozilla 1.4
+Platform=MacOSX
+
+[Mozilla/5.0 (Windows; ?; Win 9x 4.90; *rv:1.4*) Gecko/*]
+Parent=Mozilla 1.4
+Platform=WinME
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Win3.1; *rv:1.4*) Gecko/*]
+Parent=Mozilla 1.4
+Platform=Win31
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Win3.11; *rv:1.4*) Gecko/*]
+Parent=Mozilla 1.4
+Platform=Win31
+Win16=true
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Win95; *rv:1.4*) Gecko/*]
+Parent=Mozilla 1.4
+Platform=Win95
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Win98; *rv:1.4*) Gecko/*]
+Parent=Mozilla 1.4
+Platform=Win98
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.0; *rv:1.4*) Gecko/*]
+Parent=Mozilla 1.4
+Platform=Win2000
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:1.4*) Gecko/*]
+Parent=Mozilla 1.4
+Platform=WinXP
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; WinNT4.0; *rv:1.4*) Gecko/*]
+Parent=Mozilla 1.4
+Platform=WinNT
+Win32=true
+
+[Mozilla/5.0 (X11; *FreeBSD*; *rv:1.4*) Gecko/*]
+Parent=Mozilla 1.4
+Platform=FreeBSD
+
+[Mozilla/5.0 (X11; *Linux*; *rv:1.4*) Gecko/*]
+Parent=Mozilla 1.4
+Platform=Linux
+
+[Mozilla/5.0 (X11; *OpenBSD*; *rv:1.4*) Gecko/*]
+Parent=Mozilla 1.4
+Platform=OpenBSD
+
+[Mozilla/5.0 (X11; *SunOS*; *rv:1.4*) Gecko/*]
+Parent=Mozilla 1.4
+Platform=SunOS
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Mozilla 1.5
+
+[Mozilla 1.5]
+Parent=DefaultProperties
+Browser=Mozilla
+Version=1.5
+MajorVer=1
+MinorVer=5
+Beta=true
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/5.0 (*rv:1.5*) Gecko/*]
+Parent=Mozilla 1.5
+
+[Mozilla/5.0 (Macintosh; ?; *Mac OS X*; *rv:1.5*) Gecko/*]
+Parent=Mozilla 1.5
+Platform=MacOSX
+
+[Mozilla/5.0 (Windows; ?; Win 9x 4.90; *rv:1.5*) Gecko/*]
+Parent=Mozilla 1.5
+Platform=WinME
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Win3.1; *rv:1.5*) Gecko/*]
+Parent=Mozilla 1.5
+Platform=Win31
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Win3.11; *rv:1.5*) Gecko/*]
+Parent=Mozilla 1.5
+Platform=Win31
+Win16=true
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Win95; *rv:1.5*) Gecko/*]
+Parent=Mozilla 1.5
+Platform=Win95
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Win98; *rv:1.5*) Gecko/*]
+Parent=Mozilla 1.5
+Platform=Win98
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.0; *rv:1.5*) Gecko/*]
+Parent=Mozilla 1.5
+Platform=Win2000
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:1.5*) Gecko/*]
+Parent=Mozilla 1.5
+Platform=WinXP
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; WinNT4.0; *rv:1.5*) Gecko/*]
+Parent=Mozilla 1.5
+Platform=WinNT
+Win32=true
+
+[Mozilla/5.0 (X11; *FreeBSD*; *rv:1.5*) Gecko/*]
+Parent=Mozilla 1.5
+Platform=FreeBSD
+
+[Mozilla/5.0 (X11; *Linux*; *rv:1.5*) Gecko/*]
+Parent=Mozilla 1.5
+Platform=Linux
+
+[Mozilla/5.0 (X11; *OpenBSD*; *rv:1.5*) Gecko/*]
+Parent=Mozilla 1.5
+Platform=OpenBSD
+
+[Mozilla/5.0 (X11; *SunOS*; *rv:1.5*) Gecko/*]
+Parent=Mozilla 1.5
+Platform=SunOS
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Mozilla 1.6
+
+[Mozilla 1.6]
+Parent=DefaultProperties
+Browser=Mozilla
+Version=1.6
+MajorVer=1
+MinorVer=6
+Beta=true
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/5.0 (*rv:1.6*) Gecko/*]
+Parent=Mozilla 1.6
+
+[Mozilla/5.0 (Macintosh; ?; *Mac OS X*; *rv:1.6*) Gecko/*]
+Parent=Mozilla 1.6
+Platform=MacOSX
+
+[Mozilla/5.0 (Windows; ?; Win 9x 4.90; *rv:1.6*) Gecko/*]
+Parent=Mozilla 1.6
+Platform=WinME
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Win3.1; *rv:1.6*) Gecko/*]
+Parent=Mozilla 1.6
+Platform=Win31
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Win3.11; *rv:1.6*) Gecko/*]
+Parent=Mozilla 1.6
+Platform=Win31
+Win16=true
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Win95; *rv:1.6*) Gecko/*]
+Parent=Mozilla 1.6
+Platform=Win95
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Win98; *rv:1.6*) Gecko/*]
+Parent=Mozilla 1.6
+Platform=Win98
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.0; *rv:1.6*) Gecko/*]
+Parent=Mozilla 1.6
+Platform=Win2000
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:1.6*) Gecko/*]
+Parent=Mozilla 1.6
+Platform=WinXP
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; WinNT4.0; *rv:1.6*) Gecko/*]
+Parent=Mozilla 1.6
+Platform=WinNT
+Win32=true
+
+[Mozilla/5.0 (X11; *FreeBSD*; *rv:1.6*) Gecko/*]
+Parent=Mozilla 1.6
+Platform=FreeBSD
+
+[Mozilla/5.0 (X11; *Linux*; *rv:1.6*) Gecko/*]
+Parent=Mozilla 1.6
+Platform=Linux
+
+[Mozilla/5.0 (X11; *OpenBSD*; *rv:1.6*) Gecko/*]
+Parent=Mozilla 1.6
+Platform=OpenBSD
+
+[Mozilla/5.0 (X11; *SunOS*; *rv:1.6*) Gecko/*]
+Parent=Mozilla 1.6
+Platform=SunOS
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Mozilla 1.7
+
+[Mozilla 1.7]
+Parent=DefaultProperties
+Browser=Mozilla
+Version=1.7
+MajorVer=1
+MinorVer=7
+Beta=true
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+ecmascriptversion=1.5
+w3cdomversion=1.0
+
+[Mozilla/5.0 (*rv:1.7*) Gecko/*]
+Parent=Mozilla 1.7
+
+[Mozilla/5.0 (Macintosh; ?; *Mac OS X*; *rv:1.7*) Gecko/*]
+Parent=Mozilla 1.7
+Platform=MacOSX
+
+[Mozilla/5.0 (Windows; ?; Win 9x 4.90; *rv:1.7*) Gecko/*]
+Parent=Mozilla 1.7
+Platform=WinME
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Win3.1; *rv:1.7*) Gecko/*]
+Parent=Mozilla 1.7
+Platform=Win31
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Win3.11; *rv:1.7*) Gecko/*]
+Parent=Mozilla 1.7
+Platform=Win31
+Win16=true
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Win95; *rv:1.7*) Gecko/*]
+Parent=Mozilla 1.7
+Platform=Win95
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Win98; *rv:1.7*) Gecko/*]
+Parent=Mozilla 1.7
+Platform=Win98
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.0; *rv:1.7*) Gecko/*]
+Parent=Mozilla 1.7
+Platform=Win2000
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:1.7*) Gecko/*]
+Parent=Mozilla 1.7
+Platform=WinXP
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.2; *rv:1.7*) Gecko/*]
+Parent=Mozilla 1.7
+Platform=Win2003
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; WinNT4.0; *rv:1.7*) Gecko/*]
+Parent=Mozilla 1.7
+Platform=WinNT
+Win32=true
+
+[Mozilla/5.0 (X11; *FreeBSD*; *rv:1.7*) Gecko/*]
+Parent=Mozilla 1.7
+Platform=FreeBSD
+
+[Mozilla/5.0 (X11; *Linux*; *rv:1.7*) Gecko/*]
+Parent=Mozilla 1.7
+Platform=Linux
+
+[Mozilla/5.0 (X11; *OpenBSD*; *rv:1.7*) Gecko/*]
+Parent=Mozilla 1.7
+Platform=OpenBSD
+
+[Mozilla/5.0 (X11; *SunOS*; *rv:1.7*) Gecko/*]
+Parent=Mozilla 1.7
+Platform=SunOS
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Mozilla 1.8
+
+[Mozilla 1.8]
+Parent=DefaultProperties
+Browser=Mozilla
+Version=1.8
+MajorVer=1
+MinorVer=8
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+ecmascriptversion=1.5
+w3cdomversion=1.0
+
+[Mozilla/5.0 (*rv:1.8*) Gecko/*]
+Parent=Mozilla 1.8
+
+[Mozilla/5.0 (Macintosh; ?; *Mac OS X*; *rv:1.8*) Gecko/*]
+Parent=Mozilla 1.8
+Platform=MacOSX
+
+[Mozilla/5.0 (Windows; ?; Win 9x 4.90; *rv:1.8*) Gecko/*]
+Parent=Mozilla 1.8
+Platform=WinME
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Win3.1; *rv:1.8*) Gecko/*]
+Parent=Mozilla 1.8
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Win3.11; *rv:1.8*) Gecko/*]
+Parent=Mozilla 1.8
+Platform=Win31
+Win16=true
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Win95; *rv:1.8*) Gecko/*]
+Parent=Mozilla 1.8
+Platform=Win95
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Win98; *rv:1.8*) Gecko/*]
+Parent=Mozilla 1.8
+Platform=Win98
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.0; *rv:1.8*) Gecko/*]
+Parent=Mozilla 1.8
+Platform=Win2000
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:1.8*) Gecko/*]
+Parent=Mozilla 1.8
+Platform=WinXP
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.2; *rv:1.8*) Gecko/*]
+Parent=Mozilla 1.8
+Platform=Win2003
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; WinNT4.0; *rv:1.8*) Gecko/*]
+Parent=Mozilla 1.8
+Platform=WinNT
+Win32=true
+
+[Mozilla/5.0 (X11; *FreeBSD*; *rv:1.8*) Gecko/*]
+Parent=Mozilla 1.8
+Platform=FreeBSD
+
+[Mozilla/5.0 (X11; *Linux*; *rv:1.8*) Gecko/*]
+Parent=Mozilla 1.8
+Platform=Linux
+
+[Mozilla/5.0 (X11; *OpenBSD*; *rv:1.8*) Gecko/*]
+Parent=Mozilla 1.8
+Platform=OpenBSD
+
+[Mozilla/5.0 (X11; *SunOS*; *rv:1.8*) Gecko/*]
+Parent=Mozilla 1.8
+Platform=SunOS
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Mozilla 1.9
+
+[Mozilla 1.9]
+Parent=DefaultProperties
+Browser=Mozilla
+Version=1.9
+MajorVer=1
+MinorVer=9
+Alpha=true
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+JavaApplets=true
+JavaScript=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/5.0 (*rv:1.9*) Gecko/*]
+Parent=Mozilla 1.9
+
+[Mozilla/5.0 (Macintosh; ?; *Mac OS X*; *rv:1.9*) Gecko/*]
+Parent=Mozilla 1.9
+Platform=MacOSX
+
+[Mozilla/5.0 (Windows; ?; Win 9x 4.90; *rv:1.9*) Gecko/*]
+Parent=Mozilla 1.9
+Platform=WinME
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Win3.1; *rv:1.9*) Gecko/*]
+Parent=Mozilla 1.9
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Win3.11; *rv:1.9*) Gecko/*]
+Parent=Mozilla 1.9
+Platform=Win31
+Win16=true
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Win95; *rv:1.9*) Gecko/*]
+Parent=Mozilla 1.9
+Platform=Win95
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Win98; *rv:1.9*) Gecko/*]
+Parent=Mozilla 1.9
+Platform=Win98
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.0; *rv:1.9*) Gecko/*]
+Parent=Mozilla 1.9
+Platform=Win2000
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:1.9*) Gecko/*]
+Parent=Mozilla 1.9
+Platform=WinXP
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; Windows NT 5.2; *rv:1.9*) Gecko/*]
+Parent=Mozilla 1.9
+Platform=Win2003
+Win32=true
+
+[Mozilla/5.0 (Windows; ?; WinNT4.0; *rv:1.9*) Gecko/*]
+Parent=Mozilla 1.9
+Platform=WinNT
+Win32=true
+
+[Mozilla/5.0 (X11; *FreeBSD*; *rv:1.9*) Gecko/*]
+Parent=Mozilla 1.9
+Platform=FreeBSD
+
+[Mozilla/5.0 (X11; *Linux*; *rv:1.9*) Gecko/*]
+Parent=Mozilla 1.9
+Platform=Linux
+
+[Mozilla/5.0 (X11; *OpenBSD*; *rv:1.9*) Gecko/*]
+Parent=Mozilla 1.9
+Platform=OpenBSD
+
+[Mozilla/5.0 (X11; *SunOS*; *rv:1.9*) Gecko/*]
+Parent=Mozilla 1.9
+Platform=SunOS
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; IE Mac
+
+[IE Mac]
+Parent=DefaultProperties
+Browser=IE
+Platform=MacPPC
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+BackgroundSounds=true
+CDF=true
+JavaApplets=true
+JavaScript=true
+CssVersion=1
+supportsCSS=true
+
+[Mozilla/?.? (compatible; MSIE 4.0*; *Mac_PowerPC*]
+Parent=IE Mac
+Version=4.0
+MajorVer=4
+MinorVer=0
+
+[Mozilla/?.? (compatible; MSIE 4.5*; *Mac_PowerPC*]
+Parent=IE Mac
+Version=4.5
+MajorVer=4
+MinorVer=5
+
+[Mozilla/?.? (compatible; MSIE 5.0*; *Mac_PowerPC*]
+Parent=IE Mac
+Version=5.0
+MajorVer=5
+MinorVer=0
+
+[Mozilla/?.? (compatible; MSIE 5.1*; *Mac_PowerPC*]
+Parent=IE Mac
+Version=5.1
+MajorVer=5
+MinorVer=1
+
+[Mozilla/?.? (compatible; MSIE 5.2*; *Mac_PowerPC*]
+Parent=IE Mac
+Version=5.2
+MajorVer=5
+MinorVer=2
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; AOL 9.0/IE 5.5
+
+[AOL 9.0/IE 5.5]
+Parent=DefaultProperties
+Browser=AOL
+Version=5.5
+MajorVer=5
+MinorVer=5
+Win32=true
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+BackgroundSounds=true
+CDF=true
+VBScript=true
+JavaApplets=true
+JavaScript=true
+ActiveXControls=true
+CssVersion=2
+supportsCSS=true
+AOL=true
+aolVersion=9.0
+ecmascriptversion=1.3
+w3cdomversion=1.0
+
+[Mozilla/?.* (?compatible; *MSIE 5.5; *AOL 9.0*)*]
+Parent=AOL 9.0/IE 5.5
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Win 9x 4.90*)*]
+Parent=AOL 9.0/IE 5.5
+Platform=WinME
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows 95*)*]
+Parent=AOL 9.0/IE 5.5
+Platform=Win95
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows 98*)*]
+Parent=AOL 9.0/IE 5.5
+Platform=Win98
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows 98*.NET CLR 1*)*]
+Parent=AOL 9.0/IE 5.5
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows 98*.NET CLR 1*.NET CLR 2*)*]
+Parent=AOL 9.0/IE 5.5
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows 98*.NET CLR 2*)*]
+Parent=AOL 9.0/IE 5.5
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows 98*.NET CLR 2*.NET CLR 1*)*]
+Parent=AOL 9.0/IE 5.5
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows 98; Win 9x 4.90*)*]
+Parent=AOL 9.0/IE 5.5
+Platform=WinME
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows 98; Win 9x 4.90*.NET CLR 1*)*]
+Parent=AOL 9.0/IE 5.5
+Platform=WinME
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows 98; Win 9x 4.90*.NET CLR 1*.NET CLR 2*)*]
+Parent=AOL 9.0/IE 5.5
+Platform=WinME
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows 98; Win 9x 4.90*.NET CLR 2*)*]
+Parent=AOL 9.0/IE 5.5
+Platform=WinME
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows 98; Win 9x 4.90*.NET CLR 2*.NET CLR 1*)*]
+Parent=AOL 9.0/IE 5.5
+Platform=WinME
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 4.0*)*]
+Parent=AOL 9.0/IE 5.5
+Platform=WinNT
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 5.0*)*]
+Parent=AOL 9.0/IE 5.5
+Platform=Win2000
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 5.0*.NET CLR 1*)*]
+Parent=AOL 9.0/IE 5.5
+Platform=Win2000
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 5.0*.NET CLR 1*.NET CLR 2*)*]
+Parent=AOL 9.0/IE 5.5
+Platform=Win2000
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 5.0*.NET CLR 2*)*]
+Parent=AOL 9.0/IE 5.5
+Platform=Win2000
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 5.0*.NET CLR 2*.NET CLR 1*)*]
+Parent=AOL 9.0/IE 5.5
+Platform=Win2000
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 5.01*)*]
+Parent=AOL 9.0/IE 5.5
+Platform=Win2000
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 5.01*.NET CLR 1*)*]
+Parent=AOL 9.0/IE 5.5
+Platform=Win2000
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 5.01*.NET CLR 1*.NET CLR 2*)*]
+Parent=AOL 9.0/IE 5.5
+Platform=Win2000
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 5.01*.NET CLR 2*)*]
+Parent=AOL 9.0/IE 5.5
+Platform=Win2000
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 5.01*.NET CLR 2*.NET CLR 1*)*]
+Parent=AOL 9.0/IE 5.5
+Platform=Win2000
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 5.1*)*]
+Parent=AOL 9.0/IE 5.5
+Platform=WinXP
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 5.1*.NET CLR 1*)*]
+Parent=AOL 9.0/IE 5.5
+Platform=WinXP
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 5.1*.NET CLR 1*.NET CLR 2*)*]
+Parent=AOL 9.0/IE 5.5
+Platform=WinXP
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 5.1*.NET CLR 2*)*]
+Parent=AOL 9.0/IE 5.5
+Platform=WinXP
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 5.1*.NET CLR 2*.NET CLR 1*)*]
+Parent=AOL 9.0/IE 5.5
+Platform=WinXP
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 5.2*)*]
+Parent=AOL 9.0/IE 5.5
+Platform=Win2003
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 5.2*.NET CLR 1*)*]
+Parent=AOL 9.0/IE 5.5
+Platform=Win2003
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 5.2*.NET CLR 1*.NET CLR 2*)*]
+Parent=AOL 9.0/IE 5.5
+Platform=Win2003
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 5.2*.NET CLR 2*)*]
+Parent=AOL 9.0/IE 5.5
+Platform=Win2003
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 5.2*.NET CLR 2*.NET CLR 1*)*]
+Parent=AOL 9.0/IE 5.5
+Platform=Win2003
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 6.0*)*]
+Parent=AOL 9.0/IE 5.5
+Platform=WinVista
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 6.0*.NET CLR 1*)*]
+Parent=AOL 9.0/IE 5.5
+Platform=WinVista
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 6.0*.NET CLR 1*.NET CLR 2*)*]
+Parent=AOL 9.0/IE 5.5
+Platform=WinVista
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 6.0*.NET CLR 2*)*]
+Parent=AOL 9.0/IE 5.5
+Platform=WinVista
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *AOL 9.0; *Windows NT 6.0*.NET CLR 2*.NET CLR 1*)*]
+Parent=AOL 9.0/IE 5.5
+Platform=WinVista
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; AOL 9.0/IE 6.0
+
+[AOL 9.0/IE 6.0]
+Parent=DefaultProperties
+Browser=AOL
+Version=6.0
+MajorVer=6
+Win32=true
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+BackgroundSounds=true
+CDF=true
+VBScript=true
+JavaApplets=true
+JavaScript=true
+ActiveXControls=true
+CssVersion=2
+supportsCSS=true
+AOL=true
+aolVersion=9.0
+ecmascriptversion=1.3
+w3cdomversion=1.0
+
+[Mozilla/?.* (?compatible; *MSIE 6.0; *AOL 9.0*)*]
+Parent=AOL 9.0/IE 6.0
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Win 9x 4.90*)*]
+Parent=AOL 9.0/IE 6.0
+Platform=WinME
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows 95*)*]
+Parent=AOL 9.0/IE 6.0
+Platform=Win95
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows 98*)*]
+Parent=AOL 9.0/IE 6.0
+Platform=Win98
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows 98*.NET CLR 1*)*]
+Parent=AOL 9.0/IE 6.0
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows 98*.NET CLR 1*.NET CLR 2*)*]
+Parent=AOL 9.0/IE 6.0
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows 98*.NET CLR 2*)*]
+Parent=AOL 9.0/IE 6.0
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows 98*.NET CLR 2*.NET CLR 1*)*]
+Parent=AOL 9.0/IE 6.0
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows 98; Win 9x 4.90*)*]
+Parent=AOL 9.0/IE 6.0
+Platform=WinME
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows 98; Win 9x 4.90*.NET CLR 1*)*]
+Parent=AOL 9.0/IE 6.0
+Platform=WinME
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows 98; Win 9x 4.90*.NET CLR 1*.NET CLR 2*)*]
+Parent=AOL 9.0/IE 6.0
+Platform=WinME
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows 98; Win 9x 4.90*.NET CLR 2*)*]
+Parent=AOL 9.0/IE 6.0
+Platform=WinME
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows 98; Win 9x 4.90*.NET CLR 2*.NET CLR 1*)*]
+Parent=AOL 9.0/IE 6.0
+Platform=WinME
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 4.0*)*]
+Parent=AOL 9.0/IE 6.0
+Platform=WinNT
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 5.0*)*]
+Parent=AOL 9.0/IE 6.0
+Platform=Win2000
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 5.0*.NET CLR 1*)*]
+Parent=AOL 9.0/IE 6.0
+Platform=Win2000
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 5.0*.NET CLR 1*.NET CLR 2*)*]
+Parent=AOL 9.0/IE 6.0
+Platform=Win2000
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 5.0*.NET CLR 2*)*]
+Parent=AOL 9.0/IE 6.0
+Platform=Win2000
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 5.0*.NET CLR 2*.NET CLR 1*)*]
+Parent=AOL 9.0/IE 6.0
+Platform=Win2000
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 5.01*)*]
+Parent=AOL 9.0/IE 6.0
+Platform=Win2000
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 5.01*.NET CLR 1*)*]
+Parent=AOL 9.0/IE 6.0
+Platform=Win2000
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 5.01*.NET CLR 1*.NET CLR 2*)*]
+Parent=AOL 9.0/IE 6.0
+Platform=Win2000
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 5.01*.NET CLR 2*)*]
+Parent=AOL 9.0/IE 6.0
+Platform=Win2000
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 5.01*.NET CLR 2*.NET CLR 1*)*]
+Parent=AOL 9.0/IE 6.0
+Platform=Win2000
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 5.1*)*]
+Parent=AOL 9.0/IE 6.0
+Platform=WinXP
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 5.1*.NET CLR 1*)*]
+Parent=AOL 9.0/IE 6.0
+Platform=WinXP
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 5.1*.NET CLR 1*.NET CLR 2*)*]
+Parent=AOL 9.0/IE 6.0
+Platform=WinXP
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 5.1*.NET CLR 2*)*]
+Parent=AOL 9.0/IE 6.0
+Platform=WinXP
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 5.1*.NET CLR 2*.NET CLR 1*)*]
+Parent=AOL 9.0/IE 6.0
+Platform=WinXP
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 5.2*)*]
+Parent=AOL 9.0/IE 6.0
+Platform=Win2003
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 5.2*.NET CLR 1*)*]
+Parent=AOL 9.0/IE 6.0
+Platform=Win2003
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 5.2*.NET CLR 1*.NET CLR 2*)*]
+Parent=AOL 9.0/IE 6.0
+Platform=Win2003
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 5.2*.NET CLR 2*)*]
+Parent=AOL 9.0/IE 6.0
+Platform=Win2003
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 5.2*.NET CLR 2*.NET CLR 1*)*]
+Parent=AOL 9.0/IE 6.0
+Platform=Win2003
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 6.0*)*]
+Parent=AOL 9.0/IE 6.0
+Platform=WinVista
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 6.0*.NET CLR 1*)*]
+Parent=AOL 9.0/IE 6.0
+Platform=WinVista
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 6.0*.NET CLR 1*.NET CLR 2*)*]
+Parent=AOL 9.0/IE 6.0
+Platform=WinVista
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 6.0*.NET CLR 2*)*]
+Parent=AOL 9.0/IE 6.0
+Platform=WinVista
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *AOL 9.0; *Windows NT 6.0*.NET CLR 2*.NET CLR 1*)*]
+Parent=AOL 9.0/IE 6.0
+Platform=WinVista
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; AOL 9.0/IE 7.0
+
+[AOL 9.0/IE 7.0]
+Parent=DefaultProperties
+Browser=AOL
+Version=7.0
+MajorVer=7
+Win32=true
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+BackgroundSounds=true
+CDF=true
+VBScript=true
+JavaApplets=true
+JavaScript=true
+ActiveXControls=true
+CssVersion=2
+supportsCSS=true
+AOL=true
+aolVersion=9.0
+
+[Mozilla/?.* (?compatible; *MSIE 7.0; *AOL 9.0*)*]
+Parent=AOL 9.0/IE 7.0
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Win 9x 4.90*)*]
+Parent=AOL 9.0/IE 7.0
+Platform=WinME
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows 95*)*]
+Parent=AOL 9.0/IE 7.0
+Platform=Win95
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows 98*)*]
+Parent=AOL 9.0/IE 7.0
+Platform=Win98
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows 98*.NET CLR 1*)*]
+Parent=AOL 9.0/IE 7.0
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows 98*.NET CLR 1*.NET CLR 2*)*]
+Parent=AOL 9.0/IE 7.0
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows 98*.NET CLR 2*)*]
+Parent=AOL 9.0/IE 7.0
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows 98*.NET CLR 2*.NET CLR 1*)*]
+Parent=AOL 9.0/IE 7.0
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows 98; Win 9x 4.90*)*]
+Parent=AOL 9.0/IE 7.0
+Platform=WinME
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows 98; Win 9x 4.90*.NET CLR 1*)*]
+Parent=AOL 9.0/IE 7.0
+Platform=WinME
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows 98; Win 9x 4.90*.NET CLR 1*.NET CLR 2*)*]
+Parent=AOL 9.0/IE 7.0
+Platform=WinME
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows 98; Win 9x 4.90*.NET CLR 2*)*]
+Parent=AOL 9.0/IE 7.0
+Platform=WinME
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows 98; Win 9x 4.90*.NET CLR 2*.NET CLR 1*)*]
+Parent=AOL 9.0/IE 7.0
+Platform=WinME
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 4.0*)*]
+Parent=AOL 9.0/IE 7.0
+Platform=WinNT
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 5.0*)*]
+Parent=AOL 9.0/IE 7.0
+Platform=Win2000
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 5.0*.NET CLR 1*)*]
+Parent=AOL 9.0/IE 7.0
+Platform=Win2000
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 5.0*.NET CLR 1*.NET CLR 2*)*]
+Parent=AOL 9.0/IE 7.0
+Platform=Win2000
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 5.0*.NET CLR 2*)*]
+Parent=AOL 9.0/IE 7.0
+Platform=Win2000
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 5.0*.NET CLR 2*.NET CLR 1*)*]
+Parent=AOL 9.0/IE 7.0
+Platform=Win2000
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 5.01*)*]
+Parent=AOL 9.0/IE 7.0
+Platform=Win2000
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 5.01*.NET CLR 1*)*]
+Parent=AOL 9.0/IE 7.0
+Platform=Win2000
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 5.01*.NET CLR 1*.NET CLR 2*)*]
+Parent=AOL 9.0/IE 7.0
+Platform=Win2000
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 5.01*.NET CLR 2*)*]
+Parent=AOL 9.0/IE 7.0
+Platform=Win2000
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 5.01*.NET CLR 2*.NET CLR 1*)*]
+Parent=AOL 9.0/IE 7.0
+Platform=Win2000
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 5.1*)*]
+Parent=AOL 9.0/IE 7.0
+Platform=WinXP
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 5.1*.NET CLR 1*)*]
+Parent=AOL 9.0/IE 7.0
+Platform=WinXP
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 5.1*.NET CLR 1*.NET CLR 2*)*]
+Parent=AOL 9.0/IE 7.0
+Platform=WinXP
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 5.1*.NET CLR 2*)*]
+Parent=AOL 9.0/IE 7.0
+Platform=WinXP
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 5.1*.NET CLR 2*.NET CLR 1*)*]
+Parent=AOL 9.0/IE 7.0
+Platform=WinXP
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 5.2*)*]
+Parent=AOL 9.0/IE 7.0
+Platform=Win2003
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 5.2*.NET CLR 1*)*]
+Parent=AOL 9.0/IE 7.0
+Platform=Win2003
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 5.2*.NET CLR 1*.NET CLR 2*)*]
+Parent=AOL 9.0/IE 7.0
+Platform=Win2003
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 5.2*.NET CLR 2*)*]
+Parent=AOL 9.0/IE 7.0
+Platform=Win2003
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 5.2*.NET CLR 2*.NET CLR 1*)*]
+Parent=AOL 9.0/IE 7.0
+Platform=Win2003
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 6.0*)*]
+Parent=AOL 9.0/IE 7.0
+Platform=WinVista
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 6.0*.NET CLR 1*)*]
+Parent=AOL 9.0/IE 7.0
+Platform=WinVista
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 6.0*.NET CLR 1*.NET CLR 2*)*]
+Parent=AOL 9.0/IE 7.0
+Platform=WinVista
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 6.0*.NET CLR 2*)*]
+Parent=AOL 9.0/IE 7.0
+Platform=WinVista
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *AOL 9.0; *Windows NT 6.0*.NET CLR 2*.NET CLR 1*)*]
+Parent=AOL 9.0/IE 7.0
+Platform=WinVista
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Avant Browser
+
+[Avant Browser]
+Parent=DefaultProperties
+Browser=Avant Browser
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+BackgroundSounds=true
+CDF=true
+VBScript=true
+JavaApplets=true
+JavaScript=true
+ActiveXControls=true
+CssVersion=2
+supportsCSS=true
+
+[Advanced Browser (http://www.avantbrowser.com)]
+Parent=Avant Browser
+
+[Avant Browser*]
+Parent=Avant Browser
+
+[Avant Browser/*]
+Parent=Avant Browser
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; IE 4.01
+
+[IE 4.01]
+Parent=DefaultProperties
+Browser=IE
+Version=4.01
+MajorVer=4
+MinorVer=01
+Win32=true
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+BackgroundSounds=true
+CDF=true
+VBScript=true
+JavaApplets=true
+JavaScript=true
+ActiveXControls=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/?.* (?compatible; *MSIE 4.01*)*]
+Parent=IE 4.01
+
+[Mozilla/4.0 (compatible; MSIE 4.01; *Windows 95*)*]
+Parent=IE 4.01
+Platform=Win95
+
+[Mozilla/4.0 (compatible; MSIE 4.01; *Windows 98*)*]
+Parent=IE 4.01
+Platform=Win98
+
+[Mozilla/4.0 (compatible; MSIE 4.01; *Windows 98; Win 9x 4.90;*)*]
+Parent=IE 4.01
+Platform=WinME
+
+[Mozilla/4.0 (compatible; MSIE 4.01; *Windows NT 4.0*)*]
+Parent=IE 4.01
+Platform=WinNT
+
+[Mozilla/4.0 (compatible; MSIE 4.01; *Windows NT 5.0*)*]
+Parent=IE 4.01
+Platform=Win2000
+
+[Mozilla/4.0 (compatible; MSIE 4.01; *Windows NT 5.01*)*]
+Parent=IE 4.01
+Platform=Win2000
+
+[Mozilla/4.0 (compatible; MSIE 4.01; Windows NT)]
+Parent=IE 4.01
+Platform=WinNT
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; IE 5.0
+
+[IE 5.0]
+Parent=DefaultProperties
+Browser=IE
+Version=5.0
+MajorVer=5
+Win32=true
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+BackgroundSounds=true
+CDF=true
+VBScript=true
+JavaApplets=true
+JavaScript=true
+ActiveXControls=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/?.* (?compatible; *MSIE 5.0*)*]
+Parent=IE 5.0
+
+[Mozilla/4.0 (compatible; MSIE 5.0; *Windows 95*)*]
+Parent=IE 5.0
+Platform=Win95
+
+[Mozilla/4.0 (compatible; MSIE 5.0; *Windows 98*)*]
+Parent=IE 5.0
+Platform=Win98
+
+[Mozilla/4.0 (compatible; MSIE 5.0; *Windows 98; Win 9x 4.90;*)*]
+Parent=IE 5.0
+Platform=WinME
+
+[Mozilla/4.0 (compatible; MSIE 5.0; *Windows NT 4.0*)*]
+Parent=IE 5.0
+Platform=WinNT
+
+[Mozilla/4.0 (compatible; MSIE 5.0; *Windows NT 5.0*)*]
+Parent=IE 5.0
+Platform=Win2000
+
+[Mozilla/4.0 (compatible; MSIE 5.0; *Windows NT 5.01*)*]
+Parent=IE 5.0
+Platform=Win2000
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; IE 5.01
+
+[IE 5.01]
+Parent=DefaultProperties
+Browser=IE
+Version=5.01
+MajorVer=5
+MinorVer=01
+Win32=true
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+BackgroundSounds=true
+CDF=true
+VBScript=true
+JavaApplets=true
+JavaScript=true
+ActiveXControls=true
+CssVersion=2
+supportsCSS=true
+
+[Mozilla/?.* (?compatible; *MSIE 5.01*)*]
+Parent=IE 5.01
+
+[Mozilla/4.0 (compatible; MSIE 5.01; *Windows 95*)*]
+Parent=IE 5.01
+Platform=Win95
+
+[Mozilla/4.0 (compatible; MSIE 5.01; *Windows 98*)*]
+Parent=IE 5.01
+Platform=Win98
+
+[Mozilla/4.0 (compatible; MSIE 5.01; *Windows 98; Win 9x 4.90;*)*]
+Parent=IE 5.01
+Platform=WinME
+
+[Mozilla/4.0 (compatible; MSIE 5.01; *Windows NT 4.0*)*]
+Parent=IE 5.01
+Platform=WinNT
+
+[Mozilla/4.0 (compatible; MSIE 5.01; *Windows NT 5.0*)*]
+Parent=IE 5.01
+Platform=Win2000
+
+[Mozilla/4.0 (compatible; MSIE 5.01; *Windows NT 5.01*)*]
+Parent=IE 5.01
+Platform=Win2000
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; IE 5.5
+
+[IE 5.5]
+Parent=DefaultProperties
+Browser=IE
+Version=5.5
+MajorVer=5
+MinorVer=5
+Win32=true
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+BackgroundSounds=true
+CDF=true
+VBScript=true
+JavaApplets=true
+JavaScript=true
+ActiveXControls=true
+CssVersion=2
+supportsCSS=true
+ecmascriptversion=1.2
+w3cdomversion=1.0
+
+[Mozilla/?.* (?compatible; *MSIE 5.5*)*]
+Parent=IE 5.5
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *Windows 95*)*]
+Parent=IE 5.5
+Platform=Win95
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *Windows 98*)*]
+Parent=IE 5.5
+Platform=Win98
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *Windows 98; Win 9x 4.90*)*]
+Parent=IE 5.5
+Platform=WinME
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *Windows NT 4.0*)*]
+Parent=IE 5.5
+Platform=WinNT
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *Windows NT 5.0*)*]
+Parent=IE 5.5
+Platform=Win2000
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *Windows NT 5.01*)*]
+Parent=IE 5.5
+Platform=Win2000
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *Windows NT 5.1*)*]
+Parent=IE 5.5
+Platform=WinXP
+
+[Mozilla/4.0 (compatible; MSIE 5.5; *Windows NT 5.2*)*]
+Parent=IE 5.5
+Platform=Win2003
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; IE 6.0
+
+[IE 6.0]
+Parent=DefaultProperties
+Browser=IE
+Version=6.0
+MajorVer=6
+Win32=true
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+BackgroundSounds=true
+CDF=true
+VBScript=true
+JavaApplets=true
+JavaScript=true
+ActiveXControls=true
+CssVersion=2
+supportsCSS=true
+ecmascriptversion=1.2
+w3cdomversion=1.0
+msdomversion=6.0
+
+[Mozilla/?.* (?compatible; *MSIE 6.0*)*]
+Parent=IE 6.0
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *Windows 95*)*]
+Parent=IE 6.0
+Platform=Win95
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *Windows 98*)*]
+Parent=IE 6.0
+Platform=Win98
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *Windows 98; Win 9x 4.90*)*]
+Parent=IE 6.0
+Platform=WinME
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *Windows NT 4.0*)*]
+Parent=IE 6.0
+Platform=WinNT
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *Windows NT 5.0*)*]
+Parent=IE 6.0
+Platform=Win2000
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *Windows NT 5.01*)*]
+Parent=IE 6.0
+Platform=Win2000
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *Windows NT 5.1*)*]
+Parent=IE 6.0
+Platform=WinXP
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *Windows NT 5.2*)*]
+Parent=IE 6.0
+Platform=Win2003
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *Windows NT 5.2;*Win64;*)*]
+Parent=IE 6.0
+Platform=WinXP
+Win32=false
+Win64=true
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *Windows NT 5.2;*WOW64;*)*]
+Parent=IE 6.0
+Platform=WinXP
+
+[Mozilla/4.0 (compatible; MSIE 6.0; *Windows NT 6.0*)*]
+Parent=IE 6.0
+Platform=WinVista
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; IE 7.0
+
+[IE 7.0]
+Parent=DefaultProperties
+Browser=IE
+Version=7.0
+MajorVer=7
+Win32=true
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+BackgroundSounds=true
+CDF=true
+VBScript=true
+JavaApplets=true
+JavaScript=true
+ActiveXControls=true
+CssVersion=2
+supportsCSS=true
+ecmascriptversion=1.2
+msdomversion=7.0
+w3cdomversion=1.0
+
+[Mozilla/?.* (?compatible; *MSIE 7.0*)*]
+Parent=IE 7.0
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *Windows 98*)*]
+Parent=IE 7.0
+Platform=Win98
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *Windows 98; Win 9x 4.90;*)*]
+Parent=IE 7.0
+Platform=WinME
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 4.0*)*]
+Parent=IE 7.0
+Platform=WinNT
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 5.0*)*]
+Parent=IE 7.0
+Platform=Win2000
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 5.01*)*]
+Parent=IE 7.0
+Platform=Win2000
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 5.1*)*]
+Parent=IE 7.0
+Platform=WinXP
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 5.2*)*]
+Parent=IE 7.0
+Platform=Win2003
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 5.2;*Win64;*)*]
+Parent=IE 7.0
+Platform=WinXP
+Win32=false
+Win64=true
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 5.2;*WOW64;*)*]
+Parent=IE 7.0
+Platform=WinXP
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 6.0*)*]
+Parent=IE 7.0
+Platform=WinVista
+
+[Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 6.1*)*]
+Parent=IE 7.0
+Platform=Win7
+
+[Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/4.0; *)*]
+Parent=IE 7.0
+Platform=Win7
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; IE 8.0
+
+[IE 8.0]
+Parent=DefaultProperties
+Browser=IE
+Version=8.0
+MajorVer=8
+Win32=true
+Frames=true
+IFrames=true
+Tables=true
+Cookies=true
+BackgroundSounds=true
+CDF=true
+VBScript=true
+JavaApplets=true
+JavaScript=true
+ActiveXControls=true
+CssVersion=3
+supportsCSS=true
+ecmascriptversion=1.2
+msdomversion=8.0
+w3cdomversion=1.0
+
+[Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Trident/4.0*)*]
+Parent=IE 8.0
+Platform=WinVista
+
+[Mozilla/4.0 (compatible; MSIE 8.0; Win32*)*]
+Parent=IE 8.0
+Platform=Win32
+
+[Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.0*)*]
+Parent=IE 8.0
+Platform=Win2000
+
+[Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1*)*]
+Parent=IE 8.0
+Platform=WinXP
+
+[Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2*)*]
+Parent=IE 8.0
+Platform=Win2003
+
+[Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0*)*]
+Parent=IE 8.0
+Platform=WinVista
+
+[Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0*)*]
+Parent=IE 8.0
+Platform=WinVista
+
+[Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Win64; x64; Trident/4.0*)*]
+Parent=IE 8.0
+Platform=WinVista
+Win32=false
+Win64=true
+
+[Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; WOW64; Trident/4.0*)*]
+Parent=IE 8.0
+Platform=WinVista
+Win64=false
+
+[Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1*)*]
+Parent=IE 8.0
+Platform=Win7
+
+[Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0*)*]
+Parent=IE 8.0
+Platform=Win7
+
+[Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Win64; x64; Trident/4.0*)*]
+Parent=IE 8.0
+Platform=Win7
+Win32=false
+Win64=true
+
+[Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0*)*]
+Parent=IE 8.0
+Platform=Win7
+Win64=false
+
+[Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 7.0; Trident/4.0*)*]
+Parent=IE 8.0
+Platform=Win7
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Default Browser
+
+[*]
+Browser=Default Browser
+Version=0
+MajorVer=0
+MinorVer=0
+Platform=unknown
+Alpha=false
+Beta=false
+Win16=false
+Win32=false
+Win64=false
+Frames=true
+IFrames=false
+Tables=true
+Cookies=false
+BackgroundSounds=false
+CDF=false
+VBScript=false
+JavaApplets=false
+JavaScript=false
+ActiveXControls=false
+Stripper=false
+isBanned=false
+isMobileDevice=false
+isSyndicationReader=false
+Crawler=false
+CssVersion=0
+supportsCSS=false
+AOL=false
+aolVersion=0
+AuthenticodeUpdate=0
+CSS=0
+WAP=false
+netCLR=false
+ClrVersion=0
+ECMAScriptVersion=0.0
+W3CDOMVersion=0.0
--- /dev/null
+<configuration>
+ <dllmap dll="i:cygwin1.dll" target="libc.so.6" os="!windows" />
+ <dllmap dll="libc" target="libc.so.6" os="!windows"/>
+ <dllmap dll="intl" target="libc.so.6" os="!windows"/>
+ <dllmap dll="intl" name="bind_textdomain_codeset" target="libc.so.6" os="solaris"/>
+ <dllmap dll="libintl" name="bind_textdomain_codeset" target="libc.so.6" os="solaris"/>
+ <dllmap dll="libintl" target="libc.so.6" os="!windows"/>
+ <dllmap dll="i:libxslt.dll" target="libxslt.so" os="!windows"/>
+ <dllmap dll="i:odbc32.dll" target="libodbc.so" os="!windows"/>
+ <dllmap dll="i:odbc32.dll" target="libiodbc.dylib" os="osx"/>
+ <dllmap dll="oci" target="libclntsh.so" os="!windows"/>
+ <dllmap dll="db2cli" target="libdb2_36.so" os="!windows"/>
+ <dllmap dll="MonoPosixHelper" target="$mono_libdir/libMonoPosixHelper.so" os="!windows" />
+ <dllmap dll="i:msvcrt" target="libc.so.6" os="!windows"/>
+ <dllmap dll="i:msvcrt.dll" target="libc.so.6" os="!windows"/>
+ <dllmap dll="sqlite" target="libsqlite.so.0" os="!windows"/>
+ <dllmap dll="sqlite3" target="libsqlite3.so.0" os="!windows"/>
+ <dllmap dll="libX11" target="libX11.so.6" os="!windows" />
+ <dllmap dll="libgdk-x11-2.0" target="libgdk-x11-2.0.so.0" os="!windows"/>
+ <dllmap dll="libgtk-x11-2.0" target="libgtk-x11-2.0.so.0" os="!windows"/>
+ <dllmap dll="libXinerama" target="libXinerama.so.1" os="!windows" />
+ <dllmap dll="libcairo-2.dll" target="libcairo.so.2" os="!windows"/>
+ <dllmap dll="libcairo-2.dll" target="libcairo.2.dylib" os="osx"/>
+ <dllmap dll="libcups" target="libcups.so.2" os="!windows"/>
+ <dllmap dll="libcups" target="libcups.dylib" os="osx"/>
+ <dllmap dll="i:kernel32.dll">
+ <dllentry dll="__Internal" name="CopyMemory" target="mono_win32_compat_CopyMemory"/>
+ <dllentry dll="__Internal" name="FillMemory" target="mono_win32_compat_FillMemory"/>
+ <dllentry dll="__Internal" name="MoveMemory" target="mono_win32_compat_MoveMemory"/>
+ <dllentry dll="__Internal" name="ZeroMemory" target="mono_win32_compat_ZeroMemory"/>
+ </dllmap>
+ <dllmap dll="gdiplus" target="libgdiplus.so.0" os="!windows"/>
+ <dllmap dll="gdiplus.dll" target="libgdiplus.so.0" os="!windows"/>
+ <dllmap dll="gdi32" target="libgdiplus.so.0" os="!windows"/>
+ <dllmap dll="gdi32.dll" target="libgdiplus.so.0" os="!windows"/>
+</configuration>
--- /dev/null
+{
+ "_comment_": "This file is JSON syntax and will be loaded by ssh-import-id to obtain the URL string, which defaults to launchpad.net. The following URL *must* be an https address with a valid, signed certificate!!! %s is the variable that will be filled by the ssh-import-id utility.",
+ "URL": "https://launchpad.net/~%s/+sshkeys"
+}