Skip to main content

This CGIT instance is deprecated, and repositories have been moved to Gitlab or Github. See the repository descriptions for specific locations.

aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornsandonato2010-12-21 22:36:23 +0000
committernsandonato2010-12-21 22:36:23 +0000
commitab2bbe3fa083b086115f37b12f3a49742e2a01e0 (patch)
tree9ea4271921548afdd55ca79cd7e9f3a1e636cb1e
parenta402f40c976524b5cddc0deea2eb6e0ad7657b81 (diff)
downloadwebtools.sourceediting-ab2bbe3fa083b086115f37b12f3a49742e2a01e0.tar.gz
webtools.sourceediting-ab2bbe3fa083b086115f37b12f3a49742e2a01e0.tar.xz
webtools.sourceediting-ab2bbe3fa083b086115f37b12f3a49742e2a01e0.zip
[324731] Add support for CSS3 properties
-rw-r--r--bundles/org.eclipse.wst.css.core/cssprofile/cssprofile-css3.xml2566
-rw-r--r--bundles/org.eclipse.wst.css.core/cssprofile/cssprofile.properties2
-rw-r--r--bundles/org.eclipse.wst.css.core/plugin.properties1
-rw-r--r--bundles/org.eclipse.wst.css.core/plugin.xml5
-rw-r--r--bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/IValID.java14
-rw-r--r--bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMNode.java145
-rw-r--r--bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMProperty.java25
-rw-r--r--bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodelimpl/CSSMMPseudoElementImpl.java13
-rw-r--r--bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodelimpl/ProfileHandler.java33
-rw-r--r--bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/parser/CSSTokenizer.java1561
-rw-r--r--bundles/org.eclipse.wst.css.ui/plugin.properties2
-rw-r--r--bundles/org.eclipse.wst.css.ui/plugin.xml2
-rw-r--r--bundles/org.eclipse.wst.css.ui/schema/proposalInfo.exsd107
-rw-r--r--bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSCACandidate.java13
-rw-r--r--bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalArranger.java3
-rw-r--r--bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGenerator.java5
-rw-r--r--bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForDeclarationName.java3
-rw-r--r--bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForDeclarationValue.java3
-rw-r--r--bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForPseudoSelector.java35
-rw-r--r--bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CompletionProposal.java188
-rw-r--r--bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/IProposalInfo.java25
-rw-r--r--bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/ProposalInfoFactory.java66
-rw-r--r--bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/CSSTokenizer/devel/CSSTokenizer.jflex4
23 files changed, 3991 insertions, 830 deletions
diff --git a/bundles/org.eclipse.wst.css.core/cssprofile/cssprofile-css3.xml b/bundles/org.eclipse.wst.css.core/cssprofile/cssprofile-css3.xml
new file mode 100644
index 0000000000..d1914065ba
--- /dev/null
+++ b/bundles/org.eclipse.wst.css.core/cssprofile/cssprofile-css3.xml
@@ -0,0 +1,2566 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+/*******************************************************************************
+ * Copyright (c) 2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+ -->
+<!--<!DOCTYPE css-profile SYSTEM "css-profile.dtd" >-->
+<css-profile>
+ <stylesheet-def>
+ <description>%css3.stylesheet-def.description</description>
+ <charset-rule/>
+ <import-rule/>
+ <page-rule/>
+ <media-rule/>
+ <fontface-rule/>
+ <style-rule/>
+ </stylesheet-def>
+
+ <charset-rule-def>
+ </charset-rule-def>
+ <import-rule-def>
+ </import-rule-def>
+ <media-rule-def>
+ </media-rule-def>
+
+ <page-rule-def>
+ <pseudo-class name="left"/>
+ <pseudo-class name="right"/>
+ <pseudo-class name="first"/>
+ <property name="size"/>
+ <property name="marks"/>
+ <property name="page-break-after"/>
+ <property name="page-break-before"/>
+ <property name="page-break-inside"/>
+ <property name="orphans"/>
+ <property name="widows"/>
+ </page-rule-def>
+
+ <fontface-rule-def>
+ <descriptor name="ascent"/>
+ <descriptor name="baseline"/>
+ <descriptor name="bbox"/>
+ <descriptor name="cap-height"/>
+ <descriptor name="centerline"/>
+ <descriptor name="definition-src"/>
+ <descriptor name="descent"/>
+ <descriptor name="font-family"/>
+ <descriptor name="font-size"/>
+ <descriptor name="font-stretch"/>
+ <descriptor name="font-style"/>
+ <descriptor name="font-variant"/>
+ <descriptor name="font-weight"/>
+ <descriptor name="mathline"/>
+ <descriptor name="panose-1"/>
+ <descriptor name="slope"/>
+ <descriptor name="slope"/>
+ <descriptor name="src"/>
+ <descriptor name="stemh"/>
+ <descriptor name="stemv"/>
+ <descriptor name="topline"/>
+ <descriptor name="unicode-range"/>
+ <descriptor name="units-per-em"/>
+ <descriptor name="widths"/>
+ <descriptor name="x-height"/>
+ </fontface-rule-def>
+
+ <!-- Which properties can style rule include ? -->
+
+ <style-rule-def>
+ <selector-expression name="descendant"/>
+ <selector-expression name="child"/>
+ <selector-expression name="adjacent"/>
+ <selector-expression name="universal"/>
+ <selector-expression name="attribute"/>
+ <pseudo-element name="first-line"/>
+ <pseudo-element name="first-letter"/>
+ <pseudo-element name="before"/>
+ <pseudo-element name="after"/>
+ <pseudo-element name="selection"/>
+ <pseudo-class name="first-child"/>
+ <pseudo-class name="link"/>
+ <pseudo-class name="visited"/>
+ <pseudo-class name="hover"/>
+ <pseudo-class name="active"/>
+ <pseudo-class name="focus"/>
+ <pseudo-class name="empty"/>
+ <pseudo-class name="enabled"/>
+ <pseudo-class name="disabled"/>
+ <pseudo-class name="checked"/>
+ <pseudo-class name="first-of-type"/>
+ <pseudo-class name="last-child"/>
+ <pseudo-class name="last-of-type"/>
+ <pseudo-class name="not()"/>
+ <pseudo-class name="nth-child()"/>
+ <pseudo-class name="nth-last-child()"/>
+ <pseudo-class name="nth-last-of-type()"/>
+ <pseudo-class name="nth-of-type()"/>
+ <pseudo-class name="only-child"/>
+ <pseudo-class name="only-of-type"/>
+ <pseudo-class name="root"/>
+ <pseudo-class name="target"/>
+ <property name="azimuth"/>
+ <property name="background"/>
+ <property name="background-attachment"/>
+ <property name="background-clip"/>
+ <property name="background-color"/>
+ <property name="background-image"/>
+ <property name="background-origin"/>
+ <property name="background-position"/>
+ <property name="background-repeat"/>
+ <property name="background-size"/>
+ <property name="border"/>
+ <property name="border-collapse"/>
+ <property name="border-color"/>
+ <property name="border-spacing"/>
+ <property name="border-style"/>
+ <property name="border-top"/>
+ <property name="border-right"/>
+ <property name="border-bottom"/>
+ <property name="border-left"/>
+ <property name="border-top-color"/>
+ <property name="border-right-color"/>
+ <property name="border-bottom-color"/>
+ <property name="border-left-color"/>
+ <property name="border-top-style"/>
+ <property name="border-right-style"/>
+ <property name="border-bottom-style"/>
+ <property name="border-left-style"/>
+ <property name="border-top-width"/>
+ <property name="border-right-width"/>
+ <property name="border-bottom-width"/>
+ <property name="border-left-width"/>
+ <property name="border-width"/>
+ <property name="border-top-left-radius"/>
+ <property name="border-top-right-radius"/>
+ <property name="border-bottom-left-radius"/>
+ <property name="border-bottom-right-radius"/>
+ <property name="border-radius"/>
+ <property name="bottom"/>
+ <property name="box-shadow"/>
+ <property name="box-sizing"/>
+ <property name="caption-side"/>
+ <property name="clear"/>
+ <property name="clip"/>
+ <property name="color"/>
+ <property name="content"/>
+ <property name="columns"/>
+ <property name="column-count"/>
+ <property name="column-width"/>
+ <property name="column-gap"/>
+ <property name="column-rule-color"/>
+ <property name="column-rule-style"/>
+ <property name="column-rule-width"/>
+ <property name="column-rule"/>
+ <property name="column-span"/>
+ <property name="column-fill"/>
+ <property name="counter-increment"/>
+ <property name="counter-reset"/>
+ <property name="cue"/>
+ <property name="cue-after"/>
+ <property name="cue-before"/>
+ <property name="cursor"/>
+ <property name="direction"/>
+ <property name="display"/>
+ <property name="elevation"/>
+ <property name="empty-cells"/>
+ <property name="float"/>
+ <property name="font"/>
+ <property name="font-family"/>
+ <property name="font-size"/>
+ <property name="font-size-adjust"/>
+ <property name="font-stretch"/>
+ <property name="font-style"/>
+ <property name="font-variant"/>
+ <property name="font-weight"/>
+ <property name="height"/>
+ <property name="left"/>
+ <property name="letter-spacing"/>
+ <property name="line-height"/>
+ <property name="list-style"/>
+ <property name="list-style-image"/>
+ <property name="list-style-position"/>
+ <property name="list-style-type"/>
+ <property name="margin"/>
+ <property name="margin-top"/>
+ <property name="margin-right"/>
+ <property name="margin-bottom"/>
+ <property name="margin-left"/>
+ <property name="marker-offset"/>
+ <property name="marks"/>
+ <property name="max-height"/>
+ <property name="max-width"/>
+ <property name="min-height"/>
+ <property name="min-width"/>
+ <property name="opacity"/>
+ <property name="orphans"/>
+ <property name="outline"/>
+ <property name="outline-color"/>
+ <property name="outline-style"/>
+ <property name="outline-width"/>
+ <property name="overflow"/>
+ <property name="padding"/>
+ <property name="padding-top"/>
+ <property name="padding-right"/>
+ <property name="padding-bottom"/>
+ <property name="padding-left"/>
+ <property name="page"/>
+ <property name="page-break-after"/>
+ <property name="page-break-before"/>
+ <property name="page-break-inside"/>
+ <property name="pause"/>
+ <property name="pause-after"/>
+ <property name="pause-before"/>
+ <property name="pitch"/>
+ <property name="pitch-range"/>
+ <property name="play-during"/>
+ <property name="position"/>
+ <property name="quotes"/>
+ <property name="resize"/>
+ <property name="richness"/>
+ <property name="right"/>
+ <property name="size"/>
+ <property name="speak"/>
+ <property name="speak-header"/>
+ <property name="speak-numeral"/>
+ <property name="speak-punctuation"/>
+ <property name="speech-rate"/>
+ <property name="stress"/>
+ <property name="table-layout"/>
+ <property name="text-align"/>
+ <property name="text-decoration"/>
+ <property name="text-indent"/>
+ <property name="text-overflow"/>
+ <property name="text-shadow"/>
+ <property name="text-transform"/>
+ <property name="top"/>
+ <property name="unicode-bidi"/>
+ <property name="vertical-align"/>
+ <property name="visibility"/>
+ <property name="voice-family"/>
+ <property name="volume"/>
+ <property name="white-space"/>
+ <property name="widows"/>
+ <property name="width"/>
+ <property name="word-spacing"/>
+ <property name="z-index"/>
+ </style-rule-def>
+
+ <pseudo-class-def name="checked" version="3">
+ <selector-value>checked</selector-value>
+ </pseudo-class-def>
+ <pseudo-class-def name="disabled" version="3">
+ <selector-value>disabled</selector-value>
+ </pseudo-class-def>
+ <pseudo-class-def name="empty" version="3">
+ <selector-value>empty</selector-value>
+ </pseudo-class-def>
+ <pseudo-class-def name="enabled" version="3">
+ <selector-value>enabled</selector-value>
+ </pseudo-class-def>
+ <pseudo-class-def name="first-of-type" version="3">
+ <selector-value>first-of-type</selector-value>
+ </pseudo-class-def>
+ <pseudo-class-def name="last-child" version="3">
+ <selector-value>last-child</selector-value>
+ </pseudo-class-def>
+ <pseudo-class-def name="last-of-type" version="3">
+ <selector-value>last-of-type</selector-value>
+ </pseudo-class-def>
+ <pseudo-class-def name="not()" version="3">
+ <selector-value>not()</selector-value>
+ </pseudo-class-def>
+ <pseudo-class-def name="nth-child()" version="3">
+ <selector-value>nth-child()</selector-value>
+ </pseudo-class-def>
+ <pseudo-class-def name="nth-last-child()" version="3">
+ <selector-value>nth-last-child()</selector-value>
+ </pseudo-class-def>
+ <pseudo-class-def name="nth-last-of-type()" version="3">
+ <selector-value>nth-last-of-type()</selector-value>
+ </pseudo-class-def>
+ <pseudo-class-def name="nth-of-type()" version="3">
+ <selector-value>nth-of-type()</selector-value>
+ </pseudo-class-def>
+ <pseudo-class-def name="only-child" version="3">
+ <selector-value>only-child</selector-value>
+ </pseudo-class-def>
+ <pseudo-class-def name="only-of-type" version="3">
+ <selector-value>only-of-type</selector-value>
+ </pseudo-class-def>
+ <pseudo-class-def name="root" version="3">
+ <selector-value>root</selector-value>
+ </pseudo-class-def>
+ <pseudo-class-def name="target" version="3">
+ <selector-value>target</selector-value>
+ </pseudo-class-def>
+ <pseudo-class-def name="first-child">
+ <selector-value>first-child</selector-value>
+ </pseudo-class-def>
+ <pseudo-class-def name="link">
+ <selector-value>link</selector-value>
+ </pseudo-class-def>
+ <pseudo-class-def name="visited">
+ <selector-value>visited</selector-value>
+ </pseudo-class-def>
+ <pseudo-class-def name="hover">
+ <selector-value>hover</selector-value>
+ </pseudo-class-def>
+ <pseudo-class-def name="active">
+ <selector-value>active</selector-value>
+ </pseudo-class-def>
+ <pseudo-class-def name="focus">
+ <selector-value>focus</selector-value>
+ </pseudo-class-def>
+ <pseudo-class-def name="lang">
+ <selector-value>lang</selector-value>
+ </pseudo-class-def>
+ <pseudo-class-def name="left">
+ <selector-value>left</selector-value>
+ </pseudo-class-def>
+ <pseudo-class-def name="right">
+ <selector-value>right</selector-value>
+ </pseudo-class-def>
+ <pseudo-class-def name="first">
+ <selector-value>first</selector-value>
+ </pseudo-class-def>
+
+ <pseudo-element-def name="first-line">
+ <selector-value>first-line</selector-value>
+ </pseudo-element-def>
+ <pseudo-element-def name="first-letter">
+ <selector-value>first-letter</selector-value>
+ </pseudo-element-def>
+ <pseudo-element-def name="before">
+ <selector-value>before</selector-value>
+ </pseudo-element-def>
+ <pseudo-element-def name="after">
+ <selector-value>after</selector-value>
+ </pseudo-element-def>
+ <pseudo-element-def name="selection" version="3">
+ <selector-value>selection</selector-value>
+ </pseudo-element-def>
+
+ <!-- property definition -->
+
+ <property-def name="azimuth"
+ inherited="yes" mediagroup="aural" category="aural">
+ <description>This provides spatial audio property for aural
+ presentation</description>
+ <number name="angle"/>
+ <keyword name="left-side"/>
+ <keyword name="far-left"/>
+ <keyword name="left"/>
+ <keyword name="center-left"/>
+ <keyword name="center"/>
+ <keyword name="center-right"/>
+ <keyword name="right"/>
+ <keyword name="far-right"/>
+ <keyword name="right-side"/>
+ <keyword name="behind"/>
+ <keyword name="leftwards"/>
+ <keyword name="rightwards"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="background"
+ inherited="no" mediagroup="visual" category="colorandbackground">
+ <property name="background-color"/>
+ <property name="background-image"/>
+ <property name="background-repeat"/>
+ <property name="background-attachment"/>
+ <property name="background-position"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="background-attachment"
+ inherited="no" mediagroup="visual" category="colorandbackground">
+ <keyword name="scroll"/>
+ <keyword name="fixed"/>
+ <keyword name="local"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="background-clip"
+ inherited="no" mediagroup="visual" category="colorandbackground" version="3">
+ <keyword name="border-box"/>
+ <keyword name="content-box"/>
+ <keyword name="padding-box"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="background-color"
+ inherited="no" mediagroup="visual" category="colorandbackground">
+ <container name="color"/>
+ <keyword name="transparent"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="background-image"
+ inherited="no" mediagroup="visual" category="colorandbackground">
+ <function name="uri"/>
+ <keyword name="none"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="background-origin"
+ inherited="no" mediagroup="visual" category="colorandbackground" version="3">
+ <keyword name="padding-box"/>
+ <keyword name="border-box"/>
+ <keyword name="content-box"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="background-position"
+ inherited="no" mediagroup="visual" category="colorandbackground">
+ <number name="percentage"/>
+ <number name="length"/>
+ <keyword name="top"/>
+ <keyword name="center"/>
+ <keyword name="bottom"/>
+ <keyword name="left"/>
+ <keyword name="right"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="background-repeat"
+ inherited="no" mediagroup="visual" category="colorandbackground">
+ <keyword name="repeat"/>
+ <keyword name="repeat-x"/>
+ <keyword name="repeat-y"/>
+ <keyword name="space"/>
+ <keyword name="round"/>
+ <keyword name="no-repeat"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="background-size"
+ inherited="no" mediagroup="visual" category="colorandbackground" version="3">
+ <number name="percentage"/>
+ <number name="length"/>
+ <keyword name="contain"/>
+ <keyword name="cover"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="border"
+ inherited="no" mediagroup="visual" category="box">
+ <property name="border-width"/>
+ <property name="border-style"/>
+ <container name="color"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="border-collapse"
+ inherited="yes" mediagroup="visual" category="tables">
+ <keyword name="collapse"/>
+ <keyword name="separate"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="border-color"
+ inherited="no" mediagroup="visual" category="box">
+ <container name="color"/>
+ <keyword name="transparent"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="border-spacing"
+ inherited="yes" mediagroup="visual" category="tables">
+ <number name="length"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="border-style"
+ inherited="no" mediagroup="visual" category="box">
+ <container name="border-style"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="border-top"
+ inherited="no" mediagroup="visual" category="box">
+ <property name="border-top-width"/>
+ <property name="border-style"/>
+ <container name="color"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="border-top-left-radius"
+ inherited="no" mediagroup="visual" category="box" version="3">
+ <number name="length"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="border-top-right-radius"
+ inherited="no" mediagroup="visual" category="box" version="3">
+ <number name="length"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="border-bottom-right-radius"
+ inherited="no" mediagroup="visual" category="box" version="3">
+ <number name="length"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="border-bottom-right-radius"
+ inherited="no" mediagroup="visual" category="box" version="3">
+ <number name="length"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="border-radius"
+ inherited="no" mediagroup="visual" category="box" version="3">
+ <number name="length"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="border-right"
+ inherited="no" mediagroup="visual" category="box">
+ <property name="border-right-width"/>
+ <property name="border-style"/>
+ <container name="color"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="border-bottom"
+ inherited="no" mediagroup="visual" category="box">
+ <property name="border-bottom-width"/>
+ <property name="border-style"/>
+ <container name="color"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="border-left"
+ inherited="no" mediagroup="visual" category="box">
+ <property name="border-left-width"/>
+ <property name="border-style"/>
+ <container name="color"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="border-top-color"
+ inherited="no" mediagroup="visual" category="box">
+ <container name="color"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="border-right-color"
+ inherited="no" mediagroup="visual" category="box">
+ <container name="color"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="border-bottom-color"
+ inherited="no" mediagroup="visual" category="box">
+ <container name="color"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="border-left-color"
+ inherited="no" mediagroup="visual" category="box">
+ <container name="color"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="border-top-style"
+ inherited="no" mediagroup="visual" category="box">
+ <container name="border-style"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="border-right-style"
+ inherited="no" mediagroup="visual" category="box">
+ <container name="border-style"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="border-bottom-style"
+ inherited="no" mediagroup="visual" category="box">
+ <container name="border-style"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="border-left-style"
+ inherited="no" mediagroup="visual" category="box">
+ <container name="border-style"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="border-top-width"
+ inherited="no" mediagroup="visual" category="box">
+ <container name="border-width"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="border-right-width"
+ inherited="no" mediagroup="visual" category="box">
+ <container name="border-width"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="border-bottom-width"
+ inherited="no" mediagroup="visual" category="box">
+ <container name="border-width"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="border-left-width"
+ inherited="no" mediagroup="visual" category="box">
+ <container name="border-width"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="border-width"
+ inherited="no" mediagroup="visual" category="box">
+ <container name="border-width"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="bottom"
+ inherited="no" mediagroup="visual" category="visual">
+ <number name="length"/>
+ <number name="percentage"/>
+ <keyword name="auto"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="box-shadow"
+ inherited="no" mediagroup="visual" category="visual" version="3">
+ <number name="length"/>
+ <container name="color"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="box-sizing"
+ inherited="no" mediagroup="visual" category="box" version="3">
+ <keyword name="border-box"/>
+ <keyword name="content-box"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="caption-side"
+ inherited="yes" mediagroup="visual" category="tables">
+ <keyword name="top"/>
+ <keyword name="bottom"/>
+ <keyword name="left"/>
+ <keyword name="right"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="clear"
+ inherited="no" mediagroup="visual" category="visual">
+ <keyword name="none"/>
+ <keyword name="left"/>
+ <keyword name="right"/>
+ <keyword name="both"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="clip"
+ inherited="no" mediagroup="visual" category="visual">
+ <container name="shape"/>
+ <keyword name="auto"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="color"
+ inherited="yes" mediagroup="visual" category="colorandbackground">
+ <container name="color"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="columns"
+ inherited="no" mediagroup="visual" category="visual" version="3">
+ <property name="column-width"/>
+ <property name="column-count"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="column-width"
+ inherited="no" mediagroup="visual" category="visual" version="3">
+ <number name="length"/>
+ <keyword name="auto"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="column-count"
+ inherited="no" mediagroup="visual" category="visual" version="3">
+ <number name="integer"/>
+ <keyword name="auto"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="column-fill"
+ inherited="no" mediagroup="visual" category="visual" version="3">
+ <keyword name="auto"/>
+ <keyword name="balance"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="column-gap"
+ inherited="no" mediagroup="visual" category="visual" version="3">
+ <number name="length"/>
+ <keyword name="normal"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="column-rule"
+ inherited="no" mediagroup="visual" category="visual" version="3">
+ <property name="column-rule-width"/>
+ <property name="column-rule-style"/>
+ <property name="column-rule-color"/>
+ </property-def>
+ <property-def name="column-rule-color"
+ inherited="no" mediagroup="visual" category="visual" version="3">
+ <container name="color"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="column-rule-style"
+ inherited="no" mediagroup="visual" category="visual" version="3">
+ <container name="border-style"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="column-rule-width"
+ inherited="no" mediagroup="visual" category="visual" version="3">
+ <container name="border-width"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="column-span"
+ inherited="no" mediagroup="visual" category="visual" version="3">
+ <keyword name="all"/>
+ <keyword name="1"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="content"
+ inherited="no" mediagroup="all" category="content">
+ <string name="any"/>
+ <function name="uri"/>
+ <function name="counter"/>
+ <function name="attr"/>
+ <keyword name="open-quote"/>
+ <keyword name="close-quote"/>
+ <keyword name="none"/>
+ <keyword name="normal"/>
+ <keyword name="no-open-quote"/>
+ <keyword name="no-close-quote"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="counter-increment"
+ inherited="no" mediagroup="all" category="content">
+ <string name="counter-identifier"/>
+ <number name="integer"/>
+ <keyword name="none"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="counter-reset"
+ inherited="no" mediagroup="all" category="content">
+ <string name="counter-identifier"/>
+ <number name="integer"/>
+ <keyword name="none"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="cue"
+ inherited="no" mediagroup="aural" category="aural">
+ <property name="cue-before"/>
+ <property name="cue-after"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="cue-after"
+ inherited="no" mediagroup="aural" category="aural">
+ <function name="uri"/>
+ <keyword name="none"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="cue-before"
+ inherited="no" mediagroup="aural" category="aural">
+ <function name="uri"/>
+ <keyword name="none"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="cursor"
+ inherited="yes" mediagroup="visual,interactive" category="ui">
+ <function name="uri"/>
+ <keyword name="auto"/>
+ <keyword name="crosshair"/>
+ <keyword name="default"/>
+ <keyword name="pointer"/>
+ <keyword name="progress"/>
+ <keyword name="move"/>
+ <keyword name="e-resize"/>
+ <keyword name="ne-resize"/>
+ <keyword name="nw-resize"/>
+ <keyword name="n-resize"/>
+ <keyword name="se-resize"/>
+ <keyword name="sw-resize"/>
+ <keyword name="s-resize"/>
+ <keyword name="w-resize"/>
+ <keyword name="text"/>
+ <keyword name="wait"/>
+ <keyword name="help"/>
+ <keyword name="inherit"/>
+ <separator name="comma"/>
+ </property-def>
+ <property-def name="direction"
+ inherited="yes" mediagroup="visual" category="visual">
+ <keyword name="ltr"/>
+ <keyword name="rtl"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="display"
+ inherited="no" mediagroup="all" category="visual">
+ <keyword name="inline"/>
+ <keyword name="inline-block"/>
+ <keyword name="block"/>
+ <keyword name="list-item"/>
+ <keyword name="run-in"/>
+ <keyword name="compact"/>
+ <keyword name="marker"/>
+ <keyword name="table"/>
+ <keyword name="inline-table"/>
+ <keyword name="table-row-group"/>
+ <keyword name="table-header-group"/>
+ <keyword name="table-footer-group"/>
+ <keyword name="table-row"/>
+ <keyword name="table-column-group"/>
+ <keyword name="table-column"/>
+ <keyword name="table-cell"/>
+ <keyword name="table-caption"/>
+ <keyword name="none"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="elevation"
+ inherited="yes" mediagroup="aural" category="aural">
+ <number name="angle"/>
+ <keyword name="below"/>
+ <keyword name="level"/>
+ <keyword name="above"/>
+ <keyword name="higher"/>
+ <keyword name="lower"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="empty-cells"
+ inherited="yes" mediagroup="visual" category="tables">
+ <keyword name="show"/>
+ <keyword name="hide"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="float"
+ inherited="no" mediagroup="visual" category="visual">
+ <keyword name="left"/>
+ <keyword name="right"/>
+ <keyword name="none"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="font"
+ inherited="yes" mediagroup="visual" category="font">
+ <property name="font-style"/>
+ <property name="font-variant"/>
+ <property name="font-weight"/>
+ <property name="font-size"/>
+ <property name="line-height"/>
+ <property name="font-family"/>
+ <keyword name="caption"/>
+ <keyword name="icon"/>
+ <keyword name="menu"/>
+ <keyword name="message-box"/>
+ <keyword name="small-caption"/>
+ <keyword name="status-bar"/>
+ <keyword name="inherit"/>
+ <separator name="slash"/>
+ </property-def>
+ <property-def name="font-family"
+ inherited="yes" mediagroup="visual" category="font">
+ <string name="family-name"/>
+ <container name="generic-family"/>
+ <keyword name="inherit"/>
+ <separator name="comma"/>
+ </property-def>
+ <property-def name="font-size"
+ inherited="yes" mediagroup="visual" category="font">
+ <container name="absolute-size"/>
+ <container name="relative-size"/>
+ <number name="length"/>
+ <number name="percentage"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="font-size-adjust"
+ inherited="yes" mediagroup="visual" category="font">
+ <number name="number"/>
+ <keyword name="none"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="font-stretch"
+ inherited="yes" mediagroup="visual" category="font">
+ <keyword name="normal"/>
+ <keyword name="wider"/>
+ <keyword name="narrower"/>
+ <keyword name="ultra-condensed"/>
+ <keyword name="extra-condensed"/>
+ <keyword name="condensed"/>
+ <keyword name="semi-condensed"/>
+ <keyword name="semi-expanded"/>
+ <keyword name="expanded"/>
+ <keyword name="extra-expanded"/>
+ <keyword name="ultra-expanded"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="font-style"
+ inherited="yes" mediagroup="visual" category="font">
+ <keyword name="normal"/>
+ <keyword name="italic"/>
+ <keyword name="oblique"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="font-variant"
+ inherited="yes" mediagroup="visual" category="font">
+ <keyword name="normal"/>
+ <keyword name="small-caps"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="font-weight"
+ inherited="yes" mediagroup="visual" category="font">
+ <keyword name="normal"/>
+ <keyword name="bold"/>
+ <keyword name="bolder"/>
+ <keyword name="lighter"/>
+ <keyword name="100"/>
+ <keyword name="200"/>
+ <keyword name="300"/>
+ <keyword name="400"/>
+ <keyword name="500"/>
+ <keyword name="600"/>
+ <keyword name="700"/>
+ <keyword name="800"/>
+ <keyword name="900"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="height"
+ inherited="no" mediagroup="visual" category="visual">
+ <number name="length"/>
+ <number name="percentage"/>
+ <keyword name="auto"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="left"
+ inherited="no" mediagroup="visual" category="visual">
+ <number name="length"/>
+ <number name="percentage"/>
+ <keyword name="auto"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="letter-spacing"
+ inherited="yes" mediagroup="visual" category="text">
+ <keyword name="normal"/>
+ <number name="length"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="line-height"
+ inherited="yes" mediagroup="visual" category="visual">
+ <keyword name="normal"/>
+ <number name="number"/>
+ <number name="length"/>
+ <number name="percentage"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="list-style"
+ inherited="yes" mediagroup="visual" category="content">
+ <property name="list-style-type"/>
+ <property name="list-style-position"/>
+ <property name="list-style-image"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="list-style-image"
+ inherited="yes" mediagroup="visual" category="content">
+ <function name="uri"/>
+ <keyword name="none"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="list-style-position"
+ inherited="yes" mediagroup="visual" category="content">
+ <keyword name="inside"/>
+ <keyword name="outside"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="list-style-type"
+ inherited="yes" mediagroup="visual" category="content">
+ <keyword name="disc"/>
+ <keyword name="circle"/>
+ <keyword name="square"/>
+ <keyword name="decimal"/>
+ <keyword name="decimal-leading-zero"/>
+ <keyword name="lower-roman"/>
+ <keyword name="upper-roman"/>
+ <keyword name="lower-greek"/>
+ <keyword name="lower-alpha"/>
+ <keyword name="lower-latin"/>
+ <keyword name="upper-alpha"/>
+ <keyword name="upper-latin"/>
+ <keyword name="hebrew"/>
+ <keyword name="armenian"/>
+ <keyword name="georgian"/>
+ <keyword name="cjk-ideographic"/>
+ <keyword name="hiragana"/>
+ <keyword name="katakana"/>
+ <keyword name="hiragana-iroha"/>
+ <keyword name="katakana-iroha"/>
+ <keyword name="none"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="margin"
+ inherited="no" mediagroup="visual" category="box">
+ <container name="margin-width"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="margin-top"
+ inherited="no" mediagroup="visual" category="box">
+ <container name="margin-width"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="margin-right"
+ inherited="no" mediagroup="visual" category="box">
+ <container name="margin-width"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="margin-bottom"
+ inherited="no" mediagroup="visual" category="box">
+ <container name="margin-width"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="margin-left"
+ inherited="no" mediagroup="visual" category="box">
+ <container name="margin-width"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="marker-offset"
+ inherited="no" mediagroup="visual" category="content">
+ <number name="length"/>
+ <keyword name="auto"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="marks"
+ inherited="na" mediagroup="visual,paged" category="page">
+ <keyword name="crop"/>
+ <keyword name="cross"/>
+ <keyword name="none"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="max-height"
+ inherited="no" mediagroup="visual" category="visual">
+ <number name="length"/>
+ <number name="percentage"/>
+ <keyword name="none"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="max-width"
+ inherited="no" mediagroup="visual" category="visual">
+ <number name="length"/>
+ <number name="percentage"/>
+ <keyword name="none"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="min-height"
+ inherited="no" mediagroup="visual" category="visual">
+ <number name="length"/>
+ <number name="percentage"/>
+ <keyword name="none"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="min-width"
+ inherited="no" mediagroup="visual" category="visual">
+ <number name="length"/>
+ <number name="percentage"/>
+ <keyword name="none"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="opacity"
+ inherited="yes" mediagroup="visual" category="visual" version="3">
+ <number name="number"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="orphans"
+ inherited="yes" mediagroup="visual,paged" category="page">
+ <number name="integer"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="outline"
+ inherited="no" mediagroup="visual,interactive" category="ui">
+ <property name="outline-color"/>
+ <property name="outline-style"/>
+ <property name="outline-width"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="outline-color"
+ inherited="no" mediagroup="visual,interactive" category="ui">
+ <container name="color"/>
+ <keyword name="invert"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="outline-style"
+ inherited="no" mediagroup="visual,interactive" category="ui">
+ <container name="border-style"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="outline-width"
+ inherited="no" mediagroup="visual,interactive" category="ui">
+ <container name="border-width"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="overflow"
+ inherited="no" mediagroup="visual" category="visual">
+ <keyword name="visible"/>
+ <keyword name="hidden"/>
+ <keyword name="scroll"/>
+ <keyword name="auto"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="padding"
+ inherited="no" mediagroup="visual" category="box">
+ <container name="padding-width"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="padding-top"
+ inherited="no" mediagroup="visual" category="box">
+ <container name="padding-width"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="padding-right"
+ inherited="no" mediagroup="visual" category="box">
+ <container name="padding-width"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="padding-bottom"
+ inherited="no" mediagroup="visual" category="box">
+ <container name="padding-width"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="padding-left"
+ inherited="no" mediagroup="visual" category="box">
+ <container name="padding-width"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="page"
+ inherited="yes" mediagroup="visual,paged" category="page">
+ <string name="page-identifier"/>
+ <keyword name="auto"/>
+ </property-def>
+ <property-def name="page-break-after"
+ inherited="no" mediagroup="visual,paged" category="page">
+ <keyword name="auto"/>
+ <keyword name="always"/>
+ <keyword name="avoid"/>
+ <keyword name="left"/>
+ <keyword name="right"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="page-break-before"
+ inherited="no" mediagroup="visual,paged" category="page">
+ <keyword name="auto"/>
+ <keyword name="always"/>
+ <keyword name="avoid"/>
+ <keyword name="left"/>
+ <keyword name="right"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="page-break-inside"
+ inherited="yes" mediagroup="visual,paged" category="page">
+ <keyword name="avoid"/>
+ <keyword name="auto"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="pause"
+ inherited="no" mediagroup="aural" category="aural">
+ <number name="time"/>
+ <number name="percentage"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="pause-after"
+ inherited="no" mediagroup="aural" category="aural">
+ <number name="time"/>
+ <number name="percentage"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="pause-before"
+ inherited="no" mediagroup="aural" category="aural">
+ <number name="time"/>
+ <number name="percentage"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="pitch"
+ inherited="yes" mediagroup="aural" category="aural">
+ <number name="frequency"/>
+ <keyword name="x-low"/>
+ <keyword name="low"/>
+ <keyword name="medium"/>
+ <keyword name="high"/>
+ <keyword name="x-high"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="pitch-range"
+ inherited="yes" mediagroup="aural" category="aural">
+ <number name="number"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="play-during"
+ inherited="no" mediagroup="aural" category="aural">
+ <function name="uri"/>
+ <keyword name="mix"/>
+ <keyword name="repeat"/>
+ <keyword name="auto"/>
+ <keyword name="none"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="position"
+ inherited="no" mediagroup="visual" category="visual">
+ <keyword name="static"/>
+ <keyword name="relative"/>
+ <keyword name="absolute"/>
+ <keyword name="fixed"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="quotes"
+ inherited="yes" mediagroup="visual" category="content">
+ <string name="any"/>
+ <keyword name="none"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="resize"
+ inherited="yes" mediagroup="visual" category="visual" version="3">
+ <keyword name="both"/>
+ <keyword name="horizontal"/>
+ <keyword name="none"/>
+ <keyword name="vertical"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="richness"
+ inherited="yes" mediagroup="aural" category="aural">
+ <number name="number"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="right"
+ inherited="no" mediagroup="visual" category="visual">
+ <number name="length"/>
+ <number name="percentage"/>
+ <keyword name="auto"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="size"
+ inherited="na" mediagroup="visual,paged" category="page">
+ <number name="length"/>
+ <keyword name="auto"/>
+ <keyword name="portrait"/>
+ <keyword name="landscape"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="speak"
+ inherited="yes" mediagroup="aural" category="aural">
+ <keyword name="normal"/>
+ <keyword name="none"/>
+ <keyword name="spell-out"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="speak-header"
+ inherited="yes" mediagroup="aural" category="tables">
+ <keyword name="once"/>
+ <keyword name="always"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="speak-numeral"
+ inherited="yes" mediagroup="aural" category="aural">
+ <keyword name="digits"/>
+ <keyword name="continuous"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="speak-punctuation"
+ inherited="yes" mediagroup="aural" category="aural">
+ <keyword name="code"/>
+ <keyword name="none"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="speech-rate"
+ inherited="yes" mediagroup="aural" category="aural">
+ <number name="number"/>
+ <keyword name="x-slow"/>
+ <keyword name="slow"/>
+ <keyword name="medium"/>
+ <keyword name="fast"/>
+ <keyword name="x-fast"/>
+ <keyword name="faster"/>
+ <keyword name="slower"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="stress"
+ inherited="yes" mediagroup="aural" category="aural">
+ <number name="number"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="table-layout"
+ inherited="no" mediagroup="visual" category="tables">
+ <keyword name="auto"/>
+ <keyword name="fixed"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="text-align"
+ inherited="yes" mediagroup="visual" category="text">
+ <keyword name="left"/>
+ <keyword name="right"/>
+ <keyword name="center"/>
+ <keyword name="justify"/>
+ <string name="any"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="text-decoration"
+ inherited="no" mediagroup="visual" category="text">
+ <keyword name="none"/>
+ <keyword name="underline"/>
+ <keyword name="overline"/>
+ <keyword name="line-through"/>
+ <keyword name="blink"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="text-indent"
+ inherited="yes" mediagroup="visual" category="text">
+ <number name="length"/>
+ <number name="percentage"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="text-overflow"
+ inherited="no" mediagroup="visual" category="text" version="3">
+ <keyword name="clip"/>
+ <keyword name="ellipsis"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="text-shadow"
+ inherited="no" mediagroup="visual" category="text">
+ <keyword name="none"/>
+ <container name="color"/>
+ <number name="length"/>
+ <keyword name="inherit"/>
+ <separator name="comma"/>
+ </property-def>
+ <property-def name="text-transform"
+ inherited="yes" mediagroup="visual" category="text">
+ <keyword name="capitalize"/>
+ <keyword name="uppercase"/>
+ <keyword name="lowercase"/>
+ <keyword name="none"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="top"
+ inherited="no" mediagroup="visual" category="visual">
+ <number name="length"/>
+ <number name="percentage"/>
+ <keyword name="auto"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="unicode-bidi"
+ inherited="no" mediagroup="visual" category="visual">
+ <keyword name="normal"/>
+ <keyword name="embed"/>
+ <keyword name="bidi-override"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="vertical-align"
+ inherited="no" mediagroup="visual" category="visual">
+ <keyword name="baseline"/>
+ <keyword name="sub"/>
+ <keyword name="super"/>
+ <keyword name="top"/>
+ <keyword name="text-top"/>
+ <keyword name="middle"/>
+ <keyword name="bottom"/>
+ <keyword name="text-bottom"/>
+ <number name="percentage"/>
+ <number name="length"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="visibility"
+ inherited="no" mediagroup="visual" category="visual">
+ <keyword name="visible"/>
+ <keyword name="hidden"/>
+ <keyword name="collapse"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="voice-family"
+ inherited="yes" mediagroup="aural" category="aural">
+ <string name="specific-voice"/>
+ <container name="generic-voice"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="volume"
+ inherited="yes" mediagroup="aural" category="aural">
+ <number name="number"/>
+ <number name="percentage"/>
+ <keyword name="silent"/>
+ <keyword name="x-soft"/>
+ <keyword name="soft"/>
+ <keyword name="medium"/>
+ <keyword name="loud"/>
+ <keyword name="x-loud"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="white-space"
+ inherited="yes" mediagroup="visual" category="text">
+ <keyword name="normal"/>
+ <keyword name="pre"/>
+ <keyword name="pre-line"/>
+ <keyword name="pre-wrap"/>
+ <keyword name="nowrap"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="widows"
+ inherited="yes" mediagroup="visual,paged" category="page">
+ <number name="integer"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="width"
+ inherited="no" mediagroup="visual" category="visual">
+ <number name="length"/>
+ <number name="percentage"/>
+ <keyword name="auto"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="word-spacing"
+ inherited="yes" mediagroup="visual" category="text">
+ <keyword name="normal"/>
+ <number name="length"/>
+ <keyword name="inherit"/>
+ </property-def>
+ <property-def name="z-index"
+ inherited="no" mediagroup="visual" category="visual">
+ <keyword name="auto"/>
+ <number name="integer"/>
+ <keyword name="inherit"/>
+ </property-def>
+
+ <!-- descriptor definition : These are for @font-face -->
+
+ <descriptor-def name="ascent">
+ <number name="number"/>
+ </descriptor-def>
+ <descriptor-def name="baseline">
+ <number name="number"/>
+ </descriptor-def>
+ <descriptor-def name="bbox">
+ <number name="number"/>
+ <separator name="comma"/>
+ </descriptor-def>
+ <descriptor-def name="cap-height">
+ <number name="number"/>
+ </descriptor-def>
+ <descriptor-def name="centerline">
+ <number name="number"/>
+ </descriptor-def>
+ <descriptor-def name="definition-src">
+ <function name="uri"/>
+ </descriptor-def>
+ <descriptor-def name="descent">
+ <number name="number"/>
+ </descriptor-def>
+ <descriptor-def name="font-family">
+ <string name="family-name"/>
+ <container name="generic-family"/>
+ <separator name="comma"/>
+ </descriptor-def>
+ <descriptor-def name="font-size">
+ <keyword name="all"/>
+ <number name="length"/>
+ <separator name="comma"/>
+ </descriptor-def>
+ <descriptor-def name="font-stretch">
+ <keyword name="all"/>
+ <keyword name="normal"/>
+ <keyword name="ultra-condensed"/>
+ <keyword name="extra-condensed"/>
+ <keyword name="condensed"/>
+ <keyword name="semi-condensed"/>
+ <keyword name="semi-expanded"/>
+ <keyword name="expanded"/>
+ <keyword name="extra-expanded"/>
+ <keyword name="ultra-expanded"/>
+ <separator name="comma"/>
+ </descriptor-def>
+ <descriptor-def name="font-style">
+ <keyword name="all"/>
+ <keyword name="normal"/>
+ <keyword name="italic"/>
+ <keyword name="oblique"/>
+ <separator name="comma"/>
+ </descriptor-def>
+ <descriptor-def name="font-variant">
+ <keyword name="normal"/>
+ <keyword name="small-caps"/>
+ <separator name="comma"/>
+ </descriptor-def>
+ <descriptor-def name="font-weight">
+ <keyword name="all"/>
+ <keyword name="normal"/>
+ <keyword name="bold"/>
+ <keyword name="100"/>
+ <keyword name="200"/>
+ <keyword name="300"/>
+ <keyword name="400"/>
+ <keyword name="500"/>
+ <keyword name="600"/>
+ <keyword name="700"/>
+ <keyword name="800"/>
+ <keyword name="900"/>
+ <separator name="comma"/>
+ </descriptor-def>
+ <descriptor-def name="mathline">
+ <number name="number"/>
+ </descriptor-def>
+ <descriptor-def name="panose-1">
+ <number name="integer"/>
+ </descriptor-def>
+ <descriptor-def name="slope">
+ <number name="number"/>
+ </descriptor-def>
+ <descriptor-def name="src">
+ <function name="uri"/>
+ <function name="format"/>
+ <container name="font-face-name"/>
+ </descriptor-def>
+ <descriptor-def name="stemh">
+ <number name="number"/>
+ </descriptor-def>
+ <descriptor-def name="stemv">
+ <number name="number"/>
+ </descriptor-def>
+ <descriptor-def name="topline">
+ <number name="number"/>
+ </descriptor-def>
+ <descriptor-def name="unicode-range">
+ <string name="urange"/>
+ </descriptor-def>
+ <descriptor-def name="units-per-em">
+ <number name="number"/>
+ </descriptor-def>
+ <descriptor-def name="widths">
+ <string name="urange"/>
+ <number name="length"/>
+ </descriptor-def>
+ <descriptor-def name="x-height">
+ <number name="number"/>
+ </descriptor-def>
+
+ <!-- container definition : Container is the lump of values.
+ It can be used like macros. -->
+ <container-def name="absolute-size">
+ <keyword name="xx-small"/>
+ <keyword name="x-small"/>
+ <keyword name="small"/>
+ <keyword name="medium"/>
+ <keyword name="large"/>
+ <keyword name="x-large"/>
+ <keyword name="xx-large"/>
+ </container-def>
+ <container-def name="border-style">
+ <keyword name="none"/>
+ <keyword name="hidden"/>
+ <keyword name="dotted"/>
+ <keyword name="dashed"/>
+ <keyword name="solid"/>
+ <keyword name="double"/>
+ <keyword name="groove"/>
+ <keyword name="ridge"/>
+ <keyword name="inset"/>
+ <keyword name="outset"/>
+ </container-def>
+ <container-def name="border-width">
+ <keyword name="thin"/>
+ <keyword name="medium"/>
+ <keyword name="thick"/>
+ <number name="length"/>
+ </container-def>
+ <container-def name="color">
+ <keyword name="aqua"/>
+ <keyword name="black"/>
+ <keyword name="blue"/>
+ <keyword name="fuchsia"/>
+ <keyword name="gray"/>
+ <keyword name="green"/>
+ <keyword name="lime"/>
+ <keyword name="maroon"/>
+ <keyword name="navy"/>
+ <keyword name="olive"/>
+ <keyword name="orange"/>
+ <keyword name="purple"/>
+ <keyword name="red"/>
+ <keyword name="silver"/>
+ <keyword name="teal"/>
+ <keyword name="white"/>
+ <keyword name="yellow"/>
+ <container name="system-color"/>
+ <function name="rgb"/>
+ <function name="rgba"/>
+ <number name="hash"/>
+ </container-def>
+ <container-def name="generic-family">
+ <keyword name="serif"/>
+ <keyword name="sans-serif"/>
+ <keyword name="cursive"/>
+ <keyword name="fantasy"/>
+ <keyword name="monospace"/>
+ </container-def>
+ <container-def name="font-face-name">
+ <function name="local"/>
+ </container-def>
+ <container-def name="generic-voice">
+ <keyword name="male"/>
+ <keyword name="female"/>
+ <keyword name="child"/>
+ </container-def>
+ <container-def name="margin-width">
+ <number name="length"/>
+ <number name="percentage"/>
+ <keyword name="auto"/>
+ </container-def>
+ <container-def name="padding-width">
+ <number name="length"/>
+ <number name="percentage"/>
+ </container-def>
+ <container-def name="relative-size">
+ <keyword name="smaller"/>
+ <keyword name="larger"/>
+ </container-def>
+ <container-def name="shape">
+ <function name="rect"/>
+ </container-def>
+ <container-def name="system-color">
+ <keyword name="ActiveBorder"/>
+ <keyword name="ActiveCaption"/>
+ <keyword name="AppWorkspace"/>
+ <keyword name="Background"/>
+ <keyword name="ButtonFace"/>
+ <keyword name="ButtonHighlight"/>
+ <keyword name="ButtonShadow"/>
+ <keyword name="ButtonText"/>
+ <keyword name="CaptionText"/>
+ <keyword name="GrayText"/>
+ <keyword name="Highlight"/>
+ <keyword name="HighlightText"/>
+ <keyword name="InactiveBorder"/>
+ <keyword name="InactiveCaption"/>
+ <keyword name="InactiveCaptionText"/>
+ <keyword name="InfoBackground"/>
+ <keyword name="InfoText"/>
+ <keyword name="Menu"/>
+ <keyword name="MenuText"/>
+ <keyword name="Scrollbar"/>
+ <keyword name="ThreeDDarkShadow"/>
+ <keyword name="ThreeDFace"/>
+ <keyword name="ThreeDHighlight"/>
+ <keyword name="ThreeDLightShadow"/>
+ <keyword name="ThreeDShadow"/>
+ <keyword name="Window"/>
+ <keyword name="WindowFrame"/>
+ <keyword name="WindowText"/>
+ </container-def>
+
+ <!-- category definition : This is used to categorize properties
+ in Properties View. -->
+ <category-def name="aural">
+ <caption>%css2.category-def.aural.caption</caption>
+ </category-def>
+ <category-def name="box">
+ <caption>%css2.category-def.box.caption</caption>
+ </category-def>
+ <category-def name="colorandbackground">
+ <caption>%css2.category-def.colorandbackground.caption</caption>
+ </category-def>
+ <category-def name="content">
+ <caption>%css2.category-def.content.caption</caption>
+ </category-def>
+ <category-def name="font">
+ <caption>%css2.category-def.font.caption</caption>
+ </category-def>
+ <category-def name="page">
+ <caption>%css2.category-def.page.caption</caption>
+ </category-def>
+ <category-def name="tables">
+ <caption>%css2.category-def.tables.caption</caption>
+ </category-def>
+ <category-def name="text">
+ <caption>%css2.category-def.text.caption</caption>
+ </category-def>
+ <category-def name="ui">
+ <caption>%css2.category-def.ui.caption</caption>
+ </category-def>
+ <category-def name="visual">
+<!-- <caption>%css2.category-def.visual.caption</caption>-->
+ <caption>%css2.category-def.visual.caption</caption>
+ </category-def>
+
+ <!-- function definition -->
+ <function-def name="attr">
+ <function-value>attr</function-value>
+ </function-def>
+ <function-def name="counter">
+ <function-value>counter</function-value>
+ </function-def>
+ <function-def name="rect">
+ <function-value>rect</function-value>
+ </function-def>
+ <function-def name="rgb">
+ <function-value>rgb</function-value>
+ </function-def>
+ <function-def name="rgba" version="3">
+ <function-value>rgba</function-value>
+ </function-def>
+ <function-def name="uri">
+ <function-value>url</function-value>
+ </function-def>
+ <function-def name="format">
+ <function-value>format</function-value>
+ </function-def>
+ <function-def name="local">
+ <function-value>local</function-value>
+ </function-def>
+
+ <!-- number definition : What unit types be acceptable for each
+ number type? -->
+ <number-def name="angle">
+ <unit name="deg"/>
+ <unit name="grad"/>
+ <unit name="rad"/>
+ </number-def>
+ <number-def name="frequency">
+ <unit name="hz"/>
+ <unit name="khz"/>
+ </number-def>
+ <number-def name="hash">
+ <unit name="hash"/>
+ </number-def>
+ <number-def name="integer">
+ </number-def>
+ <number-def name="length">
+ <unit name="em"/>
+ <unit name="ex"/>
+ <unit name="px"/>
+ <unit name="in"/>
+ <unit name="cm"/>
+ <unit name="mm"/>
+ <unit name="pt"/>
+ <unit name="pc"/>
+ </number-def>
+ <number-def name="number">
+ </number-def>
+ <number-def name="percentage">
+ <unit name="percentage"/>
+ </number-def>
+ <number-def name="time">
+ <unit name="ms"/>
+ <unit name="s"/>
+ </number-def>
+
+ <unit-def name="cm">
+ <unit-value>cm</unit-value>
+ </unit-def>
+ <unit-def name="deg">
+ <unit-value>deg</unit-value>
+ </unit-def>
+ <unit-def name="em">
+ <unit-value>em</unit-value>
+ </unit-def>
+ <unit-def name="ex">
+ <unit-value>ex</unit-value>
+ </unit-def>
+ <unit-def name="grad">
+ <unit-value>grad</unit-value>
+ </unit-def>
+ <unit-def name="hash">
+ <unit-value>#</unit-value>
+ </unit-def>
+ <unit-def name="hz">
+ <unit-value>Hz</unit-value>
+ </unit-def>
+ <unit-def name="in">
+ <unit-value>in</unit-value>
+ </unit-def>
+ <unit-def name="khz">
+ <unit-value>kHz</unit-value>
+ </unit-def>
+ <unit-def name="mm">
+ <unit-value>mm</unit-value>
+ </unit-def>
+ <unit-def name="ms">
+ <unit-value>ms</unit-value>
+ </unit-def>
+ <unit-def name="pc">
+ <unit-value>pc</unit-value>
+ </unit-def>
+ <unit-def name="percentage">
+ <unit-value>%</unit-value>
+ </unit-def>
+ <unit-def name="pt">
+ <unit-value>pt</unit-value>
+ </unit-def>
+ <unit-def name="px">
+ <unit-value>px</unit-value>
+ </unit-def>
+ <unit-def name="rad">
+ <unit-value>rad</unit-value>
+ </unit-def>
+ <unit-def name="s">
+ <unit-value>s</unit-value>
+ </unit-def>
+
+ <!-- keywords : string constants (this is last part..) -->
+ <keyword-def name="1" version="3">
+ <keyword-value>1</keyword-value>
+ </keyword-def>
+ <keyword-def name="100">
+ <keyword-value>100</keyword-value>
+ </keyword-def>
+ <keyword-def name="200">
+ <keyword-value>200</keyword-value>
+ </keyword-def>
+ <keyword-def name="300">
+ <keyword-value>300</keyword-value>
+ </keyword-def>
+ <keyword-def name="400">
+ <keyword-value>400</keyword-value>
+ </keyword-def>
+ <keyword-def name="500">
+ <keyword-value>500</keyword-value>
+ </keyword-def>
+ <keyword-def name="600">
+ <keyword-value>600</keyword-value>
+ </keyword-def>
+ <keyword-def name="700">
+ <keyword-value>700</keyword-value>
+ </keyword-def>
+ <keyword-def name="800">
+ <keyword-value>800</keyword-value>
+ </keyword-def>
+ <keyword-def name="900">
+ <keyword-value>900</keyword-value>
+ </keyword-def>
+ <keyword-def name="above">
+ <keyword-value>above</keyword-value>
+ </keyword-def>
+ <keyword-def name="absolute">
+ <keyword-value>absolute</keyword-value>
+ </keyword-def>
+ <keyword-def name="ActiveBorder">
+ <keyword-value>ActiveBorder</keyword-value>
+ </keyword-def>
+ <keyword-def name="ActiveCaption">
+ <keyword-value>ActiveCaption</keyword-value>
+ </keyword-def>
+ <keyword-def name="all">
+ <keyword-value>all</keyword-value>
+ </keyword-def>
+ <keyword-def name="always">
+ <keyword-value>always</keyword-value>
+ </keyword-def>
+ <keyword-def name="AppWorkspace">
+ <keyword-value>AppWorkspace</keyword-value>
+ </keyword-def>
+ <keyword-def name="aqua">
+ <keyword-value>aqua</keyword-value>
+ </keyword-def>
+ <keyword-def name="armenian">
+ <keyword-value>armenian</keyword-value>
+ </keyword-def>
+ <keyword-def name="auto">
+ <keyword-value>auto</keyword-value>
+ </keyword-def>
+ <keyword-def name="avoid">
+ <keyword-value>avoid</keyword-value>
+ </keyword-def>
+ <keyword-def name="balance" version="3">
+ <keyword-value>balance</keyword-value>
+ </keyword-def>
+ <keyword-def name="Background">
+ <keyword-value>Background</keyword-value>
+ </keyword-def>
+ <keyword-def name="baseline">
+ <keyword-value>baseline</keyword-value>
+ </keyword-def>
+ <keyword-def name="behind">
+ <keyword-value>behind</keyword-value>
+ </keyword-def>
+ <keyword-def name="below">
+ <keyword-value>below</keyword-value>
+ </keyword-def>
+ <keyword-def name="bidi-override">
+ <keyword-value>bidi-override</keyword-value>
+ </keyword-def>
+ <keyword-def name="black">
+ <keyword-value>black</keyword-value>
+ </keyword-def>
+ <keyword-def name="blink">
+ <keyword-value>blink</keyword-value>
+ </keyword-def>
+ <keyword-def name="block">
+ <keyword-value>block</keyword-value>
+ </keyword-def>
+ <keyword-def name="blue">
+ <keyword-value>blue</keyword-value>
+ </keyword-def>
+ <keyword-def name="bold">
+ <keyword-value>bold</keyword-value>
+ </keyword-def>
+ <keyword-def name="bolder">
+ <keyword-value>bolder</keyword-value>
+ </keyword-def>
+ <keyword-def name="border-box" version="3">
+ <keyword-value>border-box</keyword-value>
+ </keyword-def>
+ <keyword-def name="both">
+ <keyword-value>both</keyword-value>
+ </keyword-def>
+ <keyword-def name="bottom">
+ <keyword-value>bottom</keyword-value>
+ </keyword-def>
+ <keyword-def name="ButtonFace">
+ <keyword-value>ButtonFace</keyword-value>
+ </keyword-def>
+ <keyword-def name="ButtonHighlight">
+ <keyword-value>ButtonHighlight</keyword-value>
+ </keyword-def>
+ <keyword-def name="ButtonShadow">
+ <keyword-value>ButtonShadow</keyword-value>
+ </keyword-def>
+ <keyword-def name="ButtonText">
+ <keyword-value>ButtonText</keyword-value>
+ </keyword-def>
+ <keyword-def name="capitalize">
+ <keyword-value>capitalize</keyword-value>
+ </keyword-def>
+ <keyword-def name="caption">
+ <keyword-value>caption</keyword-value>
+ </keyword-def>
+ <keyword-def name="CaptionText">
+ <keyword-value>CaptionText</keyword-value>
+ </keyword-def>
+ <keyword-def name="center">
+ <keyword-value>center</keyword-value>
+ </keyword-def>
+ <keyword-def name="center-left">
+ <keyword-value>center-left</keyword-value>
+ </keyword-def>
+ <keyword-def name="center-right">
+ <keyword-value>center-right</keyword-value>
+ </keyword-def>
+ <keyword-def name="child">
+ <keyword-value>child</keyword-value>
+ </keyword-def>
+ <keyword-def name="circle">
+ <keyword-value>circle</keyword-value>
+ </keyword-def>
+ <keyword-def name="cjk-ideographic">
+ <keyword-value>cjk-ideographic</keyword-value>
+ </keyword-def>
+ <keyword-def name="clip" version="3">
+ <keyword-value>clip</keyword-value>
+ </keyword-def>
+ <keyword-def name="close-quote">
+ <keyword-value>close-quote</keyword-value>
+ </keyword-def>
+ <keyword-def name="code">
+ <keyword-value>code</keyword-value>
+ </keyword-def>
+ <keyword-def name="collapse">
+ <keyword-value>collapse</keyword-value>
+ </keyword-def>
+ <keyword-def name="compact">
+ <keyword-value>compact</keyword-value>
+ </keyword-def>
+ <keyword-def name="condensed">
+ <keyword-value>condensed</keyword-value>
+ </keyword-def>
+ <keyword-def name="contain" version="3">
+ <keyword-value>contain</keyword-value>
+ </keyword-def>
+ <keyword-def name="content-box" version="3">
+ <keyword-value>content-box</keyword-value>
+ </keyword-def>
+ <keyword-def name="continuous">
+ <keyword-value>continuous</keyword-value>
+ </keyword-def>
+ <keyword-def name="cover" version="3">
+ <keyword-value>cover</keyword-value>
+ </keyword-def>
+ <keyword-def name="crop">
+ <keyword-value>crop</keyword-value>
+ </keyword-def>
+ <keyword-def name="cross">
+ <keyword-value>cross</keyword-value>
+ </keyword-def>
+ <keyword-def name="crosshair">
+ <keyword-value>crosshair</keyword-value>
+ </keyword-def>
+ <keyword-def name="cursive">
+ <keyword-value>cursive</keyword-value>
+ </keyword-def>
+ <keyword-def name="dashed">
+ <keyword-value>dashed</keyword-value>
+ </keyword-def>
+ <keyword-def name="decimal">
+ <keyword-value>decimal</keyword-value>
+ </keyword-def>
+ <keyword-def name="decimal-leading-zero">
+ <keyword-value>decimal-leading-zero</keyword-value>
+ </keyword-def>
+ <keyword-def name="default">
+ <keyword-value>default</keyword-value>
+ </keyword-def>
+ <keyword-def name="digits">
+ <keyword-value>digits</keyword-value>
+ </keyword-def>
+ <keyword-def name="disc">
+ <keyword-value>disc</keyword-value>
+ </keyword-def>
+ <keyword-def name="dotted">
+ <keyword-value>dotted</keyword-value>
+ </keyword-def>
+ <keyword-def name="double">
+ <keyword-value>double</keyword-value>
+ </keyword-def>
+ <keyword-def name="e-resize">
+ <keyword-value>e-resize</keyword-value>
+ </keyword-def>
+ <keyword-def name="ellipsis" version="3">
+ <keyword-value>ellipsis</keyword-value>
+ </keyword-def>
+ <keyword-def name="embed">
+ <keyword-value>embed</keyword-value>
+ </keyword-def>
+ <keyword-def name="expanded">
+ <keyword-value>expanded</keyword-value>
+ </keyword-def>
+ <keyword-def name="extra-condensed">
+ <keyword-value>extra-condensed</keyword-value>
+ </keyword-def>
+ <keyword-def name="extra-expanded">
+ <keyword-value>extra-expanded</keyword-value>
+ </keyword-def>
+ <keyword-def name="fantasy">
+ <keyword-value>fantasy</keyword-value>
+ </keyword-def>
+ <keyword-def name="far-left">
+ <keyword-value>far-left</keyword-value>
+ </keyword-def>
+ <keyword-def name="far-right">
+ <keyword-value>far-right</keyword-value>
+ </keyword-def>
+ <keyword-def name="fast">
+ <keyword-value>fast</keyword-value>
+ </keyword-def>
+ <keyword-def name="faster">
+ <keyword-value>faster</keyword-value>
+ </keyword-def>
+ <keyword-def name="female">
+ <keyword-value>female</keyword-value>
+ </keyword-def>
+ <keyword-def name="fixed">
+ <keyword-value>fixed</keyword-value>
+ </keyword-def>
+ <keyword-def name="fuchsia">
+ <keyword-value>fuchsia</keyword-value>
+ </keyword-def>
+ <keyword-def name="georgian">
+ <keyword-value>georgian</keyword-value>
+ </keyword-def>
+ <keyword-def name="gray">
+ <keyword-value>gray</keyword-value>
+ </keyword-def>
+ <keyword-def name="GrayText">
+ <keyword-value>GrayText</keyword-value>
+ </keyword-def>
+ <keyword-def name="green">
+ <keyword-value>green</keyword-value>
+ </keyword-def>
+ <keyword-def name="groove">
+ <keyword-value>groove</keyword-value>
+ </keyword-def>
+ <keyword-def name="hebrew">
+ <keyword-value>hebrew</keyword-value>
+ </keyword-def>
+ <keyword-def name="help">
+ <keyword-value>help</keyword-value>
+ </keyword-def>
+ <keyword-def name="hidden">
+ <keyword-value>hidden</keyword-value>
+ </keyword-def>
+ <keyword-def name="hide">
+ <keyword-value>hide</keyword-value>
+ </keyword-def>
+ <keyword-def name="high">
+ <keyword-value>high</keyword-value>
+ </keyword-def>
+ <keyword-def name="Highlight">
+ <keyword-value>Highlight</keyword-value>
+ </keyword-def>
+ <keyword-def name="HighlightText">
+ <keyword-value>HighlightText</keyword-value>
+ </keyword-def>
+ <keyword-def name="higher">
+ <keyword-value>higher</keyword-value>
+ </keyword-def>
+ <keyword-def name="hiragana">
+ <keyword-value>hiragana</keyword-value>
+ </keyword-def>
+ <keyword-def name="hiragana-iroha">
+ <keyword-value>hiragana-iroha</keyword-value>
+ </keyword-def>
+ <keyword-def name="horizontal" version="3">
+ <keyword-value>horizontal</keyword-value>
+ </keyword-def>
+ <keyword-def name="icon">
+ <keyword-value>icon</keyword-value>
+ </keyword-def>
+ <keyword-def name="InactiveBorder">
+ <keyword-value>InactiveBorder</keyword-value>
+ </keyword-def>
+ <keyword-def name="InactiveCaption">
+ <keyword-value>InactiveCaption</keyword-value>
+ </keyword-def>
+ <keyword-def name="InactiveCaptionText">
+ <keyword-value>InactiveCaptionText</keyword-value>
+ </keyword-def>
+ <keyword-def name="InfoBackground">
+ <keyword-value>InfoBackground</keyword-value>
+ </keyword-def>
+ <keyword-def name="InfoText">
+ <keyword-value>InfoText</keyword-value>
+ </keyword-def>
+ <keyword-def name="inherit">
+ <keyword-value>inherit</keyword-value>
+ </keyword-def>
+ <keyword-def name="inline">
+ <keyword-value>inline</keyword-value>
+ </keyword-def>
+ <keyword-def name="inline-block">
+ <keyword-value>inline-block</keyword-value>
+ </keyword-def>
+ <keyword-def name="inline-table">
+ <keyword-value>inline-table</keyword-value>
+ </keyword-def>
+ <keyword-def name="inset">
+ <keyword-value>inset</keyword-value>
+ </keyword-def>
+ <keyword-def name="inside">
+ <keyword-value>inside</keyword-value>
+ </keyword-def>
+ <keyword-def name="invert">
+ <keyword-value>invert</keyword-value>
+ </keyword-def>
+ <keyword-def name="italic">
+ <keyword-value>italic</keyword-value>
+ </keyword-def>
+ <keyword-def name="justify">
+ <keyword-value>justify</keyword-value>
+ </keyword-def>
+ <keyword-def name="katakana">
+ <keyword-value>katakana</keyword-value>
+ </keyword-def>
+ <keyword-def name="katakana-iroha">
+ <keyword-value>katakana-iroha</keyword-value>
+ </keyword-def>
+ <keyword-def name="landscape">
+ <keyword-value>landscape</keyword-value>
+ </keyword-def>
+ <keyword-def name="large">
+ <keyword-value>large</keyword-value>
+ </keyword-def>
+ <keyword-def name="larger">
+ <keyword-value>larger</keyword-value>
+ </keyword-def>
+ <keyword-def name="left">
+ <keyword-value>left</keyword-value>
+ </keyword-def>
+ <keyword-def name="left-side">
+ <keyword-value>left-side</keyword-value>
+ </keyword-def>
+ <keyword-def name="leftwards">
+ <keyword-value>leftwards</keyword-value>
+ </keyword-def>
+ <keyword-def name="level">
+ <keyword-value>level</keyword-value>
+ </keyword-def>
+ <keyword-def name="lighter">
+ <keyword-value>lighter</keyword-value>
+ </keyword-def>
+ <keyword-def name="lime">
+ <keyword-value>lime</keyword-value>
+ </keyword-def>
+ <keyword-def name="line-through">
+ <keyword-value>line-through</keyword-value>
+ </keyword-def>
+ <keyword-def name="list-item">
+ <keyword-value>list-item</keyword-value>
+ </keyword-def>
+ <keyword-def name="local" version="3">
+ <keyword-value>local</keyword-value>
+ </keyword-def>
+ <keyword-def name="loud">
+ <keyword-value>loud</keyword-value>
+ </keyword-def>
+ <keyword-def name="low">
+ <keyword-value>low</keyword-value>
+ </keyword-def>
+ <keyword-def name="lower">
+ <keyword-value>lower</keyword-value>
+ </keyword-def>
+ <keyword-def name="lower-alpha">
+ <keyword-value>lower-alpha</keyword-value>
+ </keyword-def>
+ <keyword-def name="lower-greek">
+ <keyword-value>lower-greek</keyword-value>
+ </keyword-def>
+ <keyword-def name="lower-latin">
+ <keyword-value>lower-latin</keyword-value>
+ </keyword-def>
+ <keyword-def name="lower-roman">
+ <keyword-value>lower-roman</keyword-value>
+ </keyword-def>
+ <keyword-def name="lowercase">
+ <keyword-value>lowercase</keyword-value>
+ </keyword-def>
+ <keyword-def name="ltr">
+ <keyword-value>ltr</keyword-value>
+ </keyword-def>
+ <keyword-def name="male">
+ <keyword-value>male</keyword-value>
+ </keyword-def>
+ <keyword-def name="marker">
+ <keyword-value>marker</keyword-value>
+ </keyword-def>
+ <keyword-def name="maroon">
+ <keyword-value>maroon</keyword-value>
+ </keyword-def>
+ <keyword-def name="medium">
+ <keyword-value>medium</keyword-value>
+ </keyword-def>
+ <keyword-def name="Menu">
+ <keyword-value>Menu</keyword-value>
+ </keyword-def>
+ <keyword-def name="MenuText">
+ <keyword-value>MenuText</keyword-value>
+ </keyword-def>
+ <keyword-def name="message-box">
+ <keyword-value>message-box</keyword-value>
+ </keyword-def>
+ <keyword-def name="middle">
+ <keyword-value>middle</keyword-value>
+ </keyword-def>
+ <keyword-def name="mix">
+ <keyword-value>mix</keyword-value>
+ </keyword-def>
+ <keyword-def name="monospace">
+ <keyword-value>monospace</keyword-value>
+ </keyword-def>
+ <keyword-def name="move">
+ <keyword-value>move</keyword-value>
+ </keyword-def>
+ <keyword-def name="n-resize">
+ <keyword-value>n-resize</keyword-value>
+ </keyword-def>
+ <keyword-def name="narrower">
+ <keyword-value>narrower</keyword-value>
+ </keyword-def>
+ <keyword-def name="navy">
+ <keyword-value>navy</keyword-value>
+ </keyword-def>
+ <keyword-def name="ne-resize">
+ <keyword-value>ne-resize</keyword-value>
+ </keyword-def>
+ <keyword-def name="no-close-quote">
+ <keyword-value>no-close-quote</keyword-value>
+ </keyword-def>
+ <keyword-def name="no-open-quote">
+ <keyword-value>no-open-quote</keyword-value>
+ </keyword-def>
+ <keyword-def name="no-repeat">
+ <keyword-value>no-repeat</keyword-value>
+ </keyword-def>
+ <keyword-def name="none">
+ <keyword-value>none</keyword-value>
+ </keyword-def>
+ <keyword-def name="normal">
+ <keyword-value>normal</keyword-value>
+ </keyword-def>
+ <keyword-def name="nowrap">
+ <keyword-value>nowrap</keyword-value>
+ </keyword-def>
+ <keyword-def name="nw-resize">
+ <keyword-value>nw-resize</keyword-value>
+ </keyword-def>
+ <keyword-def name="oblique">
+ <keyword-value>oblique</keyword-value>
+ </keyword-def>
+ <keyword-def name="olive">
+ <keyword-value>olive</keyword-value>
+ </keyword-def>
+ <keyword-def name="once">
+ <keyword-value>once</keyword-value>
+ </keyword-def>
+ <keyword-def name="open-quote">
+ <keyword-value>open-quote</keyword-value>
+ </keyword-def>
+ <keyword-def name="orange">
+ <keyword-value>orange</keyword-value>
+ </keyword-def>
+ <keyword-def name="outset">
+ <keyword-value>outset</keyword-value>
+ </keyword-def>
+ <keyword-def name="outside">
+ <keyword-value>outside</keyword-value>
+ </keyword-def>
+ <keyword-def name="overline">
+ <keyword-value>overline</keyword-value>
+ </keyword-def>
+ <keyword-def name="padding-box" version="3">
+ <keyword-value>padding-box</keyword-value>
+ </keyword-def>
+ <keyword-def name="pointer">
+ <keyword-value>pointer</keyword-value>
+ </keyword-def>
+ <keyword-def name="portrait">
+ <keyword-value>portrait</keyword-value>
+ </keyword-def>
+ <keyword-def name="pre">
+ <keyword-value>pre</keyword-value>
+ </keyword-def>
+ <keyword-def name="pre-line">
+ <keyword-value>pre-line</keyword-value>
+ </keyword-def>
+ <keyword-def name="pre-wrap">
+ <keyword-value>pre-wrap</keyword-value>
+ </keyword-def>
+ <keyword-def name="progress">
+ <keyword-value>progress</keyword-value>
+ </keyword-def>
+ <keyword-def name="purple">
+ <keyword-value>purple</keyword-value>
+ </keyword-def>
+ <keyword-def name="red">
+ <keyword-value>red</keyword-value>
+ </keyword-def>
+ <keyword-def name="relative">
+ <keyword-value>relative</keyword-value>
+ </keyword-def>
+ <keyword-def name="repeat">
+ <keyword-value>repeat</keyword-value>
+ </keyword-def>
+ <keyword-def name="repeat-x">
+ <keyword-value>repeat-x</keyword-value>
+ </keyword-def>
+ <keyword-def name="repeat-y">
+ <keyword-value>repeat-y</keyword-value>
+ </keyword-def>
+ <keyword-def name="ridge">
+ <keyword-value>ridge</keyword-value>
+ </keyword-def>
+ <keyword-def name="right">
+ <keyword-value>right</keyword-value>
+ </keyword-def>
+ <keyword-def name="right-side">
+ <keyword-value>right-side</keyword-value>
+ </keyword-def>
+ <keyword-def name="rightwards">
+ <keyword-value>rightwards</keyword-value>
+ </keyword-def>
+ <keyword-def name="round" version="3">
+ <keyword-value>round</keyword-value>
+ </keyword-def>
+ <keyword-def name="rtl">
+ <keyword-value>rtl</keyword-value>
+ </keyword-def>
+ <keyword-def name="run-in">
+ <keyword-value>run-in</keyword-value>
+ </keyword-def>
+ <keyword-def name="s-resize">
+ <keyword-value>s-resize</keyword-value>
+ </keyword-def>
+ <keyword-def name="sans-serif">
+ <keyword-value>sans-serif</keyword-value>
+ </keyword-def>
+ <keyword-def name="scroll">
+ <keyword-value>scroll</keyword-value>
+ </keyword-def>
+ <keyword-def name="Scrollbar">
+ <keyword-value>Scrollbar</keyword-value>
+ </keyword-def>
+ <keyword-def name="se-resize">
+ <keyword-value>se-resize</keyword-value>
+ </keyword-def>
+ <keyword-def name="semi-condensed">
+ <keyword-value>semi-condensed</keyword-value>
+ </keyword-def>
+ <keyword-def name="semi-expanded">
+ <keyword-value>semi-expanded</keyword-value>
+ </keyword-def>
+ <keyword-def name="separate">
+ <keyword-value>separate</keyword-value>
+ </keyword-def>
+ <keyword-def name="serif">
+ <keyword-value>serif</keyword-value>
+ </keyword-def>
+ <keyword-def name="show">
+ <keyword-value>show</keyword-value>
+ </keyword-def>
+ <keyword-def name="silent">
+ <keyword-value>silent</keyword-value>
+ </keyword-def>
+ <keyword-def name="silver">
+ <keyword-value>silver</keyword-value>
+ </keyword-def>
+ <keyword-def name="slow">
+ <keyword-value>slow</keyword-value>
+ </keyword-def>
+ <keyword-def name="slower">
+ <keyword-value>slower</keyword-value>
+ </keyword-def>
+ <keyword-def name="small">
+ <keyword-value>small</keyword-value>
+ </keyword-def>
+ <keyword-def name="small-caps">
+ <keyword-value>small-caps</keyword-value>
+ </keyword-def>
+ <keyword-def name="small-caption">
+ <keyword-value>small-caption</keyword-value>
+ </keyword-def>
+ <keyword-def name="smaller">
+ <keyword-value>smaller</keyword-value>
+ </keyword-def>
+ <keyword-def name="soft">
+ <keyword-value>soft</keyword-value>
+ </keyword-def>
+ <keyword-def name="solid">
+ <keyword-value>solid</keyword-value>
+ </keyword-def>
+ <keyword-def name="space" version="3">
+ <keyword-value>space</keyword-value>
+ </keyword-def>
+ <keyword-def name="spell-out">
+ <keyword-value>spell-out</keyword-value>
+ </keyword-def>
+ <keyword-def name="square">
+ <keyword-value>square</keyword-value>
+ </keyword-def>
+ <keyword-def name="static">
+ <keyword-value>static</keyword-value>
+ </keyword-def>
+ <keyword-def name="status-bar">
+ <keyword-value>status-bar</keyword-value>
+ </keyword-def>
+ <keyword-def name="sub">
+ <keyword-value>sub</keyword-value>
+ </keyword-def>
+ <keyword-def name="super">
+ <keyword-value>super</keyword-value>
+ </keyword-def>
+ <keyword-def name="sw-resize">
+ <keyword-value>sw-resize</keyword-value>
+ </keyword-def>
+ <keyword-def name="table">
+ <keyword-value>table</keyword-value>
+ </keyword-def>
+ <keyword-def name="table-caption">
+ <keyword-value>table-caption</keyword-value>
+ </keyword-def>
+ <keyword-def name="table-cell">
+ <keyword-value>table-cell</keyword-value>
+ </keyword-def>
+ <keyword-def name="table-column">
+ <keyword-value>table-column</keyword-value>
+ </keyword-def>
+ <keyword-def name="table-column-group">
+ <keyword-value>table-column-group</keyword-value>
+ </keyword-def>
+ <keyword-def name="table-footer-group">
+ <keyword-value>table-footer-group</keyword-value>
+ </keyword-def>
+ <keyword-def name="table-header-group">
+ <keyword-value>table-header-group</keyword-value>
+ </keyword-def>
+ <keyword-def name="table-row">
+ <keyword-value>table-row</keyword-value>
+ </keyword-def>
+ <keyword-def name="table-row-group">
+ <keyword-value>table-row-group</keyword-value>
+ </keyword-def>
+ <keyword-def name="teal">
+ <keyword-value>teal</keyword-value>
+ </keyword-def>
+ <keyword-def name="text">
+ <keyword-value>text</keyword-value>
+ </keyword-def>
+ <keyword-def name="text-top">
+ <keyword-value>text-top</keyword-value>
+ </keyword-def>
+ <keyword-def name="text-bottom">
+ <keyword-value>text-bottom</keyword-value>
+ </keyword-def>
+ <keyword-def name="thick">
+ <keyword-value>thick</keyword-value>
+ </keyword-def>
+ <keyword-def name="thin">
+ <keyword-value>thin</keyword-value>
+ </keyword-def>
+ <keyword-def name="ThreeDDarkShadow">
+ <keyword-value>ThreeDDarkShadow</keyword-value>
+ </keyword-def>
+ <keyword-def name="ThreeDFace">
+ <keyword-value>ThreeDFace</keyword-value>
+ </keyword-def>
+ <keyword-def name="ThreeDHighlight">
+ <keyword-value>ThreeDHighlight</keyword-value>
+ </keyword-def>
+ <keyword-def name="ThreeDLightShadow">
+ <keyword-value>ThreeDLightShadow</keyword-value>
+ </keyword-def>
+ <keyword-def name="ThreeDShadow">
+ <keyword-value>ThreeDShadow</keyword-value>
+ </keyword-def>
+ <keyword-def name="top">
+ <keyword-value>top</keyword-value>
+ </keyword-def>
+ <keyword-def name="transparent">
+ <keyword-value>transparent</keyword-value>
+ </keyword-def>
+ <keyword-def name="ultra-condensed">
+ <keyword-value>ultra-condensed</keyword-value>
+ </keyword-def>
+ <keyword-def name="ultra-expanded">
+ <keyword-value>ultra-expanded</keyword-value>
+ </keyword-def>
+ <keyword-def name="underline">
+ <keyword-value>underline</keyword-value>
+ </keyword-def>
+ <keyword-def name="upper-alpha">
+ <keyword-value>upper-alpha</keyword-value>
+ </keyword-def>
+ <keyword-def name="upper-latin">
+ <keyword-value>upper-latin</keyword-value>
+ </keyword-def>
+ <keyword-def name="upper-roman">
+ <keyword-value>upper-roman</keyword-value>
+ </keyword-def>
+ <keyword-def name="uppercase">
+ <keyword-value>uppercase</keyword-value>
+ </keyword-def>
+ <keyword-def name="vertical" version="3">
+ <keyword-value>vertical</keyword-value>
+ </keyword-def>
+ <keyword-def name="visible">
+ <keyword-value>visible</keyword-value>
+ </keyword-def>
+ <keyword-def name="w-resize">
+ <keyword-value>w-resize</keyword-value>
+ </keyword-def>
+ <keyword-def name="wait">
+ <keyword-value>wait</keyword-value>
+ </keyword-def>
+ <keyword-def name="white">
+ <keyword-value>white</keyword-value>
+ </keyword-def>
+ <keyword-def name="wider">
+ <keyword-value>wider</keyword-value>
+ </keyword-def>
+ <keyword-def name="Window">
+ <keyword-value>Window</keyword-value>
+ </keyword-def>
+ <keyword-def name="WindowFrame">
+ <keyword-value>WindowFrame</keyword-value>
+ </keyword-def>
+ <keyword-def name="WindowText">
+ <keyword-value>WindowText</keyword-value>
+ </keyword-def>
+ <keyword-def name="x-fast">
+ <keyword-value>x-fast</keyword-value>
+ </keyword-def>
+ <keyword-def name="x-high">
+ <keyword-value>x-high</keyword-value>
+ </keyword-def>
+ <keyword-def name="x-large">
+ <keyword-value>x-large</keyword-value>
+ </keyword-def>
+ <keyword-def name="x-loud">
+ <keyword-value>x-loud</keyword-value>
+ </keyword-def>
+ <keyword-def name="x-low">
+ <keyword-value>x-low</keyword-value>
+ </keyword-def>
+ <keyword-def name="x-slow">
+ <keyword-value>x-slow</keyword-value>
+ </keyword-def>
+ <keyword-def name="x-small">
+ <keyword-value>x-small</keyword-value>
+ </keyword-def>
+ <keyword-def name="x-soft">
+ <keyword-value>x-soft</keyword-value>
+ </keyword-def>
+ <keyword-def name="xx-small">
+ <keyword-value>xx-small</keyword-value>
+ </keyword-def>
+ <keyword-def name="xx-large">
+ <keyword-value>xx-large</keyword-value>
+ </keyword-def>
+ <keyword-def name="yellow">
+ <keyword-value>yellow</keyword-value>
+ </keyword-def>
+</css-profile> \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.css.core/cssprofile/cssprofile.properties b/bundles/org.eclipse.wst.css.core/cssprofile/cssprofile.properties
index dd7e399c94..323030bd0b 100644
--- a/bundles/org.eclipse.wst.css.core/cssprofile/cssprofile.properties
+++ b/bundles/org.eclipse.wst.css.core/cssprofile/cssprofile.properties
@@ -27,6 +27,8 @@ css2.category-def.tables.caption=Tables
css2.category-def.text.caption=Text
css2.category-def.visual.caption=Visual
css2.category-def.ui.caption=User interface
+# cssprofile-css3.xml
+css3.stylesheet-def.description=Cascading Style Sheets, level 3
# cssprofile-mobile1_0.xml
mobile1_0.stylesheet-def.description=CSS Mobile Profile 1.0
# cssprofile-wap.xml
diff --git a/bundles/org.eclipse.wst.css.core/plugin.properties b/bundles/org.eclipse.wst.css.core/plugin.properties
index 993a482460..cc1c1cbb48 100644
--- a/bundles/org.eclipse.wst.css.core/plugin.properties
+++ b/bundles/org.eclipse.wst.css.core/plugin.properties
@@ -10,6 +10,7 @@
###############################################################################
providerName=Eclipse Web Tools Platform
pluginName=Structured Source CSS Model
+cssprofile_css3.name=CSS3: Cascading Style Sheets, level 3
cssprofile_css2.name=CSS2: Cascading Style Sheets, level 2
cssprofile_css1.name=CSS1: Cascading Style Sheets, level 1
cssprofile_mobile1_0.name=CSS Mobile Profile 1.0
diff --git a/bundles/org.eclipse.wst.css.core/plugin.xml b/bundles/org.eclipse.wst.css.core/plugin.xml
index f764b51596..fc6ad46dbc 100644
--- a/bundles/org.eclipse.wst.css.core/plugin.xml
+++ b/bundles/org.eclipse.wst.css.core/plugin.xml
@@ -4,6 +4,11 @@
<extension point="org.eclipse.wst.sse.core.cssprofile">
<profile
+ name="%cssprofile_css3.name"
+ uri="cssprofile/cssprofile-css3.xml"
+ id="org.eclipse.wst.css.core.cssprofile.css3">
+ </profile>
+ <profile
name="%cssprofile_css2.name"
default="true"
uri="cssprofile/cssprofile-css2.xml"
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/IValID.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/IValID.java
index b8600def90..113e855904 100644
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/IValID.java
+++ b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/IValID.java
@@ -17,6 +17,7 @@ package org.eclipse.wst.css.core.internal.contentmodel;
*/
public interface IValID {
+ public final static String V_1 = "1";//$NON-NLS-1$
public final static String V_100 = "100"; //$NON-NLS-1$
public final static String V_200 = "200"; //$NON-NLS-1$
public final static String V_300 = "300"; //$NON-NLS-1$
@@ -38,6 +39,7 @@ public interface IValID {
public final static String V_AUTO = "auto"; //$NON-NLS-1$
public final static String V_AVOID = "avoid"; //$NON-NLS-1$
public final static String V_BACKGROUND = "Background"; //$NON-NLS-1$
+ public final static String V_BALANCE = "balance";//$NON-NLS-1$
public final static String V_BASELINE = "baseline"; //$NON-NLS-1$
public final static String V_BEHIND = "behind"; //$NON-NLS-1$
public final static String V_BELOW = "below"; //$NON-NLS-1$
@@ -48,6 +50,7 @@ public interface IValID {
public final static String V_BLUE = "blue"; //$NON-NLS-1$
public final static String V_BOLD = "bold"; //$NON-NLS-1$
public final static String V_BOLDER = "bolder"; //$NON-NLS-1$
+ public final static String V_BORDER_BOX = "border-box"; //$NON-NLS-1$
public final static String V_BOTH = "both"; //$NON-NLS-1$
public final static String V_BOTTOM = "bottom"; //$NON-NLS-1$
public final static String V_BUTTONFACE = "ButtonFace"; //$NON-NLS-1$
@@ -63,12 +66,16 @@ public interface IValID {
public final static String V_CHILD = "child"; //$NON-NLS-1$
public final static String V_CIRCLE = "circle"; //$NON-NLS-1$
public final static String V_CJK_IDEOGRAPHIC = "cjk-ideographic"; //$NON-NLS-1$
+ public final static String V_CLIP = "clip"; //$NON-NLS-1$
public final static String V_CLOSE_QUOTE = "close-quote"; //$NON-NLS-1$
public final static String V_CODE = "code"; //$NON-NLS-1$
public final static String V_CONDENSED = "condensed"; //$NON-NLS-1$
public final static String V_COLLAPSE = "collapse"; //$NON-NLS-1$
public final static String V_COMPACT = "compact"; //$NON-NLS-1$
+ public final static String V_CONTAIN = "contain"; //$NON-NLS-1$
+ public final static String V_CONTENT_BOX = "content-box"; //$NON-NLS-1$
public final static String V_CONTINUOUS = "continuous"; //$NON-NLS-1$
+ public final static String V_COVER = "cover"; //$NON-NLS-1$
public final static String V_CROP = "crop"; //$NON-NLS-1$
public final static String V_CROSS = "cross"; //$NON-NLS-1$
public final static String V_CROSSHAIR = "crosshair"; //$NON-NLS-1$
@@ -82,6 +89,7 @@ public interface IValID {
public final static String V_DOTTED = "dotted"; //$NON-NLS-1$
public final static String V_DOUBLE = "double"; //$NON-NLS-1$
public final static String V_E_RESIZE = "e-resize"; //$NON-NLS-1$
+ public final static String V_ELLIPSIS = "ellipsis"; //$NON-NLS-1$
public final static String V_EMBED = "embed"; //$NON-NLS-1$
public final static String V_EXPANDED = "expanded"; //$NON-NLS-1$
public final static String V_EXTRA_CONDENSED = "extra-condensed"; //$NON-NLS-1$
@@ -109,6 +117,7 @@ public interface IValID {
public final static String V_HIGHER = "higher"; //$NON-NLS-1$
public final static String V_HIRAGANA = "hiragana"; //$NON-NLS-1$
public final static String V_HIRAGANA_IROHA = "hiragana-iroha"; //$NON-NLS-1$
+ public final static String V_HORIZONTAL = "horizontal"; //$NON-NLS-1$
public final static String V_ICON = "icon"; //$NON-NLS-1$
public final static String V_INACTIVEBORDER = "InactiveBorder"; //$NON-NLS-1$
public final static String V_INACTIVECAPTION = "InactiveCaption"; //$NON-NLS-1$
@@ -136,6 +145,7 @@ public interface IValID {
public final static String V_LIME = "lime"; //$NON-NLS-1$
public final static String V_LINE_THROUGH = "line-through"; //$NON-NLS-1$
public final static String V_LIST_ITEM = "list-item"; //$NON-NLS-1$
+ public final static String V_LOCAL = "local"; //$NON-NLS-1$
public final static String V_LOUD = "loud"; //$NON-NLS-1$
public final static String V_LOW = "low"; //$NON-NLS-1$
public final static String V_LOWER = "lower"; //$NON-NLS-1$
@@ -175,6 +185,7 @@ public interface IValID {
public final static String V_OUTSET = "outset"; //$NON-NLS-1$
public final static String V_OUTSIDE = "outside"; //$NON-NLS-1$
public final static String V_OVERLINE = "overline"; //$NON-NLS-1$
+ public final static String V_PADDING_BOX = "padding-box"; //$NON-NLS-1$
public final static String V_POINTER = "pointer"; //$NON-NLS-1$
public final static String V_PORTRAIT = "portrait"; //$NON-NLS-1$
public final static String V_PRE = "pre"; //$NON-NLS-1$
@@ -191,6 +202,7 @@ public interface IValID {
public final static String V_RIGHT = "right"; //$NON-NLS-1$
public final static String V_RIGHT_SIDE = "right-side"; //$NON-NLS-1$
public final static String V_RIGHTWARDS = "rightwards"; //$NON-NLS-1$
+ public final static String V_ROUND = "round"; //$NON-NLS-1$
public final static String V_RTL = "rtl"; //$NON-NLS-1$
public final static String V_RUN_IN = "run-in"; //$NON-NLS-1$
public final static String V_S_RESIZE = "s-resize"; //$NON-NLS-1$
@@ -213,6 +225,7 @@ public interface IValID {
public final static String V_SMALLER = "smaller"; //$NON-NLS-1$
public final static String V_SOFT = "soft"; //$NON-NLS-1$
public final static String V_SOLID = "solid"; //$NON-NLS-1$
+ public final static String V_SPACE = "space"; //$NON-NLS-1$
public final static String V_SPELL_OUT = "spell-out"; //$NON-NLS-1$
public final static String V_SQUARE = "square"; //$NON-NLS-1$
public final static String V_STATIC = "static"; //$NON-NLS-1$
@@ -249,6 +262,7 @@ public interface IValID {
public final static String V_UPPER_LATIN = "upper-latin"; //$NON-NLS-1$
public final static String V_UPPER_ROMAN = "upper-roman"; //$NON-NLS-1$
public final static String V_UPPERCASE = "uppercase"; //$NON-NLS-1$
+ public final static String V_VERTICAL = "vertical";//$NON-NLS-1$
public final static String V_VISIBLE = "visible"; //$NON-NLS-1$
public final static String V_W_RESIZE = "w-resize"; //$NON-NLS-1$
public final static String V_WAIT = "wait"; //$NON-NLS-1$
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMNode.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMNode.java
index d5b96c0a65..476ead2d36 100644
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMNode.java
+++ b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMNode.java
@@ -126,6 +126,14 @@ public abstract class PropCMNode {
prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BG_ATTACHMENT);
prop.appendChild(IValID.V_SCROLL);
prop.appendChild(IValID.V_FIXED);
+ prop.appendChild(IValID.V_LOCAL);
+ prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
+
+ // background-clip
+ prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BG_CLIP);
+ prop.appendChild(IValID.V_BORDER_BOX);
+ prop.appendChild(IValID.V_CONTENT_BOX);
+ prop.appendChild(IValID.V_PADDING_BOX);
prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
// background-color
@@ -140,6 +148,13 @@ public abstract class PropCMNode {
prop.appendChild(IValID.V_NONE);
prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
+ // background-origin
+ prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BG_ORIGIN);
+ prop.appendChild(IValID.V_PADDING_BOX);
+ prop.appendChild(IValID.V_BORDER_BOX);
+ prop.appendChild(IValID.V_CONTENT_BOX);
+ prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
+
// background-position ---- sub-properties horizontal
prop = PropCMSubProperty.getInstanceOf(PropCMSubProperty.PSUB_BG_POSITION_X);
prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
@@ -170,9 +185,19 @@ public abstract class PropCMNode {
prop.appendChild(IValID.V_REPEAT);
prop.appendChild(IValID.V_REPEAT_X);
prop.appendChild(IValID.V_REPEAT_Y);
+ prop.appendChild(IValID.V_SPACE);
+ prop.appendChild(IValID.V_ROUND);
prop.appendChild(IValID.V_NO_REPEAT);
prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
+ // background-size
+ prop = PropCMSubProperty.getInstanceOf(PropCMProperty.P_BG_SIZE);
+ prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
+ prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_PERCENTAGE));
+ prop.appendChild(IValID.V_CONTAIN);
+ prop.appendChild(IValID.V_COVER);
+ prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
+
// border
prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER);
prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_WIDTH));
@@ -317,6 +342,34 @@ public abstract class PropCMNode {
prop.setMaxValueCount(4);
prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
+ // border-top-left-radius
+ prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_TOP_LEFT_RADIUS);
+ prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
+ prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
+
+ // border-top-right-radius
+ prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_TOP_RIGHT_RADIUS);
+ prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
+ prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
+
+ // border-bottom-left-radius
+ prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_BOTTOM_LEFT_RADIUS);
+ prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
+ prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
+
+ // border-bottom-right-radius
+ prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_BOTTOM_RIGHT_RADIUS);
+ prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
+ prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
+
+ prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_RADIUS);
+ prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_TOP_LEFT_RADIUS));
+ prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_TOP_RIGHT_RADIUS));
+ prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_BOTTOM_LEFT_RADIUS));
+ prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_BORDER_BOTTOM_RIGHT_RADIUS));
+ prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
+ prop.setMaxValueCount(4);
+
// bottom
prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BOTTOM);
prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
@@ -324,6 +377,20 @@ public abstract class PropCMNode {
prop.appendChild(IValID.V_AUTO);
prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
+ // box-shadow
+ prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BOX_SHADOW);
+ prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
+ // prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_COLOR));
+ prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_COLOR));
+ prop.setMaxValueCount(4);
+ prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
+
+ // box-shadow
+ prop = PropCMProperty.getInstanceOf(PropCMProperty.P_BOX_SIZING);
+ prop.appendChild(IValID.V_BORDER_BOX);
+ prop.appendChild(IValID.V_CONTENT_BOX);
+ prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
+
// caption-side
prop = PropCMProperty.getInstanceOf(PropCMProperty.P_CAPTION_SIDE);
prop.appendChild(IValID.V_TOP);
@@ -379,6 +446,65 @@ public abstract class PropCMNode {
prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_COLOR));
prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
+ // columns
+ prop = PropCMProperty.getInstanceOf(PropCMProperty.P_COLUMNS);
+ prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_COLUMN_WIDTH));
+ prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_COLUMN_COUNT));
+ prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
+
+ // column-width
+ prop = PropCMProperty.getInstanceOf(PropCMProperty.P_COLUMN_WIDTH);
+ prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
+ prop.appendChild(IValID.V_AUTO);
+ prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
+
+ // column-count
+ prop = PropCMProperty.getInstanceOf(PropCMProperty.P_COLUMN_COUNT);
+ prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_INTEGER));
+ prop.appendChild(IValID.V_AUTO);
+ prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
+
+ // column-fill
+ prop = PropCMProperty.getInstanceOf(PropCMProperty.P_COLUMN_FILL);
+ prop.appendChild(IValID.V_AUTO);
+ prop.appendChild(IValID.V_BALANCE);
+ prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
+
+ // column-gap
+ prop = PropCMProperty.getInstanceOf(PropCMProperty.P_COLUMN_GAP);
+ prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_LENGTH));
+ prop.appendChild(IValID.V_NORMAL);
+ prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
+
+ // column-rule
+ prop = PropCMProperty.getInstanceOf(PropCMProperty.P_COLUMN_RULE);
+ prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_COLUMN_RULE_WIDTH));
+ prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_COLUMN_RULE_STYLE));
+ prop.appendChild(PropCMProperty.getInstanceOf(PropCMProperty.P_COLUMN_RULE_COLOR));
+ prop.setMaxValueCount(3);
+ prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
+
+ // column-rule-color
+ prop = PropCMProperty.getInstanceOf(PropCMProperty.P_COLUMN_RULE_COLOR);
+ prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_COLOR));
+ prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
+
+ // column-rule-style
+ prop = PropCMProperty.getInstanceOf(PropCMProperty.P_COLUMN_RULE_STYLE);
+ prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_BORDER_STYLE));
+ prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
+
+ // column-rule-width
+ prop = PropCMProperty.getInstanceOf(PropCMProperty.P_COLUMN_RULE_WIDTH);
+ prop.appendChild(PropCMContainer.getContInstanceOf(PropCMContainer.VAL_BORDER_WIDTH));
+ prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
+
+ // column-span
+ prop = PropCMProperty.getInstanceOf(PropCMProperty.P_COLUMN_SPAN);
+ prop.appendChild(IValID.V_1);
+ prop.appendChild(IValID.V_ALL);
+ prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
+
// content
prop = PropCMProperty.getInstanceOf(PropCMProperty.P_CONTENT);
prop.appendChild(PropCMString.getInstanceOf(PropCMString.VAL_ANY));
@@ -731,6 +857,11 @@ public abstract class PropCMNode {
prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_PERCENTAGE));
prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
+ // opacity
+ prop = PropCMProperty.getInstanceOf(PropCMProperty.P_OPACITY);
+ prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_NUM));
+ prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
+
// orphans
prop = PropCMProperty.getInstanceOf(PropCMProperty.P_ORPHANS);
prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_INTEGER));
@@ -896,6 +1027,14 @@ public abstract class PropCMNode {
prop.setMaxValueCount(-1);
prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
+ // resize
+ prop = PropCMProperty.getInstanceOf(PropCMProperty.P_RESIZE);
+ prop.appendChild(IValID.V_BOTH);
+ prop.appendChild(IValID.V_HORIZONTAL);
+ prop.appendChild(IValID.V_NONE);
+ prop.appendChild(IValID.V_VERTICAL);
+ prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
+
// richness
prop = PropCMProperty.getInstanceOf(PropCMProperty.P_RICHNESS);
prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_NUM));
@@ -989,6 +1128,12 @@ public abstract class PropCMNode {
prop.appendChild(PropCMNumber.getInstanceOf(PropCMNumber.VAL_PERCENTAGE));
prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
+ // text-overflow
+ prop = PropCMProperty.getInstanceOf(PropCMProperty.P_TEXT_OVERFLOW);
+ prop.appendChild(IValID.V_CLIP);
+ prop.appendChild(IValID.V_ELLIPSIS);
+ prop.appendMediaGroup(IMediaGroupID.M_VISUAL);
+
// text-shadow
prop = PropCMProperty.getInstanceOf(PropCMProperty.P_TEXT_SHADOW);
prop.appendChild(IValID.V_NONE);
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMProperty.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMProperty.java
index bbab38f642..54cd4fb173 100644
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMProperty.java
+++ b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/contentmodel/PropCMProperty.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
+ * Copyright (c) 2004, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -33,10 +33,13 @@ public class PropCMProperty extends PropCMContainer {
public final static String P_AZIMUTH = "azimuth";//$NON-NLS-1$
public final static String P_BG = "background";//$NON-NLS-1$
public final static String P_BG_ATTACHMENT = "background-attachment";//$NON-NLS-1$
+ public final static String P_BG_CLIP = "background-clip"; //$NON-NLS-1$
public final static String P_BG_COLOR = "background-color";//$NON-NLS-1$
public final static String P_BG_IMAGE = "background-image";//$NON-NLS-1$
+ public final static String P_BG_ORIGIN = "background-origin"; //$NON-NLS-1$
public final static String P_BG_POSITION = "background-position";//$NON-NLS-1$
public final static String P_BG_REPEAT = "background-repeat";//$NON-NLS-1$
+ public final static String P_BG_SIZE = "background-size"; //$NON-NLS-1$
public final static String P_BORDER = "border";//$NON-NLS-1$
public final static String P_BORDER_COLLAPSE = "border-collapse";//$NON-NLS-1$
public final static String P_BORDER_COLOR = "border-color";//$NON-NLS-1$
@@ -59,11 +62,28 @@ public class PropCMProperty extends PropCMContainer {
public final static String P_BORDER_BOTTOM_WIDTH = "border-bottom-width";//$NON-NLS-1$
public final static String P_BORDER_LEFT_WIDTH = "border-left-width";//$NON-NLS-1$
public final static String P_BORDER_WIDTH = "border-width";//$NON-NLS-1$
+ public final static String P_BORDER_RADIUS = "border-radius"; //$NON-NLS-1$
+ public final static String P_BORDER_TOP_LEFT_RADIUS = "border-top-left-radius"; //$NON-NLS-1$
+ public final static String P_BORDER_TOP_RIGHT_RADIUS = "border-top-right-radius"; //$NON-NLS-1$
+ public final static String P_BORDER_BOTTOM_LEFT_RADIUS = "border-bottom-left-radius"; //$NON-NLS-1$
+ public final static String P_BORDER_BOTTOM_RIGHT_RADIUS = "border-bottom-right-radius"; //$NON-NLS-1$
public final static String P_BOTTOM = "bottom";//$NON-NLS-1$
+ public final static String P_BOX_SHADOW = "box-shadow"; //$NON-NLS-1$
+ public final static String P_BOX_SIZING = "box-sizing"; //$NON-NLS-1$
public final static String P_CAPTION_SIDE = "caption-side";//$NON-NLS-1$
public final static String P_CLEAR = "clear";//$NON-NLS-1$
public final static String P_CLIP = "clip";//$NON-NLS-1$
public final static String P_COLOR = "color";//$NON-NLS-1$
+ public final static String P_COLUMNS = "columns";//$NON-NLS-1$
+ public final static String P_COLUMN_COUNT = "column-count";//$NON-NLS-1$
+ public final static String P_COLUMN_FILL = "column-fill";//$NON-NLS-1$
+ public final static String P_COLUMN_GAP = "column-gap";//$NON-NLS-1$
+ public final static String P_COLUMN_RULE = "column-rule";//$NON-NLS-1$
+ public final static String P_COLUMN_RULE_COLOR = "column-rule-color";//$NON-NLS-1$
+ public final static String P_COLUMN_RULE_STYLE = "column-rule-styler";//$NON-NLS-1$
+ public final static String P_COLUMN_RULE_WIDTH = "column-rule-width";//$NON-NLS-1$
+ public final static String P_COLUMN_SPAN = "column-span";//$NON-NLS-1$
+ public final static String P_COLUMN_WIDTH = "column-width";//$NON-NLS-1$
public final static String P_CONTENT = "content";//$NON-NLS-1$
public final static String P_COUNTER_INCREMENT = "counter-increment";//$NON-NLS-1$
public final static String P_COUNTER_RESET = "counter-reset";//$NON-NLS-1$
@@ -103,6 +123,7 @@ public class PropCMProperty extends PropCMContainer {
public final static String P_MAX_WIDTH = "max-width";//$NON-NLS-1$
public final static String P_MIN_HEIGHT = "min-height";//$NON-NLS-1$
public final static String P_MIN_WIDTH = "min-width";//$NON-NLS-1$
+ public final static String P_OPACITY = "opacity"; //$NON-NLS-1$
public final static String P_ORPHANS = "orphans";//$NON-NLS-1$
public final static String P_OUTLINE = "outline";//$NON-NLS-1$
public final static String P_OUTLINE_COLOR = "outline-color";//$NON-NLS-1$
@@ -126,6 +147,7 @@ public class PropCMProperty extends PropCMContainer {
public final static String P_PLAY_DURING = "play-during";//$NON-NLS-1$
public final static String P_POSITION = "position";//$NON-NLS-1$
public final static String P_QUOTES = "quotes";//$NON-NLS-1$
+ public final static String P_RESIZE = "resize"; //$NON-NLS-1$
public final static String P_RICHNESS = "richness";//$NON-NLS-1$
public final static String P_RIGHT = "right";//$NON-NLS-1$
public final static String P_SIZE = "size";//$NON-NLS-1$
@@ -139,6 +161,7 @@ public class PropCMProperty extends PropCMContainer {
public final static String P_TEXT_ALIGN = "text-align";//$NON-NLS-1$
public final static String P_TEXT_DECORATION = "text-decoration";//$NON-NLS-1$
public final static String P_TEXT_INDENT = "text-indent";//$NON-NLS-1$
+ public final static String P_TEXT_OVERFLOW = "text-overflow"; //$NON-NLS-1$
public final static String P_TEXT_SHADOW = "text-shadow";//$NON-NLS-1$
public final static String P_TEXT_TRANSFORM = "text-transform";//$NON-NLS-1$
public final static String P_TOP = "top";//$NON-NLS-1$
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodelimpl/CSSMMPseudoElementImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodelimpl/CSSMMPseudoElementImpl.java
index eebe91731e..51adb83e45 100644
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodelimpl/CSSMMPseudoElementImpl.java
+++ b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodelimpl/CSSMMPseudoElementImpl.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
+ * Copyright (c) 2004, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -28,6 +28,15 @@ public class CSSMMPseudoElementImpl extends CSSMMSelectorImpl {
}
void setSelectorString(String value) {
- fValue = ":" + value; //$NON-NLS-1$
+ String version = getAttribute("version"); //$NON-NLS-1$
+ long v = 0;
+ if (version != null) {
+ try {
+ v = Long.parseLong(version);
+ }
+ catch (Exception e) {}
+ }
+ // Pseudo Elements added since CSS3 are prefixed by two colons
+ fValue = ((v >= 3) ? "::" : ":") + value; //$NON-NLS-1$ //$NON-NLS-2$
}
}
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodelimpl/ProfileHandler.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodelimpl/ProfileHandler.java
index 82a6b33948..1f1710506a 100644
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodelimpl/ProfileHandler.java
+++ b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodelimpl/ProfileHandler.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
+ * Copyright (c) 2004, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -32,6 +32,8 @@ import org.xml.sax.helpers.DefaultHandler;
class ProfileHandler extends DefaultHandler {
+ private StringBuffer fCharacters = null;
+
public ProfileHandler(CSSMetaModelImpl metamodel, ResourceBundle resourceBundle, boolean logging) {
super();
fMetaModel = metamodel;
@@ -150,19 +152,12 @@ class ProfileHandler extends DefaultHandler {
}
public void endElement(String uri, String localName, String qName) throws SAXException {
- fNodeStack.pop();
- }
-
- public void characters(char[] ch, int start, int length) throws SAXException {
+
TagNode tagNode = (TagNode) fNodeStack.peek();
+ CSSMMNodeImpl node = tagNode.node;
String tagName = tagNode.tag;
- if (tagName.equals(ProfileKeywords.KEYWORD_VALUE) || tagName.equals(ProfileKeywords.UNIT_VALUE) || tagName.equals(ProfileKeywords.FUNCTION_VALUE) || tagName.equals(ProfileKeywords.SELECTOR_VALUE) || tagName.equals(ProfileKeywords.DESCRIPTION) || tagName.equals(ProfileKeywords.CAPTION)) {
- StringBuffer buf = new StringBuffer(length);
- for (int i = 0; i < length; i++) {
- buf.append(ch[start + i]);
- }
- String value = getResourceString(buf.toString().trim());
- CSSMMNodeImpl node = tagNode.node;
+ if (fCharacters != null && (tagName.equals(ProfileKeywords.KEYWORD_VALUE) || tagName.equals(ProfileKeywords.UNIT_VALUE) || tagName.equals(ProfileKeywords.FUNCTION_VALUE) || tagName.equals(ProfileKeywords.SELECTOR_VALUE) || tagName.equals(ProfileKeywords.DESCRIPTION) || tagName.equals(ProfileKeywords.CAPTION))) {
+ String value = getResourceString(fCharacters.toString().trim());
if (node != null) {
if (node.getType() == CSSMMNode.TYPE_KEYWORD && tagName.equals(ProfileKeywords.KEYWORD_VALUE)) {
((CSSMMKeywordImpl) node).setKeywordString(value);
@@ -187,6 +182,20 @@ class ProfileHandler extends DefaultHandler {
}
}
}
+ fNodeStack.pop();
+ fCharacters = null;
+ }
+
+ public void characters(char[] ch, int start, int length) throws SAXException {
+
+ TagNode tagNode = (TagNode) fNodeStack.peek();
+ String tagName = tagNode.tag;
+ if (tagName.equals(ProfileKeywords.KEYWORD_VALUE) || tagName.equals(ProfileKeywords.UNIT_VALUE) || tagName.equals(ProfileKeywords.FUNCTION_VALUE) || tagName.equals(ProfileKeywords.SELECTOR_VALUE) || tagName.equals(ProfileKeywords.DESCRIPTION) || tagName.equals(ProfileKeywords.CAPTION)) {
+ if (fCharacters == null) {
+ fCharacters = new StringBuffer(length);
+ }
+ fCharacters.append(ch, start, length);
+ }
}
private boolean isDefinition(String tagName) {
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/parser/CSSTokenizer.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/parser/CSSTokenizer.java
index a9b7e60546..1d6823456f 100644
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/parser/CSSTokenizer.java
+++ b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/parser/CSSTokenizer.java
@@ -1,7 +1,7 @@
-/* The following code was generated by JFlex 1.4.2 on 8/13/10 2:23 PM */
+/* The following code was generated by JFlex 1.4.2 on 12/21/10 5:05 PM */
/*******************************************************************************
- * Copyright (c) 2004, 2009 IBM Corporation and others.
+ * Copyright (c) 2004, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -27,8 +27,8 @@ import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion;
/**
* This class is a scanner generated by
* <a href="http://www.jflex.de/">JFlex</a> 1.4.2
- * on 8/13/10 2:23 PM from the specification file
- * <tt>D:/dev/workspaces/helios/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/CSSTokenizer/devel/CSSTokenizer.jflex</tt>
+ * on 12/21/10 5:05 PM from the specification file
+ * <tt>D:/dev/workspaces/indigo/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/CSSTokenizer/devel/CSSTokenizer.jflex</tt>
*/
public class CSSTokenizer implements CSSRegionContexts, ICSSTokenizer {
@@ -78,14 +78,14 @@ public class CSSTokenizer implements CSSRegionContexts, ICSSTokenizer {
*/
private static final String ZZ_CMAP_PACKED =
"\11\0\1\12\1\17\1\0\1\4\1\20\22\0\1\6\1\31\1\11"+
- "\1\21\1\16\1\72\1\16\1\5\1\25\1\13\1\35\1\15\1\55"+
- "\1\10\1\14\1\34\12\1\1\62\1\50\1\30\1\67\1\32\1\27"+
+ "\1\21\1\16\1\73\1\16\1\5\1\25\1\13\1\35\1\15\1\55"+
+ "\1\10\1\14\1\34\12\1\1\62\1\50\1\30\1\70\1\32\1\27"+
"\1\36\1\43\1\26\1\40\1\57\1\46\1\64\1\61\1\41\1\51"+
- "\2\2\1\24\1\52\1\65\1\54\1\53\1\2\1\23\1\44\1\47"+
- "\1\22\5\2\1\66\1\3\1\71\1\16\1\2\1\16\1\42\1\7"+
- "\1\37\1\56\1\45\1\63\1\61\1\41\1\51\2\2\1\24\1\52"+
- "\1\65\1\54\1\53\1\2\1\23\1\44\1\47\1\22\5\2\1\60"+
- "\1\70\1\33\1\70\1\0\uff80\2";
+ "\2\66\1\24\1\52\1\65\1\54\1\53\1\66\1\23\1\44\1\47"+
+ "\1\22\5\66\1\67\1\3\1\72\1\16\1\2\1\16\1\42\1\7"+
+ "\1\37\1\56\1\45\1\63\1\61\1\41\1\51\2\66\1\24\1\52"+
+ "\1\65\1\54\1\53\1\66\1\23\1\44\1\47\1\22\5\66\1\60"+
+ "\1\71\1\33\1\71\1\0\uff80\2";
/**
* Translates characters to character classes
@@ -115,25 +115,24 @@ public class CSSTokenizer implements CSSRegionContexts, ICSSTokenizer {
"\1\22\1\25\1\0\1\25\2\0\1\25\1\0\1\26"+
"\1\42\1\32\1\0\1\32\1\0\1\45\2\0\1\45"+
"\1\0\1\46\1\51\1\32\1\0\1\2\1\35\1\36"+
- "\1\52\1\53\10\0\1\6\5\0\1\11\1\13\1\16"+
+ "\1\52\1\53\5\0\2\6\5\0\1\11\1\13\1\16"+
"\1\22\1\25\2\0\1\26\1\42\2\32\2\0\1\46"+
"\1\51\1\0\1\44\1\0\1\2\1\35\1\36\3\0"+
- "\1\54\2\0\1\6\1\0\1\6\10\0\1\55\1\11"+
- "\1\13\1\16\1\22\1\25\2\0\1\26\1\42\2\32"+
- "\2\0\1\46\2\51\5\0\1\56\1\0\1\2\1\35"+
- "\1\36\2\0\1\57\2\0\1\6\6\0\1\55\2\0"+
- "\1\11\1\13\1\16\1\22\1\25\2\0\1\26\1\42"+
- "\2\32\2\0\1\46\2\51\2\0\1\56\3\0\1\2"+
- "\1\35\1\36\1\0\1\60\2\0\1\6\13\0\1\11"+
- "\1\13\1\16\1\22\1\25\2\0\1\26\1\42\2\32"+
- "\2\0\1\46\2\51\10\0\1\35\1\36\1\61\2\0"+
- "\1\6\6\0\1\55\1\0\1\55\2\0\1\42\1\32"+
- "\2\0\1\46\2\51\2\0\1\56\1\0\1\56\6\0"+
- "\1\32\1\51\4\0\1\62\4\0\1\51\3\0\1\63"+
- "\12\0";
+ "\1\54\1\0\1\6\10\0\1\55\1\11\1\13\1\16"+
+ "\1\22\1\25\2\0\1\26\1\42\2\32\2\0\1\46"+
+ "\2\51\5\0\1\56\1\0\1\2\1\35\1\36\2\0"+
+ "\1\57\1\0\1\6\6\0\1\55\2\0\1\11\1\13"+
+ "\1\16\1\22\1\25\2\0\1\26\1\42\2\32\2\0"+
+ "\1\46\2\51\2\0\1\56\3\0\1\2\1\35\1\36"+
+ "\1\0\1\60\1\0\1\6\13\0\1\11\1\13\1\16"+
+ "\1\22\1\25\2\0\1\26\1\42\2\32\2\0\1\46"+
+ "\2\51\10\0\1\35\1\36\1\61\1\0\1\6\6\0"+
+ "\1\55\1\0\1\55\2\0\1\42\1\32\2\0\1\46"+
+ "\2\51\2\0\1\56\1\0\1\56\5\0\1\32\1\51"+
+ "\4\0\1\62\3\0\1\51\3\0\1\63\12\0";
private static int [] zzUnpackAction() {
- int [] result = new int[436];
+ int [] result = new int[426];
int offset = 0;
offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
return result;
@@ -158,64 +157,63 @@ public class CSSTokenizer implements CSSRegionContexts, ICSSTokenizer {
private static final int [] ZZ_ROWMAP = zzUnpackRowMap();
private static final String ZZ_ROWMAP_PACKED_0 =
- "\0\0\0\73\0\166\0\261\0\354\0\u0127\0\u0162\0\u019d"+
- "\0\u01d8\0\u0213\0\u024e\0\u0289\0\u02c4\0\u02ff\0\u033a\0\u0375"+
- "\0\u03b0\0\u03eb\0\u0426\0\u0461\0\u049c\0\u04d7\0\u0512\0\u054d"+
- "\0\u0588\0\u05c3\0\u05fe\0\u0461\0\u0639\0\u0461\0\u0674\0\u06af"+
- "\0\u0461\0\u06ea\0\u0725\0\u0760\0\u0461\0\u079b\0\u07d6\0\u0811"+
- "\0\u084c\0\u0887\0\u08c2\0\u0461\0\u08fd\0\u0938\0\u0973\0\u0461"+
- "\0\u0461\0\u09ae\0\u09e9\0\u0a24\0\u0461\0\u0a5f\0\u0a9a\0\u0461"+
- "\0\u0461\0\u0ad5\0\u0b10\0\u0b4b\0\u0461\0\u0b86\0\u0461\0\u0bc1"+
- "\0\u0bfc\0\u0c37\0\u0c72\0\u0cad\0\u0ce8\0\u0d23\0\u0d5e\0\u0d99"+
- "\0\u0461\0\u0461\0\u0dd4\0\u0e0f\0\u0e4a\0\u0e85\0\u0ec0\0\u0efb"+
- "\0\u0461\0\u0f36\0\u0f71\0\u0fac\0\u0fe7\0\u1022\0\u0639\0\u0461"+
- "\0\u105d\0\u04d7\0\u1098\0\u10d3\0\u0588\0\u110e\0\u05c3\0\u1149"+
- "\0\u1184\0\u11bf\0\u11fa\0\u1235\0\u1270\0\u12ab\0\u12e6\0\u1321"+
- "\0\u135c\0\u1397\0\u06ea\0\u13d2\0\u0461\0\u0760\0\u140d\0\u079b"+
- "\0\u1448\0\u0461\0\u07d6\0\u1483\0\u14be\0\u0887\0\u14f9\0\u0938"+
- "\0\u1534\0\u09e9\0\u156f\0\u15aa\0\u0461\0\u0b10\0\u15e5\0\u0bfc"+
- "\0\u1620\0\u0c37\0\u165b\0\u0461\0\u0cad\0\u1696\0\u0d23\0\u16d1"+
- "\0\u170c\0\u1747\0\u1782\0\u17bd\0\u0f36\0\u0461\0\u0e4a\0\u17f8"+
- "\0\u0461\0\u1833\0\u0e85\0\u186e\0\u0461\0\u0efb\0\u18a9\0\u18e4"+
- "\0\u0fac\0\u191f\0\u195a\0\u1995\0\u1022\0\u19d0\0\u0461\0\u1a0b"+
- "\0\u0461\0\u1a46\0\u1a81\0\u1abc\0\u1af7\0\u1b32\0\u1b6d\0\u1ba8"+
- "\0\u1be3\0\u1c1e\0\u1c59\0\u1c94\0\u1ccf\0\u06ea\0\u1d0a\0\u1d45"+
- "\0\u0760\0\u1d80\0\u1dbb\0\u079b\0\u1df6\0\u1e31\0\u07d6\0\u1e6c"+
- "\0\u1ea7\0\u1ee2\0\u1f1d\0\u1f58\0\u1f93\0\u1fce\0\u2009\0\u0c37"+
- "\0\u2044\0\u207f\0\u0cad\0\u20ba\0\u20f5\0\u2130\0\u216b\0\u21a6"+
- "\0\u21e1\0\u221c\0\u0e85\0\u2257\0\u2292\0\u0efb\0\u22cd\0\u2308"+
- "\0\u2343\0\u237e\0\u23b9\0\u23f4\0\u242f\0\u246a\0\u0461\0\u0461"+
- "\0\u24a5\0\u24e0\0\u251b\0\u2556\0\u2591\0\u25cc\0\u2607\0\u2642"+
- "\0\u267d\0\u26b8\0\u26f3\0\u272e\0\u2769\0\u27a4\0\u27df\0\u281a"+
- "\0\u2855\0\u2890\0\u28cb\0\u2906\0\u2941\0\u297c\0\u29b7\0\u29f2"+
- "\0\u2a2d\0\u2a68\0\u2aa3\0\u2ade\0\u2b19\0\u2b54\0\u2b8f\0\u2bca"+
- "\0\u2c05\0\u2c40\0\u2c7b\0\u2cb6\0\u2cf1\0\u2d2c\0\u0461\0\u2d67"+
- "\0\u2da2\0\u0461\0\u2ddd\0\u2e18\0\u2e53\0\u2e8e\0\u2ec9\0\u2f04"+
- "\0\u2f3f\0\u2f7a\0\u2fb5\0\u2ff0\0\u0461\0\u302b\0\u3066\0\u30a1"+
- "\0\u30dc\0\u3117\0\u3152\0\u318d\0\u31c8\0\u3203\0\u323e\0\u3279"+
- "\0\u32b4\0\u32ef\0\u332a\0\u3365\0\u33a0\0\u33db\0\u3416\0\u2b8f"+
- "\0\u3451\0\u348c\0\u0461\0\u34c7\0\u3502\0\u353d\0\u3578\0\u35b3"+
- "\0\u35ee\0\u0461\0\u3629\0\u3664\0\u369f\0\u36da\0\u3715\0\u3750"+
- "\0\u378b\0\u37c6\0\u3801\0\u2f3f\0\u383c\0\u3877\0\u38b2\0\u38ed"+
- "\0\u3928\0\u3963\0\u399e\0\u39d9\0\u3a14\0\u3a4f\0\u3a8a\0\u3ac5"+
- "\0\u3b00\0\u3b3b\0\u3b76\0\u3bb1\0\u3bec\0\u3c27\0\u3c62\0\u3c9d"+
- "\0\u33db\0\u3cd8\0\u3d13\0\u3d4e\0\u3d89\0\u3dc4\0\u3dff\0\u3e3a"+
- "\0\u0461\0\u3e75\0\u3eb0\0\u3eeb\0\u3f26\0\u3f61\0\u3f9c\0\u3fd7"+
- "\0\u4012\0\u404d\0\u4088\0\u40c3\0\u40fe\0\u4139\0\u4174\0\u41af"+
- "\0\u41ea\0\u4225\0\u4260\0\u429b\0\u42d6\0\u4311\0\u434c\0\u4387"+
- "\0\u43c2\0\u43fd\0\u4438\0\u4473\0\u44ae\0\u44e9\0\u4524\0\u455f"+
- "\0\u459a\0\u45d5\0\u4610\0\u464b\0\u4686\0\u46c1\0\u46fc\0\u4737"+
- "\0\u4772\0\u0461\0\u47ad\0\u47e8\0\u4823\0\u485e\0\u4899\0\u48d4"+
- "\0\u490f\0\u494a\0\u4985\0\u2fb5\0\u49c0\0\u2ff0\0\u49fb\0\u4a36"+
- "\0\u4a71\0\u4aac\0\u4ae7\0\u4b22\0\u4b5d\0\u4b98\0\u4bd3\0\u4c0e"+
- "\0\u4c49\0\u3451\0\u4c84\0\u348c\0\u4cbf\0\u4cfa\0\u4d35\0\u4d70"+
- "\0\u4dab\0\u4de6\0\u4e21\0\u4e5c\0\u4e97\0\u4ed2\0\u4f0d\0\u4f48"+
- "\0\u0461\0\u4f83\0\u4fbe\0\u4ff9\0\u5034\0\u0461\0\u506f\0\u50aa"+
- "\0\u50e5\0\u0461\0\u5120\0\u515b\0\u5196\0\u51d1\0\u520c\0\u5247"+
- "\0\u5282\0\u52bd\0\u52f8\0\u5333";
+ "\0\0\0\74\0\170\0\264\0\360\0\u012c\0\u0168\0\u01a4"+
+ "\0\u01e0\0\u021c\0\u0258\0\u0294\0\u02d0\0\u030c\0\u0348\0\u0384"+
+ "\0\u03c0\0\u03fc\0\u0438\0\u0474\0\u04b0\0\u04ec\0\u0528\0\u0564"+
+ "\0\u05a0\0\u05dc\0\u0618\0\u0474\0\u0654\0\u0474\0\u0690\0\u06cc"+
+ "\0\u0474\0\u0708\0\u0744\0\u0780\0\u0474\0\u07bc\0\u07f8\0\u0834"+
+ "\0\u0870\0\u08ac\0\u08e8\0\u0474\0\u0924\0\u0960\0\u099c\0\u0474"+
+ "\0\u0474\0\u09d8\0\u0a14\0\u0a50\0\u0474\0\u0a8c\0\u0ac8\0\u0474"+
+ "\0\u0474\0\u0b04\0\u0b40\0\u0b7c\0\u0474\0\u0bb8\0\u0474\0\u0bf4"+
+ "\0\u0c30\0\u0c6c\0\u0ca8\0\u0ce4\0\u0d20\0\u0d5c\0\u0d98\0\u0dd4"+
+ "\0\u0474\0\u0474\0\u0e10\0\u0e4c\0\u0e88\0\u0ec4\0\u0f00\0\u0f3c"+
+ "\0\u0474\0\u0f78\0\u0fb4\0\u0ff0\0\u102c\0\u1068\0\u0654\0\u0474"+
+ "\0\u10a4\0\u04ec\0\u10e0\0\u111c\0\u05a0\0\u1158\0\u05dc\0\u1194"+
+ "\0\u11d0\0\u120c\0\u1248\0\u1284\0\u12c0\0\u12fc\0\u1338\0\u1374"+
+ "\0\u13b0\0\u13ec\0\u0708\0\u1428\0\u0474\0\u0780\0\u1464\0\u07bc"+
+ "\0\u14a0\0\u0474\0\u07f8\0\u14dc\0\u1518\0\u08ac\0\u1554\0\u0960"+
+ "\0\u1590\0\u0a14\0\u15cc\0\u1608\0\u0474\0\u0b40\0\u1644\0\u0c30"+
+ "\0\u1680\0\u0c6c\0\u16bc\0\u0474\0\u0ce4\0\u16f8\0\u0d5c\0\u1734"+
+ "\0\u1770\0\u17ac\0\u17e8\0\u1824\0\u0f78\0\u0474\0\u0e88\0\u1860"+
+ "\0\u0474\0\u189c\0\u0ec4\0\u18d8\0\u0474\0\u0f3c\0\u1914\0\u1950"+
+ "\0\u0ff0\0\u198c\0\u19c8\0\u1a04\0\u1068\0\u1a40\0\u0474\0\u1a7c"+
+ "\0\u0474\0\u1ab8\0\u1af4\0\u1b30\0\u1b6c\0\u1ba8\0\u1be4\0\u1c20"+
+ "\0\u1c5c\0\u1c98\0\u1cd4\0\u1d10\0\u1d4c\0\u0708\0\u1d88\0\u1dc4"+
+ "\0\u0780\0\u1e00\0\u1e3c\0\u07bc\0\u1e78\0\u1eb4\0\u07f8\0\u1ef0"+
+ "\0\u1f2c\0\u1f68\0\u1fa4\0\u1fe0\0\u201c\0\u2058\0\u2094\0\u0c6c"+
+ "\0\u20d0\0\u210c\0\u0ce4\0\u2148\0\u2184\0\u21c0\0\u21fc\0\u2238"+
+ "\0\u2274\0\u22b0\0\u0ec4\0\u22ec\0\u2328\0\u0f3c\0\u2364\0\u23a0"+
+ "\0\u23dc\0\u2418\0\u2454\0\u2490\0\u24cc\0\u2508\0\u0474\0\u0474"+
+ "\0\u2544\0\u2580\0\u25bc\0\u25f8\0\u2634\0\u0474\0\u2670\0\u26ac"+
+ "\0\u26e8\0\u2724\0\u2760\0\u279c\0\u27d8\0\u2814\0\u2850\0\u288c"+
+ "\0\u28c8\0\u2904\0\u2940\0\u297c\0\u29b8\0\u29f4\0\u2a30\0\u2a6c"+
+ "\0\u2aa8\0\u2ae4\0\u2b20\0\u2b5c\0\u2b98\0\u2bd4\0\u2c10\0\u2c4c"+
+ "\0\u2c88\0\u2cc4\0\u2d00\0\u2d3c\0\u0474\0\u2d78\0\u2db4\0\u2df0"+
+ "\0\u2e2c\0\u2e68\0\u2ea4\0\u2ee0\0\u2f1c\0\u2f58\0\u2f94\0\u0474"+
+ "\0\u2fd0\0\u300c\0\u3048\0\u3084\0\u30c0\0\u30fc\0\u3138\0\u3174"+
+ "\0\u31b0\0\u31ec\0\u3228\0\u3264\0\u32a0\0\u32dc\0\u3318\0\u3354"+
+ "\0\u3390\0\u33cc\0\u2b98\0\u3408\0\u3444\0\u0474\0\u3480\0\u34bc"+
+ "\0\u34f8\0\u3534\0\u3570\0\u35ac\0\u0474\0\u35e8\0\u3624\0\u3660"+
+ "\0\u369c\0\u36d8\0\u3714\0\u3750\0\u378c\0\u2ee0\0\u37c8\0\u3804"+
+ "\0\u3840\0\u387c\0\u38b8\0\u38f4\0\u3930\0\u396c\0\u39a8\0\u39e4"+
+ "\0\u3a20\0\u3a5c\0\u3a98\0\u3ad4\0\u3b10\0\u3b4c\0\u3b88\0\u3bc4"+
+ "\0\u3c00\0\u3c3c\0\u3390\0\u3c78\0\u3cb4\0\u3cf0\0\u3d2c\0\u3d68"+
+ "\0\u3da4\0\u3de0\0\u0474\0\u3e1c\0\u3e58\0\u3e94\0\u3ed0\0\u3f0c"+
+ "\0\u3f48\0\u3f84\0\u3fc0\0\u3ffc\0\u4038\0\u4074\0\u40b0\0\u40ec"+
+ "\0\u4128\0\u4164\0\u41a0\0\u41dc\0\u4218\0\u4254\0\u4290\0\u42cc"+
+ "\0\u4308\0\u4344\0\u4380\0\u43bc\0\u43f8\0\u4434\0\u4470\0\u44ac"+
+ "\0\u44e8\0\u4524\0\u4560\0\u459c\0\u45d8\0\u4614\0\u4650\0\u468c"+
+ "\0\u46c8\0\u4704\0\u0474\0\u4740\0\u477c\0\u47b8\0\u47f4\0\u4830"+
+ "\0\u486c\0\u48a8\0\u48e4\0\u2f58\0\u4920\0\u2f94\0\u495c\0\u4998"+
+ "\0\u49d4\0\u4a10\0\u4a4c\0\u4a88\0\u4ac4\0\u4b00\0\u4b3c\0\u4b78"+
+ "\0\u4bb4\0\u3408\0\u4bf0\0\u3444\0\u4c2c\0\u4c68\0\u4ca4\0\u4ce0"+
+ "\0\u4d1c\0\u4d58\0\u4d94\0\u4dd0\0\u4e0c\0\u4e48\0\u4e84\0\u0474"+
+ "\0\u4ec0\0\u4efc\0\u4f38\0\u0474\0\u4f74\0\u4fb0\0\u4fec\0\u0474"+
+ "\0\u5028\0\u5064\0\u50a0\0\u50dc\0\u5118\0\u5154\0\u5190\0\u51cc"+
+ "\0\u5208\0\u5244";
private static int [] zzUnpackRowMap() {
- int [] result = new int[436];
+ int [] result = new int[426];
int offset = 0;
offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
return result;
@@ -242,884 +240,849 @@ public class CSSTokenizer implements CSSRegionContexts, ICSSTokenizer {
"\1\24\1\27\1\24\1\31\2\24\2\27\1\32\3\25"+
"\1\24\1\25\1\24\1\33\2\24\1\34\1\35\1\36"+
"\1\37\11\25\1\24\4\25\1\24\2\25\1\24\1\25"+
- "\1\40\3\25\1\41\10\24\1\27\1\42\1\27\1\24"+
+ "\1\40\4\25\1\41\10\24\1\27\1\42\1\27\1\24"+
"\1\43\1\44\1\27\4\24\2\27\7\24\1\33\2\24"+
- "\1\34\1\35\1\24\1\37\40\24\1\27\1\24\1\27"+
+ "\1\34\1\35\1\24\1\37\41\24\1\27\1\24\1\27"+
"\1\24\1\43\1\24\1\27\4\24\2\27\7\24\1\33"+
- "\2\24\1\34\1\35\1\24\1\37\11\24\1\45\26\24"+
+ "\2\24\1\34\1\35\1\24\1\37\11\24\1\45\27\24"+
"\1\27\1\46\1\27\1\24\1\43\1\47\1\27\4\24"+
"\2\27\1\24\1\50\5\24\1\33\2\24\1\34\1\35"+
- "\1\24\1\37\11\24\1\45\24\24\1\51\1\52\1\27"+
+ "\1\24\1\37\11\24\1\45\25\24\1\51\1\52\1\27"+
"\1\24\1\27\1\51\1\53\1\24\1\27\4\24\2\27"+
"\1\24\3\51\1\24\1\51\1\24\1\33\2\24\1\34"+
"\1\35\1\24\1\37\11\51\1\45\4\51\1\24\2\51"+
- "\1\24\1\51\1\24\3\51\11\24\1\27\1\24\1\27"+
+ "\1\24\1\51\1\24\4\51\11\24\1\27\1\24\1\27"+
"\1\24\1\43\1\24\1\27\4\24\2\27\7\24\1\33"+
"\2\24\1\34\1\35\1\24\1\37\11\24\1\45\4\24"+
- "\1\54\17\24\1\55\1\56\1\27\1\24\1\27\1\55"+
+ "\1\54\20\24\1\55\1\56\1\27\1\24\1\27\1\55"+
"\1\57\1\24\1\27\4\24\2\27\1\24\3\55\1\24"+
"\1\55\1\24\1\33\2\24\1\34\1\35\1\24\1\37"+
"\11\55\1\24\4\55\1\24\2\55\1\60\1\55\1\24"+
- "\3\55\11\24\1\27\1\24\1\27\1\24\1\43\1\24"+
+ "\4\55\11\24\1\27\1\24\1\27\1\24\1\43\1\24"+
"\1\27\4\24\2\27\7\24\1\33\2\24\1\34\1\35"+
- "\1\24\1\37\16\24\1\61\2\24\1\60\14\24\1\62"+
+ "\1\24\1\37\16\24\1\61\2\24\1\60\15\24\1\62"+
"\1\63\1\27\1\24\1\27\1\62\1\64\1\24\1\27"+
"\4\24\2\27\1\24\3\62\1\24\1\62\1\24\1\33"+
"\2\24\1\34\1\35\1\24\1\37\11\62\1\24\4\62"+
- "\1\24\2\62\1\65\1\62\1\66\3\62\11\24\1\27"+
+ "\1\24\2\62\1\65\1\62\1\66\4\62\11\24\1\27"+
"\1\24\1\27\1\24\1\43\1\24\1\27\4\24\2\27"+
"\7\24\1\33\2\24\1\34\1\35\1\24\1\37\21\24"+
- "\1\65\16\24\1\67\1\24\1\67\1\24\1\43\1\24"+
+ "\1\65\17\24\1\67\1\24\1\67\1\24\1\43\1\24"+
"\1\67\1\24\1\31\1\70\1\24\2\67\1\32\6\24"+
"\1\33\1\24\1\70\1\34\1\35\1\36\1\37\16\24"+
- "\1\71\2\24\1\65\1\24\1\40\3\24\1\41\6\24"+
+ "\1\71\2\24\1\65\1\24\1\40\4\24\1\41\6\24"+
"\1\72\1\73\1\27\1\24\1\27\1\72\1\74\1\24"+
"\1\27\4\24\2\27\1\24\3\72\1\24\1\72\1\24"+
"\1\33\2\24\1\34\1\35\1\24\1\37\11\72\1\24"+
- "\4\72\1\24\2\72\1\24\1\72\1\24\3\72\11\24"+
+ "\4\72\1\24\2\72\1\24\1\72\1\24\4\72\11\24"+
"\1\27\1\24\1\27\1\24\1\43\1\24\1\27\4\24"+
"\2\27\7\24\1\33\2\24\1\34\1\35\1\24\1\37"+
- "\30\24\1\75\1\76\1\77\3\24\1\100\1\101\1\27"+
+ "\31\24\1\75\1\76\1\77\3\24\1\100\1\101\1\27"+
"\1\102\1\27\1\100\1\103\1\104\1\27\4\24\2\27"+
"\1\24\3\100\1\24\1\100\1\24\1\33\2\24\1\34"+
"\1\35\1\24\1\37\11\100\1\24\4\100\1\24\2\100"+
- "\1\24\1\100\1\24\3\100\11\24\1\27\1\24\1\27"+
+ "\1\24\1\100\1\24\4\100\11\24\1\27\1\24\1\27"+
"\1\24\1\43\1\24\1\27\4\24\2\27\7\24\1\33"+
- "\2\24\1\34\1\35\1\24\1\37\32\24\1\77\3\24"+
+ "\2\24\1\34\1\35\1\24\1\37\33\24\1\77\3\24"+
"\1\105\1\106\1\27\1\24\1\27\1\105\1\107\1\24"+
"\1\27\4\24\2\27\1\24\3\105\1\24\1\105\1\24"+
"\1\33\2\24\1\34\1\35\1\110\1\37\11\105\1\111"+
- "\4\105\1\24\2\105\1\24\1\105\1\24\3\105\11\24"+
+ "\4\105\1\24\2\105\1\24\1\105\1\24\4\105\11\24"+
"\1\27\1\24\1\27\1\24\1\43\1\24\1\27\4\24"+
"\2\27\7\24\1\33\2\24\1\34\1\35\1\24\1\37"+
- "\11\24\1\111\11\24\1\112\11\24\1\113\1\114\1\115"+
+ "\11\24\1\111\11\24\1\112\12\24\1\113\1\114\1\115"+
"\1\27\1\116\1\27\1\114\1\117\1\120\1\27\1\121"+
"\1\122\1\123\1\24\2\27\1\124\1\125\2\114\1\24"+
"\1\114\1\24\1\33\1\126\1\24\1\34\1\127\1\24"+
"\1\37\11\114\1\111\4\114\1\130\2\114\1\24\1\114"+
- "\1\24\3\114\6\24\1\113\1\114\1\115\1\131\1\116"+
+ "\1\24\4\114\6\24\1\113\1\114\1\115\1\131\1\116"+
"\1\131\1\114\1\117\1\120\1\131\1\121\1\122\1\123"+
"\1\24\2\131\1\124\1\125\2\114\1\24\1\114\1\24"+
"\1\33\1\126\1\24\1\34\1\127\1\24\1\37\11\114"+
- "\1\111\4\114\1\130\2\114\1\24\1\114\1\24\3\114"+
- "\5\24\74\0\2\25\1\132\3\0\2\25\11\0\3\25"+
+ "\1\111\4\114\1\130\2\114\1\24\1\114\1\24\4\114"+
+ "\5\24\75\0\2\25\1\132\3\0\2\25\11\0\3\25"+
"\1\0\1\25\10\0\11\25\1\0\4\25\1\0\2\25"+
- "\1\0\1\25\1\0\3\25\6\0\1\133\2\25\1\0"+
+ "\1\0\1\25\1\0\4\25\6\0\1\133\2\25\1\0"+
"\2\25\1\133\2\25\1\0\4\25\2\0\16\25\1\133"+
"\2\25\1\133\2\25\1\133\10\25\1\133\4\25\1\133"+
- "\7\25\4\0\1\27\1\0\1\27\3\0\1\27\4\0"+
- "\2\27\54\0\1\25\1\132\3\0\1\25\1\134\11\0"+
+ "\10\25\4\0\1\27\1\0\1\27\3\0\1\27\4\0"+
+ "\2\27\55\0\1\25\1\132\3\0\1\25\1\134\11\0"+
"\3\25\1\0\1\25\10\0\11\25\1\0\4\25\1\0"+
- "\2\25\1\0\1\25\1\0\3\25\6\0\2\135\1\136"+
+ "\2\25\1\0\1\25\1\0\4\25\6\0\2\135\1\136"+
"\3\0\2\135\11\0\3\135\1\0\1\135\10\0\11\135"+
- "\1\0\4\135\1\0\2\135\1\0\1\135\1\0\3\135"+
+ "\1\0\4\135\1\0\2\135\1\0\1\135\1\0\4\135"+
"\6\0\2\137\1\140\3\0\2\137\11\0\3\137\1\0"+
"\1\137\10\0\11\137\1\0\4\137\1\0\2\137\1\0"+
- "\1\137\1\0\3\137\36\0\1\141\76\0\1\142\74\0"+
- "\2\143\10\0\1\144\1\145\1\146\7\0\2\147\10\0"+
+ "\1\137\1\0\4\137\36\0\1\141\77\0\1\142\75\0"+
+ "\2\143\10\0\1\144\1\145\1\146\7\0\2\147\11\0"+
"\1\150\1\151\3\0\1\150\1\152\11\0\3\150\1\0"+
"\1\150\10\0\11\150\1\0\4\150\1\0\2\150\1\0"+
- "\1\150\1\0\3\150\6\0\2\153\1\154\1\0\1\155"+
- "\11\153\2\0\52\153\10\0\1\134\63\0\2\156\1\157"+
- "\1\0\4\156\1\155\5\156\2\0\52\156\1\0\2\160"+
- "\1\161\1\0\1\162\11\160\2\0\52\160\1\0\2\163"+
- "\1\164\1\0\4\163\1\162\5\163\2\0\52\163\23\0"+
- "\1\165\50\0\2\51\1\166\3\0\2\51\11\0\3\51"+
+ "\1\150\1\0\4\150\6\0\2\153\1\154\1\0\1\155"+
+ "\11\153\2\0\53\153\10\0\1\134\64\0\2\156\1\157"+
+ "\1\0\4\156\1\155\5\156\2\0\53\156\1\0\2\160"+
+ "\1\161\1\0\1\162\11\160\2\0\53\160\1\0\2\163"+
+ "\1\164\1\0\4\163\1\162\5\163\2\0\53\163\23\0"+
+ "\1\165\51\0\2\51\1\166\3\0\2\51\11\0\3\51"+
"\1\0\1\51\10\0\11\51\1\0\4\51\1\0\2\51"+
- "\1\0\1\51\1\0\3\51\6\0\1\167\2\51\1\0"+
+ "\1\0\1\51\1\0\4\51\6\0\1\167\2\51\1\0"+
"\2\51\1\167\2\51\1\0\4\51\2\0\16\51\1\167"+
"\2\51\1\167\2\51\1\167\10\51\1\167\4\51\1\167"+
- "\7\51\2\0\1\51\1\166\3\0\1\51\1\134\11\0"+
+ "\10\51\2\0\1\51\1\166\3\0\1\51\1\134\11\0"+
"\3\51\1\0\1\51\10\0\11\51\1\0\4\51\1\0"+
- "\2\51\1\0\1\51\1\0\3\51\6\0\2\55\1\170"+
+ "\2\51\1\0\1\51\1\0\4\51\6\0\2\55\1\170"+
"\3\0\2\55\11\0\3\55\1\0\1\55\10\0\11\55"+
- "\1\0\4\55\1\0\2\55\1\0\1\55\1\0\3\55"+
+ "\1\0\4\55\1\0\2\55\1\0\1\55\1\0\4\55"+
"\6\0\1\171\2\55\1\0\2\55\1\171\2\55\1\0"+
"\4\55\2\0\16\55\1\171\2\55\1\171\2\55\1\171"+
- "\10\55\1\171\4\55\1\171\7\55\2\0\1\55\1\170"+
+ "\10\55\1\171\4\55\1\171\10\55\2\0\1\55\1\170"+
"\3\0\1\55\1\134\11\0\3\55\1\0\1\55\10\0"+
"\11\55\1\0\4\55\1\0\2\55\1\0\1\55\1\0"+
- "\3\55\6\0\2\62\1\172\3\0\2\62\11\0\3\62"+
+ "\4\55\6\0\2\62\1\172\3\0\2\62\11\0\3\62"+
"\1\0\1\62\10\0\11\62\1\0\4\62\1\0\2\62"+
- "\1\0\1\62\1\0\3\62\6\0\1\173\2\62\1\0"+
+ "\1\0\1\62\1\0\4\62\6\0\1\173\2\62\1\0"+
"\2\62\1\173\2\62\1\0\4\62\2\0\16\62\1\173"+
"\2\62\1\173\2\62\1\173\10\62\1\173\4\62\1\173"+
- "\7\62\2\0\1\62\1\172\3\0\1\62\1\134\11\0"+
+ "\10\62\2\0\1\62\1\172\3\0\1\62\1\134\11\0"+
"\3\62\1\0\1\62\10\0\11\62\1\0\4\62\1\0"+
- "\2\62\1\0\1\62\1\0\3\62\7\0\1\62\1\172"+
+ "\2\62\1\0\1\62\1\0\4\62\7\0\1\62\1\172"+
"\3\0\1\62\1\174\11\0\3\62\1\0\1\62\10\0"+
"\11\62\1\0\4\62\1\0\2\62\1\0\1\62\1\0"+
- "\3\62\5\0\4\175\1\67\1\175\1\67\3\175\1\67"+
+ "\4\62\5\0\4\175\1\67\1\175\1\67\3\175\1\67"+
"\2\175\1\0\1\175\2\67\11\175\1\0\1\175\1\0"+
- "\20\175\1\0\2\175\1\0\12\175\1\0\2\72\1\176"+
+ "\20\175\1\0\2\175\1\0\13\175\1\0\2\72\1\176"+
"\3\0\2\72\11\0\3\72\1\0\1\72\10\0\11\72"+
- "\1\0\4\72\1\0\2\72\1\0\1\72\1\0\3\72"+
+ "\1\0\4\72\1\0\2\72\1\0\1\72\1\0\4\72"+
"\6\0\1\177\2\72\1\0\2\72\1\177\2\72\1\0"+
"\4\72\2\0\16\72\1\177\2\72\1\177\2\72\1\177"+
- "\10\72\1\177\4\72\1\177\7\72\2\0\1\72\1\176"+
+ "\10\72\1\177\4\72\1\177\10\72\2\0\1\72\1\176"+
"\3\0\1\72\1\134\11\0\3\72\1\0\1\72\10\0"+
"\11\72\1\0\4\72\1\0\2\72\1\0\1\72\1\0"+
- "\3\72\74\0\1\75\4\0\2\100\1\200\3\0\2\100"+
+ "\4\72\75\0\1\75\4\0\2\100\1\200\3\0\2\100"+
"\11\0\3\100\1\0\1\100\10\0\11\100\1\0\4\100"+
- "\1\0\2\100\1\0\1\100\1\0\3\100\6\0\1\201"+
+ "\1\0\2\100\1\0\1\100\1\0\4\100\6\0\1\201"+
"\2\100\1\0\2\100\1\201\2\100\1\0\4\100\2\0"+
"\16\100\1\201\2\100\1\201\2\100\1\201\10\100\1\201"+
- "\4\100\1\201\7\100\1\0\2\202\1\203\1\0\1\204"+
- "\11\202\2\0\52\202\2\0\1\100\1\200\3\0\1\100"+
+ "\4\100\1\201\10\100\1\0\2\202\1\203\1\0\1\204"+
+ "\11\202\2\0\53\202\2\0\1\100\1\200\3\0\1\100"+
"\1\134\11\0\3\100\1\0\1\100\10\0\11\100\1\0"+
- "\4\100\1\0\2\100\1\0\1\100\1\0\3\100\6\0"+
- "\2\205\1\206\1\0\4\205\1\204\5\205\2\0\52\205"+
+ "\4\100\1\0\2\100\1\0\1\100\1\0\4\100\6\0"+
+ "\2\205\1\206\1\0\4\205\1\204\5\205\2\0\53\205"+
"\1\0\2\105\1\207\3\0\2\105\11\0\3\105\1\0"+
"\1\105\10\0\11\105\1\0\4\105\1\0\2\105\1\0"+
- "\1\105\1\0\3\105\6\0\1\210\2\105\1\0\2\105"+
+ "\1\105\1\0\4\105\6\0\1\210\2\105\1\0\2\105"+
"\1\210\2\105\1\0\4\105\2\0\16\105\1\210\2\105"+
- "\1\210\2\105\1\210\10\105\1\210\4\105\1\210\7\105"+
+ "\1\210\2\105\1\210\10\105\1\210\4\105\1\210\10\105"+
"\2\0\1\105\1\207\3\0\1\105\1\134\11\0\3\105"+
"\1\0\1\105\10\0\11\105\1\0\4\105\1\0\2\105"+
- "\1\0\1\105\1\0\3\105\7\0\1\105\1\207\3\0"+
+ "\1\0\1\105\1\0\4\105\7\0\1\105\1\207\3\0"+
"\1\105\1\211\11\0\3\105\1\0\1\105\10\0\11\105"+
- "\1\0\4\105\1\0\2\105\1\0\1\105\1\0\3\105"+
+ "\1\0\4\105\1\0\2\105\1\0\1\105\1\0\4\105"+
"\6\0\1\113\1\212\1\213\3\0\1\212\1\214\3\0"+
"\1\215\5\0\3\212\1\0\1\212\10\0\11\212\1\0"+
- "\4\212\1\0\2\212\1\0\1\212\1\0\3\212\4\0"+
+ "\4\212\1\0\2\212\1\0\1\212\1\0\4\212\4\0"+
"\1\216\1\0\2\114\1\217\3\0\2\114\3\0\1\220"+
"\5\0\3\114\1\221\1\114\10\0\11\114\1\0\4\114"+
- "\1\0\2\114\1\0\1\114\1\0\3\114\6\0\1\222"+
+ "\1\0\2\114\1\0\1\114\1\0\4\114\6\0\1\222"+
"\2\114\1\0\2\114\1\222\2\114\1\0\4\114\2\0"+
"\16\114\1\222\2\114\1\222\2\114\1\222\10\114\1\222"+
- "\4\114\1\222\7\114\1\0\2\223\1\224\1\0\1\225"+
- "\11\223\2\0\52\223\1\0\1\113\1\114\1\217\3\0"+
+ "\4\114\1\222\10\114\1\0\2\223\1\224\1\0\1\225"+
+ "\11\223\2\0\53\223\1\0\1\113\1\114\1\217\3\0"+
"\1\114\1\134\3\0\1\215\5\0\3\114\1\0\1\114"+
"\10\0\11\114\1\0\4\114\1\0\2\114\1\0\1\114"+
- "\1\0\3\114\6\0\2\226\1\227\1\0\4\226\1\225"+
- "\5\226\2\0\52\226\1\0\1\230\72\0\1\113\12\0"+
- "\1\215\57\0\2\231\1\232\3\0\2\231\11\0\3\231"+
+ "\1\0\4\114\6\0\2\226\1\227\1\0\4\226\1\225"+
+ "\5\226\2\0\53\226\1\0\1\230\73\0\1\113\12\0"+
+ "\1\215\60\0\2\231\1\232\3\0\2\231\11\0\3\231"+
"\1\0\1\231\10\0\11\231\1\0\4\231\1\0\2\231"+
- "\1\0\1\231\1\0\3\231\6\0\2\114\1\217\3\0"+
+ "\1\0\1\231\1\0\4\231\6\0\2\114\1\217\3\0"+
"\2\114\3\0\1\220\1\233\4\0\1\114\1\234\1\114"+
"\1\221\1\114\10\0\11\114\1\0\4\114\1\0\2\114"+
- "\1\0\1\114\1\0\3\114\11\0\1\235\1\0\1\235"+
- "\3\0\1\235\4\0\2\235\30\0\1\236\21\0\4\237"+
+ "\1\0\1\114\1\0\4\114\11\0\1\235\1\0\1\235"+
+ "\3\0\1\235\4\0\2\235\30\0\1\236\22\0\4\237"+
"\1\131\1\237\1\131\3\237\1\131\4\237\2\131\12\237"+
- "\1\0\14\237\1\0\22\237\1\0\1\240\1\25\1\132"+
+ "\1\0\14\237\1\0\23\237\1\0\1\240\1\25\1\132"+
"\1\25\1\0\1\25\1\240\1\25\1\0\1\25\4\0"+
"\2\25\1\0\3\25\1\0\1\25\10\0\1\240\2\25"+
"\1\240\2\25\1\240\2\25\1\0\4\25\1\0\1\240"+
- "\1\25\1\0\1\25\1\0\1\240\2\25\37\0\1\241"+
- "\41\0\1\242\2\135\1\0\2\135\1\242\2\135\1\0"+
+ "\1\25\1\0\1\25\1\0\1\240\3\25\37\0\1\241"+
+ "\42\0\1\242\2\135\1\0\2\135\1\242\2\135\1\0"+
"\4\135\2\0\16\135\1\242\2\135\1\242\2\135\1\242"+
- "\10\135\1\242\4\135\1\242\7\135\1\0\1\243\2\137"+
+ "\10\135\1\242\4\135\1\242\10\135\1\0\1\243\2\137"+
"\1\0\2\137\1\243\2\137\1\0\4\137\2\0\16\137"+
"\1\243\2\137\1\243\2\137\1\243\10\137\1\243\4\137"+
- "\1\243\7\137\10\0\1\244\62\0\35\142\1\245\35\142"+
- "\41\0\1\246\103\0\1\247\65\0\2\250\66\0\2\251"+
- "\103\0\1\252\17\0\2\150\1\151\3\0\2\150\11\0"+
+ "\1\243\10\137\10\0\1\244\63\0\35\142\1\245\36\142"+
+ "\41\0\1\246\104\0\1\247\66\0\2\250\67\0\2\251"+
+ "\104\0\1\252\20\0\2\150\1\151\3\0\2\150\11\0"+
"\3\150\1\253\1\150\10\0\11\150\1\0\4\150\1\0"+
- "\2\150\1\0\1\150\1\0\3\150\6\0\1\254\2\150"+
+ "\2\150\1\0\1\150\1\0\4\150\6\0\1\254\2\150"+
"\1\0\2\150\1\254\2\150\1\0\4\150\2\0\16\150"+
"\1\254\2\150\1\254\2\150\1\254\10\150\1\254\4\150"+
- "\1\254\7\150\2\0\1\150\1\151\3\0\1\150\12\0"+
+ "\1\254\10\150\2\0\1\150\1\151\3\0\1\150\12\0"+
"\3\150\1\0\1\150\10\0\11\150\1\0\4\150\1\0"+
- "\2\150\1\0\1\150\1\0\3\150\6\0\1\255\1\153"+
+ "\2\150\1\0\1\150\1\0\4\150\6\0\1\255\1\153"+
"\1\154\1\153\1\256\1\153\1\255\10\153\1\257\16\153"+
"\1\255\2\153\1\255\2\153\1\255\10\153\1\255\4\153"+
- "\1\255\7\153\1\0\1\260\1\156\1\157\3\156\1\260"+
+ "\1\255\10\153\1\0\1\260\1\156\1\157\3\156\1\260"+
"\1\156\1\261\6\156\1\262\16\156\1\260\2\156\1\260"+
- "\2\156\1\260\10\156\1\260\4\156\1\260\7\156\1\0"+
+ "\2\156\1\260\10\156\1\260\4\156\1\260\10\156\1\0"+
"\1\263\1\160\1\161\1\160\1\264\1\160\1\263\10\160"+
"\1\265\16\160\1\263\2\160\1\263\2\160\1\263\10\160"+
- "\1\263\4\160\1\263\7\160\1\0\1\266\1\163\1\164"+
+ "\1\263\4\160\1\263\10\160\1\0\1\266\1\163\1\164"+
"\3\163\1\266\1\163\1\267\6\163\1\270\16\163\1\266"+
"\2\163\1\266\2\163\1\266\10\163\1\266\4\163\1\266"+
- "\7\163\24\0\1\271\47\0\1\272\1\51\1\166\1\51"+
+ "\10\163\24\0\1\271\50\0\1\272\1\51\1\166\1\51"+
"\1\0\1\51\1\272\1\51\1\0\1\51\4\0\2\51"+
"\1\0\3\51\1\0\1\51\10\0\1\272\2\51\1\272"+
"\2\51\1\272\2\51\1\0\4\51\1\0\1\272\1\51"+
- "\1\0\1\51\1\0\1\272\2\51\6\0\1\273\1\55"+
+ "\1\0\1\51\1\0\1\272\3\51\6\0\1\273\1\55"+
"\1\170\1\55\1\0\1\55\1\273\1\55\1\0\1\55"+
"\4\0\2\55\1\0\3\55\1\0\1\55\10\0\1\273"+
"\2\55\1\273\2\55\1\273\2\55\1\0\4\55\1\0"+
- "\1\273\1\55\1\0\1\55\1\0\1\273\2\55\6\0"+
+ "\1\273\1\55\1\0\1\55\1\0\1\273\3\55\6\0"+
"\1\274\1\62\1\172\1\62\1\0\1\62\1\274\1\62"+
"\1\0\1\62\4\0\2\62\1\0\3\62\1\0\1\62"+
"\10\0\1\274\2\62\1\274\2\62\1\274\2\62\1\0"+
"\4\62\1\0\1\274\1\62\1\0\1\62\1\0\1\274"+
- "\2\62\7\0\1\62\1\172\3\0\1\62\12\0\3\62"+
+ "\3\62\7\0\1\62\1\172\3\0\1\62\12\0\3\62"+
"\1\0\1\62\10\0\11\62\1\0\4\62\1\0\2\62"+
- "\1\0\1\62\1\0\3\62\6\0\1\275\1\72\1\176"+
+ "\1\0\1\62\1\0\4\62\6\0\1\275\1\72\1\176"+
"\1\72\1\0\1\72\1\275\1\72\1\0\1\72\4\0"+
"\2\72\1\0\3\72\1\0\1\72\10\0\1\275\2\72"+
"\1\275\2\72\1\275\2\72\1\0\4\72\1\0\1\275"+
- "\1\72\1\0\1\72\1\0\1\275\2\72\6\0\1\276"+
+ "\1\72\1\0\1\72\1\0\1\275\3\72\6\0\1\276"+
"\1\100\1\200\1\100\1\0\1\100\1\276\1\100\1\0"+
"\1\100\4\0\2\100\1\0\3\100\1\0\1\100\10\0"+
"\1\276\2\100\1\276\2\100\1\276\2\100\1\0\4\100"+
- "\1\0\1\276\1\100\1\0\1\100\1\0\1\276\2\100"+
+ "\1\0\1\276\1\100\1\0\1\100\1\0\1\276\3\100"+
"\6\0\1\277\1\202\1\203\1\202\1\300\1\202\1\277"+
"\10\202\1\301\16\202\1\277\2\202\1\277\2\202\1\277"+
- "\10\202\1\277\4\202\1\277\7\202\1\0\1\302\1\205"+
+ "\10\202\1\277\4\202\1\277\10\202\1\0\1\302\1\205"+
"\1\206\3\205\1\302\1\205\1\303\6\205\1\304\16\205"+
"\1\302\2\205\1\302\2\205\1\302\10\205\1\302\4\205"+
- "\1\302\7\205\1\0\1\305\1\105\1\207\1\105\1\0"+
+ "\1\302\10\205\1\0\1\305\1\105\1\207\1\105\1\0"+
"\1\105\1\305\1\105\1\0\1\105\4\0\2\105\1\0"+
"\3\105\1\0\1\105\10\0\1\305\2\105\1\305\2\105"+
"\1\305\2\105\1\0\4\105\1\0\1\305\1\105\1\0"+
- "\1\105\1\0\1\305\2\105\7\0\1\105\1\207\3\0"+
+ "\1\105\1\0\1\305\3\105\7\0\1\105\1\207\3\0"+
"\1\105\12\0\3\105\1\0\1\105\10\0\11\105\1\0"+
- "\4\105\1\0\2\105\1\0\1\105\1\0\3\105\6\0"+
+ "\4\105\1\0\2\105\1\0\1\105\1\0\4\105\6\0"+
"\2\212\1\213\3\0\2\212\11\0\3\212\1\0\1\212"+
"\10\0\11\212\1\0\4\212\1\0\2\212\1\0\1\212"+
- "\1\0\3\212\6\0\1\306\2\212\1\0\2\212\1\306"+
+ "\1\0\4\212\6\0\1\306\2\212\1\0\2\212\1\306"+
"\2\212\1\0\4\212\2\0\16\212\1\306\2\212\1\306"+
- "\2\212\1\306\10\212\1\306\4\212\1\306\7\212\2\0"+
+ "\2\212\1\306\10\212\1\306\4\212\1\306\10\212\2\0"+
"\1\212\1\213\3\0\1\212\12\0\3\212\1\0\1\212"+
"\10\0\11\212\1\0\4\212\1\0\2\212\1\0\1\212"+
- "\1\0\3\212\6\0\2\307\1\310\3\0\2\307\11\0"+
+ "\1\0\4\212\6\0\2\307\1\310\3\0\2\307\11\0"+
"\3\307\1\0\1\307\10\0\11\307\1\0\4\307\1\0"+
- "\2\307\1\0\1\307\1\0\3\307\6\0\1\311\1\114"+
+ "\2\307\1\0\1\307\1\0\4\307\6\0\1\311\1\114"+
"\1\217\1\114\1\0\1\114\1\311\1\114\1\0\1\114"+
"\1\0\1\220\2\0\2\114\1\0\3\114\1\221\1\114"+
"\10\0\1\311\2\114\1\311\2\114\1\311\2\114\1\0"+
"\4\114\1\0\1\311\1\114\1\0\1\114\1\0\1\311"+
- "\2\114\6\0\1\312\1\223\1\224\1\223\1\313\1\223"+
+ "\3\114\6\0\1\312\1\223\1\224\1\223\1\313\1\223"+
"\1\312\10\223\1\314\16\223\1\312\2\223\1\312\2\223"+
- "\1\312\10\223\1\312\4\223\1\312\7\223\1\0\1\315"+
+ "\1\312\10\223\1\312\4\223\1\312\10\223\1\0\1\315"+
"\1\226\1\227\3\226\1\315\1\226\1\316\6\226\1\317"+
"\16\226\1\315\2\226\1\315\2\226\1\315\10\226\1\315"+
- "\4\226\1\315\7\226\1\0\1\230\1\212\1\213\3\0"+
+ "\4\226\1\315\10\226\1\0\1\230\1\212\1\213\3\0"+
"\1\212\1\214\11\0\3\212\1\0\1\212\10\0\11\212"+
- "\1\0\4\212\1\0\2\212\1\0\1\212\1\0\3\212"+
+ "\1\0\4\212\1\0\2\212\1\0\1\212\1\0\4\212"+
"\4\0\1\216\1\0\1\320\2\231\1\0\2\231\1\320"+
"\2\231\1\0\4\231\2\0\16\231\1\320\2\231\1\320"+
- "\2\231\1\320\10\231\1\320\4\231\1\320\7\231\1\0"+
+ "\2\231\1\320\10\231\1\320\4\231\1\320\10\231\1\0"+
"\1\321\5\0\1\321\16\0\2\321\7\0\2\321\1\0"+
- "\2\321\1\0\2\321\7\0\2\321\3\0\2\321\7\0"+
+ "\2\321\1\0\2\321\7\0\2\321\3\0\2\321\10\0"+
"\2\114\1\217\3\0\2\114\3\0\1\220\5\0\2\114"+
"\1\322\1\221\1\114\10\0\11\114\1\0\4\114\1\0"+
- "\2\114\1\0\1\114\1\0\3\114\57\0\1\323\21\0"+
+ "\2\114\1\0\1\114\1\0\4\114\57\0\1\323\22\0"+
"\1\324\1\25\1\132\1\25\1\0\1\25\1\324\1\25"+
"\1\0\1\25\4\0\2\25\1\0\3\25\1\0\1\25"+
"\10\0\1\324\2\25\1\324\2\25\1\324\2\25\1\0"+
"\4\25\1\0\1\324\1\25\1\0\1\25\1\0\1\324"+
- "\2\25\6\0\1\325\1\135\1\136\1\135\1\0\1\135"+
+ "\3\25\6\0\1\325\1\135\1\136\1\135\1\0\1\135"+
"\1\325\1\135\1\0\1\135\4\0\2\135\1\0\3\135"+
"\1\0\1\135\10\0\1\325\2\135\1\325\2\135\1\325"+
"\2\135\1\0\4\135\1\0\1\325\1\135\1\0\1\135"+
- "\1\0\1\325\2\135\6\0\1\326\1\137\1\140\1\137"+
+ "\1\0\1\325\3\135\6\0\1\326\1\137\1\140\1\137"+
"\1\0\1\137\1\326\1\137\1\0\1\137\4\0\2\137"+
"\1\0\3\137\1\0\1\137\10\0\1\326\2\137\1\326"+
"\2\137\1\326\2\137\1\0\4\137\1\0\1\326\1\137"+
- "\1\0\1\137\1\0\1\326\2\137\15\0\1\327\62\0"+
- "\34\142\1\330\1\245\35\142\42\0\2\331\102\0\1\332"+
- "\75\0\2\333\74\0\1\334\76\0\1\335\7\0\1\336"+
- "\1\337\1\253\1\0\1\253\1\336\1\340\1\0\1\253"+
- "\4\0\2\253\1\0\3\336\1\0\1\336\10\0\11\336"+
- "\1\0\4\336\1\0\2\336\1\0\1\336\1\0\3\336"+
- "\6\0\1\341\1\150\1\151\1\150\1\0\1\150\1\341"+
- "\1\150\1\0\1\150\4\0\2\150\1\0\3\150\1\253"+
- "\1\150\10\0\1\341\2\150\1\341\2\150\1\341\2\150"+
- "\1\0\4\150\1\0\1\341\1\150\1\0\1\150\1\0"+
- "\1\341\2\150\6\0\1\342\1\153\1\154\1\153\1\155"+
- "\1\153\1\342\27\153\1\342\2\153\1\342\2\153\1\342"+
- "\10\153\1\342\4\153\1\342\7\153\1\0\2\153\1\154"+
- "\1\0\1\155\12\153\1\0\52\153\1\0\1\343\1\156"+
- "\1\157\3\156\1\343\1\156\1\155\25\156\1\343\2\156"+
- "\1\343\2\156\1\343\10\156\1\343\4\156\1\343\7\156"+
- "\1\0\2\156\1\157\1\0\4\156\1\155\6\156\1\0"+
- "\52\156\1\0\1\344\1\160\1\161\1\160\1\162\1\160"+
- "\1\344\27\160\1\344\2\160\1\344\2\160\1\344\10\160"+
- "\1\344\4\160\1\344\7\160\1\0\2\160\1\161\1\0"+
- "\1\162\12\160\1\0\52\160\1\0\1\345\1\163\1\164"+
- "\3\163\1\345\1\163\1\162\25\163\1\345\2\163\1\345"+
- "\2\163\1\345\10\163\1\345\4\163\1\345\7\163\1\0"+
- "\2\163\1\164\1\0\4\163\1\162\6\163\1\0\52\163"+
- "\25\0\1\346\46\0\1\347\1\51\1\166\1\51\1\0"+
- "\1\51\1\347\1\51\1\0\1\51\4\0\2\51\1\0"+
- "\3\51\1\0\1\51\10\0\1\347\2\51\1\347\2\51"+
- "\1\347\2\51\1\0\4\51\1\0\1\347\1\51\1\0"+
- "\1\51\1\0\1\347\2\51\6\0\1\350\1\55\1\170"+
- "\1\55\1\0\1\55\1\350\1\55\1\0\1\55\4\0"+
- "\2\55\1\0\3\55\1\0\1\55\10\0\1\350\2\55"+
- "\1\350\2\55\1\350\2\55\1\0\4\55\1\0\1\350"+
- "\1\55\1\0\1\55\1\0\1\350\2\55\6\0\1\351"+
- "\1\62\1\172\1\62\1\0\1\62\1\351\1\62\1\0"+
- "\1\62\4\0\2\62\1\0\3\62\1\0\1\62\10\0"+
- "\1\351\2\62\1\351\2\62\1\351\2\62\1\0\4\62"+
- "\1\0\1\351\1\62\1\0\1\62\1\0\1\351\2\62"+
- "\6\0\1\352\1\72\1\176\1\72\1\0\1\72\1\352"+
- "\1\72\1\0\1\72\4\0\2\72\1\0\3\72\1\0"+
- "\1\72\10\0\1\352\2\72\1\352\2\72\1\352\2\72"+
- "\1\0\4\72\1\0\1\352\1\72\1\0\1\72\1\0"+
- "\1\352\2\72\6\0\1\353\1\100\1\200\1\100\1\0"+
- "\1\100\1\353\1\100\1\0\1\100\4\0\2\100\1\0"+
- "\3\100\1\0\1\100\10\0\1\353\2\100\1\353\2\100"+
- "\1\353\2\100\1\0\4\100\1\0\1\353\1\100\1\0"+
- "\1\100\1\0\1\353\2\100\6\0\1\354\1\202\1\203"+
- "\1\202\1\204\1\202\1\354\27\202\1\354\2\202\1\354"+
- "\2\202\1\354\10\202\1\354\4\202\1\354\7\202\1\0"+
- "\2\202\1\203\1\0\1\204\12\202\1\0\52\202\1\0"+
- "\1\355\1\205\1\206\3\205\1\355\1\205\1\204\25\205"+
- "\1\355\2\205\1\355\2\205\1\355\10\205\1\355\4\205"+
- "\1\355\7\205\1\0\2\205\1\206\1\0\4\205\1\204"+
- "\6\205\1\0\52\205\1\0\1\356\1\105\1\207\1\105"+
- "\1\0\1\105\1\356\1\105\1\0\1\105\4\0\2\105"+
- "\1\0\3\105\1\0\1\105\10\0\1\356\2\105\1\356"+
- "\2\105\1\356\2\105\1\0\4\105\1\0\1\356\1\105"+
- "\1\0\1\105\1\0\1\356\2\105\6\0\1\357\1\212"+
- "\1\213\1\212\1\0\1\212\1\357\1\212\1\0\1\212"+
- "\4\0\2\212\1\0\3\212\1\0\1\212\10\0\1\357"+
- "\2\212\1\357\2\212\1\357\2\212\1\0\4\212\1\0"+
- "\1\357\1\212\1\0\1\212\1\0\1\357\2\212\6\0"+
- "\2\307\1\310\3\0\2\307\3\0\1\220\5\0\3\307"+
- "\1\0\1\307\10\0\11\307\1\0\4\307\1\0\2\307"+
- "\1\0\1\307\1\0\3\307\6\0\1\360\2\307\1\0"+
- "\2\307\1\360\2\307\1\0\4\307\2\0\16\307\1\360"+
- "\2\307\1\360\2\307\1\360\10\307\1\360\4\307\1\360"+
- "\7\307\1\0\1\361\1\114\1\217\1\114\1\0\1\114"+
- "\1\361\1\114\1\0\1\114\1\0\1\220\2\0\2\114"+
- "\1\0\3\114\1\221\1\114\10\0\1\361\2\114\1\361"+
- "\2\114\1\361\2\114\1\0\4\114\1\0\1\361\1\114"+
- "\1\0\1\114\1\0\1\361\2\114\6\0\1\362\1\223"+
- "\1\224\1\223\1\225\1\223\1\362\27\223\1\362\2\223"+
- "\1\362\2\223\1\362\10\223\1\362\4\223\1\362\7\223"+
- "\1\0\2\223\1\224\1\0\1\225\12\223\1\0\52\223"+
- "\1\0\1\363\1\226\1\227\3\226\1\363\1\226\1\225"+
- "\25\226\1\363\2\226\1\363\2\226\1\363\10\226\1\363"+
- "\4\226\1\363\7\226\1\0\2\226\1\227\1\0\4\226"+
- "\1\225\6\226\1\0\52\226\1\0\1\364\1\231\1\232"+
- "\1\231\1\0\1\231\1\364\1\231\1\0\1\231\4\0"+
- "\2\231\1\0\3\231\1\0\1\231\10\0\1\364\2\231"+
- "\1\364\2\231\1\364\2\231\1\0\4\231\1\0\1\364"+
- "\1\231\1\0\1\231\1\0\1\364\2\231\6\0\1\365"+
- "\5\0\1\365\1\366\15\0\2\365\7\0\2\365\1\0"+
- "\2\365\1\0\2\365\7\0\2\365\3\0\2\365\7\0"+
- "\2\114\1\217\3\0\2\114\3\0\1\220\5\0\3\114"+
- "\1\367\1\114\10\0\11\114\1\0\4\114\1\0\2\114"+
- "\1\0\1\114\1\0\3\114\60\0\1\370\20\0\1\371"+
- "\1\25\1\132\1\25\1\0\1\25\1\371\1\25\1\0"+
- "\1\25\4\0\2\25\1\0\3\25\1\0\1\25\10\0"+
- "\1\371\2\25\1\371\2\25\1\371\2\25\1\0\4\25"+
- "\1\0\1\371\1\25\1\0\1\25\1\0\1\371\2\25"+
- "\6\0\1\372\1\135\1\136\1\135\1\0\1\135\1\372"+
- "\1\135\1\0\1\135\4\0\2\135\1\0\3\135\1\0"+
- "\1\135\10\0\1\372\2\135\1\372\2\135\1\372\2\135"+
- "\1\0\4\135\1\0\1\372\1\135\1\0\1\135\1\0"+
- "\1\372\2\135\6\0\1\373\1\137\1\140\1\137\1\0"+
- "\1\137\1\373\1\137\1\0\1\137\4\0\2\137\1\0"+
- "\3\137\1\0\1\137\10\0\1\373\2\137\1\373\2\137"+
- "\1\373\2\137\1\0\4\137\1\0\1\373\1\137\1\0"+
- "\1\137\1\0\1\373\2\137\30\0\1\374\123\0\1\375"+
- "\67\0\1\376\66\0\2\377\73\0\1\u0100\24\0\2\336"+
- "\1\337\1\u0101\1\0\1\u0101\2\336\1\0\1\u0101\1\u0102"+
- "\3\0\2\u0101\1\0\3\336\1\0\1\336\10\0\11\336"+
- "\1\0\4\336\1\0\2\336\1\0\1\336\1\0\3\336"+
- "\6\0\1\u0103\2\336\1\0\2\336\1\u0103\2\336\1\0"+
- "\4\336\2\0\16\336\1\u0103\2\336\1\u0103\2\336\1\u0103"+
- "\10\336\1\u0103\4\336\1\u0103\7\336\2\0\1\336\1\337"+
- "\3\0\1\336\12\0\3\336\1\0\1\336\10\0\11\336"+
- "\1\0\4\336\1\0\2\336\1\0\1\336\1\0\3\336"+
- "\6\0\1\u0104\1\150\1\151\1\150\1\0\1\150\1\u0104"+
+ "\1\0\1\137\1\0\1\326\3\137\15\0\1\327\63\0"+
+ "\34\142\1\330\1\245\36\142\42\0\2\331\103\0\1\332"+
+ "\76\0\2\333\75\0\1\334\77\0\1\335\7\0\1\253"+
+ "\2\0\1\253\1\0\3\253\1\0\1\253\1\336\1\0"+
+ "\1\253\1\0\2\253\1\0\3\253\1\0\1\253\10\0"+
+ "\11\253\1\0\4\253\1\0\2\253\1\0\1\253\1\0"+
+ "\4\253\6\0\1\337\1\150\1\151\1\150\1\0\1\150"+
+ "\1\337\1\150\1\0\1\150\4\0\2\150\1\0\3\150"+
+ "\1\253\1\150\10\0\1\337\2\150\1\337\2\150\1\337"+
+ "\2\150\1\0\4\150\1\0\1\337\1\150\1\0\1\150"+
+ "\1\0\1\337\3\150\6\0\1\340\1\153\1\154\1\153"+
+ "\1\155\1\153\1\340\27\153\1\340\2\153\1\340\2\153"+
+ "\1\340\10\153\1\340\4\153\1\340\10\153\1\0\2\153"+
+ "\1\154\1\0\1\155\12\153\1\0\53\153\1\0\1\341"+
+ "\1\156\1\157\3\156\1\341\1\156\1\155\25\156\1\341"+
+ "\2\156\1\341\2\156\1\341\10\156\1\341\4\156\1\341"+
+ "\10\156\1\0\2\156\1\157\1\0\4\156\1\155\6\156"+
+ "\1\0\53\156\1\0\1\342\1\160\1\161\1\160\1\162"+
+ "\1\160\1\342\27\160\1\342\2\160\1\342\2\160\1\342"+
+ "\10\160\1\342\4\160\1\342\10\160\1\0\2\160\1\161"+
+ "\1\0\1\162\12\160\1\0\53\160\1\0\1\343\1\163"+
+ "\1\164\3\163\1\343\1\163\1\162\25\163\1\343\2\163"+
+ "\1\343\2\163\1\343\10\163\1\343\4\163\1\343\10\163"+
+ "\1\0\2\163\1\164\1\0\4\163\1\162\6\163\1\0"+
+ "\53\163\25\0\1\344\47\0\1\345\1\51\1\166\1\51"+
+ "\1\0\1\51\1\345\1\51\1\0\1\51\4\0\2\51"+
+ "\1\0\3\51\1\0\1\51\10\0\1\345\2\51\1\345"+
+ "\2\51\1\345\2\51\1\0\4\51\1\0\1\345\1\51"+
+ "\1\0\1\51\1\0\1\345\3\51\6\0\1\346\1\55"+
+ "\1\170\1\55\1\0\1\55\1\346\1\55\1\0\1\55"+
+ "\4\0\2\55\1\0\3\55\1\0\1\55\10\0\1\346"+
+ "\2\55\1\346\2\55\1\346\2\55\1\0\4\55\1\0"+
+ "\1\346\1\55\1\0\1\55\1\0\1\346\3\55\6\0"+
+ "\1\347\1\62\1\172\1\62\1\0\1\62\1\347\1\62"+
+ "\1\0\1\62\4\0\2\62\1\0\3\62\1\0\1\62"+
+ "\10\0\1\347\2\62\1\347\2\62\1\347\2\62\1\0"+
+ "\4\62\1\0\1\347\1\62\1\0\1\62\1\0\1\347"+
+ "\3\62\6\0\1\350\1\72\1\176\1\72\1\0\1\72"+
+ "\1\350\1\72\1\0\1\72\4\0\2\72\1\0\3\72"+
+ "\1\0\1\72\10\0\1\350\2\72\1\350\2\72\1\350"+
+ "\2\72\1\0\4\72\1\0\1\350\1\72\1\0\1\72"+
+ "\1\0\1\350\3\72\6\0\1\351\1\100\1\200\1\100"+
+ "\1\0\1\100\1\351\1\100\1\0\1\100\4\0\2\100"+
+ "\1\0\3\100\1\0\1\100\10\0\1\351\2\100\1\351"+
+ "\2\100\1\351\2\100\1\0\4\100\1\0\1\351\1\100"+
+ "\1\0\1\100\1\0\1\351\3\100\6\0\1\352\1\202"+
+ "\1\203\1\202\1\204\1\202\1\352\27\202\1\352\2\202"+
+ "\1\352\2\202\1\352\10\202\1\352\4\202\1\352\10\202"+
+ "\1\0\2\202\1\203\1\0\1\204\12\202\1\0\53\202"+
+ "\1\0\1\353\1\205\1\206\3\205\1\353\1\205\1\204"+
+ "\25\205\1\353\2\205\1\353\2\205\1\353\10\205\1\353"+
+ "\4\205\1\353\10\205\1\0\2\205\1\206\1\0\4\205"+
+ "\1\204\6\205\1\0\53\205\1\0\1\354\1\105\1\207"+
+ "\1\105\1\0\1\105\1\354\1\105\1\0\1\105\4\0"+
+ "\2\105\1\0\3\105\1\0\1\105\10\0\1\354\2\105"+
+ "\1\354\2\105\1\354\2\105\1\0\4\105\1\0\1\354"+
+ "\1\105\1\0\1\105\1\0\1\354\3\105\6\0\1\355"+
+ "\1\212\1\213\1\212\1\0\1\212\1\355\1\212\1\0"+
+ "\1\212\4\0\2\212\1\0\3\212\1\0\1\212\10\0"+
+ "\1\355\2\212\1\355\2\212\1\355\2\212\1\0\4\212"+
+ "\1\0\1\355\1\212\1\0\1\212\1\0\1\355\3\212"+
+ "\6\0\2\307\1\310\3\0\2\307\3\0\1\220\5\0"+
+ "\3\307\1\0\1\307\10\0\11\307\1\0\4\307\1\0"+
+ "\2\307\1\0\1\307\1\0\4\307\6\0\1\356\2\307"+
+ "\1\0\2\307\1\356\2\307\1\0\4\307\2\0\16\307"+
+ "\1\356\2\307\1\356\2\307\1\356\10\307\1\356\4\307"+
+ "\1\356\10\307\1\0\1\357\1\114\1\217\1\114\1\0"+
+ "\1\114\1\357\1\114\1\0\1\114\1\0\1\220\2\0"+
+ "\2\114\1\0\3\114\1\221\1\114\10\0\1\357\2\114"+
+ "\1\357\2\114\1\357\2\114\1\0\4\114\1\0\1\357"+
+ "\1\114\1\0\1\114\1\0\1\357\3\114\6\0\1\360"+
+ "\1\223\1\224\1\223\1\225\1\223\1\360\27\223\1\360"+
+ "\2\223\1\360\2\223\1\360\10\223\1\360\4\223\1\360"+
+ "\10\223\1\0\2\223\1\224\1\0\1\225\12\223\1\0"+
+ "\53\223\1\0\1\361\1\226\1\227\3\226\1\361\1\226"+
+ "\1\225\25\226\1\361\2\226\1\361\2\226\1\361\10\226"+
+ "\1\361\4\226\1\361\10\226\1\0\2\226\1\227\1\0"+
+ "\4\226\1\225\6\226\1\0\53\226\1\0\1\362\1\231"+
+ "\1\232\1\231\1\0\1\231\1\362\1\231\1\0\1\231"+
+ "\4\0\2\231\1\0\3\231\1\0\1\231\10\0\1\362"+
+ "\2\231\1\362\2\231\1\362\2\231\1\0\4\231\1\0"+
+ "\1\362\1\231\1\0\1\231\1\0\1\362\3\231\6\0"+
+ "\1\363\5\0\1\363\1\364\15\0\2\363\7\0\2\363"+
+ "\1\0\2\363\1\0\2\363\7\0\2\363\3\0\2\363"+
+ "\10\0\2\114\1\217\3\0\2\114\3\0\1\220\5\0"+
+ "\3\114\1\365\1\114\10\0\11\114\1\0\4\114\1\0"+
+ "\2\114\1\0\1\114\1\0\4\114\60\0\1\366\21\0"+
+ "\1\367\1\25\1\132\1\25\1\0\1\25\1\367\1\25"+
+ "\1\0\1\25\4\0\2\25\1\0\3\25\1\0\1\25"+
+ "\10\0\1\367\2\25\1\367\2\25\1\367\2\25\1\0"+
+ "\4\25\1\0\1\367\1\25\1\0\1\25\1\0\1\367"+
+ "\3\25\6\0\1\370\1\135\1\136\1\135\1\0\1\135"+
+ "\1\370\1\135\1\0\1\135\4\0\2\135\1\0\3\135"+
+ "\1\0\1\135\10\0\1\370\2\135\1\370\2\135\1\370"+
+ "\2\135\1\0\4\135\1\0\1\370\1\135\1\0\1\135"+
+ "\1\0\1\370\3\135\6\0\1\371\1\137\1\140\1\137"+
+ "\1\0\1\137\1\371\1\137\1\0\1\137\4\0\2\137"+
+ "\1\0\3\137\1\0\1\137\10\0\1\371\2\137\1\371"+
+ "\2\137\1\371\2\137\1\0\4\137\1\0\1\371\1\137"+
+ "\1\0\1\137\1\0\1\371\3\137\30\0\1\372\124\0"+
+ "\1\373\70\0\1\374\67\0\2\375\74\0\1\376\25\0"+
+ "\1\377\1\150\1\151\1\150\1\0\1\150\1\377\1\150"+
+ "\1\0\1\150\4\0\2\150\1\0\3\150\1\253\1\150"+
+ "\10\0\1\377\2\150\1\377\2\150\1\377\2\150\1\0"+
+ "\4\150\1\0\1\377\1\150\1\0\1\150\1\0\1\377"+
+ "\3\150\6\0\1\u0100\1\153\1\154\1\153\1\155\1\153"+
+ "\1\u0100\27\153\1\u0100\2\153\1\u0100\2\153\1\u0100\10\153"+
+ "\1\u0100\4\153\1\u0100\10\153\1\0\1\u0101\1\156\1\157"+
+ "\3\156\1\u0101\1\156\1\155\25\156\1\u0101\2\156\1\u0101"+
+ "\2\156\1\u0101\10\156\1\u0101\4\156\1\u0101\10\156\1\0"+
+ "\1\u0102\1\160\1\161\1\160\1\162\1\160\1\u0102\27\160"+
+ "\1\u0102\2\160\1\u0102\2\160\1\u0102\10\160\1\u0102\4\160"+
+ "\1\u0102\10\160\1\0\1\u0103\1\163\1\164\3\163\1\u0103"+
+ "\1\163\1\162\25\163\1\u0103\2\163\1\u0103\2\163\1\u0103"+
+ "\10\163\1\u0103\4\163\1\u0103\10\163\1\0\2\u0104\1\u0105"+
+ "\1\344\1\u0106\1\344\2\u0104\1\u0107\1\344\1\u0108\3\u0104"+
+ "\2\344\4\u0104\1\0\46\u0104\1\0\1\u0109\1\51\1\166"+
+ "\1\51\1\0\1\51\1\u0109\1\51\1\0\1\51\4\0"+
+ "\2\51\1\0\3\51\1\0\1\51\10\0\1\u0109\2\51"+
+ "\1\u0109\2\51\1\u0109\2\51\1\0\4\51\1\0\1\u0109"+
+ "\1\51\1\0\1\51\1\0\1\u0109\3\51\6\0\1\u010a"+
+ "\1\55\1\170\1\55\1\0\1\55\1\u010a\1\55\1\0"+
+ "\1\55\4\0\2\55\1\0\3\55\1\0\1\55\10\0"+
+ "\1\u010a\2\55\1\u010a\2\55\1\u010a\2\55\1\0\4\55"+
+ "\1\0\1\u010a\1\55\1\0\1\55\1\0\1\u010a\3\55"+
+ "\6\0\1\u010b\1\62\1\172\1\62\1\0\1\62\1\u010b"+
+ "\1\62\1\0\1\62\4\0\2\62\1\0\3\62\1\0"+
+ "\1\62\10\0\1\u010b\2\62\1\u010b\2\62\1\u010b\2\62"+
+ "\1\0\4\62\1\0\1\u010b\1\62\1\0\1\62\1\0"+
+ "\1\u010b\3\62\6\0\1\u010c\1\72\1\176\1\72\1\0"+
+ "\1\72\1\u010c\1\72\1\0\1\72\4\0\2\72\1\0"+
+ "\3\72\1\0\1\72\10\0\1\u010c\2\72\1\u010c\2\72"+
+ "\1\u010c\2\72\1\0\4\72\1\0\1\u010c\1\72\1\0"+
+ "\1\72\1\0\1\u010c\3\72\6\0\1\u010d\1\100\1\200"+
+ "\1\100\1\0\1\100\1\u010d\1\100\1\0\1\100\4\0"+
+ "\2\100\1\0\3\100\1\0\1\100\10\0\1\u010d\2\100"+
+ "\1\u010d\2\100\1\u010d\2\100\1\0\4\100\1\0\1\u010d"+
+ "\1\100\1\0\1\100\1\0\1\u010d\3\100\6\0\1\u010e"+
+ "\1\202\1\203\1\202\1\204\1\202\1\u010e\27\202\1\u010e"+
+ "\2\202\1\u010e\2\202\1\u010e\10\202\1\u010e\4\202\1\u010e"+
+ "\10\202\1\0\1\u010f\1\205\1\206\3\205\1\u010f\1\205"+
+ "\1\204\25\205\1\u010f\2\205\1\u010f\2\205\1\u010f\10\205"+
+ "\1\u010f\4\205\1\u010f\10\205\1\0\1\u0110\1\105\1\207"+
+ "\1\105\1\0\1\105\1\u0110\1\105\1\0\1\105\4\0"+
+ "\2\105\1\0\3\105\1\0\1\105\10\0\1\u0110\2\105"+
+ "\1\u0110\2\105\1\u0110\2\105\1\0\4\105\1\0\1\u0110"+
+ "\1\105\1\0\1\105\1\0\1\u0110\3\105\6\0\1\u0111"+
+ "\1\212\1\213\1\212\1\0\1\212\1\u0111\1\212\1\0"+
+ "\1\212\4\0\2\212\1\0\3\212\1\0\1\212\10\0"+
+ "\1\u0111\2\212\1\u0111\2\212\1\u0111\2\212\1\0\4\212"+
+ "\1\0\1\u0111\1\212\1\0\1\212\1\0\1\u0111\3\212"+
+ "\6\0\1\u0112\1\307\1\310\1\307\1\0\1\307\1\u0112"+
+ "\1\307\1\0\1\307\1\0\1\220\2\0\2\307\1\0"+
+ "\3\307\1\0\1\307\10\0\1\u0112\2\307\1\u0112\2\307"+
+ "\1\u0112\2\307\1\0\4\307\1\0\1\u0112\1\307\1\0"+
+ "\1\307\1\0\1\u0112\3\307\6\0\1\u0113\1\114\1\217"+
+ "\1\114\1\0\1\114\1\u0113\1\114\1\0\1\114\1\0"+
+ "\1\220\2\0\2\114\1\0\3\114\1\221\1\114\10\0"+
+ "\1\u0113\2\114\1\u0113\2\114\1\u0113\2\114\1\0\4\114"+
+ "\1\0\1\u0113\1\114\1\0\1\114\1\0\1\u0113\3\114"+
+ "\6\0\1\u0114\1\223\1\224\1\223\1\225\1\223\1\u0114"+
+ "\27\223\1\u0114\2\223\1\u0114\2\223\1\u0114\10\223\1\u0114"+
+ "\4\223\1\u0114\10\223\1\0\1\u0115\1\226\1\227\3\226"+
+ "\1\u0115\1\226\1\225\25\226\1\u0115\2\226\1\u0115\2\226"+
+ "\1\u0115\10\226\1\u0115\4\226\1\u0115\10\226\1\0\1\u0116"+
+ "\1\231\1\232\1\231\1\0\1\231\1\u0116\1\231\1\0"+
+ "\1\231\4\0\2\231\1\0\3\231\1\0\1\231\10\0"+
+ "\1\u0116\2\231\1\u0116\2\231\1\u0116\2\231\1\0\4\231"+
+ "\1\0\1\u0116\1\231\1\0\1\231\1\0\1\u0116\3\231"+
+ "\6\0\1\u0117\5\0\1\u0117\1\364\15\0\2\u0117\7\0"+
+ "\2\u0117\1\0\2\u0117\1\0\2\u0117\7\0\2\u0117\3\0"+
+ "\2\u0117\10\0\1\u0118\5\0\1\u0118\16\0\2\u0118\7\0"+
+ "\2\u0118\1\0\2\u0118\1\0\2\u0118\7\0\2\u0118\3\0"+
+ "\2\u0118\10\0\2\u0119\1\u011a\1\u011b\1\u011c\1\u011b\2\u0119"+
+ "\1\u011d\1\u011b\1\u011e\3\u0119\2\u011b\4\u0119\1\0\46\u0119"+
+ "\54\0\1\u011f\20\0\1\u0120\1\25\1\132\1\25\1\0"+
+ "\1\25\1\u0120\1\25\1\0\1\25\4\0\2\25\1\0"+
+ "\3\25\1\0\1\25\10\0\1\u0120\2\25\1\u0120\2\25"+
+ "\1\u0120\2\25\1\0\4\25\1\0\1\u0120\1\25\1\0"+
+ "\1\25\1\0\1\u0120\3\25\6\0\1\u0121\1\135\1\136"+
+ "\1\135\1\0\1\135\1\u0121\1\135\1\0\1\135\4\0"+
+ "\2\135\1\0\3\135\1\0\1\135\10\0\1\u0121\2\135"+
+ "\1\u0121\2\135\1\u0121\2\135\1\0\4\135\1\0\1\u0121"+
+ "\1\135\1\0\1\135\1\0\1\u0121\3\135\6\0\1\u0122"+
+ "\1\137\1\140\1\137\1\0\1\137\1\u0122\1\137\1\0"+
+ "\1\137\4\0\2\137\1\0\3\137\1\0\1\137\10\0"+
+ "\1\u0122\2\137\1\u0122\2\137\1\u0122\2\137\1\0\4\137"+
+ "\1\0\1\u0122\1\137\1\0\1\137\1\0\1\u0122\3\137"+
+ "\51\0\1\u0123\52\0\1\u0124\112\0\2\u0125\40\0\1\u0126"+
+ "\64\0\1\u0127\1\150\1\151\1\150\1\0\1\150\1\u0127"+
"\1\150\1\0\1\150\4\0\2\150\1\0\3\150\1\253"+
- "\1\150\10\0\1\u0104\2\150\1\u0104\2\150\1\u0104\2\150"+
- "\1\0\4\150\1\0\1\u0104\1\150\1\0\1\150\1\0"+
- "\1\u0104\2\150\6\0\1\u0105\1\153\1\154\1\153\1\155"+
- "\1\153\1\u0105\27\153\1\u0105\2\153\1\u0105\2\153\1\u0105"+
- "\10\153\1\u0105\4\153\1\u0105\7\153\1\0\1\u0106\1\156"+
- "\1\157\3\156\1\u0106\1\156\1\155\25\156\1\u0106\2\156"+
- "\1\u0106\2\156\1\u0106\10\156\1\u0106\4\156\1\u0106\7\156"+
- "\1\0\1\u0107\1\160\1\161\1\160\1\162\1\160\1\u0107"+
- "\27\160\1\u0107\2\160\1\u0107\2\160\1\u0107\10\160\1\u0107"+
- "\4\160\1\u0107\7\160\1\0\1\u0108\1\163\1\164\3\163"+
- "\1\u0108\1\163\1\162\25\163\1\u0108\2\163\1\u0108\2\163"+
- "\1\u0108\10\163\1\u0108\4\163\1\u0108\7\163\1\0\2\u0109"+
- "\1\u010a\1\346\1\u010b\1\346\2\u0109\1\u010c\1\346\1\u010d"+
- "\3\u0109\2\346\4\u0109\1\0\45\u0109\1\0\1\u010e\1\51"+
- "\1\166\1\51\1\0\1\51\1\u010e\1\51\1\0\1\51"+
- "\4\0\2\51\1\0\3\51\1\0\1\51\10\0\1\u010e"+
- "\2\51\1\u010e\2\51\1\u010e\2\51\1\0\4\51\1\0"+
- "\1\u010e\1\51\1\0\1\51\1\0\1\u010e\2\51\6\0"+
- "\1\u010f\1\55\1\170\1\55\1\0\1\55\1\u010f\1\55"+
- "\1\0\1\55\4\0\2\55\1\0\3\55\1\0\1\55"+
- "\10\0\1\u010f\2\55\1\u010f\2\55\1\u010f\2\55\1\0"+
- "\4\55\1\0\1\u010f\1\55\1\0\1\55\1\0\1\u010f"+
- "\2\55\6\0\1\u0110\1\62\1\172\1\62\1\0\1\62"+
- "\1\u0110\1\62\1\0\1\62\4\0\2\62\1\0\3\62"+
- "\1\0\1\62\10\0\1\u0110\2\62\1\u0110\2\62\1\u0110"+
- "\2\62\1\0\4\62\1\0\1\u0110\1\62\1\0\1\62"+
- "\1\0\1\u0110\2\62\6\0\1\u0111\1\72\1\176\1\72"+
- "\1\0\1\72\1\u0111\1\72\1\0\1\72\4\0\2\72"+
- "\1\0\3\72\1\0\1\72\10\0\1\u0111\2\72\1\u0111"+
- "\2\72\1\u0111\2\72\1\0\4\72\1\0\1\u0111\1\72"+
- "\1\0\1\72\1\0\1\u0111\2\72\6\0\1\u0112\1\100"+
- "\1\200\1\100\1\0\1\100\1\u0112\1\100\1\0\1\100"+
- "\4\0\2\100\1\0\3\100\1\0\1\100\10\0\1\u0112"+
- "\2\100\1\u0112\2\100\1\u0112\2\100\1\0\4\100\1\0"+
- "\1\u0112\1\100\1\0\1\100\1\0\1\u0112\2\100\6\0"+
- "\1\u0113\1\202\1\203\1\202\1\204\1\202\1\u0113\27\202"+
- "\1\u0113\2\202\1\u0113\2\202\1\u0113\10\202\1\u0113\4\202"+
- "\1\u0113\7\202\1\0\1\u0114\1\205\1\206\3\205\1\u0114"+
- "\1\205\1\204\25\205\1\u0114\2\205\1\u0114\2\205\1\u0114"+
- "\10\205\1\u0114\4\205\1\u0114\7\205\1\0\1\u0115\1\105"+
- "\1\207\1\105\1\0\1\105\1\u0115\1\105\1\0\1\105"+
- "\4\0\2\105\1\0\3\105\1\0\1\105\10\0\1\u0115"+
- "\2\105\1\u0115\2\105\1\u0115\2\105\1\0\4\105\1\0"+
- "\1\u0115\1\105\1\0\1\105\1\0\1\u0115\2\105\6\0"+
- "\1\u0116\1\212\1\213\1\212\1\0\1\212\1\u0116\1\212"+
- "\1\0\1\212\4\0\2\212\1\0\3\212\1\0\1\212"+
- "\10\0\1\u0116\2\212\1\u0116\2\212\1\u0116\2\212\1\0"+
- "\4\212\1\0\1\u0116\1\212\1\0\1\212\1\0\1\u0116"+
- "\2\212\6\0\1\u0117\1\307\1\310\1\307\1\0\1\307"+
- "\1\u0117\1\307\1\0\1\307\1\0\1\220\2\0\2\307"+
- "\1\0\3\307\1\0\1\307\10\0\1\u0117\2\307\1\u0117"+
- "\2\307\1\u0117\2\307\1\0\4\307\1\0\1\u0117\1\307"+
- "\1\0\1\307\1\0\1\u0117\2\307\6\0\1\u0118\1\114"+
- "\1\217\1\114\1\0\1\114\1\u0118\1\114\1\0\1\114"+
- "\1\0\1\220\2\0\2\114\1\0\3\114\1\221\1\114"+
- "\10\0\1\u0118\2\114\1\u0118\2\114\1\u0118\2\114\1\0"+
- "\4\114\1\0\1\u0118\1\114\1\0\1\114\1\0\1\u0118"+
- "\2\114\6\0\1\u0119\1\223\1\224\1\223\1\225\1\223"+
- "\1\u0119\27\223\1\u0119\2\223\1\u0119\2\223\1\u0119\10\223"+
- "\1\u0119\4\223\1\u0119\7\223\1\0\1\u011a\1\226\1\227"+
- "\3\226\1\u011a\1\226\1\225\25\226\1\u011a\2\226\1\u011a"+
- "\2\226\1\u011a\10\226\1\u011a\4\226\1\u011a\7\226\1\0"+
- "\1\u011b\1\231\1\232\1\231\1\0\1\231\1\u011b\1\231"+
- "\1\0\1\231\4\0\2\231\1\0\3\231\1\0\1\231"+
- "\10\0\1\u011b\2\231\1\u011b\2\231\1\u011b\2\231\1\0"+
- "\4\231\1\0\1\u011b\1\231\1\0\1\231\1\0\1\u011b"+
- "\2\231\6\0\1\u011c\5\0\1\u011c\1\366\15\0\2\u011c"+
- "\7\0\2\u011c\1\0\2\u011c\1\0\2\u011c\7\0\2\u011c"+
- "\3\0\2\u011c\7\0\1\u011d\5\0\1\u011d\16\0\2\u011d"+
- "\7\0\2\u011d\1\0\2\u011d\1\0\2\u011d\7\0\2\u011d"+
- "\3\0\2\u011d\7\0\2\u011e\1\u011f\1\u0120\1\u0121\1\u0120"+
- "\2\u011e\1\u0122\1\u0120\1\u0123\3\u011e\2\u0120\4\u011e\1\0"+
- "\45\u011e\54\0\1\u0124\17\0\1\u0125\1\25\1\132\1\25"+
- "\1\0\1\25\1\u0125\1\25\1\0\1\25\4\0\2\25"+
- "\1\0\3\25\1\0\1\25\10\0\1\u0125\2\25\1\u0125"+
- "\2\25\1\u0125\2\25\1\0\4\25\1\0\1\u0125\1\25"+
- "\1\0\1\25\1\0\1\u0125\2\25\6\0\1\u0126\1\135"+
- "\1\136\1\135\1\0\1\135\1\u0126\1\135\1\0\1\135"+
- "\4\0\2\135\1\0\3\135\1\0\1\135\10\0\1\u0126"+
- "\2\135\1\u0126\2\135\1\u0126\2\135\1\0\4\135\1\0"+
- "\1\u0126\1\135\1\0\1\135\1\0\1\u0126\2\135\6\0"+
- "\1\u0127\1\137\1\140\1\137\1\0\1\137\1\u0127\1\137"+
- "\1\0\1\137\4\0\2\137\1\0\3\137\1\0\1\137"+
- "\10\0\1\u0127\2\137\1\u0127\2\137\1\u0127\2\137\1\0"+
- "\4\137\1\0\1\u0127\1\137\1\0\1\137\1\0\1\u0127"+
- "\2\137\51\0\1\u0128\51\0\1\u0129\111\0\2\u012a\37\0"+
- "\1\u012b\66\0\1\u0101\1\0\1\u0101\3\0\1\u0101\1\u0102"+
- "\3\0\2\u0101\53\0\1\u012c\1\336\1\337\1\336\1\0"+
- "\1\336\1\u012c\1\336\1\0\1\336\1\u0102\3\0\2\336"+
- "\1\0\3\336\1\0\1\336\10\0\1\u012c\2\336\1\u012c"+
- "\2\336\1\u012c\2\336\1\0\4\336\1\0\1\u012c\1\336"+
- "\1\0\1\336\1\0\1\u012c\2\336\6\0\1\u012d\1\150"+
- "\1\151\1\150\1\0\1\150\1\u012d\1\150\1\0\1\150"+
- "\4\0\2\150\1\0\3\150\1\253\1\150\10\0\1\u012d"+
- "\2\150\1\u012d\2\150\1\u012d\2\150\1\0\4\150\1\0"+
- "\1\u012d\1\150\1\0\1\150\1\0\1\u012d\2\150\6\0"+
- "\1\u012e\1\153\1\154\1\153\1\155\1\153\1\u012e\27\153"+
- "\1\u012e\2\153\1\u012e\2\153\1\u012e\10\153\1\u012e\4\153"+
- "\1\u012e\7\153\1\0\1\u012f\1\156\1\157\3\156\1\u012f"+
- "\1\156\1\155\25\156\1\u012f\2\156\1\u012f\2\156\1\u012f"+
- "\10\156\1\u012f\4\156\1\u012f\7\156\1\0\1\u0130\1\160"+
- "\1\161\1\160\1\162\1\160\1\u0130\27\160\1\u0130\2\160"+
- "\1\u0130\2\160\1\u0130\10\160\1\u0130\4\160\1\u0130\7\160"+
- "\1\0\1\u0131\1\163\1\164\3\163\1\u0131\1\163\1\162"+
- "\25\163\1\u0131\2\163\1\u0131\2\163\1\u0131\10\163\1\u0131"+
- "\4\163\1\u0131\7\163\1\0\2\u0109\1\u010a\1\u0132\1\0"+
- "\3\u0109\1\0\1\u0132\1\u010d\3\u0109\2\u0132\4\u0109\1\0"+
- "\45\u0109\1\0\1\u0133\1\u0109\1\u010a\1\u0132\2\u0109\1\u0133"+
- "\2\u0109\1\u0132\1\u0134\3\u0109\2\u0132\16\u0109\1\u0133\2\u0109"+
- "\1\u0133\2\u0109\1\u0133\10\u0109\1\u0133\4\u0109\1\u0133\7\u0109"+
- "\1\0\2\u010b\1\u0135\1\0\1\u0132\11\u010b\2\0\52\u010b"+
- "\1\0\2\u010c\1\u0136\1\0\4\u010c\1\u0132\5\u010c\2\0"+
- "\52\u010c\1\0\1\u0137\1\51\1\166\1\51\1\0\1\51"+
- "\1\u0137\1\51\1\0\1\51\4\0\2\51\1\0\3\51"+
- "\1\0\1\51\10\0\1\u0137\2\51\1\u0137\2\51\1\u0137"+
- "\2\51\1\0\4\51\1\0\1\u0137\1\51\1\0\1\51"+
- "\1\0\1\u0137\2\51\6\0\1\u0138\1\55\1\170\1\55"+
- "\1\0\1\55\1\u0138\1\55\1\0\1\55\4\0\2\55"+
- "\1\0\3\55\1\0\1\55\10\0\1\u0138\2\55\1\u0138"+
- "\2\55\1\u0138\2\55\1\0\4\55\1\0\1\u0138\1\55"+
- "\1\0\1\55\1\0\1\u0138\2\55\6\0\1\u0139\1\62"+
- "\1\172\1\62\1\0\1\62\1\u0139\1\62\1\0\1\62"+
- "\4\0\2\62\1\0\3\62\1\0\1\62\10\0\1\u0139"+
- "\2\62\1\u0139\2\62\1\u0139\2\62\1\0\4\62\1\0"+
- "\1\u0139\1\62\1\0\1\62\1\0\1\u0139\2\62\6\0"+
- "\1\u013a\1\72\1\176\1\72\1\0\1\72\1\u013a\1\72"+
- "\1\0\1\72\4\0\2\72\1\0\3\72\1\0\1\72"+
- "\10\0\1\u013a\2\72\1\u013a\2\72\1\u013a\2\72\1\0"+
- "\4\72\1\0\1\u013a\1\72\1\0\1\72\1\0\1\u013a"+
- "\2\72\6\0\1\u013b\1\100\1\200\1\100\1\0\1\100"+
- "\1\u013b\1\100\1\0\1\100\4\0\2\100\1\0\3\100"+
- "\1\0\1\100\10\0\1\u013b\2\100\1\u013b\2\100\1\u013b"+
- "\2\100\1\0\4\100\1\0\1\u013b\1\100\1\0\1\100"+
- "\1\0\1\u013b\2\100\6\0\1\u013c\1\202\1\203\1\202"+
- "\1\204\1\202\1\u013c\27\202\1\u013c\2\202\1\u013c\2\202"+
- "\1\u013c\10\202\1\u013c\4\202\1\u013c\7\202\1\0\1\u013d"+
- "\1\205\1\206\3\205\1\u013d\1\205\1\204\25\205\1\u013d"+
- "\2\205\1\u013d\2\205\1\u013d\10\205\1\u013d\4\205\1\u013d"+
- "\7\205\1\0\1\u013e\1\105\1\207\1\105\1\0\1\105"+
- "\1\u013e\1\105\1\0\1\105\4\0\2\105\1\0\3\105"+
- "\1\0\1\105\10\0\1\u013e\2\105\1\u013e\2\105\1\u013e"+
- "\2\105\1\0\4\105\1\0\1\u013e\1\105\1\0\1\105"+
- "\1\0\1\u013e\2\105\6\0\1\u013f\1\212\1\213\1\212"+
- "\1\0\1\212\1\u013f\1\212\1\0\1\212\4\0\2\212"+
- "\1\0\3\212\1\0\1\212\10\0\1\u013f\2\212\1\u013f"+
- "\2\212\1\u013f\2\212\1\0\4\212\1\0\1\u013f\1\212"+
- "\1\0\1\212\1\0\1\u013f\2\212\6\0\1\u0140\1\307"+
- "\1\310\1\307\1\0\1\307\1\u0140\1\307\1\0\1\307"+
- "\1\0\1\220\2\0\2\307\1\0\3\307\1\0\1\307"+
- "\10\0\1\u0140\2\307\1\u0140\2\307\1\u0140\2\307\1\0"+
- "\4\307\1\0\1\u0140\1\307\1\0\1\307\1\0\1\u0140"+
- "\2\307\6\0\1\u0141\1\114\1\217\1\114\1\0\1\114"+
- "\1\u0141\1\114\1\0\1\114\1\0\1\220\2\0\2\114"+
- "\1\0\3\114\1\221\1\114\10\0\1\u0141\2\114\1\u0141"+
- "\2\114\1\u0141\2\114\1\0\4\114\1\0\1\u0141\1\114"+
- "\1\0\1\114\1\0\1\u0141\2\114\6\0\1\u0142\1\223"+
- "\1\224\1\223\1\225\1\223\1\u0142\27\223\1\u0142\2\223"+
- "\1\u0142\2\223\1\u0142\10\223\1\u0142\4\223\1\u0142\7\223"+
- "\1\0\1\u0143\1\226\1\227\3\226\1\u0143\1\226\1\225"+
- "\25\226\1\u0143\2\226\1\u0143\2\226\1\u0143\10\226\1\u0143"+
- "\4\226\1\u0143\7\226\1\0\1\u0144\1\231\1\232\1\231"+
- "\1\0\1\231\1\u0144\1\231\1\0\1\231\4\0\2\231"+
- "\1\0\3\231\1\0\1\231\10\0\1\u0144\2\231\1\u0144"+
- "\2\231\1\u0144\2\231\1\0\4\231\1\0\1\u0144\1\231"+
- "\1\0\1\231\1\0\1\u0144\2\231\6\0\1\u0145\5\0"+
- "\1\u0145\1\366\15\0\2\u0145\7\0\2\u0145\1\0\2\u0145"+
- "\1\0\2\u0145\7\0\2\u0145\3\0\2\u0145\7\0\1\u0146"+
- "\5\0\1\u0146\16\0\2\u0146\7\0\2\u0146\1\0\2\u0146"+
- "\1\0\2\u0146\7\0\2\u0146\3\0\2\u0146\7\0\2\u011e"+
- "\1\u011f\1\u0147\1\0\3\u011e\1\0\1\u0147\1\u0123\3\u011e"+
- "\2\u0147\4\u011e\1\0\45\u011e\1\0\1\u0148\1\u011e\1\u011f"+
- "\1\u0147\2\u011e\1\u0148\2\u011e\1\u0147\1\u0149\3\u011e\2\u0147"+
- "\16\u011e\1\u0148\2\u011e\1\u0148\2\u011e\1\u0148\10\u011e\1\u0148"+
- "\4\u011e\1\u0148\7\u011e\1\0\2\u0121\1\u014a\1\0\1\u0147"+
- "\11\u0121\2\0\52\u0121\1\0\2\u0122\1\u014b\1\0\4\u0122"+
- "\1\u0147\5\u0122\2\0\52\u0122\23\0\1\u014c\50\0\1\u014d"+
- "\1\25\1\132\1\25\1\0\1\25\1\u014d\1\25\1\0"+
- "\1\25\4\0\2\25\1\0\3\25\1\0\1\25\10\0"+
- "\1\u014d\2\25\1\u014d\2\25\1\u014d\2\25\1\0\4\25"+
- "\1\0\1\u014d\1\25\1\0\1\25\1\0\1\u014d\2\25"+
- "\6\0\1\u014e\1\135\1\136\1\135\1\0\1\135\1\u014e"+
- "\1\135\1\0\1\135\4\0\2\135\1\0\3\135\1\0"+
- "\1\135\10\0\1\u014e\2\135\1\u014e\2\135\1\u014e\2\135"+
- "\1\0\4\135\1\0\1\u014e\1\135\1\0\1\135\1\0"+
- "\1\u014e\2\135\6\0\1\u014f\1\137\1\140\1\137\1\0"+
- "\1\137\1\u014f\1\137\1\0\1\137\4\0\2\137\1\0"+
- "\3\137\1\0\1\137\10\0\1\u014f\2\137\1\u014f\2\137"+
- "\1\u014f\2\137\1\0\4\137\1\0\1\u014f\1\137\1\0"+
- "\1\137\1\0\1\u014f\2\137\52\0\2\u0150\73\0\1\u0151"+
- "\106\0\2\u0152\7\0\1\u0153\1\336\1\337\1\336\1\0"+
- "\1\336\1\u0153\1\336\1\0\1\336\1\u0102\3\0\2\336"+
- "\1\0\3\336\1\0\1\336\10\0\1\u0153\2\336\1\u0153"+
- "\2\336\1\u0153\2\336\1\0\4\336\1\0\1\u0153\1\336"+
- "\1\0\1\336\1\0\1\u0153\2\336\6\0\1\u0154\1\150"+
- "\1\151\1\150\1\0\1\150\1\u0154\1\150\1\0\1\150"+
- "\4\0\2\150\1\0\3\150\1\253\1\150\10\0\1\u0154"+
- "\2\150\1\u0154\2\150\1\u0154\2\150\1\0\4\150\1\0"+
- "\1\u0154\1\150\1\0\1\150\1\0\1\u0154\2\150\6\0"+
- "\1\u0155\1\153\1\154\1\153\1\155\1\153\1\u0155\27\153"+
- "\1\u0155\2\153\1\u0155\2\153\1\u0155\10\153\1\u0155\4\153"+
- "\1\u0155\7\153\1\0\1\u0156\1\156\1\157\3\156\1\u0156"+
- "\1\156\1\155\25\156\1\u0156\2\156\1\u0156\2\156\1\u0156"+
- "\10\156\1\u0156\4\156\1\u0156\7\156\1\0\1\u0157\1\160"+
- "\1\161\1\160\1\162\1\160\1\u0157\27\160\1\u0157\2\160"+
- "\1\u0157\2\160\1\u0157\10\160\1\u0157\4\160\1\u0157\7\160"+
- "\1\0\1\u0158\1\163\1\164\3\163\1\u0158\1\163\1\162"+
- "\25\163\1\u0158\2\163\1\u0158\2\163\1\u0158\10\163\1\u0158"+
- "\4\163\1\u0158\7\163\4\0\1\u0132\1\0\1\u0132\3\0"+
- "\1\u0132\1\u010d\3\0\2\u0132\53\0\1\u0159\1\u0109\1\u010a"+
- "\1\u0109\1\0\1\u0109\1\u0159\1\u0109\1\0\1\u0109\1\u010d"+
- "\11\u0109\1\0\11\u0109\1\u0159\2\u0109\1\u0159\2\u0109\1\u0159"+
- "\10\u0109\1\u0159\4\u0109\1\u0159\7\u0109\1\0\1\u015a\1\u010b"+
- "\1\u0135\1\u010b\1\u015b\1\u010b\1\u015a\10\u010b\1\u015c\16\u010b"+
- "\1\u015a\2\u010b\1\u015a\2\u010b\1\u015a\10\u010b\1\u015a\4\u010b"+
- "\1\u015a\7\u010b\1\0\1\u015d\1\u010c\1\u0136\3\u010c\1\u015d"+
- "\1\u010c\1\u015e\6\u010c\1\u015f\16\u010c\1\u015d\2\u010c\1\u015d"+
- "\2\u010c\1\u015d\10\u010c\1\u015d\4\u010c\1\u015d\7\u010c\1\0"+
- "\1\u0160\1\51\1\166\1\51\1\0\1\51\1\u0160\1\51"+
+ "\1\150\10\0\1\u0127\2\150\1\u0127\2\150\1\u0127\2\150"+
+ "\1\0\4\150\1\0\1\u0127\1\150\1\0\1\150\1\0"+
+ "\1\u0127\3\150\6\0\1\u0128\1\153\1\154\1\153\1\155"+
+ "\1\153\1\u0128\27\153\1\u0128\2\153\1\u0128\2\153\1\u0128"+
+ "\10\153\1\u0128\4\153\1\u0128\10\153\1\0\1\u0129\1\156"+
+ "\1\157\3\156\1\u0129\1\156\1\155\25\156\1\u0129\2\156"+
+ "\1\u0129\2\156\1\u0129\10\156\1\u0129\4\156\1\u0129\10\156"+
+ "\1\0\1\u012a\1\160\1\161\1\160\1\162\1\160\1\u012a"+
+ "\27\160\1\u012a\2\160\1\u012a\2\160\1\u012a\10\160\1\u012a"+
+ "\4\160\1\u012a\10\160\1\0\1\u012b\1\163\1\164\3\163"+
+ "\1\u012b\1\163\1\162\25\163\1\u012b\2\163\1\u012b\2\163"+
+ "\1\u012b\10\163\1\u012b\4\163\1\u012b\10\163\1\0\2\u0104"+
+ "\1\u0105\1\u012c\1\0\3\u0104\1\0\1\u012c\1\u0108\3\u0104"+
+ "\2\u012c\4\u0104\1\0\46\u0104\1\0\1\u012d\1\u0104\1\u0105"+
+ "\1\u012c\2\u0104\1\u012d\2\u0104\1\u012c\1\u012e\3\u0104\2\u012c"+
+ "\16\u0104\1\u012d\2\u0104\1\u012d\2\u0104\1\u012d\10\u0104\1\u012d"+
+ "\4\u0104\1\u012d\10\u0104\1\0\2\u0106\1\u012f\1\0\1\u012c"+
+ "\11\u0106\2\0\53\u0106\1\0\2\u0107\1\u0130\1\0\4\u0107"+
+ "\1\u012c\5\u0107\2\0\53\u0107\1\0\1\u0131\1\51\1\166"+
+ "\1\51\1\0\1\51\1\u0131\1\51\1\0\1\51\4\0"+
+ "\2\51\1\0\3\51\1\0\1\51\10\0\1\u0131\2\51"+
+ "\1\u0131\2\51\1\u0131\2\51\1\0\4\51\1\0\1\u0131"+
+ "\1\51\1\0\1\51\1\0\1\u0131\3\51\6\0\1\u0132"+
+ "\1\55\1\170\1\55\1\0\1\55\1\u0132\1\55\1\0"+
+ "\1\55\4\0\2\55\1\0\3\55\1\0\1\55\10\0"+
+ "\1\u0132\2\55\1\u0132\2\55\1\u0132\2\55\1\0\4\55"+
+ "\1\0\1\u0132\1\55\1\0\1\55\1\0\1\u0132\3\55"+
+ "\6\0\1\u0133\1\62\1\172\1\62\1\0\1\62\1\u0133"+
+ "\1\62\1\0\1\62\4\0\2\62\1\0\3\62\1\0"+
+ "\1\62\10\0\1\u0133\2\62\1\u0133\2\62\1\u0133\2\62"+
+ "\1\0\4\62\1\0\1\u0133\1\62\1\0\1\62\1\0"+
+ "\1\u0133\3\62\6\0\1\u0134\1\72\1\176\1\72\1\0"+
+ "\1\72\1\u0134\1\72\1\0\1\72\4\0\2\72\1\0"+
+ "\3\72\1\0\1\72\10\0\1\u0134\2\72\1\u0134\2\72"+
+ "\1\u0134\2\72\1\0\4\72\1\0\1\u0134\1\72\1\0"+
+ "\1\72\1\0\1\u0134\3\72\6\0\1\u0135\1\100\1\200"+
+ "\1\100\1\0\1\100\1\u0135\1\100\1\0\1\100\4\0"+
+ "\2\100\1\0\3\100\1\0\1\100\10\0\1\u0135\2\100"+
+ "\1\u0135\2\100\1\u0135\2\100\1\0\4\100\1\0\1\u0135"+
+ "\1\100\1\0\1\100\1\0\1\u0135\3\100\6\0\1\u0136"+
+ "\1\202\1\203\1\202\1\204\1\202\1\u0136\27\202\1\u0136"+
+ "\2\202\1\u0136\2\202\1\u0136\10\202\1\u0136\4\202\1\u0136"+
+ "\10\202\1\0\1\u0137\1\205\1\206\3\205\1\u0137\1\205"+
+ "\1\204\25\205\1\u0137\2\205\1\u0137\2\205\1\u0137\10\205"+
+ "\1\u0137\4\205\1\u0137\10\205\1\0\1\u0138\1\105\1\207"+
+ "\1\105\1\0\1\105\1\u0138\1\105\1\0\1\105\4\0"+
+ "\2\105\1\0\3\105\1\0\1\105\10\0\1\u0138\2\105"+
+ "\1\u0138\2\105\1\u0138\2\105\1\0\4\105\1\0\1\u0138"+
+ "\1\105\1\0\1\105\1\0\1\u0138\3\105\6\0\1\u0139"+
+ "\1\212\1\213\1\212\1\0\1\212\1\u0139\1\212\1\0"+
+ "\1\212\4\0\2\212\1\0\3\212\1\0\1\212\10\0"+
+ "\1\u0139\2\212\1\u0139\2\212\1\u0139\2\212\1\0\4\212"+
+ "\1\0\1\u0139\1\212\1\0\1\212\1\0\1\u0139\3\212"+
+ "\6\0\1\u013a\1\307\1\310\1\307\1\0\1\307\1\u013a"+
+ "\1\307\1\0\1\307\1\0\1\220\2\0\2\307\1\0"+
+ "\3\307\1\0\1\307\10\0\1\u013a\2\307\1\u013a\2\307"+
+ "\1\u013a\2\307\1\0\4\307\1\0\1\u013a\1\307\1\0"+
+ "\1\307\1\0\1\u013a\3\307\6\0\1\u013b\1\114\1\217"+
+ "\1\114\1\0\1\114\1\u013b\1\114\1\0\1\114\1\0"+
+ "\1\220\2\0\2\114\1\0\3\114\1\221\1\114\10\0"+
+ "\1\u013b\2\114\1\u013b\2\114\1\u013b\2\114\1\0\4\114"+
+ "\1\0\1\u013b\1\114\1\0\1\114\1\0\1\u013b\3\114"+
+ "\6\0\1\u013c\1\223\1\224\1\223\1\225\1\223\1\u013c"+
+ "\27\223\1\u013c\2\223\1\u013c\2\223\1\u013c\10\223\1\u013c"+
+ "\4\223\1\u013c\10\223\1\0\1\u013d\1\226\1\227\3\226"+
+ "\1\u013d\1\226\1\225\25\226\1\u013d\2\226\1\u013d\2\226"+
+ "\1\u013d\10\226\1\u013d\4\226\1\u013d\10\226\1\0\1\u013e"+
+ "\1\231\1\232\1\231\1\0\1\231\1\u013e\1\231\1\0"+
+ "\1\231\4\0\2\231\1\0\3\231\1\0\1\231\10\0"+
+ "\1\u013e\2\231\1\u013e\2\231\1\u013e\2\231\1\0\4\231"+
+ "\1\0\1\u013e\1\231\1\0\1\231\1\0\1\u013e\3\231"+
+ "\6\0\1\u013f\5\0\1\u013f\1\364\15\0\2\u013f\7\0"+
+ "\2\u013f\1\0\2\u013f\1\0\2\u013f\7\0\2\u013f\3\0"+
+ "\2\u013f\10\0\1\u0140\5\0\1\u0140\16\0\2\u0140\7\0"+
+ "\2\u0140\1\0\2\u0140\1\0\2\u0140\7\0\2\u0140\3\0"+
+ "\2\u0140\10\0\2\u0119\1\u011a\1\u0141\1\0\3\u0119\1\0"+
+ "\1\u0141\1\u011e\3\u0119\2\u0141\4\u0119\1\0\46\u0119\1\0"+
+ "\1\u0142\1\u0119\1\u011a\1\u0141\2\u0119\1\u0142\2\u0119\1\u0141"+
+ "\1\u0143\3\u0119\2\u0141\16\u0119\1\u0142\2\u0119\1\u0142\2\u0119"+
+ "\1\u0142\10\u0119\1\u0142\4\u0119\1\u0142\10\u0119\1\0\2\u011c"+
+ "\1\u0144\1\0\1\u0141\11\u011c\2\0\53\u011c\1\0\2\u011d"+
+ "\1\u0145\1\0\4\u011d\1\u0141\5\u011d\2\0\53\u011d\23\0"+
+ "\1\u0146\51\0\1\u0147\1\25\1\132\1\25\1\0\1\25"+
+ "\1\u0147\1\25\1\0\1\25\4\0\2\25\1\0\3\25"+
+ "\1\0\1\25\10\0\1\u0147\2\25\1\u0147\2\25\1\u0147"+
+ "\2\25\1\0\4\25\1\0\1\u0147\1\25\1\0\1\25"+
+ "\1\0\1\u0147\3\25\6\0\1\u0148\1\135\1\136\1\135"+
+ "\1\0\1\135\1\u0148\1\135\1\0\1\135\4\0\2\135"+
+ "\1\0\3\135\1\0\1\135\10\0\1\u0148\2\135\1\u0148"+
+ "\2\135\1\u0148\2\135\1\0\4\135\1\0\1\u0148\1\135"+
+ "\1\0\1\135\1\0\1\u0148\3\135\6\0\1\u0149\1\137"+
+ "\1\140\1\137\1\0\1\137\1\u0149\1\137\1\0\1\137"+
+ "\4\0\2\137\1\0\3\137\1\0\1\137\10\0\1\u0149"+
+ "\2\137\1\u0149\2\137\1\u0149\2\137\1\0\4\137\1\0"+
+ "\1\u0149\1\137\1\0\1\137\1\0\1\u0149\3\137\52\0"+
+ "\2\u014a\74\0\1\u014b\107\0\2\u014c\10\0\1\u014d\1\150"+
+ "\1\151\1\150\1\0\1\150\1\u014d\1\150\1\0\1\150"+
+ "\4\0\2\150\1\0\3\150\1\253\1\150\10\0\1\u014d"+
+ "\2\150\1\u014d\2\150\1\u014d\2\150\1\0\4\150\1\0"+
+ "\1\u014d\1\150\1\0\1\150\1\0\1\u014d\3\150\6\0"+
+ "\1\u014e\1\153\1\154\1\153\1\155\1\153\1\u014e\27\153"+
+ "\1\u014e\2\153\1\u014e\2\153\1\u014e\10\153\1\u014e\4\153"+
+ "\1\u014e\10\153\1\0\1\u014f\1\156\1\157\3\156\1\u014f"+
+ "\1\156\1\155\25\156\1\u014f\2\156\1\u014f\2\156\1\u014f"+
+ "\10\156\1\u014f\4\156\1\u014f\10\156\1\0\1\u0150\1\160"+
+ "\1\161\1\160\1\162\1\160\1\u0150\27\160\1\u0150\2\160"+
+ "\1\u0150\2\160\1\u0150\10\160\1\u0150\4\160\1\u0150\10\160"+
+ "\1\0\1\u0151\1\163\1\164\3\163\1\u0151\1\163\1\162"+
+ "\25\163\1\u0151\2\163\1\u0151\2\163\1\u0151\10\163\1\u0151"+
+ "\4\163\1\u0151\10\163\4\0\1\u012c\1\0\1\u012c\3\0"+
+ "\1\u012c\1\u0108\3\0\2\u012c\54\0\1\u0152\1\u0104\1\u0105"+
+ "\1\u0104\1\0\1\u0104\1\u0152\1\u0104\1\0\1\u0104\1\u0108"+
+ "\11\u0104\1\0\11\u0104\1\u0152\2\u0104\1\u0152\2\u0104\1\u0152"+
+ "\10\u0104\1\u0152\4\u0104\1\u0152\10\u0104\1\0\1\u0153\1\u0106"+
+ "\1\u012f\1\u0106\1\u0154\1\u0106\1\u0153\10\u0106\1\u0155\16\u0106"+
+ "\1\u0153\2\u0106\1\u0153\2\u0106\1\u0153\10\u0106\1\u0153\4\u0106"+
+ "\1\u0153\10\u0106\1\0\1\u0156\1\u0107\1\u0130\3\u0107\1\u0156"+
+ "\1\u0107\1\u0157\6\u0107\1\u0158\16\u0107\1\u0156\2\u0107\1\u0156"+
+ "\2\u0107\1\u0156\10\u0107\1\u0156\4\u0107\1\u0156\10\u0107\1\0"+
+ "\1\u0159\1\51\1\166\1\51\1\0\1\51\1\u0159\1\51"+
"\1\0\1\51\4\0\2\51\1\0\3\51\1\0\1\51"+
- "\10\0\1\u0160\2\51\1\u0160\2\51\1\u0160\2\51\1\0"+
- "\4\51\1\0\1\u0160\1\51\1\0\1\51\1\0\1\u0160"+
- "\2\51\6\0\1\u0161\1\55\1\170\1\55\1\0\1\55"+
- "\1\u0161\1\55\1\0\1\55\4\0\2\55\1\0\3\55"+
- "\1\0\1\55\10\0\1\u0161\2\55\1\u0161\2\55\1\u0161"+
- "\2\55\1\0\4\55\1\0\1\u0161\1\55\1\0\1\55"+
- "\1\0\1\u0161\2\55\6\0\1\u0162\1\62\1\172\1\62"+
- "\1\0\1\62\1\u0162\1\62\1\0\1\62\4\0\2\62"+
- "\1\0\3\62\1\0\1\62\10\0\1\u0162\2\62\1\u0162"+
- "\2\62\1\u0162\2\62\1\0\4\62\1\0\1\u0162\1\62"+
- "\1\0\1\62\1\0\1\u0162\2\62\6\0\1\u0163\1\72"+
- "\1\176\1\72\1\0\1\72\1\u0163\1\72\1\0\1\72"+
- "\4\0\2\72\1\0\3\72\1\0\1\72\10\0\1\u0163"+
- "\2\72\1\u0163\2\72\1\u0163\2\72\1\0\4\72\1\0"+
- "\1\u0163\1\72\1\0\1\72\1\0\1\u0163\2\72\6\0"+
- "\1\u0164\1\100\1\200\1\100\1\0\1\100\1\u0164\1\100"+
+ "\10\0\1\u0159\2\51\1\u0159\2\51\1\u0159\2\51\1\0"+
+ "\4\51\1\0\1\u0159\1\51\1\0\1\51\1\0\1\u0159"+
+ "\3\51\6\0\1\u015a\1\55\1\170\1\55\1\0\1\55"+
+ "\1\u015a\1\55\1\0\1\55\4\0\2\55\1\0\3\55"+
+ "\1\0\1\55\10\0\1\u015a\2\55\1\u015a\2\55\1\u015a"+
+ "\2\55\1\0\4\55\1\0\1\u015a\1\55\1\0\1\55"+
+ "\1\0\1\u015a\3\55\6\0\1\u015b\1\62\1\172\1\62"+
+ "\1\0\1\62\1\u015b\1\62\1\0\1\62\4\0\2\62"+
+ "\1\0\3\62\1\0\1\62\10\0\1\u015b\2\62\1\u015b"+
+ "\2\62\1\u015b\2\62\1\0\4\62\1\0\1\u015b\1\62"+
+ "\1\0\1\62\1\0\1\u015b\3\62\6\0\1\u015c\1\72"+
+ "\1\176\1\72\1\0\1\72\1\u015c\1\72\1\0\1\72"+
+ "\4\0\2\72\1\0\3\72\1\0\1\72\10\0\1\u015c"+
+ "\2\72\1\u015c\2\72\1\u015c\2\72\1\0\4\72\1\0"+
+ "\1\u015c\1\72\1\0\1\72\1\0\1\u015c\3\72\6\0"+
+ "\1\u015d\1\100\1\200\1\100\1\0\1\100\1\u015d\1\100"+
"\1\0\1\100\4\0\2\100\1\0\3\100\1\0\1\100"+
- "\10\0\1\u0164\2\100\1\u0164\2\100\1\u0164\2\100\1\0"+
- "\4\100\1\0\1\u0164\1\100\1\0\1\100\1\0\1\u0164"+
- "\2\100\6\0\1\u0165\1\202\1\203\1\202\1\204\1\202"+
- "\1\u0165\27\202\1\u0165\2\202\1\u0165\2\202\1\u0165\10\202"+
- "\1\u0165\4\202\1\u0165\7\202\1\0\1\u0166\1\205\1\206"+
- "\3\205\1\u0166\1\205\1\204\25\205\1\u0166\2\205\1\u0166"+
- "\2\205\1\u0166\10\205\1\u0166\4\205\1\u0166\7\205\1\0"+
- "\1\u0167\1\105\1\207\1\105\1\0\1\105\1\u0167\1\105"+
+ "\10\0\1\u015d\2\100\1\u015d\2\100\1\u015d\2\100\1\0"+
+ "\4\100\1\0\1\u015d\1\100\1\0\1\100\1\0\1\u015d"+
+ "\3\100\6\0\1\u015e\1\202\1\203\1\202\1\204\1\202"+
+ "\1\u015e\27\202\1\u015e\2\202\1\u015e\2\202\1\u015e\10\202"+
+ "\1\u015e\4\202\1\u015e\10\202\1\0\1\u015f\1\205\1\206"+
+ "\3\205\1\u015f\1\205\1\204\25\205\1\u015f\2\205\1\u015f"+
+ "\2\205\1\u015f\10\205\1\u015f\4\205\1\u015f\10\205\1\0"+
+ "\1\u0160\1\105\1\207\1\105\1\0\1\105\1\u0160\1\105"+
"\1\0\1\105\4\0\2\105\1\0\3\105\1\0\1\105"+
- "\10\0\1\u0167\2\105\1\u0167\2\105\1\u0167\2\105\1\0"+
- "\4\105\1\0\1\u0167\1\105\1\0\1\105\1\0\1\u0167"+
- "\2\105\6\0\1\u0168\1\212\1\213\1\212\1\0\1\212"+
- "\1\u0168\1\212\1\0\1\212\4\0\2\212\1\0\3\212"+
- "\1\0\1\212\10\0\1\u0168\2\212\1\u0168\2\212\1\u0168"+
- "\2\212\1\0\4\212\1\0\1\u0168\1\212\1\0\1\212"+
- "\1\0\1\u0168\2\212\6\0\1\u0169\1\307\1\310\1\307"+
- "\1\0\1\307\1\u0169\1\307\1\0\1\307\1\0\1\220"+
- "\2\0\2\307\1\0\3\307\1\0\1\307\10\0\1\u0169"+
- "\2\307\1\u0169\2\307\1\u0169\2\307\1\0\4\307\1\0"+
- "\1\u0169\1\307\1\0\1\307\1\0\1\u0169\2\307\6\0"+
- "\1\u016a\1\114\1\217\1\114\1\0\1\114\1\u016a\1\114"+
+ "\10\0\1\u0160\2\105\1\u0160\2\105\1\u0160\2\105\1\0"+
+ "\4\105\1\0\1\u0160\1\105\1\0\1\105\1\0\1\u0160"+
+ "\3\105\6\0\1\u0161\1\212\1\213\1\212\1\0\1\212"+
+ "\1\u0161\1\212\1\0\1\212\4\0\2\212\1\0\3\212"+
+ "\1\0\1\212\10\0\1\u0161\2\212\1\u0161\2\212\1\u0161"+
+ "\2\212\1\0\4\212\1\0\1\u0161\1\212\1\0\1\212"+
+ "\1\0\1\u0161\3\212\6\0\1\u0162\1\307\1\310\1\307"+
+ "\1\0\1\307\1\u0162\1\307\1\0\1\307\1\0\1\220"+
+ "\2\0\2\307\1\0\3\307\1\0\1\307\10\0\1\u0162"+
+ "\2\307\1\u0162\2\307\1\u0162\2\307\1\0\4\307\1\0"+
+ "\1\u0162\1\307\1\0\1\307\1\0\1\u0162\3\307\6\0"+
+ "\1\u0163\1\114\1\217\1\114\1\0\1\114\1\u0163\1\114"+
"\1\0\1\114\1\0\1\220\2\0\2\114\1\0\3\114"+
- "\1\221\1\114\10\0\1\u016a\2\114\1\u016a\2\114\1\u016a"+
- "\2\114\1\0\4\114\1\0\1\u016a\1\114\1\0\1\114"+
- "\1\0\1\u016a\2\114\6\0\1\u016b\1\223\1\224\1\223"+
- "\1\225\1\223\1\u016b\27\223\1\u016b\2\223\1\u016b\2\223"+
- "\1\u016b\10\223\1\u016b\4\223\1\u016b\7\223\1\0\1\u016c"+
- "\1\226\1\227\3\226\1\u016c\1\226\1\225\25\226\1\u016c"+
- "\2\226\1\u016c\2\226\1\u016c\10\226\1\u016c\4\226\1\u016c"+
- "\7\226\1\0\1\u016d\1\231\1\232\1\231\1\0\1\231"+
- "\1\u016d\1\231\1\0\1\231\4\0\2\231\1\0\3\231"+
- "\1\0\1\231\10\0\1\u016d\2\231\1\u016d\2\231\1\u016d"+
- "\2\231\1\0\4\231\1\0\1\u016d\1\231\1\0\1\231"+
- "\1\0\1\u016d\2\231\6\0\1\u016e\5\0\1\u016e\1\366"+
- "\15\0\2\u016e\7\0\2\u016e\1\0\2\u016e\1\0\2\u016e"+
- "\7\0\2\u016e\3\0\2\u016e\7\0\1\u016f\5\0\1\u016f"+
- "\16\0\2\u016f\7\0\2\u016f\1\0\2\u016f\1\0\2\u016f"+
- "\7\0\2\u016f\3\0\2\u016f\12\0\1\u0147\1\0\1\u0147"+
- "\3\0\1\u0147\1\u0123\3\0\2\u0147\53\0\1\u0170\1\u011e"+
- "\1\u011f\1\u011e\1\0\1\u011e\1\u0170\1\u011e\1\0\1\u011e"+
- "\1\u0123\11\u011e\1\0\11\u011e\1\u0170\2\u011e\1\u0170\2\u011e"+
- "\1\u0170\10\u011e\1\u0170\4\u011e\1\u0170\7\u011e\1\0\1\u0171"+
- "\1\u0121\1\u014a\1\u0121\1\u0172\1\u0121\1\u0171\10\u0121\1\u0173"+
- "\16\u0121\1\u0171\2\u0121\1\u0171\2\u0121\1\u0171\10\u0121\1\u0171"+
- "\4\u0121\1\u0171\7\u0121\1\0\1\u0174\1\u0122\1\u014b\3\u0122"+
- "\1\u0174\1\u0122\1\u0175\6\u0122\1\u0176\16\u0122\1\u0174\2\u0122"+
- "\1\u0174\2\u0122\1\u0174\10\u0122\1\u0174\4\u0122\1\u0174\7\u0122"+
- "\47\0\1\u0177\24\0\2\25\1\132\1\25\1\0\3\25"+
+ "\1\221\1\114\10\0\1\u0163\2\114\1\u0163\2\114\1\u0163"+
+ "\2\114\1\0\4\114\1\0\1\u0163\1\114\1\0\1\114"+
+ "\1\0\1\u0163\3\114\6\0\1\u0164\1\223\1\224\1\223"+
+ "\1\225\1\223\1\u0164\27\223\1\u0164\2\223\1\u0164\2\223"+
+ "\1\u0164\10\223\1\u0164\4\223\1\u0164\10\223\1\0\1\u0165"+
+ "\1\226\1\227\3\226\1\u0165\1\226\1\225\25\226\1\u0165"+
+ "\2\226\1\u0165\2\226\1\u0165\10\226\1\u0165\4\226\1\u0165"+
+ "\10\226\1\0\1\u0166\1\231\1\232\1\231\1\0\1\231"+
+ "\1\u0166\1\231\1\0\1\231\4\0\2\231\1\0\3\231"+
+ "\1\0\1\231\10\0\1\u0166\2\231\1\u0166\2\231\1\u0166"+
+ "\2\231\1\0\4\231\1\0\1\u0166\1\231\1\0\1\231"+
+ "\1\0\1\u0166\3\231\6\0\1\u0167\5\0\1\u0167\1\364"+
+ "\15\0\2\u0167\7\0\2\u0167\1\0\2\u0167\1\0\2\u0167"+
+ "\7\0\2\u0167\3\0\2\u0167\10\0\1\u0168\5\0\1\u0168"+
+ "\16\0\2\u0168\7\0\2\u0168\1\0\2\u0168\1\0\2\u0168"+
+ "\7\0\2\u0168\3\0\2\u0168\13\0\1\u0141\1\0\1\u0141"+
+ "\3\0\1\u0141\1\u011e\3\0\2\u0141\54\0\1\u0169\1\u0119"+
+ "\1\u011a\1\u0119\1\0\1\u0119\1\u0169\1\u0119\1\0\1\u0119"+
+ "\1\u011e\11\u0119\1\0\11\u0119\1\u0169\2\u0119\1\u0169\2\u0119"+
+ "\1\u0169\10\u0119\1\u0169\4\u0119\1\u0169\10\u0119\1\0\1\u016a"+
+ "\1\u011c\1\u0144\1\u011c\1\u016b\1\u011c\1\u016a\10\u011c\1\u016c"+
+ "\16\u011c\1\u016a\2\u011c\1\u016a\2\u011c\1\u016a\10\u011c\1\u016a"+
+ "\4\u011c\1\u016a\10\u011c\1\0\1\u016d\1\u011d\1\u0145\3\u011d"+
+ "\1\u016d\1\u011d\1\u016e\6\u011d\1\u016f\16\u011d\1\u016d\2\u011d"+
+ "\1\u016d\2\u011d\1\u016d\10\u011d\1\u016d\4\u011d\1\u016d\10\u011d"+
+ "\47\0\1\u0170\25\0\2\25\1\132\1\25\1\0\3\25"+
"\1\0\1\25\4\0\2\25\1\0\3\25\1\0\1\25"+
"\10\0\11\25\1\0\4\25\1\0\2\25\1\0\1\25"+
- "\1\0\3\25\6\0\1\u0178\1\135\1\136\1\135\1\0"+
- "\1\135\1\u0178\1\135\1\0\1\135\4\0\2\135\1\0"+
- "\3\135\1\0\1\135\10\0\1\u0178\2\135\1\u0178\2\135"+
- "\1\u0178\2\135\1\0\4\135\1\0\1\u0178\1\135\1\0"+
- "\1\135\1\0\1\u0178\2\135\6\0\1\u0179\1\137\1\140"+
- "\1\137\1\0\1\137\1\u0179\1\137\1\0\1\137\4\0"+
- "\2\137\1\0\3\137\1\0\1\137\10\0\1\u0179\2\137"+
- "\1\u0179\2\137\1\u0179\2\137\1\0\4\137\1\0\1\u0179"+
- "\1\137\1\0\1\137\1\0\1\u0179\2\137\54\0\1\u017a"+
- "\65\0\2\u017b\30\0\1\u017c\1\336\1\337\1\336\1\0"+
- "\1\336\1\u017c\1\336\1\0\1\336\1\u0102\3\0\2\336"+
- "\1\0\3\336\1\0\1\336\10\0\1\u017c\2\336\1\u017c"+
- "\2\336\1\u017c\2\336\1\0\4\336\1\0\1\u017c\1\336"+
- "\1\0\1\336\1\0\1\u017c\2\336\6\0\1\u017d\1\150"+
- "\1\151\1\150\1\0\1\150\1\u017d\1\150\1\0\1\150"+
- "\4\0\2\150\1\0\3\150\1\253\1\150\10\0\1\u017d"+
- "\2\150\1\u017d\2\150\1\u017d\2\150\1\0\4\150\1\0"+
- "\1\u017d\1\150\1\0\1\150\1\0\1\u017d\2\150\6\0"+
- "\1\u017e\1\153\1\154\1\153\1\155\1\153\1\u017e\27\153"+
- "\1\u017e\2\153\1\u017e\2\153\1\u017e\10\153\1\u017e\4\153"+
- "\1\u017e\7\153\1\0\1\u017f\1\156\1\157\3\156\1\u017f"+
- "\1\156\1\155\25\156\1\u017f\2\156\1\u017f\2\156\1\u017f"+
- "\10\156\1\u017f\4\156\1\u017f\7\156\1\0\1\u0180\1\160"+
- "\1\161\1\160\1\162\1\160\1\u0180\27\160\1\u0180\2\160"+
- "\1\u0180\2\160\1\u0180\10\160\1\u0180\4\160\1\u0180\7\160"+
- "\1\0\1\u0181\1\163\1\164\3\163\1\u0181\1\163\1\162"+
- "\25\163\1\u0181\2\163\1\u0181\2\163\1\u0181\10\163\1\u0181"+
- "\4\163\1\u0181\7\163\1\0\1\u0182\1\u0109\1\u010a\1\u0109"+
- "\1\0\1\u0109\1\u0182\1\u0109\1\0\1\u0109\1\u010d\11\u0109"+
- "\1\0\11\u0109\1\u0182\2\u0109\1\u0182\2\u0109\1\u0182\10\u0109"+
- "\1\u0182\4\u0109\1\u0182\7\u0109\1\0\1\u0183\1\u010b\1\u0135"+
- "\1\u010b\1\u0132\1\u010b\1\u0183\27\u010b\1\u0183\2\u010b\1\u0183"+
- "\2\u010b\1\u0183\10\u010b\1\u0183\4\u010b\1\u0183\7\u010b\1\0"+
- "\2\u010b\1\u0135\2\u0132\1\u015b\3\u010b\1\u015b\1\u0184\3\u010b"+
- "\2\u0132\52\u010b\1\0\2\u010b\1\u0135\1\0\1\u0132\12\u010b"+
- "\1\0\52\u010b\1\0\1\u0185\1\u010c\1\u0136\3\u010c\1\u0185"+
- "\1\u010c\1\u0132\25\u010c\1\u0185\2\u010c\1\u0185\2\u010c\1\u0185"+
- "\10\u010c\1\u0185\4\u010c\1\u0185\7\u010c\1\0\2\u010c\1\u0136"+
- "\1\u0132\1\u010c\1\u015e\2\u010c\1\u0132\1\u015e\1\u0186\3\u010c"+
- "\2\u0132\52\u010c\1\0\2\u010c\1\u0136\1\0\4\u010c\1\u0132"+
- "\6\u010c\1\0\52\u010c\1\0\2\51\1\166\1\51\1\0"+
- "\3\51\1\0\1\51\4\0\2\51\1\0\3\51\1\0"+
- "\1\51\10\0\11\51\1\0\4\51\1\0\2\51\1\0"+
- "\1\51\1\0\3\51\6\0\2\55\1\170\1\55\1\0"+
- "\3\55\1\0\1\55\4\0\2\55\1\0\3\55\1\0"+
- "\1\55\10\0\11\55\1\0\4\55\1\0\2\55\1\0"+
- "\1\55\1\0\3\55\6\0\2\62\1\172\1\62\1\0"+
- "\3\62\1\0\1\62\4\0\2\62\1\0\3\62\1\0"+
- "\1\62\10\0\11\62\1\0\4\62\1\0\2\62\1\0"+
- "\1\62\1\0\3\62\6\0\2\72\1\176\1\72\1\0"+
- "\3\72\1\0\1\72\4\0\2\72\1\0\3\72\1\0"+
- "\1\72\10\0\11\72\1\0\4\72\1\0\2\72\1\0"+
- "\1\72\1\0\3\72\6\0\2\100\1\200\1\100\1\0"+
- "\3\100\1\0\1\100\4\0\2\100\1\0\3\100\1\0"+
- "\1\100\10\0\11\100\1\0\4\100\1\0\2\100\1\0"+
- "\1\100\1\0\3\100\6\0\1\u0187\1\202\1\203\1\202"+
- "\1\204\1\202\1\u0187\27\202\1\u0187\2\202\1\u0187\2\202"+
- "\1\u0187\10\202\1\u0187\4\202\1\u0187\7\202\1\0\1\u0188"+
- "\1\205\1\206\3\205\1\u0188\1\205\1\204\25\205\1\u0188"+
- "\2\205\1\u0188\2\205\1\u0188\10\205\1\u0188\4\205\1\u0188"+
- "\7\205\1\0\2\105\1\207\1\105\1\0\3\105\1\0"+
- "\1\105\4\0\2\105\1\0\3\105\1\0\1\105\10\0"+
- "\11\105\1\0\4\105\1\0\2\105\1\0\1\105\1\0"+
- "\3\105\6\0\1\u0189\1\212\1\213\1\212\1\0\1\212"+
- "\1\u0189\1\212\1\0\1\212\4\0\2\212\1\0\3\212"+
- "\1\0\1\212\10\0\1\u0189\2\212\1\u0189\2\212\1\u0189"+
- "\2\212\1\0\4\212\1\0\1\u0189\1\212\1\0\1\212"+
- "\1\0\1\u0189\2\212\6\0\1\u018a\1\307\1\310\1\307"+
- "\1\0\1\307\1\u018a\1\307\1\0\1\307\1\0\1\220"+
- "\2\0\2\307\1\0\3\307\1\0\1\307\10\0\1\u018a"+
- "\2\307\1\u018a\2\307\1\u018a\2\307\1\0\4\307\1\0"+
- "\1\u018a\1\307\1\0\1\307\1\0\1\u018a\2\307\6\0"+
- "\2\114\1\217\1\114\1\0\3\114\1\0\1\114\1\0"+
- "\1\220\2\0\2\114\1\0\3\114\1\221\1\114\10\0"+
- "\11\114\1\0\4\114\1\0\2\114\1\0\1\114\1\0"+
- "\3\114\6\0\1\u018b\1\223\1\224\1\223\1\225\1\223"+
- "\1\u018b\27\223\1\u018b\2\223\1\u018b\2\223\1\u018b\10\223"+
- "\1\u018b\4\223\1\u018b\7\223\1\0\1\u018c\1\226\1\227"+
- "\3\226\1\u018c\1\226\1\225\25\226\1\u018c\2\226\1\u018c"+
- "\2\226\1\u018c\10\226\1\u018c\4\226\1\u018c\7\226\1\0"+
- "\1\u018d\1\231\1\232\1\231\1\0\1\231\1\u018d\1\231"+
- "\1\0\1\231\4\0\2\231\1\0\3\231\1\0\1\231"+
- "\10\0\1\u018d\2\231\1\u018d\2\231\1\u018d\2\231\1\0"+
- "\4\231\1\0\1\u018d\1\231\1\0\1\231\1\0\1\u018d"+
- "\2\231\6\0\1\u018e\5\0\1\u018e\1\366\15\0\2\u018e"+
- "\7\0\2\u018e\1\0\2\u018e\1\0\2\u018e\7\0\2\u018e"+
- "\3\0\2\u018e\7\0\1\u018f\5\0\1\u018f\16\0\2\u018f"+
- "\7\0\2\u018f\1\0\2\u018f\1\0\2\u018f\7\0\2\u018f"+
- "\3\0\2\u018f\7\0\1\u0190\1\u011e\1\u011f\1\u011e\1\0"+
- "\1\u011e\1\u0190\1\u011e\1\0\1\u011e\1\u0123\11\u011e\1\0"+
- "\11\u011e\1\u0190\2\u011e\1\u0190\2\u011e\1\u0190\10\u011e\1\u0190"+
- "\4\u011e\1\u0190\7\u011e\1\0\1\u0191\1\u0121\1\u014a\1\u0121"+
- "\1\u0147\1\u0121\1\u0191\27\u0121\1\u0191\2\u0121\1\u0191\2\u0121"+
- "\1\u0191\10\u0121\1\u0191\4\u0121\1\u0191\7\u0121\1\0\2\u0121"+
- "\1\u014a\2\u0147\1\u0172\3\u0121\1\u0172\1\u0192\3\u0121\2\u0147"+
- "\52\u0121\1\0\2\u0121\1\u014a\1\0\1\u0147\12\u0121\1\0"+
- "\52\u0121\1\0\1\u0193\1\u0122\1\u014b\3\u0122\1\u0193\1\u0122"+
- "\1\u0147\25\u0122\1\u0193\2\u0122\1\u0193\2\u0122\1\u0193\10\u0122"+
- "\1\u0193\4\u0122\1\u0193\7\u0122\1\0\2\u0122\1\u014b\1\u0147"+
- "\1\u0122\1\u0175\2\u0122\1\u0147\1\u0175\1\u0194\3\u0122\2\u0147"+
- "\52\u0122\1\0\2\u0122\1\u014b\1\0\4\u0122\1\u0147\6\u0122"+
- "\1\0\52\u0122\42\0\2\u0195\30\0\2\135\1\136\1\135"+
- "\1\0\3\135\1\0\1\135\4\0\2\135\1\0\3\135"+
- "\1\0\1\135\10\0\11\135\1\0\4\135\1\0\2\135"+
- "\1\0\1\135\1\0\3\135\6\0\2\137\1\140\1\137"+
- "\1\0\3\137\1\0\1\137\4\0\2\137\1\0\3\137"+
- "\1\0\1\137\10\0\11\137\1\0\4\137\1\0\2\137"+
- "\1\0\1\137\1\0\3\137\44\0\2\u0196\33\0\1\u0197"+
- "\1\336\1\337\1\336\1\0\1\336\1\u0197\1\336\1\0"+
- "\1\336\1\u0102\3\0\2\336\1\0\3\336\1\0\1\336"+
- "\10\0\1\u0197\2\336\1\u0197\2\336\1\u0197\2\336\1\0"+
- "\4\336\1\0\1\u0197\1\336\1\0\1\336\1\0\1\u0197"+
- "\2\336\6\0\2\150\1\151\1\150\1\0\3\150\1\0"+
- "\1\150\4\0\2\150\1\0\3\150\1\253\1\150\10\0"+
- "\11\150\1\0\4\150\1\0\2\150\1\0\1\150\1\0"+
- "\3\150\6\0\2\153\1\154\1\153\1\155\65\153\1\0"+
- "\2\156\1\157\5\156\1\155\61\156\1\0\2\160\1\161"+
- "\1\160\1\162\65\160\1\0\2\163\1\164\5\163\1\162"+
- "\61\163\1\0\1\u0198\1\u0109\1\u010a\1\u0109\1\0\1\u0109"+
- "\1\u0198\1\u0109\1\0\1\u0109\1\u010d\11\u0109\1\0\11\u0109"+
- "\1\u0198\2\u0109\1\u0198\2\u0109\1\u0198\10\u0109\1\u0198\4\u0109"+
- "\1\u0198\7\u0109\1\0\1\u0199\1\u010b\1\u0135\1\u010b\1\u0132"+
- "\1\u010b\1\u0199\27\u010b\1\u0199\2\u010b\1\u0199\2\u010b\1\u0199"+
- "\10\u010b\1\u0199\4\u010b\1\u0199\7\u010b\1\0\1\u019a\1\u010c"+
- "\1\u0136\3\u010c\1\u019a\1\u010c\1\u0132\25\u010c\1\u019a\2\u010c"+
- "\1\u019a\2\u010c\1\u019a\10\u010c\1\u019a\4\u010c\1\u019a\7\u010c"+
- "\1\0\2\202\1\203\1\202\1\204\65\202\1\0\2\205"+
- "\1\206\5\205\1\204\61\205\1\0\2\212\1\213\1\212"+
- "\1\0\3\212\1\0\1\212\4\0\2\212\1\0\3\212"+
- "\1\0\1\212\10\0\11\212\1\0\4\212\1\0\2\212"+
- "\1\0\1\212\1\0\3\212\6\0\1\u019b\1\307\1\310"+
- "\1\307\1\0\1\307\1\u019b\1\307\1\0\1\307\1\0"+
- "\1\220\2\0\2\307\1\0\3\307\1\0\1\307\10\0"+
- "\1\u019b\2\307\1\u019b\2\307\1\u019b\2\307\1\0\4\307"+
- "\1\0\1\u019b\1\307\1\0\1\307\1\0\1\u019b\2\307"+
- "\6\0\2\223\1\224\1\223\1\225\65\223\1\0\2\226"+
- "\1\227\5\226\1\225\61\226\1\0\2\231\1\232\1\231"+
- "\1\0\3\231\1\0\1\231\4\0\2\231\1\0\3\231"+
- "\1\0\1\231\10\0\11\231\1\0\4\231\1\0\2\231"+
- "\1\0\1\231\1\0\3\231\15\0\1\366\63\0\1\u019c"+
- "\5\0\1\u019c\16\0\2\u019c\7\0\2\u019c\1\0\2\u019c"+
- "\1\0\2\u019c\7\0\2\u019c\3\0\2\u019c\7\0\1\u019d"+
- "\1\u011e\1\u011f\1\u011e\1\0\1\u011e\1\u019d\1\u011e\1\0"+
- "\1\u011e\1\u0123\11\u011e\1\0\11\u011e\1\u019d\2\u011e\1\u019d"+
- "\2\u011e\1\u019d\10\u011e\1\u019d\4\u011e\1\u019d\7\u011e\1\0"+
- "\1\u019e\1\u0121\1\u014a\1\u0121\1\u0147\1\u0121\1\u019e\27\u0121"+
- "\1\u019e\2\u0121\1\u019e\2\u0121\1\u019e\10\u0121\1\u019e\4\u0121"+
- "\1\u019e\7\u0121\1\0\1\u019f\1\u0122\1\u014b\3\u0122\1\u019f"+
- "\1\u0122\1\u0147\25\u0122\1\u019f\2\u0122\1\u019f\2\u0122\1\u019f"+
- "\10\u0122\1\u019f\4\u0122\1\u019f\7\u0122\65\0\1\u01a0\52\0"+
- "\2\u01a1\25\0\1\u01a2\1\336\1\337\1\336\1\0\1\336"+
- "\1\u01a2\1\336\1\0\1\336\1\u0102\3\0\2\336\1\0"+
- "\3\336\1\0\1\336\10\0\1\u01a2\2\336\1\u01a2\2\336"+
- "\1\u01a2\2\336\1\0\4\336\1\0\1\u01a2\1\336\1\0"+
- "\1\336\1\0\1\u01a2\2\336\6\0\1\u01a3\1\u0109\1\u010a"+
- "\1\u0109\1\0\1\u0109\1\u01a3\1\u0109\1\0\1\u0109\1\u010d"+
- "\11\u0109\1\0\11\u0109\1\u01a3\2\u0109\1\u01a3\2\u0109\1\u01a3"+
- "\10\u0109\1\u01a3\4\u0109\1\u01a3\7\u0109\1\0\1\u01a4\1\u010b"+
- "\1\u0135\1\u010b\1\u0132\1\u010b\1\u01a4\27\u010b\1\u01a4\2\u010b"+
- "\1\u01a4\2\u010b\1\u01a4\10\u010b\1\u01a4\4\u010b\1\u01a4\7\u010b"+
- "\1\0\1\u01a5\1\u010c\1\u0136\3\u010c\1\u01a5\1\u010c\1\u0132"+
- "\25\u010c\1\u01a5\2\u010c\1\u01a5\2\u010c\1\u01a5\10\u010c\1\u01a5"+
- "\4\u010c\1\u01a5\7\u010c\1\0\2\307\1\310\1\307\1\0"+
- "\3\307\1\0\1\307\1\0\1\220\2\0\2\307\1\0"+
- "\3\307\1\0\1\307\10\0\11\307\1\0\4\307\1\0"+
- "\2\307\1\0\1\307\1\0\3\307\6\0\1\u01a6\5\0"+
- "\1\u01a6\16\0\2\u01a6\7\0\2\u01a6\1\0\2\u01a6\1\0"+
- "\2\u01a6\7\0\2\u01a6\3\0\2\u01a6\7\0\1\u01a7\1\u011e"+
- "\1\u011f\1\u011e\1\0\1\u011e\1\u01a7\1\u011e\1\0\1\u011e"+
- "\1\u0123\11\u011e\1\0\11\u011e\1\u01a7\2\u011e\1\u01a7\2\u011e"+
- "\1\u01a7\10\u011e\1\u01a7\4\u011e\1\u01a7\7\u011e\1\0\1\u01a8"+
- "\1\u0121\1\u014a\1\u0121\1\u0147\1\u0121\1\u01a8\27\u0121\1\u01a8"+
- "\2\u0121\1\u01a8\2\u0121\1\u01a8\10\u0121\1\u01a8\4\u0121\1\u01a8"+
- "\7\u0121\1\0\1\u01a9\1\u0122\1\u014b\3\u0122\1\u01a9\1\u0122"+
- "\1\u0147\25\u0122\1\u01a9\2\u0122\1\u01a9\2\u0122\1\u01a9\10\u0122"+
- "\1\u01a9\4\u0122\1\u01a9\7\u0122\47\0\1\u01aa\24\0\2\336"+
- "\1\337\1\336\1\0\3\336\1\0\1\336\1\u0102\3\0"+
- "\2\336\1\0\3\336\1\0\1\336\10\0\11\336\1\0"+
- "\4\336\1\0\2\336\1\0\1\336\1\0\3\336\6\0"+
- "\1\u01ab\1\u0109\1\u010a\1\u0109\1\0\1\u0109\1\u01ab\1\u0109"+
- "\1\0\1\u0109\1\u010d\11\u0109\1\0\11\u0109\1\u01ab\2\u0109"+
- "\1\u01ab\2\u0109\1\u01ab\10\u0109\1\u01ab\4\u0109\1\u01ab\7\u0109"+
- "\1\0\1\u01ac\1\u010b\1\u0135\1\u010b\1\u0132\1\u010b\1\u01ac"+
- "\27\u010b\1\u01ac\2\u010b\1\u01ac\2\u010b\1\u01ac\10\u010b\1\u01ac"+
- "\4\u010b\1\u01ac\7\u010b\1\0\1\u01ad\1\u010c\1\u0136\3\u010c"+
- "\1\u01ad\1\u010c\1\u0132\25\u010c\1\u01ad\2\u010c\1\u01ad\2\u010c"+
- "\1\u01ad\10\u010c\1\u01ad\4\u010c\1\u01ad\7\u010c\1\0\1\u01ae"+
- "\1\u011e\1\u011f\1\u011e\1\0\1\u011e\1\u01ae\1\u011e\1\0"+
- "\1\u011e\1\u0123\11\u011e\1\0\11\u011e\1\u01ae\2\u011e\1\u01ae"+
- "\2\u011e\1\u01ae\10\u011e\1\u01ae\4\u011e\1\u01ae\7\u011e\1\0"+
- "\1\u01af\1\u0121\1\u014a\1\u0121\1\u0147\1\u0121\1\u01af\27\u0121"+
- "\1\u01af\2\u0121\1\u01af\2\u0121\1\u01af\10\u0121\1\u01af\4\u0121"+
- "\1\u01af\7\u0121\1\0\1\u01b0\1\u0122\1\u014b\3\u0122\1\u01b0"+
- "\1\u0122\1\u0147\25\u0122\1\u01b0\2\u0122\1\u01b0\2\u0122\1\u01b0"+
- "\10\u0122\1\u01b0\4\u0122\1\u01b0\7\u0122\1\0\2\u0109\1\u010a"+
- "\1\u0109\1\0\3\u0109\1\0\1\u0109\1\u010d\11\u0109\1\0"+
- "\45\u0109\1\0\1\u01b1\1\u010b\1\u0135\1\u010b\1\u0132\1\u010b"+
- "\1\u01b1\27\u010b\1\u01b1\2\u010b\1\u01b1\2\u010b\1\u01b1\10\u010b"+
- "\1\u01b1\4\u010b\1\u01b1\7\u010b\1\0\1\u01b2\1\u010c\1\u0136"+
- "\3\u010c\1\u01b2\1\u010c\1\u0132\25\u010c\1\u01b2\2\u010c\1\u01b2"+
- "\2\u010c\1\u01b2\10\u010c\1\u01b2\4\u010c\1\u01b2\7\u010c\1\0"+
- "\2\u011e\1\u011f\1\u011e\1\0\3\u011e\1\0\1\u011e\1\u0123"+
- "\11\u011e\1\0\45\u011e\1\0\1\u01b3\1\u0121\1\u014a\1\u0121"+
- "\1\u0147\1\u0121\1\u01b3\27\u0121\1\u01b3\2\u0121\1\u01b3\2\u0121"+
- "\1\u01b3\10\u0121\1\u01b3\4\u0121\1\u01b3\7\u0121\1\0\1\u01b4"+
- "\1\u0122\1\u014b\3\u0122\1\u01b4\1\u0122\1\u0147\25\u0122\1\u01b4"+
- "\2\u0122\1\u01b4\2\u0122\1\u01b4\10\u0122\1\u01b4\4\u0122\1\u01b4"+
- "\7\u0122\1\0\2\u010b\1\u0135\1\u010b\1\u0132\65\u010b\1\0"+
- "\2\u010c\1\u0136\5\u010c\1\u0132\61\u010c\1\0\2\u0121\1\u014a"+
- "\1\u0121\1\u0147\65\u0121\1\0\2\u0122\1\u014b\5\u0122\1\u0147"+
- "\61\u0122";
+ "\1\0\4\25\6\0\1\u0171\1\135\1\136\1\135\1\0"+
+ "\1\135\1\u0171\1\135\1\0\1\135\4\0\2\135\1\0"+
+ "\3\135\1\0\1\135\10\0\1\u0171\2\135\1\u0171\2\135"+
+ "\1\u0171\2\135\1\0\4\135\1\0\1\u0171\1\135\1\0"+
+ "\1\135\1\0\1\u0171\3\135\6\0\1\u0172\1\137\1\140"+
+ "\1\137\1\0\1\137\1\u0172\1\137\1\0\1\137\4\0"+
+ "\2\137\1\0\3\137\1\0\1\137\10\0\1\u0172\2\137"+
+ "\1\u0172\2\137\1\u0172\2\137\1\0\4\137\1\0\1\u0172"+
+ "\1\137\1\0\1\137\1\0\1\u0172\3\137\54\0\1\u0173"+
+ "\66\0\2\u0174\31\0\1\u0175\1\150\1\151\1\150\1\0"+
+ "\1\150\1\u0175\1\150\1\0\1\150\4\0\2\150\1\0"+
+ "\3\150\1\253\1\150\10\0\1\u0175\2\150\1\u0175\2\150"+
+ "\1\u0175\2\150\1\0\4\150\1\0\1\u0175\1\150\1\0"+
+ "\1\150\1\0\1\u0175\3\150\6\0\1\u0176\1\153\1\154"+
+ "\1\153\1\155\1\153\1\u0176\27\153\1\u0176\2\153\1\u0176"+
+ "\2\153\1\u0176\10\153\1\u0176\4\153\1\u0176\10\153\1\0"+
+ "\1\u0177\1\156\1\157\3\156\1\u0177\1\156\1\155\25\156"+
+ "\1\u0177\2\156\1\u0177\2\156\1\u0177\10\156\1\u0177\4\156"+
+ "\1\u0177\10\156\1\0\1\u0178\1\160\1\161\1\160\1\162"+
+ "\1\160\1\u0178\27\160\1\u0178\2\160\1\u0178\2\160\1\u0178"+
+ "\10\160\1\u0178\4\160\1\u0178\10\160\1\0\1\u0179\1\163"+
+ "\1\164\3\163\1\u0179\1\163\1\162\25\163\1\u0179\2\163"+
+ "\1\u0179\2\163\1\u0179\10\163\1\u0179\4\163\1\u0179\10\163"+
+ "\1\0\1\u017a\1\u0104\1\u0105\1\u0104\1\0\1\u0104\1\u017a"+
+ "\1\u0104\1\0\1\u0104\1\u0108\11\u0104\1\0\11\u0104\1\u017a"+
+ "\2\u0104\1\u017a\2\u0104\1\u017a\10\u0104\1\u017a\4\u0104\1\u017a"+
+ "\10\u0104\1\0\1\u017b\1\u0106\1\u012f\1\u0106\1\u012c\1\u0106"+
+ "\1\u017b\27\u0106\1\u017b\2\u0106\1\u017b\2\u0106\1\u017b\10\u0106"+
+ "\1\u017b\4\u0106\1\u017b\10\u0106\1\0\2\u0106\1\u012f\2\u012c"+
+ "\1\u0154\3\u0106\1\u0154\1\u017c\3\u0106\2\u012c\53\u0106\1\0"+
+ "\2\u0106\1\u012f\1\0\1\u012c\12\u0106\1\0\53\u0106\1\0"+
+ "\1\u017d\1\u0107\1\u0130\3\u0107\1\u017d\1\u0107\1\u012c\25\u0107"+
+ "\1\u017d\2\u0107\1\u017d\2\u0107\1\u017d\10\u0107\1\u017d\4\u0107"+
+ "\1\u017d\10\u0107\1\0\2\u0107\1\u0130\1\u012c\1\u0107\1\u0157"+
+ "\2\u0107\1\u012c\1\u0157\1\u017e\3\u0107\2\u012c\53\u0107\1\0"+
+ "\2\u0107\1\u0130\1\0\4\u0107\1\u012c\6\u0107\1\0\53\u0107"+
+ "\1\0\2\51\1\166\1\51\1\0\3\51\1\0\1\51"+
+ "\4\0\2\51\1\0\3\51\1\0\1\51\10\0\11\51"+
+ "\1\0\4\51\1\0\2\51\1\0\1\51\1\0\4\51"+
+ "\6\0\2\55\1\170\1\55\1\0\3\55\1\0\1\55"+
+ "\4\0\2\55\1\0\3\55\1\0\1\55\10\0\11\55"+
+ "\1\0\4\55\1\0\2\55\1\0\1\55\1\0\4\55"+
+ "\6\0\2\62\1\172\1\62\1\0\3\62\1\0\1\62"+
+ "\4\0\2\62\1\0\3\62\1\0\1\62\10\0\11\62"+
+ "\1\0\4\62\1\0\2\62\1\0\1\62\1\0\4\62"+
+ "\6\0\2\72\1\176\1\72\1\0\3\72\1\0\1\72"+
+ "\4\0\2\72\1\0\3\72\1\0\1\72\10\0\11\72"+
+ "\1\0\4\72\1\0\2\72\1\0\1\72\1\0\4\72"+
+ "\6\0\2\100\1\200\1\100\1\0\3\100\1\0\1\100"+
+ "\4\0\2\100\1\0\3\100\1\0\1\100\10\0\11\100"+
+ "\1\0\4\100\1\0\2\100\1\0\1\100\1\0\4\100"+
+ "\6\0\1\u017f\1\202\1\203\1\202\1\204\1\202\1\u017f"+
+ "\27\202\1\u017f\2\202\1\u017f\2\202\1\u017f\10\202\1\u017f"+
+ "\4\202\1\u017f\10\202\1\0\1\u0180\1\205\1\206\3\205"+
+ "\1\u0180\1\205\1\204\25\205\1\u0180\2\205\1\u0180\2\205"+
+ "\1\u0180\10\205\1\u0180\4\205\1\u0180\10\205\1\0\2\105"+
+ "\1\207\1\105\1\0\3\105\1\0\1\105\4\0\2\105"+
+ "\1\0\3\105\1\0\1\105\10\0\11\105\1\0\4\105"+
+ "\1\0\2\105\1\0\1\105\1\0\4\105\6\0\1\u0181"+
+ "\1\212\1\213\1\212\1\0\1\212\1\u0181\1\212\1\0"+
+ "\1\212\4\0\2\212\1\0\3\212\1\0\1\212\10\0"+
+ "\1\u0181\2\212\1\u0181\2\212\1\u0181\2\212\1\0\4\212"+
+ "\1\0\1\u0181\1\212\1\0\1\212\1\0\1\u0181\3\212"+
+ "\6\0\1\u0182\1\307\1\310\1\307\1\0\1\307\1\u0182"+
+ "\1\307\1\0\1\307\1\0\1\220\2\0\2\307\1\0"+
+ "\3\307\1\0\1\307\10\0\1\u0182\2\307\1\u0182\2\307"+
+ "\1\u0182\2\307\1\0\4\307\1\0\1\u0182\1\307\1\0"+
+ "\1\307\1\0\1\u0182\3\307\6\0\2\114\1\217\1\114"+
+ "\1\0\3\114\1\0\1\114\1\0\1\220\2\0\2\114"+
+ "\1\0\3\114\1\221\1\114\10\0\11\114\1\0\4\114"+
+ "\1\0\2\114\1\0\1\114\1\0\4\114\6\0\1\u0183"+
+ "\1\223\1\224\1\223\1\225\1\223\1\u0183\27\223\1\u0183"+
+ "\2\223\1\u0183\2\223\1\u0183\10\223\1\u0183\4\223\1\u0183"+
+ "\10\223\1\0\1\u0184\1\226\1\227\3\226\1\u0184\1\226"+
+ "\1\225\25\226\1\u0184\2\226\1\u0184\2\226\1\u0184\10\226"+
+ "\1\u0184\4\226\1\u0184\10\226\1\0\1\u0185\1\231\1\232"+
+ "\1\231\1\0\1\231\1\u0185\1\231\1\0\1\231\4\0"+
+ "\2\231\1\0\3\231\1\0\1\231\10\0\1\u0185\2\231"+
+ "\1\u0185\2\231\1\u0185\2\231\1\0\4\231\1\0\1\u0185"+
+ "\1\231\1\0\1\231\1\0\1\u0185\3\231\6\0\1\u0186"+
+ "\5\0\1\u0186\1\364\15\0\2\u0186\7\0\2\u0186\1\0"+
+ "\2\u0186\1\0\2\u0186\7\0\2\u0186\3\0\2\u0186\10\0"+
+ "\1\u0187\5\0\1\u0187\16\0\2\u0187\7\0\2\u0187\1\0"+
+ "\2\u0187\1\0\2\u0187\7\0\2\u0187\3\0\2\u0187\10\0"+
+ "\1\u0188\1\u0119\1\u011a\1\u0119\1\0\1\u0119\1\u0188\1\u0119"+
+ "\1\0\1\u0119\1\u011e\11\u0119\1\0\11\u0119\1\u0188\2\u0119"+
+ "\1\u0188\2\u0119\1\u0188\10\u0119\1\u0188\4\u0119\1\u0188\10\u0119"+
+ "\1\0\1\u0189\1\u011c\1\u0144\1\u011c\1\u0141\1\u011c\1\u0189"+
+ "\27\u011c\1\u0189\2\u011c\1\u0189\2\u011c\1\u0189\10\u011c\1\u0189"+
+ "\4\u011c\1\u0189\10\u011c\1\0\2\u011c\1\u0144\2\u0141\1\u016b"+
+ "\3\u011c\1\u016b\1\u018a\3\u011c\2\u0141\53\u011c\1\0\2\u011c"+
+ "\1\u0144\1\0\1\u0141\12\u011c\1\0\53\u011c\1\0\1\u018b"+
+ "\1\u011d\1\u0145\3\u011d\1\u018b\1\u011d\1\u0141\25\u011d\1\u018b"+
+ "\2\u011d\1\u018b\2\u011d\1\u018b\10\u011d\1\u018b\4\u011d\1\u018b"+
+ "\10\u011d\1\0\2\u011d\1\u0145\1\u0141\1\u011d\1\u016e\2\u011d"+
+ "\1\u0141\1\u016e\1\u018c\3\u011d\2\u0141\53\u011d\1\0\2\u011d"+
+ "\1\u0145\1\0\4\u011d\1\u0141\6\u011d\1\0\53\u011d\42\0"+
+ "\2\u018d\31\0\2\135\1\136\1\135\1\0\3\135\1\0"+
+ "\1\135\4\0\2\135\1\0\3\135\1\0\1\135\10\0"+
+ "\11\135\1\0\4\135\1\0\2\135\1\0\1\135\1\0"+
+ "\4\135\6\0\2\137\1\140\1\137\1\0\3\137\1\0"+
+ "\1\137\4\0\2\137\1\0\3\137\1\0\1\137\10\0"+
+ "\11\137\1\0\4\137\1\0\2\137\1\0\1\137\1\0"+
+ "\4\137\44\0\2\u018e\34\0\2\150\1\151\1\150\1\0"+
+ "\3\150\1\0\1\150\4\0\2\150\1\0\3\150\1\253"+
+ "\1\150\10\0\11\150\1\0\4\150\1\0\2\150\1\0"+
+ "\1\150\1\0\4\150\6\0\2\153\1\154\1\153\1\155"+
+ "\66\153\1\0\2\156\1\157\5\156\1\155\62\156\1\0"+
+ "\2\160\1\161\1\160\1\162\66\160\1\0\2\163\1\164"+
+ "\5\163\1\162\62\163\1\0\1\u018f\1\u0104\1\u0105\1\u0104"+
+ "\1\0\1\u0104\1\u018f\1\u0104\1\0\1\u0104\1\u0108\11\u0104"+
+ "\1\0\11\u0104\1\u018f\2\u0104\1\u018f\2\u0104\1\u018f\10\u0104"+
+ "\1\u018f\4\u0104\1\u018f\10\u0104\1\0\1\u0190\1\u0106\1\u012f"+
+ "\1\u0106\1\u012c\1\u0106\1\u0190\27\u0106\1\u0190\2\u0106\1\u0190"+
+ "\2\u0106\1\u0190\10\u0106\1\u0190\4\u0106\1\u0190\10\u0106\1\0"+
+ "\1\u0191\1\u0107\1\u0130\3\u0107\1\u0191\1\u0107\1\u012c\25\u0107"+
+ "\1\u0191\2\u0107\1\u0191\2\u0107\1\u0191\10\u0107\1\u0191\4\u0107"+
+ "\1\u0191\10\u0107\1\0\2\202\1\203\1\202\1\204\66\202"+
+ "\1\0\2\205\1\206\5\205\1\204\62\205\1\0\2\212"+
+ "\1\213\1\212\1\0\3\212\1\0\1\212\4\0\2\212"+
+ "\1\0\3\212\1\0\1\212\10\0\11\212\1\0\4\212"+
+ "\1\0\2\212\1\0\1\212\1\0\4\212\6\0\1\u0192"+
+ "\1\307\1\310\1\307\1\0\1\307\1\u0192\1\307\1\0"+
+ "\1\307\1\0\1\220\2\0\2\307\1\0\3\307\1\0"+
+ "\1\307\10\0\1\u0192\2\307\1\u0192\2\307\1\u0192\2\307"+
+ "\1\0\4\307\1\0\1\u0192\1\307\1\0\1\307\1\0"+
+ "\1\u0192\3\307\6\0\2\223\1\224\1\223\1\225\66\223"+
+ "\1\0\2\226\1\227\5\226\1\225\62\226\1\0\2\231"+
+ "\1\232\1\231\1\0\3\231\1\0\1\231\4\0\2\231"+
+ "\1\0\3\231\1\0\1\231\10\0\11\231\1\0\4\231"+
+ "\1\0\2\231\1\0\1\231\1\0\4\231\15\0\1\364"+
+ "\64\0\1\u0193\5\0\1\u0193\16\0\2\u0193\7\0\2\u0193"+
+ "\1\0\2\u0193\1\0\2\u0193\7\0\2\u0193\3\0\2\u0193"+
+ "\10\0\1\u0194\1\u0119\1\u011a\1\u0119\1\0\1\u0119\1\u0194"+
+ "\1\u0119\1\0\1\u0119\1\u011e\11\u0119\1\0\11\u0119\1\u0194"+
+ "\2\u0119\1\u0194\2\u0119\1\u0194\10\u0119\1\u0194\4\u0119\1\u0194"+
+ "\10\u0119\1\0\1\u0195\1\u011c\1\u0144\1\u011c\1\u0141\1\u011c"+
+ "\1\u0195\27\u011c\1\u0195\2\u011c\1\u0195\2\u011c\1\u0195\10\u011c"+
+ "\1\u0195\4\u011c\1\u0195\10\u011c\1\0\1\u0196\1\u011d\1\u0145"+
+ "\3\u011d\1\u0196\1\u011d\1\u0141\25\u011d\1\u0196\2\u011d\1\u0196"+
+ "\2\u011d\1\u0196\10\u011d\1\u0196\4\u011d\1\u0196\10\u011d\65\0"+
+ "\1\u0197\53\0\2\u0198\26\0\1\u0199\1\u0104\1\u0105\1\u0104"+
+ "\1\0\1\u0104\1\u0199\1\u0104\1\0\1\u0104\1\u0108\11\u0104"+
+ "\1\0\11\u0104\1\u0199\2\u0104\1\u0199\2\u0104\1\u0199\10\u0104"+
+ "\1\u0199\4\u0104\1\u0199\10\u0104\1\0\1\u019a\1\u0106\1\u012f"+
+ "\1\u0106\1\u012c\1\u0106\1\u019a\27\u0106\1\u019a\2\u0106\1\u019a"+
+ "\2\u0106\1\u019a\10\u0106\1\u019a\4\u0106\1\u019a\10\u0106\1\0"+
+ "\1\u019b\1\u0107\1\u0130\3\u0107\1\u019b\1\u0107\1\u012c\25\u0107"+
+ "\1\u019b\2\u0107\1\u019b\2\u0107\1\u019b\10\u0107\1\u019b\4\u0107"+
+ "\1\u019b\10\u0107\1\0\2\307\1\310\1\307\1\0\3\307"+
+ "\1\0\1\307\1\0\1\220\2\0\2\307\1\0\3\307"+
+ "\1\0\1\307\10\0\11\307\1\0\4\307\1\0\2\307"+
+ "\1\0\1\307\1\0\4\307\6\0\1\u019c\5\0\1\u019c"+
+ "\16\0\2\u019c\7\0\2\u019c\1\0\2\u019c\1\0\2\u019c"+
+ "\7\0\2\u019c\3\0\2\u019c\10\0\1\u019d\1\u0119\1\u011a"+
+ "\1\u0119\1\0\1\u0119\1\u019d\1\u0119\1\0\1\u0119\1\u011e"+
+ "\11\u0119\1\0\11\u0119\1\u019d\2\u0119\1\u019d\2\u0119\1\u019d"+
+ "\10\u0119\1\u019d\4\u0119\1\u019d\10\u0119\1\0\1\u019e\1\u011c"+
+ "\1\u0144\1\u011c\1\u0141\1\u011c\1\u019e\27\u011c\1\u019e\2\u011c"+
+ "\1\u019e\2\u011c\1\u019e\10\u011c\1\u019e\4\u011c\1\u019e\10\u011c"+
+ "\1\0\1\u019f\1\u011d\1\u0145\3\u011d\1\u019f\1\u011d\1\u0141"+
+ "\25\u011d\1\u019f\2\u011d\1\u019f\2\u011d\1\u019f\10\u011d\1\u019f"+
+ "\4\u011d\1\u019f\10\u011d\47\0\1\u01a0\25\0\1\u01a1\1\u0104"+
+ "\1\u0105\1\u0104\1\0\1\u0104\1\u01a1\1\u0104\1\0\1\u0104"+
+ "\1\u0108\11\u0104\1\0\11\u0104\1\u01a1\2\u0104\1\u01a1\2\u0104"+
+ "\1\u01a1\10\u0104\1\u01a1\4\u0104\1\u01a1\10\u0104\1\0\1\u01a2"+
+ "\1\u0106\1\u012f\1\u0106\1\u012c\1\u0106\1\u01a2\27\u0106\1\u01a2"+
+ "\2\u0106\1\u01a2\2\u0106\1\u01a2\10\u0106\1\u01a2\4\u0106\1\u01a2"+
+ "\10\u0106\1\0\1\u01a3\1\u0107\1\u0130\3\u0107\1\u01a3\1\u0107"+
+ "\1\u012c\25\u0107\1\u01a3\2\u0107\1\u01a3\2\u0107\1\u01a3\10\u0107"+
+ "\1\u01a3\4\u0107\1\u01a3\10\u0107\1\0\1\u01a4\1\u0119\1\u011a"+
+ "\1\u0119\1\0\1\u0119\1\u01a4\1\u0119\1\0\1\u0119\1\u011e"+
+ "\11\u0119\1\0\11\u0119\1\u01a4\2\u0119\1\u01a4\2\u0119\1\u01a4"+
+ "\10\u0119\1\u01a4\4\u0119\1\u01a4\10\u0119\1\0\1\u01a5\1\u011c"+
+ "\1\u0144\1\u011c\1\u0141\1\u011c\1\u01a5\27\u011c\1\u01a5\2\u011c"+
+ "\1\u01a5\2\u011c\1\u01a5\10\u011c\1\u01a5\4\u011c\1\u01a5\10\u011c"+
+ "\1\0\1\u01a6\1\u011d\1\u0145\3\u011d\1\u01a6\1\u011d\1\u0141"+
+ "\25\u011d\1\u01a6\2\u011d\1\u01a6\2\u011d\1\u01a6\10\u011d\1\u01a6"+
+ "\4\u011d\1\u01a6\10\u011d\1\0\2\u0104\1\u0105\1\u0104\1\0"+
+ "\3\u0104\1\0\1\u0104\1\u0108\11\u0104\1\0\46\u0104\1\0"+
+ "\1\u01a7\1\u0106\1\u012f\1\u0106\1\u012c\1\u0106\1\u01a7\27\u0106"+
+ "\1\u01a7\2\u0106\1\u01a7\2\u0106\1\u01a7\10\u0106\1\u01a7\4\u0106"+
+ "\1\u01a7\10\u0106\1\0\1\u01a8\1\u0107\1\u0130\3\u0107\1\u01a8"+
+ "\1\u0107\1\u012c\25\u0107\1\u01a8\2\u0107\1\u01a8\2\u0107\1\u01a8"+
+ "\10\u0107\1\u01a8\4\u0107\1\u01a8\10\u0107\1\0\2\u0119\1\u011a"+
+ "\1\u0119\1\0\3\u0119\1\0\1\u0119\1\u011e\11\u0119\1\0"+
+ "\46\u0119\1\0\1\u01a9\1\u011c\1\u0144\1\u011c\1\u0141\1\u011c"+
+ "\1\u01a9\27\u011c\1\u01a9\2\u011c\1\u01a9\2\u011c\1\u01a9\10\u011c"+
+ "\1\u01a9\4\u011c\1\u01a9\10\u011c\1\0\1\u01aa\1\u011d\1\u0145"+
+ "\3\u011d\1\u01aa\1\u011d\1\u0141\25\u011d\1\u01aa\2\u011d\1\u01aa"+
+ "\2\u011d\1\u01aa\10\u011d\1\u01aa\4\u011d\1\u01aa\10\u011d\1\0"+
+ "\2\u0106\1\u012f\1\u0106\1\u012c\66\u0106\1\0\2\u0107\1\u0130"+
+ "\5\u0107\1\u012c\62\u0107\1\0\2\u011c\1\u0144\1\u011c\1\u0141"+
+ "\66\u011c\1\0\2\u011d\1\u0145\5\u011d\1\u0141\62\u011d";
private static int [] zzUnpackTrans() {
- int [] result = new int[21358];
+ int [] result = new int[21120];
int offset = 0;
offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
return result;
@@ -1170,20 +1133,20 @@ public class CSSTokenizer implements CSSRegionContexts, ICSSTokenizer {
"\2\0\1\1\2\0\1\1\2\0\1\1\2\0\5\1"+
"\1\0\1\1\2\0\1\1\1\0\3\1\1\0\1\1"+
"\1\0\1\1\2\0\1\1\1\0\3\1\1\0\3\1"+
- "\2\11\10\0\1\1\5\0\5\1\2\0\4\1\2\0"+
- "\2\1\1\0\1\1\1\0\3\1\3\0\1\11\2\0"+
- "\1\11\1\0\1\1\10\0\1\11\5\1\2\0\4\1"+
- "\2\0\3\1\5\0\1\11\1\0\3\1\2\0\1\11"+
- "\2\0\1\1\6\0\1\1\2\0\5\1\2\0\4\1"+
- "\2\0\3\1\2\0\1\1\3\0\3\1\1\0\1\11"+
- "\2\0\1\1\13\0\5\1\2\0\4\1\2\0\3\1"+
- "\10\0\2\1\1\11\2\0\1\1\6\0\1\1\1\0"+
- "\1\1\2\0\2\1\2\0\3\1\2\0\1\1\1\0"+
- "\1\1\6\0\2\1\4\0\1\11\4\0\1\11\3\0"+
- "\1\11\12\0";
+ "\2\11\5\0\1\11\1\1\5\0\5\1\2\0\4\1"+
+ "\2\0\2\1\1\0\1\1\1\0\3\1\3\0\1\11"+
+ "\1\0\1\1\10\0\1\11\5\1\2\0\4\1\2\0"+
+ "\3\1\5\0\1\11\1\0\3\1\2\0\1\11\1\0"+
+ "\1\1\6\0\1\1\2\0\5\1\2\0\4\1\2\0"+
+ "\3\1\2\0\1\1\3\0\3\1\1\0\1\11\1\0"+
+ "\1\1\13\0\5\1\2\0\4\1\2\0\3\1\10\0"+
+ "\2\1\1\11\1\0\1\1\6\0\1\1\1\0\1\1"+
+ "\2\0\2\1\2\0\3\1\2\0\1\1\1\0\1\1"+
+ "\5\0\2\1\4\0\1\11\3\0\1\11\3\0\1\11"+
+ "\12\0";
private static int [] zzUnpackAttribute() {
- int [] result = new int[436];
+ int [] result = new int[426];
int offset = 0;
offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
return result;
diff --git a/bundles/org.eclipse.wst.css.ui/plugin.properties b/bundles/org.eclipse.wst.css.ui/plugin.properties
index 5722e94b16..e1551c89b8 100644
--- a/bundles/org.eclipse.wst.css.ui/plugin.properties
+++ b/bundles/org.eclipse.wst.css.ui/plugin.properties
@@ -78,3 +78,5 @@ Colors.id=ID Selector
proposalCategory.css=CSS Proposals
proposalCategory.cssTemplates=CSS Template Proposals
+
+proposalInfo.name=Additional Proposal Information
diff --git a/bundles/org.eclipse.wst.css.ui/plugin.xml b/bundles/org.eclipse.wst.css.ui/plugin.xml
index 2cc44cb70e..a18de713b0 100644
--- a/bundles/org.eclipse.wst.css.ui/plugin.xml
+++ b/bundles/org.eclipse.wst.css.ui/plugin.xml
@@ -2,6 +2,8 @@
<?eclipse version="3.0"?>
<plugin>
+ <extension-point id="proposalInfo" name="%proposalInfo.name" schema="schema/proposalInfo.exsd"/>
+
<extension point="org.eclipse.ui.editors">
<editor
name="%CSS_Source_Page_Editor.name"
diff --git a/bundles/org.eclipse.wst.css.ui/schema/proposalInfo.exsd b/bundles/org.eclipse.wst.css.ui/schema/proposalInfo.exsd
new file mode 100644
index 0000000000..6f7066ea3a
--- /dev/null
+++ b/bundles/org.eclipse.wst.css.ui/schema/proposalInfo.exsd
@@ -0,0 +1,107 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.wst.css.ui" xmlns="http://www.w3.org/2001/XMLSchema">
+<annotation>
+ <appInfo>
+ <meta.schema plugin="org.eclipse.wst.css.ui" id="proposalInfo" name="CSS Proposal Information"/>
+ </appInfo>
+ <documentation>
+ [Enter description of this extension point.]
+ </documentation>
+ </annotation>
+
+ <element name="extension">
+ <annotation>
+ <appInfo>
+ <meta.element internal="true" />
+ </appInfo>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element ref="proposalInfo"/>
+ </sequence>
+ <attribute name="point" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="id" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="name" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appInfo>
+ <meta.attribute translatable="true"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="proposalInfo">
+ <annotation>
+ <documentation>
+ Additional proposal information for CSS content assist proposals.
+ </documentation>
+ </annotation>
+ <complexType>
+ <attribute name="class" type="string" use="required">
+ <annotation>
+ <documentation>
+ Class that implements IProposalInfo that will server as additional proposal information for CSS content assist proposals. The implementation must provide a zero-argument constructor.
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="java"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="since"/>
+ </appInfo>
+ <documentation>
+ [Enter the first release in which this extension point appears.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="examples"/>
+ </appInfo>
+ <documentation>
+ [Enter extension point usage example here.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="apiinfo"/>
+ </appInfo>
+ <documentation>
+ [Enter API information here.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="implementation"/>
+ </appInfo>
+ <documentation>
+ [Enter information about supplied implementation of this extension point.]
+ </documentation>
+ </annotation>
+
+
+</schema>
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSCACandidate.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSCACandidate.java
index 8b6f4e25c3..89d80181c0 100644
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSCACandidate.java
+++ b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSCACandidate.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
+ * Copyright (c) 2004, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -12,6 +12,7 @@ package org.eclipse.wst.css.ui.internal.contentassist;
+import org.eclipse.wst.css.core.internal.metamodel.CSSMMNode;
import org.eclipse.wst.css.ui.internal.image.CSSImageType;
class CSSCACandidate {
@@ -20,7 +21,7 @@ class CSSCACandidate {
private int fCursorPosition = 0;
private String fDisplayString = null;
private CSSImageType fImageType = null;
-
+ private CSSMMNode fNode = null;
/**
* CSSCACandidate constructor comment.
*/
@@ -56,6 +57,10 @@ class CSSCACandidate {
return fReplacementString;
}
+ CSSMMNode getMMNode() {
+ return fNode;
+ }
+
/**
*
*/
@@ -84,6 +89,10 @@ class CSSCACandidate {
fReplacementString = replacementString;
}
+ void setMMNode(CSSMMNode node) {
+ fNode = node;
+ }
+
/**
* Returns a String that represents the value of this object.
*
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalArranger.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalArranger.java
index 78f4351c61..cd7b4409e6 100644
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalArranger.java
+++ b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalArranger.java
@@ -16,7 +16,6 @@ import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
-import org.eclipse.jface.text.contentassist.CompletionProposal;
import org.eclipse.jface.text.contentassist.ICompletionProposal;
import org.eclipse.wst.css.core.internal.parserz.CSSRegionContexts;
import org.eclipse.wst.css.core.internal.provisional.document.ICSSMediaRule;
@@ -193,7 +192,7 @@ class CSSProposalArranger {
*/
ICompletionProposal[] getProposals() {
buildProposals();
- ICompletionProposal[] proposalArray = new CompletionProposal[fProposals.size()];
+ ICompletionProposal[] proposalArray = new ICompletionProposal[fProposals.size()];
Iterator iItem = fProposals.iterator();
for (int i = 0; iItem.hasNext(); i++) {
proposalArray[i] = (ICompletionProposal) iItem.next();
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGenerator.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGenerator.java
index da5214eade..d199902aec 100644
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGenerator.java
+++ b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGenerator.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2004, 2008 IBM Corporation and others.
+ * Copyright (c) 2004, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -17,7 +17,6 @@ import java.util.Iterator;
import java.util.List;
import org.eclipse.core.runtime.Preferences;
-import org.eclipse.jface.text.contentassist.CompletionProposal;
import org.eclipse.jface.text.contentassist.ICompletionProposal;
import org.eclipse.swt.graphics.Image;
import org.eclipse.wst.css.core.internal.CSSCorePlugin;
@@ -168,7 +167,7 @@ abstract class CSSProposalGenerator {
while (i.hasNext()) {
CSSCACandidate candidate = (CSSCACandidate) i.next();
Image image = imageHelper.getImage(candidate.getImageType());
- ICompletionProposal item = new CompletionProposal(candidate.getReplacementString(), fContext.getReplaceBegin() + fContext.getDocumentOffset(), fContext.getTextToReplace().length(), candidate.getCursorPosition(), image, candidate.getDisplayString(), null, null);
+ ICompletionProposal item = new CompletionProposal(candidate.getReplacementString(), fContext.getReplaceBegin() + fContext.getDocumentOffset(), fContext.getTextToReplace().length(), candidate.getCursorPosition(), image, candidate.getDisplayString(), null, candidate.getDisplayString(), candidate.getMMNode());
proposals.add(item);
}
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForDeclarationName.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForDeclarationName.java
index 4cf890126d..3deb7779ce 100644
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForDeclarationName.java
+++ b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForDeclarationName.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2004, 2008 IBM Corporation and others.
+ * Copyright (c) 2004, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -106,6 +106,7 @@ class CSSProposalGeneratorForDeclarationName extends CSSProposalGenerator {
item.setReplacementString(buf.toString());
item.setCursorPosition(cursorPos);
item.setDisplayString(text);
+ item.setMMNode(node);
item.setImageType(getCategoryImageType(node));
candidates.add(item);
}
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForDeclarationValue.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForDeclarationValue.java
index e9d993d5b1..b32e881cdc 100644
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForDeclarationValue.java
+++ b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForDeclarationValue.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
+ * Copyright (c) 2004, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -84,6 +84,7 @@ class CSSProposalGeneratorForDeclarationValue extends CSSProposalGenerator {
item.setReplacementString(text);
item.setCursorPosition(cursorPos);
item.setDisplayString(text);
+ item.setMMNode(prop);
item.setImageType(CSSImageType.VALUE_FUNCTION);
appendSemiColon(item);
candidates.add(item);
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForPseudoSelector.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForPseudoSelector.java
index e0af646a55..ad49fa8efc 100644
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForPseudoSelector.java
+++ b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CSSProposalGeneratorForPseudoSelector.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2004, 2008 IBM Corporation and others.
+ * Copyright (c) 2004, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -14,6 +14,7 @@ package org.eclipse.wst.css.ui.internal.contentassist;
import java.util.ArrayList;
import java.util.Collections;
+import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
@@ -66,10 +67,29 @@ class CSSProposalGeneratorForPseudoSelector extends CSSProposalGenerator {
boolean useUpperCase = CSSCorePlugin.getDefault().getPluginPreferences().getInt(CSSCorePreferenceNames.CASE_IDENTIFIER) == CSSCorePreferenceNames.UPPER;
List tags = getSelectorTags();
- Collections.sort(tags);
+ Collections.sort(tags, new Comparator() {
+ /* (non-Javadoc)
+ * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
+ */
+ public int compare(Object o1, Object o2) {
+ return clean(((CSSMMSelector) o1).getName()).compareTo(clean(((CSSMMSelector) o2).getName()));
+ }
+
+ private String clean(String str) {
+ int length = str.length();
+ for (int i = 0; i < length; i++) {
+ if (str.charAt(i) != ':') {
+ return str.substring(i);
+ }
+ }
+ return str;
+ }
+ });
+
Iterator i = tags.iterator();
while (i.hasNext()) {
- String text = (String) i.next();
+ CSSMMSelector selector = (CSSMMSelector) i.next();
+ String text = selector.getSelectorString();
if (hasLeadingColon && !isMatch(text)) {
continue;
}
@@ -83,8 +103,12 @@ class CSSProposalGeneratorForPseudoSelector extends CSSProposalGenerator {
buf.append(text);
cursorPos += buf.length();
-
+
if (0 < buf.length()) {
+ // Pseudoclass/element takes arguments
+ if (buf.charAt(buf.length() - 1) == ')') {
+ --cursorPos;
+ }
boolean inRule = (fContext.getTargetNode() instanceof ICSSStyleRule || fContext.getTargetNode() instanceof ICSSPageRule);
if (!inRule || (textToReplace.length() == 0 && !hasLeadingColon)) {
buf.append(" ");//$NON-NLS-1$
@@ -100,6 +124,7 @@ class CSSProposalGeneratorForPseudoSelector extends CSSProposalGenerator {
item.setCursorPosition(cursorPos);
item.setDisplayString(text);
item.setImageType(CSSImageType.SELECTOR_PSEUDO);
+ item.setMMNode(selector);
candidates.add(item);
}
}
@@ -130,7 +155,7 @@ class CSSProposalGeneratorForPseudoSelector extends CSSProposalGenerator {
if (child.getType() == CSSMMNode.TYPE_SELECTOR) {
String selType = ((CSSMMSelector) child).getSelectorType();
if (selType == CSSMMSelector.TYPE_PSEUDO_CLASS || selType == CSSMMSelector.TYPE_PSEUDO_ELEMENT) {
- tagList.add(((CSSMMSelector) child).getSelectorString());
+ tagList.add(child);
}
}
}
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CompletionProposal.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CompletionProposal.java
new file mode 100644
index 0000000000..ccccf08cda
--- /dev/null
+++ b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/CompletionProposal.java
@@ -0,0 +1,188 @@
+/******************************************************************************
+ * Copyright (c) 2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.wst.css.ui.internal.contentassist;
+
+import org.eclipse.core.runtime.Assert;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.jface.internal.text.html.BrowserInformationControl;
+import org.eclipse.jface.resource.JFaceResources;
+import org.eclipse.jface.text.AbstractReusableInformationControlCreator;
+import org.eclipse.jface.text.BadLocationException;
+import org.eclipse.jface.text.DefaultInformationControl;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.IInformationControl;
+import org.eclipse.jface.text.IInformationControlCreator;
+import org.eclipse.jface.text.contentassist.ICompletionProposal;
+import org.eclipse.jface.text.contentassist.ICompletionProposalExtension3;
+import org.eclipse.jface.text.contentassist.ICompletionProposalExtension5;
+import org.eclipse.jface.text.contentassist.IContextInformation;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.wst.css.core.internal.metamodel.CSSMMNode;
+
+public class CompletionProposal implements ICompletionProposal, ICompletionProposalExtension3, ICompletionProposalExtension5 {
+
+ /** The string to be displayed in the completion proposal popup. */
+ private String fDisplayString;
+ /** The replacement string. */
+ private String fReplacementString;
+ /** The replacement offset. */
+ private int fReplacementOffset;
+ /** The replacement length. */
+ private int fReplacementLength;
+ /** The cursor position after this proposal has been applied. */
+ private int fCursorPosition;
+ /** The image to be displayed in the completion proposal popup. */
+ private Image fImage;
+ /** The context information of this proposal. */
+ private IContextInformation fContextInformation;
+ /** The additional info of this proposal. */
+ private String fAdditionalProposalInfo;
+ private CSSMMNode fNode;
+ /** The information control creator */
+ private IInformationControlCreator fCreator;
+
+ /**
+ * Creates a new completion proposal based on the provided information. The replacement string is
+ * considered being the display string too. All remaining fields are set to <code>null</code>.
+ *
+ * @param replacementString the actual string to be inserted into the document
+ * @param replacementOffset the offset of the text to be replaced
+ * @param replacementLength the length of the text to be replaced
+ * @param cursorPosition the position of the cursor following the insert relative to replacementOffset
+ */
+ public CompletionProposal(String replacementString, int replacementOffset, int replacementLength, int cursorPosition) {
+ this(replacementString, replacementOffset, replacementLength, cursorPosition, null, null, null, null);
+ }
+
+ /**
+ * Creates a new completion proposal. All fields are initialized based on the provided information.
+ *
+ * @param replacementString the actual string to be inserted into the document
+ * @param replacementOffset the offset of the text to be replaced
+ * @param replacementLength the length of the text to be replaced
+ * @param cursorPosition the position of the cursor following the insert relative to replacementOffset
+ * @param image the image to display for this proposal
+ * @param displayString the string to be displayed for the proposal
+ * @param contextInformation the context information associated with this proposal
+ * @param additionalProposalInfo the additional information associated with this proposal
+ */
+ public CompletionProposal(String replacementString, int replacementOffset, int replacementLength, int cursorPosition, Image image, String displayString, IContextInformation contextInformation, String additionalProposalInfo) {
+ this(replacementString, replacementOffset, replacementLength, cursorPosition, null, null, null, null, null);
+ }
+
+ public CompletionProposal(String replacementString, int replacementOffset, int replacementLength, int cursorPosition, Image image, String displayString, IContextInformation contextInformation, String additionalProposalInfo, CSSMMNode node) {
+ Assert.isNotNull(replacementString);
+ Assert.isTrue(replacementOffset >= 0);
+ Assert.isTrue(replacementLength >= 0);
+ Assert.isTrue(cursorPosition >= 0);
+
+ fReplacementString= replacementString;
+ fReplacementOffset= replacementOffset;
+ fReplacementLength= replacementLength;
+ fCursorPosition= cursorPosition;
+ fImage= image;
+ fDisplayString= displayString;
+ fContextInformation= contextInformation;
+ fAdditionalProposalInfo= additionalProposalInfo;
+ fNode = node;
+ }
+ /*
+ * @see ICompletionProposal#apply(IDocument)
+ */
+ public void apply(IDocument document) {
+ try {
+ document.replace(fReplacementOffset, fReplacementLength, fReplacementString);
+ } catch (BadLocationException x) {
+ // ignore
+ }
+ }
+
+ /*
+ * @see ICompletionProposal#getSelection(IDocument)
+ */
+ public Point getSelection(IDocument document) {
+ return new Point(fReplacementOffset + fCursorPosition, 0);
+ }
+
+ /*
+ * @see ICompletionProposal#getContextInformation()
+ */
+ public IContextInformation getContextInformation() {
+ return fContextInformation;
+ }
+
+ /*
+ * @see ICompletionProposal#getImage()
+ */
+ public Image getImage() {
+ return fImage;
+ }
+
+ /*
+ * @see ICompletionProposal#getDisplayString()
+ */
+ public String getDisplayString() {
+ if (fDisplayString != null)
+ return fDisplayString;
+ return fReplacementString;
+ }
+
+ /*
+ * @see ICompletionProposal#getAdditionalProposalInfo()
+ */
+ public String getAdditionalProposalInfo() {
+ return fAdditionalProposalInfo;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension5#getAdditionalProposalInfo(org.eclipse.core.runtime.IProgressMonitor)
+ */
+ public Object getAdditionalProposalInfo(IProgressMonitor monitor) {
+ return ProposalInfoFactory.getProposalInfo(fNode);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension3#getInformationControlCreator()
+ */
+ public IInformationControlCreator getInformationControlCreator() {
+ if (fCreator == null) {
+ fCreator = new AbstractReusableInformationControlCreator() {
+
+ protected IInformationControl doCreateInformationControl(Shell parent) {
+ if (BrowserInformationControl.isAvailable(parent)) {
+ BrowserInformationControl control = new BrowserInformationControl(parent, JFaceResources.DIALOG_FONT, false);
+ return control;
+ } else {
+ return new DefaultInformationControl(parent, true);
+ }
+ }
+ };
+ }
+ return fCreator;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension3#getPrefixCompletionText(org.eclipse.jface.text.IDocument, int)
+ */
+ public CharSequence getPrefixCompletionText(IDocument document, int completionOffset) {
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension3#getPrefixCompletionStart(org.eclipse.jface.text.IDocument, int)
+ */
+ public int getPrefixCompletionStart(IDocument document, int completionOffset) {
+ return 0;
+ }
+
+}
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/IProposalInfo.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/IProposalInfo.java
new file mode 100644
index 0000000000..1b4b8a9af9
--- /dev/null
+++ b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/IProposalInfo.java
@@ -0,0 +1,25 @@
+/******************************************************************************
+ * Copyright (c) 2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.wst.css.ui.internal.contentassist;
+
+import org.eclipse.wst.css.core.internal.metamodel.CSSMMNode;
+
+/**
+ * Interface for additional proposal information for CSS Content Assist
+ *
+ */
+public interface IProposalInfo {
+ /**
+ * Sets the element for additional proposal information
+ * @param node the element for additional proposal information
+ */
+ void setInputElement(CSSMMNode node);
+}
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/ProposalInfoFactory.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/ProposalInfoFactory.java
new file mode 100644
index 0000000000..373f3ddddb
--- /dev/null
+++ b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/contentassist/ProposalInfoFactory.java
@@ -0,0 +1,66 @@
+/******************************************************************************
+ * Copyright (c) 2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.wst.css.ui.internal.contentassist;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.wst.css.core.internal.metamodel.CSSMMNode;
+import org.eclipse.wst.css.ui.internal.CSSUIPlugin;
+import org.eclipse.wst.css.ui.internal.Logger;
+
+/**
+ * Generates proposal information for {@link CSSMMNode}s. If the Proposal Information instance
+ * implements {@link IProposalInfo} the node will be set as the input element.
+ *
+ */
+class ProposalInfoFactory {
+
+ private static IConfigurationElement fElement = null;
+ private static boolean fIsInitialized = false;
+
+ private static final String ATTR_CLASS = "class"; //$NON-NLS-1$
+
+ private ProposalInfoFactory() {
+ }
+
+ /**
+ * Returns additional proposal information for <code>node</code>
+ * @param node the CSS metamodel node
+ * @return additional proposal information about <code>node></code>
+ */
+ public static synchronized Object getProposalInfo(CSSMMNode node) {
+ Object info = null;
+ if (!fIsInitialized) {
+ // Only attempt to initialize this once. If there are no proposal information providers, we'll always return null
+ IConfigurationElement[] elements = Platform.getExtensionRegistry().getConfigurationElementsFor(CSSUIPlugin.ID, "proposalInfo"); //$NON-NLS-1$
+ if (elements.length > 0) {
+ // Get the first proposal info that's declared
+ fElement = elements[0];
+ }
+
+ fIsInitialized = true;
+ }
+
+ if (fElement != null) {
+ try {
+ info = fElement.createExecutableExtension(ATTR_CLASS); //$NON-NLS-1$
+ if (info instanceof IProposalInfo) {
+ ((IProposalInfo) info).setInputElement(node);
+ }
+ } catch (CoreException e) {
+ Logger.log(Logger.ERROR, "Could not create instance for proposalInfo [" + fElement.getAttribute("class") + "]"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ }
+ }
+ return info;
+ }
+
+}
diff --git a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/CSSTokenizer/devel/CSSTokenizer.jflex b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/CSSTokenizer/devel/CSSTokenizer.jflex
index ea7c6af2bd..5ff68bdd1e 100644
--- a/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/CSSTokenizer/devel/CSSTokenizer.jflex
+++ b/bundles/org.eclipse.wst.sse.core/DevTimeSupport/SedModel/CSSTokenizer/devel/CSSTokenizer.jflex
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2004, 2009 IBM Corporation and others.
+ * Copyright (c) 2004, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -418,7 +418,7 @@ unicode_range = "U"\+[0-9a-fA-F?]{1,6}("-"[0-9a-fA-F?]{1,6})?
"*" { yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_UNIVERSAL; }
{hash} { yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_ID; }
// ":"{ident}("("{s}*{ident}{s}*")")? { yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_PSEUDO; }
- ":"({ident}("("{s}*{ident}{s}*")")?)? { yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_PSEUDO; }
+ ":"({ident}("("{s}*([a-zA-Z0-9]|[-+]|{s})*{s}*")")?)? { yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_PSEUDO; }
"."{name} { yybegin(ST_SELECTOR_MODIFIER); return CSS_SELECTOR_CLASS; }
"[" { yybegin(ST_SELECTOR_ATTRIBUTE_NAME); return CSS_SELECTOR_ATTRIBUTE_START; }
}

Back to the top