diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000..b8046ea623 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.DS_STORE? +/target diff --git a/doc/src/docbkx/openstack-identity-service-starter/pom.xml b/doc/src/docbkx/openstack-identity-service-starter/pom.xml new file mode 100644 index 0000000000..263d093caa --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/pom.xml @@ -0,0 +1,148 @@ + + + + 4.0.0 + + org.openstack.docs + openstack-guide + 1.0.0-SNAPSHOT + jar + OpenStack Guides + + + + + + Rackspace Research Repositories + + true + + + + rackspace-research + Rackspace Research Repository + http://maven.research.rackspacecloud.com/content/groups/public/ + + + + + rackspace-research + Rackspace Research Repository + http://maven.research.rackspacecloud.com/content/groups/public/ + + + + + + + + + target/docbkx/pdf + + **/*.fo + + + + + + + com.rackspace.cloud.api + clouddocs-maven-plugin + 1.0.5-SNAPSHOT + + + goal1 + + generate-pdf + + generate-sources + + false + + 0 + 0 + + + + goal2 + + generate-webhelp + + generate-sources + + + 1 + os-identitydevguide + 1 + UA-17511903-6 + + appendix toc,title + article/appendix nop + article toc,title + book title,figure,table,example,equation + chapter toc,title + part toc,title + preface toc,title + qandadiv toc + qandaset toc + reference toc,title + set toc,title + + + 0 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + . + + os-identity-starter-guide.xml + + reviewer + openstack + + + + + + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/fonts/CartoGothic-Std/CartoGothicStd-Bold.ttf b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/fonts/CartoGothic-Std/CartoGothicStd-Bold.ttf new file mode 100644 index 0000000000..b93c813478 Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/fonts/CartoGothic-Std/CartoGothicStd-Bold.ttf differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/fonts/CartoGothic-Std/CartoGothicStd-BoldItalic.ttf b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/fonts/CartoGothic-Std/CartoGothicStd-BoldItalic.ttf new file mode 100644 index 0000000000..008c09f666 Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/fonts/CartoGothic-Std/CartoGothicStd-BoldItalic.ttf differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/fonts/CartoGothic-Std/CartoGothicStd-Book.ttf b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/fonts/CartoGothic-Std/CartoGothicStd-Book.ttf new file mode 100644 index 0000000000..d4721f56ec Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/fonts/CartoGothic-Std/CartoGothicStd-Book.ttf differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/fonts/CartoGothic-Std/CartoGothicStd-Italic.ttf b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/fonts/CartoGothic-Std/CartoGothicStd-Italic.ttf new file mode 100644 index 0000000000..f124c8dc4b Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/fonts/CartoGothic-Std/CartoGothicStd-Italic.ttf differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/fonts/CartoGothic-Std/FontSite License.txt b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/fonts/CartoGothic-Std/FontSite License.txt new file mode 100644 index 0000000000..254d38d1d3 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/fonts/CartoGothic-Std/FontSite License.txt @@ -0,0 +1,21 @@ +This typeface software ("SOFTWARE") is the property of FontSite Inc. Its +use by you is covered under the terms of an End-User License Agreement +("EULA"). By exercising your rights to make and use copies of this SOFTWARE, +you agree to be bound by the terms of this EULA. If you do not agree to the +terms of this EULA, you may not use the SOFTWARE. + +This SOFTWARE is a valuable asset of FontSite Inc. which is protected by +copyright laws and international copyright treaties, as well as other +intellectual property laws and treaties. The typeface software is licensed, +not sold. + +This EULA grants you the following rights: + +You may install and use an unlimited number of copies of this SOFTWARE. + +You may reproduce and distribute an unlimited number of copies of this +SOFTWARE, provided that each copy shall be a true and complete copy, +including all copyright and trademark notices, electronic documentation +(user guide in PDF format, etc.), and shall be accompanied by a copy of this +EULA. Copies of the SOFTWARE may not be distributed for profit either on a +standalone basis or included as part of your own product. \ No newline at end of file diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/fonts/fontconfig.st b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/fonts/fontconfig.st new file mode 100644 index 0000000000..10aea1ed1f --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/fonts/fontconfig.st @@ -0,0 +1,35 @@ + + + + + . + + + 90 + + 90 + + + + + + + + + flate + + + + + + + + + $fontPath$ + + + + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/1.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/1.svg new file mode 100644 index 0000000000..e2e87dc526 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/1.svg @@ -0,0 +1,15 @@ + + + + +]> + + + + + + + + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/10.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/10.svg new file mode 100644 index 0000000000..4740f587bd --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/10.svg @@ -0,0 +1,18 @@ + + + + +]> + + + + + + + + + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/11.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/11.svg new file mode 100644 index 0000000000..09a0b2cf71 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/11.svg @@ -0,0 +1,16 @@ + + + + +]> + + + + + + + + + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/12.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/12.svg new file mode 100644 index 0000000000..9794044c71 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/12.svg @@ -0,0 +1,18 @@ + + + + +]> + + + + + + + + + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/13.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/13.svg new file mode 100644 index 0000000000..64268bb4fa --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/13.svg @@ -0,0 +1,20 @@ + + + + +]> + + + + + + + + + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/14.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/14.svg new file mode 100644 index 0000000000..469aa97487 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/14.svg @@ -0,0 +1,17 @@ + + + + +]> + + + + + + + + + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/15.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/15.svg new file mode 100644 index 0000000000..8202233ef0 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/15.svg @@ -0,0 +1,19 @@ + + + + +]> + + + + + + + + + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/16.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/16.svg new file mode 100644 index 0000000000..01d6bf8164 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/16.svg @@ -0,0 +1,20 @@ + + + + +]> + + + + + + + + + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/17.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/17.svg new file mode 100644 index 0000000000..0a04c5560e --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/17.svg @@ -0,0 +1,17 @@ + + + + +]> + + + + + + + + + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/18.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/18.svg new file mode 100644 index 0000000000..1cb891b34d --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/18.svg @@ -0,0 +1,21 @@ + + + + +]> + + + + + + + + + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/19.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/19.svg new file mode 100644 index 0000000000..e6fbb179fc --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/19.svg @@ -0,0 +1,20 @@ + + + + +]> + + + + + + + + + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/2.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/2.svg new file mode 100644 index 0000000000..07d03395d0 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/2.svg @@ -0,0 +1,17 @@ + + + + +]> + + + + + + + + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/20.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/20.svg new file mode 100644 index 0000000000..ccbfd40319 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/20.svg @@ -0,0 +1,20 @@ + + + + +]> + + + + + + + + + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/21.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/21.svg new file mode 100644 index 0000000000..93ec53fdd9 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/21.svg @@ -0,0 +1,18 @@ + + + + +]> + + + + + + + + + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/22.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/22.svg new file mode 100644 index 0000000000..f48c5f3fd1 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/22.svg @@ -0,0 +1,20 @@ + + + + +]> + + + + + + + + + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/23.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/23.svg new file mode 100644 index 0000000000..6624212957 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/23.svg @@ -0,0 +1,22 @@ + + + + +]> + + + + + + + + + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/24.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/24.svg new file mode 100644 index 0000000000..a3d552535f --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/24.svg @@ -0,0 +1,19 @@ + + + + +]> + + + + + + + + + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/25.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/25.svg new file mode 100644 index 0000000000..56614a979a --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/25.svg @@ -0,0 +1,21 @@ + + + + +]> + + + + + + + + + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/26.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/26.svg new file mode 100644 index 0000000000..56faeaca30 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/26.svg @@ -0,0 +1,22 @@ + + + + +]> + + + + + + + + + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/27.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/27.svg new file mode 100644 index 0000000000..a75c812159 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/27.svg @@ -0,0 +1,19 @@ + + + + +]> + + + + + + + + + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/28.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/28.svg new file mode 100644 index 0000000000..7f8cf1a350 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/28.svg @@ -0,0 +1,23 @@ + + + + +]> + + + + + + + + + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/29.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/29.svg new file mode 100644 index 0000000000..cb63adf1fe --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/29.svg @@ -0,0 +1,22 @@ + + + + +]> + + + + + + + + + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/3.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/3.svg new file mode 100644 index 0000000000..918be806f4 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/3.svg @@ -0,0 +1,19 @@ + + + + +]> + + + + + + + + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/30.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/30.svg new file mode 100644 index 0000000000..dc43ba1e3c --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/30.svg @@ -0,0 +1,22 @@ + + + + +]> + + + + + + + + + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/4.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/4.svg new file mode 100644 index 0000000000..8eb6a53b3b --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/4.svg @@ -0,0 +1,16 @@ + + + + +]> + + + + + + + + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/5.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/5.svg new file mode 100644 index 0000000000..ca7a9f22f6 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/5.svg @@ -0,0 +1,18 @@ + + + + +]> + + + + + + + + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/6.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/6.svg new file mode 100644 index 0000000000..783a0b9d77 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/6.svg @@ -0,0 +1,19 @@ + + + + +]> + + + + + + + + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/7.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/7.svg new file mode 100644 index 0000000000..59b3714b56 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/7.svg @@ -0,0 +1,16 @@ + + + + +]> + + + + + + + + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/8.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/8.svg new file mode 100644 index 0000000000..c1803a3c0d --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/8.svg @@ -0,0 +1,20 @@ + + + + +]> + + + + + + + + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/9.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/9.svg new file mode 100644 index 0000000000..bc149d3cb2 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/callouts/9.svg @@ -0,0 +1,19 @@ + + + + +]> + + + + + + + + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/caution.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/caution.svg new file mode 100644 index 0000000000..e732a36a32 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/caution.svg @@ -0,0 +1,79 @@ + + + +image/svg+xml + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/cc/by-nc-nd.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/cc/by-nc-nd.svg new file mode 100644 index 0000000000..37a32df762 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/cc/by-nc-nd.svg @@ -0,0 +1,243 @@ + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/cc/by-nc-sa.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/cc/by-nc-sa.svg new file mode 100644 index 0000000000..514c251b7a --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/cc/by-nc-sa.svg @@ -0,0 +1,202 @@ + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/cc/by-nc.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/cc/by-nc.svg new file mode 100644 index 0000000000..597a6220f2 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/cc/by-nc.svg @@ -0,0 +1,190 @@ + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/cc/by-nd.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/cc/by-nd.svg new file mode 100644 index 0000000000..6efd00d844 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/cc/by-nd.svg @@ -0,0 +1,203 @@ + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/cc/by-sa.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/cc/by-sa.svg new file mode 100644 index 0000000000..f8502975ce --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/cc/by-sa.svg @@ -0,0 +1,199 @@ + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/cc/by.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/cc/by.svg new file mode 100644 index 0000000000..e44c25f0a4 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/cc/by.svg @@ -0,0 +1,155 @@ + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/cloud/cover.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/cloud/cover.svg new file mode 100644 index 0000000000..fb4ec15dc5 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/cloud/cover.svg @@ -0,0 +1,1650 @@ +image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OpenStack Identity Starter Guide + + + trunk (Sep 28, 2011) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +docs.openstack.org + + \ No newline at end of file diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/cloud/openstack-cover.st b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/cloud/openstack-cover.st new file mode 100644 index 0000000000..bd702f186c --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/cloud/openstack-cover.st @@ -0,0 +1,5262 @@ + + + +image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $title$ + + + $releaseinfo$ ($pubdate$) + + + + $subtitle$ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +$draft.text$ +$status.text$ +docs.openstack.org + + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/cloud/rackspace-cover.st b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/cloud/rackspace-cover.st new file mode 100644 index 0000000000..a6b409c7eb --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/cloud/rackspace-cover.st @@ -0,0 +1,5147 @@ + + + +image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $title$ + + + + $releaseinfo$ ($pubdate$) + + + + docs.rackspace.com/api + + + + $subtitle$ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +$draft.text$ + +$status.text$ + + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/home.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/home.svg new file mode 100644 index 0000000000..e803a3178f --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/home.svg @@ -0,0 +1,26 @@ + + + + + + + + +]> + + + + + + + + + + + + + + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/important.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/important.svg new file mode 100644 index 0000000000..a4378d8cc9 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/important.svg @@ -0,0 +1,79 @@ + + + +image/svg+xml + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/next.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/next.svg new file mode 100644 index 0000000000..75fa83ed8c --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/next.svg @@ -0,0 +1,19 @@ + + + + + + +]> + + + + + + + + + + + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/note.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/note.svg new file mode 100644 index 0000000000..0ddb7df726 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/note.svg @@ -0,0 +1,108 @@ + + + +image/svg+xml + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/prev.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/prev.svg new file mode 100644 index 0000000000..6d88ffdd0d --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/prev.svg @@ -0,0 +1,19 @@ + + + + + + +]> + + + + + + + + + + + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/tip.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/tip.svg new file mode 100644 index 0000000000..e65ba68943 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/tip.svg @@ -0,0 +1,115 @@ + + + +image/svg+xml + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/up.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/up.svg new file mode 100644 index 0000000000..d31aa9c809 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/up.svg @@ -0,0 +1,19 @@ + + + + + + +]> + + + + + + + + + + + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/warning.svg b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/warning.svg new file mode 100644 index 0000000000..519e99d7e9 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/images/warning.svg @@ -0,0 +1,75 @@ + + + +image/svg+xml + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/pdf/os-identity-starter-guide.fo b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/pdf/os-identity-starter-guide.fo new file mode 100644 index 0000000000..718077028e --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/pdf/os-identity-starter-guide.fo @@ -0,0 +1,179 @@ +TrueCopyright © 2010, 2011 OpenStack LLC All rights reserved.OpenStack Identity Starter GuideCloud API Docs PluginOpenStack Identity Starter GuideTable of Contents1. Quick Guide to Getting Started with KeystoneIdentity Service ConceptsInstalling the OpenStack Identity ServiceStarting the Identity ServiceConfiguring the Identity ServiceDependenciesCreating Tenants, Users, Roles, Tokens and EndpointsCurl examples OpenStack Identity Starter GuideSep 28, 2011trunk OpenStack Identity Starter GuideSep 28, 2011trunk OpenStack Identity Starter GuideSep 28, 2011trunk OpenStack Identity Starter Guide trunk (2011-09-28)Copyright © 2010, 2011 OpenStack LLC All rights reserved.OpenStack™ Identity Service offers open source software for identity management + for cloud users and administrators. This manual provides guidance for installing, + managing, and understanding the software that runs OpenStack Identity Service. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + OpenStack Identity Starter GuideSep 28, 2011trunk OpenStack Identity Starter GuideSep 28, 2011trunk OpenStack Identity Starter GuideSep 28, 2011trunk Table of Contents1. Quick Guide to Getting Started with Keystone Identity Service Concepts Installing the OpenStack Identity Service Starting the Identity Service Configuring the Identity Service Dependencies Creating Tenants, Users, Roles, Tokens and Endpoints Curl examples OpenStack Identity Starter GuideSep 28, 2011trunk OpenStack Identity Starter GuideSep 28, 2011trunk OpenStack Identity Starter GuideSep 28, 2011trunk 1. Quick Guide to Getting Started with Keystone + The OpenStack Identity Service provides services for authenticating and managing user, account, and role information for OpenStack clouds running on OpenStack Compute and as an authorization service for OpenStack Object Storage.Identity Service ConceptsIdentity Service Concepts + The Keystone Identity Service has several key concepts which are + important to understand: + UserA digital representation of a person, system, or service who uses OpenStack cloud services. + Keystone authentication services will validate that incoming request are being made by the user + who claims to be making the call. Users have a login and may be assigned tokens to access + resources. Users may be directly assigned to a particular tenant and + behave as if they are contained in that tenant.Credentials + Data that belongs to, is owned by, and generally only known by a user that the user can present + to prove they are who they are (since nobody else should know that data). + Examples are: + •a matching username and password•a matching username and API key•yourself and a driver's license with a picture of you•a token that was issued to you that nobody else knows of + Authentication + In the context of Keystone, authentication is the act of confirming the identity of a + user or the truth of a claim. + Keystone will confirm that incoming request are being made by the user + who claims to be making the call by validating a set of claims that the user is making. + These claims are initially in the form of a set of credentials (username & password, + or username and API key). After initial confirmation, Keystone will issue the user a token + which the user can then provide to demonstrate that their identity has been authenticated + when making subsequent requests. + Token + A token is an arbitrary bit of text that is used to access + resources. Each token has a scope which describes which + resources are accessible with it. A token may be + revoked at anytime and is valid for a finite duration. + + While Keystone supports token-based authentication in this release, + the intention is for it to support additional protocols in the + future. The intent is for it to be an integration service foremost, and not + a aspire to be a full-fledged identity store and management solution. + Tenant + A container used to group or isolate resources and/or identity + objects. Depending on the service operator, a tenant may map to a customer, + account, organization, or project. + Service + An OpenStack service, such as Compute (Nova), Object Storage (Swift), or Image Service (Glance). A service provides + one or more endpoints through which users can access resources and perform + (presumably useful) operations. + Endpoint + An network-accessible address, usually described by URL, where a service may be accessed. If using an extension for templates, you can create an endpoint template, which represents the templates of all the consumable services that are available across the regions. + Role A personality that a user assumes when performing a specific set of operations. + A role includes a set of right and privileges. A user assuming that role inherits + those rights and privileges. + + In Keystone, a token that is issued to a user includes the list of roles that user + can assume. Services that are being called by that user determine how they interpret the set + of roles a user has and which operations or resources each roles grants access to. + Installing the OpenStack Identity ServiceInstalling the OpenStack Identity ServiceYou can install the Identity service from packages or from source. + To install the latest version of the Identity Service (Keystone) from the Github + repositories, following the following instructions. + + For Debian/Ubuntu, add the Keystone PPA to your sources.lst: + 1. + $> sudo add-apt-repository ppa:keystone-core/trunk $> + sudo apt-get update + 2. + Install Keystone: + $> sudo apt-get install keystone + To install the latest version of Keystone from the Launchpad + Bazaar repositories, following the following instructions. + 1. + Grab the source tarball from + Github + 2. + Untar the source tarball: + + $> tar -xzf <FILE> + 3. + Change into the package directory and build/install: + + $> cd keystone-<RELEASE> $> sudo python setup.py + install + + To install the latest version of Keystone from the Github + repositories, see the following instructions. + These are for Debian/Ubuntu.NoteIf you want to build the Keystone documentation locally, you will also want + to install the python-sphinx package.1. + Install Git and build dependencies: + $> sudo apt-get install git python-eventlet python-routes python-greenlet + swift $> sudo apt-get install python-argparse python-sqlalchemy python-wsgiref + python-pastedeploy 2. + Branch Keystone's trunk branch. (See + http://wiki.openstack.org/GerritWorkflow + to get the project initially setup): + + $> git checkout master $> git pull origin master + 3. + Install Keystone: + + $> sudo python setup.py install + Starting the Identity ServiceStarting the Identity ServiceBy default, configuration parameters (such as the IP and port binding for each service) are parsed from etc/keystone.conf, so ensure it is up-to-date prior to starting the service.To start up the Keystone service, enter the following:$ cd ~/keystone/bin && ./keystone In return you should see something like this:Starting the Legacy Authentication component + Service API listening on 0.0.0.0:5000 + Admin API listening on 0.0.0.0:5001Use this command for starting the auth server only which exposes the Service API:$ ./bin/keystone-authUse this command for starting the admin server only which exposes the Admin API:$ ./bin/keystone-adminAfter starting keystone or running keystone-manage a keystone.db sqlite database should be created in the keystone folder.Configuring the Identity ServiceConfiguring the Identity ServiceHere are the steps to get started with authentication using Keystone, the project name for + the OpenStack Identity Service. Typically a project that uses Keystone has settings in a configuration file: + •In Compute, the settings are in etc/nova/api-paste.ini, but Keystone also provides + an example file in keystone/examples/paste/nova-api-paste.ini. Restart the nova-api + service for these settings to be configured.•In Image Service, the settings are in glance-api.conf and glance-registry.conf + configuration files in the examples/paste directory. Restart the glance-api service and + also ensure your environment contains OS_AUTH credentials which you can set up with tools/nova_to_os_env.sh provided by the Glance project.•In Object Storage, the settings are held in /etc/swift/proxy-server.conf in a + [filter:keystone] section. Use swift-init main start to restart Object + Storage with the new configuration. Here's an example + /etc/swift/proxy-server.conf: + [DEFAULT] +bind_port = 8888 +user = <user> + +[pipeline:main] +pipeline = catch_errors cache keystone proxy-server + +[app:proxy-server] +use = egg:swift#proxy +account_autocreate = true + +[filter:keystone] +use = egg:keystone#tokenauth +auth_protocol = http +auth_host = 127.0.0.1 +auth_port = 5001 +admin_token = 999888777666 +delay_auth_decision = 0 +service_protocol = http +service_host = 127.0.0.1 +service_port = 8100 +service_pass = dTpw + +[filter:cache] +use = egg:swift#memcache +set log_name = cache + +[filter:catch_errors] +use = egg:swift#catch_errors + + DependenciesDependenciesOnce Keystone is installed you need to initialize the database. You can do so with the keystone-manage command line utility. The keystone-manage utility helps with managing and configuring a Keystone installation. You configure the keystone-manage utility itself with a SQL Alchemy connection configuration via a parameter passed to the utility:--sql_connection=CONN_STRINGWhere the CONN_STRING is a proper SQLAlchemy connection string as described in + http://www.sqlalchemy.org/docs/05/reference/sqlalchemy/connections.html?highlight=engine#sqlalchemy.create_engine.One important use of keystone-manage is to setup the database. To do so, run: + keystone-manage db_syncCreating Tenants, Users, Roles, Tokens and EndpointsCreating Tenants, Users, Roles, Tokens and EndpointsSample data entries are available in keystone/bin/sampledata.sh. The following are just + examples for a walk-through.Note + Some reserved roles are defined (and can be modified) through the keystone.conf in the /etc folder.Add two tenants, and administrative tenant and a tenant named demo. Tenants are equivalent to projects in the previous auth system in Compute. In Object Storage, Tenants are similar to accounts in the swauth system. bin/keystone-manage tenant add admin + bin/keystone-manage tenant add demoNext add two users to the Identity Service and assign their passwords. The last value in the list is an ID number. bin/keystone-manage user add admin p4ssw0rd 1 + bin/keystone-manage user add demo p455w0rd 2Now you can assign roles, which includes a set of rights and privileges that are double-checked with the token that the user is issued. bin/keystone-manage role add Admin + bin/keystone-manage role add Member + bin/keystone-manage role grant Admin adminNow define the endpointTemplates, which are URLs plus port values that indicate where a service may be accessed. This example shows many services available to Compute including the Image Service, the Object Storage service, as well as Identity itself. Since there is just one zone in this example, it represents all the services across the single region (but could also represent all the regions). bin/keystone-manage endpointTemplates add RegionOne swift http://%HOST_IP%:8080/v1/AUTH_%tenant_id% http://%HOST_IP%:8080/ http://%HOST_IP%:8080/v1/AUTH_%tenant_id% 1 1 + bin/keystone-manage endpointTemplates add RegionOne nova_compat http://%HOST_IP%:8774/v1.0/ http://%HOST_IP%:8774/v1.0 http://%HOST_IP%:8774/v1.0 1 1 + bin/keystone-manage endpointTemplates add RegionOne nova http://%HOST_IP%:8774/v1.1/%tenant_id% http://%HOST_IP%:8774/v1.1/%tenant_id% http://%HOST_IP%:8774/v1.1/%tenant_id% 1 1 + bin/keystone-manage endpointTemplates add RegionOne glance http://%HOST_IP%:9292/v1.1/%tenant_id% http://%HOST_IP%:9292/v1.1/%tenant_id% http://%HOST_IP%:9292/v1.1/%tenant_id% 1 1 + bin/keystone-manage endpointTemplates add RegionOne identity http://%HOST_IP%:5000/v2.0 http://%HOST_IP%:5001/v2.0 http://%HOST_IP%:5000/v2.0 1 1 Now you add a default token for the admin user to get when requesting a token.bin/keystone-manage token add 999888777666 1 1 2015-02-05T00:00This section adds the tenant endpoints for each user created above (admin with ID 1 and demo with ID 2). bin/keystone-manage endpoint add 1 1 + bin/keystone-manage endpoint add 1 2 + bin/keystone-manage endpoint add 1 3 + bin/keystone-manage endpoint add 1 4 + bin/keystone-manage endpoint add 1 5 + bin/keystone-manage endpoint add 1 6 + + bin/keystone-manage endpoint add 2 1 + bin/keystone-manage endpoint add 2 2 + bin/keystone-manage endpoint add 2 3 + bin/keystone-manage endpoint add 2 4 + bin/keystone-manage endpoint add 2 5 + bin/keystone-manage endpoint add 2 6You can configure Identity and Compute with a single region or multiple regions using + zones. You need to add a label for the endpoint for each region. Having a single region + doesn't require any work other than adding label. + keystone-manage endpointTemplates add SWRegion identity http://%HOST_IP%:5000/v2.0 http://%HOST_IP%:5001/v2.0 http://%HOST_IP%:5000/v2.0 1 1 + Curl examplesCurl examplesAll examples assume default port usage (5001) and use the example admin account created above.Admin Initial GETRetrieves version, full API url, pdf doc link, and wadl link:$> curl http:/​/​0.​0.​0.​0:5001or:$> curl http:/​/​0.​0.​0.​0:5001/​v2.​0/Retrieve token:To retrieve the token and expiration date for a user:$> curl -d '{"passwordCredentials":{"username": "MyAdmin",​ "password": "P@ssw0rd"}}' -H "Content-type: application/​json" http:/​/​localhost:5001/​v2.​0/​tokensThis will return something like:$> {"auth": {"token": {"expires": "2011-08-10T17:45:22.​838440",​ "id": "0eed0ced-4667-4221-a0b2-24c91f242b0b"}}}NoteSave the “id†value as you’ll be using it in the calls below.To retrieve a list of tenants:Run:$> curl -H "X-Auth-Token:999888777666" http:/​/​localhost:5001/​v2.​0/​tenantsThis will return something like:$> {"tenants": {"values": [{"enabled": 1,​ "id": "MyTenant",​ "description": null}],​ "links": []}}Retrieve a list of users: Run:$> curl -H "X-Auth-Token:999888777666" http:/​/​localhost:5001/​v2.​0/​usersThis will return something like:$> {"users": {"values": [{"email": null,​ "enabled": true,​ "id": "MyAdmin",​ "tenantId": "MyTenant"}],​ "links": []}}Retrieve information about the token:Run:$> curl -H "X-Auth-Token:999888777666" http:/​/​localhost:5001/​v2.​0/​tokens/​0eed0ced-4667-4221-a0b2-24c91f242b0b This will return something like:$> {"auth": {"token": {"expires": "2011-08-11T04:26:58.​145171",​ "id": "0eed0ced-4667-4221-a0b2-24c91f242b0b"},​ "user": {"username": "MyAdmin",​ "roleRefs": [{"roleId": "Admin",​ "id": 1}],​ "tenantId": "MyTenant"}}} Revoking a token:Run:$> curl -X DELETE -H "X-Auth-Token:999888777666" http:/​/​localhost:5001/​tokens/​0eed0ced-4667-4221-a0b2-24c91f242b0bCreating a tenant:Run: $> curl -H "X-Auth-Token:999888777666" -H "Content-type: application/​json" -d '{"tenant":{"id":"MyTenant2",​ "description":"My 2nd Tenant",​ "enabled":true}}' http:/​/​localhost:5001/​tenants This will return something like:$> {"tenant": {"enabled": true,​ "id": "MyTenant2",​ "description": "My 2nd Tenant"}}Verifying the tenant:Run:$> curl -H "X-Auth-Token:999888777666" http:/​/​localhost:5001/​v2.​0/​tenants/​MyTenant2This will return something like:$> {"tenant": {"enabled": 1,​ "id": "MyTenant2",​ "description": "My 2nd Tenant"}}Updating the tenant:Run:$> curl -X PUT -H "X-Auth-Token:999888777666" -H "Content-type: application/​json" -d '{"tenant":{"description":"My NEW 2nd Tenant"}}' http:/​/​localhost:5001/​v2.​0/​tenants/​MyTenant2 +This will return something like: +$> {"tenant": {"enabled": true,​ "id": "MyTenant2",​ "description": "My NEW 2nd Tenant"}} +Deleting the tenant:Run:$> curl -X DELETE -H "X-Auth-Token:999888777666" http:/​/​localhost:5001/​v2.​0/​tenants/​MyTenant2 \ No newline at end of file diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/comments.js b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/comments.js new file mode 100644 index 0000000000..ff11415589 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/comments.js @@ -0,0 +1,7 @@ + var disqus_url = window.location.toString().replace(/http\:\/\/docs\.rackspace(cloud)?\.com\//,"http://docs.rackspace.com/"); + var disqus_title = document.title; + (function() { + var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; + dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js'; + (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); + })(); diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/css/ie.css b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/css/ie.css new file mode 100644 index 0000000000..4c5f1c2184 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/css/ie.css @@ -0,0 +1,13 @@ +.statustext{ + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1) + progid:DXImageTransform.Microsoft.BasicImage(opacity=.5); + width: 100%; + height: 30px; + right: -5px; + top:105px; + /* left: 280px; */ /* change to -12px; when sidebar is collapsed */ +} + +body #content{ + padding-top: 136px; +} diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/css/positioning-openstack.css b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/css/positioning-openstack.css new file mode 100644 index 0000000000..9290e6afe7 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/css/positioning-openstack.css @@ -0,0 +1,312 @@ +tr th .added { color: #E6E6FA; } +tr th .changed {color: #99ff99; } +div.added tr, div.added { background-color: #E6E6FA; } +div.deleted tr, div.deleted { text-decoration: line-through; + background-color: #FF7F7F; } +div.changed tr, div.changed { background-color: #99ff99; } +div.off { } + +span.added { background-color: #E6E6FA; } +span.deleted { text-decoration: line-through; + background-color: #FF7F7F; } +span.changed { background-color: #99ff99; } +span.off { } + + +body { font: 12px Verdana, Geneva, sans-serif; } +p, ul, ol, li { font: 10pt Verdana, Geneva, sans-serif; } +h1 { font: 15pt Arial, Helvetica, geneva; + color: #cf2f19; +} +h2 { font: normal 12pt Arial, Helvetica, geneva; + color: black!important; +} + +#header { + position: fixed; + width: 100%; + height: 95px; + top: 0; + right: 0; + bottom: auto; + left: 0; + border-bottom: 1px solid #bbc4c5; + z-index: 2000; + background: white url(../images/book_open.png) no-repeat 250px center; +} + +#header h1, p.breadcrumbs { + margin-left: 300px; +} + +#header img { + float: left; + margin-left: 20px; + margin-top: 20px; +} + +#leftnavigation { + overflow: auto; + position: fixed; + height: auto; + top: 90px; + bottom: 0; + left: 0; + width: 280px; + z-index: 1500; + border-right:1px solid #bbc4c5; + padding: 0px; + background-color: #f2f7f7!important; +} + +#content { + position: relative; + top: 90px; /* left: 240px;*/ + right: auto; /* bottom: 20px; */ + margin: 0px 0px 0px 280px; + width: auto; + height: inherit; + padding-top: 10px; + padding-left: 30px; + padding-right: 30px; + color: #000000; + /*border-left: 2px solid #cccccc; overflow :scroll;*/ + z-index: 1000; + min-width:800px; +} + +#navheader { + position: fixed; + top: 65px; + right:4px; +} + +#content h1, #content h2 { color: #cc0000; } +.navfooter { bottom: 2%; } +.highlight { background-color: #c5d3c3; } +.highlightButton{ font-size: 0; } + +#content pre.literallayout, #content pre.programlisting +{ + -x-system-font: none; + background-color: silver; + border-bottom-color: #DEDEDE !important; + border-bottom-style: solid !important; + border-bottom-width: 1px !important; + border-left-color-ltr-source: physical !important; + border-left-color-rtl-source: physical !important; + border-left-color-value: #DEDEDE !important; + border-left-style-ltr-source: physical !important; + border-left-style-rtl-source: physical !important; + border-left-style-value: solid !important; + border-left-width-ltr-source: physical !important; + border-left-width-rtl-source: physical !important; + border-left-width-value: 1px !important; + border-right-color-ltr-source: physical !important; + border-right-color-rtl-source: physical !important; + border-right-color-value: #DEDEDE !important; + border-right-style-ltr-source: physical !important; + border-right-style-rtl-source: physical !important; + border-right-style-value: solid !important; + border-right-width-ltr-source: physical !important; + border-right-width-rtl-source: physical !important; + border-right-width-value: 1px !important; + border-top-color: #DEDEDE !important; + border-top-style: solid !important; + border-top-width: 1px !important; + color: #23302D; + display: block; + font-family: Monaco,'Courier New','DejaVu Sans Mono','Bitstream Vera Sans Mono',monospace; + font-size: 12px !important; + font-size-adjust: none; + font-stretch: normal; + font-style: normal; + font-variant: normal; + font-weight: normal; + line-height: normal; + margin-bottom: 1em !important; + margin-left: 0 !important; + margin-right: 0 !important; + margin-top: 1em !important; + overflow-x: scroll; + padding-bottom: 0.5em !important; + padding-left: 0.5em !important; + padding-right: 0.5em !important; + padding-top: 0.5em !important; + width: 100%; +} + +/* Show Hide TOC tree */ +.pointLeft { + cursor: pointer; + padding-right: 20px; + display: block; +} +.pointRight { + cursor: pointer; + padding-right: 20px; + display: block; +} + +/* Search results Styling */ +.searchExpression { + color: #0050A0; + background-color: #EBEFF8; + font-size: 12pt; +} +.searchresult li a { + text-decoration: none; + color: #0050A0; +} +.searchresult li { + color: #0050A0; +} +.shortdesclink { + color: gray; + font-size: 9pt; +} +.searchText { + border: #BFCEE9 solid 1pt; + width: 11em +} +.searchButton { + margin-left: 3px; + background: #EBEFF8; + color: #0050A0; + border: #BFCEE9 solid 1pt; + font-weight: bold; + font-size: 10pt +} + +.title, div.toc>p{ + font-weight: bold; + } + +p.breadcrumbs { + margin-bottom: 0px; + margin-top: 33px; +} + +p.breadcrumbs a { + padding-right: 12px; + margin-right: 5px; + text-decoration: none; + color: #575757; + text-transform: uppercase; + font-size: 10px; + background: url(../images/breadcrumb-arrow.png) no-repeat right center; +} + +p.breadcrumbs a:hover { + text-decoration: underline; +} + +#header h1 { + margin-top: 2px; +} + +table.navLinks { + margin-right: 20px; +} + +table.navLinks td a { + text-decoration: none; + text-transform: uppercase; + color: black; + font-size: 11px; +} + +a.navLinkPrevious { + padding-left: 12px; + background: url(../images/previous-arrow.png) no-repeat left center; +} + +a.navLinkNext { + padding-right: 12px; + background: url(../images/next-arrow.png) no-repeat right center; +} + +a#showHideButton { + padding-left: 20px; + background: url(../images/sidebar.png) no-repeat left center; +} + + +.legal, .legal *{ + color: #555; + text-align: center; + padding-bottom: 10px; +} + +.internal + { + color : #0000CC; + } + +.writeronly + { + color : red; + } + +.remark, .remark .added, .remark .changed, .remark .deleted{ + background: yellow; + } + +tr th, tr th .internal, tr th .added, tr th .changed + { + background: #00589E; + color: white; + font-weight: bold; + text-align: left; + } + + +.statustext{ + position:fixed; + top:100px; + width: 0%; + height: 0%; + opacity: .3; + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + white-space: nowrap; + color: red; + font-weight: bold; + font-size: 2em; + } + + +div.note *, div.caution *, div.important *, div.tip *, div.warning * { + background: inherit !important; + color: inherit !important; + border: inherit !important; +} + +#content table thead, #content table th{ + background: gray; + color: white; + font-weight: bold; +} + +#content table caption{ + font-weight: bold; +} + +#content table td, #content table { + border: 1px solid black; +} + +#content table td, #content table th { + padding: 5px; +} + +#content table { + margin-bottom: 20px; + +} + +*[align = 'center']{ + text-align: center; +} + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/css/positioning-rackspace.css b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/css/positioning-rackspace.css new file mode 100644 index 0000000000..c4a9f1055a --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/css/positioning-rackspace.css @@ -0,0 +1,380 @@ +tr th .added { color: #E6E6FA; } +tr th .changed {color: #99ff99; } +div.added tr, div.added { background-color: #E6E6FA; } +div.deleted tr, div.deleted { text-decoration: line-through; + background-color: #FF7F7F; } +div.changed tr, div.changed { background-color: #99ff99; } +div.off { } + +span.added { background-color: #E6E6FA; } +span.deleted { text-decoration: line-through; + background-color: #FF7F7F; } +span.changed { background-color: #99ff99; } +span.off { } + + +body { font: 12px Verdana, Geneva, sans-serif; } +p, ul, ol, li { font: 10pt Verdana, Geneva, sans-serif; } +h1 { font: 15pt Arial, Helvetica, geneva; + color: black!important!; +} +h2 { font: normal 12pt Arial, Helvetica, geneva; + color: black!important; +} + +#header { + position: fixed; + width: 100%; + height: 95px; + top: 0; + right: 0; + bottom: auto; + left: 0; + border-bottom: 1px solid #bbc4c5; + z-index: 2000; + background: #282828 url("../images/main_bg_fade.png") top left no-repeat; +} + +#header h1 { + color: #fff; + margin-left: 310px; +} + +#header h1, p.breadcrumbs { + margin-top: 30px; + margin-left: 310px; +} + +#header img { + float: left; + margin-left: 20px; + margin-top: 22px; +} + +#header p.breadcrumbs a { + color: #bbb; +} + +#leftnavigation { + overflow: auto; + position: fixed; + height: auto; + top: 90px; + bottom: 0; + left: 0; + width: 280px; + z-index: 1500; + border-right:1px solid #bbc4c5; + padding: 0px; + background-color: #f0f0f0!important; +} + +#content { + position: relative; + top: 90px; /* left: 240px;*/ + right: auto; /* bottom: 20px; */ + margin: 0px 0px 0px 280px; + width: auto; + height: inherit; + padding-top: 10px; + padding-left: 30px; + padding-right: 30px; + color: #000000; + /*border-left: 2px solid #cccccc; overflow :scroll;*/ + z-index: 1000; + min-width:800px; +} + +#navheader { + position: fixed; + background: #fff; + border-radius: 5px 0px 0px 5px; + padding-left: 10px; + right: 0px; + top: 37px; +} + +#content h1, #content h2 { color: black; } +.navfooter { bottom: 2%; } +.highlight { background-color: #c5d3c3; } +.highlightButton{ font-size: 0; } + +#content pre.literallayout, #content pre.programlisting +{ + -x-system-font: none; + background-color: silver; + border-bottom-color: #DEDEDE !important; + border-bottom-style: solid !important; + border-bottom-width: 1px !important; + border-left-color-ltr-source: physical !important; + border-left-color-rtl-source: physical !important; + border-left-color-value: #DEDEDE !important; + border-left-style-ltr-source: physical !important; + border-left-style-rtl-source: physical !important; + border-left-style-value: solid !important; + border-left-width-ltr-source: physical !important; + border-left-width-rtl-source: physical !important; + border-left-width-value: 1px !important; + border-right-color-ltr-source: physical !important; + border-right-color-rtl-source: physical !important; + border-right-color-value: #DEDEDE !important; + border-right-style-ltr-source: physical !important; + border-right-style-rtl-source: physical !important; + border-right-style-value: solid !important; + border-right-width-ltr-source: physical !important; + border-right-width-rtl-source: physical !important; + border-right-width-value: 1px !important; + border-top-color: #DEDEDE !important; + border-top-style: solid !important; + border-top-width: 1px !important; + color: #23302D; + display: block; + font-family: Monaco,'Courier New','DejaVu Sans Mono','Bitstream Vera Sans Mono',monospace; + font-size: 12px !important; + font-size-adjust: none; + font-stretch: normal; + font-style: normal; + font-variant: normal; + font-weight: normal; + line-height: normal; + margin-bottom: 1em !important; + margin-left: 0 !important; + margin-right: 0 !important; + margin-top: 1em !important; + overflow-x: scroll; + padding-bottom: 0.5em !important; + padding-left: 0.5em !important; + padding-right: 0.5em !important; + padding-top: 0.5em !important; + width: 100%; +} + +/* Show Hide TOC tree */ +.pointLeft { + cursor: pointer; + padding-right: 20px; + display: block; +} +.pointRight { + cursor: pointer; + padding-right: 20px; + display: block; +} + +/* Search results Styling */ +.searchExpression { + color: #0050A0; + background-color: #EBEFF8; + font-size: 12pt; +} +.searchresult li a { + text-decoration: none; + color: #0050A0; +} +.searchresult li { + color: #0050A0; +} +.shortdesclink { + color: gray; + font-size: 9pt; +} +.searchText { + border: #BFCEE9 solid 1pt; + width: 11em +} +.searchButton { + margin-left: 3px; + background: #EBEFF8; + color: #0050A0; + border: #BFCEE9 solid 1pt; + font-weight: bold; + font-size: 10pt +} + +.title, div.toc>p{ + font-weight: bold; + } + +p.breadcrumbs { + display: inline; + margin-bottom: 0px; + margin-top: 33px; +} + +p.breadcrumbs a { + padding-right: 12px; + margin-right: 5px; + text-decoration: none; + color: #575757; + text-transform: uppercase; + font-size: 10px; +} + +p.breadcrumbs a:first-child { + background: url(../images/breadcrumb-arrow-white.png) no-repeat right center; +} + +p.breadcrumbs a:hover { + text-decoration: underline; +} + +#header h1 { + margin-top: 2px; +} + +table.navLinks { + margin-right: 20px; +} + +table.navLinks td a { + text-decoration: none; + text-transform: uppercase; + color: black; + font-size: 11px; +} + +a.navLinkPrevious { + padding-left: 12px; + background: url(../images/previous-arrow.png) no-repeat left center; +} + +a.navLinkNext { + padding-right: 12px; + background: url(../images/next-arrow.png) no-repeat right center; +} + +a#showHideButton { + padding-left: 20px; + background: url(../images/sidebar.png) no-repeat left center; +} + + +.filetree li span a { color: #777; } + +#treediv { -webkit-box-shadow: #CCC 0px 1px 2px 0px inset; } + +.legal, .legal *{ + color: #555; + text-align: center; + padding-bottom: 10px; +} + +.internal + { + color : #0000CC; + } + +.writeronly + { + color : red; + } + +.remark, .remark .added, .remark .changed, .remark .deleted{ + background: yellow; + } + +tr th, tr th .internal, tr th .added, tr th .changed + { + background: #00589E; + color: white; + font-weight: bold; + text-align: left; + } + +.statustext{ + position:fixed; + top:105px; + width: 0%; + height: 0%; + opacity: .3; + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + white-space: nowrap; + color: red; + font-weight: bold; + font-size: 2em; + margin-top: 30px; + } + +#toolbar { + width: 100%; + height: 33px; + position: fixed; + top: 93px; + z-index: 99; + left: 280px; + color: #333; + line-height: 28px; + padding-left: 10px; +} + +#toolbar-left { + position: relative; + left: 0px; +} + +body p.breadcrumbs { + margin: 0px; + padding: 0px; + line-height: 28px; +} + +body #content { + position: static; + margin-top: 126px; + top: 0px; +} + +#header h1 { + position: fixed; + top: 35px; + left: -15px; + color: white!important; +} + +body.sidebar #toolbar{ + left: 0px; +} + +body.sidebar #toolbar-left{ + left: 0px; +} + +div#toolbar-left img { + vertical-align: text-top; +} + + +div.note *, div.caution *, div.important *, div.tip *, div.warning * { + background: inherit !important; + color: inherit !important; + border: inherit !important; +} + +#content table thead, #content table th{ + background: gray; + color: white; + font-weight: bold; +} + +#content table caption{ + font-weight: bold; +} + +#content table td, #content table { + border: 1px solid black; +} + +#content table td, #content table th { + padding: 5px; +} + +#content table { + margin-bottom: 20px; + +} + +*[align = 'center']{ + text-align: center; +} \ No newline at end of file diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/css/positioning.css b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/css/positioning.css new file mode 100644 index 0000000000..9290e6afe7 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/css/positioning.css @@ -0,0 +1,312 @@ +tr th .added { color: #E6E6FA; } +tr th .changed {color: #99ff99; } +div.added tr, div.added { background-color: #E6E6FA; } +div.deleted tr, div.deleted { text-decoration: line-through; + background-color: #FF7F7F; } +div.changed tr, div.changed { background-color: #99ff99; } +div.off { } + +span.added { background-color: #E6E6FA; } +span.deleted { text-decoration: line-through; + background-color: #FF7F7F; } +span.changed { background-color: #99ff99; } +span.off { } + + +body { font: 12px Verdana, Geneva, sans-serif; } +p, ul, ol, li { font: 10pt Verdana, Geneva, sans-serif; } +h1 { font: 15pt Arial, Helvetica, geneva; + color: #cf2f19; +} +h2 { font: normal 12pt Arial, Helvetica, geneva; + color: black!important; +} + +#header { + position: fixed; + width: 100%; + height: 95px; + top: 0; + right: 0; + bottom: auto; + left: 0; + border-bottom: 1px solid #bbc4c5; + z-index: 2000; + background: white url(../images/book_open.png) no-repeat 250px center; +} + +#header h1, p.breadcrumbs { + margin-left: 300px; +} + +#header img { + float: left; + margin-left: 20px; + margin-top: 20px; +} + +#leftnavigation { + overflow: auto; + position: fixed; + height: auto; + top: 90px; + bottom: 0; + left: 0; + width: 280px; + z-index: 1500; + border-right:1px solid #bbc4c5; + padding: 0px; + background-color: #f2f7f7!important; +} + +#content { + position: relative; + top: 90px; /* left: 240px;*/ + right: auto; /* bottom: 20px; */ + margin: 0px 0px 0px 280px; + width: auto; + height: inherit; + padding-top: 10px; + padding-left: 30px; + padding-right: 30px; + color: #000000; + /*border-left: 2px solid #cccccc; overflow :scroll;*/ + z-index: 1000; + min-width:800px; +} + +#navheader { + position: fixed; + top: 65px; + right:4px; +} + +#content h1, #content h2 { color: #cc0000; } +.navfooter { bottom: 2%; } +.highlight { background-color: #c5d3c3; } +.highlightButton{ font-size: 0; } + +#content pre.literallayout, #content pre.programlisting +{ + -x-system-font: none; + background-color: silver; + border-bottom-color: #DEDEDE !important; + border-bottom-style: solid !important; + border-bottom-width: 1px !important; + border-left-color-ltr-source: physical !important; + border-left-color-rtl-source: physical !important; + border-left-color-value: #DEDEDE !important; + border-left-style-ltr-source: physical !important; + border-left-style-rtl-source: physical !important; + border-left-style-value: solid !important; + border-left-width-ltr-source: physical !important; + border-left-width-rtl-source: physical !important; + border-left-width-value: 1px !important; + border-right-color-ltr-source: physical !important; + border-right-color-rtl-source: physical !important; + border-right-color-value: #DEDEDE !important; + border-right-style-ltr-source: physical !important; + border-right-style-rtl-source: physical !important; + border-right-style-value: solid !important; + border-right-width-ltr-source: physical !important; + border-right-width-rtl-source: physical !important; + border-right-width-value: 1px !important; + border-top-color: #DEDEDE !important; + border-top-style: solid !important; + border-top-width: 1px !important; + color: #23302D; + display: block; + font-family: Monaco,'Courier New','DejaVu Sans Mono','Bitstream Vera Sans Mono',monospace; + font-size: 12px !important; + font-size-adjust: none; + font-stretch: normal; + font-style: normal; + font-variant: normal; + font-weight: normal; + line-height: normal; + margin-bottom: 1em !important; + margin-left: 0 !important; + margin-right: 0 !important; + margin-top: 1em !important; + overflow-x: scroll; + padding-bottom: 0.5em !important; + padding-left: 0.5em !important; + padding-right: 0.5em !important; + padding-top: 0.5em !important; + width: 100%; +} + +/* Show Hide TOC tree */ +.pointLeft { + cursor: pointer; + padding-right: 20px; + display: block; +} +.pointRight { + cursor: pointer; + padding-right: 20px; + display: block; +} + +/* Search results Styling */ +.searchExpression { + color: #0050A0; + background-color: #EBEFF8; + font-size: 12pt; +} +.searchresult li a { + text-decoration: none; + color: #0050A0; +} +.searchresult li { + color: #0050A0; +} +.shortdesclink { + color: gray; + font-size: 9pt; +} +.searchText { + border: #BFCEE9 solid 1pt; + width: 11em +} +.searchButton { + margin-left: 3px; + background: #EBEFF8; + color: #0050A0; + border: #BFCEE9 solid 1pt; + font-weight: bold; + font-size: 10pt +} + +.title, div.toc>p{ + font-weight: bold; + } + +p.breadcrumbs { + margin-bottom: 0px; + margin-top: 33px; +} + +p.breadcrumbs a { + padding-right: 12px; + margin-right: 5px; + text-decoration: none; + color: #575757; + text-transform: uppercase; + font-size: 10px; + background: url(../images/breadcrumb-arrow.png) no-repeat right center; +} + +p.breadcrumbs a:hover { + text-decoration: underline; +} + +#header h1 { + margin-top: 2px; +} + +table.navLinks { + margin-right: 20px; +} + +table.navLinks td a { + text-decoration: none; + text-transform: uppercase; + color: black; + font-size: 11px; +} + +a.navLinkPrevious { + padding-left: 12px; + background: url(../images/previous-arrow.png) no-repeat left center; +} + +a.navLinkNext { + padding-right: 12px; + background: url(../images/next-arrow.png) no-repeat right center; +} + +a#showHideButton { + padding-left: 20px; + background: url(../images/sidebar.png) no-repeat left center; +} + + +.legal, .legal *{ + color: #555; + text-align: center; + padding-bottom: 10px; +} + +.internal + { + color : #0000CC; + } + +.writeronly + { + color : red; + } + +.remark, .remark .added, .remark .changed, .remark .deleted{ + background: yellow; + } + +tr th, tr th .internal, tr th .added, tr th .changed + { + background: #00589E; + color: white; + font-weight: bold; + text-align: left; + } + + +.statustext{ + position:fixed; + top:100px; + width: 0%; + height: 0%; + opacity: .3; + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + white-space: nowrap; + color: red; + font-weight: bold; + font-size: 2em; + } + + +div.note *, div.caution *, div.important *, div.tip *, div.warning * { + background: inherit !important; + color: inherit !important; + border: inherit !important; +} + +#content table thead, #content table th{ + background: gray; + color: white; + font-weight: bold; +} + +#content table caption{ + font-weight: bold; +} + +#content table td, #content table { + border: 1px solid black; +} + +#content table td, #content table th { + padding: 5px; +} + +#content table { + margin-bottom: 20px; + +} + +*[align = 'center']{ + text-align: center; +} + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/ga.js b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/ga.js new file mode 100644 index 0000000000..d9ddf342f6 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/ga.js @@ -0,0 +1,18 @@ + +_gaq.push(['_trackPageview']); + +var disqus_config = function () + { + var config = this; + config.callbacks.onNewComment.push (function () + { + _gaq.push (['_trackEvent', 'Disqus', 'Comment', 'null', 1]); + }); + }; + +(function() { + var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; + ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; + var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); +})(); + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/Arrow_east.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/Arrow_east.png new file mode 100644 index 0000000000..3f1ed0df7b Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/Arrow_east.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/Check_mark_23x20_02.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/Check_mark_23x20_02.png new file mode 100644 index 0000000000..9ac9ea382d Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/Check_mark_23x20_02.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/admon/caution.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/admon/caution.png new file mode 100644 index 0000000000..38c054b285 Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/admon/caution.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/admon/important.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/admon/important.png new file mode 100644 index 0000000000..b45bfc0e23 Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/admon/important.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/admon/note.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/admon/note.png new file mode 100644 index 0000000000..672b8471e7 Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/admon/note.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/admon/tip.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/admon/tip.png new file mode 100644 index 0000000000..564e5c808f Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/admon/tip.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/admon/warning.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/admon/warning.png new file mode 100644 index 0000000000..7059d6062c Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/admon/warning.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/book_open.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/book_open.png new file mode 100644 index 0000000000..1086fbeb63 Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/book_open.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/breadcrumb-arrow-white.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/breadcrumb-arrow-white.png new file mode 100644 index 0000000000..7c0d42dec4 Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/breadcrumb-arrow-white.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/breadcrumb-arrow.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/breadcrumb-arrow.png new file mode 100644 index 0000000000..0b22b35fea Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/breadcrumb-arrow.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/1.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/1.png new file mode 100644 index 0000000000..de682c628f Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/1.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/10.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/10.png new file mode 100644 index 0000000000..96c6ce4527 Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/10.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/11.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/11.png new file mode 100644 index 0000000000..4550cb0972 Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/11.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/12.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/12.png new file mode 100644 index 0000000000..ef0f6350c5 Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/12.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/13.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/13.png new file mode 100644 index 0000000000..b4878f1a45 Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/13.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/14.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/14.png new file mode 100644 index 0000000000..a222d7bf8f Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/14.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/15.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/15.png new file mode 100644 index 0000000000..f6a76d5166 Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/15.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/16.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/16.png new file mode 100644 index 0000000000..c5ef6359af Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/16.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/17.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/17.png new file mode 100644 index 0000000000..85a2101e7c Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/17.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/18.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/18.png new file mode 100644 index 0000000000..7744d25746 Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/18.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/19.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/19.png new file mode 100644 index 0000000000..44bacf8a72 Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/19.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/2.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/2.png new file mode 100644 index 0000000000..24ec0f65e8 Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/2.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/20.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/20.png new file mode 100644 index 0000000000..5e100fe5da Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/20.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/21.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/21.png new file mode 100644 index 0000000000..c87e80a9d7 Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/21.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/22.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/22.png new file mode 100644 index 0000000000..20593a4ef3 Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/22.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/23.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/23.png new file mode 100644 index 0000000000..3909b9cd8f Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/23.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/24.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/24.png new file mode 100644 index 0000000000..963a9e770c Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/24.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/25.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/25.png new file mode 100644 index 0000000000..458a91990b Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/25.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/26.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/26.png new file mode 100644 index 0000000000..74b2507390 Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/26.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/27.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/27.png new file mode 100644 index 0000000000..611b8ce8e9 Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/27.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/28.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/28.png new file mode 100644 index 0000000000..6aa21af639 Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/28.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/29.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/29.png new file mode 100644 index 0000000000..6009b520bc Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/29.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/3.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/3.png new file mode 100644 index 0000000000..01cdff1dd9 Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/3.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/30.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/30.png new file mode 100644 index 0000000000..c4dc404bc1 Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/30.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/4.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/4.png new file mode 100644 index 0000000000..1e42fb376b Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/4.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/5.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/5.png new file mode 100644 index 0000000000..635e7f8162 Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/5.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/6.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/6.png new file mode 100644 index 0000000000..521aedde2c Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/6.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/7.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/7.png new file mode 100644 index 0000000000..0d4b876a8c Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/7.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/8.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/8.png new file mode 100644 index 0000000000..50fa94d16d Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/8.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/9.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/9.png new file mode 100644 index 0000000000..7190d5a9aa Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/callouts/9.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/cc/by-nc-nd.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/cc/by-nc-nd.png new file mode 100644 index 0000000000..25af3ebce2 Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/cc/by-nc-nd.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/cc/by-nc-sa.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/cc/by-nc-sa.png new file mode 100644 index 0000000000..146f5781fd Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/cc/by-nc-sa.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/cc/by-nc.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/cc/by-nc.png new file mode 100644 index 0000000000..4b3128521e Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/cc/by-nc.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/cc/by-nd.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/cc/by-nd.png new file mode 100644 index 0000000000..95cc47fb6c Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/cc/by-nd.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/cc/by-sa.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/cc/by-sa.png new file mode 100644 index 0000000000..2917834c30 Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/cc/by-sa.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/cc/by.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/cc/by.png new file mode 100644 index 0000000000..905983e8e8 Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/cc/by.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/favicon-openstack.ico b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/favicon-openstack.ico new file mode 100644 index 0000000000..f3b9bf9c44 Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/favicon-openstack.ico differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/favicon-rackspace.ico b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/favicon-rackspace.ico new file mode 100644 index 0000000000..28b2e318b8 Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/favicon-rackspace.ico differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/header-bg.gif b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/header-bg.gif new file mode 100644 index 0000000000..f9efa28022 Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/header-bg.gif differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/highlight-blue.gif b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/highlight-blue.gif new file mode 100644 index 0000000000..4fdabde692 Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/highlight-blue.gif differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/highlight-yellow.gif b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/highlight-yellow.gif new file mode 100644 index 0000000000..3e847e7e01 Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/highlight-yellow.gif differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/highlighter.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/highlighter.png new file mode 100644 index 0000000000..7d875fa9dc Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/highlighter.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/loading.gif b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/loading.gif new file mode 100644 index 0000000000..6a56815b22 Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/loading.gif differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/logo.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/logo.png new file mode 100644 index 0000000000..b111258c0c Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/logo.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/main_bg_fade.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/main_bg_fade.png new file mode 100644 index 0000000000..9423ed4d5f Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/main_bg_fade.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/next-arrow.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/next-arrow.png new file mode 100644 index 0000000000..db595f465d Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/next-arrow.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/openstack-logo.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/openstack-logo.png new file mode 100644 index 0000000000..c08a93ca69 Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/openstack-logo.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/page_white_text.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/page_white_text.png new file mode 100644 index 0000000000..6a890d57d4 Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/page_white_text.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/pdf.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/pdf.png new file mode 100644 index 0000000000..9870362083 Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/pdf.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/previous-arrow.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/previous-arrow.png new file mode 100644 index 0000000000..347bc53474 Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/previous-arrow.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/rackspace-logo.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/rackspace-logo.png new file mode 100644 index 0000000000..dbb473b268 Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/rackspace-logo.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/search-icon.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/search-icon.png new file mode 100644 index 0000000000..dfd5bb9f9e Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/search-icon.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/showHideTreeIcons.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/showHideTreeIcons.png new file mode 100644 index 0000000000..c1ec1f96a4 Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/showHideTreeIcons.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/sidebar.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/sidebar.png new file mode 100644 index 0000000000..5492671871 Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/sidebar.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/toc-icon.png b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/toc-icon.png new file mode 100644 index 0000000000..2eb88d26b2 Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/images/toc-icon.png differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/jquery/jquery-1.4.2.min.js b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/jquery/jquery-1.4.2.min.js new file mode 100644 index 0000000000..7c24308023 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/jquery/jquery-1.4.2.min.js @@ -0,0 +1,154 @@ +/*! + * jQuery JavaScript Library v1.4.2 + * http://jquery.com/ + * + * Copyright 2010, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2010, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Sat Feb 13 22:33:48 2010 -0500 + */ +(function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/, +Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&& +(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this, +a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b=== +"find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this, +function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b
a"; +var e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected, +parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent= +false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML="";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none"});a=function(k){var n= +s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embed:true,object:true, +applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w)return null;f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b)}else if(!e[f]){a[G]=f;e[f]={}}a=e[f];if(d!==w)a[b]=d;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{if(c.support.deleteExpando)delete a[c.expando]; +else a.removeAttribute&&a.removeAttribute(c.expando);delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length)f=c.data(this[0],a);return f===w&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this, +a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b=== +w)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var Aa=/[\n\t]/g,ca=/\s+/,Za=/\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|input|object|select|textarea)/i, +cb=/^(a|area)$/i,Ba=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(n){var r=c(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d-1)return true;return false},val:function(a){if(a===w){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var j=b?d:0;for(d=b?d+1:e.length;j=0;else if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",this).each(function(){this.selected= +c.inArray(c(this).val(),u)>=0});if(!u.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return w;if(f&&b in c.attrFn)return c(a)[b](d);f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed"); +a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var O=/\.(.*)$/,db=function(a){return a.replace(/[^\w\s\.\|`]/g, +function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==A&&!a.frameElement)a=A;var e,j;if(d.handler){e=d;d=e.handler}if(!d.guid)d.guid=c.guid++;if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o)j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w};o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1){r=k.split("."); +k=r.shift();j.namespace=r.slice(0).sort().join(".")}else{r=[];j.namespace=""}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false)if(a.addEventListener)a.addEventListener(k,o,false);else a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.handler.guid)j.handler.guid=d.guid}u.push(j);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n,r,u,z=c.data(a), +C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C)c.event.remove(a,e+b)}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(r=C[e])if(d){n=c.event.special[e]||{};for(B=f||0;B=0){a.type= +e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return w;a.result=w;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(j){}if(!a.isPropagationStopped()&& +f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e])f["on"+e]=null;c.event.triggered=true;f[e]()}}catch(n){}if(i)f["on"+e]=i;c.event.triggered=false}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive; +if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data", +e);if(!(f===w||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return fa.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return fa.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a, +"_change_data",Fa(a))}},setup:function(){if(this.type==="file")return false;for(var a in ea)c.event.add(this,a+".specialChange",ea[a]);return da.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName)}};ea=c.event.special.change.filters}s.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,f)}c.event.special[b]={setup:function(){this.addEventListener(a, +d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var j in d)this[b](j,f,d[j],e);return this}if(c.isFunction(f)){e=f;f=w}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments)}):e;if(d==="unload"&&b!=="one")this.one(d,f,e);else{j=0;for(var o=this.length;j0){y=t;break}}t=t[g]}m[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, +e=0,j=Object.prototype.toString,i=false,o=true;[0,0].sort(function(){o=false;return 0});var k=function(g,h,l,m){l=l||[];var q=h=h||s;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||typeof g!=="string")return l;for(var p=[],v,t,y,S,H=true,M=x(h),I=g;(f.exec(""),v=f.exec(I))!==null;){I=v[3];p.push(v[1]);if(v[2]){S=v[3];break}}if(p.length>1&&r.exec(g))if(p.length===2&&n.relative[p[0]])t=ga(p[0]+p[1],h);else for(t=n.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=p.shift();if(n.relative[g])g+=p.shift(); +t=ga(g,t)}else{if(!m&&p.length>1&&h.nodeType===9&&!M&&n.match.ID.test(p[0])&&!n.match.ID.test(p[p.length-1])){v=k.find(p.shift(),h,M);h=v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=m?{expr:p.pop(),set:z(m)}:k.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=v.expr?k.filter(v.expr,v.set):v.set;if(p.length>0)y=z(t);else H=false;for(;p.length;){var D=p.pop();v=D;if(n.relative[D])v=p.pop();else D="";if(v==null)v=h;n.relative[D](y,v,M)}}else y=[]}y||(y=t);y||k.error(D|| +g);if(j.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))l.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&l.push(t[g]);else l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return l};k.uniqueSort=function(g){if(B){i=o;g.sort(B);if(i)for(var h=1;h":function(g,h){var l=typeof h==="string";if(l&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m=0))l||m.push(v);else if(l)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()}, +CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m, +g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)}, +text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}}, +setFilters:{first:function(g,h){return h===0},last:function(g,h,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return hl[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h= +h[3];l=0;for(m=h.length;l=0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m=== +"="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,function(g, +h){return"\\"+(h-0+1)}))}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&& +q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTML=""; +if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="

";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l];h=null}}(); +(function(){var g=s.createElement("div");g.innerHTML="
";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPosition(h)&16)}: +function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f0)for(var j=d;j0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,j= +{},i;if(f&&a.length){e=0;for(var o=a.length;e-1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.parentNode}return null})},index:function(a){if(!a||typeof a=== +"string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode", +d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")? +a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeType!==1||!c(a).is(d));){a.nodeType=== +1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/"},F={option:[1,""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div
","
"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d= +c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this}, +wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})}, +prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b, +this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild); +return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja, +""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);try{for(var b=0,d=this.length;b0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]); +return this}else{e=0;for(var j=d.length;e0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["", +""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]===""&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes}if(i.nodeType)e.push(i);else e= +c.merge(e,i)}}if(d)for(j=0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript"))f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j])}return e},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++)if(d=o[c.expando]){b=f[d];if(b.events)for(var k in b.events)e[k]? +c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\([^)]*\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\d+(?:px)?$/i,nb=/^-?\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styleFloat",ja= +function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!kb.test(f))e+="px";c.style(d,f,e)})};c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return w;if((b==="width"||b==="height")&&parseFloat(d)<0)d=w;var f=a.style||a,e=d!==w;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter= +Na.test(a)?a.replace(Na,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":""}if(ha.test(b))b=Pa;b=b.replace(ia,ja);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a, +"border"+this+"Width",true))||0})}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f= +a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b= +a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var sb=J(),tb=//gi,ub=/select|textarea/i,vb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ka=/\?/,wb=/(\?|&)_=.*?(&|$)/,xb=/^(\w+:)?\/\/([^\/?#]+)/,yb=/%20/g,zb=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!== +"string")return zb.call(this,a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);f="POST"}var j=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,o){if(o==="success"||o==="notmodified")j.html(e?c("
").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.each(d,[i.responseText,o,i])}});return this}, +serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ub.test(this.nodeName)||vb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), +function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href, +global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest}:function(){try{return new A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&& +e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),j,i,o,k=a&&a.context||e,n=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(n==="GET")N.test(e.url)||(e.url+=(ka.test(e.url)? +"&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||N.test(e.url))){j=e.jsonpCallback||"jsonp"+sb++;if(e.data)e.data=(e.data+"").replace(N,"="+j+"$1");e.url=e.url.replace(N,"="+j+"$1");e.dataType="script";A[j]=A[j]||function(q){o=q;b();d();A[j]=w;try{delete A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache=== +false&&n==="GET"){var r=J(),u=e.url.replace(wb,"$1_="+r+"$2");e.url=u+(u===e.url?(ka.test(e.url)?"&":"?")+"_="+r:"")}if(e.data&&n==="GET")e.url+=(ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("ajaxStart");r=(r=xb.exec(e.url))&&(r[1]&&r[1]!==location.protocol||r[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&r){var z=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");C.src=e.url;if(e.scriptCharset)C.charset=e.scriptCharset;if(!j){var B= +false;C.onload=C.onreadystatechange=function(){if(!B&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){B=true;b();d();C.onload=C.onreadystatechange=null;z&&C.parentNode&&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var E=false,x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&x.setRequestHeader("If-Modified-Since", +c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,x,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.abort();return false}e.global&&f("ajaxSend",[x,e]);var g=x.onreadystatechange=function(q){if(!x||x.readyState===0||q==="abort"){E|| +d();E=true;if(x)x.onreadystatechange=c.noop}else if(!E&&x&&(x.readyState===4||q==="timeout")){E=true;x.onreadystatechange=c.noop;i=q==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";var p;if(i==="success")try{o=c.httpData(x,e.dataType,e)}catch(v){i="parsererror";p=v}if(i==="success"||i==="notmodified")j||b();else c.handleError(e,x,i,p);d();q==="timeout"&&x.abort();if(e.async)x=null}};try{var h=x.abort;x.abort=function(){x&&h.call(x); +g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&g("timeout")},e.timeout);try{x.send(n==="POST"||n==="PUT"||n==="DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.async||g();return x}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status=== +1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b=== +"json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d(i+"["+(typeof n==="object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=null&&typeof o==="object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}function f(i,o){o=c.isFunction(o)?o():o;e[e.length]=encodeURIComponent(i)+"="+encodeURIComponent(o)}var e=[];if(b===w)b=c.ajaxSettings.traditional; +if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var la={},Ab=/toggle|show|hide/,Bb=/^([+-]=)?([\d+-.]+)(.*)$/,W,va=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();la[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration=== +"number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]|| +c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(j){return e.step(j)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start; +this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now= +this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem, +e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b
"; +a.insertBefore(b,a.firstChild);d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==j;a.removeChild(b); +c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),j=parseInt(c.curCSS(a,"top",true),10)||0,i=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a, +d,e);d={top:b.top-e.top+j,left:b.left-e.left+i};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top- +f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||s.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],j;if(!e)return null;if(f!==w)return this.each(function(){if(j=wa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?f:c(j).scrollTop());else this[d]=f});else return(j=wa(e))?"pageXOffset"in j?j[a?"pageYOffset": +"pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.document.body[d]:e[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(j){var i=c(this);i[d](f.call(this,j,i[d]()))});return"scrollTo"in +e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});A.jQuery=A.$=c})(window); diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/jquery/jquery-ui-1.8.2.custom.min.js b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/jquery/jquery-ui-1.8.2.custom.min.js new file mode 100644 index 0000000000..fec53e8e08 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/jquery/jquery-ui-1.8.2.custom.min.js @@ -0,0 +1,321 @@ +/*! + * jQuery UI 1.8.2 + * + * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI + */ +(function(c){c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.2",plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&&a.element[0].parentNode)for(var e=0;e0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a=0)&&c(a).is(":focusable")}})}})(jQuery); +;/*! + * jQuery UI Widget 1.8.2 + * + * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Widget + */ +(function(b){var j=b.fn.remove;b.fn.remove=function(a,c){return this.each(function(){if(!c)if(!a||b.filter(a,[this]).length)b("*",this).add(this).each(function(){b(this).triggerHandler("remove")});return j.call(b(this),a,c)})};b.widget=function(a,c,d){var e=a.split(".")[0],f;a=a.split(".")[1];f=e+"-"+a;if(!d){d=c;c=b.Widget}b.expr[":"][f]=function(h){return!!b.data(h,a)};b[e]=b[e]||{};b[e][a]=function(h,g){arguments.length&&this._createWidget(h,g)};c=new c;c.options=b.extend({},c.options);b[e][a].prototype= +b.extend(true,c,{namespace:e,widgetName:a,widgetEventPrefix:b[e][a].prototype.widgetEventPrefix||a,widgetBaseClass:f},d);b.widget.bridge(a,b[e][a])};b.widget.bridge=function(a,c){b.fn[a]=function(d){var e=typeof d==="string",f=Array.prototype.slice.call(arguments,1),h=this;d=!e&&f.length?b.extend.apply(null,[true,d].concat(f)):d;if(e&&d.substring(0,1)==="_")return h;e?this.each(function(){var g=b.data(this,a),i=g&&b.isFunction(g[d])?g[d].apply(g,f):g;if(i!==g&&i!==undefined){h=i;return false}}):this.each(function(){var g= +b.data(this,a);if(g){d&&g.option(d);g._init()}else b.data(this,a,new c(d,this))});return h}};b.Widget=function(a,c){arguments.length&&this._createWidget(a,c)};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(a,c){this.element=b(c).data(this.widgetName,this);this.options=b.extend(true,{},this.options,b.metadata&&b.metadata.get(c)[this.widgetName],a);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()});this._create(); +this._init()},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(a,c){var d=a,e=this;if(arguments.length===0)return b.extend({},e.options);if(typeof a==="string"){if(c===undefined)return this.options[a];d={};d[a]=c}b.each(d,function(f, +h){e._setOption(f,h)});return e},_setOption:function(a,c){this.options[a]=c;if(a==="disabled")this.widget()[c?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",c);return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(a,c,d){var e=this.options[a];c=b.Event(c);c.type=(a===this.widgetEventPrefix?a:this.widgetEventPrefix+a).toLowerCase();d=d||{};if(c.originalEvent){a= +b.event.props.length;for(var f;a;){f=b.event.props[--a];c[f]=c.originalEvent[f]}}this.element.trigger(c,d);return!(b.isFunction(e)&&e.call(this.element[0],c,d)===false||c.isDefaultPrevented())}}})(jQuery); +;/*! + * jQuery UI Mouse 1.8.2 + * + * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Mouse + * + * Depends: + * jquery.ui.widget.js + */ +(function(c){c.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var a=this;this.element.bind("mousedown."+this.widgetName,function(b){return a._mouseDown(b)}).bind("click."+this.widgetName,function(b){if(a._preventClickEvent){a._preventClickEvent=false;b.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(a){a.originalEvent=a.originalEvent||{};if(!a.originalEvent.mouseHandled){this._mouseStarted&& +this._mouseUp(a);this._mouseDownEvent=a;var b=this,e=a.which==1,f=typeof this.options.cancel=="string"?c(a.target).parents().add(a.target).filter(this.options.cancel).length:false;if(!e||f||!this._mouseCapture(a))return true;this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet)this._mouseDelayTimer=setTimeout(function(){b.mouseDelayMet=true},this.options.delay);if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a)){this._mouseStarted=this._mouseStart(a)!==false;if(!this._mouseStarted){a.preventDefault(); +return true}}this._mouseMoveDelegate=function(d){return b._mouseMove(d)};this._mouseUpDelegate=function(d){return b._mouseUp(d)};c(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);c.browser.safari||a.preventDefault();return a.originalEvent.mouseHandled=true}},_mouseMove:function(a){if(c.browser.msie&&!a.button)return this._mouseUp(a);if(this._mouseStarted){this._mouseDrag(a);return a.preventDefault()}if(this._mouseDistanceMet(a)&& +this._mouseDelayMet(a))(this._mouseStarted=this._mouseStart(this._mouseDownEvent,a)!==false)?this._mouseDrag(a):this._mouseUp(a);return!this._mouseStarted},_mouseUp:function(a){c(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._preventClickEvent=a.target==this._mouseDownEvent.target;this._mouseStop(a)}return false},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX- +a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return true}})})(jQuery); +;/* + * jQuery UI Position 1.8.2 + * + * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Position + */ +(function(c){c.ui=c.ui||{};var m=/left|center|right/,n=/top|center|bottom/,p=c.fn.position,q=c.fn.offset;c.fn.position=function(a){if(!a||!a.of)return p.apply(this,arguments);a=c.extend({},a);var b=c(a.of),d=(a.collision||"flip").split(" "),e=a.offset?a.offset.split(" "):[0,0],g,h,i;if(a.of.nodeType===9){g=b.width();h=b.height();i={top:0,left:0}}else if(a.of.scrollTo&&a.of.document){g=b.width();h=b.height();i={top:b.scrollTop(),left:b.scrollLeft()}}else if(a.of.preventDefault){a.at="left top";g=h= +0;i={top:a.of.pageY,left:a.of.pageX}}else{g=b.outerWidth();h=b.outerHeight();i=b.offset()}c.each(["my","at"],function(){var f=(a[this]||"").split(" ");if(f.length===1)f=m.test(f[0])?f.concat(["center"]):n.test(f[0])?["center"].concat(f):["center","center"];f[0]=m.test(f[0])?f[0]:"center";f[1]=n.test(f[1])?f[1]:"center";a[this]=f});if(d.length===1)d[1]=d[0];e[0]=parseInt(e[0],10)||0;if(e.length===1)e[1]=e[0];e[1]=parseInt(e[1],10)||0;if(a.at[0]==="right")i.left+=g;else if(a.at[0]==="center")i.left+= +g/2;if(a.at[1]==="bottom")i.top+=h;else if(a.at[1]==="center")i.top+=h/2;i.left+=e[0];i.top+=e[1];return this.each(function(){var f=c(this),k=f.outerWidth(),l=f.outerHeight(),j=c.extend({},i);if(a.my[0]==="right")j.left-=k;else if(a.my[0]==="center")j.left-=k/2;if(a.my[1]==="bottom")j.top-=l;else if(a.my[1]==="center")j.top-=l/2;j.left=parseInt(j.left);j.top=parseInt(j.top);c.each(["left","top"],function(o,r){c.ui.position[d[o]]&&c.ui.position[d[o]][r](j,{targetWidth:g,targetHeight:h,elemWidth:k, +elemHeight:l,offset:e,my:a.my,at:a.at})});c.fn.bgiframe&&f.bgiframe();f.offset(c.extend(j,{using:a.using}))})};c.ui.position={fit:{left:function(a,b){var d=c(window);b=a.left+b.elemWidth-d.width()-d.scrollLeft();a.left=b>0?a.left-b:Math.max(0,a.left)},top:function(a,b){var d=c(window);b=a.top+b.elemHeight-d.height()-d.scrollTop();a.top=b>0?a.top-b:Math.max(0,a.top)}},flip:{left:function(a,b){if(b.at[0]!=="center"){var d=c(window);d=a.left+b.elemWidth-d.width()-d.scrollLeft();var e=b.my[0]==="left"? +-b.elemWidth:b.my[0]==="right"?b.elemWidth:0,g=-2*b.offset[0];a.left+=a.left<0?e+b.targetWidth+g:d>0?e-b.targetWidth+g:0}},top:function(a,b){if(b.at[1]!=="center"){var d=c(window);d=a.top+b.elemHeight-d.height()-d.scrollTop();var e=b.my[1]==="top"?-b.elemHeight:b.my[1]==="bottom"?b.elemHeight:0,g=b.at[1]==="top"?b.targetHeight:-b.targetHeight,h=-2*b.offset[1];a.top+=a.top<0?e+b.targetHeight+h:d>0?e+g+h:0}}}};if(!c.offset.setOffset){c.offset.setOffset=function(a,b){if(/static/.test(c.curCSS(a,"position")))a.style.position= +"relative";var d=c(a),e=d.offset(),g=parseInt(c.curCSS(a,"top",true),10)||0,h=parseInt(c.curCSS(a,"left",true),10)||0;e={top:b.top-e.top+g,left:b.left-e.left+h};"using"in b?b.using.call(a,e):d.css(e)};c.fn.offset=function(a){var b=this[0];if(!b||!b.ownerDocument)return null;if(a)return this.each(function(){c.offset.setOffset(this,a)});return q.call(this)}}})(jQuery); +;/* + * jQuery UI Resizable 1.8.2 + * + * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Resizables + * + * Depends: + * jquery.ui.core.js + * jquery.ui.mouse.js + * jquery.ui.widget.js + */ +(function(d){d.widget("ui.resizable",d.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1E3},_create:function(){var b=this,a=this.options;this.element.addClass("ui-resizable");d.extend(this,{_aspectRatio:!!a.aspectRatio,aspectRatio:a.aspectRatio,originalElement:this.element, +_proportionallyResizeElements:[],_helper:a.helper||a.ghost||a.animate?a.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){/relative/.test(this.element.css("position"))&&d.browser.opera&&this.element.css({position:"relative",top:"auto",left:"auto"});this.element.wrap(d('
').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(), +top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle= +this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=a.handles||(!d(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne", +nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all")this.handles="n,e,s,w,se,sw,ne,nw";var c=this.handles.split(",");this.handles={};for(var e=0;e');/sw|se|ne|nw/.test(g)&&f.css({zIndex:++a.zIndex});"se"==g&&f.addClass("ui-icon ui-icon-gripsmall-diagonal-se");this.handles[g]=".ui-resizable-"+g;this.element.append(f)}}this._renderAxis=function(h){h=h||this.element;for(var i in this.handles){if(this.handles[i].constructor== +String)this.handles[i]=d(this.handles[i],this.element).show();if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var j=d(this.handles[i],this.element),l=0;l=/sw|ne|nw|se|n|s/.test(i)?j.outerHeight():j.outerWidth();j=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join("");h.css(j,l);this._proportionallyResize()}d(this.handles[i])}};this._renderAxis(this.element);this._handles=d(".ui-resizable-handle",this.element).disableSelection(); +this._handles.mouseover(function(){if(!b.resizing){if(this.className)var h=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);b.axis=h&&h[1]?h[1]:"se"}});if(a.autoHide){this._handles.hide();d(this.element).addClass("ui-resizable-autohide").hover(function(){d(this).removeClass("ui-resizable-autohide");b._handles.show()},function(){if(!b.resizing){d(this).addClass("ui-resizable-autohide");b._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var b=function(c){d(c).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()}; +if(this.elementIsWrapper){b(this.element);var a=this.element;a.after(this.originalElement.css({position:a.css("position"),width:a.outerWidth(),height:a.outerHeight(),top:a.css("top"),left:a.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);b(this.originalElement);return this},_mouseCapture:function(b){var a=false;for(var c in this.handles)if(d(this.handles[c])[0]==b.target)a=true;return!this.options.disabled&&a},_mouseStart:function(b){var a=this.options,c=this.element.position(), +e=this.element;this.resizing=true;this.documentScroll={top:d(document).scrollTop(),left:d(document).scrollLeft()};if(e.is(".ui-draggable")||/absolute/.test(e.css("position")))e.css({position:"absolute",top:c.top,left:c.left});d.browser.opera&&/relative/.test(e.css("position"))&&e.css({position:"relative",top:"auto",left:"auto"});this._renderProxy();c=m(this.helper.css("left"));var g=m(this.helper.css("top"));if(a.containment){c+=d(a.containment).scrollLeft()||0;g+=d(a.containment).scrollTop()||0}this.offset= +this.helper.offset();this.position={left:c,top:g};this.size=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalSize=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalPosition={left:c,top:g};this.sizeDiff={width:e.outerWidth()-e.width(),height:e.outerHeight()-e.height()};this.originalMousePosition={left:b.pageX,top:b.pageY};this.aspectRatio=typeof a.aspectRatio=="number"?a.aspectRatio: +this.originalSize.width/this.originalSize.height||1;a=d(".ui-resizable-"+this.axis).css("cursor");d("body").css("cursor",a=="auto"?this.axis+"-resize":a);e.addClass("ui-resizable-resizing");this._propagate("start",b);return true},_mouseDrag:function(b){var a=this.helper,c=this.originalMousePosition,e=this._change[this.axis];if(!e)return false;c=e.apply(this,[b,b.pageX-c.left||0,b.pageY-c.top||0]);if(this._aspectRatio||b.shiftKey)c=this._updateRatio(c,b);c=this._respectSize(c,b);this._propagate("resize", +b);a.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize();this._updateCache(c);this._trigger("resize",b,this.ui());return false},_mouseStop:function(b){this.resizing=false;var a=this.options,c=this;if(this._helper){var e=this._proportionallyResizeElements,g=e.length&&/textarea/i.test(e[0].nodeName);e=g&&d.ui.hasScroll(e[0],"left")?0:c.sizeDiff.height; +g={width:c.size.width-(g?0:c.sizeDiff.width),height:c.size.height-e};e=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null;var f=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null;a.animate||this.element.css(d.extend(g,{top:f,left:e}));c.helper.height(c.size.height);c.helper.width(c.size.width);this._helper&&!a.animate&&this._proportionallyResize()}d("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop", +b);this._helper&&this.helper.remove();return false},_updateCache:function(b){this.offset=this.helper.offset();if(k(b.left))this.position.left=b.left;if(k(b.top))this.position.top=b.top;if(k(b.height))this.size.height=b.height;if(k(b.width))this.size.width=b.width},_updateRatio:function(b){var a=this.position,c=this.size,e=this.axis;if(b.height)b.width=c.height*this.aspectRatio;else if(b.width)b.height=c.width/this.aspectRatio;if(e=="sw"){b.left=a.left+(c.width-b.width);b.top=null}if(e=="nw"){b.top= +a.top+(c.height-b.height);b.left=a.left+(c.width-b.width)}return b},_respectSize:function(b){var a=this.options,c=this.axis,e=k(b.width)&&a.maxWidth&&a.maxWidthb.width,h=k(b.height)&&a.minHeight&&a.minHeight>b.height;if(f)b.width=a.minWidth;if(h)b.height=a.minHeight;if(e)b.width=a.maxWidth;if(g)b.height=a.maxHeight;var i=this.originalPosition.left+this.originalSize.width,j=this.position.top+this.size.height, +l=/sw|nw|w/.test(c);c=/nw|ne|n/.test(c);if(f&&l)b.left=i-a.minWidth;if(e&&l)b.left=i-a.maxWidth;if(h&&c)b.top=j-a.minHeight;if(g&&c)b.top=j-a.maxHeight;if((a=!b.width&&!b.height)&&!b.left&&b.top)b.top=null;else if(a&&!b.top&&b.left)b.left=null;return b},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var b=this.helper||this.element,a=0;a');var a=d.browser.msie&&d.browser.version<7,c=a?1:0;a=a?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+a,height:this.element.outerHeight()+a,position:"absolute",left:this.elementOffset.left-c+"px",top:this.elementOffset.top-c+"px",zIndex:++b.zIndex});this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(b,a){return{width:this.originalSize.width+ +a}},w:function(b,a){return{left:this.originalPosition.left+a,width:this.originalSize.width-a}},n:function(b,a,c){return{top:this.originalPosition.top+c,height:this.originalSize.height-c}},s:function(b,a,c){return{height:this.originalSize.height+c}},se:function(b,a,c){return d.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},sw:function(b,a,c){return d.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,a,c]))},ne:function(b,a,c){return d.extend(this._change.n.apply(this, +arguments),this._change.e.apply(this,[b,a,c]))},nw:function(b,a,c){return d.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,a,c]))}},_propagate:function(b,a){d.ui.plugin.call(this,b,[a,this.ui()]);b!="resize"&&this._trigger(b,a,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});d.extend(d.ui.resizable, +{version:"1.8.2"});d.ui.plugin.add("resizable","alsoResize",{start:function(){var b=d(this).data("resizable").options,a=function(c){d(c).each(function(){d(this).data("resizable-alsoresize",{width:parseInt(d(this).width(),10),height:parseInt(d(this).height(),10),left:parseInt(d(this).css("left"),10),top:parseInt(d(this).css("top"),10)})})};if(typeof b.alsoResize=="object"&&!b.alsoResize.parentNode)if(b.alsoResize.length){b.alsoResize=b.alsoResize[0];a(b.alsoResize)}else d.each(b.alsoResize,function(c){a(c)}); +else a(b.alsoResize)},resize:function(){var b=d(this).data("resizable"),a=b.options,c=b.originalSize,e=b.originalPosition,g={height:b.size.height-c.height||0,width:b.size.width-c.width||0,top:b.position.top-e.top||0,left:b.position.left-e.left||0},f=function(h,i){d(h).each(function(){var j=d(this),l=d(this).data("resizable-alsoresize"),p={};d.each((i&&i.length?i:["width","height","top","left"])||["width","height","top","left"],function(n,o){if((n=(l[o]||0)+(g[o]||0))&&n>=0)p[o]=n||null});if(/relative/.test(j.css("position"))&& +d.browser.opera){b._revertToRelativePosition=true;j.css({position:"absolute",top:"auto",left:"auto"})}j.css(p)})};typeof a.alsoResize=="object"&&!a.alsoResize.nodeType?d.each(a.alsoResize,function(h,i){f(h,i)}):f(a.alsoResize)},stop:function(){var b=d(this).data("resizable");if(b._revertToRelativePosition&&d.browser.opera){b._revertToRelativePosition=false;el.css({position:"relative"})}d(this).removeData("resizable-alsoresize-start")}});d.ui.plugin.add("resizable","animate",{stop:function(b){var a= +d(this).data("resizable"),c=a.options,e=a._proportionallyResizeElements,g=e.length&&/textarea/i.test(e[0].nodeName),f=g&&d.ui.hasScroll(e[0],"left")?0:a.sizeDiff.height;g={width:a.size.width-(g?0:a.sizeDiff.width),height:a.size.height-f};f=parseInt(a.element.css("left"),10)+(a.position.left-a.originalPosition.left)||null;var h=parseInt(a.element.css("top"),10)+(a.position.top-a.originalPosition.top)||null;a.element.animate(d.extend(g,h&&f?{top:h,left:f}:{}),{duration:c.animateDuration,easing:c.animateEasing, +step:function(){var i={width:parseInt(a.element.css("width"),10),height:parseInt(a.element.css("height"),10),top:parseInt(a.element.css("top"),10),left:parseInt(a.element.css("left"),10)};e&&e.length&&d(e[0]).css({width:i.width,height:i.height});a._updateCache(i);a._propagate("resize",b)}})}});d.ui.plugin.add("resizable","containment",{start:function(){var b=d(this).data("resizable"),a=b.element,c=b.options.containment;if(a=c instanceof d?c.get(0):/parent/.test(c)?a.parent().get(0):c){b.containerElement= +d(a);if(/document/.test(c)||c==document){b.containerOffset={left:0,top:0};b.containerPosition={left:0,top:0};b.parentData={element:d(document),left:0,top:0,width:d(document).width(),height:d(document).height()||document.body.parentNode.scrollHeight}}else{var e=d(a),g=[];d(["Top","Right","Left","Bottom"]).each(function(i,j){g[i]=m(e.css("padding"+j))});b.containerOffset=e.offset();b.containerPosition=e.position();b.containerSize={height:e.innerHeight()-g[3],width:e.innerWidth()-g[1]};c=b.containerOffset; +var f=b.containerSize.height,h=b.containerSize.width;h=d.ui.hasScroll(a,"left")?a.scrollWidth:h;f=d.ui.hasScroll(a)?a.scrollHeight:f;b.parentData={element:a,left:c.left,top:c.top,width:h,height:f}}}},resize:function(b){var a=d(this).data("resizable"),c=a.options,e=a.containerOffset,g=a.position;b=a._aspectRatio||b.shiftKey;var f={top:0,left:0},h=a.containerElement;if(h[0]!=document&&/static/.test(h.css("position")))f=e;if(g.left<(a._helper?e.left:0)){a.size.width+=a._helper?a.position.left-e.left: +a.position.left-f.left;if(b)a.size.height=a.size.width/c.aspectRatio;a.position.left=c.helper?e.left:0}if(g.top<(a._helper?e.top:0)){a.size.height+=a._helper?a.position.top-e.top:a.position.top;if(b)a.size.width=a.size.height*c.aspectRatio;a.position.top=a._helper?e.top:0}a.offset.left=a.parentData.left+a.position.left;a.offset.top=a.parentData.top+a.position.top;c=Math.abs((a._helper?a.offset.left-f.left:a.offset.left-f.left)+a.sizeDiff.width);e=Math.abs((a._helper?a.offset.top-f.top:a.offset.top- +e.top)+a.sizeDiff.height);g=a.containerElement.get(0)==a.element.parent().get(0);f=/relative|absolute/.test(a.containerElement.css("position"));if(g&&f)c-=a.parentData.left;if(c+a.size.width>=a.parentData.width){a.size.width=a.parentData.width-c;if(b)a.size.height=a.size.width/a.aspectRatio}if(e+a.size.height>=a.parentData.height){a.size.height=a.parentData.height-e;if(b)a.size.width=a.size.height*a.aspectRatio}},stop:function(){var b=d(this).data("resizable"),a=b.options,c=b.containerOffset,e=b.containerPosition, +g=b.containerElement,f=d(b.helper),h=f.offset(),i=f.outerWidth()-b.sizeDiff.width;f=f.outerHeight()-b.sizeDiff.height;b._helper&&!a.animate&&/relative/.test(g.css("position"))&&d(this).css({left:h.left-e.left-c.left,width:i,height:f});b._helper&&!a.animate&&/static/.test(g.css("position"))&&d(this).css({left:h.left-e.left-c.left,width:i,height:f})}});d.ui.plugin.add("resizable","ghost",{start:function(){var b=d(this).data("resizable"),a=b.options,c=b.size;b.ghost=b.originalElement.clone();b.ghost.css({opacity:0.25, +display:"block",position:"relative",height:c.height,width:c.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof a.ghost=="string"?a.ghost:"");b.ghost.appendTo(b.helper)},resize:function(){var b=d(this).data("resizable");b.ghost&&b.ghost.css({position:"relative",height:b.size.height,width:b.size.width})},stop:function(){var b=d(this).data("resizable");b.ghost&&b.helper&&b.helper.get(0).removeChild(b.ghost.get(0))}});d.ui.plugin.add("resizable","grid",{resize:function(){var b= +d(this).data("resizable"),a=b.options,c=b.size,e=b.originalSize,g=b.originalPosition,f=b.axis;a.grid=typeof a.grid=="number"?[a.grid,a.grid]:a.grid;var h=Math.round((c.width-e.width)/(a.grid[0]||1))*(a.grid[0]||1);a=Math.round((c.height-e.height)/(a.grid[1]||1))*(a.grid[1]||1);if(/^(se|s|e)$/.test(f)){b.size.width=e.width+h;b.size.height=e.height+a}else if(/^(ne)$/.test(f)){b.size.width=e.width+h;b.size.height=e.height+a;b.position.top=g.top-a}else{if(/^(sw)$/.test(f)){b.size.width=e.width+h;b.size.height= +e.height+a}else{b.size.width=e.width+h;b.size.height=e.height+a;b.position.top=g.top-a}b.position.left=g.left-h}}});var m=function(b){return parseInt(b,10)||0},k=function(b){return!isNaN(parseInt(b,10))}})(jQuery); +; +/* + * jQuery UI Selectable 1.8.2 + * + * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Selectables + * + * Depends: + * jquery.ui.core.js + * jquery.ui.mouse.js + * jquery.ui.widget.js + */ +(function(e){e.widget("ui.selectable",e.ui.mouse,{options:{appendTo:"body",autoRefresh:true,distance:0,filter:"*",tolerance:"touch"},_create:function(){var c=this;this.element.addClass("ui-selectable");this.dragged=false;var f;this.refresh=function(){f=e(c.options.filter,c.element[0]);f.each(function(){var d=e(this),b=d.offset();e.data(this,"selectable-item",{element:this,$element:d,left:b.left,top:b.top,right:b.left+d.outerWidth(),bottom:b.top+d.outerHeight(),startselected:false,selected:d.hasClass("ui-selected"), +selecting:d.hasClass("ui-selecting"),unselecting:d.hasClass("ui-unselecting")})})};this.refresh();this.selectees=f.addClass("ui-selectee");this._mouseInit();this.helper=e("
")},destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item");this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable");this._mouseDestroy();return this},_mouseStart:function(c){var f=this;this.opos=[c.pageX, +c.pageY];if(!this.options.disabled){var d=this.options;this.selectees=e(d.filter,this.element[0]);this._trigger("start",c);e(d.appendTo).append(this.helper);this.helper.css({"z-index":100,position:"absolute",left:c.clientX,top:c.clientY,width:0,height:0});d.autoRefresh&&this.refresh();this.selectees.filter(".ui-selected").each(function(){var b=e.data(this,"selectable-item");b.startselected=true;if(!c.metaKey){b.$element.removeClass("ui-selected");b.selected=false;b.$element.addClass("ui-unselecting"); +b.unselecting=true;f._trigger("unselecting",c,{unselecting:b.element})}});e(c.target).parents().andSelf().each(function(){var b=e.data(this,"selectable-item");if(b){var g=!c.metaKey||!b.$element.hasClass("ui-selected");b.$element.removeClass(g?"ui-unselecting":"ui-selected").addClass(g?"ui-selecting":"ui-unselecting");b.unselecting=!g;b.selecting=g;(b.selected=g)?f._trigger("selecting",c,{selecting:b.element}):f._trigger("unselecting",c,{unselecting:b.element});return false}})}},_mouseDrag:function(c){var f= +this;this.dragged=true;if(!this.options.disabled){var d=this.options,b=this.opos[0],g=this.opos[1],h=c.pageX,i=c.pageY;if(b>h){var j=h;h=b;b=j}if(g>i){j=i;i=g;g=j}this.helper.css({left:b,top:g,width:h-b,height:i-g});this.selectees.each(function(){var a=e.data(this,"selectable-item");if(!(!a||a.element==f.element[0])){var k=false;if(d.tolerance=="touch")k=!(a.left>h||a.righti||a.bottomb&&a.rightg&&a.bottom")},destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item");this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable");this._mouseDestroy();return this},_mouseStart:function(c){var f=this;this.opos=[c.pageX, +c.pageY];if(!this.options.disabled){var d=this.options;this.selectees=e(d.filter,this.element[0]);this._trigger("start",c);e(d.appendTo).append(this.helper);this.helper.css({"z-index":100,position:"absolute",left:c.clientX,top:c.clientY,width:0,height:0});d.autoRefresh&&this.refresh();this.selectees.filter(".ui-selected").each(function(){var b=e.data(this,"selectable-item");b.startselected=true;if(!c.metaKey){b.$element.removeClass("ui-selected");b.selected=false;b.$element.addClass("ui-unselecting"); +b.unselecting=true;f._trigger("unselecting",c,{unselecting:b.element})}});e(c.target).parents().andSelf().each(function(){var b=e.data(this,"selectable-item");if(b){var g=!c.metaKey||!b.$element.hasClass("ui-selected");b.$element.removeClass(g?"ui-unselecting":"ui-selected").addClass(g?"ui-selecting":"ui-unselecting");b.unselecting=!g;b.selecting=g;(b.selected=g)?f._trigger("selecting",c,{selecting:b.element}):f._trigger("unselecting",c,{unselecting:b.element});return false}})}},_mouseDrag:function(c){var f= +this;this.dragged=true;if(!this.options.disabled){var d=this.options,b=this.opos[0],g=this.opos[1],h=c.pageX,i=c.pageY;if(b>h){var j=h;h=b;b=j}if(g>i){j=i;i=g;g=j}this.helper.css({left:b,top:g,width:h-b,height:i-g});this.selectees.each(function(){var a=e.data(this,"selectable-item");if(!(!a||a.element==f.element[0])){var k=false;if(d.tolerance=="touch")k=!(a.left>h||a.righti||a.bottomb&&a.rightg&&a.bottom").addClass("ui-autocomplete").appendTo("body",c).mousedown(function(){setTimeout(function(){clearTimeout(a.closing)},13)}).menu({focus:function(d,b){b=b.item.data("item.autocomplete"); +false!==a._trigger("focus",null,{item:b})&&/^key/.test(d.originalEvent.type)&&a.element.val(b.value)},selected:function(d,b){b=b.item.data("item.autocomplete");false!==a._trigger("select",d,{item:b})&&a.element.val(b.value);a.close(d);d=a.previous;if(a.element[0]!==c.activeElement){a.element.focus();a.previous=d}a.selectedItem=b},blur:function(){a.menu.element.is(":visible")&&a.element.val(a.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu");e.fn.bgiframe&&this.menu.element.bgiframe()}, +destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup");this.menu.element.remove();e.Widget.prototype.destroy.call(this)},_setOption:function(a){e.Widget.prototype._setOption.apply(this,arguments);a==="source"&&this._initSource()},_initSource:function(){var a,c;if(e.isArray(this.options.source)){a=this.options.source;this.source=function(d,b){b(e.ui.autocomplete.filter(a,d.term))}}else if(typeof this.options.source=== +"string"){c=this.options.source;this.source=function(d,b){e.getJSON(c,d,b)}}else this.source=this.options.source},search:function(a,c){a=a!=null?a:this.element.val();if(a.length").data("item.autocomplete", +c).append(""+c.label+"").appendTo(a)},_move:function(a,c){if(this.menu.element.is(":visible"))if(this.menu.first()&&/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term);this.menu.deactivate()}else this.menu[a](c);else this.search(null,c)},widget:function(){return this.menu.element}});e.extend(e.ui.autocomplete,{escapeRegex:function(a){return a.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi,"\\$1")},filter:function(a,c){var d=new RegExp(e.ui.autocomplete.escapeRegex(c), +"i");return e.grep(a,function(b){return d.test(b.label||b.value||b)})}})})(jQuery); +(function(e){e.widget("ui.menu",{_create:function(){var a=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(c){if(e(c.target).closest(".ui-menu-item a").length){c.preventDefault();a.select(c)}});this.refresh()},refresh:function(){var a=this;this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem").children("a").addClass("ui-corner-all").attr("tabindex", +-1).mouseenter(function(c){a.activate(c,e(this).parent())}).mouseleave(function(){a.deactivate()})},activate:function(a,c){this.deactivate();if(this.hasScroll()){var d=c.offset().top-this.element.offset().top,b=this.element.attr("scrollTop"),f=this.element.height();if(d<0)this.element.attr("scrollTop",b+d);else d>f&&this.element.attr("scrollTop",b+d-f+c.height())}this.active=c.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end();this._trigger("focus",a,{item:c})},deactivate:function(){if(this.active){this.active.children("a").removeClass("ui-state-hover").removeAttr("id"); +this._trigger("blur");this.active=null}},next:function(a){this.move("next",".ui-menu-item:first",a)},previous:function(a){this.move("prev",".ui-menu-item:last",a)},first:function(){return this.active&&!this.active.prev().length},last:function(){return this.active&&!this.active.next().length},move:function(a,c,d){if(this.active){a=this.active[a+"All"](".ui-menu-item").eq(0);a.length?this.activate(d,a):this.activate(d,this.element.children(c))}else this.activate(d,this.element.children(c))},nextPage:function(a){if(this.hasScroll())if(!this.active|| +this.last())this.activate(a,this.element.children(":first"));else{var c=this.active.offset().top,d=this.element.height(),b=this.element.children("li").filter(function(){var f=e(this).offset().top-c-d+e(this).height();return f<10&&f>-10});b.length||(b=this.element.children(":last"));this.activate(a,b)}else this.activate(a,this.element.children(!this.active||this.last()?":first":":last"))},previousPage:function(a){if(this.hasScroll())if(!this.active||this.first())this.activate(a,this.element.children(":last")); +else{var c=this.active.offset().top,d=this.element.height();result=this.element.children("li").filter(function(){var b=e(this).offset().top-c+d-e(this).height();return b<10&&b>-10});result.length||(result=this.element.children(":first"));this.activate(a,result)}else this.activate(a,this.element.children(!this.active||this.first()?":last":":first"))},hasScroll:function(){return this.element.height()").addClass("ui-button-text").html(this.options.label).appendTo(b.empty()).text(),d=this.options.icons,e=d.primary&&d.secondary;if(d.primary||d.secondary){b.addClass("ui-button-text-icon"+(e?"s":""));d.primary&&b.prepend("");d.secondary&&b.append("");if(!this.options.text){b.addClass(e?"ui-button-icons-only":"ui-button-icon-only").removeClass("ui-button-text-icons ui-button-text-icon"); +this.hasTitle||b.attr("title",c)}}else b.addClass("ui-button-text-only")}}});a.widget("ui.buttonset",{_create:function(){this.element.addClass("ui-buttonset");this._init()},_init:function(){this.refresh()},_setOption:function(b,c){b==="disabled"&&this.buttons.button("option",b,c);a.Widget.prototype._setOption.apply(this,arguments)},refresh:function(){this.buttons=this.element.find(":button, :submit, :reset, :checkbox, :radio, a, :data(button)").filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass("ui-corner-left").end().filter(":last").addClass("ui-corner-right").end().end()}, +destroy:function(){this.element.removeClass("ui-buttonset");this.buttons.map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy");a.Widget.prototype.destroy.call(this)}})})(jQuery); +;/* + * jQuery UI Dialog 1.8.2 + * + * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Dialog + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + * jquery.ui.button.js + * jquery.ui.draggable.js + * jquery.ui.mouse.js + * jquery.ui.position.js + * jquery.ui.resizable.js + */ +(function(c){c.widget("ui.dialog",{options:{autoOpen:true,buttons:{},closeOnEscape:true,closeText:"close",dialogClass:"",draggable:true,hide:null,height:"auto",maxHeight:false,maxWidth:false,minHeight:150,minWidth:150,modal:false,position:"center",resizable:true,show:null,stack:true,title:"",width:300,zIndex:1E3},_create:function(){this.originalTitle=this.element.attr("title");var a=this,b=a.options,d=b.title||a.originalTitle||" ",e=c.ui.dialog.getTitleId(a.element),g=(a.uiDialog=c("
")).appendTo(document.body).hide().addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+ +b.dialogClass).css({zIndex:b.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(i){if(b.closeOnEscape&&i.keyCode&&i.keyCode===c.ui.keyCode.ESCAPE){a.close(i);i.preventDefault()}}).attr({role:"dialog","aria-labelledby":e}).mousedown(function(i){a.moveToTop(false,i)});a.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(g);var f=(a.uiDialogTitlebar=c("
")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(g), +h=c('').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){h.addClass("ui-state-hover")},function(){h.removeClass("ui-state-hover")}).focus(function(){h.addClass("ui-state-focus")}).blur(function(){h.removeClass("ui-state-focus")}).click(function(i){a.close(i);return false}).appendTo(f);(a.uiDialogTitlebarCloseText=c("")).addClass("ui-icon ui-icon-closethick").text(b.closeText).appendTo(h);c("").addClass("ui-dialog-title").attr("id", +e).html(d).prependTo(f);if(c.isFunction(b.beforeclose)&&!c.isFunction(b.beforeClose))b.beforeClose=b.beforeclose;f.find("*").add(f).disableSelection();b.draggable&&c.fn.draggable&&a._makeDraggable();b.resizable&&c.fn.resizable&&a._makeResizable();a._createButtons(b.buttons);a._isOpen=false;c.fn.bgiframe&&g.bgiframe()},_init:function(){this.options.autoOpen&&this.open()},destroy:function(){var a=this;a.overlay&&a.overlay.destroy();a.uiDialog.hide();a.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body"); +a.uiDialog.remove();a.originalTitle&&a.element.attr("title",a.originalTitle);return a},widget:function(){return this.uiDialog},close:function(a){var b=this,d;if(false!==b._trigger("beforeClose",a)){b.overlay&&b.overlay.destroy();b.uiDialog.unbind("keypress.ui-dialog");b._isOpen=false;if(b.options.hide)b.uiDialog.hide(b.options.hide,function(){b._trigger("close",a)});else{b.uiDialog.hide();b._trigger("close",a)}c.ui.dialog.overlay.resize();if(b.options.modal){d=0;c(".ui-dialog").each(function(){if(this!== +b.uiDialog[0])d=Math.max(d,c(this).css("z-index"))});c.ui.dialog.maxZ=d}return b}},isOpen:function(){return this._isOpen},moveToTop:function(a,b){var d=this,e=d.options;if(e.modal&&!a||!e.stack&&!e.modal)return d._trigger("focus",b);if(e.zIndex>c.ui.dialog.maxZ)c.ui.dialog.maxZ=e.zIndex;if(d.overlay){c.ui.dialog.maxZ+=1;d.overlay.$el.css("z-index",c.ui.dialog.overlay.maxZ=c.ui.dialog.maxZ)}a={scrollTop:d.element.attr("scrollTop"),scrollLeft:d.element.attr("scrollLeft")};c.ui.dialog.maxZ+=1;d.uiDialog.css("z-index", +c.ui.dialog.maxZ);d.element.attr(a);d._trigger("focus",b);return d},open:function(){if(!this._isOpen){var a=this,b=a.options,d=a.uiDialog;a.overlay=b.modal?new c.ui.dialog.overlay(a):null;d.next().length&&d.appendTo("body");a._size();a._position(b.position);d.show(b.show);a.moveToTop(true);b.modal&&d.bind("keypress.ui-dialog",function(e){if(e.keyCode===c.ui.keyCode.TAB){var g=c(":tabbable",this),f=g.filter(":first");g=g.filter(":last");if(e.target===g[0]&&!e.shiftKey){f.focus(1);return false}else if(e.target=== +f[0]&&e.shiftKey){g.focus(1);return false}}});c([]).add(d.find(".ui-dialog-content :tabbable:first")).add(d.find(".ui-dialog-buttonpane :tabbable:first")).add(d).filter(":first").focus();a._trigger("open");a._isOpen=true;return a}},_createButtons:function(a){var b=this,d=false,e=c("
").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix");b.uiDialog.find(".ui-dialog-buttonpane").remove();typeof a==="object"&&a!==null&&c.each(a,function(){return!(d=true)});if(d){c.each(a, +function(g,f){g=c('').text(g).click(function(){f.apply(b.element[0],arguments)}).appendTo(e);c.fn.button&&g.button()});e.appendTo(b.uiDialog)}},_makeDraggable:function(){function a(f){return{position:f.position,offset:f.offset}}var b=this,d=b.options,e=c(document),g;b.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(f,h){g=d.height==="auto"?"auto":c(this).height();c(this).height(c(this).height()).addClass("ui-dialog-dragging"); +b._trigger("dragStart",f,a(h))},drag:function(f,h){b._trigger("drag",f,a(h))},stop:function(f,h){d.position=[h.position.left-e.scrollLeft(),h.position.top-e.scrollTop()];c(this).removeClass("ui-dialog-dragging").height(g);b._trigger("dragStop",f,a(h));c.ui.dialog.overlay.resize()}})},_makeResizable:function(a){function b(f){return{originalPosition:f.originalPosition,originalSize:f.originalSize,position:f.position,size:f.size}}a=a===undefined?this.options.resizable:a;var d=this,e=d.options,g=d.uiDialog.css("position"); +a=typeof a==="string"?a:"n,e,s,w,se,sw,ne,nw";d.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:d.element,maxWidth:e.maxWidth,maxHeight:e.maxHeight,minWidth:e.minWidth,minHeight:d._minHeight(),handles:a,start:function(f,h){c(this).addClass("ui-dialog-resizing");d._trigger("resizeStart",f,b(h))},resize:function(f,h){d._trigger("resize",f,b(h))},stop:function(f,h){c(this).removeClass("ui-dialog-resizing");e.height=c(this).height();e.width=c(this).width();d._trigger("resizeStop", +f,b(h));c.ui.dialog.overlay.resize()}}).css("position",g).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var a=this.options;return a.height==="auto"?a.minHeight:Math.min(a.minHeight,a.height)},_position:function(a){var b=[],d=[0,0];a=a||c.ui.dialog.prototype.options.position;if(typeof a==="string"||typeof a==="object"&&"0"in a){b=a.split?a.split(" "):[a[0],a[1]];if(b.length===1)b[1]=b[0];c.each(["left","top"],function(e,g){if(+b[e]===b[e]){d[e]=b[e];b[e]= +g}})}else if(typeof a==="object"){if("left"in a){b[0]="left";d[0]=a.left}else if("right"in a){b[0]="right";d[0]=-a.right}if("top"in a){b[1]="top";d[1]=a.top}else if("bottom"in a){b[1]="bottom";d[1]=-a.bottom}}(a=this.uiDialog.is(":visible"))||this.uiDialog.show();this.uiDialog.css({top:0,left:0}).position({my:b.join(" "),at:b.join(" "),offset:d.join(" "),of:window,collision:"fit",using:function(e){var g=c(this).css(e).offset().top;g<0&&c(this).css("top",e.top-g)}});a||this.uiDialog.hide()},_setOption:function(a, +b){var d=this,e=d.uiDialog,g=e.is(":data(resizable)"),f=false;switch(a){case "beforeclose":a="beforeClose";break;case "buttons":d._createButtons(b);break;case "closeText":d.uiDialogTitlebarCloseText.text(""+b);break;case "dialogClass":e.removeClass(d.options.dialogClass).addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+b);break;case "disabled":b?e.addClass("ui-dialog-disabled"):e.removeClass("ui-dialog-disabled");break;case "draggable":b?d._makeDraggable():e.draggable("destroy");break; +case "height":f=true;break;case "maxHeight":g&&e.resizable("option","maxHeight",b);f=true;break;case "maxWidth":g&&e.resizable("option","maxWidth",b);f=true;break;case "minHeight":g&&e.resizable("option","minHeight",b);f=true;break;case "minWidth":g&&e.resizable("option","minWidth",b);f=true;break;case "position":d._position(b);break;case "resizable":g&&!b&&e.resizable("destroy");g&&typeof b==="string"&&e.resizable("option","handles",b);!g&&b!==false&&d._makeResizable(b);break;case "title":c(".ui-dialog-title", +d.uiDialogTitlebar).html(""+(b||" "));break;case "width":f=true;break}c.Widget.prototype._setOption.apply(d,arguments);f&&d._size()},_size:function(){var a=this.options,b;this.element.css({width:"auto",minHeight:0,height:0});b=this.uiDialog.css({height:"auto",width:a.width}).height();this.element.css(a.height==="auto"?{minHeight:Math.max(a.minHeight-b,0),height:"auto"}:{minHeight:0,height:Math.max(a.height-b,0)}).show();this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight", +this._minHeight())}});c.extend(c.ui.dialog,{version:"1.8.2",uuid:0,maxZ:0,getTitleId:function(a){a=a.attr("id");if(!a){this.uuid+=1;a=this.uuid}return"ui-dialog-title-"+a},overlay:function(a){this.$el=c.ui.dialog.overlay.create(a)}});c.extend(c.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:c.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(a){return a+".dialog-overlay"}).join(" "),create:function(a){if(this.instances.length===0){setTimeout(function(){c.ui.dialog.overlay.instances.length&& +c(document).bind(c.ui.dialog.overlay.events,function(d){return c(d.target).zIndex()>=c.ui.dialog.overlay.maxZ})},1);c(document).bind("keydown.dialog-overlay",function(d){if(a.options.closeOnEscape&&d.keyCode&&d.keyCode===c.ui.keyCode.ESCAPE){a.close(d);d.preventDefault()}});c(window).bind("resize.dialog-overlay",c.ui.dialog.overlay.resize)}var b=(this.oldInstances.pop()||c("
").addClass("ui-widget-overlay")).appendTo(document.body).css({width:this.width(),height:this.height()});c.fn.bgiframe&& +b.bgiframe();this.instances.push(b);return b},destroy:function(a){this.oldInstances.push(this.instances.splice(c.inArray(a,this.instances),1)[0]);this.instances.length===0&&c([document,window]).unbind(".dialog-overlay");a.remove();var b=0;c.each(this.instances,function(){b=Math.max(b,this.css("z-index"))});this.maxZ=b},height:function(){var a,b;if(c.browser.msie&&c.browser.version<7){a=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);b=Math.max(document.documentElement.offsetHeight, +document.body.offsetHeight);return a",remove:null,select:null,show:null,spinner:"Loading…",tabTemplate:'
  • #{label}
  • '},_create:function(){this._tabify(true)},_setOption:function(c,e){if(c=="selected")this.options.collapsible&& +e==this.options.selected||this.select(e);else{this.options[c]=e;this._tabify()}},_tabId:function(c){return c.title&&c.title.replace(/\s/g,"_").replace(/[^A-Za-z0-9\-_:\.]/g,"")||this.options.idPrefix+s()},_sanitizeSelector:function(c){return c.replace(/:/g,"\\:")},_cookie:function(){var c=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+v());return d.cookie.apply(null,[c].concat(d.makeArray(arguments)))},_ui:function(c,e){return{tab:c,panel:e,index:this.anchors.index(c)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var c= +d(this);c.html(c.data("label.tabs")).removeData("label.tabs")})},_tabify:function(c){function e(g,f){g.css({display:""});!d.support.opacity&&f.opacity&&g[0].style.removeAttribute("filter")}this.list=this.element.find("ol,ul").eq(0);this.lis=d("li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return d("a",this)[0]});this.panels=d([]);var a=this,b=this.options,h=/^#.+/;this.anchors.each(function(g,f){var j=d(f).attr("href"),l=j.split("#")[0],p;if(l&&(l===location.toString().split("#")[0]|| +(p=d("base")[0])&&l===p.href)){j=f.hash;f.href=j}if(h.test(j))a.panels=a.panels.add(a._sanitizeSelector(j));else if(j!="#"){d.data(f,"href.tabs",j);d.data(f,"load.tabs",j.replace(/#.*$/,""));j=a._tabId(f);f.href="#"+j;f=d("#"+j);if(!f.length){f=d(b.panelTemplate).attr("id",j).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(a.panels[g-1]||a.list);f.data("destroy.tabs",true)}a.panels=a.panels.add(f)}else b.disabled.push(g)});if(c){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all"); +this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(b.selected===undefined){location.hash&&this.anchors.each(function(g,f){if(f.hash==location.hash){b.selected=g;return false}});if(typeof b.selected!="number"&&b.cookie)b.selected=parseInt(a._cookie(),10);if(typeof b.selected!="number"&&this.lis.filter(".ui-tabs-selected").length)b.selected= +this.lis.index(this.lis.filter(".ui-tabs-selected"));b.selected=b.selected||(this.lis.length?0:-1)}else if(b.selected===null)b.selected=-1;b.selected=b.selected>=0&&this.anchors[b.selected]||b.selected<0?b.selected:0;b.disabled=d.unique(b.disabled.concat(d.map(this.lis.filter(".ui-state-disabled"),function(g){return a.lis.index(g)}))).sort();d.inArray(b.selected,b.disabled)!=-1&&b.disabled.splice(d.inArray(b.selected,b.disabled),1);this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active"); +if(b.selected>=0&&this.anchors.length){this.panels.eq(b.selected).removeClass("ui-tabs-hide");this.lis.eq(b.selected).addClass("ui-tabs-selected ui-state-active");a.element.queue("tabs",function(){a._trigger("show",null,a._ui(a.anchors[b.selected],a.panels[b.selected]))});this.load(b.selected)}d(window).bind("unload",function(){a.lis.add(a.anchors).unbind(".tabs");a.lis=a.anchors=a.panels=null})}else b.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"));this.element[b.collapsible?"addClass": +"removeClass"]("ui-tabs-collapsible");b.cookie&&this._cookie(b.selected,b.cookie);c=0;for(var i;i=this.lis[c];c++)d(i)[d.inArray(c,b.disabled)!=-1&&!d(i).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");b.cache===false&&this.anchors.removeData("cache.tabs");this.lis.add(this.anchors).unbind(".tabs");if(b.event!="mouseover"){var k=function(g,f){f.is(":not(.ui-state-disabled)")&&f.addClass("ui-state-"+g)},n=function(g,f){f.removeClass("ui-state-"+g)};this.lis.bind("mouseover.tabs", +function(){k("hover",d(this))});this.lis.bind("mouseout.tabs",function(){n("hover",d(this))});this.anchors.bind("focus.tabs",function(){k("focus",d(this).closest("li"))});this.anchors.bind("blur.tabs",function(){n("focus",d(this).closest("li"))})}var m,o;if(b.fx)if(d.isArray(b.fx)){m=b.fx[0];o=b.fx[1]}else m=o=b.fx;var q=o?function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.hide().removeClass("ui-tabs-hide").animate(o,o.duration||"normal",function(){e(f,o);a._trigger("show", +null,a._ui(g,f[0]))})}:function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.removeClass("ui-tabs-hide");a._trigger("show",null,a._ui(g,f[0]))},r=m?function(g,f){f.animate(m,m.duration||"normal",function(){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");e(f,m);a.element.dequeue("tabs")})}:function(g,f){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");a.element.dequeue("tabs")};this.anchors.bind(b.event+".tabs", +function(){var g=this,f=d(this).closest("li"),j=a.panels.filter(":not(.ui-tabs-hide)"),l=d(a._sanitizeSelector(this.hash));if(f.hasClass("ui-tabs-selected")&&!b.collapsible||f.hasClass("ui-state-disabled")||f.hasClass("ui-state-processing")||a._trigger("select",null,a._ui(this,l[0]))===false){this.blur();return false}b.selected=a.anchors.index(this);a.abort();if(b.collapsible)if(f.hasClass("ui-tabs-selected")){b.selected=-1;b.cookie&&a._cookie(b.selected,b.cookie);a.element.queue("tabs",function(){r(g, +j)}).dequeue("tabs");this.blur();return false}else if(!j.length){b.cookie&&a._cookie(b.selected,b.cookie);a.element.queue("tabs",function(){q(g,l)});a.load(a.anchors.index(this));this.blur();return false}b.cookie&&a._cookie(b.selected,b.cookie);if(l.length){j.length&&a.element.queue("tabs",function(){r(g,j)});a.element.queue("tabs",function(){q(g,l)});a.load(a.anchors.index(this))}else throw"jQuery UI Tabs: Mismatching fragment identifier.";d.browser.msie&&this.blur()});this.anchors.bind("click.tabs", +function(){return false})},destroy:function(){var c=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.each(function(){var e=d.data(this,"href.tabs");if(e)this.href=e;var a=d(this).unbind(".tabs");d.each(["href","load","cache"],function(b,h){a.removeData(h+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){d.data(this, +"destroy.tabs")?d(this).remove():d(this).removeClass("ui-state-default ui-corner-top ui-tabs-selected ui-state-active ui-state-hover ui-state-focus ui-state-disabled ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide")});c.cookie&&this._cookie(null,c.cookie);return this},add:function(c,e,a){if(a===undefined)a=this.anchors.length;var b=this,h=this.options;e=d(h.tabTemplate.replace(/#\{href\}/g,c).replace(/#\{label\}/g,e));c=!c.indexOf("#")?c.replace("#",""):this._tabId(d("a",e)[0]);e.addClass("ui-state-default ui-corner-top").data("destroy.tabs", +true);var i=d("#"+c);i.length||(i=d(h.panelTemplate).attr("id",c).data("destroy.tabs",true));i.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(a>=this.lis.length){e.appendTo(this.list);i.appendTo(this.list[0].parentNode)}else{e.insertBefore(this.lis[a]);i.insertBefore(this.panels[a])}h.disabled=d.map(h.disabled,function(k){return k>=a?++k:k});this._tabify();if(this.anchors.length==1){h.selected=0;e.addClass("ui-tabs-selected ui-state-active");i.removeClass("ui-tabs-hide"); +this.element.queue("tabs",function(){b._trigger("show",null,b._ui(b.anchors[0],b.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[a],this.panels[a]));return this},remove:function(c){var e=this.options,a=this.lis.eq(c).remove(),b=this.panels.eq(c).remove();if(a.hasClass("ui-tabs-selected")&&this.anchors.length>1)this.select(c+(c+1=c?--h:h});this._tabify();this._trigger("remove", +null,this._ui(a.find("a")[0],b[0]));return this},enable:function(c){var e=this.options;if(d.inArray(c,e.disabled)!=-1){this.lis.eq(c).removeClass("ui-state-disabled");e.disabled=d.grep(e.disabled,function(a){return a!=c});this._trigger("enable",null,this._ui(this.anchors[c],this.panels[c]));return this}},disable:function(c){var e=this.options;if(c!=e.selected){this.lis.eq(c).addClass("ui-state-disabled");e.disabled.push(c);e.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[c],this.panels[c]))}return this}, +select:function(c){if(typeof c=="string")c=this.anchors.index(this.anchors.filter("[href$="+c+"]"));else if(c===null)c=-1;if(c==-1&&this.options.collapsible)c=this.options.selected;this.anchors.eq(c).trigger(this.options.event+".tabs");return this},load:function(c){var e=this,a=this.options,b=this.anchors.eq(c)[0],h=d.data(b,"load.tabs");this.abort();if(!h||this.element.queue("tabs").length!==0&&d.data(b,"cache.tabs"))this.element.dequeue("tabs");else{this.lis.eq(c).addClass("ui-state-processing"); +if(a.spinner){var i=d("span",b);i.data("label.tabs",i.html()).html(a.spinner)}this.xhr=d.ajax(d.extend({},a.ajaxOptions,{url:h,success:function(k,n){d(e._sanitizeSelector(b.hash)).html(k);e._cleanup();a.cache&&d.data(b,"cache.tabs",true);e._trigger("load",null,e._ui(e.anchors[c],e.panels[c]));try{a.ajaxOptions.success(k,n)}catch(m){}},error:function(k,n){e._cleanup();e._trigger("load",null,e._ui(e.anchors[c],e.panels[c]));try{a.ajaxOptions.error(k,n,c,b)}catch(m){}}}));e.element.dequeue("tabs");return this}}, +abort:function(){this.element.queue([]);this.panels.stop(false,true);this.element.queue("tabs",this.element.queue("tabs").splice(-2,2));if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup();return this},url:function(c,e){this.anchors.eq(c).removeData("cache.tabs").data("load.tabs",e);return this},length:function(){return this.anchors.length}});d.extend(d.ui.tabs,{version:"1.8.2"});d.extend(d.ui.tabs.prototype,{rotation:null,rotate:function(c,e){var a=this,b=this.options,h=a._rotate||(a._rotate= +function(i){clearTimeout(a.rotation);a.rotation=setTimeout(function(){var k=b.selected;a.select(++k").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0});c.wrap(b);b=c.parent();if(c.css("position")=="static"){b.css({position:"relative"});c.css({position:"relative"})}else{f.extend(a,{position:c.css("position"),zIndex:c.css("z-index")});f.each(["top","left","bottom","right"],function(d,e){a[e]=c.css(e);if(isNaN(parseInt(a[e],10)))a[e]="auto"}); +c.css({position:"relative",top:0,left:0})}return b.css(a).show()},removeWrapper:function(c){if(c.parent().is(".ui-effects-wrapper"))return c.parent().replaceWith(c);return c},setTransition:function(c,a,b,d){d=d||{};f.each(a,function(e,g){unit=c.cssUnit(g);if(unit[0]>0)d[g]=unit[0]*b+unit[1]});return d}});f.fn.extend({effect:function(c){var a=j.apply(this,arguments);a={options:a[1],duration:a[2],callback:a[3]};var b=f.effects[c];return b&&!f.fx.off?b.call(this,a):this},_show:f.fn.show,show:function(c){if(!c|| +typeof c=="number"||f.fx.speeds[c])return this._show.apply(this,arguments);else{var a=j.apply(this,arguments);a[1].mode="show";return this.effect.apply(this,a)}},_hide:f.fn.hide,hide:function(c){if(!c||typeof c=="number"||f.fx.speeds[c])return this._hide.apply(this,arguments);else{var a=j.apply(this,arguments);a[1].mode="hide";return this.effect.apply(this,a)}},__toggle:f.fn.toggle,toggle:function(c){if(!c||typeof c=="number"||f.fx.speeds[c]||typeof c=="boolean"||f.isFunction(c))return this.__toggle.apply(this, +arguments);else{var a=j.apply(this,arguments);a[1].mode="toggle";return this.effect.apply(this,a)}},cssUnit:function(c){var a=this.css(c),b=[];f.each(["em","px","%","pt"],function(d,e){if(a.indexOf(e)>0)b=[parseFloat(a),e]});return b}});f.easing.jswing=f.easing.swing;f.extend(f.easing,{def:"easeOutQuad",swing:function(c,a,b,d,e){return f.easing[f.easing.def](c,a,b,d,e)},easeInQuad:function(c,a,b,d,e){return d*(a/=e)*a+b},easeOutQuad:function(c,a,b,d,e){return-d*(a/=e)*(a-2)+b},easeInOutQuad:function(c, +a,b,d,e){if((a/=e/2)<1)return d/2*a*a+b;return-d/2*(--a*(a-2)-1)+b},easeInCubic:function(c,a,b,d,e){return d*(a/=e)*a*a+b},easeOutCubic:function(c,a,b,d,e){return d*((a=a/e-1)*a*a+1)+b},easeInOutCubic:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a+b;return d/2*((a-=2)*a*a+2)+b},easeInQuart:function(c,a,b,d,e){return d*(a/=e)*a*a*a+b},easeOutQuart:function(c,a,b,d,e){return-d*((a=a/e-1)*a*a*a-1)+b},easeInOutQuart:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a+b;return-d/2*((a-=2)*a*a*a-2)+ +b},easeInQuint:function(c,a,b,d,e){return d*(a/=e)*a*a*a*a+b},easeOutQuint:function(c,a,b,d,e){return d*((a=a/e-1)*a*a*a*a+1)+b},easeInOutQuint:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a*a+b;return d/2*((a-=2)*a*a*a*a+2)+b},easeInSine:function(c,a,b,d,e){return-d*Math.cos(a/e*(Math.PI/2))+d+b},easeOutSine:function(c,a,b,d,e){return d*Math.sin(a/e*(Math.PI/2))+b},easeInOutSine:function(c,a,b,d,e){return-d/2*(Math.cos(Math.PI*a/e)-1)+b},easeInExpo:function(c,a,b,d,e){return a==0?b:d*Math.pow(2, +10*(a/e-1))+b},easeOutExpo:function(c,a,b,d,e){return a==e?b+d:d*(-Math.pow(2,-10*a/e)+1)+b},easeInOutExpo:function(c,a,b,d,e){if(a==0)return b;if(a==e)return b+d;if((a/=e/2)<1)return d/2*Math.pow(2,10*(a-1))+b;return d/2*(-Math.pow(2,-10*--a)+2)+b},easeInCirc:function(c,a,b,d,e){return-d*(Math.sqrt(1-(a/=e)*a)-1)+b},easeOutCirc:function(c,a,b,d,e){return d*Math.sqrt(1-(a=a/e-1)*a)+b},easeInOutCirc:function(c,a,b,d,e){if((a/=e/2)<1)return-d/2*(Math.sqrt(1-a*a)-1)+b;return d/2*(Math.sqrt(1-(a-=2)* +a)+1)+b},easeInElastic:function(c,a,b,d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e)==1)return b+d;g||(g=e*0.3);if(h").attr("id", this.id || "").html("" + this.text + "").appendTo(parent); + if (this.classes) { + current.children("span").addClass(this.classes); + } + if (this.expanded) { + current.addClass("open"); + } + if (this.hasChildren || this.children && this.children.length) { + var branch = $("
      ").appendTo(current); + if (this.hasChildren) { + current.addClass("hasChildren"); + createNode.call({ + text:"placeholder", + id:"placeholder", + children:[] + }, branch); + } + if (this.children && this.children.length) { + $.each(this.children, createNode, [branch]) + } + } + } + $.each(response, createNode, [child]); + $(container).treeview({add: child}); + }); +} + +var proxied = $.fn.treeview; +$.fn.treeview = function(settings) { + if (!settings.url) { + return proxied.apply(this, arguments); + } + var container = this; + load(settings, "source", this, container); + var userToggle = settings.toggle; + return proxied.call(this, $.extend({}, settings, { + collapsed: true, + toggle: function() { + var $this = $(this); + if ($this.hasClass("hasChildren")) { + var childList = $this.removeClass("hasChildren").find("ul"); + childList.empty(); + load(settings, this.id, childList, container); + } + if (userToggle) { + userToggle.apply(this, arguments); + } + } + })); +}; + +})(jQuery); \ No newline at end of file diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/jquery/treeview/jquery.treeview.css b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/jquery/treeview/jquery.treeview.css new file mode 100644 index 0000000000..36d0394bbe --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/jquery/treeview/jquery.treeview.css @@ -0,0 +1,90 @@ +.treeview, .treeview ul { + padding: 0; + margin: 0; + list-style: none; +} + +.treeview ul { + margin-top: 4px; +} + +.treeview .hitarea { + background: url(images/treeview-default.gif) -64px -25px no-repeat; + height: 16px; + width: 16px; + margin-left: -16px; + float: left; + cursor: pointer; +} +/* fix for IE6 */ +* html .hitarea { + display: inline; + float:none; +} + +.treeview li { + margin: 0; + padding: 3px 0 3px 16px; +} + +.treeview a.selected { + background-color: #eee; +} + +#treecontrol { margin: 1em 0; display: none; } + +.treeview .hover { color: black; cursor: pointer; } + +.treeview li { background: url(images/treeview-default-line.gif) 0 0 no-repeat; } +.treeview li.collapsable, .treeview li.expandable { background-position: 0 -176px; } + +.treeview .expandable-hitarea { background-position: -80px -3px; } + +.treeview li.last { background-position: 0 -1766px } +.treeview li.lastCollapsable, .treeview li.lastExpandable { background-image: url(images/treeview-default.gif); } +.treeview li.lastCollapsable { background-position: 0 -111px } +.treeview li.lastExpandable { background-position: -32px -67px } + +.treeview div.lastCollapsable-hitarea, .treeview div.lastExpandable-hitarea { background-position: 0; } + +.treeview-red li { background-image: url(images/treeview-red-line.gif); } +.treeview-red .hitarea, .treeview-red li.lastCollapsable, .treeview-red li.lastExpandable { background-image: url(images/treeview-red.gif); } + +.treeview-black li { background-image: url(images/treeview-black-line.gif); } +.treeview-black .hitarea, .treeview-black li.lastCollapsable, .treeview-black li.lastExpandable { background-image: url(images/treeview-black.gif); } + +.treeview-gray li { background-image: url(images/treeview-gray-line.gif); } +.treeview-gray .hitarea, .treeview-gray li.lastCollapsable, .treeview-gray li.lastExpandable { background-image: url(images/treeview-gray.gif); } + +.treeview-famfamfam li { background-image: url(images/treeview-famfamfam-line.gif); } +.treeview-famfamfam .hitarea, .treeview-famfamfam li.lastCollapsable, .treeview-famfamfam li.lastExpandable { background-image: url(images/treeview-famfamfam.gif); } + + +.filetree li { padding: 3px 0 2px 16px; } +.filetree span.folder, .filetree span.file { padding: 1px 0 1px 20px; display: block; } +.filetree span.folder { background: url(images/folder.gif) 0 0 no-repeat; } +.filetree li.expandable span.folder { background: url(images/folder-closed.gif) 0 0 no-repeat; } +.filetree span.file { background: url(images/page_white_text.png) 0 0 no-repeat; } + +.filetree li span a { + text-decoration: none; + font-size: 12px; + color: #517291; +} + +html, body {height:100%; margin: 0; padding: 0; } + +/* +html>body { + font-size: 16px; + font-size: 68.75%; +} Reset Base Font Size */ + /* +body { + font-family: Verdana, helvetica, arial, sans-serif; + font-size: 68.75%; + background: #fff; + color: #333; +} */ + +a img { border: none; } \ No newline at end of file diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/jquery/treeview/jquery.treeview.js b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/jquery/treeview/jquery.treeview.js new file mode 100644 index 0000000000..248e725b38 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/jquery/treeview/jquery.treeview.js @@ -0,0 +1,255 @@ +/* + * Treeview 1.4 - jQuery plugin to hide and show branches of a tree + * + * http://bassistance.de/jquery-plugins/jquery-plugin-treeview/ + * http://docs.jquery.com/Plugins/Treeview + * + * Copyright (c) 2007 Jörn Zaefferer + * + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + * + * Revision: $Id: jquery.treeview.js 4684 2008-02-07 19:08:06Z joern.zaefferer $ + * + */ + +;(function($) { + + $.extend($.fn, { + swapClass: function(c1, c2) { + var c1Elements = this.filter('.' + c1); + this.filter('.' + c2).removeClass(c2).addClass(c1); + c1Elements.removeClass(c1).addClass(c2); + return this; + }, + replaceClass: function(c1, c2) { + return this.filter('.' + c1).removeClass(c1).addClass(c2).end(); + }, + hoverClass: function(className) { + className = className || "hover"; + return this.hover(function() { + $(this).addClass(className); + }, function() { + $(this).removeClass(className); + }); + }, + heightToggle: function(animated, callback) { + animated ? + this.animate({ height: "toggle" }, animated, callback) : + this.each(function(){ + jQuery(this)[ jQuery(this).is(":hidden") ? "show" : "hide" ](); + if(callback) + callback.apply(this, arguments); + }); + }, + heightHide: function(animated, callback) { + if (animated) { + this.animate({ height: "hide" }, animated, callback); + } else { + this.hide(); + if (callback) + this.each(callback); + } + }, + prepareBranches: function(settings) { + if (!settings.prerendered) { + // mark last tree items + this.filter(":last-child:not(ul)").addClass(CLASSES.last); + // collapse whole tree, or only those marked as closed, anyway except those marked as open + this.filter((settings.collapsed ? "" : "." + CLASSES.closed) + ":not(." + CLASSES.open + ")").find(">ul").hide(); + } + // return all items with sublists + return this.filter(":has(>ul)"); + }, + applyClasses: function(settings, toggler) { + this.filter(":has(>ul):not(:has(>a))").find(">span").click(function(event) { + toggler.apply($(this).next()); + }).add( $("a", this) ).hoverClass(); + + if (!settings.prerendered) { + // handle closed ones first + this.filter(":has(>ul:hidden)") + .addClass(CLASSES.expandable) + .replaceClass(CLASSES.last, CLASSES.lastExpandable); + + // handle open ones + this.not(":has(>ul:hidden)") + .addClass(CLASSES.collapsable) + .replaceClass(CLASSES.last, CLASSES.lastCollapsable); + + // create hitarea + this.prepend("
      ").find("div." + CLASSES.hitarea).each(function() { + var classes = ""; + $.each($(this).parent().attr("class").split(" "), function() { + classes += this + "-hitarea "; + }); + $(this).addClass( classes ); + }); + } + + // apply event to hitarea + this.find("div." + CLASSES.hitarea).click( toggler ); + }, + treeview: function(settings) { + + if(typeof(window.treeCookieId) !== 'undefined' || window.treeCookieId === ""){ + treeCookieId = "treeview"; + } + + settings = $.extend({ + cookieId: treeCookieId + }, settings); + + if (settings.add) { + return this.trigger("add", [settings.add]); + } + + if ( settings.toggle ) { + var callback = settings.toggle; + settings.toggle = function() { + return callback.apply($(this).parent()[0], arguments); + }; + } + + // factory for treecontroller + function treeController(tree, control) { + // factory for click handlers + function handler(filter) { + return function() { + // reuse toggle event handler, applying the elements to toggle + // start searching for all hitareas + toggler.apply( $("div." + CLASSES.hitarea, tree).filter(function() { + // for plain toggle, no filter is provided, otherwise we need to check the parent element + return filter ? $(this).parent("." + filter).length : true; + }) ); + return false; + }; + } + // click on first element to collapse tree + $("a:eq(0)", control).click( handler(CLASSES.collapsable) ); + // click on second to expand tree + $("a:eq(1)", control).click( handler(CLASSES.expandable) ); + // click on third to toggle tree + $("a:eq(2)", control).click( handler() ); + } + + // handle toggle event + function toggler() { + $(this) + .parent() + // swap classes for hitarea + .find(">.hitarea") + .swapClass( CLASSES.collapsableHitarea, CLASSES.expandableHitarea ) + .swapClass( CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea ) + .end() + // swap classes for parent li + .swapClass( CLASSES.collapsable, CLASSES.expandable ) + .swapClass( CLASSES.lastCollapsable, CLASSES.lastExpandable ) + // find child lists + .find( ">ul" ) + // toggle them + .heightToggle( settings.animated, settings.toggle ); + if ( settings.unique ) { + $(this).parent() + .siblings() + // swap classes for hitarea + .find(">.hitarea") + .replaceClass( CLASSES.collapsableHitarea, CLASSES.expandableHitarea ) + .replaceClass( CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea ) + .end() + .replaceClass( CLASSES.collapsable, CLASSES.expandable ) + .replaceClass( CLASSES.lastCollapsable, CLASSES.lastExpandable ) + .find( ">ul" ) + .heightHide( settings.animated, settings.toggle ); + } + } + //Cookie Persistence + function serialize() { + function binary(arg) { + return arg ? 1 : 0; + } + var data = []; + branches.each(function(i, e) { + data[i] = $(e).is(":has(>ul:visible)") ? 1 : 0; + }); + $.cookie(settings.cookieId, data.join("") ); + } + + function deserialize() { + var stored = $.cookie(settings.cookieId); + if ( stored ) { + var data = stored.split(""); + branches.each(function(i, e) { + $(e).find(">ul")[ parseInt(data[i]) ? "show" : "hide" ](); + }); + } + } + + // add treeview class to activate styles + this.addClass("treeview"); + + // prepare branches and find all tree items with child lists + var branches = this.find("li").prepareBranches(settings); + + switch(settings.persist) { + case "cookie": + var toggleCallback = settings.toggle; + settings.toggle = function() { + serialize(); + if (toggleCallback) { + toggleCallback.apply(this, arguments); + } + }; + deserialize(); + break; + case "location": + var current = this.find("a").filter(function() { return this.href.toLowerCase() == location.href.toLowerCase(); }); + if ( current.length ) { + current.addClass("selected").parents("ul, li").add( current.next() ).show(); + } + break; + } + + branches.applyClasses(settings, toggler); + + // if control option is set, create the treecontroller and show it + if ( settings.control ) { + treeController(this, settings.control); + $(settings.control).show(); + } + + return this.bind("add", function(event, branches) { + $(branches).prev() + .removeClass(CLASSES.last) + .removeClass(CLASSES.lastCollapsable) + .removeClass(CLASSES.lastExpandable) + .find(">.hitarea") + .removeClass(CLASSES.lastCollapsableHitarea) + .removeClass(CLASSES.lastExpandableHitarea); + $(branches).find("li").andSelf().prepareBranches(settings).applyClasses(settings, toggler); + }); + } + }); + + // classes used by the plugin + // need to be styled via external stylesheet, see first example + var CLASSES = $.fn.treeview.classes = { + open: "open", + closed: "closed", + expandable: "expandable", + expandableHitarea: "expandable-hitarea", + lastExpandableHitarea: "lastExpandable-hitarea", + collapsable: "collapsable", + collapsableHitarea: "collapsable-hitarea", + lastCollapsableHitarea: "lastCollapsable-hitarea", + lastCollapsable: "lastCollapsable", + lastExpandable: "lastExpandable", + last: "last", + hitarea: "hitarea" + }; + + // provide backwards compability + $.fn.Treeview = $.fn.treeview; + +})(jQuery); \ No newline at end of file diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/jquery/treeview/jquery.treeview.min.js b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/jquery/treeview/jquery.treeview.min.js new file mode 100644 index 0000000000..e693321dd0 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/jquery/treeview/jquery.treeview.min.js @@ -0,0 +1,16 @@ +/* + * Treeview 1.4 - jQuery plugin to hide and show branches of a tree + * + * http://bassistance.de/jquery-plugins/jquery-plugin-treeview/ + * http://docs.jquery.com/Plugins/Treeview + * + * Copyright (c) 2007 Jörn Zaefferer + * + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + * + * Revision: $Id: jquery.treeview.js 4684 2008-02-07 19:08:06Z joern.zaefferer $ + * kasunbg: changed the cookieid name + * + */;(function($){$.extend($.fn,{swapClass:function(c1,c2){var c1Elements=this.filter('.'+c1);this.filter('.'+c2).removeClass(c2).addClass(c1);c1Elements.removeClass(c1).addClass(c2);return this;},replaceClass:function(c1,c2){return this.filter('.'+c1).removeClass(c1).addClass(c2).end();},hoverClass:function(className){className=className||"hover";return this.hover(function(){$(this).addClass(className);},function(){$(this).removeClass(className);});},heightToggle:function(animated,callback){animated?this.animate({height:"toggle"},animated,callback):this.each(function(){jQuery(this)[jQuery(this).is(":hidden")?"show":"hide"]();if(callback)callback.apply(this,arguments);});},heightHide:function(animated,callback){if(animated){this.animate({height:"hide"},animated,callback);}else{this.hide();if(callback)this.each(callback);}},prepareBranches:function(settings){if(!settings.prerendered){this.filter(":last-child:not(ul)").addClass(CLASSES.last);this.filter((settings.collapsed?"":"."+CLASSES.closed)+":not(."+CLASSES.open+")").find(">ul").hide();}return this.filter(":has(>ul)");},applyClasses:function(settings,toggler){this.filter(":has(>ul):not(:has(>a))").find(">span").click(function(event){toggler.apply($(this).next());}).add($("a",this)).hoverClass();if(!settings.prerendered){this.filter(":has(>ul:hidden)").addClass(CLASSES.expandable).replaceClass(CLASSES.last,CLASSES.lastExpandable);this.not(":has(>ul:hidden)").addClass(CLASSES.collapsable).replaceClass(CLASSES.last,CLASSES.lastCollapsable);this.prepend("
      ").find("div."+CLASSES.hitarea).each(function(){var classes="";$.each($(this).parent().attr("class").split(" "),function(){classes+=this+"-hitarea ";});$(this).addClass(classes);});}this.find("div."+CLASSES.hitarea).click(toggler);},treeview:function(settings){if(typeof(window.treeCookieId) === 'undefined' || window.treeCookieId === ""){treeCookieId = "treeview";} settings=$.extend({cookieId: treeCookieId},settings);if(settings.add){return this.trigger("add",[settings.add]);}if(settings.toggle){var callback=settings.toggle;settings.toggle=function(){return callback.apply($(this).parent()[0],arguments);};}function treeController(tree,control){function handler(filter){return function(){toggler.apply($("div."+CLASSES.hitarea,tree).filter(function(){return filter?$(this).parent("."+filter).length:true;}));return false;};}$("a:eq(0)",control).click(handler(CLASSES.collapsable));$("a:eq(1)",control).click(handler(CLASSES.expandable));$("a:eq(2)",control).click(handler());}function toggler(){$(this).parent().find(">.hitarea").swapClass(CLASSES.collapsableHitarea,CLASSES.expandableHitarea).swapClass(CLASSES.lastCollapsableHitarea,CLASSES.lastExpandableHitarea).end().swapClass(CLASSES.collapsable,CLASSES.expandable).swapClass(CLASSES.lastCollapsable,CLASSES.lastExpandable).find(">ul").heightToggle(settings.animated,settings.toggle);if(settings.unique){$(this).parent().siblings().find(">.hitarea").replaceClass(CLASSES.collapsableHitarea,CLASSES.expandableHitarea).replaceClass(CLASSES.lastCollapsableHitarea,CLASSES.lastExpandableHitarea).end().replaceClass(CLASSES.collapsable,CLASSES.expandable).replaceClass(CLASSES.lastCollapsable,CLASSES.lastExpandable).find(">ul").heightHide(settings.animated,settings.toggle);}}function serialize(){function binary(arg){return arg?1:0;}var data=[];branches.each(function(i,e){data[i]=$(e).is(":has(>ul:visible)")?1:0;});$.cookie(settings.cookieId,data.join(""));}function deserialize(){var stored=$.cookie(settings.cookieId);if(stored){var data=stored.split("");branches.each(function(i,e){$(e).find(">ul")[parseInt(data[i])?"show":"hide"]();});}}this.addClass("treeview");var branches=this.find("li").prepareBranches(settings);switch(settings.persist){case"cookie":var toggleCallback=settings.toggle;settings.toggle=function(){serialize();if(toggleCallback){toggleCallback.apply(this,arguments);}};deserialize();break;case"location":var current=this.find("a").filter(function(){return this.href.toLowerCase()==location.href.toLowerCase();});if(current.length){current.addClass("selected").parents("ul, li").add(current.next()).show();}break;}branches.applyClasses(settings,toggler);if(settings.control){treeController(this,settings.control);$(settings.control).show();}return this.bind("add",function(event,branches){$(branches).prev().removeClass(CLASSES.last).removeClass(CLASSES.lastCollapsable).removeClass(CLASSES.lastExpandable).find(">.hitarea").removeClass(CLASSES.lastCollapsableHitarea).removeClass(CLASSES.lastExpandableHitarea);$(branches).find("li").andSelf().prepareBranches(settings).applyClasses(settings,toggler);});}});var CLASSES=$.fn.treeview.classes={open:"open",closed:"closed",expandable:"expandable",expandableHitarea:"expandable-hitarea",lastExpandableHitarea:"lastExpandable-hitarea",collapsable:"collapsable",collapsableHitarea:"collapsable-hitarea",lastCollapsableHitarea:"lastCollapsable-hitarea",lastCollapsable:"lastCollapsable",lastExpandable:"lastExpandable",last:"last",hitarea:"hitarea"};$.fn.Treeview=$.fn.treeview;})(jQuery); \ No newline at end of file diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/jquery/treeview/jquery.treeview.pack.js b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/jquery/treeview/jquery.treeview.pack.js new file mode 100644 index 0000000000..eddac491f7 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/jquery/treeview/jquery.treeview.pack.js @@ -0,0 +1,16 @@ +/* + * Treeview 1.4 - jQuery plugin to hide and show branches of a tree + * + * http://bassistance.de/jquery-plugins/jquery-plugin-treeview/ + * http://docs.jquery.com/Plugins/Treeview + * + * Copyright (c) 2007 Jörn Zaefferer + * + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + * + * Revision: $Id: jquery.treeview.js 4684 2008-02-07 19:08:06Z joern.zaefferer $ + * + */ +eval(function(p,a,c,k,e,r){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}(';(4($){$.1l($.F,{E:4(b,c){l a=3.n(\'.\'+b);3.n(\'.\'+c).o(c).m(b);a.o(b).m(c);8 3},s:4(a,b){8 3.n(\'.\'+a).o(a).m(b).P()},1n:4(a){a=a||"1j";8 3.1j(4(){$(3).m(a)},4(){$(3).o(a)})},1h:4(b,a){b?3.1g({1e:"p"},b,a):3.x(4(){T(3)[T(3).1a(":U")?"H":"D"]();7(a)a.A(3,O)})},12:4(b,a){7(b){3.1g({1e:"D"},b,a)}1L{3.D();7(a)3.x(a)}},11:4(a){7(!a.1k){3.n(":r-1H:G(9)").m(k.r);3.n((a.1F?"":"."+k.X)+":G(."+k.W+")").6(">9").D()}8 3.n(":y(>9)")},S:4(b,c){3.n(":y(>9):G(:y(>a))").6(">1z").C(4(a){c.A($(3).19())}).w($("a",3)).1n();7(!b.1k){3.n(":y(>9:U)").m(k.q).s(k.r,k.t);3.G(":y(>9:U)").m(k.u).s(k.r,k.v);3.1r("").6("J."+k.5).x(4(){l a="";$.x($(3).B().1o("14").13(" "),4(){a+=3+"-5 "});$(3).m(a)})}3.6("J."+k.5).C(c)},z:4(g){g=$.1l({N:"z"},g);7(g.w){8 3.1K("w",[g.w])}7(g.p){l d=g.p;g.p=4(){8 d.A($(3).B()[0],O)}}4 1m(b,c){4 L(a){8 4(){K.A($("J."+k.5,b).n(4(){8 a?$(3).B("."+a).1i:1I}));8 1G}}$("a:10(0)",c).C(L(k.u));$("a:10(1)",c).C(L(k.q));$("a:10(2)",c).C(L())}4 K(){$(3).B().6(">.5").E(k.Z,k.Y).E(k.I,k.M).P().E(k.u,k.q).E(k.v,k.t).6(">9").1h(g.1f,g.p);7(g.1E){$(3).B().1D().6(">.5").s(k.Z,k.Y).s(k.I,k.M).P().s(k.u,k.q).s(k.v,k.t).6(">9").12(g.1f,g.p)}}4 1d(){4 1C(a){8 a?1:0}l b=[];j.x(4(i,e){b[i]=$(e).1a(":y(>9:1B)")?1:0});$.V(g.N,b.1A(""))}4 1c(){l b=$.V(g.N);7(b){l a=b.13("");j.x(4(i,e){$(e).6(">9")[1y(a[i])?"H":"D"]()})}}3.m("z");l j=3.6("Q").11(g);1x(g.1w){18"V":l h=g.p;g.p=4(){1d();7(h){h.A(3,O)}};1c();17;18"1b":l f=3.6("a").n(4(){8 3.16.15()==1b.16.15()});7(f.1i){f.m("1v").1u("9, Q").w(f.19()).H()}17}j.S(g,K);7(g.R){1m(3,g.R);$(g.R).H()}8 3.1t("w",4(a,b){$(b).1s().o(k.r).o(k.v).o(k.t).6(">.5").o(k.I).o(k.M);$(b).6("Q").1q().11(g).S(g,K)})}});l k=$.F.z.1J={W:"W",X:"X",q:"q",Y:"q-5",M:"t-5",u:"u",Z:"u-5",I:"v-5",v:"v",t:"t",r:"r",5:"5"};$.F.1p=$.F.z})(T);',62,110,'|||this|function|hitarea|find|if|return|ul||||||||||||var|addClass|filter|removeClass|toggle|expandable|last|replaceClass|lastExpandable|collapsable|lastCollapsable|add|each|has|treeview|apply|parent|click|hide|swapClass|fn|not|show|lastCollapsableHitarea|div|toggler|handler|lastExpandableHitarea|cookieId|arguments|end|li|control|applyClasses|jQuery|hidden|cookie|open|closed|expandableHitarea|collapsableHitarea|eq|prepareBranches|heightHide|split|class|toLowerCase|href|break|case|next|is|location|deserialize|serialize|height|animated|animate|heightToggle|length|hover|prerendered|extend|treeController|hoverClass|attr|Treeview|andSelf|prepend|prev|bind|parents|selected|persist|switch|parseInt|span|join|visible|binary|siblings|unique|collapsed|false|child|true|classes|trigger|else'.split('|'),0,{})) \ No newline at end of file diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/main-openstack.js b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/main-openstack.js new file mode 100644 index 0000000000..81a4e3ff95 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/common/main-openstack.js @@ -0,0 +1,198 @@ +/** + * Miscellaneous js functions for WebHelp + * Kasun Gajasinghe, http://kasunbg.blogspot.com + * David Cramer, http://www.thingbag.net + * + */ + +$(document).ready(function() { + + + // When you click on a link to an anchor, scroll down + // 105 px to cope with the fact that the banner + // hides the top 95px or so of the page. + // This code deals with the problem when + // you click on a link within a page. + $('a[href*=#]').click(function() { + if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') + && location.hostname == this.hostname) { + var $target = $(this.hash); + $target = $target.length && $target + || $('[name=' + this.hash.slice(1) +']'); + if ($target.length) { + var targetOffset = $target.offset().top - 105; + $('html,body') + .animate({scrollTop: targetOffset}, 200); + return false; + } + } + }); + + + + // $("#showHideHighlight").button(); //add jquery button styling to 'Go' button + //Generate tabs in nav-pane with JQuery + $(function() { + $("#tabs").tabs({ + cookie: { + // store cookie for 2 days. + expires: 2 + } + }); + }); + + //Generate the tree + $("#ulTreeDiv").attr("style",""); + $("#tree").treeview({ + collapsed: true, + animated: "medium", + control: "#sidetreecontrol", + persist: "cookie" + }); + + //after toc fully styled, display it. Until loading, a 'loading' image will be displayed + $("#tocLoading").attr("style","display:none;"); +// $("#ulTreeDiv").attr("style","display:block;"); + + //.searchButton is the css class applied to 'Go' button + $(function() { + $("button", ".searchButton").button(); + + $("button", ".searchButton").click(function() { return false; }); + }); + + //'ui-tabs-1' is the cookie name which is used for the persistence of the tabs.(Content/Search tab) + if ($.cookie('ui-tabs-1') === '1') { //search tab is visible + if ($.cookie('textToSearch') != undefined && $.cookie('textToSearch').length > 0) { + document.getElementById('textToSearch').value = $.cookie('textToSearch'); + Verifie('diaSearch_Form'); + searchHighlight($.cookie('textToSearch')); + $("#showHideHighlight").css("display","block"); + } + } + + syncToc(); //Synchronize the toc tree with the content pane, when loading the page. + //$("#doSearch").button(); //add jquery button styling to 'Go' button + + // When you click on a link to an anchor, scroll down + // 105 px to cope with the fact that the banner + // hides the top 95px or so of the page. + // This code deals with the problem when + // you click on a link from another page. + var hash = window.location.hash; + if(hash){ + var targetOffset = $(hash).offset().top - 105; + $('html,body').animate({scrollTop: targetOffset}, 200); + return false; + } + +}); + +/** + * Synchronize with the tableOfContents + */ +function syncToc(){ + var a = document.getElementById("webhelp-currentid"); + if (a != undefined) { + var b = a.getElementsByTagName("a")[0]; + + if (b != undefined) { + //Setting the background for selected node. + var style = a.getAttribute("style", 2); + if (style != null && !style.match(/background-color: Background;/)) { + a.setAttribute("style", "background-color: #DEE9E9; " + style); + b.setAttribute("style", "color: black;"); + } else if (style != null) { + a.setAttribute("style", "background-color: #DEE9E9; " + style); + b.setAttribute("style", "color: black;"); + } else { + a.setAttribute("style", "background-color: #DEE9E9; "); + b.setAttribute("style", "color: black;"); + } + } + + //shows the node related to current content. + //goes a recursive call from current node to ancestor nodes, displaying all of them. + while (a.parentNode && a.parentNode.nodeName) { + var parentNode = a.parentNode; + var nodeName = parentNode.nodeName; + + if (nodeName.toLowerCase() == "ul") { + parentNode.setAttribute("style", "display: block;"); + } else if (nodeName.toLocaleLowerCase() == "li") { + parentNode.setAttribute("class", "collapsable"); + parentNode.firstChild.setAttribute("class", "hitarea collapsable-hitarea "); + } + a = parentNode; + } + } +} + +/** + * Code for Show/Hide TOC + * + */ +function showHideToc() { + var showHideButton = $("#showHideButton"); + var leftNavigation = $("#leftnavigation"); + var content = $("#content"); + + if (showHideButton != undefined && showHideButton.hasClass("pointLeft")) { + //Hide TOC + showHideButton.removeClass('pointLeft').addClass('pointRight'); + content.css("margin", "0 0 0 0"); + leftNavigation.css("display","none"); + showHideButton.attr("title", "Show the TOC tree"); + } else { + //Show the TOC + showHideButton.removeClass('pointRight').addClass('pointLeft'); + content.css("margin", "0 0 0 280px"); + leftNavigation.css("display","block"); + showHideButton.attr("title", "Hide the TOC Tree"); + } +} + +/** + * Code for search highlighting + */ +var highlightOn = true; +function searchHighlight(searchText) { + highlightOn = true; + if (searchText != undefined) { + var wList; + var sList = new Array(); //stem list + //Highlight the search terms + searchText = searchText.toLowerCase().replace(/<\//g, "_st_").replace(/\$_/g, "_di_").replace(/\.|%2C|%3B|%21|%3A|@|\/|\*/g, " ").replace(/(%20)+/g, " ").replace(/_st_/g, " 0) { + document.getElementById('textToSearch').value = $.cookie('textToSearch'); + Effectuer_recherche($.cookie('textToSearch')); + searchHighlight($.cookie('textToSearch')); + $("#showHideHighlight").css("display","block"); + } + } + + syncToc(); //Synchronize the toc tree with the content pane, when loading the page. + //$("#doSearch").button(); //add jquery button styling to 'Go' button + + // When you click on a link to an anchor, scroll down + // 105 px to cope with the fact that the banner + // hides the top 95px or so of the page. + // This code deals with the problem when + // you click on a link from another page. + var hash = window.location.hash; + if(hash){ + var targetOffset = $(hash).offset().top - 105; + $('html,body').animate({scrollTop: targetOffset}, 200); + return false; + } + +}); + +/** + * Synchronize with the tableOfContents + */ +function syncToc(){ + var a = document.getElementById("webhelp-currentid"); + if (a != undefined) { + var b = a.getElementsByTagName("a")[0]; + + if (b != undefined) { + //Setting the background for selected node. + var style = a.getAttribute("style", 2); + if (style != null && !style.match(/background-color: Background;/)) { + a.setAttribute("style", "background-color: #D8D8D8; " + style); + b.setAttribute("style", "color: black;"); + } else if (style != null) { + a.setAttribute("style", "background-color: #D8D8D8; " + style); + b.setAttribute("style", "color: black;"); + } else { + a.setAttribute("style", "background-color: #D8D8D8; "); + b.setAttribute("style", "color: black;"); + } + } + + //shows the node related to current content. + //goes a recursive call from current node to ancestor nodes, displaying all of them. + while (a.parentNode && a.parentNode.nodeName) { + var parentNode = a.parentNode; + var nodeName = parentNode.nodeName; + + if (nodeName.toLowerCase() == "ul") { + parentNode.setAttribute("style", "display: block;"); + } else if (nodeName.toLocaleLowerCase() == "li") { + parentNode.setAttribute("class", "collapsable"); + parentNode.firstChild.setAttribute("class", "hitarea collapsable-hitarea "); + } + a = parentNode; + } + } +} + +/** + * Code for Show/Hide TOC + * + */ +function showHideToc() { + var showHideButton = $("#showHideButton"); + var leftNavigation = $("#leftnavigation"); + var content = $("#content"); + + if (showHideButton != undefined && showHideButton.hasClass("pointLeft")) { + //Hide TOC + showHideButton.removeClass('pointLeft').addClass('pointRight'); + content.css("margin", "125px 0 0 0"); + leftNavigation.css("display","none"); + showHideButton.attr("title", "Show the TOC tree"); + $("body").addClass("sidebar"); + } else { + //Show the TOC + showHideButton.removeClass('pointRight').addClass('pointLeft'); + content.css("margin", "125px 0 0 280px"); + leftNavigation.css("display","block"); + showHideButton.attr("title", "Hide the TOC Tree"); + $("body").removeClass("sidebar"); + } +} + +/** + * Code for search highlighting + */ +var highlightOn = true; +function searchHighlight(searchText) { + highlightOn = true; + if (searchText != undefined) { + var wList; + var sList = new Array(); //stem list + //Highlight the search terms + searchText = searchText.toLowerCase().replace(/<\//g, "_st_").replace(/\$_/g, "_di_").replace(/\.|%2C|%3B|%21|%3A|@|\/|\*/g, " ").replace(/(%20)+/g, " ").replace(/_st_/g, " 0) { + document.getElementById('textToSearch').value = $.cookie('textToSearch'); + Verifie('diaSearch_Form'); + searchHighlight($.cookie('textToSearch')); + $("#showHideHighlight").css("display","block"); + } + } + + syncToc(); //Synchronize the toc tree with the content pane, when loading the page. + //$("#doSearch").button(); //add jquery button styling to 'Go' button + + // When you click on a link to an anchor, scroll down + // 105 px to cope with the fact that the banner + // hides the top 95px or so of the page. + // This code deals with the problem when + // you click on a link from another page. + var hash = window.location.hash; + if(hash){ + var targetOffset = $(hash).offset().top - 105; + $('html,body').animate({scrollTop: targetOffset}, 200); + return false; + } + +}); + +/** + * Synchronize with the tableOfContents + */ +function syncToc(){ + var a = document.getElementById("webhelp-currentid"); + if (a != undefined) { + var b = a.getElementsByTagName("a")[0]; + + if (b != undefined) { + //Setting the background for selected node. + var style = a.getAttribute("style", 2); + if (style != null && !style.match(/background-color: Background;/)) { + a.setAttribute("style", "background-color: #DEE9E9; " + style); + b.setAttribute("style", "color: black;"); + } else if (style != null) { + a.setAttribute("style", "background-color: #DEE9E9; " + style); + b.setAttribute("style", "color: black;"); + } else { + a.setAttribute("style", "background-color: #DEE9E9; "); + b.setAttribute("style", "color: black;"); + } + } + + //shows the node related to current content. + //goes a recursive call from current node to ancestor nodes, displaying all of them. + while (a.parentNode && a.parentNode.nodeName) { + var parentNode = a.parentNode; + var nodeName = parentNode.nodeName; + + if (nodeName.toLowerCase() == "ul") { + parentNode.setAttribute("style", "display: block;"); + } else if (nodeName.toLocaleLowerCase() == "li") { + parentNode.setAttribute("class", "collapsable"); + parentNode.firstChild.setAttribute("class", "hitarea collapsable-hitarea "); + } + a = parentNode; + } + } +} + +/** + * Code for Show/Hide TOC + * + */ +function showHideToc() { + var showHideButton = $("#showHideButton"); + var leftNavigation = $("#leftnavigation"); + var content = $("#content"); + + if (showHideButton != undefined && showHideButton.hasClass("pointLeft")) { + //Hide TOC + showHideButton.removeClass('pointLeft').addClass('pointRight'); + content.css("margin", "0 0 0 0"); + leftNavigation.css("display","none"); + showHideButton.attr("title", "Show the TOC tree"); + } else { + //Show the TOC + showHideButton.removeClass('pointRight').addClass('pointLeft'); + content.css("margin", "0 0 0 280px"); + leftNavigation.css("display","block"); + showHideButton.attr("title", "Hide the TOC Tree"); + } +} + +/** + * Code for search highlighting + */ +var highlightOn = true; +function searchHighlight(searchText) { + highlightOn = true; + if (searchText != undefined) { + var wList; + var sList = new Array(); //stem list + //Highlight the search terms + searchText = searchText.toLowerCase().replace(/<\//g, "_st_").replace(/\$_/g, "_di_").replace(/\.|%2C|%3B|%21|%3A|@|\/|\*/g, " ").replace(/(%20)+/g, " ").replace(/_st_/g, " + + + +Identity Service Concepts
       

      + The Keystone Identity Service has several key concepts which are + important to understand: +

      User

      A digital representation of a person, system, or service who uses OpenStack cloud services. + Keystone authentication services will validate that incoming request are being made by the user + who claims to be making the call. Users have a login and may be assigned tokens to access + resources. Users may be directly assigned to a particular tenant and + behave as if they are contained in that tenant.

      Credentials

      + Data that belongs to, is owned by, and generally only known by a user that the user can present + to prove they are who they are (since nobody else should know that data). +

      Examples are: +

      +

      Authentication

      + In the context of Keystone, authentication is the act of confirming the identity of a + user or the truth of a claim. + Keystone will confirm that incoming request are being made by the user + who claims to be making the call by validating a set of claims that the user is making. + These claims are initially in the form of a set of credentials (username & password, + or username and API key). After initial confirmation, Keystone will issue the user a token + which the user can then provide to demonstrate that their identity has been authenticated + when making subsequent requests. +

      Token

      + A token is an arbitrary bit of text that is used to access + resources. Each token has a scope which describes which + resources are accessible with it. A token may be + revoked at anytime and is valid for a finite duration. +

      + While Keystone supports token-based authentication in this release, + the intention is for it to support additional protocols in the + future. The intent is for it to be an integration service foremost, and not + a aspire to be a full-fledged identity store and management solution. +

      Tenant

      + A container used to group or isolate resources and/or identity + objects. Depending on the service operator, a tenant may map to a customer, + account, organization, or project. +

      Service

      + An OpenStack service, such as Compute (Nova), Object Storage (Swift), or Image Service (Glance). A service provides + one or more endpoints through which users can access resources and perform + (presumably useful) operations. +

      Endpoint

      + An network-accessible address, usually described by URL, where a service may be accessed. If using an extension for templates, you can create an endpoint template, which represents the templates of all the consumable services that are available across the regions. +

      Role

      A personality that a user assumes when performing a specific set of operations. + A role includes a set of right and privileges. A user assuming that role inherits + those rights and privileges. +

      + In Keystone, a token that is issued to a user includes the list of roles that user + can assume. Services that are being called by that user determine how they interpret the set + of roles a user has and which operations or resources each roles grants access to. +



      \ No newline at end of file diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/configuring-the-identity-service.html b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/configuring-the-identity-service.html new file mode 100644 index 0000000000..37b72cfa2a --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/configuring-the-identity-service.html @@ -0,0 +1,85 @@ + + + + +Configuring the Identity Service
       

      Here are the steps to get started with authentication using Keystone, the project name for + the OpenStack Identity Service.

      Typically a project that uses Keystone has settings in a configuration file:

      +

      +



      \ No newline at end of file diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/creating-tenants-users-roles-tokens-and-endpoints.html b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/creating-tenants-users-roles-tokens-and-endpoints.html new file mode 100644 index 0000000000..ef11d1a8b9 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/creating-tenants-users-roles-tokens-and-endpoints.html @@ -0,0 +1,71 @@ + + + + +Creating Tenants, Users, Roles, Tokens and Endpoints
       

      Sample data entries are available in keystone/bin/sampledata.sh. The following are just + examples for a walk-through.

      [Note]Note

      + Some reserved roles are defined (and can be modified) through the keystone.conf in the /etc folder.

      Add two tenants, and administrative tenant and a tenant named demo. Tenants are equivalent to projects in the previous auth system in Compute. In Object Storage, Tenants are similar to accounts in the swauth system.

        bin/keystone-manage  tenant add admin
      +  bin/keystone-manage  tenant add demo

      Next add two users to the Identity Service and assign their passwords. The last value in the list is an ID number.

        bin/keystone-manage  user add admin p4ssw0rd 1
      +  bin/keystone-manage  user add demo p455w0rd 2

      Now you can assign roles, which includes a set of rights and privileges that are double-checked with the token that the user is issued.

        bin/keystone-manage  role add Admin
      +  bin/keystone-manage  role add Member
      +  bin/keystone-manage  role grant Admin admin

      Now define the endpointTemplates, which are URLs plus port values that indicate where a service may be accessed. This example shows many services available to Compute including the Image Service, the Object Storage service, as well as Identity itself. Since there is just one zone in this example, it represents all the services across the single region (but could also represent all the regions).

        bin/keystone-manage  endpointTemplates add RegionOne swift http://%HOST_IP%:8080/v1/AUTH_%tenant_id% http://%HOST_IP%:8080/ http://%HOST_IP%:8080/v1/AUTH_%tenant_id% 1 1
      +  bin/keystone-manage  endpointTemplates add RegionOne nova_compat http://%HOST_IP%:8774/v1.0/ http://%HOST_IP%:8774/v1.0  http://%HOST_IP%:8774/v1.0 1 1
      +  bin/keystone-manage  endpointTemplates add RegionOne nova http://%HOST_IP%:8774/v1.1/%tenant_id% http://%HOST_IP%:8774/v1.1/%tenant_id%  http://%HOST_IP%:8774/v1.1/%tenant_id% 1 1
      +  bin/keystone-manage  endpointTemplates add RegionOne glance http://%HOST_IP%:9292/v1.1/%tenant_id% http://%HOST_IP%:9292/v1.1/%tenant_id% http://%HOST_IP%:9292/v1.1/%tenant_id% 1 1
      +  bin/keystone-manage  endpointTemplates add RegionOne identity http://%HOST_IP%:5000/v2.0 http://%HOST_IP%:5001/v2.0 http://%HOST_IP%:5000/v2.0 1 1

      Now you add a default token for the admin user to get when requesting a token.

      bin/keystone-manage  token add 999888777666 1 1 2015-02-05T00:00

      This section adds the tenant endpoints for each user created above (admin with ID 1 and demo with ID 2).

        bin/keystone-manage  endpoint add 1 1
      +  bin/keystone-manage  endpoint add 1 2
      +  bin/keystone-manage  endpoint add 1 3
      +  bin/keystone-manage  endpoint add 1 4
      +  bin/keystone-manage  endpoint add 1 5
      +  bin/keystone-manage  endpoint add 1 6
      +  
      +  bin/keystone-manage  endpoint add 2 1
      +  bin/keystone-manage  endpoint add 2 2
      +  bin/keystone-manage  endpoint add 2 3
      +  bin/keystone-manage  endpoint add 2 4
      +  bin/keystone-manage  endpoint add 2 5
      +  bin/keystone-manage  endpoint add 2 6

      You can configure Identity and Compute with a single region or multiple regions using + zones. You need to add a label for the endpoint for each region. Having a single region + doesn't require any work other than adding label.

      +

      keystone-manage endpointTemplates add SWRegion identity http://%HOST_IP%:5000/v2.0 http://%HOST_IP%:5001/v2.0 http://%HOST_IP%:5000/v2.0 1 1

      +



      \ No newline at end of file diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/curl-examples.html b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/curl-examples.html new file mode 100644 index 0000000000..7cc15ab9e5 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/curl-examples.html @@ -0,0 +1,46 @@ + + + + +Curl examples
       

      All examples assume default port usage (5001) and use the example admin account created above.

      Admin Initial GET

      Retrieves version, full API url, pdf doc link, and wadl link:

      $> curl http://0.0.0.0:5001

      or:

      $> curl http://0.0.0.0:5001/v2.0/

      Retrieve token:

      To retrieve the token and expiration date for a user:

      $> curl -d '{"passwordCredentials":{"username": "MyAdmin", "password": "P@ssw0rd"}}' -H "Content-type: application/json" http://localhost:5001/v2.0/tokens

      This will return something like:

      $> {"auth": {"token": {"expires": "2011-08-10T17:45:22.838440", "id": "0eed0ced-4667-4221-a0b2-24c91f242b0b"}}}
      [Note]Note

      Save the “id†value as you’ll be using it in the calls below.

      To retrieve a list of tenants:

      Run:

      $> curl -H "X-Auth-Token:999888777666" http://localhost:5001/v2.0/tenants

      This will return something like:

      $> {"tenants": {"values": [{"enabled": 1, "id": "MyTenant", "description": null}], "links": []}}

      Retrieve a list of users:

      Run:

      $> curl -H "X-Auth-Token:999888777666" http://localhost:5001/v2.0/users

      This will return something like:

      $> {"users": {"values": [{"email": null, "enabled": true, "id": "MyAdmin", "tenantId": "MyTenant"}], "links": []}}

      Retrieve information about the token:

      Run:

      $> curl -H "X-Auth-Token:999888777666" http://localhost:5001/v2.0/tokens/0eed0ced-4667-4221-a0b2-24c91f242b0b

      This will return something like:

      $> {"auth": {"token": {"expires": "2011-08-11T04:26:58.145171", "id": "0eed0ced-4667-4221-a0b2-24c91f242b0b"}, "user": {"username": "MyAdmin", "roleRefs": [{"roleId": "Admin", "id": 1}], "tenantId": "MyTenant"}}}

      Revoking a token:

      Run:

      $> curl -X DELETE -H "X-Auth-Token:999888777666" http://localhost:5001/tokens/0eed0ced-4667-4221-a0b2-24c91f242b0b

      Creating a tenant:

      Run:

       $> curl -H "X-Auth-Token:999888777666" -H "Content-type: application/json" -d '{"tenant":{"id":"MyTenant2", "description":"My 2nd Tenant", "enabled":true}}'  http://localhost:5001/tenants

      This will return something like:

      $> {"tenant": {"enabled": true, "id": "MyTenant2", "description": "My 2nd Tenant"}}

      Verifying the tenant:

      Run:

      $> curl -H "X-Auth-Token:999888777666" http://localhost:5001/v2.0/tenants/MyTenant2

      This will return something like:

      $> {"tenant": {"enabled": 1, "id": "MyTenant2", "description": "My 2nd Tenant"}}

      Updating the tenant:

      Run:

      $> curl -X PUT -H "X-Auth-Token:999888777666" -H "Content-type: application/json" -d '{"tenant":{"description":"My NEW 2nd Tenant"}}' http://localhost:5001/v2.0/tenants/MyTenant2
      +

      This will return something like: +

      $> {"tenant": {"enabled": true, "id": "MyTenant2", "description": "My NEW 2nd Tenant"}}
      +

      Deleting the tenant:

      Run:

      $> curl -X DELETE -H "X-Auth-Token:999888777666" http://localhost:5001/v2.0/tenants/MyTenant2


      \ No newline at end of file diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/dependencies.html b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/dependencies.html new file mode 100644 index 0000000000..da4cc0eacf --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/dependencies.html @@ -0,0 +1,47 @@ + + + + +Dependencies \ No newline at end of file diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/index.html b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/index.html new file mode 100644 index 0000000000..b2d6098455 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/index.html @@ -0,0 +1,56 @@ + + + + +OpenStack Identity Starter Guide
       

      + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at +

      http://www.apache.org/licenses/LICENSE-2.0

      + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +

      2011-09-28

      Abstract

      OpenStackâ„¢ Identity Service offers open source software for identity management + for cloud users and administrators. This manual provides guidance for installing, + managing, and understanding the software that runs OpenStack Identity Service. +




      \ No newline at end of file diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/installing-openstack-identity-service.html b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/installing-openstack-identity-service.html new file mode 100644 index 0000000000..f8e41db2ba --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/installing-openstack-identity-service.html @@ -0,0 +1,88 @@ + + + + +Installing the OpenStack Identity Service
       

      You can install the Identity service from packages or from source.

      + To install the latest version of the Identity Service (Keystone) from the Github + repositories, following the following instructions. +

      + For Debian/Ubuntu, add the Keystone PPA to your sources.lst: +

      + To install the latest version of Keystone from the Launchpad + Bazaar repositories, following the following instructions. +

      1. + Grab the source tarball from + Github +

      2. + Untar the source tarball: +

        + $> tar -xzf <FILE> +

      3. + Change into the package directory and build/install: +

        + $> cd keystone-<RELEASE> $> sudo python setup.py + install +

      + To install the latest version of Keystone from the Github + repositories, see the following instructions. +

      These are for Debian/Ubuntu.

      [Note]Note

      If you want to build the Keystone documentation locally, you will also want + to install the python-sphinx package.

      1. + Install Git and build dependencies: +

        $> sudo apt-get install git python-eventlet python-routes python-greenlet + swift $> sudo apt-get install python-argparse python-sqlalchemy python-wsgiref + python-pastedeploy

      2. + Branch Keystone's trunk branch. (See + http://wiki.openstack.org/GerritWorkflow + to get the project initially setup): +

        + $> git checkout master $> git pull origin master +

      3. + Install Keystone: +

        + $> sudo python setup.py install +



      \ No newline at end of file diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/quick-guide-to-getting-started-with-keystone.html b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/quick-guide-to-getting-started-with-keystone.html new file mode 100644 index 0000000000..e3ce819ea2 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/quick-guide-to-getting-started-with-keystone.html @@ -0,0 +1,44 @@ + + + + +Chapter 1. Quick Guide to Getting Started with Keystone
       

      + The OpenStack Identity Service provides services for authenticating and managing user, account, and role information for OpenStack clouds running on OpenStack Compute and as an authorization service for OpenStack Object Storage.



      \ No newline at end of file diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/search/default.props b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/search/default.props new file mode 100644 index 0000000000..22edf43915 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/search/default.props @@ -0,0 +1 @@ +DEF01=a \ No newline at end of file diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/search/en-us.props b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/search/en-us.props new file mode 100644 index 0000000000..da284ce5d4 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/search/en-us.props @@ -0,0 +1,45 @@ +DEF01=this +DEF02=is +DEF03=the +DEF04=in +DEF05=i +DEF06=on +DEF07=a +DEF08=about +DEF09=an +DEF10=are +DEF11=as +DEF12=at +DEF13=be +DEF14=by +DEF15=com +DEF16=de +DEF17=en +DEF18=for +DEF19=from +DEF20=how +DEF21=it +DEF22=la +DEF23=of +DEF24=on +DEF25=or +DEF26=that +DEF27=to +DEF28=was +DEF29=what +DEF30=when +DEF31=where +DEF32=who +DEF33=will +DEF34=with +DEF35=und +DEF36=Next +DEF37=Prev +DEF38=Home +DEF39=Motive +DEF40=Inc +DEF41=Copyright +DEF42=All +DEF43=rights +DEF44=reserved +DEF45=Up \ No newline at end of file diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/search/es-es.props b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/search/es-es.props new file mode 100644 index 0000000000..fb73bdcc1f --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/search/es-es.props @@ -0,0 +1,179 @@ +DEF01=un +DEF02=una +DEF03=unas +DEF04=unos +DEF05=uno +DEF06=sobre +DEF07=todo +DEF08=también +DEF09=tras +DEF10=otro +DEF11=algún +DEF12=alguno +DEF13=alguna +DEF14=algunos +DEF15=algunas +DEF16=ser +DEF17=es +DEF18=soy +DEF19=eres +DEF20=somos +DEF21=sois +DEF22=estoy +DEF23=esta +DEF24=estamos +DEF25=estais +DEF26=estan +DEF27=como +DEF28=en +DEF29=para +DEF30=atras +DEF31=porque +DEF32=por +DEF33=estado +DEF34=estaba +DEF35=ante +DEF36=antes +DEF37=siendo +DEF38=ambos +DEF39=pero +DEF40=por +DEF41=poder +DEF42=puede +DEF43=puedo +DEF44=podemos +DEF45=podeis +DEF46=pueden +DEF47=fui +DEF48=fue +DEF49=fuimos +DEF50=fueron +DEF51=hacer +DEF52=hago +DEF53=hace +DEF54=hacemos +DEF55=haceis +DEF56=hacen +DEF57=cada +DEF58=fin +DEF59=incluso +DEF60=primero +DEF61=desde +DEF62=conseguir +DEF63=consigo +DEF64=consigue +DEF65=consigues +DEF66=conseguimos +DEF67=consiguen +DEF68=ir +DEF69=voy +DEF70=va +DEF71=vamos +DEF72=vais +DEF73=van +DEF74=vaya +DEF75=gueno +DEF76=ha +DEF77=tener +DEF78=tengo +DEF79=tiene +DEF80=tenemos +DEF81=teneis +DEF82=tienen +DEF83=el +DEF84=la +DEF85=lo +DEF86=las +DEF87=los +DEF88=su +DEF89=aqui +DEF90=mio +DEF91=tuyo +DEF92=ellos +DEF93=ellas +DEF94=nos +DEF95=nosotros +DEF96=vosotros +DEF97=vosotras +DEF98=si +DEF99=dentro +DEF100=solo +DEF101=solamente +DEF102=saber +DEF103=sabes +DEF104=sabe +DEF105=sabemos +DEF106=sabeis +DEF107=saben +DEF108=ultimo +DEF109=largo +DEF110=bastante +DEF111=haces +DEF112=muchos +DEF113=aquellos +DEF114=aquellas +DEF115=sus +DEF116=entonces +DEF117=tiempo +DEF118=verdad +DEF119=verdadero +DEF120=verdadera +DEF121=cierto +DEF122=ciertos +DEF123=cierta +DEF124=ciertas +DEF125=intentar +DEF126=intento +DEF127=intenta +DEF128=intentas +DEF129=intentamos +DEF130=intentais +DEF131=intentan +DEF132=dos +DEF133=bajo +DEF134=arriba +DEF135=encima +DEF136=usar +DEF137=uso +DEF138=usas +DEF139=usa +DEF140=usamos +DEF141=usais +DEF142=usan +DEF143=emplear +DEF144=empleo +DEF145=empleas +DEF146=emplean +DEF147=ampleamos +DEF148=empleais +DEF149=valor +DEF150=muy +DEF151=era +DEF152=eras +DEF153=eramos +DEF154=eran +DEF155=modo +DEF156=bien +DEF157=cual +DEF158=cuando +DEF159=donde +DEF160=mientras +DEF161=quien +DEF162=con +DEF163=entre +DEF164=sin +DEF165=trabajo +DEF166=trabajar +DEF167=trabajas +DEF168=trabaja +DEF169=trabajamos +DEF170=trabajais +DEF171=trabajan +DEF172=podria +DEF173=podrias +DEF174=podriamos +DEF175=podrian +DEF176=podriais +DEF177=yo +DEF178=aquel +DEF179=qué \ No newline at end of file diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/search/htmlFileInfoList.js b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/search/htmlFileInfoList.js new file mode 100644 index 0000000000..0dc7dd67bc --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/search/htmlFileInfoList.js @@ -0,0 +1,9 @@ +fil = new Array(); +fil["0"]= "configuring-the-identity-service.html@@@Configuring the Identity Service@@@null"; +fil["1"]= "creating-tenants-users-roles-tokens-and-endpoints.html@@@Creating Tenants, Users, Roles, Tokens and Endpoints@@@null"; +fil["2"]= "curl-examples.html@@@Curl examples@@@null"; +fil["3"]= "dependencies.html@@@Dependencies@@@null"; +fil["4"]= "Identity-Service-Concepts-e1362.html@@@Identity Service Concepts@@@null"; +fil["5"]= "installing-openstack-identity-service.html@@@Installing the OpenStack Identity Service@@@null"; +fil["6"]= "quick-guide-to-getting-started-with-keystone.html@@@Chapter 1. Quick Guide to Getting Started with Keystone@@@null"; +fil["7"]= "starting-identity-service.html@@@Starting the Identity Service@@@null"; diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/search/htmlFileList.js b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/search/htmlFileList.js new file mode 100644 index 0000000000..ba2064a8fc --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/search/htmlFileList.js @@ -0,0 +1,10 @@ +//List of files which are indexed. +fl = new Array(); +fl["0"]= "configuring-the-identity-service.html"; +fl["1"]= "creating-tenants-users-roles-tokens-and-endpoints.html"; +fl["2"]= "curl-examples.html"; +fl["3"]= "dependencies.html"; +fl["4"]= "Identity-Service-Concepts-e1362.html"; +fl["5"]= "installing-openstack-identity-service.html"; +fl["6"]= "quick-guide-to-getting-started-with-keystone.html"; +fl["7"]= "starting-identity-service.html"; diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/search/index-1.js b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/search/index-1.js new file mode 100644 index 0000000000..04f4ac4213 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/search/index-1.js @@ -0,0 +1,158 @@ +var indexerLanguage="en"; +//Auto generated index for searching. +w["-d"]="2"; +w["-date"]="7"; +w["-h"]="2"; +w["-x"]="2"; +w["-xzf"]="5"; +w["0"]="0,1,2,7"; +w["00"]="1"; +w["05"]="3"; +w["0eed0ced-4667-4221-a0b2-24c91f242b0b"]="2"; +w["1"]="0,1,2,6"; +w["127"]="0"; +w["145171"]="2"; +w["2"]="1"; +w["2011-08-10t17"]="2"; +w["2011-08-11t04"]="2"; +w["2015-02-05t00"]="1"; +w["22"]="2"; +w["26"]="2"; +w["2nd"]="2"; +w["3"]="1"; +w["4"]="1"; +w["45"]="2"; +w["5"]="1"; +w["5000"]="1,7"; +w["5001"]="0,1,2,7"; +w["58"]="2"; +w["6"]="1"; +w["8080"]="1"; +w["8100"]="0"; +w["838440"]="2"; +w["8774"]="1"; +w["8888"]="0"; +w["9292"]="1"; +w["999888777666"]="0,1,2"; +w["abov"]="1,2"; +w["access"]="1,4"; +w["account"]="1,2,4,6"; +w["account_autocr"]="0"; +w["across"]="1,4"; +w["act"]="4"; +w["ad"]="1"; +w["add"]="1,5"; +w["add-apt-repositori"]="5"; +w["addit"]="4"; +w["address"]="4"; +w["admin"]="1,2,7"; +w["admin_token"]="0"; +w["administr"]="1"; +w["after"]="4,7"; +w["alchemi"]="3"; +w["all"]="1,2,4"; +w["also"]="0,1,5"; +w["and"]="0,1,2,3,4,5,6,7"; +w["ani"]="1"; +w["anytim"]="4"; +w["api"]="2,4,7"; +w["api-past"]="0"; +w["app"]="0"; +w["applic"]="2"; +w["apt-get"]="5"; +w["arbitrari"]="4"; +w["aspir"]="4"; +w["assign"]="1,4"; +w["assum"]="2,4"; +w["auth"]="1,2,7"; +w["auth_"]="1"; +w["auth_host"]="0"; +w["auth_port"]="0"; +w["auth_protocol"]="0"; +w["authent"]="0,4,6,7"; +w["author"]="6"; +w["avail"]="1,4"; +w["bazaar"]="5"; +w["be"]="4"; +w["been"]="4"; +w["behav"]="4"; +w["belong"]="4"; +w["below"]="2"; +w["bin"]="1,7"; +w["bind"]="7"; +w["bind_port"]="0"; +w["bit"]="4"; +w["branch"]="5"; +w["build"]="5"; +w["but"]="0,1"; +w["cach"]="0"; +w["call"]="2,4"; +w["can"]="0,1,3,4,5"; +w["catch_error"]="0"; +w["cd"]="5,7"; +w["chang"]="5"; +w["chapter"]="6"; +w["checkout"]="5"; +w["claim"]="4"; +w["cloud"]="4,6"; +w["command"]="3,7"; +w["comment"]="0,1,2,3,4,5,6,7"; +w["compon"]="7"; +w["comput"]="0,1,4,6"; +w["concept"]="4,6"; +w["conf"]="0,1,7"; +w["configur"]="0,1,3,6,7"; +w["confirm"]="4"; +w["conn_str"]="3"; +w["connect"]="3"; +w["consum"]="4"; +w["contain"]="0,4"; +w["content"]="6"; +w["content-typ"]="2"; +w["context"]="4"; +w["could"]="1"; +w["creat"]="1,2,4,6,7"; +w["create_engin"]="3"; +w["credenti"]="0,4"; +w["curl"]="2,6"; +w["custom"]="4"; +w["data"]="1,4"; +w["databas"]="3,7"; +w["date"]="2"; +w["db"]="7"; +w["db_sync"]="3"; +w["debian"]="5"; +w["default"]="0,1,2,7"; +w["defin"]="1"; +w["delay_auth_decis"]="0"; +w["delet"]="2"; +w["demo"]="1"; +w["demonstr"]="4"; +w["depend"]="3,4,5,6"; +w["describ"]="3,4"; +w["descript"]="2"; +w["determin"]="4"; +w["digit"]="4"; +w["direct"]="4"; +w["directori"]="0,5"; +w["disqus"]="0,1,2,3,4,5,6,7"; +w["do"]="3"; +w["doc"]="2,3"; +w["document"]="5"; +w["doesn"]="1"; +w["double-check"]="1"; +w["driver"]="4"; +w["dtpw"]="0"; +w["durat"]="4"; +w["each"]="1,4,7"; +w["egg"]="0"; +w["els"]="4"; +w["email"]="2"; +w["enabl"]="0,1,2,3,4,5,6,7"; +w["endpoint"]="1,4,6"; +w["endpointtempl"]="1"; +w["engin"]="3"; +w["ensur"]="0,7"; +w["enter"]="7"; +w["entri"]="1"; + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/search/index-2.js b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/search/index-2.js new file mode 100644 index 0000000000..8c6608168f --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/search/index-2.js @@ -0,0 +1,157 @@ +//Auto generated index for searching. +w["environ"]="0"; +w["equival"]="1"; +w["etc"]="0,1,7"; +w["exampl"]="0,1,2,4,6"; +w["expir"]="2"; +w["expos"]="7"; +w["extens"]="4"; +w["file"]="0,5"; +w["filter"]="0"; +w["finit"]="4"; +w["folder"]="1,7"; +w["follow"]="1,5,7"; +w["foremost"]="4"; +w["form"]="4"; +w["full"]="2"; +w["full-fledg"]="4"; +w["futur"]="4"; +w["general"]="4"; +w["gerritworkflow"]="5"; +w["get"]="0,1,2,5,6"; +w["git"]="5"; +w["github"]="5"; +w["glanc"]="0,1,4"; +w["glance-api"]="0"; +w["glance-registri"]="0"; +w["grab"]="5"; +w["grant"]="1,4"; +w["group"]="4"; +w["guid"]="6"; +w["has"]="0,4"; +w["have"]="1,4"; +w["held"]="0"; +w["help"]="3"; +w["here"]="0"; +w["highlight"]="3"; +w["host_ip"]="1"; +w["html"]="3"; +w["http"]="0,1,2,3,5"; +w["id"]="1,2"; +w["ident"]="0,1,4,5,6,7"; +w["if"]="4,5"; +w["imag"]="0,1,4"; +w["import"]="3,4"; +w["includ"]="1,4"; +w["incom"]="4"; +w["indic"]="1"; +w["inform"]="2,6"; +w["inherit"]="4"; +w["ini"]="0"; +w["initi"]="2,3,4,5"; +w["instal"]="3,5,6"; +w["instruct"]="5"; +w["integr"]="4"; +w["intent"]="4"; +w["interpret"]="4"; +w["into"]="5"; +w["ip"]="7"; +w["isol"]="4"; +w["issu"]="1,4"; +w["itself"]="1,3"; +w["javascript"]="0,1,2,3,4,5,6,7"; +w["json"]="2"; +w["just"]="1"; +w["key"]="4"; +w["keyston"]="0,1,3,4,5,6,7"; +w["keystone-"]="5"; +w["keystone-admin"]="7"; +w["keystone-auth"]="7"; +w["keystone-cor"]="5"; +w["keystone-manag"]="1,3,7"; +w["know"]="4"; +w["known"]="4"; +w["label"]="1"; +w["last"]="1"; +w["latest"]="5"; +w["launchpad"]="5"; +w["legaci"]="7"; +w["legal"]="0,1,2,3,4,5,6,7"; +w["licens"]="4"; +w["like"]="2,7"; +w["line"]="3"; +w["link"]="2"; +w["list"]="1,2,4"; +w["listen"]="7"; +w["ll"]="2"; +w["local"]="5"; +w["localhost"]="2"; +w["log_nam"]="0"; +w["login"]="4"; +w["lst"]="5"; +w["made"]="4"; +w["main"]="0"; +w["make"]="4"; +w["manag"]="3,4,6"; +w["mani"]="1"; +w["map"]="4"; +w["master"]="5"; +w["match"]="4"; +w["may"]="1,4"; +w["member"]="1"; +w["memcach"]="0"; +w["modifi"]="1"; +w["more"]="4"; +w["multipl"]="1"; +w["my"]="2"; +w["myadmin"]="2"; +w["myten"]="2"; +w["mytenant2"]="2"; +w["name"]="0,1"; +w["need"]="1,3"; +w["network-access"]="4"; +w["new"]="0,2"; +w["next"]="1"; +w["nobodi"]="4"; +w["not"]="4"; +w["note"]="1,2,5"; +w["notic"]="0,1,2,3,4,5,6,7"; +w["nova"]="0,1,4"; +w["nova-api"]="0"; +w["nova-api-past"]="0"; +w["nova_compat"]="1"; +w["nova_to_os_env"]="0"; +w["now"]="1"; +w["null"]="2"; +w["number"]="1"; +w["object"]="0,1,4,6"; +w["onc"]="3"; +w["one"]="1,3,4"; +w["onli"]="4,7"; +w["openstack"]="0,4,5,6"; +w["oper"]="4"; +w["org"]="3,5"; +w["organ"]="4"; +w["origin"]="5"; +w["os_auth"]="0"; +w["other"]="1"; +w["own"]="4"; +w["p455w0rd"]="1"; +w["p4ssw0rd"]="1"; +w["p@ssw0rd"]="2"; +w["packag"]="5"; +w["paramet"]="3,7"; +w["pars"]="7"; +w["particular"]="4"; +w["pass"]="3"; +w["password"]="1,2,4"; +w["passwordcredenti"]="2"; +w["past"]="0"; +w["pdf"]="2"; +w["perform"]="4"; +w["person"]="4"; +w["pictur"]="4"; +w["pipelin"]="0"; +w["pleas"]="0,1,2,3,4,5,6,7"; +w["plus"]="1"; + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/search/index-3.js b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/search/index-3.js new file mode 100644 index 0000000000..6fdd06719e --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/search/index-3.js @@ -0,0 +1,155 @@ +//Auto generated index for searching. +w["port"]="1,2,7"; +w["power"]="0,1,2,3,4,5,6,7"; +w["ppa"]="5"; +w["present"]="4"; +w["presum"]="4"; +w["previous"]="1"; +w["prior"]="7"; +w["privileg"]="1,4"; +w["project"]="0,1,4,5"; +w["proper"]="3"; +w["protocol"]="4"; +w["prove"]="4"; +w["provid"]="0,4,6"; +w["proxi"]="0"; +w["proxy-serv"]="0"; +w["pull"]="5"; +w["put"]="2"; +w["py"]="5"; +w["python"]="5"; +w["python-argpars"]="5"; +w["python-eventlet"]="5"; +w["python-greenlet"]="5"; +w["python-pastedeploy"]="5"; +w["python-rout"]="5"; +w["python-sphinx"]="5"; +w["python-sqlalchemi"]="5"; +w["python-wsgiref"]="5"; +w["quick"]="6"; +w["refer"]="3"; +w["region"]="1,4"; +w["regionon"]="1"; +w["releas"]="4,5"; +w["repositori"]="5"; +w["repres"]="1,4"; +w["represent"]="4"; +w["request"]="1,4"; +w["requir"]="1"; +w["resourc"]="4"; +w["restart"]="0"; +w["retriev"]="2"; +w["return"]="2,7"; +w["revok"]="2,4"; +w["right"]="4"; +w["role"]="1,4,6"; +w["roleid"]="2"; +w["roleref"]="2"; +w["run"]="2,3,6,7"; +w["s"]="0,4,5"; +w["sampl"]="1"; +w["sampledata"]="1"; +w["save"]="2"; +w["scope"]="4"; +w["section"]="0,1"; +w["see"]="5,7"; +w["server"]="7"; +w["servic"]="0,1,4,5,6,7"; +w["service_host"]="0"; +w["service_pass"]="0"; +w["service_port"]="0"; +w["service_protocol"]="0"; +w["set"]="0,1,4"; +w["setup"]="3,5"; +w["sever"]="4"; +w["sh"]="0,1"; +w["should"]="4,7"; +w["show"]="1"; +w["similar"]="1"; +w["sinc"]="1,4"; +w["singl"]="1"; +w["so"]="3,7"; +w["solut"]="4"; +w["some"]="1"; +w["someth"]="2,7"; +w["sourc"]="5"; +w["specif"]="4"; +w["sql"]="3"; +w["sql_connect"]="3"; +w["sqlalchemi"]="3"; +w["sqlite"]="7"; +w["start"]="0,6,7"; +w["step"]="0"; +w["storag"]="0,1,4,6"; +w["store"]="4"; +w["string"]="3"; +w["subsequ"]="4"; +w["such"]="4,7"; +w["sudo"]="5"; +w["support"]="4"; +w["swauth"]="1"; +w["swift"]="0,1,4,5"; +w["swift-init"]="0"; +w["swregion"]="1"; +w["system"]="1,4"; +w["t"]="1"; +w["tar"]="5"; +w["tarbal"]="5"; +w["templat"]="4"; +w["tenant"]="1,2,4,6"; +w["tenant_id"]="1"; +w["tenantid"]="2"; +w["text"]="4"; +w["than"]="1"; +w["their"]="1,4"; +w["then"]="4"; +w["there"]="1"; +w["these"]="0,4,5"; +w["they"]="4"; +w["those"]="4"; +w["through"]="1,4"; +w["token"]="1,2,4,6"; +w["token-bas"]="4"; +w["tokenauth"]="0"; +w["tool"]="0"; +w["true"]="0,2"; +w["trunk"]="5"; +w["truth"]="4"; +w["two"]="1"; +w["typic"]="0"; +w["ubuntu"]="5"; +w["understand"]="4"; +w["untar"]="5"; +w["up"]="0,7"; +w["up-"]="7"; +w["updat"]="2,5"; +w["url"]="1,2,4"; +w["usag"]="2"; +w["use"]="0,1,2,3,4,7"; +w["user"]="0,1,2,4,6"; +w["usernam"]="2,4"; +w["usual"]="4"; +w["util"]="3"; +w["v1"]="1"; +w["v2"]="1,2"; +w["valid"]="4"; +w["valu"]="1,2"; +w["verifi"]="2"; +w["version"]="2,5"; +w["via"]="3"; +w["view"]="0,1,2,3,4,5,6,7"; +w["wadl"]="2"; +w["walk-through"]="1"; +w["want"]="5"; +w["well"]="1"; +w["which"]="0,1,4,7"; +w["while"]="4"; +w["wiki"]="5"; +w["work"]="1"; +w["www"]="3"; +w["x-auth-token"]="2"; +w["you"]="0,1,2,3,4,5,7"; +w["your"]="0,5"; +w["yourself"]="4"; +w["zone"]="1"; + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/search/ja-jp.props b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/search/ja-jp.props new file mode 100644 index 0000000000..27568054c7 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/search/ja-jp.props @@ -0,0 +1 @@ +J01=\\u306B \ No newline at end of file diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/search/nwSearchFnt.js b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/search/nwSearchFnt.js new file mode 100644 index 0000000000..4d40ba52a4 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/search/nwSearchFnt.js @@ -0,0 +1,517 @@ +/*---------------------------------------------------------------------------- + * JavaScript for webhelp search + *---------------------------------------------------------------------------- + This file is part of the webhelpsearch plugin for DocBook WebHelp + Copyright (c) 2007-2008 NexWave Solutions All Rights Reserved. + www.nexwave.biz Nadege Quaine + http://kasunbg.blogspot.com/ Kasun Gajasinghe + */ + +//string initialization +var htmlfileList = "htmlFileList.js"; +var htmlfileinfoList = "htmlFileInfoList.js"; +var useCJKTokenizing = false; + +/* Cette fonction verifie la validite de la recherche entrre par l utilisateur */ +function Verifie(ditaSearch_Form) { + + // Check browser compatibitily + if (navigator.userAgent.indexOf("Konquerer") > -1) { + + alert(txt_browser_not_supported); + return; + } + + + var expressionInput = document.ditaSearch_Form.textToSearch.value.replace(/,/g,''); + //Set a cookie to store the searched keywords + $.cookie('textToSearch', expressionInput); + + + if (expressionInput.length < 1) { + + // expression is invalid + alert(txt_enter_at_least_1_char); + // reactive la fenetre de search (utile car cadres) + document.ditaSearch_Form.textToSearch.focus(); + } + else { + + // Effectuer la recherche + Effectuer_recherche(expressionInput); + + //Track with Google Analytics: + _gaq.push(['_trackEvent', 'Search', expressionInput, 'null', 1]); + + + // reactive la fenetre de search (utile car cadres) + document.ditaSearch_Form.textToSearch.focus(); + } +} + +var stemQueryMap = new Array(); // A hashtable which maps stems to query words + +/* This function parses the search expression, loads the indices and displays the results*/ +function Effectuer_recherche(expressionInput) { + + /* Display a waiting message */ + //DisplayWaitingMessage(); + + /*data initialisation*/ + var searchFor = ""; // expression en lowercase et sans les caracte res speciaux + //w = new Object(); // hashtable, key=word, value = list of the index of the html files + scriptLetterTab = new Scriptfirstchar(); // Array containing the first letter of each word to look for + var wordsList = new Array(); // Array with the words to look for + var finalWordsList = new Array(); // Array with the words to look for after removing spaces + var linkTab = new Array(); + var fileAndWordList = new Array(); + var txt_wordsnotfound = ""; + + + /*nqu: expressionInput, la recherche est lower cased, plus remplacement des char speciaux*/ + searchFor = expressionInput.toLowerCase().replace(/<\//g, "_st_").replace(/\$_/g, "_di_").replace(/\.|%2C|%3B|%21|%3A|@|\/|\*/g, " ").replace(/(%20)+/g, " ").replace(/_st_/g, "= 0; i--) { + if (fileAndWordList[i] != undefined) { + linkTab.push("

      " + txt_results_for + " " + "" + fileAndWordList[i][0].motslisteDisplay + "" + "

      "); + + linkTab.push("
        "); + for (t in fileAndWordList[i]) { + //DEBUG: alert(": "+ fileAndWordList[i][t].filenb+" " +fileAndWordList[i][t].motsliste); + //linkTab.push("
      • "+fl[fileAndWordList[i][t].filenb]+"
      • "); + var tempInfo = fil[fileAndWordList[i][t].filenb]; + var pos1 = tempInfo.indexOf("@@@"); + var pos2 = tempInfo.lastIndexOf("@@@"); + var tempPath = tempInfo.substring(0, pos1); + var tempTitle = tempInfo.substring(pos1 + 3, pos2); + var tempShortdesc = tempInfo.substring(pos2 + 3, tempInfo.length); + + //file:///home/kasun/docbook/WEBHELP/webhelp-draft-output-format-idea/src/main/resources/web/webhelp/installation.html + var linkString = "
      • " + tempTitle + ""; + // var linkString = "
      • " + tempTitle + ""; + if ((tempShortdesc != "null")) { + linkString += "\n
        " + tempShortdesc + "
        "; + } + linkString += "
      • "; + linkTab.push(linkString); + } + linkTab.push("
      "); + } + } + } + + var results = ""; + if (linkTab.length > 0) { + /*writeln ("

      " + txt_results_for + " " + "" + cleanwordsList + "" + "
      "+"

      ");*/ + results = "

      "; + //write("

        "); + for (t in linkTab) { + results += linkTab[t].toString(); + } + results += "

        "; + } else { + results = "

        " + "Your search returned no results for " + "" + txt_wordsnotfound + "" + "

        "; + } + //alert(results); + document.getElementById('searchResults').innerHTML = results; +} + +function tokenize(wordsList){ + var stemmedWordsList = new Array(); // Array with the words to look for after removing spaces + var cleanwordsList = new Array(); // Array with the words to look for + for(var j in wordsList){ + var word = wordsList[j]; + if(typeof stemmer != "undefined" ){ + stemQueryMap[stemmer(word)] = word; + } else { + stemQueryMap[word] = word; + } + } + //stemmedWordsList is the stemmed list of words separated by spaces. + for (var t in wordsList) { + wordsList[t] = wordsList[t].replace(/(%22)|^-/g, ""); + if (wordsList[t] != "%20") { + scriptLetterTab.add(wordsList[t].charAt(0)); + cleanwordsList.push(wordsList[t]); + } + } + + if(typeof stemmer != "undefined" ){ + //Do the stemming using Porter's stemming algorithm + for (var i = 0; i < cleanwordsList.length; i++) { + var stemWord = stemmer(cleanwordsList[i]); + stemmedWordsList.push(stemWord); + } + } else { + stemmedWordsList = cleanwordsList; + } + return stemmedWordsList; +} + +//Invoker of CJKTokenizer class methods. +function cjkTokenize(wordsList){ + var allTokens= new Array(); + var notCJKTokens= new Array(); + var j=0; + for(j=0;j"; + return this.input.substring(this.offset,this.offset+2); + } + + function getAllTokens(){ + while(this.incrementToken()){ + var tmp = this.tokenize(); + this.tokens.push(tmp); + } + return this.unique(this.tokens); +// document.getElementById("content").innerHTML += tokens+" "; +// document.getElementById("content").innerHTML += "
        dada"+sortedTokens+" "; +// console.log(tokens.length+"dsdsds"); + /*for(i=0;i t2.length) { + return 1; + } else { + return -1; + } + //return t1.length - t2.length); +} \ No newline at end of file diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/search/punctuation.props b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/search/punctuation.props new file mode 100644 index 0000000000..d3e3fcd28b --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/search/punctuation.props @@ -0,0 +1,31 @@ +Punct01=\\u3002 +Punct02=\\u3003 +Punct03=\\u300C +Punct04=\\u300D +Punct05=\\u300E +Punct06=\\u300F +Punct07=\\u301D +Punct08=\\u301E +Punct09=\\u301F +Punct10=\\u309B +Punct11=\\u2018 +Punct12=\\u2019 +Punct13=\\u201A +Punct14=\\u201C +Punct15=\\u201D +Punct16=\\u201E +Punct17=\\u2032 +Punct18=\\u2033 +Punct19=\\u2035 +Punct20=\\u2039 +Punct21=\\u203A +Punct22=\\u201E +Punct23=\\u00BB +Punct24=\\u00AB +Punct25=© +Punct26=’ +Punct27=\\u00A0 +Punct28=\\u2014 + + + diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/search/stemmers/de_stemmer.js b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/search/stemmers/de_stemmer.js new file mode 100644 index 0000000000..7ff3822a45 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/search/stemmers/de_stemmer.js @@ -0,0 +1,247 @@ +/* + * Author: Joder Illi + * + * Copyright (c) 2010, FormBlitz AG + * All rights reserved. + * Implementation of the stemming algorithm from http://snowball.tartarus.org/algorithms/german/stemmer.html + * Copyright of the algorithm is: Copyright (c) 2001, Dr Martin Porter and can be found at http://snowball.tartarus.org/license.php + * + * Redistribution and use in source and binary forms, with or without modification, is covered by the standard BSD license. + * + */ + +//var stemmer = function Stemmer() { + /* + German includes the following accented forms, + ä ö ü + and a special letter, ß, equivalent to double s. + The following letters are vowels: + a e i o u y ä ö ü + */ + + var stemmer = function(word) { + /* + Put u and y between vowels into upper case + */ + word = word.replace(/([aeiouyäöü])u([aeiouyäöü])/g, '$1U$2'); + word = word.replace(/([aeiouyäöü])y([aeiouyäöü])/g, '$1Y$2'); + + /* + and then do the following mappings, + (a) replace ß with ss, + (a) replace ae with ä, Not doing these, have trouble with diphtongs + (a) replace oe with ö, Not doing these, have trouble with diphtongs + (a) replace ue with ü unless preceded by q. Not doing these, have trouble with diphtongs + So in quelle, ue is not mapped to ü because it follows q, and in feuer it is not mapped because the first part of the rule changes it to feUer, so the u is not found. + */ + word = word.replace(/ß/g, 'ss'); + //word = word.replace(/ae/g, 'ä'); + //word = word.replace(/oe/g, 'ö'); + //word = word.replace(/([^q])ue/g, '$1ü'); + + /* + R1 and R2 are first set up in the standard way (see the note on R1 and R2), but then R1 is adjusted so that the region before it contains at least 3 letters. + R1 is the region after the first non-vowel following a vowel, or is the null region at the end of the word if there is no such non-vowel. + R2 is the region after the first non-vowel following a vowel in R1, or is the null region at the end of the word if there is no such non-vowel. + */ + + var r1Index = word.search(/[aeiouyäöü][^aeiouyäöü]/); + var r1 = ''; + if (r1Index != -1) { + r1Index += 2; + r1 = word.substring(r1Index); + } + + var r2Index = -1; + var r2 = ''; + + if (r1Index != -1) { + var r2Index = r1.search(/[aeiouyäöü][^aeiouyäöü]/); + if (r2Index != -1) { + r2Index += 2; + r2 = r1.substring(r2Index); + r2Index += r1Index; + } else { + r2 = ''; + } + } + + if (r1Index != -1 && r1Index < 3) { + r1Index = 3; + r1 = word.substring(r1Index); + } + + /* + Define a valid s-ending as one of b, d, f, g, h, k, l, m, n, r or t. + Define a valid st-ending as the same list, excluding letter r. + */ + + /* + Do each of steps 1, 2 and 3. + */ + + /* + Step 1: + Search for the longest among the following suffixes, + (a) em ern er + (b) e en es + (c) s (preceded by a valid s-ending) + */ + var a1Index = word.search(/(em|ern|er)$/g); + var b1Index = word.search(/(e|en|es)$/g); + var c1Index = word.search(/([bdfghklmnrt]s)$/g); + if (c1Index != -1) { + c1Index++; + } + var index1 = 10000; + var optionUsed1 = ''; + if (a1Index != -1 && a1Index < index1) { + optionUsed1 = 'a'; + index1 = a1Index; + } + if (b1Index != -1 && b1Index < index1) { + optionUsed1 = 'b'; + index1 = b1Index; + } + if (c1Index != -1 && c1Index < index1) { + optionUsed1 = 'c'; + index1 = c1Index; + } + + /* + and delete if in R1. (Of course the letter of the valid s-ending is not necessarily in R1.) If an ending of group (b) is deleted, and the ending is preceded by niss, delete the final s. + (For example, äckern -> äck, ackers -> acker, armes -> arm, bedürfnissen -> bedürfnis) + */ + + if (index1 != 10000 && r1Index != -1) { + if (index1 >= r1Index) { + word = word.substring(0, index1); + if (optionUsed1 == 'b') { + if (word.search(/niss$/) != -1) { + word = word.substring(0, word.length -1); + } + } + } + } + /* + Step 2: + Search for the longest among the following suffixes, + (a) en er est + (b) st (preceded by a valid st-ending, itself preceded by at least 3 letters) + */ + + var a2Index = word.search(/(en|er|est)$/g); + var b2Index = word.search(/(.{3}[bdfghklmnt]st)$/g); + if (b2Index != -1) { + b2Index += 4; + } + + var index2 = 10000; + var optionUsed2 = ''; + if (a2Index != -1 && a2Index < index2) { + optionUsed2 = 'a'; + index2 = a2Index; + } + if (b2Index != -1 && b2Index < index2) { + optionUsed2 = 'b'; + index2 = b2Index; + } + + /* + and delete if in R1. + (For example, derbsten -> derbst by step 1, and derbst -> derb by step 2, since b is a valid st-ending, and is preceded by just 3 letters) + */ + + if (index2 != 10000 && r1Index != -1) { + if (index2 >= r1Index) { + word = word.substring(0, index2); + } + } + + /* + Step 3: d-suffixes (*) + Search for the longest among the following suffixes, and perform the action indicated. + end ung + delete if in R2 + if preceded by ig, delete if in R2 and not preceded by e + ig ik isch + delete if in R2 and not preceded by e + lich heit + delete if in R2 + if preceded by er or en, delete if in R1 + keit + delete if in R2 + if preceded by lich or ig, delete if in R2 + */ + + var a3Index = word.search(/(end|ung)$/g); + var b3Index = word.search(/[^e](ig|ik|isch)$/g); + var c3Index = word.search(/(lich|heit)$/g); + var d3Index = word.search(/(keit)$/g); + if (b3Index != -1) { + b3Index ++; + } + + var index3 = 10000; + var optionUsed3 = ''; + if (a3Index != -1 && a3Index < index3) { + optionUsed3 = 'a'; + index3 = a3Index; + } + if (b3Index != -1 && b3Index < index3) { + optionUsed3 = 'b'; + index3 = b3Index; + } + if (c3Index != -1 && c3Index < index3) { + optionUsed3 = 'c'; + index3 = c3Index; + } + if (d3Index != -1 && d3Index < index3) { + optionUsed3 = 'd'; + index3 = d3Index; + } + + if (index3 != 10000 && r2Index != -1) { + if (index3 >= r2Index) { + word = word.substring(0, index3); + var optionIndex = -1; + var optionSubsrt = ''; + if (optionUsed3 == 'a') { + optionIndex = word.search(/[^e](ig)$/); + if (optionIndex != -1) { + optionIndex++; + if (optionIndex >= r2Index) { + word = word.substring(0, optionIndex); + } + } + } else if (optionUsed3 == 'c') { + optionIndex = word.search(/(er|en)$/); + if (optionIndex != -1) { + if (optionIndex >= r1Index) { + word = word.substring(0, optionIndex); + } + } + } else if (optionUsed3 == 'd') { + optionIndex = word.search(/(lich|ig)$/); + if (optionIndex != -1) { + if (optionIndex >= r2Index) { + word = word.substring(0, optionIndex); + } + } + } + } + } + + /* + Finally, + turn U and Y back into lower case, and remove the umlaut accent from a, o and u. + */ + word = word.replace(/U/g, 'u'); + word = word.replace(/Y/g, 'y'); + word = word.replace(/ä/g, 'a'); + word = word.replace(/ö/g, 'o'); + word = word.replace(/ü/g, 'u'); + + return word; + }; +//} \ No newline at end of file diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/search/stemmers/en_stemmer.js b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/search/stemmers/en_stemmer.js new file mode 100644 index 0000000000..f58012f2ba --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/search/stemmers/en_stemmer.js @@ -0,0 +1,187 @@ +// Porter stemmer in Javascript. Few comments, but it's easy to follow against the rules in the original +// paper, in +// +// Porter, 1980, An algorithm for suffix stripping, Program, Vol. 14, +// no. 3, pp 130-137, +// +// see also http://www.tartarus.org/~martin/PorterStemmer + +// Release 1 be 'andargor', Jul 2004 +// Release 2 (substantially revised) by Christopher McKenzie, Aug 2009 + + +var stemmer = (function(){ + var step2list = { + "ational" : "ate", + "tional" : "tion", + "enci" : "ence", + "anci" : "ance", + "izer" : "ize", + "bli" : "ble", + "alli" : "al", + "entli" : "ent", + "eli" : "e", + "ousli" : "ous", + "ization" : "ize", + "ation" : "ate", + "ator" : "ate", + "alism" : "al", + "iveness" : "ive", + "fulness" : "ful", + "ousness" : "ous", + "aliti" : "al", + "iviti" : "ive", + "biliti" : "ble", + "logi" : "log" + }, + + step3list = { + "icate" : "ic", + "ative" : "", + "alize" : "al", + "iciti" : "ic", + "ical" : "ic", + "ful" : "", + "ness" : "" + }, + + c = "[^aeiou]", // consonant + v = "[aeiouy]", // vowel + C = c + "[^aeiouy]*", // consonant sequence + V = v + "[aeiou]*", // vowel sequence + + mgr0 = "^(" + C + ")?" + V + C, // [C]VC... is m>0 + meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$", // [C]VC[V] is m=1 + mgr1 = "^(" + C + ")?" + V + C + V + C, // [C]VCVC... is m>1 + s_v = "^(" + C + ")?" + v; // vowel in stem + + return function (w) { + var stem, + suffix, + firstch, + re, + re2, + re3, + re4, + origword = w; + + if (w.length < 3) { return w; } + + firstch = w.substr(0,1); + if (firstch == "y") { + w = firstch.toUpperCase() + w.substr(1); + } + + // Step 1a + re = /^(.+?)(ss|i)es$/; + re2 = /^(.+?)([^s])s$/; + + if (re.test(w)) { w = w.replace(re,"$1$2"); } + else if (re2.test(w)) { w = w.replace(re2,"$1$2"); } + + // Step 1b + re = /^(.+?)eed$/; + re2 = /^(.+?)(ed|ing)$/; + if (re.test(w)) { + var fp = re.exec(w); + re = new RegExp(mgr0); + if (re.test(fp[1])) { + re = /.$/; + w = w.replace(re,""); + } + } else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1]; + re2 = new RegExp(s_v); + if (re2.test(stem)) { + w = stem; + re2 = /(at|bl|iz)$/; + re3 = new RegExp("([^aeiouylsz])\\1$"); + re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re2.test(w)) { w = w + "e"; } + else if (re3.test(w)) { re = /.$/; w = w.replace(re,""); } + else if (re4.test(w)) { w = w + "e"; } + } + } + + // Step 1c + re = /^(.+?)y$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(s_v); + if (re.test(stem)) { w = stem + "i"; } + } + + // Step 2 + re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) { + w = stem + step2list[suffix]; + } + } + + // Step 3 + re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) { + w = stem + step3list[suffix]; + } + } + + // Step 4 + re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; + re2 = /^(.+?)(s|t)(ion)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + if (re.test(stem)) { + w = stem; + } + } else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1] + fp[2]; + re2 = new RegExp(mgr1); + if (re2.test(stem)) { + w = stem; + } + } + + // Step 5 + re = /^(.+?)e$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + re2 = new RegExp(meq1); + re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) { + w = stem; + } + } + + re = /ll$/; + re2 = new RegExp(mgr1); + if (re.test(w) && re2.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + + // and turn initial Y back to y + + if (firstch == "y") { + w = firstch.toLowerCase() + w.substr(1); + } + + return w; + } +})(); \ No newline at end of file diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/search/stemmers/fr_stemmer.js b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/search/stemmers/fr_stemmer.js new file mode 100644 index 0000000000..34f9743132 --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/content/search/stemmers/fr_stemmer.js @@ -0,0 +1,299 @@ +/* + * Author: Kasun Gajasinghe + * E-Mail: kasunbg AT gmail DOT com + * Date: 09.08.2010 + * + * usage: stemmer(word); + * ex: var stem = stemmer(foobar); + * Implementation of the stemming algorithm from http://snowball.tartarus.org/algorithms/french/stemmer.html + * + * LICENSE: + * + * Copyright (c) 2010, Kasun Gajasinghe. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * + * THIS SOFTWARE IS PROVIDED BY KASUN GAJASINGHE ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL KASUN GAJASINGHE BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE + * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +var stemmer = function(word){ +// Letters in French include the following accented forms, +// â à ç ë é ê è ï î ô û ù +// The following letters are vowels: +// a e i o u y â à ë é ê è ï î ô û ù + + word = word.toLowerCase(); + var oriWord = word; + word = word.replace(/qu/g, 'qU'); //have to perform first, as after the operation, capital U is not treated as a vowel + word = word.replace(/([aeiouyâàëéêèïîôûù])u([aeiouyâàëéêèïîôûù])/g, '$1U$2'); + word = word.replace(/([aeiouyâàëéêèïîôûù])i([aeiouyâàëéêèïîôûù])/g, '$1I$2'); + word = word.replace(/([aeiouyâàëéêèïîôûù])y/g, '$1Y'); + word = word.replace(/y([aeiouyâàëéêèïîôûù])/g, 'Y$1'); + + var rv=''; + var rvIndex = -1; + if(word.search(/^(par|col|tap)/) != -1 || word.search(/^[aeiouyâàëéêèïîôûù]{2}/) != -1){ + rv = word.substring(3); + rvIndex = 3; + } else { + rvIndex = word.substring(1).search(/[aeiouyâàëéêèïîôûù]/); + if(rvIndex != -1){ + rvIndex +=2; //+2 is to supplement the substring(1) used to find rvIndex + rv = word.substring(rvIndex); + } else { + rvIndex = word.length; + } + } + +// R1 is the region after the first non-vowel following a vowel, or the end of the word if there is no such non-vowel. +// R2 is the region after the first non-vowel following a vowel in R1, or the end of the word if there is no such non-vowel + var r1Index = word.search(/[aeiouyâàëéêèïîôûù][^aeiouyâàëéêèïîôûù]/); + var r1 = ''; + if (r1Index != -1) { + r1Index += 2; + r1 = word.substring(r1Index); + } else { + r1Index = word.length; + } + + var r2Index = -1; + var r2 = ''; + if (r1Index != -1) { + r2Index = r1.search(/[aeiouyâàëéêèïîôûù][^aeiouyâàëéêèïîôûù]/); + if (r2Index != -1) { + r2Index += 2; + r2 = r1.substring(r2Index); + r2Index += r1Index; + } else { + r2 = ''; + r2Index = word.length; + } + } + if (r1Index != -1 && r1Index < 3) { + r1Index = 3; + r1 = word.substring(r1Index); + } + + /* + Step 1: Standard suffix removal + */ + var a1Index = word.search(/(ance|iqUe|isme|able|iste|eux|ances|iqUes|ismes|ables|istes)$/); + var a2Index = word.search(/(atrice|ateur|ation|atrices|ateurs|ations)$/); + var a3Index = word.search(/(logie|logies)$/); + var a4Index = word.search(/(usion|ution|usions|utions)$/); + var a5Index = word.search(/(ence|ences)$/); + var a6Index = word.search(/(ement|ements)$/); + var a7Index = word.search(/(ité|ités)$/); + var a8Index = word.search(/(if|ive|ifs|ives)$/); + var a9Index = word.search(/(eaux)$/); + var a10Index = word.search(/(aux)$/); + var a11Index = word.search(/(euse|euses)$/); + var a12Index = word.search(/[^aeiouyâàëéêèïîôûù](issement|issements)$/); + var a13Index = word.search(/(amment)$/); + var a14Index = word.search(/(emment)$/); + var a15Index = word.search(/[aeiouyâàëéêèïîôûù](ment|ments)$/); + + if(a1Index != -1 && a1Index >= r2Index){ + word = word.substring(0,a1Index); + } else if(a2Index != -1 && a2Index >= r2Index){ + word = word.substring(0,a2Index); + var a2Index2 = word.search(/(ic)$/); + if(a2Index2 != -1 && a2Index2 >= r2Index){ + word = word.substring(0, a2Index2); //if preceded by ic, delete if in R2, + } else { //else replace by iqU + word = word.replace(/(ic)$/,'iqU'); + } + } else if(a3Index != -1 && a3Index >= r2Index){ + word = word.replace(/(logie|logies)$/,'log'); //replace with log if in R2 + } else if(a4Index != -1 && a4Index >= r2Index){ + word = word.replace(/(usion|ution|usions|utions)$/,'u'); //replace with u if in R2 + } else if(a5Index != -1 && a5Index >= r2Index){ + word = word.replace(/(ence|ences)$/,'ent'); //replace with ent if in R2 + } else if(a6Index != -1 && a6Index >= rvIndex){ + word = word.substring(0,a6Index); + if(word.search(/(iv)$/) >= r2Index){ + word = word.replace(/(iv)$/, ''); + if(word.search(/(at)$/) >= r2Index){ + word = word.replace(/(at)$/, ''); + } + } else if(word.search(/(eus)$/) != -1){ + var a6Index2 = word.search(/(eus)$/); + if(a6Index2 >=r2Index){ + word = word.substring(0, a6Index2); + } else if(a6Index2 >= r1Index){ + word = word.substring(0,a6Index2)+"eux"; + } + } else if(word.search(/(abl|iqU)$/) >= r2Index){ + word = word.replace(/(abl|iqU)$/,''); //if preceded by abl or iqU, delete if in R2, + } else if(word.search(/(ièr|Ièr)$/) >= rvIndex){ + word = word.replace(/(ièr|Ièr)$/,'i'); //if preceded by abl or iqU, delete if in R2, + } + } else if(a7Index != -1 && a7Index >= r2Index){ + word = word.substring(0,a7Index); //delete if in R2 + if(word.search(/(abil)$/) != -1){ //if preceded by abil, delete if in R2, else replace by abl, otherwise, + var a7Index2 = word.search(/(abil)$/); + if(a7Index2 >=r2Index){ + word = word.substring(0, a7Index2); + } else { + word = word.substring(0,a7Index2)+"abl"; + } + } else if(word.search(/(ic)$/) != -1){ + var a7Index3 = word.search(/(ic)$/); + if(a7Index3 != -1 && a7Index3 >= r2Index){ + word = word.substring(0, a7Index3); //if preceded by ic, delete if in R2, + } else { //else replace by iqU + word = word.replace(/(ic)$/,'iqU'); + } + } else if(word.search(/(iv)$/) != r2Index){ + word = word.replace(/(iv)$/,''); + } + } else if(a8Index != -1 && a8Index >= r2Index){ + word = word.substring(0,a8Index); + if(word.search(/(at)$/) >= r2Index){ + word = word.replace(/(at)$/, ''); + if(word.search(/(ic)$/) >= r2Index){ + word = word.replace(/(ic)$/, ''); + } else { word = word.replace(/(ic)$/, 'iqU'); } + } + } else if(a9Index != -1){ word = word.replace(/(eaux)/,'eau') + } else if(a10Index >= r1Index){ word = word.replace(/(aux)/,'al') + } else if(a11Index != -1 ){ + var a11Index2 = word.search(/(euse|euses)$/); + if(a11Index2 >=r2Index){ + word = word.substring(0, a11Index2); + } else if(a11Index2 >= r1Index){ + word = word.substring(0, a11Index2)+"eux"; + } + } else if(a12Index!=-1 && a12Index>=r1Index){ + word = word.substring(0,a12Index+1); //+1- amendment to non-vowel + } else if(a13Index!=-1 && a13Index>=rvIndex){ + word = word.replace(/(amment)$/,'ant'); + } else if(a14Index!=-1 && a14Index>=rvIndex){ + word = word.replace(/(emment)$/,'ent'); + } else if(a15Index!=-1 && a15Index>=rvIndex){ + word = word.substring(0,a15Index+1); + } + + /* Step 2a: Verb suffixes beginning i*/ + var wordStep1 = word; + var step2aDone = false; + if(oriWord == word.toLowerCase() || oriWord.search(/(amment|emment|ment|ments)$/) != -1){ + step2aDone = true; + var b1Regex = /([^aeiouyâàëéêèïîôûù])(îmes|ît|îtes|i|ie|ies|ir|ira|irai|iraIent|irais|irait|iras|irent|irez|iriez|irions|irons|iront|is|issaIent|issais|issait|issant|issante|issantes|issants|isse|issent|isses|issez|issiez|issions|issons|it)$/i; + if(word.search(b1Regex) >= rvIndex){ + word = word.replace(b1Regex,'$1'); + } + } + + /* Step 2b: Other verb suffixes*/ + if (step2aDone && wordStep1 == word) { + if (word.search(/(ions)$/) >= r2Index) { + word = word.replace(/(ions)$/, ''); + } else { + var b2Regex = /(é|ée|ées|és|èrent|er|era|erai|eraIent|erais|erait|eras|erez|eriez|erions|erons|eront|ez|iez)$/i; + if (word.search(b2Regex) >= rvIndex) { + word = word.replace(b2Regex, ''); + } else { + var b3Regex = /e(âmes|ât|âtes|a|ai|aIent|ais|ait|ant|ante|antes|ants|as|asse|assent|asses|assiez|assions)$/i; + if (word.search(b3Regex) >= rvIndex) { + word = word.replace(b3Regex, ''); + } else { + var b3Regex2 = /(âmes|ât|âtes|a|ai|aIent|ais|ait|ant|ante|antes|ants|as|asse|assent|asses|assiez|assions)$/i; + if (word.search(b3Regex2) >= rvIndex) { + word = word.replace(b3Regex2, ''); + } + } + } + } + } + + if(oriWord != word.toLowerCase()){ + /* Step 3 */ + var rep = ''; + if(word.search(/Y$/) != -1) { + word = word.replace(/Y$/, 'i'); + } else if(word.search(/ç$/) != -1){ + word = word.replace(/ç$/, 'c'); + } + } else { + /* Step 4 */ + //If the word ends s, not preceded by a, i, o, u, è or s, delete it. + if (word.search(/([^aiouès])s$/) >= rvIndex) { + word = word.replace(/([^aiouès])s$/, '$1'); + } + var e1Index = word.search(/ion$/); + if (e1Index >= r2Index && word.search(/[st]ion$/) >= rvIndex) { + word = word.substring(0, e1Index); + } else { + var e2Index = word.search(/(ier|ière|Ier|Ière)$/); + if (e2Index != -1 && e2Index >= rvIndex) { + word = word.substring(0, e2Index) + "i"; + } else { + if (word.search(/e$/) >= rvIndex) { + word = word.replace(/e$/, ''); //delete last e + } else if (word.search(/guë$/) >= rvIndex) { + word = word.replace(/guë$/, 'gu'); + } + } + } + } + + /* Step 5: Undouble */ + //word = word.replace(/(en|on|et|el|eil)(n|t|l)$/,'$1'); + word = word.replace(/(en|on)(n)$/,'$1'); + word = word.replace(/(ett)$/,'et'); + word = word.replace(/(el|eil)(l)$/,'$1'); + + /* Step 6: Un-accent */ + word = word.replace(/[éè]([^aeiouyâàëéêèïîôûù]+)$/,'e$1'); + word = word.toLowerCase(); + return word; +}; + +var eqOut = new Array(); +var noteqOut = new Array(); +var eqCount = 0; +/* +To test the stemming, create two arrays named "voc" and "COut" which are for vocabualary and the stemmed output. +Then add the vocabulary strings and output strings. This method will generate the stemmed output for "voc" and will +compare the output with COut. + (I used porter's voc and out files and did a regex to convert them to js objects. regex: /");\nvoc.push("/g . This + will add strings to voc array such that output would look like: voc.push("foobar"); ) drop me an email for any help. + */ +function testFr(){ + var start = new Date().getTime(); //execution time + eqCount = 0; + eqOut = new Array(); + noteqOut = new Array(); + for(var k=0;k + + + +Starting the Identity Service \ No newline at end of file diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/favicon.ico b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/favicon.ico new file mode 100644 index 0000000000..f3b9bf9c44 Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/favicon.ico differ diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/index.html b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/index.html new file mode 100644 index 0000000000..5f0f5327bd --- /dev/null +++ b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/index.html @@ -0,0 +1,14 @@ + + + + + + + + OpenStack Identity Starter Guide  + + + If not automatically redirected, click here: content/quick-guide-to-getting-started-with-keystone.html + + \ No newline at end of file diff --git a/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/os-identity-starter-guide-trunk.pdf b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/os-identity-starter-guide-trunk.pdf new file mode 100644 index 0000000000..88a998905a Binary files /dev/null and b/doc/src/docbkx/openstack-identity-service-starter/target/docbkx/webhelp/trunk/openstack-identity/admin/os-identity-starter-guide-trunk.pdf differ